github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/getMulticastDomain.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Get information on an EC2 Transit Gateway Multicast Domain. 15 // 16 // ## Example Usage 17 // 18 // ### By Filter 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := ec2transitgateway.LookupMulticastDomain(ctx, &ec2transitgateway.LookupMulticastDomainArgs{ 34 // Filters: []ec2transitgateway.GetMulticastDomainFilter{ 35 // { 36 // Name: "transit-gateway-multicast-domain-id", 37 // Values: []string{ 38 // "tgw-mcast-domain-12345678", 39 // }, 40 // }, 41 // }, 42 // }, nil) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ### By Identifier 54 // 55 // <!--Start PulumiCodeChooser --> 56 // ```go 57 // package main 58 // 59 // import ( 60 // 61 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 62 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 63 // 64 // ) 65 // 66 // func main() { 67 // pulumi.Run(func(ctx *pulumi.Context) error { 68 // _, err := ec2transitgateway.LookupMulticastDomain(ctx, &ec2transitgateway.LookupMulticastDomainArgs{ 69 // TransitGatewayMulticastDomainId: pulumi.StringRef("tgw-mcast-domain-12345678"), 70 // }, nil) 71 // if err != nil { 72 // return err 73 // } 74 // return nil 75 // }) 76 // } 77 // 78 // ``` 79 // <!--End PulumiCodeChooser --> 80 func LookupMulticastDomain(ctx *pulumi.Context, args *LookupMulticastDomainArgs, opts ...pulumi.InvokeOption) (*LookupMulticastDomainResult, error) { 81 opts = internal.PkgInvokeDefaultOpts(opts) 82 var rv LookupMulticastDomainResult 83 err := ctx.Invoke("aws:ec2transitgateway/getMulticastDomain:getMulticastDomain", args, &rv, opts...) 84 if err != nil { 85 return nil, err 86 } 87 return &rv, nil 88 } 89 90 // A collection of arguments for invoking getMulticastDomain. 91 type LookupMulticastDomainArgs struct { 92 // One or more configuration blocks containing name-values filters. Detailed below. 93 Filters []GetMulticastDomainFilter `pulumi:"filters"` 94 // Key-value tags for the EC2 Transit Gateway Multicast Domain. 95 Tags map[string]string `pulumi:"tags"` 96 // Identifier of the EC2 Transit Gateway Multicast Domain. 97 TransitGatewayMulticastDomainId *string `pulumi:"transitGatewayMulticastDomainId"` 98 } 99 100 // A collection of values returned by getMulticastDomain. 101 type LookupMulticastDomainResult struct { 102 // EC2 Transit Gateway Multicast Domain ARN. 103 Arn string `pulumi:"arn"` 104 // EC2 Transit Gateway Multicast Domain Associations 105 Associations []GetMulticastDomainAssociationType `pulumi:"associations"` 106 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. 107 AutoAcceptSharedAssociations string `pulumi:"autoAcceptSharedAssociations"` 108 Filters []GetMulticastDomainFilter `pulumi:"filters"` 109 // The provider-assigned unique ID for this managed resource. 110 Id string `pulumi:"id"` 111 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. 112 Igmpv2Support string `pulumi:"igmpv2Support"` 113 // EC2 Multicast Domain Group Members 114 Members []GetMulticastDomainMember `pulumi:"members"` 115 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 116 OwnerId string `pulumi:"ownerId"` 117 // EC2 Multicast Domain Group Sources 118 Sources []GetMulticastDomainSource `pulumi:"sources"` 119 State string `pulumi:"state"` 120 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. 121 StaticSourcesSupport string `pulumi:"staticSourcesSupport"` 122 // Key-value tags for the EC2 Transit Gateway Multicast Domain. 123 Tags map[string]string `pulumi:"tags"` 124 // The ID of the transit gateway attachment. 125 TransitGatewayAttachmentId string `pulumi:"transitGatewayAttachmentId"` 126 // EC2 Transit Gateway identifier. 127 TransitGatewayId string `pulumi:"transitGatewayId"` 128 TransitGatewayMulticastDomainId string `pulumi:"transitGatewayMulticastDomainId"` 129 } 130 131 func LookupMulticastDomainOutput(ctx *pulumi.Context, args LookupMulticastDomainOutputArgs, opts ...pulumi.InvokeOption) LookupMulticastDomainResultOutput { 132 return pulumi.ToOutputWithContext(context.Background(), args). 133 ApplyT(func(v interface{}) (LookupMulticastDomainResult, error) { 134 args := v.(LookupMulticastDomainArgs) 135 r, err := LookupMulticastDomain(ctx, &args, opts...) 136 var s LookupMulticastDomainResult 137 if r != nil { 138 s = *r 139 } 140 return s, err 141 }).(LookupMulticastDomainResultOutput) 142 } 143 144 // A collection of arguments for invoking getMulticastDomain. 145 type LookupMulticastDomainOutputArgs struct { 146 // One or more configuration blocks containing name-values filters. Detailed below. 147 Filters GetMulticastDomainFilterArrayInput `pulumi:"filters"` 148 // Key-value tags for the EC2 Transit Gateway Multicast Domain. 149 Tags pulumi.StringMapInput `pulumi:"tags"` 150 // Identifier of the EC2 Transit Gateway Multicast Domain. 151 TransitGatewayMulticastDomainId pulumi.StringPtrInput `pulumi:"transitGatewayMulticastDomainId"` 152 } 153 154 func (LookupMulticastDomainOutputArgs) ElementType() reflect.Type { 155 return reflect.TypeOf((*LookupMulticastDomainArgs)(nil)).Elem() 156 } 157 158 // A collection of values returned by getMulticastDomain. 159 type LookupMulticastDomainResultOutput struct{ *pulumi.OutputState } 160 161 func (LookupMulticastDomainResultOutput) ElementType() reflect.Type { 162 return reflect.TypeOf((*LookupMulticastDomainResult)(nil)).Elem() 163 } 164 165 func (o LookupMulticastDomainResultOutput) ToLookupMulticastDomainResultOutput() LookupMulticastDomainResultOutput { 166 return o 167 } 168 169 func (o LookupMulticastDomainResultOutput) ToLookupMulticastDomainResultOutputWithContext(ctx context.Context) LookupMulticastDomainResultOutput { 170 return o 171 } 172 173 // EC2 Transit Gateway Multicast Domain ARN. 174 func (o LookupMulticastDomainResultOutput) Arn() pulumi.StringOutput { 175 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.Arn }).(pulumi.StringOutput) 176 } 177 178 // EC2 Transit Gateway Multicast Domain Associations 179 func (o LookupMulticastDomainResultOutput) Associations() GetMulticastDomainAssociationTypeArrayOutput { 180 return o.ApplyT(func(v LookupMulticastDomainResult) []GetMulticastDomainAssociationType { return v.Associations }).(GetMulticastDomainAssociationTypeArrayOutput) 181 } 182 183 // Whether to automatically accept cross-account subnet associations that are associated with the EC2 Transit Gateway Multicast Domain. 184 func (o LookupMulticastDomainResultOutput) AutoAcceptSharedAssociations() pulumi.StringOutput { 185 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.AutoAcceptSharedAssociations }).(pulumi.StringOutput) 186 } 187 188 func (o LookupMulticastDomainResultOutput) Filters() GetMulticastDomainFilterArrayOutput { 189 return o.ApplyT(func(v LookupMulticastDomainResult) []GetMulticastDomainFilter { return v.Filters }).(GetMulticastDomainFilterArrayOutput) 190 } 191 192 // The provider-assigned unique ID for this managed resource. 193 func (o LookupMulticastDomainResultOutput) Id() pulumi.StringOutput { 194 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.Id }).(pulumi.StringOutput) 195 } 196 197 // Whether to enable Internet Group Management Protocol (IGMP) version 2 for the EC2 Transit Gateway Multicast Domain. 198 func (o LookupMulticastDomainResultOutput) Igmpv2Support() pulumi.StringOutput { 199 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.Igmpv2Support }).(pulumi.StringOutput) 200 } 201 202 // EC2 Multicast Domain Group Members 203 func (o LookupMulticastDomainResultOutput) Members() GetMulticastDomainMemberArrayOutput { 204 return o.ApplyT(func(v LookupMulticastDomainResult) []GetMulticastDomainMember { return v.Members }).(GetMulticastDomainMemberArrayOutput) 205 } 206 207 // Identifier of the AWS account that owns the EC2 Transit Gateway Multicast Domain. 208 func (o LookupMulticastDomainResultOutput) OwnerId() pulumi.StringOutput { 209 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.OwnerId }).(pulumi.StringOutput) 210 } 211 212 // EC2 Multicast Domain Group Sources 213 func (o LookupMulticastDomainResultOutput) Sources() GetMulticastDomainSourceArrayOutput { 214 return o.ApplyT(func(v LookupMulticastDomainResult) []GetMulticastDomainSource { return v.Sources }).(GetMulticastDomainSourceArrayOutput) 215 } 216 217 func (o LookupMulticastDomainResultOutput) State() pulumi.StringOutput { 218 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.State }).(pulumi.StringOutput) 219 } 220 221 // Whether to enable support for statically configuring multicast group sources for the EC2 Transit Gateway Multicast Domain. 222 func (o LookupMulticastDomainResultOutput) StaticSourcesSupport() pulumi.StringOutput { 223 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.StaticSourcesSupport }).(pulumi.StringOutput) 224 } 225 226 // Key-value tags for the EC2 Transit Gateway Multicast Domain. 227 func (o LookupMulticastDomainResultOutput) Tags() pulumi.StringMapOutput { 228 return o.ApplyT(func(v LookupMulticastDomainResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 229 } 230 231 // The ID of the transit gateway attachment. 232 func (o LookupMulticastDomainResultOutput) TransitGatewayAttachmentId() pulumi.StringOutput { 233 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.TransitGatewayAttachmentId }).(pulumi.StringOutput) 234 } 235 236 // EC2 Transit Gateway identifier. 237 func (o LookupMulticastDomainResultOutput) TransitGatewayId() pulumi.StringOutput { 238 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.TransitGatewayId }).(pulumi.StringOutput) 239 } 240 241 func (o LookupMulticastDomainResultOutput) TransitGatewayMulticastDomainId() pulumi.StringOutput { 242 return o.ApplyT(func(v LookupMulticastDomainResult) string { return v.TransitGatewayMulticastDomainId }).(pulumi.StringOutput) 243 } 244 245 func init() { 246 pulumi.RegisterOutputType(LookupMulticastDomainResultOutput{}) 247 }