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

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

There is a newer version: 5.0.29
Show newest version
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;

import com.aliyun.core.annotation.*;
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 { @Host @NameInMap("SourceRegionId") private String sourceRegionId; @Query @NameInMap("CopiedSnapshotsRetentionDays") private Integer copiedSnapshotsRetentionDays; @Query @NameInMap("CopyEncryptionConfiguration") private CopyEncryptionConfiguration copyEncryptionConfiguration; @Query @NameInMap("EnableCrossRegionCopy") private Boolean enableCrossRegionCopy; @Query @NameInMap("OwnerId") private Long ownerId; @Query @NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @Query @NameInMap("ResourceOwnerId") private Long resourceOwnerId; @Query @NameInMap("TargetCopyRegions") private String targetCopyRegions; @Query @NameInMap("autoSnapshotPolicyId") @Validation(required = true) private String autoSnapshotPolicyId; @Query @NameInMap("autoSnapshotPolicyName") private String autoSnapshotPolicyName; @Query @NameInMap("regionId") @Validation(required = true) private String regionId; @Query @NameInMap("repeatWeekdays") private String repeatWeekdays; @Query @NameInMap("retentionDays") private Integer retentionDays; @Query @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. */ public Builder copiedSnapshotsRetentionDays(Integer copiedSnapshotsRetentionDays) { this.putQueryParameter("CopiedSnapshotsRetentionDays", copiedSnapshotsRetentionDays); this.copiedSnapshotsRetentionDays = copiedSnapshotsRetentionDays; return this; } /** * CopyEncryptionConfiguration. */ 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. */ 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. */ 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. */ 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 (,). */ 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](~~25530~~) operation to query available automatic snapshot policies. */ 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. */ 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. */ 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 (,). */ public Builder timePoints(String timePoints) { this.putQueryParameter("timePoints", timePoints); this.timePoints = timePoints; return this; } @Override public ModifyAutoSnapshotPolicyExRequest build() { return new ModifyAutoSnapshotPolicyExRequest(this); } } public static class Arn extends TeaModel { @NameInMap("AssumeRoleFor") private Long assumeRoleFor; @NameInMap("RoleType") private String roleType; @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; /** * AssumeRoleFor. */ public Builder assumeRoleFor(Long assumeRoleFor) { this.assumeRoleFor = assumeRoleFor; return this; } /** * RoleType. */ public Builder roleType(String roleType) { this.roleType = roleType; return this; } /** * Rolearn. */ public Builder rolearn(String rolearn) { this.rolearn = rolearn; return this; } public Arn build() { return new Arn(this); } } } public static class CopyEncryptionConfiguration extends TeaModel { @NameInMap("Arn") private java.util.List < Arn> arn; @NameInMap("Encrypted") private Boolean encrypted; @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 < Arn> 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> arn; private Boolean encrypted; private String KMSKeyId; /** * Arn. */ public Builder arn(java.util.List < Arn> arn) { this.arn = arn; return this; } /** * Encrypted. */ public Builder encrypted(Boolean encrypted) { this.encrypted = encrypted; return this; } /** * KMSKeyId. */ public Builder KMSKeyId(String KMSKeyId) { this.KMSKeyId = KMSKeyId; return this; } public CopyEncryptionConfiguration build() { return new CopyEncryptionConfiguration(this); } } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy