
com.aliyun.sdk.service.cbn20170912.models.ListTransitRoutersRequest 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 ListTransitRoutersRequest} extends {@link RequestModel}
*
* ListTransitRoutersRequest
*/
public class ListTransitRoutersRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CenId")
private String cenId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("FeatureFilter")
private java.util.List < FeatureFilter> featureFilter;
@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("PageNumber")
private Integer pageNumber;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PageSize")
private Integer pageSize;
@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("Status")
private String status;
@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("TransitRouterId")
private String transitRouterId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TransitRouterName")
private String transitRouterName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Type")
private String type;
private ListTransitRoutersRequest(Builder builder) {
super(builder);
this.cenId = builder.cenId;
this.featureFilter = builder.featureFilter;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.pageNumber = builder.pageNumber;
this.pageSize = builder.pageSize;
this.regionId = builder.regionId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.status = builder.status;
this.tag = builder.tag;
this.transitRouterId = builder.transitRouterId;
this.transitRouterName = builder.transitRouterName;
this.type = builder.type;
}
public static Builder builder() {
return new Builder();
}
public static ListTransitRoutersRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return cenId
*/
public String getCenId() {
return this.cenId;
}
/**
* @return featureFilter
*/
public java.util.List < FeatureFilter> getFeatureFilter() {
return this.featureFilter;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return pageNumber
*/
public Integer getPageNumber() {
return this.pageNumber;
}
/**
* @return pageSize
*/
public Integer getPageSize() {
return this.pageSize;
}
/**
* @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 status
*/
public String getStatus() {
return this.status;
}
/**
* @return tag
*/
public java.util.List < Tag> getTag() {
return this.tag;
}
/**
* @return transitRouterId
*/
public String getTransitRouterId() {
return this.transitRouterId;
}
/**
* @return transitRouterName
*/
public String getTransitRouterName() {
return this.transitRouterName;
}
/**
* @return type
*/
public String getType() {
return this.type;
}
public static final class Builder extends Request.Builder {
private String cenId;
private java.util.List < FeatureFilter> featureFilter;
private String ownerAccount;
private Long ownerId;
private Integer pageNumber;
private Integer pageSize;
private String regionId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String status;
private java.util.List < Tag> tag;
private String transitRouterId;
private String transitRouterName;
private String type;
private Builder() {
super();
}
private Builder(ListTransitRoutersRequest request) {
super(request);
this.cenId = request.cenId;
this.featureFilter = request.featureFilter;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.pageNumber = request.pageNumber;
this.pageSize = request.pageSize;
this.regionId = request.regionId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.status = request.status;
this.tag = request.tag;
this.transitRouterId = request.transitRouterId;
this.transitRouterName = request.transitRouterName;
this.type = request.type;
}
/**
* The ID of the CEN instance.
*/
public Builder cenId(String cenId) {
this.putQueryParameter("CenId", cenId);
this.cenId = cenId;
return this;
}
/**
* The field that is used to enable or disable a feature of the transit router.
*/
public Builder featureFilter(java.util.List < FeatureFilter> featureFilter) {
this.putQueryParameter("FeatureFilter", featureFilter);
this.featureFilter = featureFilter;
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 number of the page to return. Default value: **1**.
*/
public Builder pageNumber(Integer pageNumber) {
this.putQueryParameter("PageNumber", pageNumber);
this.pageNumber = pageNumber;
return this;
}
/**
* The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.
*/
public Builder pageSize(Integer pageSize) {
this.putQueryParameter("PageSize", pageSize);
this.pageSize = pageSize;
return this;
}
/**
* The ID of the region where the 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 status of the transit router. Valid values:
*
*
* * **Creating**: The transit router is being created.
* * **Active**: The transit router is available.
* * **Modifying**: The transit router is being modified
* * **Deleting**: The transit router is being deleted.
* * **Upgrading**: The transit router is being upgraded.
*/
public Builder status(String status) {
this.putQueryParameter("Status", status);
this.status = status;
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 ID of the transit router.
*/
public Builder transitRouterId(String transitRouterId) {
this.putQueryParameter("TransitRouterId", transitRouterId);
this.transitRouterId = transitRouterId;
return this;
}
/**
* The name of the Enterprise Edition transit router.
*
*
* The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
*/
public Builder transitRouterName(String transitRouterName) {
this.putQueryParameter("TransitRouterName", transitRouterName);
this.transitRouterName = transitRouterName;
return this;
}
/**
* The edition of the transit router. Valid values:
*
*
* * **Enterprise**: Enhance Edition
* * **Basic**: Basic Edition
*/
public Builder type(String type) {
this.putQueryParameter("Type", type);
this.type = type;
return this;
}
@Override
public ListTransitRoutersRequest build() {
return new ListTransitRoutersRequest(this);
}
}
public static class FeatureFilter extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Key")
private String key;
@com.aliyun.core.annotation.NameInMap("Value")
private java.util.List < String > value;
private FeatureFilter(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static FeatureFilter create() {
return builder().build();
}
/**
* @return key
*/
public String getKey() {
return this.key;
}
/**
* @return value
*/
public java.util.List < String > getValue() {
return this.value;
}
public static final class Builder {
private String key;
private java.util.List < String > value;
/**
* The value of the field that is used to enable or disable a feature of the transit router. Supported fields:
*
*
* * **Multicast**: the multicast feature.
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The fields that are used to enable or disable the features of the transit router. The **Multicast** field supports only one value. Valid values:
*
*
* * **Enabled**: enables multicast.
* * **Disabled**: disables multicast.
*/
public Builder value(java.util.List < String > value) {
this.value = value;
return this;
}
public FeatureFilter build() {
return new FeatureFilter(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);
}
}
}
}