github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/multicastDomain.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 ec2transitgateway 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 EC2 Transit Gateway Multicast Domain. 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" 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // available, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{ 35 // State: pulumi.StringRef("available"), 36 // }, nil) 37 // if err != nil { 38 // return err 39 // } 40 // amazonLinux, err := ec2.LookupAmi(ctx, &ec2.LookupAmiArgs{ 41 // MostRecent: pulumi.BoolRef(true), 42 // Owners: []string{ 43 // "amazon", 44 // }, 45 // Filters: []ec2.GetAmiFilter{ 46 // { 47 // Name: "name", 48 // Values: []string{ 49 // "amzn-ami-hvm-*-x86_64-gp2", 50 // }, 51 // }, 52 // { 53 // Name: "owner-alias", 54 // Values: []string{ 55 // "amazon", 56 // }, 57 // }, 58 // }, 59 // }, nil) 60 // if err != nil { 61 // return err 62 // } 63 // vpc1, err := ec2.NewVpc(ctx, "vpc1", &ec2.VpcArgs{ 64 // CidrBlock: pulumi.String("10.0.0.0/16"), 65 // }) 66 // if err != nil { 67 // return err 68 // } 69 // vpc2, err := ec2.NewVpc(ctx, "vpc2", &ec2.VpcArgs{ 70 // CidrBlock: pulumi.String("10.1.0.0/16"), 71 // }) 72 // if err != nil { 73 // return err 74 // } 75 // subnet1, err := ec2.NewSubnet(ctx, "subnet1", &ec2.SubnetArgs{ 76 // VpcId: vpc1.ID(), 77 // CidrBlock: pulumi.String("10.0.1.0/24"), 78 // AvailabilityZone: pulumi.String(available.Names[0]), 79 // }) 80 // if err != nil { 81 // return err 82 // } 83 // subnet2, err := ec2.NewSubnet(ctx, "subnet2", &ec2.SubnetArgs{ 84 // VpcId: vpc1.ID(), 85 // CidrBlock: pulumi.String("10.0.2.0/24"), 86 // AvailabilityZone: pulumi.String(available.Names[1]), 87 // }) 88 // if err != nil { 89 // return err 90 // } 91 // subnet3, err := ec2.NewSubnet(ctx, "subnet3", &ec2.SubnetArgs{ 92 // VpcId: vpc2.ID(), 93 // CidrBlock: pulumi.String("10.1.1.0/24"), 94 // AvailabilityZone: pulumi.String(available.Names[0]), 95 // }) 96 // if err != nil { 97 // return err 98 // } 99 // instance1, err := ec2.NewInstance(ctx, "instance1", &ec2.InstanceArgs{ 100 // Ami: pulumi.String(amazonLinux.Id), 101 // InstanceType: pulumi.String(ec2.InstanceType_T2_Micro), 102 // SubnetId: subnet1.ID(), 103 // }) 104 // if err != nil { 105 // return err 106 // } 107 // instance2, err := ec2.NewInstance(ctx, "instance2", &ec2.InstanceArgs{ 108 // Ami: pulumi.String(amazonLinux.Id), 109 // InstanceType: pulumi.String(ec2.InstanceType_T2_Micro), 110 // SubnetId: subnet2.ID(), 111 // }) 112 // if err != nil { 113 // return err 114 // } 115 // instance3, err := ec2.NewInstance(ctx, "instance3", &ec2.InstanceArgs{ 116 // Ami: pulumi.String(amazonLinux.Id), 117 // InstanceType: pulumi.String(ec2.InstanceType_T2_Micro), 118 // SubnetId: subnet3.ID(), 119 // }) 120 // if err != nil { 121 // return err 122 // } 123 // tgw, err := ec2transitgateway.NewTransitGateway(ctx, "tgw", &ec2transitgateway.TransitGatewayArgs{ 124 // MulticastSupport: pulumi.String("enable"), 125 // }) 126 // if err != nil { 127 // return err 128 // } 129 // attachment1, err := ec2transitgateway.NewVpcAttachment(ctx, "attachment1", &ec2transitgateway.VpcAttachmentArgs{ 130 // SubnetIds: pulumi.StringArray{ 131 // subnet1.ID(), 132 // subnet2.ID(), 133 // }, 134 // TransitGatewayId: tgw.ID(), 135 // VpcId: vpc1.ID(), 136 // }) 137 // if err != nil { 138 // return err 139 // } 140 // attachment2, err := ec2transitgateway.NewVpcAttachment(ctx, "attachment2", &ec2transitgateway.VpcAttachmentArgs{ 141 // SubnetIds: pulumi.StringArray{ 142 // subnet3.ID(), 143 // }, 144 // TransitGatewayId: tgw.ID(), 145 // VpcId: vpc2.ID(), 146 // }) 147 // if err != nil { 148 // return err 149 // } 150 // domain, err := ec2transitgateway.NewMulticastDomain(ctx, "domain", &ec2transitgateway.MulticastDomainArgs{ 151 // TransitGatewayId: tgw.ID(), 152 // StaticSourcesSupport: pulumi.String("enable"), 153 // Tags: pulumi.StringMap{ 154 // "Name": pulumi.String("Transit_Gateway_Multicast_Domain_Example"), 155 // }, 156 // }) 157 // if err != nil { 158 // return err 159 // } 160 // association3, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, "association3", &ec2transitgateway.MulticastDomainAssociationArgs{ 161 // SubnetId: subnet3.ID(), 162 // TransitGatewayAttachmentId: attachment2.ID(), 163 // TransitGatewayMulticastDomainId: domain.ID(), 164 // }) 165 // if err != nil { 166 // return err 167 // } 168 // _, err = ec2transitgateway.NewMulticastGroupSource(ctx, "source", &ec2transitgateway.MulticastGroupSourceArgs{ 169 // GroupIpAddress: pulumi.String("224.0.0.1"), 170 // NetworkInterfaceId: instance3.PrimaryNetworkInterfaceId, 171 // TransitGatewayMulticastDomainId: association3.TransitGatewayMulticastDomainId, 172 // }) 173 // if err != nil { 174 // return err 175 // } 176 // association1, err := ec2transitgateway.NewMulticastDomainAssociation(ctx, "association1", &ec2transitgateway.MulticastDomainAssociationArgs{ 177 // SubnetId: subnet1.ID(), 178 // TransitGatewayAttachmentId: attachment1.ID(), 179 // TransitGatewayMulticastDomainId: domain.ID(), 180 // }) 181 // if err != nil { 182 // return err 183 // } 184 // _, err = ec2transitgateway.NewMulticastDomainAssociation(ctx, "association2", &ec2transitgateway.MulticastDomainAssociationArgs{ 185 // SubnetId: subnet2.ID(), 186 // TransitGatewayAttachmentId: attachment2.ID(), 187 // TransitGatewayMulticastDomainId: domain.ID(), 188 // }) 189 // if err != nil { 190 // return err 191 // } 192 // _, err = ec2transitgateway.NewMulticastGroupMember(ctx, "member1", &ec2transitgateway.MulticastGroupMemberArgs{ 193 // GroupIpAddress: pulumi.String("224.0.0.1"), 194 // NetworkInterfaceId: instance1.PrimaryNetworkInterfaceId, 195 // TransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId, 196 // }) 197 // if err != nil { 198 // return err 199 // } 200 // _, err = ec2transitgateway.NewMulticastGroupMember(ctx, "member2", &ec2transitgateway.MulticastGroupMemberArgs{ 201 // GroupIpAddress: pulumi.String("224.0.0.1"), 202 // NetworkInterfaceId: instance2.PrimaryNetworkInterfaceId, 203 // TransitGatewayMulticastDomainId: association1.TransitGatewayMulticastDomainId, 204 // }) 205 // if err != nil { 206 // return err 207 // } 208 // return nil 209 // }) 210 // } 211 // 212 // ``` 213 // <!--End PulumiCodeChooser --> 214 // 215 // ## Import 216 // 217 // Using `pulumi import`, import `aws_ec2_transit_gateway_multicast_domain` using the EC2 Transit Gateway Multicast Domain identifier. For example: 218 // 219 // ```sh 220 // $ pulumi import aws:ec2transitgateway/multicastDomain:MulticastDomain example tgw-mcast-domain-12345 221 // ``` 222 type MulticastDomain struct { 223 pulumi.CustomResourceState 224 225 // EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). 226 Arn pulumi.StringOutput `pulumi:"arn"` 227 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 228 AutoAcceptSharedAssociations pulumi.StringPtrOutput `pulumi:"autoAcceptSharedAssociations"` 229 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 230 Igmpv2Support pulumi.StringPtrOutput `pulumi:"igmpv2Support"` 231 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 232 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 233 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 234 StaticSourcesSupport pulumi.StringPtrOutput `pulumi:"staticSourcesSupport"` 235 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 236 Tags pulumi.StringMapOutput `pulumi:"tags"` 237 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 238 // 239 // Deprecated: Please use `tags` instead. 240 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 241 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 242 TransitGatewayId pulumi.StringOutput `pulumi:"transitGatewayId"` 243 } 244 245 // NewMulticastDomain registers a new resource with the given unique name, arguments, and options. 246 func NewMulticastDomain(ctx *pulumi.Context, 247 name string, args *MulticastDomainArgs, opts ...pulumi.ResourceOption) (*MulticastDomain, error) { 248 if args == nil { 249 return nil, errors.New("missing one or more required arguments") 250 } 251 252 if args.TransitGatewayId == nil { 253 return nil, errors.New("invalid value for required argument 'TransitGatewayId'") 254 } 255 opts = internal.PkgResourceDefaultOpts(opts) 256 var resource MulticastDomain 257 err := ctx.RegisterResource("aws:ec2transitgateway/multicastDomain:MulticastDomain", name, args, &resource, opts...) 258 if err != nil { 259 return nil, err 260 } 261 return &resource, nil 262 } 263 264 // GetMulticastDomain gets an existing MulticastDomain resource's state with the given name, ID, and optional 265 // state properties that are used to uniquely qualify the lookup (nil if not required). 266 func GetMulticastDomain(ctx *pulumi.Context, 267 name string, id pulumi.IDInput, state *MulticastDomainState, opts ...pulumi.ResourceOption) (*MulticastDomain, error) { 268 var resource MulticastDomain 269 err := ctx.ReadResource("aws:ec2transitgateway/multicastDomain:MulticastDomain", name, id, state, &resource, opts...) 270 if err != nil { 271 return nil, err 272 } 273 return &resource, nil 274 } 275 276 // Input properties used for looking up and filtering MulticastDomain resources. 277 type multicastDomainState struct { 278 // EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). 279 Arn *string `pulumi:"arn"` 280 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 281 AutoAcceptSharedAssociations *string `pulumi:"autoAcceptSharedAssociations"` 282 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 283 Igmpv2Support *string `pulumi:"igmpv2Support"` 284 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 285 OwnerId *string `pulumi:"ownerId"` 286 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 287 StaticSourcesSupport *string `pulumi:"staticSourcesSupport"` 288 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 289 Tags map[string]string `pulumi:"tags"` 290 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 291 // 292 // Deprecated: Please use `tags` instead. 293 TagsAll map[string]string `pulumi:"tagsAll"` 294 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 295 TransitGatewayId *string `pulumi:"transitGatewayId"` 296 } 297 298 type MulticastDomainState struct { 299 // EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). 300 Arn pulumi.StringPtrInput 301 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 302 AutoAcceptSharedAssociations pulumi.StringPtrInput 303 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 304 Igmpv2Support pulumi.StringPtrInput 305 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 306 OwnerId pulumi.StringPtrInput 307 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 308 StaticSourcesSupport pulumi.StringPtrInput 309 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 310 Tags pulumi.StringMapInput 311 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 312 // 313 // Deprecated: Please use `tags` instead. 314 TagsAll pulumi.StringMapInput 315 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 316 TransitGatewayId pulumi.StringPtrInput 317 } 318 319 func (MulticastDomainState) ElementType() reflect.Type { 320 return reflect.TypeOf((*multicastDomainState)(nil)).Elem() 321 } 322 323 type multicastDomainArgs struct { 324 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 325 AutoAcceptSharedAssociations *string `pulumi:"autoAcceptSharedAssociations"` 326 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 327 Igmpv2Support *string `pulumi:"igmpv2Support"` 328 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 329 StaticSourcesSupport *string `pulumi:"staticSourcesSupport"` 330 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 331 Tags map[string]string `pulumi:"tags"` 332 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 333 TransitGatewayId string `pulumi:"transitGatewayId"` 334 } 335 336 // The set of arguments for constructing a MulticastDomain resource. 337 type MulticastDomainArgs struct { 338 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 339 AutoAcceptSharedAssociations pulumi.StringPtrInput 340 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 341 Igmpv2Support pulumi.StringPtrInput 342 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 343 StaticSourcesSupport pulumi.StringPtrInput 344 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 345 Tags pulumi.StringMapInput 346 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 347 TransitGatewayId pulumi.StringInput 348 } 349 350 func (MulticastDomainArgs) ElementType() reflect.Type { 351 return reflect.TypeOf((*multicastDomainArgs)(nil)).Elem() 352 } 353 354 type MulticastDomainInput interface { 355 pulumi.Input 356 357 ToMulticastDomainOutput() MulticastDomainOutput 358 ToMulticastDomainOutputWithContext(ctx context.Context) MulticastDomainOutput 359 } 360 361 func (*MulticastDomain) ElementType() reflect.Type { 362 return reflect.TypeOf((**MulticastDomain)(nil)).Elem() 363 } 364 365 func (i *MulticastDomain) ToMulticastDomainOutput() MulticastDomainOutput { 366 return i.ToMulticastDomainOutputWithContext(context.Background()) 367 } 368 369 func (i *MulticastDomain) ToMulticastDomainOutputWithContext(ctx context.Context) MulticastDomainOutput { 370 return pulumi.ToOutputWithContext(ctx, i).(MulticastDomainOutput) 371 } 372 373 // MulticastDomainArrayInput is an input type that accepts MulticastDomainArray and MulticastDomainArrayOutput values. 374 // You can construct a concrete instance of `MulticastDomainArrayInput` via: 375 // 376 // MulticastDomainArray{ MulticastDomainArgs{...} } 377 type MulticastDomainArrayInput interface { 378 pulumi.Input 379 380 ToMulticastDomainArrayOutput() MulticastDomainArrayOutput 381 ToMulticastDomainArrayOutputWithContext(context.Context) MulticastDomainArrayOutput 382 } 383 384 type MulticastDomainArray []MulticastDomainInput 385 386 func (MulticastDomainArray) ElementType() reflect.Type { 387 return reflect.TypeOf((*[]*MulticastDomain)(nil)).Elem() 388 } 389 390 func (i MulticastDomainArray) ToMulticastDomainArrayOutput() MulticastDomainArrayOutput { 391 return i.ToMulticastDomainArrayOutputWithContext(context.Background()) 392 } 393 394 func (i MulticastDomainArray) ToMulticastDomainArrayOutputWithContext(ctx context.Context) MulticastDomainArrayOutput { 395 return pulumi.ToOutputWithContext(ctx, i).(MulticastDomainArrayOutput) 396 } 397 398 // MulticastDomainMapInput is an input type that accepts MulticastDomainMap and MulticastDomainMapOutput values. 399 // You can construct a concrete instance of `MulticastDomainMapInput` via: 400 // 401 // MulticastDomainMap{ "key": MulticastDomainArgs{...} } 402 type MulticastDomainMapInput interface { 403 pulumi.Input 404 405 ToMulticastDomainMapOutput() MulticastDomainMapOutput 406 ToMulticastDomainMapOutputWithContext(context.Context) MulticastDomainMapOutput 407 } 408 409 type MulticastDomainMap map[string]MulticastDomainInput 410 411 func (MulticastDomainMap) ElementType() reflect.Type { 412 return reflect.TypeOf((*map[string]*MulticastDomain)(nil)).Elem() 413 } 414 415 func (i MulticastDomainMap) ToMulticastDomainMapOutput() MulticastDomainMapOutput { 416 return i.ToMulticastDomainMapOutputWithContext(context.Background()) 417 } 418 419 func (i MulticastDomainMap) ToMulticastDomainMapOutputWithContext(ctx context.Context) MulticastDomainMapOutput { 420 return pulumi.ToOutputWithContext(ctx, i).(MulticastDomainMapOutput) 421 } 422 423 type MulticastDomainOutput struct{ *pulumi.OutputState } 424 425 func (MulticastDomainOutput) ElementType() reflect.Type { 426 return reflect.TypeOf((**MulticastDomain)(nil)).Elem() 427 } 428 429 func (o MulticastDomainOutput) ToMulticastDomainOutput() MulticastDomainOutput { 430 return o 431 } 432 433 func (o MulticastDomainOutput) ToMulticastDomainOutputWithContext(ctx context.Context) MulticastDomainOutput { 434 return o 435 } 436 437 // EC2 Transit Gateway Multicast Domain Amazon Resource Name (ARN). 438 func (o MulticastDomainOutput) Arn() pulumi.StringOutput { 439 return o.ApplyT(func(v *MulticastDomain) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 440 } 441 442 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 443 func (o MulticastDomainOutput) AutoAcceptSharedAssociations() pulumi.StringPtrOutput { 444 return o.ApplyT(func(v *MulticastDomain) pulumi.StringPtrOutput { return v.AutoAcceptSharedAssociations }).(pulumi.StringPtrOutput) 445 } 446 447 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 448 func (o MulticastDomainOutput) Igmpv2Support() pulumi.StringPtrOutput { 449 return o.ApplyT(func(v *MulticastDomain) pulumi.StringPtrOutput { return v.Igmpv2Support }).(pulumi.StringPtrOutput) 450 } 451 452 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 453 func (o MulticastDomainOutput) OwnerId() pulumi.StringOutput { 454 return o.ApplyT(func(v *MulticastDomain) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 455 } 456 457 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. Valid values: `disable`, `enable`. Default value: `disable`. 458 func (o MulticastDomainOutput) StaticSourcesSupport() pulumi.StringPtrOutput { 459 return o.ApplyT(func(v *MulticastDomain) pulumi.StringPtrOutput { return v.StaticSourcesSupport }).(pulumi.StringPtrOutput) 460 } 461 462 // Key-value tags for the EC2 Transit Gateway Multicast Domain. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 463 func (o MulticastDomainOutput) Tags() pulumi.StringMapOutput { 464 return o.ApplyT(func(v *MulticastDomain) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 465 } 466 467 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 468 // 469 // Deprecated: Please use `tags` instead. 470 func (o MulticastDomainOutput) TagsAll() pulumi.StringMapOutput { 471 return o.ApplyT(func(v *MulticastDomain) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 472 } 473 474 // EC2 Transit Gateway identifier. The EC2 Transit Gateway must have `multicastSupport` enabled. 475 func (o MulticastDomainOutput) TransitGatewayId() pulumi.StringOutput { 476 return o.ApplyT(func(v *MulticastDomain) pulumi.StringOutput { return v.TransitGatewayId }).(pulumi.StringOutput) 477 } 478 479 type MulticastDomainArrayOutput struct{ *pulumi.OutputState } 480 481 func (MulticastDomainArrayOutput) ElementType() reflect.Type { 482 return reflect.TypeOf((*[]*MulticastDomain)(nil)).Elem() 483 } 484 485 func (o MulticastDomainArrayOutput) ToMulticastDomainArrayOutput() MulticastDomainArrayOutput { 486 return o 487 } 488 489 func (o MulticastDomainArrayOutput) ToMulticastDomainArrayOutputWithContext(ctx context.Context) MulticastDomainArrayOutput { 490 return o 491 } 492 493 func (o MulticastDomainArrayOutput) Index(i pulumi.IntInput) MulticastDomainOutput { 494 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MulticastDomain { 495 return vs[0].([]*MulticastDomain)[vs[1].(int)] 496 }).(MulticastDomainOutput) 497 } 498 499 type MulticastDomainMapOutput struct{ *pulumi.OutputState } 500 501 func (MulticastDomainMapOutput) ElementType() reflect.Type { 502 return reflect.TypeOf((*map[string]*MulticastDomain)(nil)).Elem() 503 } 504 505 func (o MulticastDomainMapOutput) ToMulticastDomainMapOutput() MulticastDomainMapOutput { 506 return o 507 } 508 509 func (o MulticastDomainMapOutput) ToMulticastDomainMapOutputWithContext(ctx context.Context) MulticastDomainMapOutput { 510 return o 511 } 512 513 func (o MulticastDomainMapOutput) MapIndex(k pulumi.StringInput) MulticastDomainOutput { 514 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MulticastDomain { 515 return vs[0].(map[string]*MulticastDomain)[vs[1].(string)] 516 }).(MulticastDomainOutput) 517 } 518 519 func init() { 520 pulumi.RegisterInputType(reflect.TypeOf((*MulticastDomainInput)(nil)).Elem(), &MulticastDomain{}) 521 pulumi.RegisterInputType(reflect.TypeOf((*MulticastDomainArrayInput)(nil)).Elem(), MulticastDomainArray{}) 522 pulumi.RegisterInputType(reflect.TypeOf((*MulticastDomainMapInput)(nil)).Elem(), MulticastDomainMap{}) 523 pulumi.RegisterOutputType(MulticastDomainOutput{}) 524 pulumi.RegisterOutputType(MulticastDomainArrayOutput{}) 525 pulumi.RegisterOutputType(MulticastDomainMapOutput{}) 526 }