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  }