github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/imagebuilder/infrastructureConfiguration.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package imagebuilder 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Manages an Image Builder Infrastructure Configuration. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := imagebuilder.NewInfrastructureConfiguration(ctx, "example", &imagebuilder.InfrastructureConfigurationArgs{ 33 // Description: pulumi.String("example description"), 34 // InstanceProfileName: pulumi.Any(exampleAwsIamInstanceProfile.Name), 35 // InstanceTypes: pulumi.StringArray{ 36 // pulumi.String("t2.nano"), 37 // pulumi.String("t3.micro"), 38 // }, 39 // KeyPair: pulumi.Any(exampleAwsKeyPair.KeyName), 40 // Name: pulumi.String("example"), 41 // SecurityGroupIds: pulumi.StringArray{ 42 // exampleAwsSecurityGroup.Id, 43 // }, 44 // SnsTopicArn: pulumi.Any(exampleAwsSnsTopic.Arn), 45 // SubnetId: pulumi.Any(main.Id), 46 // TerminateInstanceOnFailure: pulumi.Bool(true), 47 // Logging: &imagebuilder.InfrastructureConfigurationLoggingArgs{ 48 // S3Logs: &imagebuilder.InfrastructureConfigurationLoggingS3LogsArgs{ 49 // S3BucketName: pulumi.Any(exampleAwsS3Bucket.Bucket), 50 // S3KeyPrefix: pulumi.String("logs"), 51 // }, 52 // }, 53 // Tags: pulumi.StringMap{ 54 // "foo": pulumi.String("bar"), 55 // }, 56 // }) 57 // if err != nil { 58 // return err 59 // } 60 // return nil 61 // }) 62 // } 63 // 64 // ``` 65 // <!--End PulumiCodeChooser --> 66 // 67 // ## Import 68 // 69 // Using `pulumi import`, import `aws_imagebuilder_infrastructure_configuration` using the Amazon Resource Name (ARN). For example: 70 // 71 // ```sh 72 // $ pulumi import aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration example arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/example 73 // ``` 74 type InfrastructureConfiguration struct { 75 pulumi.CustomResourceState 76 77 // Amazon Resource Name (ARN) of the configuration. 78 Arn pulumi.StringOutput `pulumi:"arn"` 79 // Date when the configuration was created. 80 DateCreated pulumi.StringOutput `pulumi:"dateCreated"` 81 // Date when the configuration was updated. 82 DateUpdated pulumi.StringOutput `pulumi:"dateUpdated"` 83 // Description for the configuration. 84 Description pulumi.StringPtrOutput `pulumi:"description"` 85 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 86 InstanceMetadataOptions InfrastructureConfigurationInstanceMetadataOptionsPtrOutput `pulumi:"instanceMetadataOptions"` 87 // Name of IAM Instance Profile. 88 InstanceProfileName pulumi.StringOutput `pulumi:"instanceProfileName"` 89 // Set of EC2 Instance Types. 90 InstanceTypes pulumi.StringArrayOutput `pulumi:"instanceTypes"` 91 // Name of EC2 Key Pair. 92 KeyPair pulumi.StringPtrOutput `pulumi:"keyPair"` 93 // Configuration block with logging settings. Detailed below. 94 Logging InfrastructureConfigurationLoggingPtrOutput `pulumi:"logging"` 95 // Name for the configuration. 96 // 97 // The following arguments are optional: 98 Name pulumi.StringOutput `pulumi:"name"` 99 // Key-value map of resource tags to assign to infrastructure created by the configuration. 100 ResourceTags pulumi.StringMapOutput `pulumi:"resourceTags"` 101 // Set of EC2 Security Group identifiers. 102 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 103 // Amazon Resource Name (ARN) of SNS Topic. 104 SnsTopicArn pulumi.StringPtrOutput `pulumi:"snsTopicArn"` 105 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 106 SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` 107 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 108 Tags pulumi.StringMapOutput `pulumi:"tags"` 109 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 110 // 111 // Deprecated: Please use `tags` instead. 112 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 113 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 114 TerminateInstanceOnFailure pulumi.BoolPtrOutput `pulumi:"terminateInstanceOnFailure"` 115 } 116 117 // NewInfrastructureConfiguration registers a new resource with the given unique name, arguments, and options. 118 func NewInfrastructureConfiguration(ctx *pulumi.Context, 119 name string, args *InfrastructureConfigurationArgs, opts ...pulumi.ResourceOption) (*InfrastructureConfiguration, error) { 120 if args == nil { 121 return nil, errors.New("missing one or more required arguments") 122 } 123 124 if args.InstanceProfileName == nil { 125 return nil, errors.New("invalid value for required argument 'InstanceProfileName'") 126 } 127 opts = internal.PkgResourceDefaultOpts(opts) 128 var resource InfrastructureConfiguration 129 err := ctx.RegisterResource("aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration", name, args, &resource, opts...) 130 if err != nil { 131 return nil, err 132 } 133 return &resource, nil 134 } 135 136 // GetInfrastructureConfiguration gets an existing InfrastructureConfiguration resource's state with the given name, ID, and optional 137 // state properties that are used to uniquely qualify the lookup (nil if not required). 138 func GetInfrastructureConfiguration(ctx *pulumi.Context, 139 name string, id pulumi.IDInput, state *InfrastructureConfigurationState, opts ...pulumi.ResourceOption) (*InfrastructureConfiguration, error) { 140 var resource InfrastructureConfiguration 141 err := ctx.ReadResource("aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration", name, id, state, &resource, opts...) 142 if err != nil { 143 return nil, err 144 } 145 return &resource, nil 146 } 147 148 // Input properties used for looking up and filtering InfrastructureConfiguration resources. 149 type infrastructureConfigurationState struct { 150 // Amazon Resource Name (ARN) of the configuration. 151 Arn *string `pulumi:"arn"` 152 // Date when the configuration was created. 153 DateCreated *string `pulumi:"dateCreated"` 154 // Date when the configuration was updated. 155 DateUpdated *string `pulumi:"dateUpdated"` 156 // Description for the configuration. 157 Description *string `pulumi:"description"` 158 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 159 InstanceMetadataOptions *InfrastructureConfigurationInstanceMetadataOptions `pulumi:"instanceMetadataOptions"` 160 // Name of IAM Instance Profile. 161 InstanceProfileName *string `pulumi:"instanceProfileName"` 162 // Set of EC2 Instance Types. 163 InstanceTypes []string `pulumi:"instanceTypes"` 164 // Name of EC2 Key Pair. 165 KeyPair *string `pulumi:"keyPair"` 166 // Configuration block with logging settings. Detailed below. 167 Logging *InfrastructureConfigurationLogging `pulumi:"logging"` 168 // Name for the configuration. 169 // 170 // The following arguments are optional: 171 Name *string `pulumi:"name"` 172 // Key-value map of resource tags to assign to infrastructure created by the configuration. 173 ResourceTags map[string]string `pulumi:"resourceTags"` 174 // Set of EC2 Security Group identifiers. 175 SecurityGroupIds []string `pulumi:"securityGroupIds"` 176 // Amazon Resource Name (ARN) of SNS Topic. 177 SnsTopicArn *string `pulumi:"snsTopicArn"` 178 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 179 SubnetId *string `pulumi:"subnetId"` 180 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 181 Tags map[string]string `pulumi:"tags"` 182 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 183 // 184 // Deprecated: Please use `tags` instead. 185 TagsAll map[string]string `pulumi:"tagsAll"` 186 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 187 TerminateInstanceOnFailure *bool `pulumi:"terminateInstanceOnFailure"` 188 } 189 190 type InfrastructureConfigurationState struct { 191 // Amazon Resource Name (ARN) of the configuration. 192 Arn pulumi.StringPtrInput 193 // Date when the configuration was created. 194 DateCreated pulumi.StringPtrInput 195 // Date when the configuration was updated. 196 DateUpdated pulumi.StringPtrInput 197 // Description for the configuration. 198 Description pulumi.StringPtrInput 199 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 200 InstanceMetadataOptions InfrastructureConfigurationInstanceMetadataOptionsPtrInput 201 // Name of IAM Instance Profile. 202 InstanceProfileName pulumi.StringPtrInput 203 // Set of EC2 Instance Types. 204 InstanceTypes pulumi.StringArrayInput 205 // Name of EC2 Key Pair. 206 KeyPair pulumi.StringPtrInput 207 // Configuration block with logging settings. Detailed below. 208 Logging InfrastructureConfigurationLoggingPtrInput 209 // Name for the configuration. 210 // 211 // The following arguments are optional: 212 Name pulumi.StringPtrInput 213 // Key-value map of resource tags to assign to infrastructure created by the configuration. 214 ResourceTags pulumi.StringMapInput 215 // Set of EC2 Security Group identifiers. 216 SecurityGroupIds pulumi.StringArrayInput 217 // Amazon Resource Name (ARN) of SNS Topic. 218 SnsTopicArn pulumi.StringPtrInput 219 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 220 SubnetId pulumi.StringPtrInput 221 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 222 Tags pulumi.StringMapInput 223 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 224 // 225 // Deprecated: Please use `tags` instead. 226 TagsAll pulumi.StringMapInput 227 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 228 TerminateInstanceOnFailure pulumi.BoolPtrInput 229 } 230 231 func (InfrastructureConfigurationState) ElementType() reflect.Type { 232 return reflect.TypeOf((*infrastructureConfigurationState)(nil)).Elem() 233 } 234 235 type infrastructureConfigurationArgs struct { 236 // Description for the configuration. 237 Description *string `pulumi:"description"` 238 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 239 InstanceMetadataOptions *InfrastructureConfigurationInstanceMetadataOptions `pulumi:"instanceMetadataOptions"` 240 // Name of IAM Instance Profile. 241 InstanceProfileName string `pulumi:"instanceProfileName"` 242 // Set of EC2 Instance Types. 243 InstanceTypes []string `pulumi:"instanceTypes"` 244 // Name of EC2 Key Pair. 245 KeyPair *string `pulumi:"keyPair"` 246 // Configuration block with logging settings. Detailed below. 247 Logging *InfrastructureConfigurationLogging `pulumi:"logging"` 248 // Name for the configuration. 249 // 250 // The following arguments are optional: 251 Name *string `pulumi:"name"` 252 // Key-value map of resource tags to assign to infrastructure created by the configuration. 253 ResourceTags map[string]string `pulumi:"resourceTags"` 254 // Set of EC2 Security Group identifiers. 255 SecurityGroupIds []string `pulumi:"securityGroupIds"` 256 // Amazon Resource Name (ARN) of SNS Topic. 257 SnsTopicArn *string `pulumi:"snsTopicArn"` 258 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 259 SubnetId *string `pulumi:"subnetId"` 260 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 261 Tags map[string]string `pulumi:"tags"` 262 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 263 TerminateInstanceOnFailure *bool `pulumi:"terminateInstanceOnFailure"` 264 } 265 266 // The set of arguments for constructing a InfrastructureConfiguration resource. 267 type InfrastructureConfigurationArgs struct { 268 // Description for the configuration. 269 Description pulumi.StringPtrInput 270 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 271 InstanceMetadataOptions InfrastructureConfigurationInstanceMetadataOptionsPtrInput 272 // Name of IAM Instance Profile. 273 InstanceProfileName pulumi.StringInput 274 // Set of EC2 Instance Types. 275 InstanceTypes pulumi.StringArrayInput 276 // Name of EC2 Key Pair. 277 KeyPair pulumi.StringPtrInput 278 // Configuration block with logging settings. Detailed below. 279 Logging InfrastructureConfigurationLoggingPtrInput 280 // Name for the configuration. 281 // 282 // The following arguments are optional: 283 Name pulumi.StringPtrInput 284 // Key-value map of resource tags to assign to infrastructure created by the configuration. 285 ResourceTags pulumi.StringMapInput 286 // Set of EC2 Security Group identifiers. 287 SecurityGroupIds pulumi.StringArrayInput 288 // Amazon Resource Name (ARN) of SNS Topic. 289 SnsTopicArn pulumi.StringPtrInput 290 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 291 SubnetId pulumi.StringPtrInput 292 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 293 Tags pulumi.StringMapInput 294 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 295 TerminateInstanceOnFailure pulumi.BoolPtrInput 296 } 297 298 func (InfrastructureConfigurationArgs) ElementType() reflect.Type { 299 return reflect.TypeOf((*infrastructureConfigurationArgs)(nil)).Elem() 300 } 301 302 type InfrastructureConfigurationInput interface { 303 pulumi.Input 304 305 ToInfrastructureConfigurationOutput() InfrastructureConfigurationOutput 306 ToInfrastructureConfigurationOutputWithContext(ctx context.Context) InfrastructureConfigurationOutput 307 } 308 309 func (*InfrastructureConfiguration) ElementType() reflect.Type { 310 return reflect.TypeOf((**InfrastructureConfiguration)(nil)).Elem() 311 } 312 313 func (i *InfrastructureConfiguration) ToInfrastructureConfigurationOutput() InfrastructureConfigurationOutput { 314 return i.ToInfrastructureConfigurationOutputWithContext(context.Background()) 315 } 316 317 func (i *InfrastructureConfiguration) ToInfrastructureConfigurationOutputWithContext(ctx context.Context) InfrastructureConfigurationOutput { 318 return pulumi.ToOutputWithContext(ctx, i).(InfrastructureConfigurationOutput) 319 } 320 321 // InfrastructureConfigurationArrayInput is an input type that accepts InfrastructureConfigurationArray and InfrastructureConfigurationArrayOutput values. 322 // You can construct a concrete instance of `InfrastructureConfigurationArrayInput` via: 323 // 324 // InfrastructureConfigurationArray{ InfrastructureConfigurationArgs{...} } 325 type InfrastructureConfigurationArrayInput interface { 326 pulumi.Input 327 328 ToInfrastructureConfigurationArrayOutput() InfrastructureConfigurationArrayOutput 329 ToInfrastructureConfigurationArrayOutputWithContext(context.Context) InfrastructureConfigurationArrayOutput 330 } 331 332 type InfrastructureConfigurationArray []InfrastructureConfigurationInput 333 334 func (InfrastructureConfigurationArray) ElementType() reflect.Type { 335 return reflect.TypeOf((*[]*InfrastructureConfiguration)(nil)).Elem() 336 } 337 338 func (i InfrastructureConfigurationArray) ToInfrastructureConfigurationArrayOutput() InfrastructureConfigurationArrayOutput { 339 return i.ToInfrastructureConfigurationArrayOutputWithContext(context.Background()) 340 } 341 342 func (i InfrastructureConfigurationArray) ToInfrastructureConfigurationArrayOutputWithContext(ctx context.Context) InfrastructureConfigurationArrayOutput { 343 return pulumi.ToOutputWithContext(ctx, i).(InfrastructureConfigurationArrayOutput) 344 } 345 346 // InfrastructureConfigurationMapInput is an input type that accepts InfrastructureConfigurationMap and InfrastructureConfigurationMapOutput values. 347 // You can construct a concrete instance of `InfrastructureConfigurationMapInput` via: 348 // 349 // InfrastructureConfigurationMap{ "key": InfrastructureConfigurationArgs{...} } 350 type InfrastructureConfigurationMapInput interface { 351 pulumi.Input 352 353 ToInfrastructureConfigurationMapOutput() InfrastructureConfigurationMapOutput 354 ToInfrastructureConfigurationMapOutputWithContext(context.Context) InfrastructureConfigurationMapOutput 355 } 356 357 type InfrastructureConfigurationMap map[string]InfrastructureConfigurationInput 358 359 func (InfrastructureConfigurationMap) ElementType() reflect.Type { 360 return reflect.TypeOf((*map[string]*InfrastructureConfiguration)(nil)).Elem() 361 } 362 363 func (i InfrastructureConfigurationMap) ToInfrastructureConfigurationMapOutput() InfrastructureConfigurationMapOutput { 364 return i.ToInfrastructureConfigurationMapOutputWithContext(context.Background()) 365 } 366 367 func (i InfrastructureConfigurationMap) ToInfrastructureConfigurationMapOutputWithContext(ctx context.Context) InfrastructureConfigurationMapOutput { 368 return pulumi.ToOutputWithContext(ctx, i).(InfrastructureConfigurationMapOutput) 369 } 370 371 type InfrastructureConfigurationOutput struct{ *pulumi.OutputState } 372 373 func (InfrastructureConfigurationOutput) ElementType() reflect.Type { 374 return reflect.TypeOf((**InfrastructureConfiguration)(nil)).Elem() 375 } 376 377 func (o InfrastructureConfigurationOutput) ToInfrastructureConfigurationOutput() InfrastructureConfigurationOutput { 378 return o 379 } 380 381 func (o InfrastructureConfigurationOutput) ToInfrastructureConfigurationOutputWithContext(ctx context.Context) InfrastructureConfigurationOutput { 382 return o 383 } 384 385 // Amazon Resource Name (ARN) of the configuration. 386 func (o InfrastructureConfigurationOutput) Arn() pulumi.StringOutput { 387 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 388 } 389 390 // Date when the configuration was created. 391 func (o InfrastructureConfigurationOutput) DateCreated() pulumi.StringOutput { 392 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringOutput { return v.DateCreated }).(pulumi.StringOutput) 393 } 394 395 // Date when the configuration was updated. 396 func (o InfrastructureConfigurationOutput) DateUpdated() pulumi.StringOutput { 397 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringOutput { return v.DateUpdated }).(pulumi.StringOutput) 398 } 399 400 // Description for the configuration. 401 func (o InfrastructureConfigurationOutput) Description() pulumi.StringPtrOutput { 402 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 403 } 404 405 // Configuration block with instance metadata options for the HTTP requests that pipeline builds use to launch EC2 build and test instances. Detailed below. 406 func (o InfrastructureConfigurationOutput) InstanceMetadataOptions() InfrastructureConfigurationInstanceMetadataOptionsPtrOutput { 407 return o.ApplyT(func(v *InfrastructureConfiguration) InfrastructureConfigurationInstanceMetadataOptionsPtrOutput { 408 return v.InstanceMetadataOptions 409 }).(InfrastructureConfigurationInstanceMetadataOptionsPtrOutput) 410 } 411 412 // Name of IAM Instance Profile. 413 func (o InfrastructureConfigurationOutput) InstanceProfileName() pulumi.StringOutput { 414 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringOutput { return v.InstanceProfileName }).(pulumi.StringOutput) 415 } 416 417 // Set of EC2 Instance Types. 418 func (o InfrastructureConfigurationOutput) InstanceTypes() pulumi.StringArrayOutput { 419 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringArrayOutput { return v.InstanceTypes }).(pulumi.StringArrayOutput) 420 } 421 422 // Name of EC2 Key Pair. 423 func (o InfrastructureConfigurationOutput) KeyPair() pulumi.StringPtrOutput { 424 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringPtrOutput { return v.KeyPair }).(pulumi.StringPtrOutput) 425 } 426 427 // Configuration block with logging settings. Detailed below. 428 func (o InfrastructureConfigurationOutput) Logging() InfrastructureConfigurationLoggingPtrOutput { 429 return o.ApplyT(func(v *InfrastructureConfiguration) InfrastructureConfigurationLoggingPtrOutput { return v.Logging }).(InfrastructureConfigurationLoggingPtrOutput) 430 } 431 432 // Name for the configuration. 433 // 434 // The following arguments are optional: 435 func (o InfrastructureConfigurationOutput) Name() pulumi.StringOutput { 436 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 437 } 438 439 // Key-value map of resource tags to assign to infrastructure created by the configuration. 440 func (o InfrastructureConfigurationOutput) ResourceTags() pulumi.StringMapOutput { 441 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringMapOutput { return v.ResourceTags }).(pulumi.StringMapOutput) 442 } 443 444 // Set of EC2 Security Group identifiers. 445 func (o InfrastructureConfigurationOutput) SecurityGroupIds() pulumi.StringArrayOutput { 446 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 447 } 448 449 // Amazon Resource Name (ARN) of SNS Topic. 450 func (o InfrastructureConfigurationOutput) SnsTopicArn() pulumi.StringPtrOutput { 451 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringPtrOutput { return v.SnsTopicArn }).(pulumi.StringPtrOutput) 452 } 453 454 // EC2 Subnet identifier. Also requires `securityGroupIds` argument. 455 func (o InfrastructureConfigurationOutput) SubnetId() pulumi.StringPtrOutput { 456 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) 457 } 458 459 // Key-value map of resource tags to assign to the configuration. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 460 func (o InfrastructureConfigurationOutput) Tags() pulumi.StringMapOutput { 461 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 462 } 463 464 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 465 // 466 // Deprecated: Please use `tags` instead. 467 func (o InfrastructureConfigurationOutput) TagsAll() pulumi.StringMapOutput { 468 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 469 } 470 471 // Enable if the instance should be terminated when the pipeline fails. Defaults to `false`. 472 func (o InfrastructureConfigurationOutput) TerminateInstanceOnFailure() pulumi.BoolPtrOutput { 473 return o.ApplyT(func(v *InfrastructureConfiguration) pulumi.BoolPtrOutput { return v.TerminateInstanceOnFailure }).(pulumi.BoolPtrOutput) 474 } 475 476 type InfrastructureConfigurationArrayOutput struct{ *pulumi.OutputState } 477 478 func (InfrastructureConfigurationArrayOutput) ElementType() reflect.Type { 479 return reflect.TypeOf((*[]*InfrastructureConfiguration)(nil)).Elem() 480 } 481 482 func (o InfrastructureConfigurationArrayOutput) ToInfrastructureConfigurationArrayOutput() InfrastructureConfigurationArrayOutput { 483 return o 484 } 485 486 func (o InfrastructureConfigurationArrayOutput) ToInfrastructureConfigurationArrayOutputWithContext(ctx context.Context) InfrastructureConfigurationArrayOutput { 487 return o 488 } 489 490 func (o InfrastructureConfigurationArrayOutput) Index(i pulumi.IntInput) InfrastructureConfigurationOutput { 491 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InfrastructureConfiguration { 492 return vs[0].([]*InfrastructureConfiguration)[vs[1].(int)] 493 }).(InfrastructureConfigurationOutput) 494 } 495 496 type InfrastructureConfigurationMapOutput struct{ *pulumi.OutputState } 497 498 func (InfrastructureConfigurationMapOutput) ElementType() reflect.Type { 499 return reflect.TypeOf((*map[string]*InfrastructureConfiguration)(nil)).Elem() 500 } 501 502 func (o InfrastructureConfigurationMapOutput) ToInfrastructureConfigurationMapOutput() InfrastructureConfigurationMapOutput { 503 return o 504 } 505 506 func (o InfrastructureConfigurationMapOutput) ToInfrastructureConfigurationMapOutputWithContext(ctx context.Context) InfrastructureConfigurationMapOutput { 507 return o 508 } 509 510 func (o InfrastructureConfigurationMapOutput) MapIndex(k pulumi.StringInput) InfrastructureConfigurationOutput { 511 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InfrastructureConfiguration { 512 return vs[0].(map[string]*InfrastructureConfiguration)[vs[1].(string)] 513 }).(InfrastructureConfigurationOutput) 514 } 515 516 func init() { 517 pulumi.RegisterInputType(reflect.TypeOf((*InfrastructureConfigurationInput)(nil)).Elem(), &InfrastructureConfiguration{}) 518 pulumi.RegisterInputType(reflect.TypeOf((*InfrastructureConfigurationArrayInput)(nil)).Elem(), InfrastructureConfigurationArray{}) 519 pulumi.RegisterInputType(reflect.TypeOf((*InfrastructureConfigurationMapInput)(nil)).Elem(), InfrastructureConfigurationMap{}) 520 pulumi.RegisterOutputType(InfrastructureConfigurationOutput{}) 521 pulumi.RegisterOutputType(InfrastructureConfigurationArrayOutput{}) 522 pulumi.RegisterOutputType(InfrastructureConfigurationMapOutput{}) 523 }