[ aws . imagebuilder ]
Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
  update-distribution-configuration
--distribution-configuration-arn <value>
[--description <value>]
--distributions <value>
[--client-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--distribution-configuration-arn (string)
The Amazon Resource Name (ARN) of the distribution configuration that you want to update.
--description (string)
The description of the distribution configuration.
--distributions (list)
The distributions of the distribution configuration.
(structure)
Defines the settings for a specific Region.
region -> (string)
The target Region.
amiDistributionConfiguration -> (structure)
The specific AMI settings; for example, launch permissions or AMI tags.
name -> (string)
The name of the output AMI.
description -> (string)
The description of the AMI distribution configuration. Minimum and maximum length are in characters.
targetAccountIds -> (list)
The ID of an account to which you want to distribute an image.
(string)
amiTags -> (map)
The tags to apply to AMIs distributed to this Region.
key -> (string)
value -> (string)
kmsKeyId -> (string)
The KMS key identifier used to encrypt the distributed image.
launchPermission -> (structure)
Launch permissions can be used to configure which Amazon Web Services accounts can use the AMI to launch instances.
userIds -> (list)
The Amazon Web Services account ID.
(string)
userGroups -> (list)
The name of the group.
(string)
organizationArns -> (list)
The ARN for an Amazon Web Services Organization that you want to share your AMI with. For more information, see What is Organizations? .
(string)
organizationalUnitArns -> (list)
The ARN for an Organizations organizational unit (OU) that you want to share your AMI with. For more information about key concepts for Organizations, see Organizations terminology and concepts .
(string)
containerDistributionConfiguration -> (structure)
Container distribution settings for encryption, licensing, and sharing in a specific Region.
description -> (string)
The description of the container distribution configuration.
containerTags -> (list)
Tags that are attached to the container distribution configuration.
(string)
targetRepository -> (structure)
The destination repository for the container distribution configuration.
service -> (string)
Specifies the service in which this image was registered.
repositoryName -> (string)
The name of the container repository where the output container image is stored. This name is prefixed by the repository location.
licenseConfigurationArns -> (list)
The License Manager Configuration to associate with the AMI in the specified Region.
(string)
launchTemplateConfigurations -> (list)
A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts.
(structure)
Identifies an Amazon EC2 launch template to use for a specific account.
launchTemplateId -> (string)
Identifies the Amazon EC2 launch template to use.
accountId -> (string)
The account ID that this configuration applies to.
setDefaultVersion -> (boolean)
Set the specified Amazon EC2 launch template as the default launch template for the specified account.
s3ExportConfiguration -> (structure)
Configure export settings to deliver disk images created from your image build, using a file format that is compatible with your VMs in that Region.
roleName -> (string)
The name of the role that grants VM Import/Export permission to export images to your S3 bucket.
diskImageFormat -> (string)
Export the updated image to one of the following supported disk image formats:
Virtual Hard Disk (VHD) – Compatible with Citrix Xen and Microsoft Hyper-V virtualization products.
Stream-optimized ESX Virtual Machine Disk (VMDK) – Compatible with VMware ESX and VMware vSphere versions 4, 5, and 6.
Raw – Raw format.
s3Bucket -> (string)
The S3 bucket in which to store the output disk images for your VM.
s3Prefix -> (string)
The Amazon S3 path for the bucket where the output disk images for your VM are stored.
JSON Syntax:
[
  {
    "region": "string",
    "amiDistributionConfiguration": {
      "name": "string",
      "description": "string",
      "targetAccountIds": ["string", ...],
      "amiTags": {"string": "string"
        ...},
      "kmsKeyId": "string",
      "launchPermission": {
        "userIds": ["string", ...],
        "userGroups": ["string", ...],
        "organizationArns": ["string", ...],
        "organizationalUnitArns": ["string", ...]
      }
    },
    "containerDistributionConfiguration": {
      "description": "string",
      "containerTags": ["string", ...],
      "targetRepository": {
        "service": "ECR",
        "repositoryName": "string"
      }
    },
    "licenseConfigurationArns": ["string", ...],
    "launchTemplateConfigurations": [
      {
        "launchTemplateId": "string",
        "accountId": "string",
        "setDefaultVersion": true|false
      }
      ...
    ],
    "s3ExportConfiguration": {
      "roleName": "string",
      "diskImageFormat": "VMDK"|"RAW"|"VHD",
      "s3Bucket": "string",
      "s3Prefix": "string"
    }
  }
  ...
]
--client-token (string)
The idempotency token of the distribution configuration.
--cli-input-json | --cli-input-yaml (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To update a distribution configuration
The following update-distribution-configuration example updates a distribution configuration using a JSON file.
aws imagebuilder update-distribution-configuration \
    --cli-input-json file://update-distribution-configuration.json
Contents of update-distribution-configuration.json:
{
    "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/myexampledistribution",
    "description": "Copies AMI to eu-west-2 and exports to S3",
    "distributions": [
        {
            "region": "us-west-2",
            "amiDistributionConfiguration": {
                "name": "Name {{imagebuilder:buildDate}}",
                "description": "An example image name with parameter references"
            }
        },
        {
            "region": "eu-west-2",
            "amiDistributionConfiguration": {
                "name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}"
            }
        }
    ]
}
Output:
{
    "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
For more information, see Setting Up and Managing an EC2 Image Builder Image Pipeline Using the AWS CLI in the EC2 Image Builder Users Guide.
requestId -> (string)
The request ID that uniquely identifies this request.
clientToken -> (string)
The idempotency token used to make this request idempotent.
distributionConfigurationArn -> (string)
The Amazon Resource Name (ARN) of the distribution configuration that was updated by this request.