Interface AmiDistribution

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
AmiDistribution.Jsii$Proxy

@Generated(value="jsii-pacmak/1.125.0 (build fdbe357)", date="2026-01-09T10:20:30.323Z") @Stability(Experimental) public interface AmiDistribution extends software.amazon.jsii.JsiiSerializable
(experimental) The regional distribution settings to use for an AMI build.

Example:

 InfrastructureConfiguration infrastructureConfiguration = InfrastructureConfiguration.Builder.create(this, "Infrastructure")
         .infrastructureConfigurationName("production-infrastructure")
         .instanceTypes(List.of(InstanceType.of(InstanceClass.COMPUTE7_INTEL, InstanceSize.LARGE)))
         .vpc(vpc)
         .subnetSelection(SubnetSelection.builder().subnetType(SubnetType.PRIVATE_WITH_EGRESS).build())
         .build();
 DistributionConfiguration distributionConfiguration = new DistributionConfiguration(this, "Distribution");
 distributionConfiguration.addAmiDistributions(AmiDistribution.builder()
         .amiName("production-ami-{{ imagebuilder:buildDate }}")
         .amiTargetAccountIds(List.of("123456789012", "098765432109"))
         .build());
 ImagePipeline productionPipeline = ImagePipeline.Builder.create(this, "ProductionPipeline")
         .recipe(exampleImageRecipe)
         .infrastructureConfiguration(infrastructureConfiguration)
         .distributionConfiguration(distributionConfiguration)
         .build();
 
  • Method Details

    • getAmiDescription

      @Stability(Experimental) @Nullable default String getAmiDescription()
      (experimental) The description of the AMI.

      Default: None

    • getAmiKmsKey

      @Stability(Experimental) @Nullable default IKey getAmiKmsKey()
      (experimental) The KMS key to encrypt the distributed AMI with.

      Default: None

    • getAmiLaunchPermission

      @Stability(Experimental) @Nullable default AmiLaunchPermission getAmiLaunchPermission()
      (experimental) The launch permissions for the AMI, defining which principals are allowed to access the AMI.

      Default: None

    • getAmiName

      @Stability(Experimental) @Nullable default String getAmiName()
      (experimental) The name to use for the distributed AMIs.

      Default: A name is generated from the image recipe name

    • getAmiTags

      @Stability(Experimental) @Nullable default Map<String,String> getAmiTags()
      (experimental) The tags to apply to the distributed AMIs.

      Default: None

    • getAmiTargetAccountIds

      @Stability(Experimental) @Nullable default List<String> getAmiTargetAccountIds()
      (experimental) The account IDs to copy the output AMI to.

      Default: None

    • getFastLaunchConfigurations

      @Stability(Experimental) @Nullable default List<FastLaunchConfiguration> getFastLaunchConfigurations()
      (experimental) The fast launch configurations to use for enabling EC2 Fast Launch on the distributed Windows AMI.

      Default: None

      See Also:
    • getLaunchTemplates

      @Stability(Experimental) @Nullable default List<LaunchTemplateConfiguration> getLaunchTemplates()
      (experimental) The launch templates to apply the distributed AMI to.

      Default: None

    • getLicenseConfigurationArns

      @Stability(Experimental) @Nullable default List<String> getLicenseConfigurationArns()
      (experimental) The License Manager license configuration ARNs to apply to the distributed AMIs.

      Default: None

    • getRegion

      @Stability(Experimental) @Nullable default String getRegion()
      (experimental) The target region to distribute AMIs to.

      Default: The current region is used

    • getSsmParameters

      @Stability(Experimental) @Nullable default List<SSMParameterConfigurations> getSsmParameters()
      (experimental) The SSM parameters to create or update for the distributed AMIs.

      Default: None

    • builder

      @Stability(Experimental) static AmiDistribution.Builder builder()
      Returns:
      a AmiDistribution.Builder of AmiDistribution