/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * The Amazon Resource Name (ARN) of the License Manager configuration. */ export type LicenseConfigurationArn = string; /** * Resource schema for AWS::ImageBuilder::DistributionConfiguration */ export interface AwsImagebuilderDistributionconfiguration { /** * The Amazon Resource Name (ARN) of the distribution configuration. */ Arn?: string; /** * The name of the distribution configuration. */ Name: string; /** * The description of the distribution configuration. */ Description?: string; /** * The distributions of the distribution configuration. */ Distributions: Distribution[]; /** * The tags associated with the component. */ Tags?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".{1,}". */ [k: string]: string; }; } /** * The distributions of the distribution configuration. */ export interface Distribution { /** * region */ Region: string; AmiDistributionConfiguration?: AmiDistributionConfiguration; ContainerDistributionConfiguration?: ContainerDistributionConfiguration; /** * The License Manager Configuration to associate with the AMI in the specified Region. */ LicenseConfigurationArns?: LicenseConfigurationArn[]; /** * A group of launchTemplateConfiguration settings that apply to image distribution. */ LaunchTemplateConfigurations?: LaunchTemplateConfiguration[]; /** * The Windows faster-launching configurations to use for AMI distribution. */ FastLaunchConfigurations?: FastLaunchConfiguration[]; } /** * The specific AMI settings (for example, launch permissions, AMI tags). */ export interface AmiDistributionConfiguration { /** * The name of the AMI distribution configuration. */ Name?: string; /** * The KMS key identifier used to encrypt the distributed image. */ KmsKeyId?: string; /** * The description of the AMI distribution configuration. */ Description?: string; /** * The tags to apply to AMIs distributed to this Region. */ AmiTags?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".{1,}". */ [k: string]: string; }; /** * The ID of accounts to which you want to distribute an image. */ TargetAccountIds?: string[]; LaunchPermissionConfiguration?: LaunchPermissionConfiguration; } /** * Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances. */ export interface LaunchPermissionConfiguration { /** * The AWS account ID. */ UserIds?: string[]; /** * The name of the group. */ UserGroups?: string[]; /** * The ARN for an Amazon Web Services Organization that you want to share your AMI with. */ OrganizationArns?: string[]; /** * The ARN for an Organizations organizational unit (OU) that you want to share your AMI with. */ OrganizationalUnitArns?: string[]; } /** * Container distribution settings for encryption, licensing, and sharing in a specific Region. */ export interface ContainerDistributionConfiguration { /** * The description of the container distribution configuration. */ Description?: string; /** * Tags that are attached to the container distribution configuration. */ ContainerTags?: string[]; TargetRepository?: TargetContainerRepository; } /** * The destination repository for the container distribution configuration. */ export interface TargetContainerRepository { /** * The service of target container repository. */ Service?: "ECR"; /** * The repository name of target container repository. */ RepositoryName?: string; } /** * launchTemplateConfiguration settings that apply to image distribution. */ export interface LaunchTemplateConfiguration { /** * Identifies the EC2 launch template to use. */ LaunchTemplateId?: string; /** * The account ID that this configuration applies to. */ AccountId?: string; /** * Set the specified EC2 launch template as the default launch template for the specified account. */ SetDefaultVersion?: boolean; } /** * The Windows faster-launching configuration to use for AMI distribution. */ export interface FastLaunchConfiguration { /** * The owner account ID for the fast-launch enabled Windows AMI. */ AccountId?: string; /** * 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. */ Enabled?: boolean; LaunchTemplate?: FastLaunchLaunchTemplateSpecification; /** * The maximum number of parallel instances that are launched for creating resources. */ MaxParallelLaunches?: number; SnapshotConfiguration?: FastLaunchSnapshotConfiguration; } /** * The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots. */ export interface FastLaunchLaunchTemplateSpecification { /** * The ID of the launch template to use for faster launching for a Windows AMI. */ LaunchTemplateId?: string; /** * The name of the launch template to use for faster launching for a Windows AMI. */ LaunchTemplateName?: string; /** * The version of the launch template to use for faster launching for a Windows AMI. */ LaunchTemplateVersion?: string; } /** * Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled. */ export interface FastLaunchSnapshotConfiguration { /** * The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI. */ TargetResourceCount?: number; }