com.aliyun.sdk.service.ecs20140526.models.ModifyAutoSnapshotPolicyExRequest 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 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 ModifyAutoSnapshotPolicyExRequest} extends {@link RequestModel}
*
* ModifyAutoSnapshotPolicyExRequest
*/
public class ModifyAutoSnapshotPolicyExRequest extends Request {
@com.aliyun.core.annotation.Host
@com.aliyun.core.annotation.NameInMap("SourceRegionId")
private String sourceRegionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CopiedSnapshotsRetentionDays")
private Integer copiedSnapshotsRetentionDays;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CopyEncryptionConfiguration")
private CopyEncryptionConfiguration copyEncryptionConfiguration;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("EnableCrossRegionCopy")
private Boolean enableCrossRegionCopy;
@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("TargetCopyRegions")
private String targetCopyRegions;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("autoSnapshotPolicyId")
@com.aliyun.core.annotation.Validation(required = true)
private String autoSnapshotPolicyId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("autoSnapshotPolicyName")
private String autoSnapshotPolicyName;
@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("repeatWeekdays")
private String repeatWeekdays;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("retentionDays")
private Integer retentionDays;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("timePoints")
private String timePoints;
private ModifyAutoSnapshotPolicyExRequest(Builder builder) {
super(builder);
this.sourceRegionId = builder.sourceRegionId;
this.copiedSnapshotsRetentionDays = builder.copiedSnapshotsRetentionDays;
this.copyEncryptionConfiguration = builder.copyEncryptionConfiguration;
this.enableCrossRegionCopy = builder.enableCrossRegionCopy;
this.ownerId = builder.ownerId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.targetCopyRegions = builder.targetCopyRegions;
this.autoSnapshotPolicyId = builder.autoSnapshotPolicyId;
this.autoSnapshotPolicyName = builder.autoSnapshotPolicyName;
this.regionId = builder.regionId;
this.repeatWeekdays = builder.repeatWeekdays;
this.retentionDays = builder.retentionDays;
this.timePoints = builder.timePoints;
}
public static Builder builder() {
return new Builder();
}
public static ModifyAutoSnapshotPolicyExRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return sourceRegionId
*/
public String getSourceRegionId() {
return this.sourceRegionId;
}
/**
* @return copiedSnapshotsRetentionDays
*/
public Integer getCopiedSnapshotsRetentionDays() {
return this.copiedSnapshotsRetentionDays;
}
/**
* @return copyEncryptionConfiguration
*/
public CopyEncryptionConfiguration getCopyEncryptionConfiguration() {
return this.copyEncryptionConfiguration;
}
/**
* @return enableCrossRegionCopy
*/
public Boolean getEnableCrossRegionCopy() {
return this.enableCrossRegionCopy;
}
/**
* @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 targetCopyRegions
*/
public String getTargetCopyRegions() {
return this.targetCopyRegions;
}
/**
* @return autoSnapshotPolicyId
*/
public String getAutoSnapshotPolicyId() {
return this.autoSnapshotPolicyId;
}
/**
* @return autoSnapshotPolicyName
*/
public String getAutoSnapshotPolicyName() {
return this.autoSnapshotPolicyName;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return repeatWeekdays
*/
public String getRepeatWeekdays() {
return this.repeatWeekdays;
}
/**
* @return retentionDays
*/
public Integer getRetentionDays() {
return this.retentionDays;
}
/**
* @return timePoints
*/
public String getTimePoints() {
return this.timePoints;
}
public static final class Builder extends Request.Builder {
private String sourceRegionId;
private Integer copiedSnapshotsRetentionDays;
private CopyEncryptionConfiguration copyEncryptionConfiguration;
private Boolean enableCrossRegionCopy;
private Long ownerId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String targetCopyRegions;
private String autoSnapshotPolicyId;
private String autoSnapshotPolicyName;
private String regionId;
private String repeatWeekdays;
private Integer retentionDays;
private String timePoints;
private Builder() {
super();
}
private Builder(ModifyAutoSnapshotPolicyExRequest request) {
super(request);
this.sourceRegionId = request.sourceRegionId;
this.copiedSnapshotsRetentionDays = request.copiedSnapshotsRetentionDays;
this.copyEncryptionConfiguration = request.copyEncryptionConfiguration;
this.enableCrossRegionCopy = request.enableCrossRegionCopy;
this.ownerId = request.ownerId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.targetCopyRegions = request.targetCopyRegions;
this.autoSnapshotPolicyId = request.autoSnapshotPolicyId;
this.autoSnapshotPolicyName = request.autoSnapshotPolicyName;
this.regionId = request.regionId;
this.repeatWeekdays = request.repeatWeekdays;
this.retentionDays = request.retentionDays;
this.timePoints = request.timePoints;
}
/**
* SourceRegionId.
*/
public Builder sourceRegionId(String sourceRegionId) {
this.putHostParameter("SourceRegionId", sourceRegionId);
this.sourceRegionId = sourceRegionId;
return this;
}
/**
* The ID of the request.
*
* example:
* 30
*/
public Builder copiedSnapshotsRetentionDays(Integer copiedSnapshotsRetentionDays) {
this.putQueryParameter("CopiedSnapshotsRetentionDays", copiedSnapshotsRetentionDays);
this.copiedSnapshotsRetentionDays = copiedSnapshotsRetentionDays;
return this;
}
/**
* The encryption configurations for cross-region snapshot replication.
*/
public Builder copyEncryptionConfiguration(CopyEncryptionConfiguration copyEncryptionConfiguration) {
this.putQueryParameter("CopyEncryptionConfiguration", copyEncryptionConfiguration);
this.copyEncryptionConfiguration = copyEncryptionConfiguration;
return this;
}
/**
* The destination region to which to copy the snapshot. You can specify only a single destination region.
*
* example:
* false
*/
public Builder enableCrossRegionCopy(Boolean enableCrossRegionCopy) {
this.putQueryParameter("EnableCrossRegionCopy", enableCrossRegionCopy);
this.enableCrossRegionCopy = enableCrossRegionCopy;
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 retention period of the snapshot copy in the destination region. Unit: days. Valid values:
*
* - -1: The snapshot is permanently retained.
* - 1 to 65535: The automatic snapshot is retained for the specified number of days.
*
* Default value: -1.
*
* example:
* ["cn-hangzhou"]
*/
public Builder targetCopyRegions(String targetCopyRegions) {
this.putQueryParameter("TargetCopyRegions", targetCopyRegions);
this.targetCopyRegions = targetCopyRegions;
return this;
}
/**
* The name of the automatic snapshot policy. If this parameter is not specified, the original name of the automatic snapshot policy is retained.
* This parameter is required.
*
* example:
* sp-bp12m37ccmxvbmi5****
*/
public Builder autoSnapshotPolicyId(String autoSnapshotPolicyId) {
this.putQueryParameter("autoSnapshotPolicyId", autoSnapshotPolicyId);
this.autoSnapshotPolicyId = autoSnapshotPolicyId;
return this;
}
/**
* The points in time of the day at which to create automatic snapshots. The time must be in UTC+8. Unit: hours. Valid values are 0 to 23, which correspond to the 24 points in time on the hour from 00:00:00 to 23:00:00. For example, a value of 1 indicates 01:00:00.
* To schedule multiple automatic snapshots to be created in a day, you can specify multiple hours.
*
* - You can specify up to 24 points in time.
* - You must set this parameter to a JSON array such as
["0", "1", ... "23"]
. Separate the points in time with commas (,).
*
*
* example:
* SPTestName
*/
public Builder autoSnapshotPolicyName(String autoSnapshotPolicyName) {
this.putQueryParameter("autoSnapshotPolicyName", autoSnapshotPolicyName);
this.autoSnapshotPolicyName = autoSnapshotPolicyName;
return this;
}
/**
* The ID of the automatic snapshot policy. You can call the DescribeAutoSnapshotPolicyEx operation to query available automatic snapshot policies.
* This parameter is required.
*
* example:
* cn-hangzhou
*/
public Builder regionId(String regionId) {
this.putQueryParameter("regionId", regionId);
this.regionId = regionId;
return this;
}
/**
* The retention period of the automatic snapshot. Unit: days. Valid values:
*
* - -1: The automatic snapshot is permanently retained.
* - 1 to 65536: The auto snapshot is retained for the specified number of days.
*
* Default value: -1.
*
* example:
* ["1", "7"]
*/
public Builder repeatWeekdays(String repeatWeekdays) {
this.putQueryParameter("repeatWeekdays", repeatWeekdays);
this.repeatWeekdays = repeatWeekdays;
return this;
}
/**
* Specifies whether to enable cross-region replication for the automatic snapshot.
*
* - true: enables cross-region replication for the automatic snapshot.
* - false: disables cross-region replication for the automatic snapshot.
*
*
* example:
* 30
*/
public Builder retentionDays(Integer retentionDays) {
this.putQueryParameter("retentionDays", retentionDays);
this.retentionDays = retentionDays;
return this;
}
/**
* The days of the week on which to create automatic snapshots. Valid values are 1 to 7, which correspond to the days of the week. For example, a value of 1 indicates Monday.
* To schedule multiple automatic snapshots to be created in a week, you can specify multiple days.
*
* - You can specify up to seven days over a one-week period.
* - You must set this parameter to a JSON array such as
["1", "2" ... "7"]
. Separate the values in the array with commas (,).
*
*
* example:
* ["0", "1"]
*/
public Builder timePoints(String timePoints) {
this.putQueryParameter("timePoints", timePoints);
this.timePoints = timePoints;
return this;
}
@Override
public ModifyAutoSnapshotPolicyExRequest build() {
return new ModifyAutoSnapshotPolicyExRequest(this);
}
}
/**
*
* {@link ModifyAutoSnapshotPolicyExRequest} extends {@link TeaModel}
*
* ModifyAutoSnapshotPolicyExRequest
*/
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:
* 1000000000
*/
public Builder assumeRoleFor(Long assumeRoleFor) {
this.assumeRoleFor = assumeRoleFor;
return this;
}
/**
* This parameter is not publicly available.
*
* example:
* hide
*/
public Builder roleType(String roleType) {
this.roleType = roleType;
return this;
}
/**
* This parameter is not publicly available.
*
* example:
* hide
*/
public Builder rolearn(String rolearn) {
this.rolearn = rolearn;
return this;
}
public Arn build() {
return new Arn(this);
}
}
}
/**
*
* {@link ModifyAutoSnapshotPolicyExRequest} extends {@link TeaModel}
*
* ModifyAutoSnapshotPolicyExRequest
*/
public static class CopyEncryptionConfiguration extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Arn")
private java.util.List arn;
@com.aliyun.core.annotation.NameInMap("Encrypted")
private Boolean encrypted;
@com.aliyun.core.annotation.NameInMap("KMSKeyId")
private String KMSKeyId;
private CopyEncryptionConfiguration(Builder builder) {
this.arn = builder.arn;
this.encrypted = builder.encrypted;
this.KMSKeyId = builder.KMSKeyId;
}
public static Builder builder() {
return new Builder();
}
public static CopyEncryptionConfiguration create() {
return builder().build();
}
/**
* @return arn
*/
public java.util.List getArn() {
return this.arn;
}
/**
* @return encrypted
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
* @return KMSKeyId
*/
public String getKMSKeyId() {
return this.KMSKeyId;
}
public static final class Builder {
private java.util.List arn;
private Boolean encrypted;
private String KMSKeyId;
/**
* This parameter is not publicly available.
*/
public Builder arn(java.util.List arn) {
this.arn = arn;
return this;
}
/**
* Specifies whether to enable encryption for cross-region snapshot replication. Valid values:
*
* - true
* - false
*
* Default value: false.
*
* example:
* false
*/
public Builder encrypted(Boolean encrypted) {
this.encrypted = encrypted;
return this;
}
/**
* The ID of the KMS key used for encryption in cross-region snapshot replication.
*
* example:
* 0e478b7a-4262-4802-b8cb-00d3fb40826X
*/
public Builder KMSKeyId(String KMSKeyId) {
this.KMSKeyId = KMSKeyId;
return this;
}
public CopyEncryptionConfiguration build() {
return new CopyEncryptionConfiguration(this);
}
}
}
}