awsimagebuilder

package
v1.145.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnComponent_CFN_RESOURCE_TYPE_NAME

func CfnComponent_CFN_RESOURCE_TYPE_NAME() *string

func CfnComponent_IsCfnElement

func CfnComponent_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnComponent_IsCfnResource

func CfnComponent_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnComponent_IsConstruct

func CfnComponent_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnContainerRecipe_CFN_RESOURCE_TYPE_NAME

func CfnContainerRecipe_CFN_RESOURCE_TYPE_NAME() *string

func CfnContainerRecipe_IsCfnElement

func CfnContainerRecipe_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnContainerRecipe_IsCfnResource

func CfnContainerRecipe_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnContainerRecipe_IsConstruct

func CfnContainerRecipe_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnDistributionConfiguration_CFN_RESOURCE_TYPE_NAME

func CfnDistributionConfiguration_CFN_RESOURCE_TYPE_NAME() *string

func CfnDistributionConfiguration_IsCfnElement

func CfnDistributionConfiguration_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnDistributionConfiguration_IsCfnResource

func CfnDistributionConfiguration_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnDistributionConfiguration_IsConstruct

func CfnDistributionConfiguration_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnImagePipeline_CFN_RESOURCE_TYPE_NAME

func CfnImagePipeline_CFN_RESOURCE_TYPE_NAME() *string

func CfnImagePipeline_IsCfnElement

func CfnImagePipeline_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnImagePipeline_IsCfnResource

func CfnImagePipeline_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnImagePipeline_IsConstruct

func CfnImagePipeline_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnImageRecipe_CFN_RESOURCE_TYPE_NAME

func CfnImageRecipe_CFN_RESOURCE_TYPE_NAME() *string

func CfnImageRecipe_IsCfnElement

func CfnImageRecipe_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnImageRecipe_IsCfnResource

func CfnImageRecipe_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnImageRecipe_IsConstruct

func CfnImageRecipe_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnImage_CFN_RESOURCE_TYPE_NAME

func CfnImage_CFN_RESOURCE_TYPE_NAME() *string

func CfnImage_IsCfnElement

func CfnImage_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnImage_IsCfnResource

func CfnImage_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnImage_IsConstruct

func CfnImage_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnInfrastructureConfiguration_CFN_RESOURCE_TYPE_NAME

func CfnInfrastructureConfiguration_CFN_RESOURCE_TYPE_NAME() *string

func CfnInfrastructureConfiguration_IsCfnElement

func CfnInfrastructureConfiguration_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnInfrastructureConfiguration_IsCfnResource

func CfnInfrastructureConfiguration_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnInfrastructureConfiguration_IsConstruct

func CfnInfrastructureConfiguration_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnComponent_Override

func NewCfnComponent_Override(c CfnComponent, scope awscdk.Construct, id *string, props *CfnComponentProps)

Create a new `AWS::ImageBuilder::Component`.

func NewCfnContainerRecipe_Override

func NewCfnContainerRecipe_Override(c CfnContainerRecipe, scope awscdk.Construct, id *string, props *CfnContainerRecipeProps)

Create a new `AWS::ImageBuilder::ContainerRecipe`.

func NewCfnDistributionConfiguration_Override

func NewCfnDistributionConfiguration_Override(c CfnDistributionConfiguration, scope awscdk.Construct, id *string, props *CfnDistributionConfigurationProps)

Create a new `AWS::ImageBuilder::DistributionConfiguration`.

func NewCfnImagePipeline_Override

func NewCfnImagePipeline_Override(c CfnImagePipeline, scope awscdk.Construct, id *string, props *CfnImagePipelineProps)

Create a new `AWS::ImageBuilder::ImagePipeline`.

func NewCfnImageRecipe_Override

func NewCfnImageRecipe_Override(c CfnImageRecipe, scope awscdk.Construct, id *string, props *CfnImageRecipeProps)

Create a new `AWS::ImageBuilder::ImageRecipe`.

func NewCfnImage_Override

func NewCfnImage_Override(c CfnImage, scope awscdk.Construct, id *string, props *CfnImageProps)

Create a new `AWS::ImageBuilder::Image`.

func NewCfnInfrastructureConfiguration_Override

func NewCfnInfrastructureConfiguration_Override(c CfnInfrastructureConfiguration, scope awscdk.Construct, id *string, props *CfnInfrastructureConfigurationProps)

Create a new `AWS::ImageBuilder::InfrastructureConfiguration`.

Types

type CfnComponent

type CfnComponent interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrEncrypted() awscdk.IResolvable
	AttrName() *string
	AttrType() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ChangeDescription() *string
	SetChangeDescription(val *string)
	CreationStack() *[]*string
	Data() *string
	SetData(val *string)
	Description() *string
	SetDescription(val *string)
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Platform() *string
	SetPlatform(val *string)
	Ref() *string
	Stack() awscdk.Stack
	SupportedOsVersions() *[]*string
	SetSupportedOsVersions(val *[]*string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	Uri() *string
	SetUri(val *string)
	Version() *string
	SetVersion(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::Component`.

Components are orchestration documents that define a sequence of steps for downloading, installing, and configuring software packages or for defining tests to run on software packages. They also define validation and security hardening steps. A component is defined using a YAML document format. For more information, see [Using Documents in Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-application-documents.html) .

TODO: EXAMPLE

func NewCfnComponent

func NewCfnComponent(scope awscdk.Construct, id *string, props *CfnComponentProps) CfnComponent

Create a new `AWS::ImageBuilder::Component`.

type CfnComponentProps

type CfnComponentProps struct {
	// The name of the component.
	Name *string `json:"name" yaml:"name"`
	// The platform of the component.
	//
	// For example, `Windows` .
	Platform *string `json:"platform" yaml:"platform"`
	// The component version.
	//
	// For example, `1.0.0` .
	Version *string `json:"version" yaml:"version"`
	// A change description of the component.
	//
	// For example `initial version` .
	ChangeDescription *string `json:"changeDescription" yaml:"changeDescription"`
	// The data of the component.
	//
	// For example, `name: HelloWorldTestingDocument\ndescription: This is hello world testing document.\nschemaVersion: 1.0\n\nphases:\n - name: test\n steps:\n - name: HelloWorldStep\n action: ExecuteBash\n inputs:\n commands:\n - echo \"Hello World! Test.\"\n` . See Examples below for the schema for creating a component using Data.
	Data *string `json:"data" yaml:"data"`
	// The description of the component.
	Description *string `json:"description" yaml:"description"`
	// The KMS key identifier used to encrypt the component.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
	// The operating system (OS) version supported by the component.
	//
	// If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.
	SupportedOsVersions *[]*string `json:"supportedOsVersions" yaml:"supportedOsVersions"`
	// The tags associated with the component.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
	// The uri of the component.
	//
	// Must be an Amazon S3 URL and the requester must have permission to access the Amazon S3 bucket. If you use Amazon S3, you can specify component content up to your service quota. Either `data` or `uri` can be used to specify the data within the component.
	Uri *string `json:"uri" yaml:"uri"`
}

Properties for defining a `CfnComponent`.

TODO: EXAMPLE

type CfnContainerRecipe

type CfnContainerRecipe interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Components() interface{}
	SetComponents(val interface{})
	ContainerType() *string
	SetContainerType(val *string)
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	DockerfileTemplateData() *string
	SetDockerfileTemplateData(val *string)
	DockerfileTemplateUri() *string
	SetDockerfileTemplateUri(val *string)
	ImageOsVersionOverride() *string
	SetImageOsVersionOverride(val *string)
	InstanceConfiguration() interface{}
	SetInstanceConfiguration(val interface{})
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	ParentImage() *string
	SetParentImage(val *string)
	PlatformOverride() *string
	SetPlatformOverride(val *string)
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	TargetRepository() interface{}
	SetTargetRepository(val interface{})
	UpdatedProperites() *map[string]interface{}
	Version() *string
	SetVersion(val *string)
	WorkingDirectory() *string
	SetWorkingDirectory(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::ContainerRecipe`.

Creates a new container recipe. Container recipes define how images are configured, tested, and assessed.

TODO: EXAMPLE

func NewCfnContainerRecipe

func NewCfnContainerRecipe(scope awscdk.Construct, id *string, props *CfnContainerRecipeProps) CfnContainerRecipe

Create a new `AWS::ImageBuilder::ContainerRecipe`.

type CfnContainerRecipeProps

type CfnContainerRecipeProps struct {
	// Components for build and test that are included in the container recipe.
	Components interface{} `json:"components" yaml:"components"`
	// Specifies the type of container, such as Docker.
	ContainerType *string `json:"containerType" yaml:"containerType"`
	// The name of the container recipe.
	Name *string `json:"name" yaml:"name"`
	// The base image for the container recipe.
	ParentImage *string `json:"parentImage" yaml:"parentImage"`
	// The destination repository for the container image.
	TargetRepository interface{} `json:"targetRepository" yaml:"targetRepository"`
	// The semantic version of the container recipe.
	//
	// > The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.
	// >
	// > *Assignment:* For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.
	// >
	// > *Patterns:* You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
	// >
	// > *Filtering:* With semantic versioning, you have the flexibility to use wildcards (x) to specify the most recent versions or nodes when selecting the base image or components for your recipe. When you use a wildcard in any node, all nodes to the right of the first wildcard must also be wildcards.
	Version *string `json:"version" yaml:"version"`
	// The description of the container recipe.
	Description *string `json:"description" yaml:"description"`
	// Dockerfiles are text documents that are used to build Docker containers, and ensure that they contain all of the elements required by the application running inside.
	//
	// The template data consists of contextual variables where Image Builder places build information or scripts, based on your container image recipe.
	DockerfileTemplateData *string `json:"dockerfileTemplateData" yaml:"dockerfileTemplateData"`
	// The S3 URI for the Dockerfile that will be used to build your container image.
	DockerfileTemplateUri *string `json:"dockerfileTemplateUri" yaml:"dockerfileTemplateUri"`
	// Specifies the operating system version for the source image.
	ImageOsVersionOverride *string `json:"imageOsVersionOverride" yaml:"imageOsVersionOverride"`
	// A group of options that can be used to configure an instance for building and testing container images.
	InstanceConfiguration interface{} `json:"instanceConfiguration" yaml:"instanceConfiguration"`
	// Identifies which KMS key is used to encrypt the container image for distribution to the target Region.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
	// Specifies the operating system platform when you use a custom source image.
	PlatformOverride *string `json:"platformOverride" yaml:"platformOverride"`
	// Tags that are attached to the container recipe.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
	// The working directory for use during build and test workflows.
	WorkingDirectory *string `json:"workingDirectory" yaml:"workingDirectory"`
}

Properties for defining a `CfnContainerRecipe`.

TODO: EXAMPLE

type CfnContainerRecipe_ComponentConfigurationProperty

type CfnContainerRecipe_ComponentConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the component.
	ComponentArn *string `json:"componentArn" yaml:"componentArn"`
}

Configuration details of the component.

TODO: EXAMPLE

type CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty

type CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty struct {
	// Use to configure delete on termination of the associated device.
	DeleteOnTermination interface{} `json:"deleteOnTermination" yaml:"deleteOnTermination"`
	// Use to configure device encryption.
	Encrypted interface{} `json:"encrypted" yaml:"encrypted"`
	// Use to configure device IOPS.
	Iops *float64 `json:"iops" yaml:"iops"`
	// Use to configure the KMS key to use when encrypting the device.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
	// The snapshot that defines the device contents.
	SnapshotId *string `json:"snapshotId" yaml:"snapshotId"`
	// *For GP3 volumes only* – The throughput in MiB/s that the volume supports.
	Throughput *float64 `json:"throughput" yaml:"throughput"`
	// Use to override the device's volume size.
	VolumeSize *float64 `json:"volumeSize" yaml:"volumeSize"`
	// Use to override the device's volume type.
	VolumeType *string `json:"volumeType" yaml:"volumeType"`
}

Amazon EBS-specific block device mapping specifications.

TODO: EXAMPLE

type CfnContainerRecipe_InstanceBlockDeviceMappingProperty

type CfnContainerRecipe_InstanceBlockDeviceMappingProperty struct {
	// The device to which these mappings apply.
	DeviceName *string `json:"deviceName" yaml:"deviceName"`
	// Use to manage Amazon EBS-specific configuration for this mapping.
	Ebs interface{} `json:"ebs" yaml:"ebs"`
	// Use to remove a mapping from the base image.
	NoDevice *string `json:"noDevice" yaml:"noDevice"`
	// Use to manage instance ephemeral devices.
	VirtualName *string `json:"virtualName" yaml:"virtualName"`
}

Defines block device mappings for the instance used to configure your image.

TODO: EXAMPLE

type CfnContainerRecipe_InstanceConfigurationProperty

type CfnContainerRecipe_InstanceConfigurationProperty struct {
	// Defines the block devices to attach for building an instance from this Image Builder AMI.
	BlockDeviceMappings interface{} `json:"blockDeviceMappings" yaml:"blockDeviceMappings"`
	// The AMI ID to use as the base image for a container build and test instance.
	//
	// If not specified, Image Builder will use the appropriate ECS-optimized AMI as a base image.
	Image *string `json:"image" yaml:"image"`
}

Defines a custom source AMI and block device mapping configurations of an instance used for building and testing container images.

TODO: EXAMPLE

type CfnContainerRecipe_TargetContainerRepositoryProperty

type CfnContainerRecipe_TargetContainerRepositoryProperty struct {
	// The name of the container repository where the output container image is stored.
	//
	// This name is prefixed by the repository location.
	RepositoryName *string `json:"repositoryName" yaml:"repositoryName"`
	// Specifies the service in which this image was registered.
	Service *string `json:"service" yaml:"service"`
}

The container repository where the output container image is stored.

TODO: EXAMPLE

type CfnDistributionConfiguration

type CfnDistributionConfiguration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	Distributions() interface{}
	SetDistributions(val interface{})
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::DistributionConfiguration`.

A distribution configuration allows you to specify the name and description of your output AMI, authorize other AWS account s to launch the AMI, and replicate the AMI to other AWS Regions . It also allows you to export the AMI to Amazon S3 .

TODO: EXAMPLE

func NewCfnDistributionConfiguration

func NewCfnDistributionConfiguration(scope awscdk.Construct, id *string, props *CfnDistributionConfigurationProps) CfnDistributionConfiguration

Create a new `AWS::ImageBuilder::DistributionConfiguration`.

type CfnDistributionConfigurationProps

type CfnDistributionConfigurationProps struct {
	// The distributions of this distribution configuration formatted as an array of Distribution objects.
	Distributions interface{} `json:"distributions" yaml:"distributions"`
	// The name of this distribution configuration.
	Name *string `json:"name" yaml:"name"`
	// The description of this distribution configuration.
	Description *string `json:"description" yaml:"description"`
	// The tags of this distribution configuration.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDistributionConfiguration`.

TODO: EXAMPLE

type CfnDistributionConfiguration_DistributionProperty

type CfnDistributionConfiguration_DistributionProperty struct {
	// The target Region for the Distribution Configuration.
	//
	// For example, `eu-west-1` .
	Region *string `json:"region" yaml:"region"`
	// The specific AMI settings, such as launch permissions and AMI tags.
	//
	// For details, see example schema below.
	AmiDistributionConfiguration interface{} `json:"amiDistributionConfiguration" yaml:"amiDistributionConfiguration"`
	// Container distribution settings for encryption, licensing, and sharing in a specific Region.
	//
	// For details, see example schema below.
	ContainerDistributionConfiguration interface{} `json:"containerDistributionConfiguration" yaml:"containerDistributionConfiguration"`
	// A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts.
	LaunchTemplateConfigurations interface{} `json:"launchTemplateConfigurations" yaml:"launchTemplateConfigurations"`
	// The License Manager Configuration to associate with the AMI in the specified Region.
	//
	// For more information, see the [LicenseConfiguration API](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_LicenseConfiguration.html) .
	LicenseConfigurationArns *[]*string `json:"licenseConfigurationArns" yaml:"licenseConfigurationArns"`
}

The distribution configuration distribution defines the settings for a specific Region in the Distribution Configuration.

You must specify whether the distribution is for an AMI or a container image. To do so, include exactly one of the following data types for your distribution:

- amiDistributionConfiguration - containerDistributionConfiguration

TODO: EXAMPLE

type CfnDistributionConfiguration_LaunchTemplateConfigurationProperty

type CfnDistributionConfiguration_LaunchTemplateConfigurationProperty struct {
	// The account ID that this configuration applies to.
	AccountId *string `json:"accountId" yaml:"accountId"`
	// Identifies the Amazon EC2 launch template to use.
	LaunchTemplateId *string `json:"launchTemplateId" yaml:"launchTemplateId"`
	// Set the specified Amazon EC2 launch template as the default launch template for the specified account.
	SetDefaultVersion interface{} `json:"setDefaultVersion" yaml:"setDefaultVersion"`
}

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

TODO: EXAMPLE

type CfnImage

type CfnImage interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrImageId() *string
	AttrName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ContainerRecipeArn() *string
	SetContainerRecipeArn(val *string)
	CreationStack() *[]*string
	DistributionConfigurationArn() *string
	SetDistributionConfigurationArn(val *string)
	EnhancedImageMetadataEnabled() interface{}
	SetEnhancedImageMetadataEnabled(val interface{})
	ImageRecipeArn() *string
	SetImageRecipeArn(val *string)
	ImageTestsConfiguration() interface{}
	SetImageTestsConfiguration(val interface{})
	InfrastructureConfigurationArn() *string
	SetInfrastructureConfigurationArn(val *string)
	LogicalId() *string
	Node() awscdk.ConstructNode
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::Image`.

An image build version. An image is a customized, secure, and up-to-date “golden” server image that is pre-installed and pre-configured with software and settings to meet specific IT standards.

TODO: EXAMPLE

func NewCfnImage

func NewCfnImage(scope awscdk.Construct, id *string, props *CfnImageProps) CfnImage

Create a new `AWS::ImageBuilder::Image`.

type CfnImagePipeline

type CfnImagePipeline interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ContainerRecipeArn() *string
	SetContainerRecipeArn(val *string)
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	DistributionConfigurationArn() *string
	SetDistributionConfigurationArn(val *string)
	EnhancedImageMetadataEnabled() interface{}
	SetEnhancedImageMetadataEnabled(val interface{})
	ImageRecipeArn() *string
	SetImageRecipeArn(val *string)
	ImageTestsConfiguration() interface{}
	SetImageTestsConfiguration(val interface{})
	InfrastructureConfigurationArn() *string
	SetInfrastructureConfigurationArn(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	Schedule() interface{}
	SetSchedule(val interface{})
	Stack() awscdk.Stack
	Status() *string
	SetStatus(val *string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::ImagePipeline`.

An image pipeline is the automation configuration for building secure OS images on AWS . The Image Builder image pipeline is associated with an image recipe that defines the build, validation, and test phases for an image build lifecycle. An image pipeline can be associated with an infrastructure configuration that defines where your image is built. You can define attributes, such as instance type, subnets, security groups, logging, and other infrastructure-related configurations. You can also associate your image pipeline with a distribution configuration to define how you would like to deploy your image.

TODO: EXAMPLE

func NewCfnImagePipeline

func NewCfnImagePipeline(scope awscdk.Construct, id *string, props *CfnImagePipelineProps) CfnImagePipeline

Create a new `AWS::ImageBuilder::ImagePipeline`.

type CfnImagePipelineProps

type CfnImagePipelineProps struct {
	// The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
	InfrastructureConfigurationArn *string `json:"infrastructureConfigurationArn" yaml:"infrastructureConfigurationArn"`
	// The name of the image pipeline.
	Name *string `json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.
	ContainerRecipeArn *string `json:"containerRecipeArn" yaml:"containerRecipeArn"`
	// The description of this image pipeline.
	Description *string `json:"description" yaml:"description"`
	// The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
	DistributionConfigurationArn *string `json:"distributionConfigurationArn" yaml:"distributionConfigurationArn"`
	// Collects additional information about the image being created, including the operating system (OS) version and package list.
	//
	// This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
	EnhancedImageMetadataEnabled interface{} `json:"enhancedImageMetadataEnabled" yaml:"enhancedImageMetadataEnabled"`
	// The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.
	ImageRecipeArn *string `json:"imageRecipeArn" yaml:"imageRecipeArn"`
	// The configuration of the image tests that run after image creation to ensure the quality of the image that was created.
	ImageTestsConfiguration interface{} `json:"imageTestsConfiguration" yaml:"imageTestsConfiguration"`
	// The schedule of the image pipeline.
	//
	// A schedule configures how often and when a pipeline automatically creates a new image.
	Schedule interface{} `json:"schedule" yaml:"schedule"`
	// The status of the image pipeline.
	Status *string `json:"status" yaml:"status"`
	// The tags of this image pipeline.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnImagePipeline`.

TODO: EXAMPLE

type CfnImagePipeline_ImageTestsConfigurationProperty

type CfnImagePipeline_ImageTestsConfigurationProperty struct {
	// Defines if tests should be executed when building this image.
	//
	// For example, `true` or `false` .
	ImageTestsEnabled interface{} `json:"imageTestsEnabled" yaml:"imageTestsEnabled"`
	// The maximum time in minutes that tests are permitted to run.
	TimeoutMinutes *float64 `json:"timeoutMinutes" yaml:"timeoutMinutes"`
}

When you create an image or container recipe with Image Builder , you can add the build or test components that your image pipeline uses to create the final image.

You must have at least one build component to create a recipe, but test components are not required. Your pipeline runs tests after it builds the image, to ensure that the target image is functional and can be used reliably for launching Amazon EC2 instances.

TODO: EXAMPLE

type CfnImagePipeline_ScheduleProperty

type CfnImagePipeline_ScheduleProperty struct {
	// The condition configures when the pipeline should trigger a new image build.
	//
	// When the `pipelineExecutionStartCondition` is set to `EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE` , and you use semantic version filters on the source image or components in your image recipe, Image Builder will build a new image only when there are new versions of the image or components in your recipe that match the semantic version filter. When it is set to `EXPRESSION_MATCH_ONLY` , it will build a new image every time the CRON expression matches the current time. For semantic version syntax, see [CreateComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html) in the *Image Builder API Reference* .
	PipelineExecutionStartCondition *string `json:"pipelineExecutionStartCondition" yaml:"pipelineExecutionStartCondition"`
	// The cron expression determines how often EC2 Image Builder evaluates your `pipelineExecutionStartCondition` .
	//
	// For information on how to format a cron expression in Image Builder, see [Use cron expressions in EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html) .
	ScheduleExpression *string `json:"scheduleExpression" yaml:"scheduleExpression"`
}

A schedule configures how often and when a pipeline will automatically create a new image.

TODO: EXAMPLE

type CfnImageProps

type CfnImageProps struct {
	// The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
	InfrastructureConfigurationArn *string `json:"infrastructureConfigurationArn" yaml:"infrastructureConfigurationArn"`
	// The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.
	ContainerRecipeArn *string `json:"containerRecipeArn" yaml:"containerRecipeArn"`
	// The Amazon Resource Name (ARN) of the distribution configuration.
	DistributionConfigurationArn *string `json:"distributionConfigurationArn" yaml:"distributionConfigurationArn"`
	// Collects additional information about the image being created, including the operating system (OS) version and package list.
	//
	// This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
	EnhancedImageMetadataEnabled interface{} `json:"enhancedImageMetadataEnabled" yaml:"enhancedImageMetadataEnabled"`
	// The Amazon Resource Name (ARN) of the image recipe.
	ImageRecipeArn *string `json:"imageRecipeArn" yaml:"imageRecipeArn"`
	// The configuration settings for your image test components, which includes a toggle that allows you to turn off tests, and a timeout setting.
	ImageTestsConfiguration interface{} `json:"imageTestsConfiguration" yaml:"imageTestsConfiguration"`
	// The tags of the image.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnImage`.

TODO: EXAMPLE

type CfnImageRecipe

type CfnImageRecipe interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AdditionalInstanceConfiguration() interface{}
	SetAdditionalInstanceConfiguration(val interface{})
	AttrArn() *string
	AttrName() *string
	BlockDeviceMappings() interface{}
	SetBlockDeviceMappings(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Components() interface{}
	SetComponents(val interface{})
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	ParentImage() *string
	SetParentImage(val *string)
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	Version() *string
	SetVersion(val *string)
	WorkingDirectory() *string
	SetWorkingDirectory(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::ImageRecipe`.

An Image Builder image recipe is a document that defines the source image and the components to be applied to the source image to produce the desired configuration for the output image. You can use an image recipe to duplicate builds. Image Builder image recipes can be shared, branched, and edited using the console wizard, the AWS CLI , or the API. You can use image recipes with your version control software to maintain shareable versioned image recipes.

TODO: EXAMPLE

func NewCfnImageRecipe

func NewCfnImageRecipe(scope awscdk.Construct, id *string, props *CfnImageRecipeProps) CfnImageRecipe

Create a new `AWS::ImageBuilder::ImageRecipe`.

type CfnImageRecipeProps

type CfnImageRecipeProps struct {
	// The components of the image recipe.
	//
	// Components are orchestration documents that define a sequence of steps for downloading, installing, configuring, and testing software packages. They also define validation and security hardening steps. A component is defined using a YAML document format.
	Components interface{} `json:"components" yaml:"components"`
	// The name of the image recipe.
	Name *string `json:"name" yaml:"name"`
	// The parent image of the image recipe.
	//
	// The string must be either an Image ARN (SemVers is ok) or an AMI ID.
	ParentImage *string `json:"parentImage" yaml:"parentImage"`
	// The semantic version of the image recipe.
	Version *string `json:"version" yaml:"version"`
	// Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration.
	//
	// Instance configuration adds a layer of control over those instances. You can define settings and add scripts to run when an instance is launched from your AMI.
	AdditionalInstanceConfiguration interface{} `json:"additionalInstanceConfiguration" yaml:"additionalInstanceConfiguration"`
	// The block device mappings to apply when creating images from this recipe.
	BlockDeviceMappings interface{} `json:"blockDeviceMappings" yaml:"blockDeviceMappings"`
	// The description of the image recipe.
	Description *string `json:"description" yaml:"description"`
	// The tags of the image recipe.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
	// The working directory to be used during build and test workflows.
	WorkingDirectory *string `json:"workingDirectory" yaml:"workingDirectory"`
}

Properties for defining a `CfnImageRecipe`.

TODO: EXAMPLE

type CfnImageRecipe_AdditionalInstanceConfigurationProperty

type CfnImageRecipe_AdditionalInstanceConfigurationProperty struct {
	// Contains settings for the Systems Manager agent on your build instance.
	SystemsManagerAgent interface{} `json:"systemsManagerAgent" yaml:"systemsManagerAgent"`
	// Use this property to provide commands or a command script to run when you launch your build instance.
	//
	// > The userDataOverride property replaces any commands that Image Builder might have added to ensure that Systems Manager is installed on your Linux build instance. If you override the user data, make sure that you add commands to install Systems Manager, if it is not pre-installed on your base image.
	UserDataOverride *string `json:"userDataOverride" yaml:"userDataOverride"`
}

In addition to your infrastruction configuration, these settings provide an extra layer of control over your build instances.

For instances where Image Builder installs the Systems Manager agent, you can choose whether to keep it for the AMI that you create. You can also specify commands to run on launch for all of your build instances.

TODO: EXAMPLE

type CfnImageRecipe_ComponentConfigurationProperty

type CfnImageRecipe_ComponentConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the component.
	ComponentArn *string `json:"componentArn" yaml:"componentArn"`
	// A group of parameter settings that are used to configure the component for a specific recipe.
	Parameters interface{} `json:"parameters" yaml:"parameters"`
}

Configuration details of the component.

TODO: EXAMPLE

type CfnImageRecipe_ComponentParameterProperty

type CfnImageRecipe_ComponentParameterProperty struct {
	// The name of the component parameter to set.
	Name *string `json:"name" yaml:"name"`
	// Sets the value for the named component parameter.
	Value *[]*string `json:"value" yaml:"value"`
}

Contains a key/value pair that sets the named component parameter.

TODO: EXAMPLE

type CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty

type CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty struct {
	// Configures delete on termination of the associated device.
	DeleteOnTermination interface{} `json:"deleteOnTermination" yaml:"deleteOnTermination"`
	// Use to configure device encryption.
	Encrypted interface{} `json:"encrypted" yaml:"encrypted"`
	// Use to configure device IOPS.
	Iops *float64 `json:"iops" yaml:"iops"`
	// Use to configure the KMS key to use when encrypting the device.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
	// The snapshot that defines the device contents.
	SnapshotId *string `json:"snapshotId" yaml:"snapshotId"`
	// *For GP3 volumes only* – The throughput in MiB/s that the volume supports.
	Throughput *float64 `json:"throughput" yaml:"throughput"`
	// Overrides the volume size of the device.
	VolumeSize *float64 `json:"volumeSize" yaml:"volumeSize"`
	// Overrides the volume type of the device.
	VolumeType *string `json:"volumeType" yaml:"volumeType"`
}

The image recipe EBS instance block device specification includes the Amazon EBS-specific block device mapping specifications for the image.

TODO: EXAMPLE

type CfnImageRecipe_InstanceBlockDeviceMappingProperty

type CfnImageRecipe_InstanceBlockDeviceMappingProperty struct {
	// The device to which these mappings apply.
	DeviceName *string `json:"deviceName" yaml:"deviceName"`
	// Use to manage Amazon EBS-specific configuration for this mapping.
	Ebs interface{} `json:"ebs" yaml:"ebs"`
	// Enter an empty string to remove a mapping from the parent image.
	//
	// The following is an example of an empty string value in the `NoDevice` field.
	//
	// `NoDevice:""`
	NoDevice *string `json:"noDevice" yaml:"noDevice"`
	// Manages the instance ephemeral devices.
	VirtualName *string `json:"virtualName" yaml:"virtualName"`
}

Defines block device mappings for the instance used to configure your image.

TODO: EXAMPLE

type CfnImageRecipe_SystemsManagerAgentProperty

type CfnImageRecipe_SystemsManagerAgentProperty struct {
	// Controls whether the Systems Manager agent is removed from your final build image, prior to creating the new AMI.
	//
	// If this is set to true, then the agent is removed from the final image. If it's set to false, then the agent is left in, so that it is included in the new AMI. The default value is false.
	UninstallAfterBuild interface{} `json:"uninstallAfterBuild" yaml:"uninstallAfterBuild"`
}

Contains settings for the Systems Manager agent on your build instance.

TODO: EXAMPLE

type CfnImage_ImageTestsConfigurationProperty

type CfnImage_ImageTestsConfigurationProperty struct {
	// Determines if tests should run after building the image.
	//
	// Image Builder defaults to enable tests to run following the image build, before image distribution.
	ImageTestsEnabled interface{} `json:"imageTestsEnabled" yaml:"imageTestsEnabled"`
	// The maximum time in minutes that tests are permitted to run.
	TimeoutMinutes *float64 `json:"timeoutMinutes" yaml:"timeoutMinutes"`
}

When you create an image or container recipe with Image Builder , you can add the build or test components that are used to create the final image.

You must have at least one build component to create a recipe, but test components are not required. If you have added tests, they run after the image is created, to ensure that the target image is functional and can be used reliably for launching Amazon EC2 instances.

TODO: EXAMPLE

type CfnInfrastructureConfiguration

type CfnInfrastructureConfiguration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	InstanceMetadataOptions() interface{}
	SetInstanceMetadataOptions(val interface{})
	InstanceProfileName() *string
	SetInstanceProfileName(val *string)
	InstanceTypes() *[]*string
	SetInstanceTypes(val *[]*string)
	KeyPair() *string
	SetKeyPair(val *string)
	Logging() interface{}
	SetLogging(val interface{})
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	ResourceTags() interface{}
	SetResourceTags(val interface{})
	SecurityGroupIds() *[]*string
	SetSecurityGroupIds(val *[]*string)
	SnsTopicArn() *string
	SetSnsTopicArn(val *string)
	Stack() awscdk.Stack
	SubnetId() *string
	SetSubnetId(val *string)
	Tags() awscdk.TagManager
	TerminateInstanceOnFailure() interface{}
	SetTerminateInstanceOnFailure(val interface{})
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ImageBuilder::InfrastructureConfiguration`.

The infrastructure configuration allows you to specify the infrastructure within which to build and test your image. In the infrastructure configuration, you can specify instance types, subnets, and security groups to associate with your instance. You can also associate an Amazon EC2 key pair with the instance used to build your image. This allows you to log on to your instance to troubleshoot if your build fails and you set terminateInstanceOnFailure to false.

TODO: EXAMPLE

func NewCfnInfrastructureConfiguration

func NewCfnInfrastructureConfiguration(scope awscdk.Construct, id *string, props *CfnInfrastructureConfigurationProps) CfnInfrastructureConfiguration

Create a new `AWS::ImageBuilder::InfrastructureConfiguration`.

type CfnInfrastructureConfigurationProps

type CfnInfrastructureConfigurationProps struct {
	// The instance profile of the infrastructure configuration.
	InstanceProfileName *string `json:"instanceProfileName" yaml:"instanceProfileName"`
	// The name of the infrastructure configuration.
	Name *string `json:"name" yaml:"name"`
	// The description of the infrastructure configuration.
	Description *string `json:"description" yaml:"description"`
	// The instance metadata option settings for the infrastructure configuration.
	InstanceMetadataOptions interface{} `json:"instanceMetadataOptions" yaml:"instanceMetadataOptions"`
	// The instance types of the infrastructure configuration.
	InstanceTypes *[]*string `json:"instanceTypes" yaml:"instanceTypes"`
	// The Amazon EC2 key pair of the infrastructure configuration.
	KeyPair *string `json:"keyPair" yaml:"keyPair"`
	// The logging configuration defines where Image Builder uploads your logs.
	Logging interface{} `json:"logging" yaml:"logging"`
	// The tags attached to the resource created by Image Builder.
	ResourceTags interface{} `json:"resourceTags" yaml:"resourceTags"`
	// The security group IDs of the infrastructure configuration.
	SecurityGroupIds *[]*string `json:"securityGroupIds" yaml:"securityGroupIds"`
	// The Amazon Resource Name (ARN) of the SNS topic for the infrastructure configuration.
	SnsTopicArn *string `json:"snsTopicArn" yaml:"snsTopicArn"`
	// The subnet ID of the infrastructure configuration.
	SubnetId *string `json:"subnetId" yaml:"subnetId"`
	// The tags of the infrastructure configuration.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
	// The terminate instance on failure configuration of the infrastructure configuration.
	TerminateInstanceOnFailure interface{} `json:"terminateInstanceOnFailure" yaml:"terminateInstanceOnFailure"`
}

Properties for defining a `CfnInfrastructureConfiguration`.

TODO: EXAMPLE

type CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty

type CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty struct {
	// Limit the number of hops that an instance metadata request can traverse to reach its destination.
	HttpPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit" yaml:"httpPutResponseHopLimit"`
	// Indicates whether a signed token header is required for instance metadata retrieval requests.
	//
	// The values affect the response as follows:
	//
	// - *required* – When you retrieve the IAM role credentials, version 2.0 credentials are returned in all cases.
	// - *optional* – You can include a signed token header in your request to retrieve instance metadata, or you can leave it out. If you include it, version 2.0 credentials are returned for the IAM role. Otherwise, version 1.0 credentials are returned.
	//
	// The default setting is *optional* .
	HttpTokens *string `json:"httpTokens" yaml:"httpTokens"`
}

The instance metadata options that apply to the HTTP requests that pipeline builds use to launch EC2 build and test instances.

For more information about instance metadata options, see [Configure the instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) in the **Amazon EC2 User Guide** for Linux instances, or [Configure the instance metadata options](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html) in the **Amazon EC2 Windows Guide** for Windows instances.

TODO: EXAMPLE

type CfnInfrastructureConfiguration_LoggingProperty

type CfnInfrastructureConfiguration_LoggingProperty struct {
	// The Amazon S3 logging configuration.
	S3Logs interface{} `json:"s3Logs" yaml:"s3Logs"`
}

Logging configuration defines where Image Builder uploads your logs.

TODO: EXAMPLE

type CfnInfrastructureConfiguration_S3LogsProperty

type CfnInfrastructureConfiguration_S3LogsProperty struct {
	// The S3 bucket in which to store the logs.
	S3BucketName *string `json:"s3BucketName" yaml:"s3BucketName"`
	// The Amazon S3 path to the bucket where the logs are stored.
	S3KeyPrefix *string `json:"s3KeyPrefix" yaml:"s3KeyPrefix"`
}

Amazon S3 logging configuration.

TODO: EXAMPLE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL