Class CfnInfrastructureConfiguration

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.CfnElement
software.amazon.awscdk.CfnRefElement
software.amazon.awscdk.CfnResource
software.amazon.awscdk.services.imagebuilder.CfnInfrastructureConfiguration
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-17T21:37:32.335Z") @Stability(Stable) public class CfnInfrastructureConfiguration extends CfnResource implements IInspectable, ITaggable
The infrastructure configuration allows you to specify the infrastructure within which to build and test your image.

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

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.imagebuilder.*;
 CfnInfrastructureConfiguration cfnInfrastructureConfiguration = CfnInfrastructureConfiguration.Builder.create(this, "MyCfnInfrastructureConfiguration")
         .instanceProfileName("instanceProfileName")
         .name("name")
         // the properties below are optional
         .description("description")
         .instanceMetadataOptions(InstanceMetadataOptionsProperty.builder()
                 .httpPutResponseHopLimit(123)
                 .httpTokens("httpTokens")
                 .build())
         .instanceTypes(List.of("instanceTypes"))
         .keyPair("keyPair")
         .logging(LoggingProperty.builder()
                 .s3Logs(S3LogsProperty.builder()
                         .s3BucketName("s3BucketName")
                         .s3KeyPrefix("s3KeyPrefix")
                         .build())
                 .build())
         .placement(PlacementProperty.builder()
                 .availabilityZone("availabilityZone")
                 .hostId("hostId")
                 .hostResourceGroupArn("hostResourceGroupArn")
                 .tenancy("tenancy")
                 .build())
         .resourceTags(Map.of(
                 "resourceTagsKey", "resourceTags"))
         .securityGroupIds(List.of("securityGroupIds"))
         .snsTopicArn("snsTopicArn")
         .subnetId("subnetId")
         .tags(Map.of(
                 "tagsKey", "tags"))
         .terminateInstanceOnFailure(false)
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnInfrastructureConfiguration

      protected CfnInfrastructureConfiguration(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnInfrastructureConfiguration

      protected CfnInfrastructureConfiguration(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnInfrastructureConfiguration

      @Stability(Stable) public CfnInfrastructureConfiguration(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnInfrastructureConfigurationProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      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+)?)?$ .

    • getAttrName

      @Stability(Stable) @NotNull public String getAttrName()
      The name of the infrastructure configuration.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getInstanceProfileName

      @Stability(Stable) @NotNull public String getInstanceProfileName()
      The instance profile of the infrastructure configuration.
    • setInstanceProfileName

      @Stability(Stable) public void setInstanceProfileName(@NotNull String value)
      The instance profile of the infrastructure configuration.
    • getName

      @Stability(Stable) @NotNull public String getName()
      The name of the infrastructure configuration.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name of the infrastructure configuration.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      The description of the infrastructure configuration.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      The description of the infrastructure configuration.
    • getInstanceMetadataOptions

      @Stability(Stable) @Nullable public Object getInstanceMetadataOptions()
      The instance metadata option settings for the infrastructure configuration.
    • setInstanceMetadataOptions

      @Stability(Stable) public void setInstanceMetadataOptions(@Nullable IResolvable value)
      The instance metadata option settings for the infrastructure configuration.
    • setInstanceMetadataOptions

      @Stability(Stable) public void setInstanceMetadataOptions(@Nullable CfnInfrastructureConfiguration.InstanceMetadataOptionsProperty value)
      The instance metadata option settings for the infrastructure configuration.
    • getInstanceTypes

      @Stability(Stable) @Nullable public List<String> getInstanceTypes()
      The instance types of the infrastructure configuration.
    • setInstanceTypes

      @Stability(Stable) public void setInstanceTypes(@Nullable List<String> value)
      The instance types of the infrastructure configuration.
    • getKeyPair

      @Stability(Stable) @Nullable public String getKeyPair()
      The Amazon EC2 key pair of the infrastructure configuration.
    • setKeyPair

      @Stability(Stable) public void setKeyPair(@Nullable String value)
      The Amazon EC2 key pair of the infrastructure configuration.
    • getLogging

      @Stability(Stable) @Nullable public Object getLogging()
      The logging configuration defines where Image Builder uploads your logs.
    • setLogging

      @Stability(Stable) public void setLogging(@Nullable IResolvable value)
      The logging configuration defines where Image Builder uploads your logs.
    • setLogging

      @Stability(Stable) public void setLogging(@Nullable CfnInfrastructureConfiguration.LoggingProperty value)
      The logging configuration defines where Image Builder uploads your logs.
    • getPlacement

      @Stability(Stable) @Nullable public Object getPlacement()
      The instance placement settings that define where the instances that are launched from your image will run.
    • setPlacement

      @Stability(Stable) public void setPlacement(@Nullable IResolvable value)
      The instance placement settings that define where the instances that are launched from your image will run.
    • setPlacement

      @Stability(Stable) public void setPlacement(@Nullable CfnInfrastructureConfiguration.PlacementProperty value)
      The instance placement settings that define where the instances that are launched from your image will run.
    • getResourceTags

      @Stability(Stable) @Nullable public Object getResourceTags()
      The tags attached to the resource created by Image Builder.
    • setResourceTags

      @Stability(Stable) public void setResourceTags(@Nullable IResolvable value)
      The tags attached to the resource created by Image Builder.
    • setResourceTags

      @Stability(Stable) public void setResourceTags(@Nullable Map<String,String> value)
      The tags attached to the resource created by Image Builder.
    • getSecurityGroupIds

      @Stability(Stable) @Nullable public List<String> getSecurityGroupIds()
      The security group IDs of the infrastructure configuration.
    • setSecurityGroupIds

      @Stability(Stable) public void setSecurityGroupIds(@Nullable List<String> value)
      The security group IDs of the infrastructure configuration.
    • getSnsTopicArn

      @Stability(Stable) @Nullable public String getSnsTopicArn()
      The Amazon Resource Name (ARN) of the SNS topic for the infrastructure configuration.
    • setSnsTopicArn

      @Stability(Stable) public void setSnsTopicArn(@Nullable String value)
      The Amazon Resource Name (ARN) of the SNS topic for the infrastructure configuration.
    • getSubnetId

      @Stability(Stable) @Nullable public String getSubnetId()
      The subnet ID of the infrastructure configuration.
    • setSubnetId

      @Stability(Stable) public void setSubnetId(@Nullable String value)
      The subnet ID of the infrastructure configuration.
    • getTagsRaw

      @Stability(Stable) @Nullable public Map<String,String> getTagsRaw()
      The tags of the infrastructure configuration.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable Map<String,String> value)
      The tags of the infrastructure configuration.
    • getTerminateInstanceOnFailure

      @Stability(Stable) @Nullable public Object getTerminateInstanceOnFailure()
      The terminate instance on failure configuration of the infrastructure configuration.
    • setTerminateInstanceOnFailure

      @Stability(Stable) public void setTerminateInstanceOnFailure(@Nullable Boolean value)
      The terminate instance on failure configuration of the infrastructure configuration.
    • setTerminateInstanceOnFailure

      @Stability(Stable) public void setTerminateInstanceOnFailure(@Nullable IResolvable value)
      The terminate instance on failure configuration of the infrastructure configuration.