Skip to content
v2.274.0

Experimental

@aws-cdk/aws-imagebuilder-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

AmiDistribution Struct ​

The regional distribution settings to use for an AMI build.

Example ​

ts
const infrastructureConfiguration = new imagebuilder.InfrastructureConfiguration(this, 'Infrastructure', {
  infrastructureConfigurationName: 'production-infrastructure',
  instanceTypes: [
    ec2.InstanceType.of(ec2.InstanceClass.COMPUTE7_INTEL, ec2.InstanceSize.LARGE)
  ],
  vpc: vpc,
  subnetSelection: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }
});

const distributionConfiguration = new imagebuilder.DistributionConfiguration(this, 'Distribution');
distributionConfiguration.addAmiDistributions({
  amiName: 'production-ami-{{ imagebuilder:buildDate }}',
  amiTargetAccountIds: ['123456789012', '098765432109']
});

const productionPipeline = new imagebuilder.ImagePipeline(this, 'ProductionPipeline', {
  recipe: exampleImageRecipe,
  infrastructureConfiguration: infrastructureConfiguration,
  distributionConfiguration: distributionConfiguration
});

Properties ​

amiDescriptionoptionalstringami_descriptionoptionalstramiDescriptionoptionalStringAmiDescriptionoptionalstringAmiDescriptionoptional*string= None#
The description of the AMI.
amiKmsKeyoptionalIKeyami_kms_keyoptionalIKeyamiKmsKeyoptionalIKeyAmiKmsKeyoptionalIKeyAmiKmsKeyoptionalIKey= None#
The KMS key to encrypt the distributed AMI with.
amiLaunchPermissionoptionalAmiLaunchPermissionami_launch_permissionoptionalAmiLaunchPermissionamiLaunchPermissionoptionalAmiLaunchPermissionAmiLaunchPermissionoptionalAmiLaunchPermissionAmiLaunchPermissionoptionalAmiLaunchPermission= None#
The launch permissions for the AMI, defining which principals are allowed to access the AMI.
amiNameoptionalstringami_nameoptionalstramiNameoptionalStringAmiNameoptionalstringAmiNameoptional*string#
The name to use for the distributed AMIs.

Default: A name is generated from the image recipe name

amiTagsoptional{ [key: string]: string }ami_tagsoptionaltyping.Mapping[str, str]amiTagsoptionalMap<String, String>AmiTagsoptionalIDictionary<string, string>AmiTagsoptional*map[string]*string= None#
The tags to apply to the distributed AMIs.
amiTargetAccountIdsoptionalstring[]ami_target_account_idsoptionaltyping.List[str]amiTargetAccountIdsoptionalList<String>AmiTargetAccountIdsoptionalstring[]AmiTargetAccountIdsoptional*[]*string= None#
The account IDs to copy the output AMI to.
fastLaunchConfigurationsoptionalFastLaunchConfiguration[]fast_launch_configurationsoptionaltyping.List[FastLaunchConfiguration]fastLaunchConfigurationsoptionalList<FastLaunchConfiguration>FastLaunchConfigurationsoptionalFastLaunchConfiguration[]FastLaunchConfigurationsoptional*[]FastLaunchConfiguration= None#
The fast launch configurations to use for enabling EC2 Fast Launch on the distributed Windows AMI.
launchTemplatesoptionalLaunchTemplateConfiguration[]launch_templatesoptionaltyping.List[LaunchTemplateConfiguration]launchTemplatesoptionalList<LaunchTemplateConfiguration>LaunchTemplatesoptionalLaunchTemplateConfiguration[]LaunchTemplatesoptional*[]LaunchTemplateConfiguration= None#
The launch templates to apply the distributed AMI to.
licenseConfigurationArnsoptionalstring[]license_configuration_arnsoptionaltyping.List[str]licenseConfigurationArnsoptionalList<String>LicenseConfigurationArnsoptionalstring[]LicenseConfigurationArnsoptional*[]*string= None#
The License Manager license configuration ARNs to apply to the distributed AMIs.
regionoptionalstringregionoptionalstrregionoptionalStringRegionoptionalstringRegionoptional*string#
The target region to distribute AMIs to.

Default: The current region is used

ssmParametersoptionalSSMParameterConfigurations[]ssm_parametersoptionaltyping.List[SSMParameterConfigurations]ssmParametersoptionalList<SSMParameterConfigurations>SsmParametersoptionalSSMParameterConfigurations[]SsmParametersoptional*[]SSMParameterConfigurations= None#
The SSM parameters to create or update for the distributed AMIs.