github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appmesh/virtualNode.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 appmesh 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 // Provides an AWS App Mesh virtual node resource. 16 // 17 // ## Breaking Changes 18 // 19 // Because of backward incompatible API changes (read [here](https://github.com/awslabs/aws-app-mesh-examples/issues/92)), `appmesh.VirtualNode` resource definitions created with provider versions earlier than v2.3.0 will need to be modified: 20 // 21 // * Rename the `serviceName` attribute of the `dns` object to `hostname`. 22 // 23 // * Replace the `backends` attribute of the `spec` object with one or more `backend` configuration blocks, 24 // setting `virtualServiceName` to the name of the service. 25 // 26 // The state associated with existing resources will automatically be migrated. 27 // 28 // ## Example Usage 29 // 30 // ### Basic 31 // 32 // <!--Start PulumiCodeChooser --> 33 // ```go 34 // package main 35 // 36 // import ( 37 // 38 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh" 39 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 40 // 41 // ) 42 // 43 // func main() { 44 // pulumi.Run(func(ctx *pulumi.Context) error { 45 // _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{ 46 // Name: pulumi.String("serviceBv1"), 47 // MeshName: pulumi.Any(simple.Id), 48 // Spec: &appmesh.VirtualNodeSpecArgs{ 49 // Backends: appmesh.VirtualNodeSpecBackendArray{ 50 // &appmesh.VirtualNodeSpecBackendArgs{ 51 // VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{ 52 // VirtualServiceName: pulumi.String("servicea.simpleapp.local"), 53 // }, 54 // }, 55 // }, 56 // Listeners: appmesh.VirtualNodeSpecListenerArray{ 57 // &appmesh.VirtualNodeSpecListenerArgs{ 58 // PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{ 59 // Port: pulumi.Int(8080), 60 // Protocol: pulumi.String("http"), 61 // }, 62 // }, 63 // }, 64 // ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{ 65 // Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{ 66 // Hostname: pulumi.String("serviceb.simpleapp.local"), 67 // }, 68 // }, 69 // }, 70 // }) 71 // if err != nil { 72 // return err 73 // } 74 // return nil 75 // }) 76 // } 77 // 78 // ``` 79 // <!--End PulumiCodeChooser --> 80 // 81 // ### AWS Cloud Map Service Discovery 82 // 83 // <!--Start PulumiCodeChooser --> 84 // ```go 85 // package main 86 // 87 // import ( 88 // 89 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh" 90 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery" 91 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 92 // 93 // ) 94 // 95 // func main() { 96 // pulumi.Run(func(ctx *pulumi.Context) error { 97 // example, err := servicediscovery.NewHttpNamespace(ctx, "example", &servicediscovery.HttpNamespaceArgs{ 98 // Name: pulumi.String("example-ns"), 99 // }) 100 // if err != nil { 101 // return err 102 // } 103 // _, err = appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{ 104 // Name: pulumi.String("serviceBv1"), 105 // MeshName: pulumi.Any(simple.Id), 106 // Spec: &appmesh.VirtualNodeSpecArgs{ 107 // Backends: appmesh.VirtualNodeSpecBackendArray{ 108 // &appmesh.VirtualNodeSpecBackendArgs{ 109 // VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{ 110 // VirtualServiceName: pulumi.String("servicea.simpleapp.local"), 111 // }, 112 // }, 113 // }, 114 // Listeners: appmesh.VirtualNodeSpecListenerArray{ 115 // &appmesh.VirtualNodeSpecListenerArgs{ 116 // PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{ 117 // Port: pulumi.Int(8080), 118 // Protocol: pulumi.String("http"), 119 // }, 120 // }, 121 // }, 122 // ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{ 123 // AwsCloudMap: &appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{ 124 // Attributes: pulumi.StringMap{ 125 // "stack": pulumi.String("blue"), 126 // }, 127 // ServiceName: pulumi.String("serviceb1"), 128 // NamespaceName: example.Name, 129 // }, 130 // }, 131 // }, 132 // }) 133 // if err != nil { 134 // return err 135 // } 136 // return nil 137 // }) 138 // } 139 // 140 // ``` 141 // <!--End PulumiCodeChooser --> 142 // 143 // ### Listener Health Check 144 // 145 // <!--Start PulumiCodeChooser --> 146 // ```go 147 // package main 148 // 149 // import ( 150 // 151 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh" 152 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 153 // 154 // ) 155 // 156 // func main() { 157 // pulumi.Run(func(ctx *pulumi.Context) error { 158 // _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{ 159 // Name: pulumi.String("serviceBv1"), 160 // MeshName: pulumi.Any(simple.Id), 161 // Spec: &appmesh.VirtualNodeSpecArgs{ 162 // Backends: appmesh.VirtualNodeSpecBackendArray{ 163 // &appmesh.VirtualNodeSpecBackendArgs{ 164 // VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{ 165 // VirtualServiceName: pulumi.String("servicea.simpleapp.local"), 166 // }, 167 // }, 168 // }, 169 // Listeners: appmesh.VirtualNodeSpecListenerArray{ 170 // &appmesh.VirtualNodeSpecListenerArgs{ 171 // PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{ 172 // Port: pulumi.Int(8080), 173 // Protocol: pulumi.String("http"), 174 // }, 175 // HealthCheck: &appmesh.VirtualNodeSpecListenerHealthCheckArgs{ 176 // Protocol: pulumi.String("http"), 177 // Path: pulumi.String("/ping"), 178 // HealthyThreshold: pulumi.Int(2), 179 // UnhealthyThreshold: pulumi.Int(2), 180 // TimeoutMillis: pulumi.Int(2000), 181 // IntervalMillis: pulumi.Int(5000), 182 // }, 183 // }, 184 // }, 185 // ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{ 186 // Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{ 187 // Hostname: pulumi.String("serviceb.simpleapp.local"), 188 // }, 189 // }, 190 // }, 191 // }) 192 // if err != nil { 193 // return err 194 // } 195 // return nil 196 // }) 197 // } 198 // 199 // ``` 200 // <!--End PulumiCodeChooser --> 201 // 202 // ### Logging 203 // 204 // <!--Start PulumiCodeChooser --> 205 // ```go 206 // package main 207 // 208 // import ( 209 // 210 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh" 211 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 212 // 213 // ) 214 // 215 // func main() { 216 // pulumi.Run(func(ctx *pulumi.Context) error { 217 // _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{ 218 // Name: pulumi.String("serviceBv1"), 219 // MeshName: pulumi.Any(simple.Id), 220 // Spec: &appmesh.VirtualNodeSpecArgs{ 221 // Backends: appmesh.VirtualNodeSpecBackendArray{ 222 // &appmesh.VirtualNodeSpecBackendArgs{ 223 // VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{ 224 // VirtualServiceName: pulumi.String("servicea.simpleapp.local"), 225 // }, 226 // }, 227 // }, 228 // Listeners: appmesh.VirtualNodeSpecListenerArray{ 229 // &appmesh.VirtualNodeSpecListenerArgs{ 230 // PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{ 231 // Port: pulumi.Int(8080), 232 // Protocol: pulumi.String("http"), 233 // }, 234 // }, 235 // }, 236 // ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{ 237 // Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{ 238 // Hostname: pulumi.String("serviceb.simpleapp.local"), 239 // }, 240 // }, 241 // Logging: &appmesh.VirtualNodeSpecLoggingArgs{ 242 // AccessLog: &appmesh.VirtualNodeSpecLoggingAccessLogArgs{ 243 // File: &appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{ 244 // Path: pulumi.String("/dev/stdout"), 245 // }, 246 // }, 247 // }, 248 // }, 249 // }) 250 // if err != nil { 251 // return err 252 // } 253 // return nil 254 // }) 255 // } 256 // 257 // ``` 258 // <!--End PulumiCodeChooser --> 259 // 260 // ## Import 261 // 262 // Using `pulumi import`, import App Mesh virtual nodes using `mesh_name` together with the virtual node's `name`. For example: 263 // 264 // ```sh 265 // $ pulumi import aws:appmesh/virtualNode:VirtualNode serviceb1 simpleapp/serviceBv1 266 // ``` 267 type VirtualNode struct { 268 pulumi.CustomResourceState 269 270 // ARN of the virtual node. 271 Arn pulumi.StringOutput `pulumi:"arn"` 272 // Creation date of the virtual node. 273 CreatedDate pulumi.StringOutput `pulumi:"createdDate"` 274 // Last update date of the virtual node. 275 LastUpdatedDate pulumi.StringOutput `pulumi:"lastUpdatedDate"` 276 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 277 MeshName pulumi.StringOutput `pulumi:"meshName"` 278 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 279 MeshOwner pulumi.StringOutput `pulumi:"meshOwner"` 280 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 281 Name pulumi.StringOutput `pulumi:"name"` 282 // Resource owner's AWS account ID. 283 ResourceOwner pulumi.StringOutput `pulumi:"resourceOwner"` 284 // Virtual node specification to apply. 285 Spec VirtualNodeSpecOutput `pulumi:"spec"` 286 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 287 Tags pulumi.StringMapOutput `pulumi:"tags"` 288 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 289 // 290 // Deprecated: Please use `tags` instead. 291 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 292 } 293 294 // NewVirtualNode registers a new resource with the given unique name, arguments, and options. 295 func NewVirtualNode(ctx *pulumi.Context, 296 name string, args *VirtualNodeArgs, opts ...pulumi.ResourceOption) (*VirtualNode, error) { 297 if args == nil { 298 return nil, errors.New("missing one or more required arguments") 299 } 300 301 if args.MeshName == nil { 302 return nil, errors.New("invalid value for required argument 'MeshName'") 303 } 304 if args.Spec == nil { 305 return nil, errors.New("invalid value for required argument 'Spec'") 306 } 307 opts = internal.PkgResourceDefaultOpts(opts) 308 var resource VirtualNode 309 err := ctx.RegisterResource("aws:appmesh/virtualNode:VirtualNode", name, args, &resource, opts...) 310 if err != nil { 311 return nil, err 312 } 313 return &resource, nil 314 } 315 316 // GetVirtualNode gets an existing VirtualNode resource's state with the given name, ID, and optional 317 // state properties that are used to uniquely qualify the lookup (nil if not required). 318 func GetVirtualNode(ctx *pulumi.Context, 319 name string, id pulumi.IDInput, state *VirtualNodeState, opts ...pulumi.ResourceOption) (*VirtualNode, error) { 320 var resource VirtualNode 321 err := ctx.ReadResource("aws:appmesh/virtualNode:VirtualNode", name, id, state, &resource, opts...) 322 if err != nil { 323 return nil, err 324 } 325 return &resource, nil 326 } 327 328 // Input properties used for looking up and filtering VirtualNode resources. 329 type virtualNodeState struct { 330 // ARN of the virtual node. 331 Arn *string `pulumi:"arn"` 332 // Creation date of the virtual node. 333 CreatedDate *string `pulumi:"createdDate"` 334 // Last update date of the virtual node. 335 LastUpdatedDate *string `pulumi:"lastUpdatedDate"` 336 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 337 MeshName *string `pulumi:"meshName"` 338 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 339 MeshOwner *string `pulumi:"meshOwner"` 340 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 341 Name *string `pulumi:"name"` 342 // Resource owner's AWS account ID. 343 ResourceOwner *string `pulumi:"resourceOwner"` 344 // Virtual node specification to apply. 345 Spec *VirtualNodeSpec `pulumi:"spec"` 346 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 347 Tags map[string]string `pulumi:"tags"` 348 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 349 // 350 // Deprecated: Please use `tags` instead. 351 TagsAll map[string]string `pulumi:"tagsAll"` 352 } 353 354 type VirtualNodeState struct { 355 // ARN of the virtual node. 356 Arn pulumi.StringPtrInput 357 // Creation date of the virtual node. 358 CreatedDate pulumi.StringPtrInput 359 // Last update date of the virtual node. 360 LastUpdatedDate pulumi.StringPtrInput 361 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 362 MeshName pulumi.StringPtrInput 363 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 364 MeshOwner pulumi.StringPtrInput 365 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 366 Name pulumi.StringPtrInput 367 // Resource owner's AWS account ID. 368 ResourceOwner pulumi.StringPtrInput 369 // Virtual node specification to apply. 370 Spec VirtualNodeSpecPtrInput 371 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 372 Tags pulumi.StringMapInput 373 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 374 // 375 // Deprecated: Please use `tags` instead. 376 TagsAll pulumi.StringMapInput 377 } 378 379 func (VirtualNodeState) ElementType() reflect.Type { 380 return reflect.TypeOf((*virtualNodeState)(nil)).Elem() 381 } 382 383 type virtualNodeArgs struct { 384 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 385 MeshName string `pulumi:"meshName"` 386 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 387 MeshOwner *string `pulumi:"meshOwner"` 388 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 389 Name *string `pulumi:"name"` 390 // Virtual node specification to apply. 391 Spec VirtualNodeSpec `pulumi:"spec"` 392 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 393 Tags map[string]string `pulumi:"tags"` 394 } 395 396 // The set of arguments for constructing a VirtualNode resource. 397 type VirtualNodeArgs struct { 398 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 399 MeshName pulumi.StringInput 400 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 401 MeshOwner pulumi.StringPtrInput 402 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 403 Name pulumi.StringPtrInput 404 // Virtual node specification to apply. 405 Spec VirtualNodeSpecInput 406 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 407 Tags pulumi.StringMapInput 408 } 409 410 func (VirtualNodeArgs) ElementType() reflect.Type { 411 return reflect.TypeOf((*virtualNodeArgs)(nil)).Elem() 412 } 413 414 type VirtualNodeInput interface { 415 pulumi.Input 416 417 ToVirtualNodeOutput() VirtualNodeOutput 418 ToVirtualNodeOutputWithContext(ctx context.Context) VirtualNodeOutput 419 } 420 421 func (*VirtualNode) ElementType() reflect.Type { 422 return reflect.TypeOf((**VirtualNode)(nil)).Elem() 423 } 424 425 func (i *VirtualNode) ToVirtualNodeOutput() VirtualNodeOutput { 426 return i.ToVirtualNodeOutputWithContext(context.Background()) 427 } 428 429 func (i *VirtualNode) ToVirtualNodeOutputWithContext(ctx context.Context) VirtualNodeOutput { 430 return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeOutput) 431 } 432 433 // VirtualNodeArrayInput is an input type that accepts VirtualNodeArray and VirtualNodeArrayOutput values. 434 // You can construct a concrete instance of `VirtualNodeArrayInput` via: 435 // 436 // VirtualNodeArray{ VirtualNodeArgs{...} } 437 type VirtualNodeArrayInput interface { 438 pulumi.Input 439 440 ToVirtualNodeArrayOutput() VirtualNodeArrayOutput 441 ToVirtualNodeArrayOutputWithContext(context.Context) VirtualNodeArrayOutput 442 } 443 444 type VirtualNodeArray []VirtualNodeInput 445 446 func (VirtualNodeArray) ElementType() reflect.Type { 447 return reflect.TypeOf((*[]*VirtualNode)(nil)).Elem() 448 } 449 450 func (i VirtualNodeArray) ToVirtualNodeArrayOutput() VirtualNodeArrayOutput { 451 return i.ToVirtualNodeArrayOutputWithContext(context.Background()) 452 } 453 454 func (i VirtualNodeArray) ToVirtualNodeArrayOutputWithContext(ctx context.Context) VirtualNodeArrayOutput { 455 return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeArrayOutput) 456 } 457 458 // VirtualNodeMapInput is an input type that accepts VirtualNodeMap and VirtualNodeMapOutput values. 459 // You can construct a concrete instance of `VirtualNodeMapInput` via: 460 // 461 // VirtualNodeMap{ "key": VirtualNodeArgs{...} } 462 type VirtualNodeMapInput interface { 463 pulumi.Input 464 465 ToVirtualNodeMapOutput() VirtualNodeMapOutput 466 ToVirtualNodeMapOutputWithContext(context.Context) VirtualNodeMapOutput 467 } 468 469 type VirtualNodeMap map[string]VirtualNodeInput 470 471 func (VirtualNodeMap) ElementType() reflect.Type { 472 return reflect.TypeOf((*map[string]*VirtualNode)(nil)).Elem() 473 } 474 475 func (i VirtualNodeMap) ToVirtualNodeMapOutput() VirtualNodeMapOutput { 476 return i.ToVirtualNodeMapOutputWithContext(context.Background()) 477 } 478 479 func (i VirtualNodeMap) ToVirtualNodeMapOutputWithContext(ctx context.Context) VirtualNodeMapOutput { 480 return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeMapOutput) 481 } 482 483 type VirtualNodeOutput struct{ *pulumi.OutputState } 484 485 func (VirtualNodeOutput) ElementType() reflect.Type { 486 return reflect.TypeOf((**VirtualNode)(nil)).Elem() 487 } 488 489 func (o VirtualNodeOutput) ToVirtualNodeOutput() VirtualNodeOutput { 490 return o 491 } 492 493 func (o VirtualNodeOutput) ToVirtualNodeOutputWithContext(ctx context.Context) VirtualNodeOutput { 494 return o 495 } 496 497 // ARN of the virtual node. 498 func (o VirtualNodeOutput) Arn() pulumi.StringOutput { 499 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 500 } 501 502 // Creation date of the virtual node. 503 func (o VirtualNodeOutput) CreatedDate() pulumi.StringOutput { 504 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.CreatedDate }).(pulumi.StringOutput) 505 } 506 507 // Last update date of the virtual node. 508 func (o VirtualNodeOutput) LastUpdatedDate() pulumi.StringOutput { 509 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.LastUpdatedDate }).(pulumi.StringOutput) 510 } 511 512 // Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. 513 func (o VirtualNodeOutput) MeshName() pulumi.StringOutput { 514 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.MeshName }).(pulumi.StringOutput) 515 } 516 517 // AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. 518 func (o VirtualNodeOutput) MeshOwner() pulumi.StringOutput { 519 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.MeshOwner }).(pulumi.StringOutput) 520 } 521 522 // Name to use for the virtual node. Must be between 1 and 255 characters in length. 523 func (o VirtualNodeOutput) Name() pulumi.StringOutput { 524 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 525 } 526 527 // Resource owner's AWS account ID. 528 func (o VirtualNodeOutput) ResourceOwner() pulumi.StringOutput { 529 return o.ApplyT(func(v *VirtualNode) pulumi.StringOutput { return v.ResourceOwner }).(pulumi.StringOutput) 530 } 531 532 // Virtual node specification to apply. 533 func (o VirtualNodeOutput) Spec() VirtualNodeSpecOutput { 534 return o.ApplyT(func(v *VirtualNode) VirtualNodeSpecOutput { return v.Spec }).(VirtualNodeSpecOutput) 535 } 536 537 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 538 func (o VirtualNodeOutput) Tags() pulumi.StringMapOutput { 539 return o.ApplyT(func(v *VirtualNode) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 540 } 541 542 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 543 // 544 // Deprecated: Please use `tags` instead. 545 func (o VirtualNodeOutput) TagsAll() pulumi.StringMapOutput { 546 return o.ApplyT(func(v *VirtualNode) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 547 } 548 549 type VirtualNodeArrayOutput struct{ *pulumi.OutputState } 550 551 func (VirtualNodeArrayOutput) ElementType() reflect.Type { 552 return reflect.TypeOf((*[]*VirtualNode)(nil)).Elem() 553 } 554 555 func (o VirtualNodeArrayOutput) ToVirtualNodeArrayOutput() VirtualNodeArrayOutput { 556 return o 557 } 558 559 func (o VirtualNodeArrayOutput) ToVirtualNodeArrayOutputWithContext(ctx context.Context) VirtualNodeArrayOutput { 560 return o 561 } 562 563 func (o VirtualNodeArrayOutput) Index(i pulumi.IntInput) VirtualNodeOutput { 564 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VirtualNode { 565 return vs[0].([]*VirtualNode)[vs[1].(int)] 566 }).(VirtualNodeOutput) 567 } 568 569 type VirtualNodeMapOutput struct{ *pulumi.OutputState } 570 571 func (VirtualNodeMapOutput) ElementType() reflect.Type { 572 return reflect.TypeOf((*map[string]*VirtualNode)(nil)).Elem() 573 } 574 575 func (o VirtualNodeMapOutput) ToVirtualNodeMapOutput() VirtualNodeMapOutput { 576 return o 577 } 578 579 func (o VirtualNodeMapOutput) ToVirtualNodeMapOutputWithContext(ctx context.Context) VirtualNodeMapOutput { 580 return o 581 } 582 583 func (o VirtualNodeMapOutput) MapIndex(k pulumi.StringInput) VirtualNodeOutput { 584 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VirtualNode { 585 return vs[0].(map[string]*VirtualNode)[vs[1].(string)] 586 }).(VirtualNodeOutput) 587 } 588 589 func init() { 590 pulumi.RegisterInputType(reflect.TypeOf((*VirtualNodeInput)(nil)).Elem(), &VirtualNode{}) 591 pulumi.RegisterInputType(reflect.TypeOf((*VirtualNodeArrayInput)(nil)).Elem(), VirtualNodeArray{}) 592 pulumi.RegisterInputType(reflect.TypeOf((*VirtualNodeMapInput)(nil)).Elem(), VirtualNodeMap{}) 593 pulumi.RegisterOutputType(VirtualNodeOutput{}) 594 pulumi.RegisterOutputType(VirtualNodeArrayOutput{}) 595 pulumi.RegisterOutputType(VirtualNodeMapOutput{}) 596 }