com.aliyun.sdk.service.ecs20140526.models.CopySnapshotRequest Maven / Gradle / Ivy
Show all versions of alibabacloud-ecs20140526 Show documentation
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
* {@link CopySnapshotRequest} extends {@link RequestModel}
*
* CopySnapshotRequest
*/
public class CopySnapshotRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Arn")
private java.util.List < Arn> arn;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DestinationRegionId")
@com.aliyun.core.annotation.Validation(required = true)
private String destinationRegionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DestinationSnapshotDescription")
@com.aliyun.core.annotation.Validation(required = true)
private String destinationSnapshotDescription;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DestinationSnapshotName")
@com.aliyun.core.annotation.Validation(required = true)
private String destinationSnapshotName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DestinationStorageLocationArn")
private String destinationStorageLocationArn;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Encrypted")
private Boolean encrypted;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("KMSKeyId")
@com.aliyun.core.annotation.Validation(maxLength = 64)
private String KMSKeyId;
@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")
@com.aliyun.core.annotation.Validation(required = true)
private String regionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceGroupId")
private String resourceGroupId;
@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("RetentionDays")
private Integer retentionDays;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("SnapshotId")
@com.aliyun.core.annotation.Validation(required = true)
private String snapshotId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List < Tag> tag;
private CopySnapshotRequest(Builder builder) {
super(builder);
this.arn = builder.arn;
this.clientToken = builder.clientToken;
this.destinationRegionId = builder.destinationRegionId;
this.destinationSnapshotDescription = builder.destinationSnapshotDescription;
this.destinationSnapshotName = builder.destinationSnapshotName;
this.destinationStorageLocationArn = builder.destinationStorageLocationArn;
this.encrypted = builder.encrypted;
this.KMSKeyId = builder.KMSKeyId;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.resourceGroupId = builder.resourceGroupId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.retentionDays = builder.retentionDays;
this.snapshotId = builder.snapshotId;
this.tag = builder.tag;
}
public static Builder builder() {
return new Builder();
}
public static CopySnapshotRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return arn
*/
public java.util.List < Arn> getArn() {
return this.arn;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return destinationRegionId
*/
public String getDestinationRegionId() {
return this.destinationRegionId;
}
/**
* @return destinationSnapshotDescription
*/
public String getDestinationSnapshotDescription() {
return this.destinationSnapshotDescription;
}
/**
* @return destinationSnapshotName
*/
public String getDestinationSnapshotName() {
return this.destinationSnapshotName;
}
/**
* @return destinationStorageLocationArn
*/
public String getDestinationStorageLocationArn() {
return this.destinationStorageLocationArn;
}
/**
* @return encrypted
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
* @return KMSKeyId
*/
public String getKMSKeyId() {
return this.KMSKeyId;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceGroupId
*/
public String getResourceGroupId() {
return this.resourceGroupId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return retentionDays
*/
public Integer getRetentionDays() {
return this.retentionDays;
}
/**
* @return snapshotId
*/
public String getSnapshotId() {
return this.snapshotId;
}
/**
* @return tag
*/
public java.util.List < Tag> getTag() {
return this.tag;
}
public static final class Builder extends Request.Builder {
private java.util.List < Arn> arn;
private String clientToken;
private String destinationRegionId;
private String destinationSnapshotDescription;
private String destinationSnapshotName;
private String destinationStorageLocationArn;
private Boolean encrypted;
private String KMSKeyId;
private Long ownerId;
private String regionId;
private String resourceGroupId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private Integer retentionDays;
private String snapshotId;
private java.util.List < Tag> tag;
private Builder() {
super();
}
private Builder(CopySnapshotRequest request) {
super(request);
this.arn = request.arn;
this.clientToken = request.clientToken;
this.destinationRegionId = request.destinationRegionId;
this.destinationSnapshotDescription = request.destinationSnapshotDescription;
this.destinationSnapshotName = request.destinationSnapshotName;
this.destinationStorageLocationArn = request.destinationStorageLocationArn;
this.encrypted = request.encrypted;
this.KMSKeyId = request.KMSKeyId;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.resourceGroupId = request.resourceGroupId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.retentionDays = request.retentionDays;
this.snapshotId = request.snapshotId;
this.tag = request.tag;
}
/**
* >This parameter is currently in invitational preview and unavailable for public use.
*/
public Builder arn(java.util.List < Arn> arn) {
this.putQueryParameter("Arn", arn);
this.arn = arn;
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 and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The ID of the destination region to which to copy the source snapshot.
*/
public Builder destinationRegionId(String destinationRegionId) {
this.putQueryParameter("DestinationRegionId", destinationRegionId);
this.destinationRegionId = destinationRegionId;
return this;
}
/**
* The description of the new snapshot. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
*
*
* This parameter is empty by default.
*/
public Builder destinationSnapshotDescription(String destinationSnapshotDescription) {
this.putQueryParameter("DestinationSnapshotDescription", destinationSnapshotDescription);
this.destinationSnapshotDescription = destinationSnapshotDescription;
return this;
}
/**
* The name of the new snapshot. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (\_), periods (.), and hyphens (-).
*
*
* This parameter is left empty by default.
*/
public Builder destinationSnapshotName(String destinationSnapshotName) {
this.putQueryParameter("DestinationSnapshotName", destinationSnapshotName);
this.destinationSnapshotName = destinationSnapshotName;
return this;
}
/**
* > This parameter is not publicly available.
*/
public Builder destinationStorageLocationArn(String destinationStorageLocationArn) {
this.putQueryParameter("DestinationStorageLocationArn", destinationStorageLocationArn);
this.destinationStorageLocationArn = destinationStorageLocationArn;
return this;
}
/**
* Specifies whether to encrypt the new snapshot. Valid values:
*
*
* * true
* * false
*
* Default value: false.
*/
public Builder encrypted(Boolean encrypted) {
this.putQueryParameter("Encrypted", encrypted);
this.encrypted = encrypted;
return this;
}
/**
* The ID of the customer master key (CMK) in Key Management Service (KMS) in the destination region.
*/
public Builder KMSKeyId(String KMSKeyId) {
this.putQueryParameter("KMSKeyId", KMSKeyId);
this.KMSKeyId = KMSKeyId;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The region ID of the source snapshot. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* This parameter is not publicly available.
*/
public Builder resourceGroupId(String resourceGroupId) {
this.putQueryParameter("ResourceGroupId", resourceGroupId);
this.resourceGroupId = resourceGroupId;
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 retention period of the new snapshot. Unit: days. The new snapshot is automatically released when its retention period ends. Valid values: 1 to 65536.
*
*
* This parameter is empty by default, which indicates that the snapshot is not automatically released.
*/
public Builder retentionDays(Integer retentionDays) {
this.putQueryParameter("RetentionDays", retentionDays);
this.retentionDays = retentionDays;
return this;
}
/**
* The ID of the source snapshot.
*/
public Builder snapshotId(String snapshotId) {
this.putQueryParameter("SnapshotId", snapshotId);
this.snapshotId = snapshotId;
return this;
}
/**
* The tag key and value of the new snapshot.
*/
public Builder tag(java.util.List < Tag> tag) {
this.putQueryParameter("Tag", tag);
this.tag = tag;
return this;
}
@Override
public CopySnapshotRequest build() {
return new CopySnapshotRequest(this);
}
}
public static class Arn extends TeaModel {
@com.aliyun.core.annotation.NameInMap("AssumeRoleFor")
private Long assumeRoleFor;
@com.aliyun.core.annotation.NameInMap("RoleType")
private String roleType;
@com.aliyun.core.annotation.NameInMap("Rolearn")
private String rolearn;
private Arn(Builder builder) {
this.assumeRoleFor = builder.assumeRoleFor;
this.roleType = builder.roleType;
this.rolearn = builder.rolearn;
}
public static Builder builder() {
return new Builder();
}
public static Arn create() {
return builder().build();
}
/**
* @return assumeRoleFor
*/
public Long getAssumeRoleFor() {
return this.assumeRoleFor;
}
/**
* @return roleType
*/
public String getRoleType() {
return this.roleType;
}
/**
* @return rolearn
*/
public String getRolearn() {
return this.rolearn;
}
public static final class Builder {
private Long assumeRoleFor;
private String roleType;
private String rolearn;
/**
* > This parameter is not publicly available.
*/
public Builder assumeRoleFor(Long assumeRoleFor) {
this.assumeRoleFor = assumeRoleFor;
return this;
}
/**
* > This parameter is not publicly available.
*/
public Builder roleType(String roleType) {
this.roleType = roleType;
return this;
}
/**
* > This parameter is not publicly available.
*/
public Builder rolearn(String rolearn) {
this.rolearn = rolearn;
return this;
}
public Arn build() {
return new Arn(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 key of tag N to add to the new snapshot. The tag key cannot be an empty string. It can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The value of tag N to add to the new snapshot. The tag value can be an empty string. It can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.
*/
public Builder value(String value) {
this.value = value;
return this;
}
public Tag build() {
return new Tag(this);
}
}
}
}