
com.aliyun.sdk.service.cbn20170912.models.CreateTransitRouterPeerAttachmentRequest 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 CreateTransitRouterPeerAttachmentRequest} extends {@link RequestModel}
*
* CreateTransitRouterPeerAttachmentRequest
*/
public class CreateTransitRouterPeerAttachmentRequest 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("Bandwidth")
@com.aliyun.core.annotation.Validation(maximum = 100000000)
private Integer bandwidth;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("BandwidthType")
private String bandwidthType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CenBandwidthPackageId")
private String cenBandwidthPackageId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CenId")
private String cenId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DefaultLinkType")
private String defaultLinkType;
@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("PeerTransitRouterId")
@com.aliyun.core.annotation.Validation(required = true)
private String peerTransitRouterId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PeerTransitRouterRegionId")
private String peerTransitRouterRegionId;
@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;
private CreateTransitRouterPeerAttachmentRequest(Builder builder) {
super(builder);
this.autoPublishRouteEnabled = builder.autoPublishRouteEnabled;
this.bandwidth = builder.bandwidth;
this.bandwidthType = builder.bandwidthType;
this.cenBandwidthPackageId = builder.cenBandwidthPackageId;
this.cenId = builder.cenId;
this.clientToken = builder.clientToken;
this.defaultLinkType = builder.defaultLinkType;
this.dryRun = builder.dryRun;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.peerTransitRouterId = builder.peerTransitRouterId;
this.peerTransitRouterRegionId = builder.peerTransitRouterRegionId;
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;
}
public static Builder builder() {
return new Builder();
}
public static CreateTransitRouterPeerAttachmentRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return autoPublishRouteEnabled
*/
public Boolean getAutoPublishRouteEnabled() {
return this.autoPublishRouteEnabled;
}
/**
* @return bandwidth
*/
public Integer getBandwidth() {
return this.bandwidth;
}
/**
* @return bandwidthType
*/
public String getBandwidthType() {
return this.bandwidthType;
}
/**
* @return cenBandwidthPackageId
*/
public String getCenBandwidthPackageId() {
return this.cenBandwidthPackageId;
}
/**
* @return cenId
*/
public String getCenId() {
return this.cenId;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return defaultLinkType
*/
public String getDefaultLinkType() {
return this.defaultLinkType;
}
/**
* @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 peerTransitRouterId
*/
public String getPeerTransitRouterId() {
return this.peerTransitRouterId;
}
/**
* @return peerTransitRouterRegionId
*/
public String getPeerTransitRouterRegionId() {
return this.peerTransitRouterRegionId;
}
/**
* @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;
}
public static final class Builder extends Request.Builder {
private Boolean autoPublishRouteEnabled;
private Integer bandwidth;
private String bandwidthType;
private String cenBandwidthPackageId;
private String cenId;
private String clientToken;
private String defaultLinkType;
private Boolean dryRun;
private String ownerAccount;
private Long ownerId;
private String peerTransitRouterId;
private String peerTransitRouterRegionId;
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 Builder() {
super();
}
private Builder(CreateTransitRouterPeerAttachmentRequest request) {
super(request);
this.autoPublishRouteEnabled = request.autoPublishRouteEnabled;
this.bandwidth = request.bandwidth;
this.bandwidthType = request.bandwidthType;
this.cenBandwidthPackageId = request.cenBandwidthPackageId;
this.cenId = request.cenId;
this.clientToken = request.clientToken;
this.defaultLinkType = request.defaultLinkType;
this.dryRun = request.dryRun;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.peerTransitRouterId = request.peerTransitRouterId;
this.peerTransitRouterRegionId = request.peerTransitRouterRegionId;
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;
}
/**
* Specifies whether to enable the local Enterprise Edition transit router to automatically advertise the routes of the inter-region connection to the peer transit router. Valid values:
*
*
* * **false** (default): no
* * **true**: yes
*/
public Builder autoPublishRouteEnabled(Boolean autoPublishRouteEnabled) {
this.putQueryParameter("AutoPublishRouteEnabled", autoPublishRouteEnabled);
this.autoPublishRouteEnabled = autoPublishRouteEnabled;
return this;
}
/**
* The bandwidth value of the inter-region connection. Unit: Mbit/s.
*
*
* * This parameter specifies the maximum bandwidth value for the inter-region connection if you set **BandwidthType** to **BandwidthPackage**.
* * This parameter specifies the bandwidth throttling threshold for the inter-region connection if you set **BandwidthType** to **DataTransfer**.
*/
public Builder bandwidth(Integer bandwidth) {
this.putQueryParameter("Bandwidth", bandwidth);
this.bandwidth = bandwidth;
return this;
}
/**
* The method that is used to allocate bandwidth to the inter-region connection. Valid values:
*
*
* * **BandwidthPackage**: allocates bandwidth from a bandwidth plan.
* * **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.
*/
public Builder bandwidthType(String bandwidthType) {
this.putQueryParameter("BandwidthType", bandwidthType);
this.bandwidthType = bandwidthType;
return this;
}
/**
* The ID of the bandwidth plan that is used to allocate bandwidth to the inter-region connection.
*
*
* * If you set **BandwidthType** to **DataTransfer**, you do not need to set this parameter.
*/
public Builder cenBandwidthPackageId(String cenBandwidthPackageId) {
this.putQueryParameter("CenBandwidthPackageId", cenBandwidthPackageId);
this.cenBandwidthPackageId = cenBandwidthPackageId;
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 client token that is used to ensure the idempotence of the request.
*
*
* You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.
*
* > If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The default line type.
*
*
* Valid values: Platinum and Gold.
*
* Platinum is supported only when BandwidthType is set to DataTransfer.
*/
public Builder defaultLinkType(String defaultLinkType) {
this.putQueryParameter("DefaultLinkType", defaultLinkType);
this.defaultLinkType = defaultLinkType;
return this;
}
/**
* Specifies whether to perform a dry run. Default 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 system returns the ID of the request.
*/
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 peer transit router.
*/
public Builder peerTransitRouterId(String peerTransitRouterId) {
this.putQueryParameter("PeerTransitRouterId", peerTransitRouterId);
this.peerTransitRouterId = peerTransitRouterId;
return this;
}
/**
* The ID of the region where the peer transit router is deployed.
*/
public Builder peerTransitRouterRegionId(String peerTransitRouterRegionId) {
this.putQueryParameter("PeerTransitRouterRegionId", peerTransitRouterRegionId);
this.peerTransitRouterRegionId = peerTransitRouterRegionId;
return this;
}
/**
* The ID of the region where the local Enterprise Edition transit router is deployed.
*
*
* You can call the [DescribeRegions](~~36063~~) 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 inter-region connection.
*
*
* This parameter is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http:// or https://.
*/
public Builder transitRouterAttachmentDescription(String transitRouterAttachmentDescription) {
this.putQueryParameter("TransitRouterAttachmentDescription", transitRouterAttachmentDescription);
this.transitRouterAttachmentDescription = transitRouterAttachmentDescription;
return this;
}
/**
* The name of the inter-region connection.
*
*
* The name can be empty or 1 to 128 characters in length, and cannot start with http:// or https://.
*/
public Builder transitRouterAttachmentName(String transitRouterAttachmentName) {
this.putQueryParameter("TransitRouterAttachmentName", transitRouterAttachmentName);
this.transitRouterAttachmentName = transitRouterAttachmentName;
return this;
}
/**
* The ID of the local Enterprise Edition transit router.
*/
public Builder transitRouterId(String transitRouterId) {
this.putQueryParameter("TransitRouterId", transitRouterId);
this.transitRouterId = transitRouterId;
return this;
}
@Override
public CreateTransitRouterPeerAttachmentRequest build() {
return new CreateTransitRouterPeerAttachmentRequest(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);
}
}
}
}