Documentation
¶
Index ¶
- func CfnComponent_CFN_RESOURCE_TYPE_NAME() *string
- func CfnComponent_IsCfnElement(x interface{}) *bool
- func CfnComponent_IsCfnResource(x interface{}) *bool
- func CfnComponent_IsConstruct(x interface{}) *bool
- func CfnContainerRecipe_CFN_RESOURCE_TYPE_NAME() *string
- func CfnContainerRecipe_IsCfnElement(x interface{}) *bool
- func CfnContainerRecipe_IsCfnResource(x interface{}) *bool
- func CfnContainerRecipe_IsConstruct(x interface{}) *bool
- func CfnDistributionConfiguration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDistributionConfiguration_IsCfnElement(x interface{}) *bool
- func CfnDistributionConfiguration_IsCfnResource(x interface{}) *bool
- func CfnDistributionConfiguration_IsConstruct(x interface{}) *bool
- func CfnImagePipeline_CFN_RESOURCE_TYPE_NAME() *string
- func CfnImagePipeline_IsCfnElement(x interface{}) *bool
- func CfnImagePipeline_IsCfnResource(x interface{}) *bool
- func CfnImagePipeline_IsConstruct(x interface{}) *bool
- func CfnImageRecipe_CFN_RESOURCE_TYPE_NAME() *string
- func CfnImageRecipe_IsCfnElement(x interface{}) *bool
- func CfnImageRecipe_IsCfnResource(x interface{}) *bool
- func CfnImageRecipe_IsConstruct(x interface{}) *bool
- func CfnImage_CFN_RESOURCE_TYPE_NAME() *string
- func CfnImage_IsCfnElement(x interface{}) *bool
- func CfnImage_IsCfnResource(x interface{}) *bool
- func CfnImage_IsConstruct(x interface{}) *bool
- func CfnInfrastructureConfiguration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnInfrastructureConfiguration_IsCfnElement(x interface{}) *bool
- func CfnInfrastructureConfiguration_IsCfnResource(x interface{}) *bool
- func CfnInfrastructureConfiguration_IsConstruct(x interface{}) *bool
- func CfnLifecyclePolicy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLifecyclePolicy_IsCfnElement(x interface{}) *bool
- func CfnLifecyclePolicy_IsCfnResource(x interface{}) *bool
- func CfnLifecyclePolicy_IsConstruct(x interface{}) *bool
- func CfnWorkflow_CFN_RESOURCE_TYPE_NAME() *string
- func CfnWorkflow_IsCfnElement(x interface{}) *bool
- func CfnWorkflow_IsCfnResource(x interface{}) *bool
- func CfnWorkflow_IsConstruct(x interface{}) *bool
- func NewCfnComponent_Override(c CfnComponent, scope constructs.Construct, id *string, ...)
- func NewCfnContainerRecipe_Override(c CfnContainerRecipe, scope constructs.Construct, id *string, ...)
- func NewCfnDistributionConfiguration_Override(c CfnDistributionConfiguration, scope constructs.Construct, id *string, ...)
- func NewCfnImagePipeline_Override(c CfnImagePipeline, scope constructs.Construct, id *string, ...)
- func NewCfnImageRecipe_Override(c CfnImageRecipe, scope constructs.Construct, id *string, ...)
- func NewCfnImage_Override(c CfnImage, scope constructs.Construct, id *string, props *CfnImageProps)
- func NewCfnInfrastructureConfiguration_Override(c CfnInfrastructureConfiguration, scope constructs.Construct, id *string, ...)
- func NewCfnLifecyclePolicy_Override(c CfnLifecyclePolicy, scope constructs.Construct, id *string, ...)
- func NewCfnWorkflow_Override(c CfnWorkflow, scope constructs.Construct, id *string, props *CfnWorkflowProps)
- type CfnComponent
- type CfnComponentProps
- type CfnComponent_LatestVersionProperty
- type CfnContainerRecipe
- type CfnContainerRecipeProps
- type CfnContainerRecipe_ComponentConfigurationProperty
- type CfnContainerRecipe_ComponentParameterProperty
- type CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty
- type CfnContainerRecipe_InstanceBlockDeviceMappingProperty
- type CfnContainerRecipe_InstanceConfigurationProperty
- type CfnContainerRecipe_TargetContainerRepositoryProperty
- type CfnDistributionConfiguration
- type CfnDistributionConfigurationProps
- type CfnDistributionConfiguration_AmiDistributionConfigurationProperty
- type CfnDistributionConfiguration_ContainerDistributionConfigurationProperty
- type CfnDistributionConfiguration_DistributionProperty
- type CfnDistributionConfiguration_FastLaunchConfigurationProperty
- type CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationProperty
- type CfnDistributionConfiguration_FastLaunchSnapshotConfigurationProperty
- type CfnDistributionConfiguration_LaunchPermissionConfigurationProperty
- type CfnDistributionConfiguration_LaunchTemplateConfigurationProperty
- type CfnDistributionConfiguration_SsmParameterConfigurationProperty
- type CfnDistributionConfiguration_TargetContainerRepositoryProperty
- type CfnImage
- type CfnImagePipeline
- type CfnImagePipelineProps
- type CfnImagePipeline_AutoDisablePolicyProperty
- type CfnImagePipeline_EcrConfigurationProperty
- type CfnImagePipeline_ImageScanningConfigurationProperty
- type CfnImagePipeline_ImageTestsConfigurationProperty
- type CfnImagePipeline_PipelineLoggingConfigurationProperty
- type CfnImagePipeline_ScheduleProperty
- type CfnImagePipeline_WorkflowConfigurationProperty
- type CfnImagePipeline_WorkflowParameterProperty
- type CfnImageProps
- type CfnImageRecipe
- type CfnImageRecipeProps
- type CfnImageRecipe_AdditionalInstanceConfigurationProperty
- type CfnImageRecipe_ComponentConfigurationProperty
- type CfnImageRecipe_ComponentParameterProperty
- type CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty
- type CfnImageRecipe_InstanceBlockDeviceMappingProperty
- type CfnImageRecipe_SystemsManagerAgentProperty
- type CfnImage_DeletionSettingsProperty
- type CfnImage_EcrConfigurationProperty
- type CfnImage_ImageLoggingConfigurationProperty
- type CfnImage_ImagePipelineExecutionSettingsProperty
- type CfnImage_ImageScanningConfigurationProperty
- type CfnImage_ImageTestsConfigurationProperty
- type CfnImage_LatestVersionProperty
- type CfnImage_WorkflowConfigurationProperty
- type CfnImage_WorkflowParameterProperty
- type CfnInfrastructureConfiguration
- type CfnInfrastructureConfigurationProps
- type CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty
- type CfnInfrastructureConfiguration_LoggingProperty
- type CfnInfrastructureConfiguration_PlacementProperty
- type CfnInfrastructureConfiguration_S3LogsProperty
- type CfnLifecyclePolicy
- type CfnLifecyclePolicyProps
- type CfnLifecyclePolicy_ActionProperty
- type CfnLifecyclePolicy_AmiExclusionRulesProperty
- type CfnLifecyclePolicy_ExclusionRulesProperty
- type CfnLifecyclePolicy_FilterProperty
- type CfnLifecyclePolicy_IncludeResourcesProperty
- type CfnLifecyclePolicy_LastLaunchedProperty
- type CfnLifecyclePolicy_PolicyDetailProperty
- type CfnLifecyclePolicy_RecipeSelectionProperty
- type CfnLifecyclePolicy_ResourceSelectionProperty
- type CfnWorkflow
- type CfnWorkflowProps
- type CfnWorkflow_LatestVersionProperty
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.
func CfnComponent_IsCfnResource ¶
func CfnComponent_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnComponent_IsConstruct ¶
func CfnComponent_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnContainerRecipe_IsCfnResource ¶
func CfnContainerRecipe_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnContainerRecipe_IsConstruct ¶
func CfnContainerRecipe_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnDistributionConfiguration_IsCfnResource ¶
func CfnDistributionConfiguration_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDistributionConfiguration_IsConstruct ¶
func CfnDistributionConfiguration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnImagePipeline_IsCfnResource ¶
func CfnImagePipeline_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnImagePipeline_IsConstruct ¶
func CfnImagePipeline_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnImageRecipe_IsCfnResource ¶
func CfnImageRecipe_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnImageRecipe_IsConstruct ¶
func CfnImageRecipe_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnImage_IsCfnResource ¶
func CfnImage_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnImage_IsConstruct ¶
func CfnImage_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
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.
func CfnInfrastructureConfiguration_IsCfnResource ¶
func CfnInfrastructureConfiguration_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnInfrastructureConfiguration_IsConstruct ¶
func CfnInfrastructureConfiguration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnLifecyclePolicy_CFN_RESOURCE_TYPE_NAME ¶ added in v2.110.0
func CfnLifecyclePolicy_CFN_RESOURCE_TYPE_NAME() *string
func CfnLifecyclePolicy_IsCfnElement ¶ added in v2.110.0
func CfnLifecyclePolicy_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.
func CfnLifecyclePolicy_IsCfnResource ¶ added in v2.110.0
func CfnLifecyclePolicy_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnLifecyclePolicy_IsConstruct ¶ added in v2.110.0
func CfnLifecyclePolicy_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnWorkflow_CFN_RESOURCE_TYPE_NAME ¶ added in v2.116.0
func CfnWorkflow_CFN_RESOURCE_TYPE_NAME() *string
func CfnWorkflow_IsCfnElement ¶ added in v2.116.0
func CfnWorkflow_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.
func CfnWorkflow_IsCfnResource ¶ added in v2.116.0
func CfnWorkflow_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnWorkflow_IsConstruct ¶ added in v2.116.0
func CfnWorkflow_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnComponent_Override ¶
func NewCfnComponent_Override(c CfnComponent, scope constructs.Construct, id *string, props *CfnComponentProps)
Create a new `AWS::ImageBuilder::Component`.
func NewCfnContainerRecipe_Override ¶
func NewCfnContainerRecipe_Override(c CfnContainerRecipe, scope constructs.Construct, id *string, props *CfnContainerRecipeProps)
Create a new `AWS::ImageBuilder::ContainerRecipe`.
func NewCfnDistributionConfiguration_Override ¶
func NewCfnDistributionConfiguration_Override(c CfnDistributionConfiguration, scope constructs.Construct, id *string, props *CfnDistributionConfigurationProps)
Create a new `AWS::ImageBuilder::DistributionConfiguration`.
func NewCfnImagePipeline_Override ¶
func NewCfnImagePipeline_Override(c CfnImagePipeline, scope constructs.Construct, id *string, props *CfnImagePipelineProps)
Create a new `AWS::ImageBuilder::ImagePipeline`.
func NewCfnImageRecipe_Override ¶
func NewCfnImageRecipe_Override(c CfnImageRecipe, scope constructs.Construct, id *string, props *CfnImageRecipeProps)
Create a new `AWS::ImageBuilder::ImageRecipe`.
func NewCfnImage_Override ¶
func NewCfnImage_Override(c CfnImage, scope constructs.Construct, id *string, props *CfnImageProps)
Create a new `AWS::ImageBuilder::Image`.
func NewCfnInfrastructureConfiguration_Override ¶
func NewCfnInfrastructureConfiguration_Override(c CfnInfrastructureConfiguration, scope constructs.Construct, id *string, props *CfnInfrastructureConfigurationProps)
Create a new `AWS::ImageBuilder::InfrastructureConfiguration`.
func NewCfnLifecyclePolicy_Override ¶ added in v2.110.0
func NewCfnLifecyclePolicy_Override(c CfnLifecyclePolicy, scope constructs.Construct, id *string, props *CfnLifecyclePolicyProps)
Create a new `AWS::ImageBuilder::LifecyclePolicy`.
func NewCfnWorkflow_Override ¶ added in v2.116.0
func NewCfnWorkflow_Override(c CfnWorkflow, scope constructs.Construct, id *string, props *CfnWorkflowProps)
Create a new `AWS::ImageBuilder::Workflow`.
Types ¶
type CfnComponent ¶
type CfnComponent interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IComponentRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of the component.
//
// The following pattern is applied: `^arn:aws[^:]*:imagebuilder:[^:]+:(?:\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\d+)\.(?:x|\d+)\.(?:x|\d+))(?:/\d+)?)?$` .
AttrArn() *string
// Returns the encryption status of the component.
//
// For example `true` or `false` .
AttrEncrypted() awscdk.IResolvable
// The latest version references of the component.
AttrLatestVersion() awscdk.IResolvable
// The Amazon Resource Name (ARN) of the component.
AttrLatestVersionArn() *string
// The latest version ARN of the created component, with the same major version.
AttrLatestVersionMajor() *string
// The latest version ARN of the created component, with the same minor version.
AttrLatestVersionMinor() *string
// The latest version ARN of the created component, with the same patch version.
AttrLatestVersionPatch() *string
// Returns the name of the component.
AttrName() *string
// Image Builder determines the component type based on the phases that are defined in the component document.
//
// If there is only one phase, and its name is "test", then the type is `TEST` . For all other components, the type is `BUILD` .
AttrType() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The change description of the component.
ChangeDescription() *string
SetChangeDescription(val *string)
// A reference to a Component resource.
ComponentRef() *interfacesawsimagebuilder.ComponentReference
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// Component `data` contains inline YAML document content for the component.
Data() *string
SetData(val *string)
// Describes the contents of the component.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component.
KmsKeyId() *string
SetKmsKeyId(val *string)
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the component.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// The operating system platform of the component.
Platform() *string
SetPlatform(val *string)
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// The operating system (OS) version supported by the component.
SupportedOsVersions() *[]*string
SetSupportedOsVersions(val *[]*string)
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The tags that apply to the component.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// The `uri` of a YAML component document file.
Uri() *string
SetUri(val *string)
// The component version.
Version() *string
SetVersion(val *string)
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Creates a new component that can be used to build, validate, test, and assess your image.
The component is based on a YAML document that you specify using exactly one of the following methods:
- Inline, using the `data` property in the request body. - A URL that points to a YAML document file stored in Amazon S3, using the `uri` property in the request body.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnComponent := awscdk.Aws_imagebuilder.NewCfnComponent(this, jsii.String("MyCfnComponent"), &CfnComponentProps{
Name: jsii.String("name"),
Platform: jsii.String("platform"),
Version: jsii.String("version"),
// the properties below are optional
ChangeDescription: jsii.String("changeDescription"),
Data: jsii.String("data"),
Description: jsii.String("description"),
KmsKeyId: jsii.String("kmsKeyId"),
SupportedOsVersions: []*string{
jsii.String("supportedOsVersions"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Uri: jsii.String("uri"),
})
func NewCfnComponent ¶
func NewCfnComponent(scope constructs.Construct, id *string, props *CfnComponentProps) CfnComponent
Create a new `AWS::ImageBuilder::Component`.
type CfnComponentProps ¶
type CfnComponentProps struct {
// The name of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The operating system platform of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-platform
//
Platform *string `field:"required" json:"platform" yaml:"platform"`
// The component version.
//
// For example, `1.0.0` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-version
//
Version *string `field:"required" json:"version" yaml:"version"`
// The change description of the component.
//
// Describes what change has been made in this version, or what makes this version different from other versions of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-changedescription
//
ChangeDescription *string `field:"optional" json:"changeDescription" yaml:"changeDescription"`
// Component `data` contains inline YAML document content for the component.
//
// Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-data
//
Data *string `field:"optional" json:"data" yaml:"data"`
// Describes the contents of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-kmskeyid
//
KmsKeyId *string `field:"optional" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-supportedosversions
//
SupportedOsVersions *[]*string `field:"optional" json:"supportedOsVersions" yaml:"supportedOsVersions"`
// The tags that apply to the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The `uri` of a YAML component document file.
//
// This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.
//
// Alternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html#cfn-imagebuilder-component-uri
//
Uri *string `field:"optional" json:"uri" yaml:"uri"`
}
Properties for defining a `CfnComponent`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnComponentProps := &CfnComponentProps{
Name: jsii.String("name"),
Platform: jsii.String("platform"),
Version: jsii.String("version"),
// the properties below are optional
ChangeDescription: jsii.String("changeDescription"),
Data: jsii.String("data"),
Description: jsii.String("description"),
KmsKeyId: jsii.String("kmsKeyId"),
SupportedOsVersions: []*string{
jsii.String("supportedOsVersions"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Uri: jsii.String("uri"),
}
type CfnComponent_LatestVersionProperty ¶ added in v2.221.0
type CfnComponent_LatestVersionProperty struct {
// The Amazon Resource Name (ARN) of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-component-latestversion.html#cfn-imagebuilder-component-latestversion-arn
//
Arn *string `field:"optional" json:"arn" yaml:"arn"`
// The latest version ARN of the created component, with the same major version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-component-latestversion.html#cfn-imagebuilder-component-latestversion-major
//
Major *string `field:"optional" json:"major" yaml:"major"`
// The latest version ARN of the created component, with the same minor version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-component-latestversion.html#cfn-imagebuilder-component-latestversion-minor
//
Minor *string `field:"optional" json:"minor" yaml:"minor"`
// The latest version ARN of the created component, with the same patch version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-component-latestversion.html#cfn-imagebuilder-component-latestversion-patch
//
Patch *string `field:"optional" json:"patch" yaml:"patch"`
}
The latest version references of the component.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
latestVersionProperty := &LatestVersionProperty{
Arn: jsii.String("arn"),
Major: jsii.String("major"),
Minor: jsii.String("minor"),
Patch: jsii.String("patch"),
}
type CfnContainerRecipe ¶
type CfnContainerRecipe interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IContainerRecipeRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of the container recipe.
//
// For example, `arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/mybasicrecipe/2020.12.17` .
AttrArn() *string
// Returns the name of the container recipe.
AttrName() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Build and test components that are included in the container recipe.
Components() interface{}
SetComponents(val interface{})
// A reference to a ContainerRecipe resource.
ContainerRecipeRef() *interfacesawsimagebuilder.ContainerRecipeReference
// Specifies the type of container, such as Docker.
ContainerType() *string
SetContainerType(val *string)
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description of the container recipe.
Description() *string
SetDescription(val *string)
// 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.
DockerfileTemplateData() *string
SetDockerfileTemplateData(val *string)
// The S3 URI for the Dockerfile that will be used to build your container image.
DockerfileTemplateUri() *string
SetDockerfileTemplateUri(val *string)
Env() *interfaces.ResourceEnvironment
// Specifies the operating system version for the base image.
ImageOsVersionOverride() *string
SetImageOsVersionOverride(val *string)
// A group of options that can be used to configure an instance for building and testing container images.
InstanceConfiguration() interface{}
SetInstanceConfiguration(val interface{})
// The Amazon Resource Name (ARN) that uniquely identifies which KMS key is used to encrypt the container image for distribution to the target Region.
KmsKeyId() *string
SetKmsKeyId(val *string)
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the container recipe.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// The base image for customizations specified in the container recipe.
ParentImage() *string
SetParentImage(val *string)
// Specifies the operating system platform when you use a custom base image.
PlatformOverride() *string
SetPlatformOverride(val *string)
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// Tags that are attached to the container recipe.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// The destination repository for the container image.
TargetRepository() interface{}
SetTargetRepository(val interface{})
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// The semantic version of the container recipe.
Version() *string
SetVersion(val *string)
// The working directory for use during build and test workflows.
WorkingDirectory() *string
SetWorkingDirectory(val *string)
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Creates a new container recipe.
Container recipes define how images are configured, tested, and assessed.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnContainerRecipe := awscdk.Aws_imagebuilder.NewCfnContainerRecipe(this, jsii.String("MyCfnContainerRecipe"), &CfnContainerRecipeProps{
ContainerType: jsii.String("containerType"),
Name: jsii.String("name"),
ParentImage: jsii.String("parentImage"),
TargetRepository: &TargetContainerRepositoryProperty{
RepositoryName: jsii.String("repositoryName"),
Service: jsii.String("service"),
},
Version: jsii.String("version"),
// the properties below are optional
Components: []interface{}{
&ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
},
},
Description: jsii.String("description"),
DockerfileTemplateData: jsii.String("dockerfileTemplateData"),
DockerfileTemplateUri: jsii.String("dockerfileTemplateUri"),
ImageOsVersionOverride: jsii.String("imageOsVersionOverride"),
InstanceConfiguration: &InstanceConfigurationProperty{
BlockDeviceMappings: []interface{}{
&InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
},
},
Image: jsii.String("image"),
},
KmsKeyId: jsii.String("kmsKeyId"),
PlatformOverride: jsii.String("platformOverride"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
WorkingDirectory: jsii.String("workingDirectory"),
})
func NewCfnContainerRecipe ¶
func NewCfnContainerRecipe(scope constructs.Construct, id *string, props *CfnContainerRecipeProps) CfnContainerRecipe
Create a new `AWS::ImageBuilder::ContainerRecipe`.
type CfnContainerRecipeProps ¶
type CfnContainerRecipeProps struct {
// Specifies the type of container, such as Docker.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-containertype
//
ContainerType *string `field:"required" json:"containerType" yaml:"containerType"`
// The name of the container recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The base image for customizations specified in the container recipe.
//
// This can contain an Image Builder image resource ARN or a container image URI, for example `amazonlinux:latest` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-parentimage
//
ParentImage *string `field:"required" json:"parentImage" yaml:"parentImage"`
// The destination repository for the container image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-targetrepository
//
TargetRepository interface{} `field:"required" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-version
//
Version *string `field:"required" json:"version" yaml:"version"`
// Build and test components that are included in the container recipe.
//
// Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-components
//
Components interface{} `field:"optional" json:"components" yaml:"components"`
// The description of the container recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-description
//
Description *string `field:"optional" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplatedata
//
DockerfileTemplateData *string `field:"optional" json:"dockerfileTemplateData" yaml:"dockerfileTemplateData"`
// The S3 URI for the Dockerfile that will be used to build your container image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-dockerfiletemplateuri
//
DockerfileTemplateUri *string `field:"optional" json:"dockerfileTemplateUri" yaml:"dockerfileTemplateUri"`
// Specifies the operating system version for the base image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-imageosversionoverride
//
ImageOsVersionOverride *string `field:"optional" json:"imageOsVersionOverride" yaml:"imageOsVersionOverride"`
// A group of options that can be used to configure an instance for building and testing container images.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-instanceconfiguration
//
InstanceConfiguration interface{} `field:"optional" json:"instanceConfiguration" yaml:"instanceConfiguration"`
// The Amazon Resource Name (ARN) that uniquely identifies which KMS key is used to encrypt the container image for distribution to the target Region.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-kmskeyid
//
KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
// Specifies the operating system platform when you use a custom base image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-platformoverride
//
PlatformOverride *string `field:"optional" json:"platformOverride" yaml:"platformOverride"`
// Tags that are attached to the container recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The working directory for use during build and test workflows.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html#cfn-imagebuilder-containerrecipe-workingdirectory
//
WorkingDirectory *string `field:"optional" json:"workingDirectory" yaml:"workingDirectory"`
}
Properties for defining a `CfnContainerRecipe`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnContainerRecipeProps := &CfnContainerRecipeProps{
ContainerType: jsii.String("containerType"),
Name: jsii.String("name"),
ParentImage: jsii.String("parentImage"),
TargetRepository: &TargetContainerRepositoryProperty{
RepositoryName: jsii.String("repositoryName"),
Service: jsii.String("service"),
},
Version: jsii.String("version"),
// the properties below are optional
Components: []interface{}{
&ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
},
},
Description: jsii.String("description"),
DockerfileTemplateData: jsii.String("dockerfileTemplateData"),
DockerfileTemplateUri: jsii.String("dockerfileTemplateUri"),
ImageOsVersionOverride: jsii.String("imageOsVersionOverride"),
InstanceConfiguration: &InstanceConfigurationProperty{
BlockDeviceMappings: []interface{}{
&InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
},
},
Image: jsii.String("image"),
},
KmsKeyId: jsii.String("kmsKeyId"),
PlatformOverride: jsii.String("platformOverride"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
WorkingDirectory: jsii.String("workingDirectory"),
}
type CfnContainerRecipe_ComponentConfigurationProperty ¶
type CfnContainerRecipe_ComponentConfigurationProperty struct {
// The Amazon Resource Name (ARN) of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html#cfn-imagebuilder-containerrecipe-componentconfiguration-componentarn
//
ComponentArn *string `field:"optional" json:"componentArn" yaml:"componentArn"`
// A group of parameter settings that Image Builder uses to configure the component for a specific recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentconfiguration.html#cfn-imagebuilder-containerrecipe-componentconfiguration-parameters
//
Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
}
Configuration details of the component.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
componentConfigurationProperty := &ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
}
type CfnContainerRecipe_ComponentParameterProperty ¶ added in v2.45.0
type CfnContainerRecipe_ComponentParameterProperty struct {
// The name of the component parameter to set.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentparameter.html#cfn-imagebuilder-containerrecipe-componentparameter-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// Sets the value for the named component parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-componentparameter.html#cfn-imagebuilder-containerrecipe-componentparameter-value
//
Value *[]*string `field:"required" json:"value" yaml:"value"`
}
Contains a key/value pair that sets the named component parameter.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
componentParameterProperty := &ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
}
type CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty ¶
type CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty struct {
// Use to configure delete on termination of the associated device.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-deleteontermination
//
DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"`
// Use to configure device encryption.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-encrypted
//
Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"`
// Use to configure device IOPS.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-iops
//
Iops *float64 `field:"optional" json:"iops" yaml:"iops"`
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key to use when encrypting the device.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-kmskeyid
//
KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
// The snapshot that defines the device contents.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-snapshotid
//
SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"`
// *For GP3 volumes only* – The throughput in MiB/s that the volume supports.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-throughput
//
Throughput *float64 `field:"optional" json:"throughput" yaml:"throughput"`
// Use to override the device's volume size.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-volumesize
//
VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"`
// Use to override the device's volume type.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-containerrecipe-ebsinstanceblockdevicespecification-volumetype
//
VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"`
}
Amazon EBS-specific block device mapping specifications.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ebsInstanceBlockDeviceSpecificationProperty := &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
}
type CfnContainerRecipe_InstanceBlockDeviceMappingProperty ¶
type CfnContainerRecipe_InstanceBlockDeviceMappingProperty struct {
// The device to which these mappings apply.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-devicename
//
DeviceName *string `field:"optional" json:"deviceName" yaml:"deviceName"`
// Use to manage Amazon EBS-specific configuration for this mapping.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-ebs
//
Ebs interface{} `field:"optional" json:"ebs" yaml:"ebs"`
// Use to remove a mapping from the base image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-nodevice
//
NoDevice *string `field:"optional" json:"noDevice" yaml:"noDevice"`
// Use to manage instance ephemeral devices.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceblockdevicemapping.html#cfn-imagebuilder-containerrecipe-instanceblockdevicemapping-virtualname
//
VirtualName *string `field:"optional" json:"virtualName" yaml:"virtualName"`
}
Defines block device mappings for the instance used to configure your image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
instanceBlockDeviceMappingProperty := &InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
}
type CfnContainerRecipe_InstanceConfigurationProperty ¶
type CfnContainerRecipe_InstanceConfigurationProperty struct {
// Defines the block devices to attach for building an instance from this Image Builder AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceconfiguration.html#cfn-imagebuilder-containerrecipe-instanceconfiguration-blockdevicemappings
//
BlockDeviceMappings interface{} `field:"optional" json:"blockDeviceMappings" yaml:"blockDeviceMappings"`
// The base image for a container build and test instance.
//
// This can contain an AMI ID or it can specify an AWS Systems Manager (SSM) Parameter Store Parameter, prefixed by `ssm:` , followed by the parameter name or ARN.
//
// If not specified, Image Builder uses the appropriate ECS-optimized AMI as a base image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-instanceconfiguration.html#cfn-imagebuilder-containerrecipe-instanceconfiguration-image
//
Image *string `field:"optional" json:"image" yaml:"image"`
}
Defines a custom base AMI and block device mapping configurations of an instance used for building and testing container images.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
instanceConfigurationProperty := &InstanceConfigurationProperty{
BlockDeviceMappings: []interface{}{
&InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
},
},
Image: jsii.String("image"),
}
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. For example, `<repository location url>/repository_name` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-repositoryname
//
RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
// Specifies the service in which this image was registered.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-containerrecipe-targetcontainerrepository.html#cfn-imagebuilder-containerrecipe-targetcontainerrepository-service
//
Service *string `field:"optional" json:"service" yaml:"service"`
}
The container repository where the output container image is stored.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
targetContainerRepositoryProperty := &TargetContainerRepositoryProperty{
RepositoryName: jsii.String("repositoryName"),
Service: jsii.String("service"),
}
type CfnDistributionConfiguration ¶
type CfnDistributionConfiguration interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IDistributionConfigurationRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of this distribution configuration.
//
// The following pattern is applied: `^arn:aws[^:]*:imagebuilder:[^:]+:(?:\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\d+)\.(?:x|\d+)\.(?:x|\d+))(?:/\d+)?)?$` .
AttrArn() *string
// Returns the name of the distribution configuration.
AttrName() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description of this distribution configuration.
Description() *string
SetDescription(val *string)
// A reference to a DistributionConfiguration resource.
DistributionConfigurationRef() *interfacesawsimagebuilder.DistributionConfigurationReference
// The distributions of this distribution configuration formatted as an array of Distribution objects.
Distributions() interface{}
SetDistributions(val interface{})
Env() *interfaces.ResourceEnvironment
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of this distribution configuration.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The tags of this distribution configuration.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
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 .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var amiDistributionConfiguration interface{}
var containerDistributionConfiguration interface{}
cfnDistributionConfiguration := awscdk.Aws_imagebuilder.NewCfnDistributionConfiguration(this, jsii.String("MyCfnDistributionConfiguration"), &CfnDistributionConfigurationProps{
Distributions: []interface{}{
&DistributionProperty{
Region: jsii.String("region"),
// the properties below are optional
AmiDistributionConfiguration: amiDistributionConfiguration,
ContainerDistributionConfiguration: containerDistributionConfiguration,
FastLaunchConfigurations: []interface{}{
&FastLaunchConfigurationProperty{
AccountId: jsii.String("accountId"),
Enabled: jsii.Boolean(false),
LaunchTemplate: &FastLaunchLaunchTemplateSpecificationProperty{
LaunchTemplateId: jsii.String("launchTemplateId"),
LaunchTemplateName: jsii.String("launchTemplateName"),
LaunchTemplateVersion: jsii.String("launchTemplateVersion"),
},
MaxParallelLaunches: jsii.Number(123),
SnapshotConfiguration: &FastLaunchSnapshotConfigurationProperty{
TargetResourceCount: jsii.Number(123),
},
},
},
LaunchTemplateConfigurations: []interface{}{
&LaunchTemplateConfigurationProperty{
AccountId: jsii.String("accountId"),
LaunchTemplateId: jsii.String("launchTemplateId"),
SetDefaultVersion: jsii.Boolean(false),
},
},
LicenseConfigurationArns: []*string{
jsii.String("licenseConfigurationArns"),
},
SsmParameterConfigurations: []interface{}{
&SsmParameterConfigurationProperty{
ParameterName: jsii.String("parameterName"),
// the properties below are optional
AmiAccountId: jsii.String("amiAccountId"),
DataType: jsii.String("dataType"),
},
},
},
},
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
})
func NewCfnDistributionConfiguration ¶
func NewCfnDistributionConfiguration(scope constructs.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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-distributions
//
Distributions interface{} `field:"required" json:"distributions" yaml:"distributions"`
// The name of this distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The description of this distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The tags of this distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnDistributionConfiguration`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var amiDistributionConfiguration interface{}
var containerDistributionConfiguration interface{}
cfnDistributionConfigurationProps := &CfnDistributionConfigurationProps{
Distributions: []interface{}{
&DistributionProperty{
Region: jsii.String("region"),
// the properties below are optional
AmiDistributionConfiguration: amiDistributionConfiguration,
ContainerDistributionConfiguration: containerDistributionConfiguration,
FastLaunchConfigurations: []interface{}{
&FastLaunchConfigurationProperty{
AccountId: jsii.String("accountId"),
Enabled: jsii.Boolean(false),
LaunchTemplate: &FastLaunchLaunchTemplateSpecificationProperty{
LaunchTemplateId: jsii.String("launchTemplateId"),
LaunchTemplateName: jsii.String("launchTemplateName"),
LaunchTemplateVersion: jsii.String("launchTemplateVersion"),
},
MaxParallelLaunches: jsii.Number(123),
SnapshotConfiguration: &FastLaunchSnapshotConfigurationProperty{
TargetResourceCount: jsii.Number(123),
},
},
},
LaunchTemplateConfigurations: []interface{}{
&LaunchTemplateConfigurationProperty{
AccountId: jsii.String("accountId"),
LaunchTemplateId: jsii.String("launchTemplateId"),
SetDefaultVersion: jsii.Boolean(false),
},
},
LicenseConfigurationArns: []*string{
jsii.String("licenseConfigurationArns"),
},
SsmParameterConfigurations: []interface{}{
&SsmParameterConfigurationProperty{
ParameterName: jsii.String("parameterName"),
// the properties below are optional
AmiAccountId: jsii.String("amiAccountId"),
DataType: jsii.String("dataType"),
},
},
},
},
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
}
type CfnDistributionConfiguration_AmiDistributionConfigurationProperty ¶ added in v2.21.0
type CfnDistributionConfiguration_AmiDistributionConfigurationProperty struct {
// The tags to apply to AMIs distributed to this Region.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-amitags
//
AmiTags interface{} `field:"optional" json:"amiTags" yaml:"amiTags"`
// The description of the AMI distribution configuration.
//
// Minimum and maximum length are in characters.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt the distributed image.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-kmskeyid
//
KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
// Launch permissions can be used to configure which AWS account s can use the AMI to launch instances.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-launchpermissionconfiguration
//
LaunchPermissionConfiguration interface{} `field:"optional" json:"launchPermissionConfiguration" yaml:"launchPermissionConfiguration"`
// The name of the output AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// The ID of an account to which you want to distribute an image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-amidistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-amidistributionconfiguration-targetaccountids
//
TargetAccountIds *[]*string `field:"optional" json:"targetAccountIds" yaml:"targetAccountIds"`
}
Define and configure the output AMIs of the pipeline.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
amiDistributionConfigurationProperty := &AmiDistributionConfigurationProperty{
AmiTags: map[string]*string{
"amiTagsKey": jsii.String("amiTags"),
},
Description: jsii.String("description"),
KmsKeyId: jsii.String("kmsKeyId"),
LaunchPermissionConfiguration: &LaunchPermissionConfigurationProperty{
OrganizationalUnitArns: []*string{
jsii.String("organizationalUnitArns"),
},
OrganizationArns: []*string{
jsii.String("organizationArns"),
},
UserGroups: []*string{
jsii.String("userGroups"),
},
UserIds: []*string{
jsii.String("userIds"),
},
},
Name: jsii.String("name"),
TargetAccountIds: []*string{
jsii.String("targetAccountIds"),
},
}
type CfnDistributionConfiguration_ContainerDistributionConfigurationProperty ¶ added in v2.21.0
type CfnDistributionConfiguration_ContainerDistributionConfigurationProperty struct {
// Tags that are attached to the container distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-containerdistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-containerdistributionconfiguration-containertags
//
ContainerTags *[]*string `field:"optional" json:"containerTags" yaml:"containerTags"`
// The description of the container distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-containerdistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-containerdistributionconfiguration-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The destination repository for the container distribution configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-containerdistributionconfiguration.html#cfn-imagebuilder-distributionconfiguration-containerdistributionconfiguration-targetrepository
//
TargetRepository interface{} `field:"optional" json:"targetRepository" yaml:"targetRepository"`
}
Container distribution settings for encryption, licensing, and sharing in a specific Region.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
containerDistributionConfigurationProperty := &ContainerDistributionConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
Description: jsii.String("description"),
TargetRepository: &TargetContainerRepositoryProperty{
RepositoryName: jsii.String("repositoryName"),
Service: jsii.String("service"),
},
}
type CfnDistributionConfiguration_DistributionProperty ¶
type CfnDistributionConfiguration_DistributionProperty struct {
// The target Region for the Distribution Configuration.
//
// For example, `eu-west-1` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-region
//
Region *string `field:"required" json:"region" yaml:"region"`
// The specific AMI settings, such as launch permissions and AMI tags.
//
// For details, see example schema below.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-amidistributionconfiguration
//
AmiDistributionConfiguration interface{} `field:"optional" json:"amiDistributionConfiguration" yaml:"amiDistributionConfiguration"`
// Container distribution settings for encryption, licensing, and sharing in a specific Region.
//
// For details, see example schema below.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-containerdistributionconfiguration
//
ContainerDistributionConfiguration interface{} `field:"optional" json:"containerDistributionConfiguration" yaml:"containerDistributionConfiguration"`
// The Windows faster-launching configurations to use for AMI distribution.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-fastlaunchconfigurations
//
FastLaunchConfigurations interface{} `field:"optional" json:"fastLaunchConfigurations" yaml:"fastLaunchConfigurations"`
// A group of launchTemplateConfiguration settings that apply to image distribution for specified accounts.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-launchtemplateconfigurations
//
LaunchTemplateConfigurations interface{} `field:"optional" 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) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-licenseconfigurationarns
//
LicenseConfigurationArns *[]*string `field:"optional" json:"licenseConfigurationArns" yaml:"licenseConfigurationArns"`
// Contains settings to update AWS Systems Manager (SSM) Parameter Store Parameters with output AMI IDs from the build by target Region.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-distribution.html#cfn-imagebuilder-distributionconfiguration-distribution-ssmparameterconfigurations
//
SsmParameterConfigurations interface{} `field:"optional" json:"ssmParameterConfigurations" yaml:"ssmParameterConfigurations"`
}
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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var amiDistributionConfiguration interface{}
var containerDistributionConfiguration interface{}
distributionProperty := &DistributionProperty{
Region: jsii.String("region"),
// the properties below are optional
AmiDistributionConfiguration: amiDistributionConfiguration,
ContainerDistributionConfiguration: containerDistributionConfiguration,
FastLaunchConfigurations: []interface{}{
&FastLaunchConfigurationProperty{
AccountId: jsii.String("accountId"),
Enabled: jsii.Boolean(false),
LaunchTemplate: &FastLaunchLaunchTemplateSpecificationProperty{
LaunchTemplateId: jsii.String("launchTemplateId"),
LaunchTemplateName: jsii.String("launchTemplateName"),
LaunchTemplateVersion: jsii.String("launchTemplateVersion"),
},
MaxParallelLaunches: jsii.Number(123),
SnapshotConfiguration: &FastLaunchSnapshotConfigurationProperty{
TargetResourceCount: jsii.Number(123),
},
},
},
LaunchTemplateConfigurations: []interface{}{
&LaunchTemplateConfigurationProperty{
AccountId: jsii.String("accountId"),
LaunchTemplateId: jsii.String("launchTemplateId"),
SetDefaultVersion: jsii.Boolean(false),
},
},
LicenseConfigurationArns: []*string{
jsii.String("licenseConfigurationArns"),
},
SsmParameterConfigurations: []interface{}{
&SsmParameterConfigurationProperty{
ParameterName: jsii.String("parameterName"),
// the properties below are optional
AmiAccountId: jsii.String("amiAccountId"),
DataType: jsii.String("dataType"),
},
},
}
type CfnDistributionConfiguration_FastLaunchConfigurationProperty ¶ added in v2.28.0
type CfnDistributionConfiguration_FastLaunchConfigurationProperty struct {
// The owner account ID for the fast-launch enabled Windows AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchconfiguration-accountid
//
AccountId *string `field:"optional" json:"accountId" yaml:"accountId"`
// 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchconfiguration-enabled
//
Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
// The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances to create pre-provisioned snapshots.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchconfiguration-launchtemplate
//
LaunchTemplate interface{} `field:"optional" json:"launchTemplate" yaml:"launchTemplate"`
// The maximum number of parallel instances that are launched for creating resources.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchconfiguration-maxparallellaunches
//
MaxParallelLaunches *float64 `field:"optional" json:"maxParallelLaunches" yaml:"maxParallelLaunches"`
// Configuration settings for managing the number of snapshots that are created from pre-provisioned instances for the Windows AMI when faster launching is enabled.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchconfiguration-snapshotconfiguration
//
SnapshotConfiguration interface{} `field:"optional" json:"snapshotConfiguration" yaml:"snapshotConfiguration"`
}
Define and configure faster launching for output Windows AMIs.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fastLaunchConfigurationProperty := &FastLaunchConfigurationProperty{
AccountId: jsii.String("accountId"),
Enabled: jsii.Boolean(false),
LaunchTemplate: &FastLaunchLaunchTemplateSpecificationProperty{
LaunchTemplateId: jsii.String("launchTemplateId"),
LaunchTemplateName: jsii.String("launchTemplateName"),
LaunchTemplateVersion: jsii.String("launchTemplateVersion"),
},
MaxParallelLaunches: jsii.Number(123),
SnapshotConfiguration: &FastLaunchSnapshotConfigurationProperty{
TargetResourceCount: jsii.Number(123),
},
}
type CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationProperty ¶ added in v2.28.0
type CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationProperty struct {
// The ID of the launch template to use for faster launching for a Windows AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification.html#cfn-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification-launchtemplateid
//
LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"`
// The name of the launch template to use for faster launching for a Windows AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification.html#cfn-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification-launchtemplatename
//
LaunchTemplateName *string `field:"optional" json:"launchTemplateName" yaml:"launchTemplateName"`
// The version of the launch template to use for faster launching for a Windows AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification.html#cfn-imagebuilder-distributionconfiguration-fastlaunchlaunchtemplatespecification-launchtemplateversion
//
LaunchTemplateVersion *string `field:"optional" json:"launchTemplateVersion" yaml:"launchTemplateVersion"`
}
Identifies the launch template that the associated Windows AMI uses for launching an instance when faster launching is enabled.
> You can specify either the `launchTemplateName` or the `launchTemplateId` , but not both.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fastLaunchLaunchTemplateSpecificationProperty := &FastLaunchLaunchTemplateSpecificationProperty{
LaunchTemplateId: jsii.String("launchTemplateId"),
LaunchTemplateName: jsii.String("launchTemplateName"),
LaunchTemplateVersion: jsii.String("launchTemplateVersion"),
}
type CfnDistributionConfiguration_FastLaunchSnapshotConfigurationProperty ¶ added in v2.28.0
type CfnDistributionConfiguration_FastLaunchSnapshotConfigurationProperty struct {
// The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-fastlaunchsnapshotconfiguration.html#cfn-imagebuilder-distributionconfiguration-fastlaunchsnapshotconfiguration-targetresourcecount
//
TargetResourceCount *float64 `field:"optional" json:"targetResourceCount" yaml:"targetResourceCount"`
}
Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fastLaunchSnapshotConfigurationProperty := &FastLaunchSnapshotConfigurationProperty{
TargetResourceCount: jsii.Number(123),
}
type CfnDistributionConfiguration_LaunchPermissionConfigurationProperty ¶ added in v2.21.0
type CfnDistributionConfiguration_LaunchPermissionConfigurationProperty struct {
// The ARN for an AWS Organizations organizational unit (OU) that you want to share your AMI with.
//
// For more information about key concepts for AWS Organizations , see [AWS Organizations terminology and concepts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchpermissionconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchpermissionconfiguration-organizationalunitarns
//
OrganizationalUnitArns *[]*string `field:"optional" json:"organizationalUnitArns" yaml:"organizationalUnitArns"`
// The ARN for an AWS Organization that you want to share your AMI with.
//
// For more information, see [What is AWS Organizations ?](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchpermissionconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchpermissionconfiguration-organizationarns
//
OrganizationArns *[]*string `field:"optional" json:"organizationArns" yaml:"organizationArns"`
// The name of the group.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchpermissionconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchpermissionconfiguration-usergroups
//
UserGroups *[]*string `field:"optional" json:"userGroups" yaml:"userGroups"`
// The AWS account ID.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchpermissionconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchpermissionconfiguration-userids
//
UserIds *[]*string `field:"optional" json:"userIds" yaml:"userIds"`
}
Describes the configuration for a launch permission.
The launch permission modification request is sent to the [Amazon EC2 ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) API on behalf of the user for each Region they have selected to distribute the AMI. To make an AMI public, set the launch permission authorized accounts to `all` . See the examples for making an AMI public at [Amazon EC2 ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
launchPermissionConfigurationProperty := &LaunchPermissionConfigurationProperty{
OrganizationalUnitArns: []*string{
jsii.String("organizationalUnitArns"),
},
OrganizationArns: []*string{
jsii.String("organizationArns"),
},
UserGroups: []*string{
jsii.String("userGroups"),
},
UserIds: []*string{
jsii.String("userIds"),
},
}
type CfnDistributionConfiguration_LaunchTemplateConfigurationProperty ¶
type CfnDistributionConfiguration_LaunchTemplateConfigurationProperty struct {
// The account ID that this configuration applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-accountid
//
AccountId *string `field:"optional" json:"accountId" yaml:"accountId"`
// Identifies the Amazon EC2 launch template to use.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-launchtemplateid
//
LaunchTemplateId *string `field:"optional" json:"launchTemplateId" yaml:"launchTemplateId"`
// Set the specified Amazon EC2 launch template as the default launch template for the specified account.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-launchtemplateconfiguration.html#cfn-imagebuilder-distributionconfiguration-launchtemplateconfiguration-setdefaultversion
//
SetDefaultVersion interface{} `field:"optional" json:"setDefaultVersion" yaml:"setDefaultVersion"`
}
Identifies an Amazon EC2 launch template to use for a specific account.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
launchTemplateConfigurationProperty := &LaunchTemplateConfigurationProperty{
AccountId: jsii.String("accountId"),
LaunchTemplateId: jsii.String("launchTemplateId"),
SetDefaultVersion: jsii.Boolean(false),
}
type CfnDistributionConfiguration_SsmParameterConfigurationProperty ¶ added in v2.195.0
type CfnDistributionConfiguration_SsmParameterConfigurationProperty struct {
// This is the name of the Parameter in the target Region or account.
//
// The image distribution creates the Parameter if it doesn't already exist. Otherwise, it updates the parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-ssmparameterconfiguration.html#cfn-imagebuilder-distributionconfiguration-ssmparameterconfiguration-parametername
//
ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
// Specify the account that will own the Parameter in a given Region.
//
// During distribution, this account must be specified in distribution settings as a target account for the Region.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-ssmparameterconfiguration.html#cfn-imagebuilder-distributionconfiguration-ssmparameterconfiguration-amiaccountid
//
AmiAccountId *string `field:"optional" json:"amiAccountId" yaml:"amiAccountId"`
// The data type specifies what type of value the Parameter contains.
//
// We recommend that you use data type `aws:ec2:image` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-ssmparameterconfiguration.html#cfn-imagebuilder-distributionconfiguration-ssmparameterconfiguration-datatype
//
DataType *string `field:"optional" json:"dataType" yaml:"dataType"`
}
Configuration for a single Parameter in the AWS Systems Manager (SSM) Parameter Store in a given Region.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ssmParameterConfigurationProperty := &SsmParameterConfigurationProperty{
ParameterName: jsii.String("parameterName"),
// the properties below are optional
AmiAccountId: jsii.String("amiAccountId"),
DataType: jsii.String("dataType"),
}
type CfnDistributionConfiguration_TargetContainerRepositoryProperty ¶ added in v2.21.0
type CfnDistributionConfiguration_TargetContainerRepositoryProperty struct {
// The name of the container repository where the output container image is stored.
//
// This name is prefixed by the repository location. For example, `<repository location url>/repository_name` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-targetcontainerrepository.html#cfn-imagebuilder-distributionconfiguration-targetcontainerrepository-repositoryname
//
RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
// Specifies the service in which this image was registered.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-distributionconfiguration-targetcontainerrepository.html#cfn-imagebuilder-distributionconfiguration-targetcontainerrepository-service
//
Service *string `field:"optional" json:"service" yaml:"service"`
}
The container repository where the output container image is stored.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
targetContainerRepositoryProperty := &TargetContainerRepositoryProperty{
RepositoryName: jsii.String("repositoryName"),
Service: jsii.String("service"),
}
type CfnImage ¶
type CfnImage interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IImageRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of the image.
//
// For example, `arn:aws:imagebuilder:us-west-2:123456789012:image/mybasicrecipe/2019.12.03/1` .
AttrArn() *string
// Returns the AMI ID of the Amazon EC2 AMI in the Region in which you are using Image Builder.
//
// Values are returned only for AMIs, and not for container images.
AttrImageId() *string
// Returns the URI for a container image created in the context Region.
//
// Values are returned only for container images, and not for AMIs.
AttrImageUri() *string
// The latest version references of the image.
AttrLatestVersion() awscdk.IResolvable
// The Amazon Resource Name (ARN) of the image.
//
// > Semantic versioning is included in each object's Amazon Resource Name (ARN), at the level that applies to that object as follows:
// >
// > - Versionless ARNs and Name ARNs do not include specific values in any of the nodes. The nodes are either left off entirely, or they are specified as wildcards, for example: x.x.x.
// > - Version ARNs have only the first three nodes: <major>.<minor>.<patch>
// > - Build version ARNs have all four nodes, and point to a specific build for a specific version of an object.
AttrLatestVersionArn() *string
// The latest version ARN of the created image, with the same major version.
AttrLatestVersionMajor() *string
// The latest version ARN of the created image, with the same minor version.
AttrLatestVersionMinor() *string
// The latest version ARN of the created image, with the same patch version.
AttrLatestVersionPatch() *string
// Returns the name of the image.
AttrName() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
ContainerRecipeArn() *string
SetContainerRecipeArn(val *string)
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The deletion settings of the image, indicating whether to delete the underlying resources in addition to the image.
DeletionSettings() interface{}
SetDeletionSettings(val interface{})
// The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.
DistributionConfigurationArn() *string
SetDistributionConfigurationArn(val *string)
// Collects additional information about the image being created, including the operating system (OS) version and package list.
EnhancedImageMetadataEnabled() interface{}
SetEnhancedImageMetadataEnabled(val interface{})
Env() *interfaces.ResourceEnvironment
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.
ExecutionRole() *string
SetExecutionRole(val *string)
// The settings for starting an image pipeline execution.
ImagePipelineExecutionSettings() interface{}
SetImagePipelineExecutionSettings(val interface{})
// The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
ImageRecipeArn() *string
SetImageRecipeArn(val *string)
// A reference to a Image resource.
ImageRef() *interfacesawsimagebuilder.ImageReference
// Contains settings for vulnerability scans.
ImageScanningConfiguration() interface{}
SetImageScanningConfiguration(val interface{})
// The image tests configuration of the image.
ImageTestsConfiguration() interface{}
SetImageTestsConfiguration(val interface{})
// The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.
InfrastructureConfigurationArn() *string
SetInfrastructureConfigurationArn(val *string)
// The logging configuration that's defined for the image.
LoggingConfiguration() interface{}
SetLoggingConfiguration(val interface{})
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The tags of the image.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// Contains an array of workflow configuration objects.
Workflows() interface{}
SetWorkflows(val interface{})
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Creates a new image.
This request will create a new image along with all of the configured output resources defined in the distribution configuration. You must specify exactly one recipe for your image, using either a ContainerRecipeArn or an ImageRecipeArn.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImage := awscdk.Aws_imagebuilder.NewCfnImage(this, jsii.String("MyCfnImage"), &CfnImageProps{
ContainerRecipeArn: jsii.String("containerRecipeArn"),
DeletionSettings: &DeletionSettingsProperty{
ExecutionRole: jsii.String("executionRole"),
},
DistributionConfigurationArn: jsii.String("distributionConfigurationArn"),
EnhancedImageMetadataEnabled: jsii.Boolean(false),
ExecutionRole: jsii.String("executionRole"),
ImagePipelineExecutionSettings: &ImagePipelineExecutionSettingsProperty{
DeploymentId: jsii.String("deploymentId"),
OnUpdate: jsii.Boolean(false),
},
ImageRecipeArn: jsii.String("imageRecipeArn"),
ImageScanningConfiguration: &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
},
ImageTestsConfiguration: &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
},
InfrastructureConfigurationArn: jsii.String("infrastructureConfigurationArn"),
LoggingConfiguration: &ImageLoggingConfigurationProperty{
LogGroupName: jsii.String("logGroupName"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Workflows: []interface{}{
&WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
},
},
})
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html
func NewCfnImage ¶
func NewCfnImage(scope constructs.Construct, id *string, props *CfnImageProps) CfnImage
Create a new `AWS::ImageBuilder::Image`.
type CfnImagePipeline ¶
type CfnImagePipeline interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IImagePipelineRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of the image pipeline.
//
// For example, `arn:aws:imagebuilder:us-west-2:123456789012:image-pipeline/mywindows2016pipeline` .
AttrArn() *string
// The deployment ID of the pipeline, used for resource create/update triggers.
AttrDeploymentId() *string
// Returns the name of the image pipeline.
AttrName() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.
ContainerRecipeArn() *string
SetContainerRecipeArn(val *string)
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description of this image pipeline.
Description() *string
SetDescription(val *string)
// The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
DistributionConfigurationArn() *string
SetDistributionConfigurationArn(val *string)
// Collects additional information about the image being created, including the operating system (OS) version and package list.
EnhancedImageMetadataEnabled() interface{}
SetEnhancedImageMetadataEnabled(val interface{})
Env() *interfaces.ResourceEnvironment
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.
ExecutionRole() *string
SetExecutionRole(val *string)
// A reference to a ImagePipeline resource.
ImagePipelineRef() *interfacesawsimagebuilder.ImagePipelineReference
// The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.
ImageRecipeArn() *string
SetImageRecipeArn(val *string)
// Contains settings for vulnerability scans.
ImageScanningConfiguration() interface{}
SetImageScanningConfiguration(val interface{})
// The configuration of the image tests that run after image creation to ensure the quality of the image that was created.
ImageTestsConfiguration() interface{}
SetImageTestsConfiguration(val interface{})
// The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
InfrastructureConfigurationArn() *string
SetInfrastructureConfigurationArn(val *string)
// Defines logging configuration for the output image.
LoggingConfiguration() interface{}
SetLoggingConfiguration(val interface{})
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the image pipeline.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The schedule of the image pipeline.
Schedule() interface{}
SetSchedule(val interface{})
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// The status of the image pipeline.
Status() *string
SetStatus(val *string)
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The tags of this image pipeline.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// Contains the workflows that run for the image pipeline.
Workflows() interface{}
SetWorkflows(val interface{})
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
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 types, a subnet for your VPC, 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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImagePipeline := awscdk.Aws_imagebuilder.NewCfnImagePipeline(this, jsii.String("MyCfnImagePipeline"), &CfnImagePipelineProps{
InfrastructureConfigurationArn: jsii.String("infrastructureConfigurationArn"),
Name: jsii.String("name"),
// the properties below are optional
ContainerRecipeArn: jsii.String("containerRecipeArn"),
Description: jsii.String("description"),
DistributionConfigurationArn: jsii.String("distributionConfigurationArn"),
EnhancedImageMetadataEnabled: jsii.Boolean(false),
ExecutionRole: jsii.String("executionRole"),
ImageRecipeArn: jsii.String("imageRecipeArn"),
ImageScanningConfiguration: &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
},
ImageTestsConfiguration: &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
},
LoggingConfiguration: &PipelineLoggingConfigurationProperty{
ImageLogGroupName: jsii.String("imageLogGroupName"),
PipelineLogGroupName: jsii.String("pipelineLogGroupName"),
},
Schedule: &ScheduleProperty{
AutoDisablePolicy: &AutoDisablePolicyProperty{
FailureCount: jsii.Number(123),
},
PipelineExecutionStartCondition: jsii.String("pipelineExecutionStartCondition"),
ScheduleExpression: jsii.String("scheduleExpression"),
},
Status: jsii.String("status"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Workflows: []interface{}{
&WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
},
},
})
func NewCfnImagePipeline ¶
func NewCfnImagePipeline(scope constructs.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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-infrastructureconfigurationarn
//
InfrastructureConfigurationArn *string `field:"required" json:"infrastructureConfigurationArn" yaml:"infrastructureConfigurationArn"`
// The name of the image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The Amazon Resource Name (ARN) of the container recipe that is used for this pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-containerrecipearn
//
ContainerRecipeArn *string `field:"optional" json:"containerRecipeArn" yaml:"containerRecipeArn"`
// The description of this image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-distributionconfigurationarn
//
DistributionConfigurationArn *string `field:"optional" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-enhancedimagemetadataenabled
//
EnhancedImageMetadataEnabled interface{} `field:"optional" json:"enhancedImageMetadataEnabled" yaml:"enhancedImageMetadataEnabled"`
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-executionrole
//
ExecutionRole *string `field:"optional" json:"executionRole" yaml:"executionRole"`
// The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagerecipearn
//
ImageRecipeArn *string `field:"optional" json:"imageRecipeArn" yaml:"imageRecipeArn"`
// Contains settings for vulnerability scans.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagescanningconfiguration
//
ImageScanningConfiguration interface{} `field:"optional" json:"imageScanningConfiguration" yaml:"imageScanningConfiguration"`
// The configuration of the image tests that run after image creation to ensure the quality of the image that was created.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration
//
ImageTestsConfiguration interface{} `field:"optional" json:"imageTestsConfiguration" yaml:"imageTestsConfiguration"`
// Defines logging configuration for the output image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-loggingconfiguration
//
LoggingConfiguration interface{} `field:"optional" json:"loggingConfiguration" yaml:"loggingConfiguration"`
// The schedule of the image pipeline.
//
// A schedule configures how often and when a pipeline automatically creates a new image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-schedule
//
Schedule interface{} `field:"optional" json:"schedule" yaml:"schedule"`
// The status of the image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-status
//
Status *string `field:"optional" json:"status" yaml:"status"`
// The tags of this image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// Contains the workflows that run for the image pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html#cfn-imagebuilder-imagepipeline-workflows
//
Workflows interface{} `field:"optional" json:"workflows" yaml:"workflows"`
}
Properties for defining a `CfnImagePipeline`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImagePipelineProps := &CfnImagePipelineProps{
InfrastructureConfigurationArn: jsii.String("infrastructureConfigurationArn"),
Name: jsii.String("name"),
// the properties below are optional
ContainerRecipeArn: jsii.String("containerRecipeArn"),
Description: jsii.String("description"),
DistributionConfigurationArn: jsii.String("distributionConfigurationArn"),
EnhancedImageMetadataEnabled: jsii.Boolean(false),
ExecutionRole: jsii.String("executionRole"),
ImageRecipeArn: jsii.String("imageRecipeArn"),
ImageScanningConfiguration: &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
},
ImageTestsConfiguration: &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
},
LoggingConfiguration: &PipelineLoggingConfigurationProperty{
ImageLogGroupName: jsii.String("imageLogGroupName"),
PipelineLogGroupName: jsii.String("pipelineLogGroupName"),
},
Schedule: &ScheduleProperty{
AutoDisablePolicy: &AutoDisablePolicyProperty{
FailureCount: jsii.Number(123),
},
PipelineExecutionStartCondition: jsii.String("pipelineExecutionStartCondition"),
ScheduleExpression: jsii.String("scheduleExpression"),
},
Status: jsii.String("status"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Workflows: []interface{}{
&WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
},
},
}
type CfnImagePipeline_AutoDisablePolicyProperty ¶ added in v2.220.0
type CfnImagePipeline_AutoDisablePolicyProperty struct {
// The number of consecutive scheduled image pipeline executions that must fail before Image Builder automatically disables the pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-autodisablepolicy.html#cfn-imagebuilder-imagepipeline-autodisablepolicy-failurecount
//
FailureCount *float64 `field:"required" json:"failureCount" yaml:"failureCount"`
}
Defines the rules by which an image pipeline is automatically disabled when it fails.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
autoDisablePolicyProperty := &AutoDisablePolicyProperty{
FailureCount: jsii.Number(123),
}
type CfnImagePipeline_EcrConfigurationProperty ¶ added in v2.63.0
type CfnImagePipeline_EcrConfigurationProperty struct {
// Tags for Image Builder to apply to the output container image that Amazon Inspector scans.
//
// Tags can help you identify and manage your scanned images.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-ecrconfiguration.html#cfn-imagebuilder-imagepipeline-ecrconfiguration-containertags
//
ContainerTags *[]*string `field:"optional" json:"containerTags" yaml:"containerTags"`
// The name of the container repository that Amazon Inspector scans to identify findings for your container images.
//
// The name includes the path for the repository location. If you don’t provide this information, Image Builder creates a repository in your account named `image-builder-image-scanning-repository` for vulnerability scans of your output container images.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-ecrconfiguration.html#cfn-imagebuilder-imagepipeline-ecrconfiguration-repositoryname
//
RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
}
Settings that Image Builder uses to configure the ECR repository and the output container images that Amazon Inspector scans.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ecrConfigurationProperty := &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
}
type CfnImagePipeline_ImageScanningConfigurationProperty ¶ added in v2.63.0
type CfnImagePipeline_ImageScanningConfigurationProperty struct {
// Contains Amazon ECR settings for vulnerability scans.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagescanningconfiguration.html#cfn-imagebuilder-imagepipeline-imagescanningconfiguration-ecrconfiguration
//
EcrConfiguration interface{} `field:"optional" json:"ecrConfiguration" yaml:"ecrConfiguration"`
// A setting that indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagescanningconfiguration.html#cfn-imagebuilder-imagepipeline-imagescanningconfiguration-imagescanningenabled
//
ImageScanningEnabled interface{} `field:"optional" json:"imageScanningEnabled" yaml:"imageScanningEnabled"`
}
Contains settings for Image Builder image resource and container image scans.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imageScanningConfigurationProperty := &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
}
type CfnImagePipeline_ImageTestsConfigurationProperty ¶
type CfnImagePipeline_ImageTestsConfigurationProperty struct {
// Defines if tests should be executed when building this image.
//
// For example, `true` or `false` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-imagetestsenabled
//
ImageTestsEnabled interface{} `field:"optional" json:"imageTestsEnabled" yaml:"imageTestsEnabled"`
// The maximum time in minutes that tests are permitted to run.
//
// > The timeout property is not currently active. This value is ignored.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-imagetestsconfiguration.html#cfn-imagebuilder-imagepipeline-imagetestsconfiguration-timeoutminutes
//
TimeoutMinutes *float64 `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imageTestsConfigurationProperty := &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
}
type CfnImagePipeline_PipelineLoggingConfigurationProperty ¶ added in v2.220.0
type CfnImagePipeline_PipelineLoggingConfigurationProperty struct {
// The log group name that Image Builder uses for image creation.
//
// If not specified, the log group name defaults to `/aws/imagebuilder/image-name` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-pipelineloggingconfiguration.html#cfn-imagebuilder-imagepipeline-pipelineloggingconfiguration-imageloggroupname
//
ImageLogGroupName *string `field:"optional" json:"imageLogGroupName" yaml:"imageLogGroupName"`
// The log group name that Image Builder uses for the log output during creation of a new pipeline.
//
// If not specified, the pipeline log group name defaults to `/aws/imagebuilder/pipeline/pipeline-name` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-pipelineloggingconfiguration.html#cfn-imagebuilder-imagepipeline-pipelineloggingconfiguration-pipelineloggroupname
//
PipelineLogGroupName *string `field:"optional" json:"pipelineLogGroupName" yaml:"pipelineLogGroupName"`
}
The logging configuration that's defined for pipeline execution.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
pipelineLoggingConfigurationProperty := &PipelineLoggingConfigurationProperty{
ImageLogGroupName: jsii.String("imageLogGroupName"),
PipelineLogGroupName: jsii.String("pipelineLogGroupName"),
}
type CfnImagePipeline_ScheduleProperty ¶
type CfnImagePipeline_ScheduleProperty struct {
// The policy that configures when Image Builder should automatically disable a pipeline that is failing.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-autodisablepolicy
//
AutoDisablePolicy interface{} `field:"optional" json:"autoDisablePolicy" yaml:"autoDisablePolicy"`
// 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 base 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* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-pipelineexecutionstartcondition
//
PipelineExecutionStartCondition *string `field:"optional" 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) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-schedule.html#cfn-imagebuilder-imagepipeline-schedule-scheduleexpression
//
ScheduleExpression *string `field:"optional" json:"scheduleExpression" yaml:"scheduleExpression"`
}
A schedule configures when and how often a pipeline will automatically create a new image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
scheduleProperty := &ScheduleProperty{
AutoDisablePolicy: &AutoDisablePolicyProperty{
FailureCount: jsii.Number(123),
},
PipelineExecutionStartCondition: jsii.String("pipelineExecutionStartCondition"),
ScheduleExpression: jsii.String("scheduleExpression"),
}
type CfnImagePipeline_WorkflowConfigurationProperty ¶ added in v2.116.0
type CfnImagePipeline_WorkflowConfigurationProperty struct {
// The action to take if the workflow fails.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowconfiguration.html#cfn-imagebuilder-imagepipeline-workflowconfiguration-onfailure
//
OnFailure *string `field:"optional" json:"onFailure" yaml:"onFailure"`
// Test workflows are defined within named runtime groups called parallel groups.
//
// The parallel group is the named group that contains this test workflow. Test workflows within a parallel group can run at the same time. Image Builder starts up to five test workflows in the group at the same time, and starts additional workflows as others complete, until all workflows in the group have completed. This field only applies for test workflows.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowconfiguration.html#cfn-imagebuilder-imagepipeline-workflowconfiguration-parallelgroup
//
ParallelGroup *string `field:"optional" json:"parallelGroup" yaml:"parallelGroup"`
// Contains parameter values for each of the parameters that the workflow document defined for the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowconfiguration.html#cfn-imagebuilder-imagepipeline-workflowconfiguration-parameters
//
Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
// The Amazon Resource Name (ARN) of the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowconfiguration.html#cfn-imagebuilder-imagepipeline-workflowconfiguration-workflowarn
//
WorkflowArn *string `field:"optional" json:"workflowArn" yaml:"workflowArn"`
}
Contains control settings and configurable inputs for a workflow resource.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
workflowConfigurationProperty := &WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
}
type CfnImagePipeline_WorkflowParameterProperty ¶ added in v2.116.0
type CfnImagePipeline_WorkflowParameterProperty struct {
// The name of the workflow parameter to set.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowparameter.html#cfn-imagebuilder-imagepipeline-workflowparameter-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// Sets the value for the named workflow parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagepipeline-workflowparameter.html#cfn-imagebuilder-imagepipeline-workflowparameter-value
//
Value *[]*string `field:"optional" json:"value" yaml:"value"`
}
Contains a key/value pair that sets the named workflow parameter.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
workflowParameterProperty := &WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
}
type CfnImageProps ¶
type CfnImageProps struct {
// The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-containerrecipearn
//
ContainerRecipeArn *string `field:"optional" json:"containerRecipeArn" yaml:"containerRecipeArn"`
// The deletion settings of the image, indicating whether to delete the underlying resources in addition to the image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-deletionsettings
//
DeletionSettings interface{} `field:"optional" json:"deletionSettings" yaml:"deletionSettings"`
// The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-distributionconfigurationarn
//
DistributionConfigurationArn *string `field:"optional" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-enhancedimagemetadataenabled
//
EnhancedImageMetadataEnabled interface{} `field:"optional" json:"enhancedImageMetadataEnabled" yaml:"enhancedImageMetadataEnabled"`
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-executionrole
//
ExecutionRole *string `field:"optional" json:"executionRole" yaml:"executionRole"`
// The settings for starting an image pipeline execution.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagepipelineexecutionsettings
//
ImagePipelineExecutionSettings interface{} `field:"optional" json:"imagePipelineExecutionSettings" yaml:"imagePipelineExecutionSettings"`
// The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagerecipearn
//
ImageRecipeArn *string `field:"optional" json:"imageRecipeArn" yaml:"imageRecipeArn"`
// Contains settings for vulnerability scans.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagescanningconfiguration
//
ImageScanningConfiguration interface{} `field:"optional" json:"imageScanningConfiguration" yaml:"imageScanningConfiguration"`
// The image tests configuration of the image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-imagetestsconfiguration
//
ImageTestsConfiguration interface{} `field:"optional" json:"imageTestsConfiguration" yaml:"imageTestsConfiguration"`
// The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-infrastructureconfigurationarn
//
InfrastructureConfigurationArn *string `field:"optional" json:"infrastructureConfigurationArn" yaml:"infrastructureConfigurationArn"`
// The logging configuration that's defined for the image.
//
// Image Builder uses the defined settings to direct execution log output during image creation.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-loggingconfiguration
//
LoggingConfiguration interface{} `field:"optional" json:"loggingConfiguration" yaml:"loggingConfiguration"`
// The tags of the image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// Contains an array of workflow configuration objects.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html#cfn-imagebuilder-image-workflows
//
Workflows interface{} `field:"optional" json:"workflows" yaml:"workflows"`
}
Properties for defining a `CfnImage`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImageProps := &CfnImageProps{
ContainerRecipeArn: jsii.String("containerRecipeArn"),
DeletionSettings: &DeletionSettingsProperty{
ExecutionRole: jsii.String("executionRole"),
},
DistributionConfigurationArn: jsii.String("distributionConfigurationArn"),
EnhancedImageMetadataEnabled: jsii.Boolean(false),
ExecutionRole: jsii.String("executionRole"),
ImagePipelineExecutionSettings: &ImagePipelineExecutionSettingsProperty{
DeploymentId: jsii.String("deploymentId"),
OnUpdate: jsii.Boolean(false),
},
ImageRecipeArn: jsii.String("imageRecipeArn"),
ImageScanningConfiguration: &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
},
ImageTestsConfiguration: &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
},
InfrastructureConfigurationArn: jsii.String("infrastructureConfigurationArn"),
LoggingConfiguration: &ImageLoggingConfigurationProperty{
LogGroupName: jsii.String("logGroupName"),
},
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Workflows: []interface{}{
&WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
},
},
}
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html
type CfnImageRecipe ¶
type CfnImageRecipe interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IImageRecipeRef
awscdk.ITaggable
// Before you create a new AMI, Image Builder launches temporary Amazon EC2 instances to build and test your image configuration.
AdditionalInstanceConfiguration() interface{}
SetAdditionalInstanceConfiguration(val interface{})
// Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.
AmiTags() interface{}
SetAmiTags(val interface{})
// Returns the Amazon Resource Name (ARN) of the image recipe.
//
// For example, `arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/mybasicrecipe/2019.12.03` .
AttrArn() *string
// The name of the image recipe.
AttrName() *string
// The block device mappings to apply when creating images from this recipe.
BlockDeviceMappings() interface{}
SetBlockDeviceMappings(val interface{})
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// The components that are included in the image recipe.
Components() interface{}
SetComponents(val interface{})
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description of the image recipe.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// A reference to a ImageRecipe resource.
ImageRecipeRef() *interfacesawsimagebuilder.ImageRecipeReference
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the image recipe.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// The base image for customizations specified in the image recipe.
ParentImage() *string
SetParentImage(val *string)
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The tags of the image recipe.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// The version of the image recipe.
Version() *string
SetVersion(val *string)
// The working directory to be used during build and test workflows.
WorkingDirectory() *string
SetWorkingDirectory(val *string)
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Creates a new image recipe.
Image recipes define how images are configured, tested, and assessed.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImageRecipe := awscdk.Aws_imagebuilder.NewCfnImageRecipe(this, jsii.String("MyCfnImageRecipe"), &CfnImageRecipeProps{
Name: jsii.String("name"),
ParentImage: jsii.String("parentImage"),
Version: jsii.String("version"),
// the properties below are optional
AdditionalInstanceConfiguration: &AdditionalInstanceConfigurationProperty{
SystemsManagerAgent: &SystemsManagerAgentProperty{
UninstallAfterBuild: jsii.Boolean(false),
},
UserDataOverride: jsii.String("userDataOverride"),
},
AmiTags: map[string]*string{
"amiTagsKey": jsii.String("amiTags"),
},
BlockDeviceMappings: []interface{}{
&InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
},
},
Components: []interface{}{
&ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
},
},
Description: jsii.String("description"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
WorkingDirectory: jsii.String("workingDirectory"),
})
func NewCfnImageRecipe ¶
func NewCfnImageRecipe(scope constructs.Construct, id *string, props *CfnImageRecipeProps) CfnImageRecipe
Create a new `AWS::ImageBuilder::ImageRecipe`.
type CfnImageRecipeProps ¶
type CfnImageRecipeProps struct {
// The name of the image recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The base image for customizations specified in the image recipe.
//
// You can specify the parent image using one of the following options:
//
// - AMI ID
// - Image Builder image Amazon Resource Name (ARN)
// - AWS Systems Manager (SSM) Parameter Store Parameter, prefixed by `ssm:` , followed by the parameter name or ARN.
// - AWS Marketplace product ID.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-parentimage
//
ParentImage *string `field:"required" json:"parentImage" yaml:"parentImage"`
// The version of the image recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-version
//
Version *string `field:"required" 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration
//
AdditionalInstanceConfiguration interface{} `field:"optional" json:"additionalInstanceConfiguration" yaml:"additionalInstanceConfiguration"`
// Tags that are applied to the AMI that Image Builder creates during the Build phase prior to image distribution.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-amitags
//
AmiTags interface{} `field:"optional" json:"amiTags" yaml:"amiTags"`
// The block device mappings to apply when creating images from this recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-blockdevicemappings
//
BlockDeviceMappings interface{} `field:"optional" json:"blockDeviceMappings" yaml:"blockDeviceMappings"`
// The components that are included in the image recipe.
//
// Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-components
//
Components interface{} `field:"optional" json:"components" yaml:"components"`
// The description of the image recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The tags of the image recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The working directory to be used during build and test workflows.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html#cfn-imagebuilder-imagerecipe-workingdirectory
//
WorkingDirectory *string `field:"optional" json:"workingDirectory" yaml:"workingDirectory"`
}
Properties for defining a `CfnImageRecipe`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnImageRecipeProps := &CfnImageRecipeProps{
Name: jsii.String("name"),
ParentImage: jsii.String("parentImage"),
Version: jsii.String("version"),
// the properties below are optional
AdditionalInstanceConfiguration: &AdditionalInstanceConfigurationProperty{
SystemsManagerAgent: &SystemsManagerAgentProperty{
UninstallAfterBuild: jsii.Boolean(false),
},
UserDataOverride: jsii.String("userDataOverride"),
},
AmiTags: map[string]*string{
"amiTagsKey": jsii.String("amiTags"),
},
BlockDeviceMappings: []interface{}{
&InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
},
},
Components: []interface{}{
&ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
},
},
Description: jsii.String("description"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
WorkingDirectory: jsii.String("workingDirectory"),
}
type CfnImageRecipe_AdditionalInstanceConfigurationProperty ¶
type CfnImageRecipe_AdditionalInstanceConfigurationProperty struct {
// Contains settings for the Systems Manager agent on your build instance.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-additionalinstanceconfiguration.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration-systemsmanageragent
//
SystemsManagerAgent interface{} `field:"optional" 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.
//
// > The user data is always base 64 encoded. For example, the following commands are encoded as `IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$` :
// >
// > *#!/bin/bash*
// >
// > mkdir -p /var/bb/
// >
// > touch /var.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-additionalinstanceconfiguration.html#cfn-imagebuilder-imagerecipe-additionalinstanceconfiguration-userdataoverride
//
UserDataOverride *string `field:"optional" json:"userDataOverride" yaml:"userDataOverride"`
}
In addition to your infrastructure configuration, these settings provide an extra layer of control over your build instances.
You can also specify commands to run on launch for all of your build instances.
Image Builder does not automatically install the Systems Manager agent on Windows instances. If your base image includes the Systems Manager agent, then the AMI that you create will also include the agent. For Linux instances, if the base image does not already include the Systems Manager agent, Image Builder installs it. For Linux instances where Image Builder installs the Systems Manager agent, you can choose whether to keep it for the AMI that you create.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
additionalInstanceConfigurationProperty := &AdditionalInstanceConfigurationProperty{
SystemsManagerAgent: &SystemsManagerAgentProperty{
UninstallAfterBuild: jsii.Boolean(false),
},
UserDataOverride: jsii.String("userDataOverride"),
}
type CfnImageRecipe_ComponentConfigurationProperty ¶
type CfnImageRecipe_ComponentConfigurationProperty struct {
// The Amazon Resource Name (ARN) of the component.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-componentarn
//
ComponentArn *string `field:"optional" json:"componentArn" yaml:"componentArn"`
// A group of parameter settings that Image Builder uses to configure the component for a specific recipe.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentconfiguration.html#cfn-imagebuilder-imagerecipe-componentconfiguration-parameters
//
Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
}
Configuration details of the component.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
componentConfigurationProperty := &ComponentConfigurationProperty{
ComponentArn: jsii.String("componentArn"),
Parameters: []interface{}{
&ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
}
type CfnImageRecipe_ComponentParameterProperty ¶
type CfnImageRecipe_ComponentParameterProperty struct {
// The name of the component parameter to set.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentparameter.html#cfn-imagebuilder-imagerecipe-componentparameter-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// Sets the value for the named component parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-componentparameter.html#cfn-imagebuilder-imagerecipe-componentparameter-value
//
Value *[]*string `field:"required" json:"value" yaml:"value"`
}
Contains a key/value pair that sets the named component parameter.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
componentParameterProperty := &ComponentParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
}
type CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty ¶
type CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty struct {
// Configures delete on termination of the associated device.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-deleteontermination
//
DeleteOnTermination interface{} `field:"optional" json:"deleteOnTermination" yaml:"deleteOnTermination"`
// Use to configure device encryption.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-encrypted
//
Encrypted interface{} `field:"optional" json:"encrypted" yaml:"encrypted"`
// Use to configure device IOPS.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-iops
//
Iops *float64 `field:"optional" json:"iops" yaml:"iops"`
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key to use when encrypting the device.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-kmskeyid
//
KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
// The snapshot that defines the device contents.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-snapshotid
//
SnapshotId *string `field:"optional" json:"snapshotId" yaml:"snapshotId"`
// *For GP3 volumes only* – The throughput in MiB/s that the volume supports.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-throughput
//
Throughput *float64 `field:"optional" json:"throughput" yaml:"throughput"`
// Overrides the volume size of the device.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumesize
//
VolumeSize *float64 `field:"optional" json:"volumeSize" yaml:"volumeSize"`
// Overrides the volume type of the device.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification.html#cfn-imagebuilder-imagerecipe-ebsinstanceblockdevicespecification-volumetype
//
VolumeType *string `field:"optional" json:"volumeType" yaml:"volumeType"`
}
The image recipe EBS instance block device specification includes the Amazon EBS-specific block device mapping specifications for the image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ebsInstanceBlockDeviceSpecificationProperty := &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
}
type CfnImageRecipe_InstanceBlockDeviceMappingProperty ¶
type CfnImageRecipe_InstanceBlockDeviceMappingProperty struct {
// The device to which these mappings apply.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-devicename
//
DeviceName *string `field:"optional" json:"deviceName" yaml:"deviceName"`
// Use to manage Amazon EBS-specific configuration for this mapping.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-ebs
//
Ebs interface{} `field:"optional" 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:""`.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-nodevice
//
NoDevice *string `field:"optional" json:"noDevice" yaml:"noDevice"`
// Manages the instance ephemeral devices.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-instanceblockdevicemapping.html#cfn-imagebuilder-imagerecipe-instanceblockdevicemapping-virtualname
//
VirtualName *string `field:"optional" json:"virtualName" yaml:"virtualName"`
}
Defines block device mappings for the instance used to configure your image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
instanceBlockDeviceMappingProperty := &InstanceBlockDeviceMappingProperty{
DeviceName: jsii.String("deviceName"),
Ebs: &EbsInstanceBlockDeviceSpecificationProperty{
DeleteOnTermination: jsii.Boolean(false),
Encrypted: jsii.Boolean(false),
Iops: jsii.Number(123),
KmsKeyId: jsii.String("kmsKeyId"),
SnapshotId: jsii.String("snapshotId"),
Throughput: jsii.Number(123),
VolumeSize: jsii.Number(123),
VolumeType: jsii.String("volumeType"),
},
NoDevice: jsii.String("noDevice"),
VirtualName: jsii.String("virtualName"),
}
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. default value is false.
//
// The default behavior of uninstallAfterBuild is to remove the SSM Agent if it was installed by EC2 Image Builder.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-imagerecipe-systemsmanageragent.html#cfn-imagebuilder-imagerecipe-systemsmanageragent-uninstallafterbuild
//
UninstallAfterBuild interface{} `field:"optional" json:"uninstallAfterBuild" yaml:"uninstallAfterBuild"`
}
Contains settings for the Systems Manager agent on your build instance.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
systemsManagerAgentProperty := &SystemsManagerAgentProperty{
UninstallAfterBuild: jsii.Boolean(false),
}
type CfnImage_DeletionSettingsProperty ¶ added in v2.223.0
type CfnImage_DeletionSettingsProperty struct {
// The execution role to use for deleting the image, as well as underlying resources.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-deletionsettings.html#cfn-imagebuilder-image-deletionsettings-executionrole
//
ExecutionRole *string `field:"required" json:"executionRole" yaml:"executionRole"`
}
The deletion settings of the image, indicating whether to delete the underlying resources in addition to the image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
deletionSettingsProperty := &DeletionSettingsProperty{
ExecutionRole: jsii.String("executionRole"),
}
type CfnImage_EcrConfigurationProperty ¶ added in v2.63.0
type CfnImage_EcrConfigurationProperty struct {
// Tags for Image Builder to apply to the output container image that Amazon Inspector scans.
//
// Tags can help you identify and manage your scanned images.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-ecrconfiguration.html#cfn-imagebuilder-image-ecrconfiguration-containertags
//
ContainerTags *[]*string `field:"optional" json:"containerTags" yaml:"containerTags"`
// The name of the container repository that Amazon Inspector scans to identify findings for your container images.
//
// The name includes the path for the repository location. If you don’t provide this information, Image Builder creates a repository in your account named `image-builder-image-scanning-repository` for vulnerability scans of your output container images.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-ecrconfiguration.html#cfn-imagebuilder-image-ecrconfiguration-repositoryname
//
RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
}
Settings that Image Builder uses to configure the ECR repository and the output container images that Amazon Inspector scans.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ecrConfigurationProperty := &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
}
type CfnImage_ImageLoggingConfigurationProperty ¶ added in v2.220.0
type CfnImage_ImageLoggingConfigurationProperty struct {
// The log group name that Image Builder uses for image creation.
//
// If not specified, the log group name defaults to `/aws/imagebuilder/image-name` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imageloggingconfiguration.html#cfn-imagebuilder-image-imageloggingconfiguration-loggroupname
//
LogGroupName *string `field:"optional" json:"logGroupName" yaml:"logGroupName"`
}
The logging configuration that's defined for the image.
Image Builder uses the defined settings to direct execution log output during image creation.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imageLoggingConfigurationProperty := &ImageLoggingConfigurationProperty{
LogGroupName: jsii.String("logGroupName"),
}
type CfnImage_ImagePipelineExecutionSettingsProperty ¶ added in v2.223.0
type CfnImage_ImagePipelineExecutionSettingsProperty struct {
// The deployment ID of the pipeline, used to trigger new image pipeline executions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagepipelineexecutionsettings.html#cfn-imagebuilder-image-imagepipelineexecutionsettings-deploymentid
//
DeploymentId *string `field:"optional" json:"deploymentId" yaml:"deploymentId"`
// Whether to trigger the image pipeline when the pipeline is updated.
//
// False by default.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagepipelineexecutionsettings.html#cfn-imagebuilder-image-imagepipelineexecutionsettings-onupdate
//
OnUpdate interface{} `field:"optional" json:"onUpdate" yaml:"onUpdate"`
}
The settings for starting an image pipeline execution.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imagePipelineExecutionSettingsProperty := &ImagePipelineExecutionSettingsProperty{
DeploymentId: jsii.String("deploymentId"),
OnUpdate: jsii.Boolean(false),
}
type CfnImage_ImageScanningConfigurationProperty ¶ added in v2.63.0
type CfnImage_ImageScanningConfigurationProperty struct {
// Contains Amazon ECR settings for vulnerability scans.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagescanningconfiguration.html#cfn-imagebuilder-image-imagescanningconfiguration-ecrconfiguration
//
EcrConfiguration interface{} `field:"optional" json:"ecrConfiguration" yaml:"ecrConfiguration"`
// A setting that indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagescanningconfiguration.html#cfn-imagebuilder-image-imagescanningconfiguration-imagescanningenabled
//
ImageScanningEnabled interface{} `field:"optional" json:"imageScanningEnabled" yaml:"imageScanningEnabled"`
}
Contains settings for Image Builder image resource and container image scans.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imageScanningConfigurationProperty := &ImageScanningConfigurationProperty{
EcrConfiguration: &EcrConfigurationProperty{
ContainerTags: []*string{
jsii.String("containerTags"),
},
RepositoryName: jsii.String("repositoryName"),
},
ImageScanningEnabled: jsii.Boolean(false),
}
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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-imagetestsenabled
//
ImageTestsEnabled interface{} `field:"optional" json:"imageTestsEnabled" yaml:"imageTestsEnabled"`
// The maximum time in minutes that tests are permitted to run.
//
// > The timeout property is not currently active. This value is ignored.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-imagetestsconfiguration.html#cfn-imagebuilder-image-imagetestsconfiguration-timeoutminutes
//
TimeoutMinutes *float64 `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
imageTestsConfigurationProperty := &ImageTestsConfigurationProperty{
ImageTestsEnabled: jsii.Boolean(false),
TimeoutMinutes: jsii.Number(123),
}
type CfnImage_LatestVersionProperty ¶ added in v2.221.0
type CfnImage_LatestVersionProperty struct {
// The Amazon Resource Name (ARN) of the image.
//
// > Semantic versioning is included in each object's Amazon Resource Name (ARN), at the level that applies to that object as follows:
// >
// > - Versionless ARNs and Name ARNs do not include specific values in any of the nodes. The nodes are either left off entirely, or they are specified as wildcards, for example: x.x.x.
// > - Version ARNs have only the first three nodes: <major>.<minor>.<patch>
// > - Build version ARNs have all four nodes, and point to a specific build for a specific version of an object.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-latestversion.html#cfn-imagebuilder-image-latestversion-arn
//
Arn *string `field:"optional" json:"arn" yaml:"arn"`
// The latest version ARN of the created image, with the same major version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-latestversion.html#cfn-imagebuilder-image-latestversion-major
//
Major *string `field:"optional" json:"major" yaml:"major"`
// The latest version ARN of the created image, with the same minor version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-latestversion.html#cfn-imagebuilder-image-latestversion-minor
//
Minor *string `field:"optional" json:"minor" yaml:"minor"`
// The latest version ARN of the created image, with the same patch version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-latestversion.html#cfn-imagebuilder-image-latestversion-patch
//
Patch *string `field:"optional" json:"patch" yaml:"patch"`
}
The latest version references of the image.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
latestVersionProperty := &LatestVersionProperty{
Arn: jsii.String("arn"),
Major: jsii.String("major"),
Minor: jsii.String("minor"),
Patch: jsii.String("patch"),
}
type CfnImage_WorkflowConfigurationProperty ¶ added in v2.117.0
type CfnImage_WorkflowConfigurationProperty struct {
// The action to take if the workflow fails.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowconfiguration.html#cfn-imagebuilder-image-workflowconfiguration-onfailure
//
OnFailure *string `field:"optional" json:"onFailure" yaml:"onFailure"`
// Test workflows are defined within named runtime groups called parallel groups.
//
// The parallel group is the named group that contains this test workflow. Test workflows within a parallel group can run at the same time. Image Builder starts up to five test workflows in the group at the same time, and starts additional workflows as others complete, until all workflows in the group have completed. This field only applies for test workflows.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowconfiguration.html#cfn-imagebuilder-image-workflowconfiguration-parallelgroup
//
ParallelGroup *string `field:"optional" json:"parallelGroup" yaml:"parallelGroup"`
// Contains parameter values for each of the parameters that the workflow document defined for the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowconfiguration.html#cfn-imagebuilder-image-workflowconfiguration-parameters
//
Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
// The Amazon Resource Name (ARN) of the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowconfiguration.html#cfn-imagebuilder-image-workflowconfiguration-workflowarn
//
WorkflowArn *string `field:"optional" json:"workflowArn" yaml:"workflowArn"`
}
Contains control settings and configurable inputs for a workflow resource.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
workflowConfigurationProperty := &WorkflowConfigurationProperty{
OnFailure: jsii.String("onFailure"),
ParallelGroup: jsii.String("parallelGroup"),
Parameters: []interface{}{
&WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
},
},
WorkflowArn: jsii.String("workflowArn"),
}
type CfnImage_WorkflowParameterProperty ¶ added in v2.117.0
type CfnImage_WorkflowParameterProperty struct {
// The name of the workflow parameter to set.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowparameter.html#cfn-imagebuilder-image-workflowparameter-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// Sets the value for the named workflow parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-image-workflowparameter.html#cfn-imagebuilder-image-workflowparameter-value
//
Value *[]*string `field:"optional" json:"value" yaml:"value"`
}
Contains a key/value pair that sets the named workflow parameter.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
workflowParameterProperty := &WorkflowParameterProperty{
Name: jsii.String("name"),
Value: []*string{
jsii.String("value"),
},
}
type CfnInfrastructureConfiguration ¶
type CfnInfrastructureConfiguration interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IInfrastructureConfigurationRef
awscdk.ITaggable
// Returns the Amazon Resource Name (ARN) of the infrastructure configuration.
//
// The following pattern is applied: `^arn:aws[^:]*:imagebuilder:[^:]+:(?:\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\d+)\.(?:x|\d+)\.(?:x|\d+))(?:/\d+)?)?$` .
AttrArn() *string
// The name of the infrastructure configuration.
AttrName() *string
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description of the infrastructure configuration.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// A reference to a InfrastructureConfiguration resource.
InfrastructureConfigurationRef() *interfacesawsimagebuilder.InfrastructureConfigurationReference
// The instance metadata options that you can set for the HTTP requests that pipeline builds use to launch EC2 build and test instances.
InstanceMetadataOptions() interface{}
SetInstanceMetadataOptions(val interface{})
// The instance profile to associate with the instance used to customize your Amazon EC2 AMI.
InstanceProfileName() *string
SetInstanceProfileName(val *string)
// The instance types of the infrastructure configuration.
InstanceTypes() *[]*string
SetInstanceTypes(val *[]*string)
// The key pair of the infrastructure configuration.
KeyPair() *string
SetKeyPair(val *string)
// The logging configuration of the infrastructure configuration.
Logging() interface{}
SetLogging(val interface{})
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the infrastructure configuration.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// The instance placement settings that define where the instances that are launched from your image will run.
Placement() interface{}
SetPlacement(val interface{})
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The metadata tags to assign to the Amazon EC2 instance that Image Builder launches during the build process.
ResourceTags() interface{}
SetResourceTags(val interface{})
// The security group IDs to associate with the instance used to customize your Amazon EC2 AMI.
SecurityGroupIds() *[]*string
SetSecurityGroupIds(val *[]*string)
// The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.
SnsTopicArn() *string
SetSnsTopicArn(val *string)
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// The subnet ID in which to place the instance used to customize your Amazon EC2 AMI.
SubnetId() *string
SetSubnetId(val *string)
// Tag Manager which manages the tags for this resource.
Tags() awscdk.TagManager
// The metadata tags to assign to the infrastructure configuration resource that Image Builder creates as output.
TagsRaw() *map[string]*string
SetTagsRaw(val *map[string]*string)
// The terminate instance on failure setting of the infrastructure configuration.
TerminateInstanceOnFailure() interface{}
SetTerminateInstanceOnFailure(val interface{})
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Creates a new infrastructure configuration.
An infrastructure configuration defines the environment in which your image will be built and tested.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnInfrastructureConfiguration := awscdk.Aws_imagebuilder.NewCfnInfrastructureConfiguration(this, jsii.String("MyCfnInfrastructureConfiguration"), &CfnInfrastructureConfigurationProps{
InstanceProfileName: jsii.String("instanceProfileName"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
InstanceMetadataOptions: &InstanceMetadataOptionsProperty{
HttpPutResponseHopLimit: jsii.Number(123),
HttpTokens: jsii.String("httpTokens"),
},
InstanceTypes: []*string{
jsii.String("instanceTypes"),
},
KeyPair: jsii.String("keyPair"),
Logging: &LoggingProperty{
S3Logs: &S3LogsProperty{
S3BucketName: jsii.String("s3BucketName"),
S3KeyPrefix: jsii.String("s3KeyPrefix"),
},
},
Placement: &PlacementProperty{
AvailabilityZone: jsii.String("availabilityZone"),
HostId: jsii.String("hostId"),
HostResourceGroupArn: jsii.String("hostResourceGroupArn"),
Tenancy: jsii.String("tenancy"),
},
ResourceTags: map[string]*string{
"resourceTagsKey": jsii.String("resourceTags"),
},
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
SnsTopicArn: jsii.String("snsTopicArn"),
SubnetId: jsii.String("subnetId"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
TerminateInstanceOnFailure: jsii.Boolean(false),
})
func NewCfnInfrastructureConfiguration ¶
func NewCfnInfrastructureConfiguration(scope constructs.Construct, id *string, props *CfnInfrastructureConfigurationProps) CfnInfrastructureConfiguration
Create a new `AWS::ImageBuilder::InfrastructureConfiguration`.
type CfnInfrastructureConfigurationProps ¶
type CfnInfrastructureConfigurationProps struct {
// The instance profile to associate with the instance used to customize your Amazon EC2 AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instanceprofilename
//
InstanceProfileName *string `field:"required" json:"instanceProfileName" yaml:"instanceProfileName"`
// The name of the infrastructure configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The description of the infrastructure configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The instance metadata options that you can set for the HTTP requests that pipeline builds use to launch EC2 build and test instances.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancemetadataoptions
//
InstanceMetadataOptions interface{} `field:"optional" json:"instanceMetadataOptions" yaml:"instanceMetadataOptions"`
// The instance types of the infrastructure configuration.
//
// You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-instancetypes
//
InstanceTypes *[]*string `field:"optional" json:"instanceTypes" yaml:"instanceTypes"`
// The key pair of the infrastructure configuration.
//
// You can use this to log on to and debug the instance used to create your image.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-keypair
//
KeyPair *string `field:"optional" json:"keyPair" yaml:"keyPair"`
// The logging configuration of the infrastructure configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-logging
//
Logging interface{} `field:"optional" json:"logging" yaml:"logging"`
// The instance placement settings that define where the instances that are launched from your image will run.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-placement
//
Placement interface{} `field:"optional" json:"placement" yaml:"placement"`
// The metadata tags to assign to the Amazon EC2 instance that Image Builder launches during the build process.
//
// Tags are formatted as key value pairs.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-resourcetags
//
ResourceTags interface{} `field:"optional" json:"resourceTags" yaml:"resourceTags"`
// The security group IDs to associate with the instance used to customize your Amazon EC2 AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-securitygroupids
//
SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"`
// The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.
//
// > EC2 Image Builder is unable to send notifications to SNS topics that are encrypted using keys from other accounts. The key that is used to encrypt the SNS topic must reside in the account that the Image Builder service runs under.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-snstopicarn
//
SnsTopicArn *string `field:"optional" json:"snsTopicArn" yaml:"snsTopicArn"`
// The subnet ID in which to place the instance used to customize your Amazon EC2 AMI.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-subnetid
//
SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"`
// The metadata tags to assign to the infrastructure configuration resource that Image Builder creates as output.
//
// Tags are formatted as key value pairs.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The terminate instance on failure setting of the infrastructure configuration.
//
// Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html#cfn-imagebuilder-infrastructureconfiguration-terminateinstanceonfailure
//
TerminateInstanceOnFailure interface{} `field:"optional" json:"terminateInstanceOnFailure" yaml:"terminateInstanceOnFailure"`
}
Properties for defining a `CfnInfrastructureConfiguration`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnInfrastructureConfigurationProps := &CfnInfrastructureConfigurationProps{
InstanceProfileName: jsii.String("instanceProfileName"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
InstanceMetadataOptions: &InstanceMetadataOptionsProperty{
HttpPutResponseHopLimit: jsii.Number(123),
HttpTokens: jsii.String("httpTokens"),
},
InstanceTypes: []*string{
jsii.String("instanceTypes"),
},
KeyPair: jsii.String("keyPair"),
Logging: &LoggingProperty{
S3Logs: &S3LogsProperty{
S3BucketName: jsii.String("s3BucketName"),
S3KeyPrefix: jsii.String("s3KeyPrefix"),
},
},
Placement: &PlacementProperty{
AvailabilityZone: jsii.String("availabilityZone"),
HostId: jsii.String("hostId"),
HostResourceGroupArn: jsii.String("hostResourceGroupArn"),
Tenancy: jsii.String("tenancy"),
},
ResourceTags: map[string]*string{
"resourceTagsKey": jsii.String("resourceTags"),
},
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
SnsTopicArn: jsii.String("snsTopicArn"),
SubnetId: jsii.String("subnetId"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
TerminateInstanceOnFailure: jsii.Boolean(false),
}
type CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty ¶
type CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty struct {
// Limit the number of hops that an instance metadata request can traverse to reach its destination.
//
// The default is one hop. However, if HTTP tokens are required, container image builds need a minimum of two hops.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-instancemetadataoptions.html#cfn-imagebuilder-infrastructureconfiguration-instancemetadataoptions-httpputresponsehoplimit
//
HttpPutResponseHopLimit *float64 `field:"optional" 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* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-instancemetadataoptions.html#cfn-imagebuilder-infrastructureconfiguration-instancemetadataoptions-httptokens
//
HttpTokens *string `field:"optional" 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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
instanceMetadataOptionsProperty := &InstanceMetadataOptionsProperty{
HttpPutResponseHopLimit: jsii.Number(123),
HttpTokens: jsii.String("httpTokens"),
}
type CfnInfrastructureConfiguration_LoggingProperty ¶
type CfnInfrastructureConfiguration_LoggingProperty struct {
// The Amazon S3 logging configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-logging.html#cfn-imagebuilder-infrastructureconfiguration-logging-s3logs
//
S3Logs interface{} `field:"optional" json:"s3Logs" yaml:"s3Logs"`
}
Logging configuration defines where Image Builder uploads your logs.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
loggingProperty := &LoggingProperty{
S3Logs: &S3LogsProperty{
S3BucketName: jsii.String("s3BucketName"),
S3KeyPrefix: jsii.String("s3KeyPrefix"),
},
}
type CfnInfrastructureConfiguration_PlacementProperty ¶ added in v2.165.0
type CfnInfrastructureConfiguration_PlacementProperty struct {
// The Availability Zone where your build and test instances will launch.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-placement.html#cfn-imagebuilder-infrastructureconfiguration-placement-availabilityzone
//
AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"`
// The ID of the Dedicated Host on which build and test instances run.
//
// This only applies if `tenancy` is `host` . If you specify the host ID, you must not specify the resource group ARN. If you specify both, Image Builder returns an error.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-placement.html#cfn-imagebuilder-infrastructureconfiguration-placement-hostid
//
HostId *string `field:"optional" json:"hostId" yaml:"hostId"`
// The Amazon Resource Name (ARN) of the host resource group in which to launch build and test instances.
//
// This only applies if `tenancy` is `host` . If you specify the resource group ARN, you must not specify the host ID. If you specify both, Image Builder returns an error.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-placement.html#cfn-imagebuilder-infrastructureconfiguration-placement-hostresourcegrouparn
//
HostResourceGroupArn *string `field:"optional" json:"hostResourceGroupArn" yaml:"hostResourceGroupArn"`
// The tenancy of the instance.
//
// An instance with a tenancy of `dedicated` runs on single-tenant hardware. An instance with a tenancy of `host` runs on a Dedicated Host.
//
// If tenancy is set to `host` , then you can optionally specify one target for placement – either host ID or host resource group ARN. If automatic placement is enabled for your host, and you don't specify any placement target, Amazon EC2 will try to find an available host for your build and test instances.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-placement.html#cfn-imagebuilder-infrastructureconfiguration-placement-tenancy
//
Tenancy *string `field:"optional" json:"tenancy" yaml:"tenancy"`
}
By default, EC2 instances run on shared tenancy hardware.
This means that multiple AWS accounts might share the same physical hardware. When you use dedicated hardware, the physical server that hosts your instances is dedicated to your AWS account . Instance placement settings contain the details for the physical hardware where instances that Image Builder launches during image creation will run.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
placementProperty := &PlacementProperty{
AvailabilityZone: jsii.String("availabilityZone"),
HostId: jsii.String("hostId"),
HostResourceGroupArn: jsii.String("hostResourceGroupArn"),
Tenancy: jsii.String("tenancy"),
}
type CfnInfrastructureConfiguration_S3LogsProperty ¶
type CfnInfrastructureConfiguration_S3LogsProperty struct {
// The S3 bucket in which to store the logs.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3bucketname
//
S3BucketName *string `field:"optional" json:"s3BucketName" yaml:"s3BucketName"`
// The Amazon S3 path to the bucket where the logs are stored.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-infrastructureconfiguration-s3logs.html#cfn-imagebuilder-infrastructureconfiguration-s3logs-s3keyprefix
//
S3KeyPrefix *string `field:"optional" json:"s3KeyPrefix" yaml:"s3KeyPrefix"`
}
Amazon S3 logging configuration.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
s3LogsProperty := &S3LogsProperty{
S3BucketName: jsii.String("s3BucketName"),
S3KeyPrefix: jsii.String("s3KeyPrefix"),
}
type CfnLifecyclePolicy ¶ added in v2.110.0
type CfnLifecyclePolicy interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.ILifecyclePolicyRef
awscdk.ITaggableV2
// The Amazon Resource Name (ARN) of the lifecycle policy resource.
AttrArn() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// Optional description for the lifecycle policy.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.
ExecutionRole() *string
SetExecutionRole(val *string)
// A reference to a LifecyclePolicy resource.
LifecyclePolicyRef() *interfacesawsimagebuilder.LifecyclePolicyReference
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the lifecycle policy to create.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Configuration details for the lifecycle policy rules.
PolicyDetails() interface{}
SetPolicyDetails(val interface{})
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// Selection criteria for the resources that the lifecycle policy applies to.
ResourceSelection() interface{}
SetResourceSelection(val interface{})
// The type of Image Builder resource that the lifecycle policy applies to.
ResourceType() *string
SetResourceType(val *string)
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Indicates whether the lifecycle policy resource is enabled.
Status() *string
SetStatus(val *string)
// Tags to apply to the lifecycle policy resource.
Tags() *map[string]*string
SetTags(val *map[string]*string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Create a lifecycle policy resource.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnLifecyclePolicy := awscdk.Aws_imagebuilder.NewCfnLifecyclePolicy(this, jsii.String("MyCfnLifecyclePolicy"), &CfnLifecyclePolicyProps{
ExecutionRole: jsii.String("executionRole"),
Name: jsii.String("name"),
PolicyDetails: []interface{}{
&PolicyDetailProperty{
Action: &ActionProperty{
Type: jsii.String("type"),
// the properties below are optional
IncludeResources: &IncludeResourcesProperty{
Amis: jsii.Boolean(false),
Containers: jsii.Boolean(false),
Snapshots: jsii.Boolean(false),
},
},
Filter: &FilterProperty{
Type: jsii.String("type"),
Value: jsii.Number(123),
// the properties below are optional
RetainAtLeast: jsii.Number(123),
Unit: jsii.String("unit"),
},
// the properties below are optional
ExclusionRules: &ExclusionRulesProperty{
Amis: &AmiExclusionRulesProperty{
IsPublic: jsii.Boolean(false),
LastLaunched: &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
},
Regions: []*string{
jsii.String("regions"),
},
SharedAccounts: []*string{
jsii.String("sharedAccounts"),
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
},
},
ResourceSelection: &ResourceSelectionProperty{
Recipes: []interface{}{
&RecipeSelectionProperty{
Name: jsii.String("name"),
SemanticVersion: jsii.String("semanticVersion"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
ResourceType: jsii.String("resourceType"),
// the properties below are optional
Description: jsii.String("description"),
Status: jsii.String("status"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
})
func NewCfnLifecyclePolicy ¶ added in v2.110.0
func NewCfnLifecyclePolicy(scope constructs.Construct, id *string, props *CfnLifecyclePolicyProps) CfnLifecyclePolicy
Create a new `AWS::ImageBuilder::LifecyclePolicy`.
type CfnLifecyclePolicyProps ¶ added in v2.110.0
type CfnLifecyclePolicyProps struct {
// The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-executionrole
//
ExecutionRole *string `field:"required" json:"executionRole" yaml:"executionRole"`
// The name of the lifecycle policy to create.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// Configuration details for the lifecycle policy rules.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-policydetails
//
PolicyDetails interface{} `field:"required" json:"policyDetails" yaml:"policyDetails"`
// Selection criteria for the resources that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-resourceselection
//
ResourceSelection interface{} `field:"required" json:"resourceSelection" yaml:"resourceSelection"`
// The type of Image Builder resource that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-resourcetype
//
ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"`
// Optional description for the lifecycle policy.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// Indicates whether the lifecycle policy resource is enabled.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-status
//
Status *string `field:"optional" json:"status" yaml:"status"`
// Tags to apply to the lifecycle policy resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html#cfn-imagebuilder-lifecyclepolicy-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}
Properties for defining a `CfnLifecyclePolicy`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnLifecyclePolicyProps := &CfnLifecyclePolicyProps{
ExecutionRole: jsii.String("executionRole"),
Name: jsii.String("name"),
PolicyDetails: []interface{}{
&PolicyDetailProperty{
Action: &ActionProperty{
Type: jsii.String("type"),
// the properties below are optional
IncludeResources: &IncludeResourcesProperty{
Amis: jsii.Boolean(false),
Containers: jsii.Boolean(false),
Snapshots: jsii.Boolean(false),
},
},
Filter: &FilterProperty{
Type: jsii.String("type"),
Value: jsii.Number(123),
// the properties below are optional
RetainAtLeast: jsii.Number(123),
Unit: jsii.String("unit"),
},
// the properties below are optional
ExclusionRules: &ExclusionRulesProperty{
Amis: &AmiExclusionRulesProperty{
IsPublic: jsii.Boolean(false),
LastLaunched: &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
},
Regions: []*string{
jsii.String("regions"),
},
SharedAccounts: []*string{
jsii.String("sharedAccounts"),
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
},
},
ResourceSelection: &ResourceSelectionProperty{
Recipes: []interface{}{
&RecipeSelectionProperty{
Name: jsii.String("name"),
SemanticVersion: jsii.String("semanticVersion"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
ResourceType: jsii.String("resourceType"),
// the properties below are optional
Description: jsii.String("description"),
Status: jsii.String("status"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
}
type CfnLifecyclePolicy_ActionProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_ActionProperty struct {
// Specifies the lifecycle action to take.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html#cfn-imagebuilder-lifecyclepolicy-action-type
//
Type *string `field:"required" json:"type" yaml:"type"`
// Specifies the resources that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html#cfn-imagebuilder-lifecyclepolicy-action-includeresources
//
IncludeResources interface{} `field:"optional" json:"includeResources" yaml:"includeResources"`
}
Contains selection criteria for the lifecycle policy.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
actionProperty := &ActionProperty{
Type: jsii.String("type"),
// the properties below are optional
IncludeResources: &IncludeResourcesProperty{
Amis: jsii.Boolean(false),
Containers: jsii.Boolean(false),
Snapshots: jsii.Boolean(false),
},
}
type CfnLifecyclePolicy_AmiExclusionRulesProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_AmiExclusionRulesProperty struct {
// Configures whether public AMIs are excluded from the lifecycle action.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-ispublic
//
IsPublic interface{} `field:"optional" json:"isPublic" yaml:"isPublic"`
// Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-lastlaunched
//
LastLaunched interface{} `field:"optional" json:"lastLaunched" yaml:"lastLaunched"`
// Configures AWS Region s that are excluded from the lifecycle action.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-regions
//
Regions *[]*string `field:"optional" json:"regions" yaml:"regions"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-sharedaccounts
//
SharedAccounts *[]*string `field:"optional" json:"sharedAccounts" yaml:"sharedAccounts"`
// Lists tags that should be excluded from lifecycle actions for the AMIs that have them.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html#cfn-imagebuilder-lifecyclepolicy-amiexclusionrules-tagmap
//
TagMap interface{} `field:"optional" json:"tagMap" yaml:"tagMap"`
}
Defines criteria for AMIs that are excluded from lifecycle actions.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
amiExclusionRulesProperty := &AmiExclusionRulesProperty{
IsPublic: jsii.Boolean(false),
LastLaunched: &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
},
Regions: []*string{
jsii.String("regions"),
},
SharedAccounts: []*string{
jsii.String("sharedAccounts"),
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
}
type CfnLifecyclePolicy_ExclusionRulesProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_ExclusionRulesProperty struct {
// Lists configuration values that apply to AMIs that Image Builder should exclude from the lifecycle action.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html#cfn-imagebuilder-lifecyclepolicy-exclusionrules-amis
//
Amis interface{} `field:"optional" json:"amis" yaml:"amis"`
// Contains a list of tags that Image Builder uses to skip lifecycle actions for Image Builder image resources that have them.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html#cfn-imagebuilder-lifecyclepolicy-exclusionrules-tagmap
//
TagMap interface{} `field:"optional" json:"tagMap" yaml:"tagMap"`
}
Specifies resources that lifecycle policy actions should not apply to.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
exclusionRulesProperty := &ExclusionRulesProperty{
Amis: &AmiExclusionRulesProperty{
IsPublic: jsii.Boolean(false),
LastLaunched: &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
},
Regions: []*string{
jsii.String("regions"),
},
SharedAccounts: []*string{
jsii.String("sharedAccounts"),
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
}
type CfnLifecyclePolicy_FilterProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_FilterProperty struct {
// Filter resources based on either `age` or `count` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-type
//
Type *string `field:"required" json:"type" yaml:"type"`
// The number of units for the time period or for the count.
//
// For example, a value of `6` might refer to six months or six AMIs.
//
// > For count-based filters, this value represents the minimum number of resources to keep on hand. If you have fewer resources than this number, the resource is excluded from lifecycle actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-value
//
Value *float64 `field:"required" json:"value" yaml:"value"`
// For age-based filters, this is the number of resources to keep on hand after the lifecycle `DELETE` action is applied.
//
// Impacted resources are only deleted if you have more than this number of resources. If you have fewer resources than this number, the impacted resource is not deleted.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-retainatleast
//
RetainAtLeast *float64 `field:"optional" json:"retainAtLeast" yaml:"retainAtLeast"`
// Defines the unit of time that the lifecycle policy uses to determine impacted resources.
//
// This is required for age-based rules.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html#cfn-imagebuilder-lifecyclepolicy-filter-unit
//
Unit *string `field:"optional" json:"unit" yaml:"unit"`
}
Defines filters that the lifecycle policy uses to determine impacted resource.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
filterProperty := &FilterProperty{
Type: jsii.String("type"),
Value: jsii.Number(123),
// the properties below are optional
RetainAtLeast: jsii.Number(123),
Unit: jsii.String("unit"),
}
type CfnLifecyclePolicy_IncludeResourcesProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_IncludeResourcesProperty struct {
// Specifies whether the lifecycle action should apply to distributed AMIs.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-amis
//
Amis interface{} `field:"optional" json:"amis" yaml:"amis"`
// Specifies whether the lifecycle action should apply to distributed containers.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-containers
//
Containers interface{} `field:"optional" json:"containers" yaml:"containers"`
// Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html#cfn-imagebuilder-lifecyclepolicy-includeresources-snapshots
//
Snapshots interface{} `field:"optional" json:"snapshots" yaml:"snapshots"`
}
Specifies how the lifecycle policy should apply actions to selected resources.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
includeResourcesProperty := &IncludeResourcesProperty{
Amis: jsii.Boolean(false),
Containers: jsii.Boolean(false),
Snapshots: jsii.Boolean(false),
}
type CfnLifecyclePolicy_LastLaunchedProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_LastLaunchedProperty struct {
// Defines the unit of time that the lifecycle policy uses to calculate elapsed time since the last instance launched from the AMI.
//
// For example: days, weeks, months, or years.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html#cfn-imagebuilder-lifecyclepolicy-lastlaunched-unit
//
Unit *string `field:"required" json:"unit" yaml:"unit"`
// The integer number of units for the time period.
//
// For example `6` (months).
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html#cfn-imagebuilder-lifecyclepolicy-lastlaunched-value
//
Value *float64 `field:"required" json:"value" yaml:"value"`
}
Defines criteria to exclude AMIs from lifecycle actions based on the last time they were used to launch an instance.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
lastLaunchedProperty := &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
}
type CfnLifecyclePolicy_PolicyDetailProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_PolicyDetailProperty struct {
// Configuration details for the policy action.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-action
//
Action interface{} `field:"required" json:"action" yaml:"action"`
// Specifies the resources that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-filter
//
Filter interface{} `field:"required" json:"filter" yaml:"filter"`
// Additional rules to specify resources that should be exempt from policy actions.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html#cfn-imagebuilder-lifecyclepolicy-policydetail-exclusionrules
//
ExclusionRules interface{} `field:"optional" json:"exclusionRules" yaml:"exclusionRules"`
}
The configuration details for a lifecycle policy resource.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
policyDetailProperty := &PolicyDetailProperty{
Action: &ActionProperty{
Type: jsii.String("type"),
// the properties below are optional
IncludeResources: &IncludeResourcesProperty{
Amis: jsii.Boolean(false),
Containers: jsii.Boolean(false),
Snapshots: jsii.Boolean(false),
},
},
Filter: &FilterProperty{
Type: jsii.String("type"),
Value: jsii.Number(123),
// the properties below are optional
RetainAtLeast: jsii.Number(123),
Unit: jsii.String("unit"),
},
// the properties below are optional
ExclusionRules: &ExclusionRulesProperty{
Amis: &AmiExclusionRulesProperty{
IsPublic: jsii.Boolean(false),
LastLaunched: &LastLaunchedProperty{
Unit: jsii.String("unit"),
Value: jsii.Number(123),
},
Regions: []*string{
jsii.String("regions"),
},
SharedAccounts: []*string{
jsii.String("sharedAccounts"),
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
},
}
type CfnLifecyclePolicy_RecipeSelectionProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_RecipeSelectionProperty struct {
// The name of an Image Builder recipe that the lifecycle policy uses for resource selection.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html#cfn-imagebuilder-lifecyclepolicy-recipeselection-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The version of the Image Builder recipe specified by the `name` field.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html#cfn-imagebuilder-lifecyclepolicy-recipeselection-semanticversion
//
SemanticVersion *string `field:"required" json:"semanticVersion" yaml:"semanticVersion"`
}
Specifies an Image Builder recipe that the lifecycle policy uses for resource selection.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
recipeSelectionProperty := &RecipeSelectionProperty{
Name: jsii.String("name"),
SemanticVersion: jsii.String("semanticVersion"),
}
type CfnLifecyclePolicy_ResourceSelectionProperty ¶ added in v2.110.0
type CfnLifecyclePolicy_ResourceSelectionProperty struct {
// A list of recipes that are used as selection criteria for the output images that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html#cfn-imagebuilder-lifecyclepolicy-resourceselection-recipes
//
Recipes interface{} `field:"optional" json:"recipes" yaml:"recipes"`
// A list of tags that are used as selection criteria for the Image Builder image resources that the lifecycle policy applies to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html#cfn-imagebuilder-lifecyclepolicy-resourceselection-tagmap
//
TagMap interface{} `field:"optional" json:"tagMap" yaml:"tagMap"`
}
Resource selection criteria for the lifecycle policy.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
resourceSelectionProperty := &ResourceSelectionProperty{
Recipes: []interface{}{
&RecipeSelectionProperty{
Name: jsii.String("name"),
SemanticVersion: jsii.String("semanticVersion"),
},
},
TagMap: map[string]*string{
"tagMapKey": jsii.String("tagMap"),
},
}
type CfnWorkflow ¶ added in v2.116.0
type CfnWorkflow interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsimagebuilder.IWorkflowRef
awscdk.ITaggableV2
// The Amazon Resource Name (ARN) of the workflow resource.
AttrArn() *string
// The latest version references of the workflow.
AttrLatestVersion() awscdk.IResolvable
// The Amazon Resource Name (ARN) of the workflow resource.
AttrLatestVersionArn() *string
// The latest version ARN of the created workflow, with the same major version.
AttrLatestVersionMajor() *string
// The latest version ARN of the created workflow, with the same minor version.
AttrLatestVersionMinor() *string
// The latest version ARN of the created workflow, with the same patch version.
AttrLatestVersionPatch() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.
ChangeDescription() *string
SetChangeDescription(val *string)
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// Contains the UTF-8 encoded YAML document content for the workflow.
Data() *string
SetData(val *string)
// Describes the workflow.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this workflow resource.
KmsKeyId() *string
SetKmsKeyId(val *string)
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name of the workflow to create.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
// Tags that apply to the workflow resource.
Tags() *map[string]*string
SetTags(val *map[string]*string)
// The phase in the image build process for which the workflow resource is responsible.
Type() *string
SetType(val *string)
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// The `uri` of a YAML component document file.
Uri() *string
SetUri(val *string)
// The semantic version of this workflow resource.
//
// The semantic version syntax adheres to the following rules.
Version() *string
SetVersion(val *string)
// A reference to a Workflow resource.
WorkflowRef() *interfacesawsimagebuilder.WorkflowReference
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Create a new workflow or a new version of an existing workflow.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnWorkflow := awscdk.Aws_imagebuilder.NewCfnWorkflow(this, jsii.String("MyCfnWorkflow"), &CfnWorkflowProps{
Name: jsii.String("name"),
Type: jsii.String("type"),
Version: jsii.String("version"),
// the properties below are optional
ChangeDescription: jsii.String("changeDescription"),
Data: jsii.String("data"),
Description: jsii.String("description"),
KmsKeyId: jsii.String("kmsKeyId"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Uri: jsii.String("uri"),
})
func NewCfnWorkflow ¶ added in v2.116.0
func NewCfnWorkflow(scope constructs.Construct, id *string, props *CfnWorkflowProps) CfnWorkflow
Create a new `AWS::ImageBuilder::Workflow`.
type CfnWorkflowProps ¶ added in v2.116.0
type CfnWorkflowProps struct {
// The name of the workflow to create.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The phase in the image build process for which the workflow resource is responsible.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-type
//
Type *string `field:"required" json:"type" yaml:"type"`
// The semantic version of this workflow resource. The semantic version syntax adheres to the following rules.
//
// > 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-version
//
Version *string `field:"required" json:"version" yaml:"version"`
// Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-changedescription
//
ChangeDescription *string `field:"optional" json:"changeDescription" yaml:"changeDescription"`
// Contains the UTF-8 encoded YAML document content for the workflow.
//
// Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-data
//
Data *string `field:"optional" json:"data" yaml:"data"`
// Describes the workflow.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this workflow resource.
//
// This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-kmskeyid
//
KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
// Tags that apply to the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The `uri` of a YAML component document file.
//
// This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.
//
// Alternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html#cfn-imagebuilder-workflow-uri
//
Uri *string `field:"optional" json:"uri" yaml:"uri"`
}
Properties for defining a `CfnWorkflow`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnWorkflowProps := &CfnWorkflowProps{
Name: jsii.String("name"),
Type: jsii.String("type"),
Version: jsii.String("version"),
// the properties below are optional
ChangeDescription: jsii.String("changeDescription"),
Data: jsii.String("data"),
Description: jsii.String("description"),
KmsKeyId: jsii.String("kmsKeyId"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Uri: jsii.String("uri"),
}
type CfnWorkflow_LatestVersionProperty ¶ added in v2.221.0
type CfnWorkflow_LatestVersionProperty struct {
// The Amazon Resource Name (ARN) of the workflow resource.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-workflow-latestversion.html#cfn-imagebuilder-workflow-latestversion-arn
//
Arn *string `field:"optional" json:"arn" yaml:"arn"`
// The latest version ARN of the created workflow, with the same major version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-workflow-latestversion.html#cfn-imagebuilder-workflow-latestversion-major
//
Major *string `field:"optional" json:"major" yaml:"major"`
// The latest version ARN of the created workflow, with the same minor version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-workflow-latestversion.html#cfn-imagebuilder-workflow-latestversion-minor
//
Minor *string `field:"optional" json:"minor" yaml:"minor"`
// The latest version ARN of the created workflow, with the same patch version.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-workflow-latestversion.html#cfn-imagebuilder-workflow-latestversion-patch
//
Patch *string `field:"optional" json:"patch" yaml:"patch"`
}
The latest version references of the workflow.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
latestVersionProperty := &LatestVersionProperty{
Arn: jsii.String("arn"),
Major: jsii.String("major"),
Minor: jsii.String("minor"),
Patch: jsii.String("patch"),
}
Source Files
¶
- CfnComponent.go
- CfnComponentProps.go
- CfnComponent_LatestVersionProperty.go
- CfnComponent__checks.go
- CfnContainerRecipe.go
- CfnContainerRecipeProps.go
- CfnContainerRecipe_ComponentConfigurationProperty.go
- CfnContainerRecipe_ComponentParameterProperty.go
- CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationProperty.go
- CfnContainerRecipe_InstanceBlockDeviceMappingProperty.go
- CfnContainerRecipe_InstanceConfigurationProperty.go
- CfnContainerRecipe_TargetContainerRepositoryProperty.go
- CfnContainerRecipe__checks.go
- CfnDistributionConfiguration.go
- CfnDistributionConfigurationProps.go
- CfnDistributionConfiguration_AmiDistributionConfigurationProperty.go
- CfnDistributionConfiguration_ContainerDistributionConfigurationProperty.go
- CfnDistributionConfiguration_DistributionProperty.go
- CfnDistributionConfiguration_FastLaunchConfigurationProperty.go
- CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationProperty.go
- CfnDistributionConfiguration_FastLaunchSnapshotConfigurationProperty.go
- CfnDistributionConfiguration_LaunchPermissionConfigurationProperty.go
- CfnDistributionConfiguration_LaunchTemplateConfigurationProperty.go
- CfnDistributionConfiguration_SsmParameterConfigurationProperty.go
- CfnDistributionConfiguration_TargetContainerRepositoryProperty.go
- CfnDistributionConfiguration__checks.go
- CfnImage.go
- CfnImagePipeline.go
- CfnImagePipelineProps.go
- CfnImagePipeline_AutoDisablePolicyProperty.go
- CfnImagePipeline_EcrConfigurationProperty.go
- CfnImagePipeline_ImageScanningConfigurationProperty.go
- CfnImagePipeline_ImageTestsConfigurationProperty.go
- CfnImagePipeline_PipelineLoggingConfigurationProperty.go
- CfnImagePipeline_ScheduleProperty.go
- CfnImagePipeline_WorkflowConfigurationProperty.go
- CfnImagePipeline_WorkflowParameterProperty.go
- CfnImagePipeline__checks.go
- CfnImageProps.go
- CfnImageRecipe.go
- CfnImageRecipeProps.go
- CfnImageRecipe_AdditionalInstanceConfigurationProperty.go
- CfnImageRecipe_ComponentConfigurationProperty.go
- CfnImageRecipe_ComponentParameterProperty.go
- CfnImageRecipe_EbsInstanceBlockDeviceSpecificationProperty.go
- CfnImageRecipe_InstanceBlockDeviceMappingProperty.go
- CfnImageRecipe_SystemsManagerAgentProperty.go
- CfnImageRecipe__checks.go
- CfnImage_DeletionSettingsProperty.go
- CfnImage_EcrConfigurationProperty.go
- CfnImage_ImageLoggingConfigurationProperty.go
- CfnImage_ImagePipelineExecutionSettingsProperty.go
- CfnImage_ImageScanningConfigurationProperty.go
- CfnImage_ImageTestsConfigurationProperty.go
- CfnImage_LatestVersionProperty.go
- CfnImage_WorkflowConfigurationProperty.go
- CfnImage_WorkflowParameterProperty.go
- CfnImage__checks.go
- CfnInfrastructureConfiguration.go
- CfnInfrastructureConfigurationProps.go
- CfnInfrastructureConfiguration_InstanceMetadataOptionsProperty.go
- CfnInfrastructureConfiguration_LoggingProperty.go
- CfnInfrastructureConfiguration_PlacementProperty.go
- CfnInfrastructureConfiguration_S3LogsProperty.go
- CfnInfrastructureConfiguration__checks.go
- CfnLifecyclePolicy.go
- CfnLifecyclePolicyProps.go
- CfnLifecyclePolicy_ActionProperty.go
- CfnLifecyclePolicy_AmiExclusionRulesProperty.go
- CfnLifecyclePolicy_ExclusionRulesProperty.go
- CfnLifecyclePolicy_FilterProperty.go
- CfnLifecyclePolicy_IncludeResourcesProperty.go
- CfnLifecyclePolicy_LastLaunchedProperty.go
- CfnLifecyclePolicy_PolicyDetailProperty.go
- CfnLifecyclePolicy_RecipeSelectionProperty.go
- CfnLifecyclePolicy_ResourceSelectionProperty.go
- CfnLifecyclePolicy__checks.go
- CfnWorkflow.go
- CfnWorkflowProps.go
- CfnWorkflow_LatestVersionProperty.go
- CfnWorkflow__checks.go
- main.go