github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/imagebuilder/imageRecipe.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 Image Recipe. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "fmt" 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := imagebuilder.NewImageRecipe(ctx, "example", &imagebuilder.ImageRecipeArgs{ 35 // BlockDeviceMappings: imagebuilder.ImageRecipeBlockDeviceMappingArray{ 36 // &imagebuilder.ImageRecipeBlockDeviceMappingArgs{ 37 // DeviceName: pulumi.String("/dev/xvdb"), 38 // Ebs: &imagebuilder.ImageRecipeBlockDeviceMappingEbsArgs{ 39 // DeleteOnTermination: pulumi.String("true"), 40 // VolumeSize: pulumi.Int(100), 41 // VolumeType: pulumi.String("gp2"), 42 // }, 43 // }, 44 // }, 45 // Components: imagebuilder.ImageRecipeComponentArray{ 46 // &imagebuilder.ImageRecipeComponentArgs{ 47 // ComponentArn: pulumi.Any(exampleAwsImagebuilderComponent.Arn), 48 // Parameters: imagebuilder.ImageRecipeComponentParameterArray{ 49 // &imagebuilder.ImageRecipeComponentParameterArgs{ 50 // Name: pulumi.String("Parameter1"), 51 // Value: pulumi.String("Value1"), 52 // }, 53 // &imagebuilder.ImageRecipeComponentParameterArgs{ 54 // Name: pulumi.String("Parameter2"), 55 // Value: pulumi.String("Value2"), 56 // }, 57 // }, 58 // }, 59 // }, 60 // Name: pulumi.String("example"), 61 // ParentImage: pulumi.String(fmt.Sprintf("arn:%v:imagebuilder:%v:aws:image/amazon-linux-2-x86/x.x.x", current.Partition, currentAwsRegion.Name)), 62 // Version: pulumi.String("1.0.0"), 63 // }) 64 // if err != nil { 65 // return err 66 // } 67 // return nil 68 // }) 69 // } 70 // 71 // ``` 72 // <!--End PulumiCodeChooser --> 73 // 74 // ## Import 75 // 76 // Using `pulumi import`, import `aws_imagebuilder_image_recipe` resources using the Amazon Resource Name (ARN). For example: 77 // 78 // ```sh 79 // $ pulumi import aws:imagebuilder/imageRecipe:ImageRecipe example arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/example/1.0.0 80 // ``` 81 type ImageRecipe struct { 82 pulumi.CustomResourceState 83 84 // (Required) Amazon Resource Name (ARN) of the image recipe. 85 Arn pulumi.StringOutput `pulumi:"arn"` 86 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 87 BlockDeviceMappings ImageRecipeBlockDeviceMappingArrayOutput `pulumi:"blockDeviceMappings"` 88 // Ordered configuration block(s) with components for the image recipe. Detailed below. 89 Components ImageRecipeComponentArrayOutput `pulumi:"components"` 90 // Date the image recipe was created. 91 DateCreated pulumi.StringOutput `pulumi:"dateCreated"` 92 // Description of the image recipe. 93 Description pulumi.StringPtrOutput `pulumi:"description"` 94 // Name of the image recipe. 95 Name pulumi.StringOutput `pulumi:"name"` 96 // Owner of the image recipe. 97 Owner pulumi.StringOutput `pulumi:"owner"` 98 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 99 ParentImage pulumi.StringOutput `pulumi:"parentImage"` 100 // Platform of the image recipe. 101 Platform pulumi.StringOutput `pulumi:"platform"` 102 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 103 SystemsManagerAgent ImageRecipeSystemsManagerAgentOutput `pulumi:"systemsManagerAgent"` 104 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 105 Tags pulumi.StringMapOutput `pulumi:"tags"` 106 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 107 // 108 // Deprecated: Please use `tags` instead. 109 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 110 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 111 UserDataBase64 pulumi.StringOutput `pulumi:"userDataBase64"` 112 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 113 // 114 // The following attributes are optional: 115 Version pulumi.StringOutput `pulumi:"version"` 116 // The working directory to be used during build and test workflows. 117 WorkingDirectory pulumi.StringPtrOutput `pulumi:"workingDirectory"` 118 } 119 120 // NewImageRecipe registers a new resource with the given unique name, arguments, and options. 121 func NewImageRecipe(ctx *pulumi.Context, 122 name string, args *ImageRecipeArgs, opts ...pulumi.ResourceOption) (*ImageRecipe, error) { 123 if args == nil { 124 return nil, errors.New("missing one or more required arguments") 125 } 126 127 if args.Components == nil { 128 return nil, errors.New("invalid value for required argument 'Components'") 129 } 130 if args.ParentImage == nil { 131 return nil, errors.New("invalid value for required argument 'ParentImage'") 132 } 133 if args.Version == nil { 134 return nil, errors.New("invalid value for required argument 'Version'") 135 } 136 opts = internal.PkgResourceDefaultOpts(opts) 137 var resource ImageRecipe 138 err := ctx.RegisterResource("aws:imagebuilder/imageRecipe:ImageRecipe", name, args, &resource, opts...) 139 if err != nil { 140 return nil, err 141 } 142 return &resource, nil 143 } 144 145 // GetImageRecipe gets an existing ImageRecipe resource's state with the given name, ID, and optional 146 // state properties that are used to uniquely qualify the lookup (nil if not required). 147 func GetImageRecipe(ctx *pulumi.Context, 148 name string, id pulumi.IDInput, state *ImageRecipeState, opts ...pulumi.ResourceOption) (*ImageRecipe, error) { 149 var resource ImageRecipe 150 err := ctx.ReadResource("aws:imagebuilder/imageRecipe:ImageRecipe", name, id, state, &resource, opts...) 151 if err != nil { 152 return nil, err 153 } 154 return &resource, nil 155 } 156 157 // Input properties used for looking up and filtering ImageRecipe resources. 158 type imageRecipeState struct { 159 // (Required) Amazon Resource Name (ARN) of the image recipe. 160 Arn *string `pulumi:"arn"` 161 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 162 BlockDeviceMappings []ImageRecipeBlockDeviceMapping `pulumi:"blockDeviceMappings"` 163 // Ordered configuration block(s) with components for the image recipe. Detailed below. 164 Components []ImageRecipeComponent `pulumi:"components"` 165 // Date the image recipe was created. 166 DateCreated *string `pulumi:"dateCreated"` 167 // Description of the image recipe. 168 Description *string `pulumi:"description"` 169 // Name of the image recipe. 170 Name *string `pulumi:"name"` 171 // Owner of the image recipe. 172 Owner *string `pulumi:"owner"` 173 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 174 ParentImage *string `pulumi:"parentImage"` 175 // Platform of the image recipe. 176 Platform *string `pulumi:"platform"` 177 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 178 SystemsManagerAgent *ImageRecipeSystemsManagerAgent `pulumi:"systemsManagerAgent"` 179 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 180 Tags map[string]string `pulumi:"tags"` 181 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 182 // 183 // Deprecated: Please use `tags` instead. 184 TagsAll map[string]string `pulumi:"tagsAll"` 185 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 186 UserDataBase64 *string `pulumi:"userDataBase64"` 187 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 188 // 189 // The following attributes are optional: 190 Version *string `pulumi:"version"` 191 // The working directory to be used during build and test workflows. 192 WorkingDirectory *string `pulumi:"workingDirectory"` 193 } 194 195 type ImageRecipeState struct { 196 // (Required) Amazon Resource Name (ARN) of the image recipe. 197 Arn pulumi.StringPtrInput 198 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 199 BlockDeviceMappings ImageRecipeBlockDeviceMappingArrayInput 200 // Ordered configuration block(s) with components for the image recipe. Detailed below. 201 Components ImageRecipeComponentArrayInput 202 // Date the image recipe was created. 203 DateCreated pulumi.StringPtrInput 204 // Description of the image recipe. 205 Description pulumi.StringPtrInput 206 // Name of the image recipe. 207 Name pulumi.StringPtrInput 208 // Owner of the image recipe. 209 Owner pulumi.StringPtrInput 210 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 211 ParentImage pulumi.StringPtrInput 212 // Platform of the image recipe. 213 Platform pulumi.StringPtrInput 214 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 215 SystemsManagerAgent ImageRecipeSystemsManagerAgentPtrInput 216 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 217 Tags pulumi.StringMapInput 218 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 219 // 220 // Deprecated: Please use `tags` instead. 221 TagsAll pulumi.StringMapInput 222 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 223 UserDataBase64 pulumi.StringPtrInput 224 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 225 // 226 // The following attributes are optional: 227 Version pulumi.StringPtrInput 228 // The working directory to be used during build and test workflows. 229 WorkingDirectory pulumi.StringPtrInput 230 } 231 232 func (ImageRecipeState) ElementType() reflect.Type { 233 return reflect.TypeOf((*imageRecipeState)(nil)).Elem() 234 } 235 236 type imageRecipeArgs struct { 237 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 238 BlockDeviceMappings []ImageRecipeBlockDeviceMapping `pulumi:"blockDeviceMappings"` 239 // Ordered configuration block(s) with components for the image recipe. Detailed below. 240 Components []ImageRecipeComponent `pulumi:"components"` 241 // Description of the image recipe. 242 Description *string `pulumi:"description"` 243 // Name of the image recipe. 244 Name *string `pulumi:"name"` 245 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 246 ParentImage string `pulumi:"parentImage"` 247 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 248 SystemsManagerAgent *ImageRecipeSystemsManagerAgent `pulumi:"systemsManagerAgent"` 249 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 250 Tags map[string]string `pulumi:"tags"` 251 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 252 UserDataBase64 *string `pulumi:"userDataBase64"` 253 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 254 // 255 // The following attributes are optional: 256 Version string `pulumi:"version"` 257 // The working directory to be used during build and test workflows. 258 WorkingDirectory *string `pulumi:"workingDirectory"` 259 } 260 261 // The set of arguments for constructing a ImageRecipe resource. 262 type ImageRecipeArgs struct { 263 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 264 BlockDeviceMappings ImageRecipeBlockDeviceMappingArrayInput 265 // Ordered configuration block(s) with components for the image recipe. Detailed below. 266 Components ImageRecipeComponentArrayInput 267 // Description of the image recipe. 268 Description pulumi.StringPtrInput 269 // Name of the image recipe. 270 Name pulumi.StringPtrInput 271 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 272 ParentImage pulumi.StringInput 273 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 274 SystemsManagerAgent ImageRecipeSystemsManagerAgentPtrInput 275 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 276 Tags pulumi.StringMapInput 277 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 278 UserDataBase64 pulumi.StringPtrInput 279 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 280 // 281 // The following attributes are optional: 282 Version pulumi.StringInput 283 // The working directory to be used during build and test workflows. 284 WorkingDirectory pulumi.StringPtrInput 285 } 286 287 func (ImageRecipeArgs) ElementType() reflect.Type { 288 return reflect.TypeOf((*imageRecipeArgs)(nil)).Elem() 289 } 290 291 type ImageRecipeInput interface { 292 pulumi.Input 293 294 ToImageRecipeOutput() ImageRecipeOutput 295 ToImageRecipeOutputWithContext(ctx context.Context) ImageRecipeOutput 296 } 297 298 func (*ImageRecipe) ElementType() reflect.Type { 299 return reflect.TypeOf((**ImageRecipe)(nil)).Elem() 300 } 301 302 func (i *ImageRecipe) ToImageRecipeOutput() ImageRecipeOutput { 303 return i.ToImageRecipeOutputWithContext(context.Background()) 304 } 305 306 func (i *ImageRecipe) ToImageRecipeOutputWithContext(ctx context.Context) ImageRecipeOutput { 307 return pulumi.ToOutputWithContext(ctx, i).(ImageRecipeOutput) 308 } 309 310 // ImageRecipeArrayInput is an input type that accepts ImageRecipeArray and ImageRecipeArrayOutput values. 311 // You can construct a concrete instance of `ImageRecipeArrayInput` via: 312 // 313 // ImageRecipeArray{ ImageRecipeArgs{...} } 314 type ImageRecipeArrayInput interface { 315 pulumi.Input 316 317 ToImageRecipeArrayOutput() ImageRecipeArrayOutput 318 ToImageRecipeArrayOutputWithContext(context.Context) ImageRecipeArrayOutput 319 } 320 321 type ImageRecipeArray []ImageRecipeInput 322 323 func (ImageRecipeArray) ElementType() reflect.Type { 324 return reflect.TypeOf((*[]*ImageRecipe)(nil)).Elem() 325 } 326 327 func (i ImageRecipeArray) ToImageRecipeArrayOutput() ImageRecipeArrayOutput { 328 return i.ToImageRecipeArrayOutputWithContext(context.Background()) 329 } 330 331 func (i ImageRecipeArray) ToImageRecipeArrayOutputWithContext(ctx context.Context) ImageRecipeArrayOutput { 332 return pulumi.ToOutputWithContext(ctx, i).(ImageRecipeArrayOutput) 333 } 334 335 // ImageRecipeMapInput is an input type that accepts ImageRecipeMap and ImageRecipeMapOutput values. 336 // You can construct a concrete instance of `ImageRecipeMapInput` via: 337 // 338 // ImageRecipeMap{ "key": ImageRecipeArgs{...} } 339 type ImageRecipeMapInput interface { 340 pulumi.Input 341 342 ToImageRecipeMapOutput() ImageRecipeMapOutput 343 ToImageRecipeMapOutputWithContext(context.Context) ImageRecipeMapOutput 344 } 345 346 type ImageRecipeMap map[string]ImageRecipeInput 347 348 func (ImageRecipeMap) ElementType() reflect.Type { 349 return reflect.TypeOf((*map[string]*ImageRecipe)(nil)).Elem() 350 } 351 352 func (i ImageRecipeMap) ToImageRecipeMapOutput() ImageRecipeMapOutput { 353 return i.ToImageRecipeMapOutputWithContext(context.Background()) 354 } 355 356 func (i ImageRecipeMap) ToImageRecipeMapOutputWithContext(ctx context.Context) ImageRecipeMapOutput { 357 return pulumi.ToOutputWithContext(ctx, i).(ImageRecipeMapOutput) 358 } 359 360 type ImageRecipeOutput struct{ *pulumi.OutputState } 361 362 func (ImageRecipeOutput) ElementType() reflect.Type { 363 return reflect.TypeOf((**ImageRecipe)(nil)).Elem() 364 } 365 366 func (o ImageRecipeOutput) ToImageRecipeOutput() ImageRecipeOutput { 367 return o 368 } 369 370 func (o ImageRecipeOutput) ToImageRecipeOutputWithContext(ctx context.Context) ImageRecipeOutput { 371 return o 372 } 373 374 // (Required) Amazon Resource Name (ARN) of the image recipe. 375 func (o ImageRecipeOutput) Arn() pulumi.StringOutput { 376 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 377 } 378 379 // Configuration block(s) with block device mappings for the image recipe. Detailed below. 380 func (o ImageRecipeOutput) BlockDeviceMappings() ImageRecipeBlockDeviceMappingArrayOutput { 381 return o.ApplyT(func(v *ImageRecipe) ImageRecipeBlockDeviceMappingArrayOutput { return v.BlockDeviceMappings }).(ImageRecipeBlockDeviceMappingArrayOutput) 382 } 383 384 // Ordered configuration block(s) with components for the image recipe. Detailed below. 385 func (o ImageRecipeOutput) Components() ImageRecipeComponentArrayOutput { 386 return o.ApplyT(func(v *ImageRecipe) ImageRecipeComponentArrayOutput { return v.Components }).(ImageRecipeComponentArrayOutput) 387 } 388 389 // Date the image recipe was created. 390 func (o ImageRecipeOutput) DateCreated() pulumi.StringOutput { 391 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.DateCreated }).(pulumi.StringOutput) 392 } 393 394 // Description of the image recipe. 395 func (o ImageRecipeOutput) Description() pulumi.StringPtrOutput { 396 return o.ApplyT(func(v *ImageRecipe) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 397 } 398 399 // Name of the image recipe. 400 func (o ImageRecipeOutput) Name() pulumi.StringOutput { 401 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 402 } 403 404 // Owner of the image recipe. 405 func (o ImageRecipeOutput) Owner() pulumi.StringOutput { 406 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) 407 } 408 409 // The image recipe uses this image as a base from which to build your customized image. The value can be the base image ARN or an AMI ID. 410 func (o ImageRecipeOutput) ParentImage() pulumi.StringOutput { 411 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.ParentImage }).(pulumi.StringOutput) 412 } 413 414 // Platform of the image recipe. 415 func (o ImageRecipeOutput) Platform() pulumi.StringOutput { 416 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.Platform }).(pulumi.StringOutput) 417 } 418 419 // Configuration block for the Systems Manager Agent installed by default by Image Builder. Detailed below. 420 func (o ImageRecipeOutput) SystemsManagerAgent() ImageRecipeSystemsManagerAgentOutput { 421 return o.ApplyT(func(v *ImageRecipe) ImageRecipeSystemsManagerAgentOutput { return v.SystemsManagerAgent }).(ImageRecipeSystemsManagerAgentOutput) 422 } 423 424 // Key-value map of resource tags for the image recipe. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 425 func (o ImageRecipeOutput) Tags() pulumi.StringMapOutput { 426 return o.ApplyT(func(v *ImageRecipe) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 427 } 428 429 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 430 // 431 // Deprecated: Please use `tags` instead. 432 func (o ImageRecipeOutput) TagsAll() pulumi.StringMapOutput { 433 return o.ApplyT(func(v *ImageRecipe) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 434 } 435 436 // Base64 encoded user data. Use this to provide commands or a command script to run when you launch your build instance. 437 func (o ImageRecipeOutput) UserDataBase64() pulumi.StringOutput { 438 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.UserDataBase64 }).(pulumi.StringOutput) 439 } 440 441 // The semantic version of the image recipe, which specifies the version in the following format, with numeric values in each position to indicate a specific version: major.minor.patch. For example: 1.0.0. 442 // 443 // The following attributes are optional: 444 func (o ImageRecipeOutput) Version() pulumi.StringOutput { 445 return o.ApplyT(func(v *ImageRecipe) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) 446 } 447 448 // The working directory to be used during build and test workflows. 449 func (o ImageRecipeOutput) WorkingDirectory() pulumi.StringPtrOutput { 450 return o.ApplyT(func(v *ImageRecipe) pulumi.StringPtrOutput { return v.WorkingDirectory }).(pulumi.StringPtrOutput) 451 } 452 453 type ImageRecipeArrayOutput struct{ *pulumi.OutputState } 454 455 func (ImageRecipeArrayOutput) ElementType() reflect.Type { 456 return reflect.TypeOf((*[]*ImageRecipe)(nil)).Elem() 457 } 458 459 func (o ImageRecipeArrayOutput) ToImageRecipeArrayOutput() ImageRecipeArrayOutput { 460 return o 461 } 462 463 func (o ImageRecipeArrayOutput) ToImageRecipeArrayOutputWithContext(ctx context.Context) ImageRecipeArrayOutput { 464 return o 465 } 466 467 func (o ImageRecipeArrayOutput) Index(i pulumi.IntInput) ImageRecipeOutput { 468 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ImageRecipe { 469 return vs[0].([]*ImageRecipe)[vs[1].(int)] 470 }).(ImageRecipeOutput) 471 } 472 473 type ImageRecipeMapOutput struct{ *pulumi.OutputState } 474 475 func (ImageRecipeMapOutput) ElementType() reflect.Type { 476 return reflect.TypeOf((*map[string]*ImageRecipe)(nil)).Elem() 477 } 478 479 func (o ImageRecipeMapOutput) ToImageRecipeMapOutput() ImageRecipeMapOutput { 480 return o 481 } 482 483 func (o ImageRecipeMapOutput) ToImageRecipeMapOutputWithContext(ctx context.Context) ImageRecipeMapOutput { 484 return o 485 } 486 487 func (o ImageRecipeMapOutput) MapIndex(k pulumi.StringInput) ImageRecipeOutput { 488 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ImageRecipe { 489 return vs[0].(map[string]*ImageRecipe)[vs[1].(string)] 490 }).(ImageRecipeOutput) 491 } 492 493 func init() { 494 pulumi.RegisterInputType(reflect.TypeOf((*ImageRecipeInput)(nil)).Elem(), &ImageRecipe{}) 495 pulumi.RegisterInputType(reflect.TypeOf((*ImageRecipeArrayInput)(nil)).Elem(), ImageRecipeArray{}) 496 pulumi.RegisterInputType(reflect.TypeOf((*ImageRecipeMapInput)(nil)).Elem(), ImageRecipeMap{}) 497 pulumi.RegisterOutputType(ImageRecipeOutput{}) 498 pulumi.RegisterOutputType(ImageRecipeArrayOutput{}) 499 pulumi.RegisterOutputType(ImageRecipeMapOutput{}) 500 }