
com.aliyun.sdk.service.cbn20170912.models.DeleteTransitRouterVpnAttachmentRequest 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 DeleteTransitRouterVpnAttachmentRequest} extends {@link RequestModel}
*
* DeleteTransitRouterVpnAttachmentRequest
*/
public class DeleteTransitRouterVpnAttachmentRequest extends Request {
@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("Force")
private Boolean force;
@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("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("TransitRouterAttachmentId")
@com.aliyun.core.annotation.Validation(required = true)
private String transitRouterAttachmentId;
private DeleteTransitRouterVpnAttachmentRequest(Builder builder) {
super(builder);
this.clientToken = builder.clientToken;
this.dryRun = builder.dryRun;
this.force = builder.force;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.transitRouterAttachmentId = builder.transitRouterAttachmentId;
}
public static Builder builder() {
return new Builder();
}
public static DeleteTransitRouterVpnAttachmentRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return dryRun
*/
public Boolean getDryRun() {
return this.dryRun;
}
/**
* @return force
*/
public Boolean getForce() {
return this.force;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return transitRouterAttachmentId
*/
public String getTransitRouterAttachmentId() {
return this.transitRouterAttachmentId;
}
public static final class Builder extends Request.Builder {
private String clientToken;
private Boolean dryRun;
private Boolean force;
private String ownerAccount;
private Long ownerId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String transitRouterAttachmentId;
private Builder() {
super();
}
private Builder(DeleteTransitRouterVpnAttachmentRequest request) {
super(request);
this.clientToken = request.clientToken;
this.dryRun = request.dryRun;
this.force = request.force;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.transitRouterAttachmentId = request.transitRouterAttachmentId;
}
/**
* 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:
*
*
* * **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. 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.
* * **false** (default): performs a dry run and sends the request.
*/
public Builder dryRun(Boolean dryRun) {
this.putQueryParameter("DryRun", dryRun);
this.dryRun = dryRun;
return this;
}
/**
* Specifies whether to forcefully delete the VPN attachment. Valid values:
*
*
* * **false** (default): Check for resource dependencies, such as associated forwarding and route learning, before the VPN attachment is deleted. If such resources exist, the VPN attachment is not deleted and an error message is returned.
* * **true**: Delete the resource dependencies along with the VPN attachment.
*/
public Builder force(Boolean force) {
this.putQueryParameter("Force", force);
this.force = force;
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;
}
/**
* 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 ID of the VPN attachment.
*/
public Builder transitRouterAttachmentId(String transitRouterAttachmentId) {
this.putQueryParameter("TransitRouterAttachmentId", transitRouterAttachmentId);
this.transitRouterAttachmentId = transitRouterAttachmentId;
return this;
}
@Override
public DeleteTransitRouterVpnAttachmentRequest build() {
return new DeleteTransitRouterVpnAttachmentRequest(this);
}
}
}