TransitRouterVpcAttachment

Provides a CEN transit router VPC attachment resource that associate the VPC with the CEN instance. What is Cen Transit Router VPC Attachment

NOTE: Available in 1.126.0+

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cen.CenFunctions;
import com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
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.TransitRouterVpcAttachment;
import com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;
import com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;
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) {
final var config = ctx.config();
final var transitRouterAttachmentName = config.get("transitRouterAttachmentName").orElse("sdk_rebot_cen_tr_yaochi");
final var transitRouterAttachmentDescription = config.get("transitRouterAttachmentDescription").orElse("sdk_rebot_cen_tr_yaochi");
final var defaultTransitRouterAvailableResources = CenFunctions.getTransitRouterAvailableResources();
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName("sdk_rebot_cen_tr_yaochi")
.cidrBlock("192.168.0.0/16")
.build());
var defaultMaster = new Switch("defaultMaster", SwitchArgs.builder()
.vswitchName("sdk_rebot_cen_tr_yaochi")
.vpcId(defaultNetwork.id())
.cidrBlock("192.168.1.0/24")
.zoneId(defaultTransitRouterAvailableResources.applyValue(getTransitRouterAvailableResourcesResult -> getTransitRouterAvailableResourcesResult.resources()[0].masterZones()[0]))
.build());
var defaultSlave = new Switch("defaultSlave", SwitchArgs.builder()
.vswitchName("sdk_rebot_cen_tr_yaochi")
.vpcId(defaultNetwork.id())
.cidrBlock("192.168.2.0/24")
.zoneId(defaultTransitRouterAvailableResources.applyValue(getTransitRouterAvailableResourcesResult -> getTransitRouterAvailableResourcesResult.resources()[0].slaveZones()[0]))
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.cenInstanceName("sdk_rebot_cen_tr_yaochi")
.protectionLevel("REDUCED")
.build());
var defaultTransitRouter = new TransitRouter("defaultTransitRouter", TransitRouterArgs.builder()
.cenId(defaultInstance.id())
.build());
var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment("defaultTransitRouterVpcAttachment", TransitRouterVpcAttachmentArgs.builder()
.cenId(defaultInstance.id())
.transitRouterId(defaultTransitRouter.transitRouterId())
.vpcId(defaultNetwork.id())
.zoneMappings(
TransitRouterVpcAttachmentZoneMappingArgs.builder()
.zoneId(defaultTransitRouterAvailableResources.applyValue(getTransitRouterAvailableResourcesResult -> getTransitRouterAvailableResourcesResult.resources()[0].masterZones()[0]))
.vswitchId(defaultMaster.id())
.build(),
TransitRouterVpcAttachmentZoneMappingArgs.builder()
.zoneId(defaultTransitRouterAvailableResources.applyValue(getTransitRouterAvailableResourcesResult -> getTransitRouterAvailableResourcesResult.resources()[0].slaveZones()[1]))
.vswitchId(defaultSlave.id())
.build())
.transitRouterAttachmentName(transitRouterAttachmentName)
.transitRouterAttachmentDescription(transitRouterAttachmentDescription)
.build());
}
}

Import

CEN instance can be imported using the id, e.g.

$ pulumi import alicloud:cen/transitRouterVpcAttachment:TransitRouterVpcAttachment example tr-********:tr-attach-********

Properties

Link copied to clipboard
val cenId: Output<String>

The ID of the CEN.

Link copied to clipboard
val dryRun: Output<Boolean>?

The dry run.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val paymentType: Output<String>

The payment type of the resource. Valid values: PayAsYouGo.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceType: Output<String>?

The resource type of transit router vpc attachment. Valid value VPC. Default value is VPC.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val status: Output<String>

The associating status of the network.

Link copied to clipboard
val tags: Output<Map<String, Any>>?

A mapping of tags to assign to the resource.

Link copied to clipboard

The description of the transit router vbr attachment.

Link copied to clipboard

The ID of transit router attachment.

Link copied to clipboard

The name of the transit router vbr attachment.

Link copied to clipboard
val transitRouterId: Output<String>?

The ID of the transit router.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val vpcId: Output<String>

The ID of the VPC.

Link copied to clipboard
val vpcOwnerId: Output<String>

The owner id of vpc.

Link copied to clipboard

The list of zone mapping of the VPC. NOTE: From version 1.184.0, zone_mappings can be modified.