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

com.aliyun.sdk.service.ecs20140526.models.CopySnapshotRequest Maven / Gradle / Ivy

The newest version!
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;

import com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
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; @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; 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 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 getTag() { return this.tag; } public static final class Builder extends Request.Builder { private java.util.List 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; 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) { 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.

* * example: *

123e4567-e89b-12d3-a456-426655440000

*/ 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.

*

This parameter is required.

* * example: *

us-east-1

*/ 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.

*

This parameter is required.

* * example: *

CopySnapshotDemo

*/ 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.

*

This parameter is required.

* * example: *

CopySnapshotDemo

*/ public Builder destinationSnapshotName(String destinationSnapshotName) { this.putQueryParameter("DestinationSnapshotName", destinationSnapshotName); this.destinationSnapshotName = destinationSnapshotName; return this; } /** *
*

This parameter is not publicly available.

*
* * example: *

null

*/ 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.

* * example: *

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.

* * example: *

0e478b7a-4262-4802-b8cb-00d3fb40****

*/ 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 operation to query the most recent region list.

*

This parameter is required.

* * example: *

cn-chengdu

*/ public Builder regionId(String regionId) { this.putQueryParameter("RegionId", regionId); this.regionId = regionId; return this; } /** *

This parameter is not publicly available.

* * example: *

rg-bp67acfmxazb4p****

*/ 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.

* * example: *

60

*/ public Builder retentionDays(Integer retentionDays) { this.putQueryParameter("RetentionDays", retentionDays); this.retentionDays = retentionDays; return this; } /** *

The ID of the source snapshot.

*

This parameter is required.

* * example: *

s-bp67acfmxazb4p****

*/ 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) { this.putQueryParameter("Tag", tag); this.tag = tag; return this; } @Override public CopySnapshotRequest build() { return new CopySnapshotRequest(this); } } /** * * {@link CopySnapshotRequest} extends {@link TeaModel} * *

CopySnapshotRequest

*/ 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.

*
* * example: *

0

*/ public Builder assumeRoleFor(Long assumeRoleFor) { this.assumeRoleFor = assumeRoleFor; return this; } /** *
*

This parameter is not publicly available.

*
* * example: *

null

*/ public Builder roleType(String roleType) { this.roleType = roleType; return this; } /** *
*

This parameter is not publicly available.

*
* * example: *

null

*/ public Builder rolearn(String rolearn) { this.rolearn = rolearn; return this; } public Arn build() { return new Arn(this); } } } /** * * {@link CopySnapshotRequest} extends {@link TeaModel} * *

CopySnapshotRequest

*/ 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://.

* * example: *

TestKey

*/ 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://.

* * example: *

TestValue

*/ public Builder value(String value) { this.value = value; return this; } public Tag build() { return new Tag(this); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy