Class CfnInfrastructureConfiguration

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:57.457Z") @Stability(Stable) public class CfnInfrastructureConfiguration extends CfnResource implements IInspectable
A CloudFormation AWS::ImageBuilder::InfrastructureConfiguration.

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

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())
         .resourceTags(Map.of(
                 "resourceTagsKey", "resourceTags"))
         .securityGroupIds(List.of("securityGroupIds"))
         .snsTopicArn("snsTopicArn")
         .subnetId("subnetId")
         .tags(Map.of(
                 "tagsKey", "tags"))
         .terminateInstanceOnFailure(false)
         .build();
 
  • 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 Construct scope, @NotNull String id, @NotNull CfnInfrastructureConfigurationProps props)
      Create a new AWS::ImageBuilder::InfrastructureConfiguration.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      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()
      The tags of the infrastructure configuration.
    • 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.
    • 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.
    • 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.