Infrastructure Configuration Args
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
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.imagebuilder.InfrastructureConfiguration("example", {
description: "example description",
instanceProfileName: exampleAwsIamInstanceProfile.name,
instanceTypes: [
"t2.nano",
"t3.micro",
],
keyPair: exampleAwsKeyPair.keyName,
name: "example",
securityGroupIds: [exampleAwsSecurityGroup.id],
snsTopicArn: exampleAwsSnsTopic.arn,
subnetId: main.id,
terminateInstanceOnFailure: true,
logging: {
s3Logs: {
s3BucketName: exampleAwsS3Bucket.bucket,
s3KeyPrefix: "logs",
},
},
tags: {
foo: "bar",
},
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.imagebuilder.InfrastructureConfiguration("example",
description="example description",
instance_profile_name=example_aws_iam_instance_profile["name"],
instance_types=[
"t2.nano",
"t3.micro",
],
key_pair=example_aws_key_pair["keyName"],
name="example",
security_group_ids=[example_aws_security_group["id"]],
sns_topic_arn=example_aws_sns_topic["arn"],
subnet_id=main["id"],
terminate_instance_on_failure=True,
logging=aws.imagebuilder.InfrastructureConfigurationLoggingArgs(
s3_logs=aws.imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs(
s3_bucket_name=example_aws_s3_bucket["bucket"],
s3_key_prefix="logs",
),
),
tags={
"foo": "bar",
})Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ImageBuilder.InfrastructureConfiguration("example", new()
{
Description = "example description",
InstanceProfileName = exampleAwsIamInstanceProfile.Name,
InstanceTypes = new[]
{
"t2.nano",
"t3.micro",
},
KeyPair = exampleAwsKeyPair.KeyName,
Name = "example",
SecurityGroupIds = new[]
{
exampleAwsSecurityGroup.Id,
},
SnsTopicArn = exampleAwsSnsTopic.Arn,
SubnetId = main.Id,
TerminateInstanceOnFailure = true,
Logging = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingArgs
{
S3Logs = new Aws.ImageBuilder.Inputs.InfrastructureConfigurationLoggingS3LogsArgs
{
S3BucketName = exampleAwsS3Bucket.Bucket,
S3KeyPrefix = "logs",
},
},
Tags =
{
{ "foo", "bar" },
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := imagebuilder.NewInfrastructureConfiguration(ctx, "example", &imagebuilder.InfrastructureConfigurationArgs{
Description: pulumi.String("example description"),
InstanceProfileName: pulumi.Any(exampleAwsIamInstanceProfile.Name),
InstanceTypes: pulumi.StringArray{
pulumi.String("t2.nano"),
pulumi.String("t3.micro"),
},
KeyPair: pulumi.Any(exampleAwsKeyPair.KeyName),
Name: pulumi.String("example"),
SecurityGroupIds: pulumi.StringArray{
exampleAwsSecurityGroup.Id,
},
SnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),
SubnetId: pulumi.Any(main.Id),
TerminateInstanceOnFailure: pulumi.Bool(true),
Logging: &imagebuilder.InfrastructureConfigurationLoggingArgs{
S3Logs: &imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs{
S3BucketName: pulumi.Any(exampleAwsS3Bucket.Bucket),
S3KeyPrefix: pulumi.String("logs"),
},
},
Tags: pulumi.StringMap{
"foo": pulumi.String("bar"),
},
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
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(exampleAwsIamInstanceProfile.name())
.instanceTypes(
"t2.nano",
"t3.micro")
.keyPair(exampleAwsKeyPair.keyName())
.name("example")
.securityGroupIds(exampleAwsSecurityGroup.id())
.snsTopicArn(exampleAwsSnsTopic.arn())
.subnetId(main.id())
.terminateInstanceOnFailure(true)
.logging(InfrastructureConfigurationLoggingArgs.builder()
.s3Logs(InfrastructureConfigurationLoggingS3LogsArgs.builder()
.s3BucketName(exampleAwsS3Bucket.bucket())
.s3KeyPrefix("logs")
.build())
.build())
.tags(Map.of("foo", "bar"))
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:imagebuilder:InfrastructureConfiguration
properties:
description: example description
instanceProfileName: ${exampleAwsIamInstanceProfile.name}
instanceTypes:
- t2.nano
- t3.micro
keyPair: ${exampleAwsKeyPair.keyName}
name: example
securityGroupIds:
- ${exampleAwsSecurityGroup.id}
snsTopicArn: ${exampleAwsSnsTopic.arn}
subnetId: ${main.id}
terminateInstanceOnFailure: true
logging:
s3Logs:
s3BucketName: ${exampleAwsS3Bucket.bucket}
s3KeyPrefix: logs
tags:
foo: barContent copied to clipboard
Import
Using pulumi import, import aws_imagebuilder_infrastructure_configuration using the Amazon Resource Name (ARN). For example:
$ pulumi import aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/exampleContent copied to clipboard
Constructors
Link copied to clipboard
fun InfrastructureConfigurationArgs(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)