Skip to content
v2.273.0

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 ​

amiDescriptionstringami_descriptionstramiDescriptionStringAmiDescriptionstringAmiDescription*string= None#
The description of the AMI.
amiKmsKeyIKeyami_kms_keyIKeyamiKmsKeyIKeyAmiKmsKeyIKeyAmiKmsKeyIKey= None#
The KMS key to encrypt the distributed AMI with.
amiLaunchPermissionAmiLaunchPermissionami_launch_permissionAmiLaunchPermissionamiLaunchPermissionAmiLaunchPermissionAmiLaunchPermissionAmiLaunchPermissionAmiLaunchPermissionAmiLaunchPermission= None#
The launch permissions for the AMI, defining which principals are allowed to access the AMI.
amiNamestringami_namestramiNameStringAmiNamestringAmiName*string= A name is generated from the ima…#
The name to use for the distributed AMIs.
default

Default: A name is generated from the image recipe name

amiTags{ [key: string]: string }ami_tagstyping.Mapping[str, str]amiTagsMap<String, String>AmiTagsIDictionary<string, string>AmiTags*map[string]*string= None#
The tags to apply to the distributed AMIs.
amiTargetAccountIdsstring[]ami_target_account_idstyping.List[str]amiTargetAccountIdsList<String>AmiTargetAccountIdsstring[]AmiTargetAccountIds*[]*string= None#
The account IDs to copy the output AMI to.
fastLaunchConfigurationsFastLaunchConfiguration[]fast_launch_configurationstyping.List[FastLaunchConfiguration]fastLaunchConfigurationsList<FastLaunchConfiguration>FastLaunchConfigurationsFastLaunchConfiguration[]FastLaunchConfigurations*[]FastLaunchConfiguration= None#
The fast launch configurations to use for enabling EC2 Fast Launch on the distributed Windows AMI.
launchTemplatesLaunchTemplateConfiguration[]launch_templatestyping.List[LaunchTemplateConfiguration]launchTemplatesList<LaunchTemplateConfiguration>LaunchTemplatesLaunchTemplateConfiguration[]LaunchTemplates*[]LaunchTemplateConfiguration= None#
The launch templates to apply the distributed AMI to.
licenseConfigurationArnsstring[]license_configuration_arnstyping.List[str]licenseConfigurationArnsList<String>LicenseConfigurationArnsstring[]LicenseConfigurationArns*[]*string= None#
The License Manager license configuration ARNs to apply to the distributed AMIs.
regionstringregionstrregionStringRegionstringRegion*string= The current region is used#
The target region to distribute AMIs to.
ssmParametersSSMParameterConfigurations[]ssm_parameterstyping.List[SSMParameterConfigurations]ssmParametersList<SSMParameterConfigurations>SsmParametersSSMParameterConfigurations[]SsmParameters*[]SSMParameterConfigurations= None#
The SSM parameters to create or update for the distributed AMIs.