create_distribution_configuration

create_distribution_configuration(**kwargs)

Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

See also: AWS API Documentation

Request Syntax

response = client.create_distribution_configuration(
    name='string',
    description='string',
    distributions=[
        {
            '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'
            },
            'fastLaunchConfigurations': [
                {
                    'enabled': True|False,
                    'snapshotConfiguration': {
                        'targetResourceCount': 123
                    },
                    'maxParallelLaunches': 123,
                    'launchTemplate': {
                        'launchTemplateId': 'string',
                        'launchTemplateName': 'string',
                        'launchTemplateVersion': 'string'
                    },
                    'accountId': 'string'
                },
            ]
        },
    ],
    tags={
        'string': 'string'
    },
    clientToken='string'
)
Parameters
  • name (string) --

    [REQUIRED]

    The name of the distribution configuration.

  • description (string) -- The description of the distribution configuration.
  • distributions (list) --

    [REQUIRED]

    The distributions of the distribution configuration.

    • (dict) --

      Defines the settings for a specific Region.

      • region (string) -- [REQUIRED]

        The target Region.

      • amiDistributionConfiguration (dict) --

        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 (dict) --

          The tags to apply to AMIs distributed to this Region.

          • (string) --
            • (string) --
        • kmsKeyId (string) --

          The KMS key identifier used to encrypt the distributed image.

        • launchPermission (dict) --

          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 (dict) --

        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 (dict) -- [REQUIRED]

          The destination repository for the container distribution configuration.

          • service (string) -- [REQUIRED]

            Specifies the service in which this image was registered.

          • repositoryName (string) -- [REQUIRED]

            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.

        • (dict) --

          Identifies an Amazon EC2 launch template to use for a specific account.

          • launchTemplateId (string) -- [REQUIRED]

            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 (dict) --

        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) -- [REQUIRED]

          The name of the role that grants VM Import/Export permission to export images to your S3 bucket.

        • diskImageFormat (string) -- [REQUIRED]

          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) -- [REQUIRED]

          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.

      • fastLaunchConfigurations (list) --

        The Windows faster-launching configurations to use for AMI distribution.

        • (dict) --

          Define and configure faster launching for output Windows AMIs.

          • enabled (boolean) -- [REQUIRED]

            A Boolean that represents the current state of faster launching for the Windows AMI. Set to true to start using Windows faster launching, or false to stop using it.

          • snapshotConfiguration (dict) --

            Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.

            • targetResourceCount (integer) --

              The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

          • maxParallelLaunches (integer) --

            The maximum number of parallel instances that are launched for creating resources.

          • launchTemplate (dict) --

            The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.

            • launchTemplateId (string) --

              The ID of the launch template to use for faster launching for a Windows AMI.

            • launchTemplateName (string) --

              The name of the launch template to use for faster launching for a Windows AMI.

            • launchTemplateVersion (string) --

              The version of the launch template to use for faster launching for a Windows AMI.

          • accountId (string) --

            The owner account ID for the fast-launch enabled Windows AMI.

  • tags (dict) --

    The tags of the distribution configuration.

    • (string) --
      • (string) --
  • clientToken (string) --

    [REQUIRED]

    The idempotency token of the distribution configuration.

    This field is autopopulated if not provided.

Return type

dict

Returns

Response Syntax

{
    'requestId': 'string',
    'clientToken': 'string',
    'distributionConfigurationArn': 'string'
}

Response Structure

  • (dict) --

    • 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 created by this request.

Exceptions

  • imagebuilder.Client.exceptions.ServiceException
  • imagebuilder.Client.exceptions.ClientException
  • imagebuilder.Client.exceptions.ServiceUnavailableException
  • imagebuilder.Client.exceptions.InvalidRequestException
  • imagebuilder.Client.exceptions.IdempotentParameterMismatchException
  • imagebuilder.Client.exceptions.ForbiddenException
  • imagebuilder.Client.exceptions.CallRateLimitExceededException
  • imagebuilder.Client.exceptions.ResourceInUseException
  • imagebuilder.Client.exceptions.ResourceAlreadyExistsException
  • imagebuilder.Client.exceptions.InvalidParameterCombinationException
  • imagebuilder.Client.exceptions.ServiceQuotaExceededException