InfrastructureConfigurationArgs

data class InfrastructureConfigurationArgs(val description: Output<String>? = null, val instanceMetadataOptions: Output<InfrastructureConfigurationInstanceMetadataOptionsArgs>? = null, val instanceProfileName: Output<String>? = null, val instanceTypes: Output<List<String>>? = null, val keyPair: Output<String>? = null, val logging: Output<InfrastructureConfigurationLoggingArgs>? = null, val name: Output<String>? = null, val resourceTags: Output<Map<String, String>>? = null, val securityGroupIds: Output<List<String>>? = null, val snsTopicArn: Output<String>? = null, val subnetId: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val terminateInstanceOnFailure: Output<Boolean>? = null) : ConvertibleToJava<InfrastructureConfigurationArgs>

Manages an Image Builder Infrastructure Configuration.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.imagebuilder.InfrastructureConfiguration;
import com.pulumi.aws.imagebuilder.InfrastructureConfigurationArgs;
import com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingArgs;
import com.pulumi.aws.imagebuilder.inputs.InfrastructureConfigurationLoggingS3LogsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new InfrastructureConfiguration("example", InfrastructureConfigurationArgs.builder()
.description("example description")
.instanceProfileName(aws_iam_instance_profile.example().name())
.instanceTypes(
"t2.nano",
"t3.micro")
.keyPair(aws_key_pair.example().key_name())
.securityGroupIds(aws_security_group.example().id())
.snsTopicArn(aws_sns_topic.example().arn())
.subnetId(aws_subnet.main().id())
.terminateInstanceOnFailure(true)
.logging(InfrastructureConfigurationLoggingArgs.builder()
.s3Logs(InfrastructureConfigurationLoggingS3LogsArgs.builder()
.s3BucketName(aws_s3_bucket.example().bucket())
.s3KeyPrefix("logs")
.build())
.build())
.tags(Map.of("foo", "bar"))
.build());
}
}

Import

aws_imagebuilder_infrastructure_configuration can be imported using the Amazon Resource Name (ARN), e.g.,

$ pulumi import aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/example

Constructors

Link copied to clipboard
constructor(description: Output<String>? = null, instanceMetadataOptions: Output<InfrastructureConfigurationInstanceMetadataOptionsArgs>? = null, instanceProfileName: Output<String>? = null, instanceTypes: Output<List<String>>? = null, keyPair: Output<String>? = null, logging: Output<InfrastructureConfigurationLoggingArgs>? = null, name: Output<String>? = null, resourceTags: Output<Map<String, String>>? = null, securityGroupIds: Output<List<String>>? = null, snsTopicArn: Output<String>? = null, subnetId: Output<String>? = null, tags: Output<Map<String, String>>? = null, terminateInstanceOnFailure: Output<Boolean>? = null)

Properties

Link copied to clipboard
val description: Output<String>? = null

Description for the configuration.

Link copied to clipboard

Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below.

Link copied to clipboard
val instanceProfileName: Output<String>? = null

Name of IAM Instance Profile.

Link copied to clipboard
val instanceTypes: Output<List<String>>? = null

Set of EC2 Instance Types.

Link copied to clipboard
val keyPair: Output<String>? = null

Name of EC2 Key Pair.

Link copied to clipboard

Configuration block with logging settings. Detailed below.

Link copied to clipboard
val name: Output<String>? = null

Name for the configuration. The following arguments are optional:

Link copied to clipboard
val resourceTags: Output<Map<String, String>>? = null

Key-value map of resource tags to assign to infrastructure created by the configuration.

Link copied to clipboard
val securityGroupIds: Output<List<String>>? = null

Set of EC2 Security Group identifiers.

Link copied to clipboard
val snsTopicArn: Output<String>? = null

Amazon Resource Name (ARN) of SNS Topic.

Link copied to clipboard
val subnetId: Output<String>? = null

EC2 Subnet identifier. Also requires security_group_ids argument.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value map of resource tags to assign to the configuration. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val terminateInstanceOnFailure: Output<Boolean>? = null

Enable if the instance should be terminated when the pipeline fails. Defaults to false.

Functions

Link copied to clipboard
open override fun toJava(): InfrastructureConfigurationArgs