All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.sdk.service.cbn20170912.models.CreateTransitRouterVpcAttachmentRequest Maven / Gradle / Ivy

// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.cbn20170912.models;

import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;

/**
 * {@link CreateTransitRouterVpcAttachmentRequest} extends {@link RequestModel}
 *
 * 

CreateTransitRouterVpcAttachmentRequest

*/ public class CreateTransitRouterVpcAttachmentRequest extends Request { @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("AutoPublishRouteEnabled") private Boolean autoPublishRouteEnabled; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("CenId") private String cenId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ChargeType") private String chargeType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ClientToken") private String clientToken; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DryRun") private Boolean dryRun; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerAccount") private String ownerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerId") private Long ownerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("RegionId") private String regionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerId") private Long resourceOwnerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Tag") private java.util.List < Tag> tag; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("TransitRouterAttachmentDescription") private String transitRouterAttachmentDescription; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("TransitRouterAttachmentName") private String transitRouterAttachmentName; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("TransitRouterId") private String transitRouterId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("VpcId") @com.aliyun.core.annotation.Validation(required = true) private String vpcId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("VpcOwnerId") private Long vpcOwnerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ZoneMappings") @com.aliyun.core.annotation.Validation(required = true) private java.util.List < ZoneMappings> zoneMappings; private CreateTransitRouterVpcAttachmentRequest(Builder builder) { super(builder); this.autoPublishRouteEnabled = builder.autoPublishRouteEnabled; this.cenId = builder.cenId; this.chargeType = builder.chargeType; this.clientToken = builder.clientToken; this.dryRun = builder.dryRun; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.tag = builder.tag; this.transitRouterAttachmentDescription = builder.transitRouterAttachmentDescription; this.transitRouterAttachmentName = builder.transitRouterAttachmentName; this.transitRouterId = builder.transitRouterId; this.vpcId = builder.vpcId; this.vpcOwnerId = builder.vpcOwnerId; this.zoneMappings = builder.zoneMappings; } public static Builder builder() { return new Builder(); } public static CreateTransitRouterVpcAttachmentRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return autoPublishRouteEnabled */ public Boolean getAutoPublishRouteEnabled() { return this.autoPublishRouteEnabled; } /** * @return cenId */ public String getCenId() { return this.cenId; } /** * @return chargeType */ public String getChargeType() { return this.chargeType; } /** * @return clientToken */ public String getClientToken() { return this.clientToken; } /** * @return dryRun */ public Boolean getDryRun() { return this.dryRun; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return resourceOwnerAccount */ public String getResourceOwnerAccount() { return this.resourceOwnerAccount; } /** * @return resourceOwnerId */ public Long getResourceOwnerId() { return this.resourceOwnerId; } /** * @return tag */ public java.util.List < Tag> getTag() { return this.tag; } /** * @return transitRouterAttachmentDescription */ public String getTransitRouterAttachmentDescription() { return this.transitRouterAttachmentDescription; } /** * @return transitRouterAttachmentName */ public String getTransitRouterAttachmentName() { return this.transitRouterAttachmentName; } /** * @return transitRouterId */ public String getTransitRouterId() { return this.transitRouterId; } /** * @return vpcId */ public String getVpcId() { return this.vpcId; } /** * @return vpcOwnerId */ public Long getVpcOwnerId() { return this.vpcOwnerId; } /** * @return zoneMappings */ public java.util.List < ZoneMappings> getZoneMappings() { return this.zoneMappings; } public static final class Builder extends Request.Builder { private Boolean autoPublishRouteEnabled; private String cenId; private String chargeType; private String clientToken; private Boolean dryRun; private String ownerAccount; private Long ownerId; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private java.util.List < Tag> tag; private String transitRouterAttachmentDescription; private String transitRouterAttachmentName; private String transitRouterId; private String vpcId; private Long vpcOwnerId; private java.util.List < ZoneMappings> zoneMappings; private Builder() { super(); } private Builder(CreateTransitRouterVpcAttachmentRequest request) { super(request); this.autoPublishRouteEnabled = request.autoPublishRouteEnabled; this.cenId = request.cenId; this.chargeType = request.chargeType; this.clientToken = request.clientToken; this.dryRun = request.dryRun; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.tag = request.tag; this.transitRouterAttachmentDescription = request.transitRouterAttachmentDescription; this.transitRouterAttachmentName = request.transitRouterAttachmentName; this.transitRouterId = request.transitRouterId; this.vpcId = request.vpcId; this.vpcOwnerId = request.vpcOwnerId; this.zoneMappings = request.zoneMappings; } /** * Specifies whether to enable the Enterprise Edition transit router to automatically advertise routes to VPCs. Valid values: *

* * * **false:** (default) * * **true** */ public Builder autoPublishRouteEnabled(Boolean autoPublishRouteEnabled) { this.putQueryParameter("AutoPublishRouteEnabled", autoPublishRouteEnabled); this.autoPublishRouteEnabled = autoPublishRouteEnabled; return this; } /** * The ID of the Cloud Enterprise Network (CEN) instance. */ public Builder cenId(String cenId) { this.putQueryParameter("CenId", cenId); this.cenId = cenId; return this; } /** * The billing method. The default value is **POSTPAY**, which specifies the pay-as-you-go billing method. */ public Builder chargeType(String chargeType) { this.putQueryParameter("ChargeType", chargeType); this.chargeType = chargeType; return this; } /** * The client token that is used to ensure the idempotence of the request. *

* * You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters. * * > If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request. */ public Builder clientToken(String clientToken) { this.putQueryParameter("ClientToken", clientToken); this.clientToken = clientToken; return this; } /** * Specifies whether to perform a dry run. Valid values: *

* * * **false** (default): performs a dry run and sends the request. * * **true**: performs a dry run. The system checks the required parameters and request syntax. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned. */ public Builder dryRun(Boolean dryRun) { this.putQueryParameter("DryRun", dryRun); this.dryRun = dryRun; return this; } /** * OwnerAccount. */ public Builder ownerAccount(String ownerAccount) { this.putQueryParameter("OwnerAccount", ownerAccount); this.ownerAccount = ownerAccount; return this; } /** * OwnerId. */ public Builder ownerId(Long ownerId) { this.putQueryParameter("OwnerId", ownerId); this.ownerId = ownerId; return this; } /** * The ID of the region where the VPC is deployed. *

* * You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list. */ public Builder regionId(String regionId) { this.putQueryParameter("RegionId", regionId); this.regionId = regionId; return this; } /** * ResourceOwnerAccount. */ public Builder resourceOwnerAccount(String resourceOwnerAccount) { this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount); this.resourceOwnerAccount = resourceOwnerAccount; return this; } /** * ResourceOwnerId. */ public Builder resourceOwnerId(Long resourceOwnerId) { this.putQueryParameter("ResourceOwnerId", resourceOwnerId); this.resourceOwnerId = resourceOwnerId; return this; } /** * The information about the tags. *

* * You can specify at most 20 tags in each call. */ public Builder tag(java.util.List < Tag> tag) { this.putQueryParameter("Tag", tag); this.tag = tag; return this; } /** * The description of the VPC connection. *

* * The description must be 1 to 256 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty. */ public Builder transitRouterAttachmentDescription(String transitRouterAttachmentDescription) { this.putQueryParameter("TransitRouterAttachmentDescription", transitRouterAttachmentDescription); this.transitRouterAttachmentDescription = transitRouterAttachmentDescription; return this; } /** * The name of the VPC connection. *

* * The name must be 1 to 128 characters in length, and cannot start with http:// or https://. You can also leave this parameter empty. */ public Builder transitRouterAttachmentName(String transitRouterAttachmentName) { this.putQueryParameter("TransitRouterAttachmentName", transitRouterAttachmentName); this.transitRouterAttachmentName = transitRouterAttachmentName; return this; } /** * The ID of the Enterprise Edition transit router. */ public Builder transitRouterId(String transitRouterId) { this.putQueryParameter("TransitRouterId", transitRouterId); this.transitRouterId = transitRouterId; return this; } /** * The VPC ID. */ public Builder vpcId(String vpcId) { this.putQueryParameter("VpcId", vpcId); this.vpcId = vpcId; return this; } /** * The ID of the Alibaba Cloud account to which the VPC belongs. The default value is the ID of the current Alibaba Cloud account. *

* * > If the network instance and CEN instance belong to different Alibaba Cloud accounts, this parameter is required. */ public Builder vpcOwnerId(Long vpcOwnerId) { this.putQueryParameter("VpcOwnerId", vpcOwnerId); this.vpcOwnerId = vpcOwnerId; return this; } /** * A zone that supports Enterprise Edition transit routers. *

* * You can specify at most 10 zones. */ public Builder zoneMappings(java.util.List < ZoneMappings> zoneMappings) { this.putQueryParameter("ZoneMappings", zoneMappings); this.zoneMappings = zoneMappings; return this; } @Override public CreateTransitRouterVpcAttachmentRequest build() { return new CreateTransitRouterVpcAttachmentRequest(this); } } public static class Tag extends TeaModel { @com.aliyun.core.annotation.NameInMap("Key") private String key; @com.aliyun.core.annotation.NameInMap("Value") private String value; private Tag(Builder builder) { this.key = builder.key; this.value = builder.value; } public static Builder builder() { return new Builder(); } public static Tag create() { return builder().build(); } /** * @return key */ public String getKey() { return this.key; } /** * @return value */ public String getValue() { return this.value; } public static final class Builder { private String key; private String value; /** * The tag key. *

* * The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`. * * You can specify at most 20 tag keys. */ public Builder key(String key) { this.key = key; return this; } /** * The tag value. *

* * The tag value can be 0 to 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. * * Each tag key must have a unique tag value. You can specify at most 20 tag values in each call. */ public Builder value(String value) { this.value = value; return this; } public Tag build() { return new Tag(this); } } } public static class ZoneMappings extends TeaModel { @com.aliyun.core.annotation.NameInMap("VSwitchId") @com.aliyun.core.annotation.Validation(required = true) private String vSwitchId; @com.aliyun.core.annotation.NameInMap("ZoneId") @com.aliyun.core.annotation.Validation(required = true) private String zoneId; private ZoneMappings(Builder builder) { this.vSwitchId = builder.vSwitchId; this.zoneId = builder.zoneId; } public static Builder builder() { return new Builder(); } public static ZoneMappings create() { return builder().build(); } /** * @return vSwitchId */ public String getVSwitchId() { return this.vSwitchId; } /** * @return zoneId */ public String getZoneId() { return this.zoneId; } public static final class Builder { private String vSwitchId; private String zoneId; /** * A vSwitch that is deployed in the zone that supports Enterprise Edition transit routers. *

* * You can specify vSwitches for at most 10 zones in each call. */ public Builder vSwitchId(String vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * The ID of the zone that supports Enterprise Edition transit routers. *

* * You can call the [DescribeZones](~~36064~~) operation to query the most recent zone list. * * You can specify at most 10 zones in each call. */ public Builder zoneId(String zoneId) { this.zoneId = zoneId; return this; } public ZoneMappings build() { return new ZoneMappings(this); } } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy