alicloud.cen.TransitRouterMulticastDomainAssociation

Provides a Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association resource.

For information about Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association and how to use it, see What is Transit Router Multicast Domain Association.

NOTE: Available in v1.195.0+.

Example Usage

Basic Usage

using System.Collections.Generic;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    var defaultInstance = new AliCloud.Cen.Instance("defaultInstance", new()
    {
        CenInstanceName = "tf-example",
    });

    var defaultTransitRouter = new AliCloud.Cen.TransitRouter("defaultTransitRouter", new()
    {
        CenId = defaultInstance.Id,
        SupportMulticast = true,
    });

    var defaultTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain("defaultTransitRouterMulticastDomain", new()
    {
        TransitRouterId = defaultTransitRouter.TransitRouterId,
    });

    var defaultTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment("defaultTransitRouterVpcAttachment", new()
    {
        CenId = defaultTransitRouter.CenId,
        TransitRouterId = defaultTransitRouterMulticastDomain.TransitRouterId,
        VpcId = "your_vpc_id",
        ZoneMappings = new[]
        {
            new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs
            {
                ZoneId = "your_zone_id",
                VswitchId = "your_vswitch_id",
            },
        },
    });

    var defaultTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation("defaultTransitRouterMulticastDomainAssociation", new()
    {
        TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomain.Id,
        TransitRouterAttachmentId = defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,
        VswitchId = "your_vswitch_id",
    });

});
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultInstance, err := cen.NewInstance(ctx, "defaultInstance", &cen.InstanceArgs{
			CenInstanceName: pulumi.String("tf-example"),
		})
		if err != nil {
			return err
		}
		defaultTransitRouter, err := cen.NewTransitRouter(ctx, "defaultTransitRouter", &cen.TransitRouterArgs{
			CenId:            defaultInstance.ID(),
			SupportMulticast: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, "defaultTransitRouterMulticastDomain", &cen.TransitRouterMulticastDomainArgs{
			TransitRouterId: defaultTransitRouter.TransitRouterId,
		})
		if err != nil {
			return err
		}
		defaultTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, "defaultTransitRouterVpcAttachment", &cen.TransitRouterVpcAttachmentArgs{
			CenId:           defaultTransitRouter.CenId,
			TransitRouterId: defaultTransitRouterMulticastDomain.TransitRouterId,
			VpcId:           pulumi.String("your_vpc_id"),
			ZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{
				&cen.TransitRouterVpcAttachmentZoneMappingArgs{
					ZoneId:    pulumi.String("your_zone_id"),
					VswitchId: pulumi.String("your_vswitch_id"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = cen.NewTransitRouterMulticastDomainAssociation(ctx, "defaultTransitRouterMulticastDomainAssociation", &cen.TransitRouterMulticastDomainAssociationArgs{
			TransitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.ID(),
			TransitRouterAttachmentId:      defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,
			VswitchId:                      pulumi.String("your_vswitch_id"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cen.Instance;
import com.pulumi.alicloud.cen.InstanceArgs;
import com.pulumi.alicloud.cen.TransitRouter;
import com.pulumi.alicloud.cen.TransitRouterArgs;
import com.pulumi.alicloud.cen.TransitRouterMulticastDomain;
import com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;
import com.pulumi.alicloud.cen.TransitRouterVpcAttachment;
import com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;
import com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;
import com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;
import com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()        
            .cenInstanceName("tf-example")
            .build());

        var defaultTransitRouter = new TransitRouter("defaultTransitRouter", TransitRouterArgs.builder()        
            .cenId(defaultInstance.id())
            .supportMulticast(true)
            .build());

        var defaultTransitRouterMulticastDomain = new TransitRouterMulticastDomain("defaultTransitRouterMulticastDomain", TransitRouterMulticastDomainArgs.builder()        
            .transitRouterId(defaultTransitRouter.transitRouterId())
            .build());

        var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment("defaultTransitRouterVpcAttachment", TransitRouterVpcAttachmentArgs.builder()        
            .cenId(defaultTransitRouter.cenId())
            .transitRouterId(defaultTransitRouterMulticastDomain.transitRouterId())
            .vpcId("your_vpc_id")
            .zoneMappings(TransitRouterVpcAttachmentZoneMappingArgs.builder()
                .zoneId("your_zone_id")
                .vswitchId("your_vswitch_id")
                .build())
            .build());

        var defaultTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation("defaultTransitRouterMulticastDomainAssociation", TransitRouterMulticastDomainAssociationArgs.builder()        
            .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomain.id())
            .transitRouterAttachmentId(defaultTransitRouterVpcAttachment.transitRouterAttachmentId())
            .vswitchId("your_vswitch_id")
            .build());

    }
}
import pulumi
import pulumi_alicloud as alicloud

default_instance = alicloud.cen.Instance("defaultInstance", cen_instance_name="tf-example")
default_transit_router = alicloud.cen.TransitRouter("defaultTransitRouter",
    cen_id=default_instance.id,
    support_multicast=True)
default_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain("defaultTransitRouterMulticastDomain", transit_router_id=default_transit_router.transit_router_id)
default_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment("defaultTransitRouterVpcAttachment",
    cen_id=default_transit_router.cen_id,
    transit_router_id=default_transit_router_multicast_domain.transit_router_id,
    vpc_id="your_vpc_id",
    zone_mappings=[alicloud.cen.TransitRouterVpcAttachmentZoneMappingArgs(
        zone_id="your_zone_id",
        vswitch_id="your_vswitch_id",
    )])
default_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation("defaultTransitRouterMulticastDomainAssociation",
    transit_router_multicast_domain_id=default_transit_router_multicast_domain.id,
    transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id,
    vswitch_id="your_vswitch_id")
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultInstance = new alicloud.cen.Instance("defaultInstance", {cenInstanceName: "tf-example"});
const defaultTransitRouter = new alicloud.cen.TransitRouter("defaultTransitRouter", {
    cenId: defaultInstance.id,
    supportMulticast: true,
});
const defaultTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain("defaultTransitRouterMulticastDomain", {transitRouterId: defaultTransitRouter.transitRouterId});
const defaultTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment("defaultTransitRouterVpcAttachment", {
    cenId: defaultTransitRouter.cenId,
    transitRouterId: defaultTransitRouterMulticastDomain.transitRouterId,
    vpcId: "your_vpc_id",
    zoneMappings: [{
        zoneId: "your_zone_id",
        vswitchId: "your_vswitch_id",
    }],
});
const defaultTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation("defaultTransitRouterMulticastDomainAssociation", {
    transitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.id,
    transitRouterAttachmentId: defaultTransitRouterVpcAttachment.transitRouterAttachmentId,
    vswitchId: "your_vswitch_id",
});
resources:
  defaultInstance:
    type: alicloud:cen:Instance
    properties:
      cenInstanceName: tf-example
  defaultTransitRouter:
    type: alicloud:cen:TransitRouter
    properties:
      cenId: ${defaultInstance.id}
      supportMulticast: true
  defaultTransitRouterMulticastDomain:
    type: alicloud:cen:TransitRouterMulticastDomain
    properties:
      transitRouterId: ${defaultTransitRouter.transitRouterId}
  defaultTransitRouterVpcAttachment:
    type: alicloud:cen:TransitRouterVpcAttachment
    properties:
      cenId: ${defaultTransitRouter.cenId}
      transitRouterId: ${defaultTransitRouterMulticastDomain.transitRouterId}
      vpcId: your_vpc_id
      zoneMappings:
        - zoneId: your_zone_id
          vswitchId: your_vswitch_id
  defaultTransitRouterMulticastDomainAssociation:
    type: alicloud:cen:TransitRouterMulticastDomainAssociation
    properties:
      transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomain.id}
      transitRouterAttachmentId: ${defaultTransitRouterVpcAttachment.transitRouterAttachmentId}
      vswitchId: your_vswitch_id

Create TransitRouterMulticastDomainAssociation Resource

new TransitRouterMulticastDomainAssociation(name: string, args: TransitRouterMulticastDomainAssociationArgs, opts?: CustomResourceOptions);
@overload
def TransitRouterMulticastDomainAssociation(resource_name: str,
                                            opts: Optional[ResourceOptions] = None,
                                            transit_router_attachment_id: Optional[str] = None,
                                            transit_router_multicast_domain_id: Optional[str] = None,
                                            vswitch_id: Optional[str] = None)
@overload
def TransitRouterMulticastDomainAssociation(resource_name: str,
                                            args: TransitRouterMulticastDomainAssociationArgs,
                                            opts: Optional[ResourceOptions] = None)
func NewTransitRouterMulticastDomainAssociation(ctx *Context, name string, args TransitRouterMulticastDomainAssociationArgs, opts ...ResourceOption) (*TransitRouterMulticastDomainAssociation, error)
public TransitRouterMulticastDomainAssociation(string name, TransitRouterMulticastDomainAssociationArgs args, CustomResourceOptions? opts = null)
public TransitRouterMulticastDomainAssociation(String name, TransitRouterMulticastDomainAssociationArgs args)
public TransitRouterMulticastDomainAssociation(String name, TransitRouterMulticastDomainAssociationArgs args, CustomResourceOptions options)
type: alicloud:cen:TransitRouterMulticastDomainAssociation
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args TransitRouterMulticastDomainAssociationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args TransitRouterMulticastDomainAssociationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args TransitRouterMulticastDomainAssociationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args TransitRouterMulticastDomainAssociationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args TransitRouterMulticastDomainAssociationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

TransitRouterMulticastDomainAssociation Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The TransitRouterMulticastDomainAssociation resource accepts the following input properties:

TransitRouterAttachmentId string

The ID of the VPC connection.

TransitRouterMulticastDomainId string

The ID of the multicast domain.

VswitchId string

The ID of the vSwitch.

TransitRouterAttachmentId string

The ID of the VPC connection.

TransitRouterMulticastDomainId string

The ID of the multicast domain.

VswitchId string

The ID of the vSwitch.

transitRouterAttachmentId String

The ID of the VPC connection.

transitRouterMulticastDomainId String

The ID of the multicast domain.

vswitchId String

The ID of the vSwitch.

transitRouterAttachmentId string

The ID of the VPC connection.

transitRouterMulticastDomainId string

The ID of the multicast domain.

vswitchId string

The ID of the vSwitch.

transit_router_attachment_id str

The ID of the VPC connection.

transit_router_multicast_domain_id str

The ID of the multicast domain.

vswitch_id str

The ID of the vSwitch.

transitRouterAttachmentId String

The ID of the VPC connection.

transitRouterMulticastDomainId String

The ID of the multicast domain.

vswitchId String

The ID of the vSwitch.

Outputs

All input properties are implicitly available as output properties. Additionally, the TransitRouterMulticastDomainAssociation resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Status string

The status of the Transit Router Multicast Domain Association.

Id string

The provider-assigned unique ID for this managed resource.

Status string

The status of the Transit Router Multicast Domain Association.

id String

The provider-assigned unique ID for this managed resource.

status String

The status of the Transit Router Multicast Domain Association.

id string

The provider-assigned unique ID for this managed resource.

status string

The status of the Transit Router Multicast Domain Association.

id str

The provider-assigned unique ID for this managed resource.

status str

The status of the Transit Router Multicast Domain Association.

id String

The provider-assigned unique ID for this managed resource.

status String

The status of the Transit Router Multicast Domain Association.

Look up Existing TransitRouterMulticastDomainAssociation Resource

Get an existing TransitRouterMulticastDomainAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: TransitRouterMulticastDomainAssociationState, opts?: CustomResourceOptions): TransitRouterMulticastDomainAssociation
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        status: Optional[str] = None,
        transit_router_attachment_id: Optional[str] = None,
        transit_router_multicast_domain_id: Optional[str] = None,
        vswitch_id: Optional[str] = None) -> TransitRouterMulticastDomainAssociation
func GetTransitRouterMulticastDomainAssociation(ctx *Context, name string, id IDInput, state *TransitRouterMulticastDomainAssociationState, opts ...ResourceOption) (*TransitRouterMulticastDomainAssociation, error)
public static TransitRouterMulticastDomainAssociation Get(string name, Input<string> id, TransitRouterMulticastDomainAssociationState? state, CustomResourceOptions? opts = null)
public static TransitRouterMulticastDomainAssociation get(String name, Output<String> id, TransitRouterMulticastDomainAssociationState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Status string

The status of the Transit Router Multicast Domain Association.

TransitRouterAttachmentId string

The ID of the VPC connection.

TransitRouterMulticastDomainId string

The ID of the multicast domain.

VswitchId string

The ID of the vSwitch.

Status string

The status of the Transit Router Multicast Domain Association.

TransitRouterAttachmentId string

The ID of the VPC connection.

TransitRouterMulticastDomainId string

The ID of the multicast domain.

VswitchId string

The ID of the vSwitch.

status String

The status of the Transit Router Multicast Domain Association.

transitRouterAttachmentId String

The ID of the VPC connection.

transitRouterMulticastDomainId String

The ID of the multicast domain.

vswitchId String

The ID of the vSwitch.

status string

The status of the Transit Router Multicast Domain Association.

transitRouterAttachmentId string

The ID of the VPC connection.

transitRouterMulticastDomainId string

The ID of the multicast domain.

vswitchId string

The ID of the vSwitch.

status str

The status of the Transit Router Multicast Domain Association.

transit_router_attachment_id str

The ID of the VPC connection.

transit_router_multicast_domain_id str

The ID of the multicast domain.

vswitch_id str

The ID of the vSwitch.

status String

The status of the Transit Router Multicast Domain Association.

transitRouterAttachmentId String

The ID of the VPC connection.

transitRouterMulticastDomainId String

The ID of the multicast domain.

vswitchId String

The ID of the vSwitch.

Import

Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g.

 $ pulumi import alicloud:cen/transitRouterMulticastDomainAssociation:TransitRouterMulticastDomainAssociation example <transit_router_multicast_domain_id>:<transit_router_attachment_id>:<vswitch_id>

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.