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

com.aliyun.sdk.service.ecs20140526.models.ModifySnapshotAttributeRequest 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 ModifySnapshotAttributeRequest} extends {@link RequestModel}
 *
 * 

ModifySnapshotAttributeRequest

*/ public class ModifySnapshotAttributeRequest extends Request { @Host @NameInMap("SourceRegionId") private String sourceRegionId; @Query @NameInMap("Description") private String description; @Query @NameInMap("DisableInstantAccess") private Boolean disableInstantAccess; @Query @NameInMap("OwnerAccount") private String ownerAccount; @Query @NameInMap("OwnerId") private Long ownerId; @Query @NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @Query @NameInMap("ResourceOwnerId") private Long resourceOwnerId; @Query @NameInMap("RetentionDays") private Integer retentionDays; @Query @NameInMap("SnapshotId") @Validation(required = true) private String snapshotId; @Query @NameInMap("SnapshotName") private String snapshotName; private ModifySnapshotAttributeRequest(Builder builder) { super(builder); this.sourceRegionId = builder.sourceRegionId; this.description = builder.description; this.disableInstantAccess = builder.disableInstantAccess; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.retentionDays = builder.retentionDays; this.snapshotId = builder.snapshotId; this.snapshotName = builder.snapshotName; } public static Builder builder() { return new Builder(); } public static ModifySnapshotAttributeRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return sourceRegionId */ public String getSourceRegionId() { return this.sourceRegionId; } /** * @return description */ public String getDescription() { return this.description; } /** * @return disableInstantAccess */ public Boolean getDisableInstantAccess() { return this.disableInstantAccess; } /** * @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 retentionDays */ public Integer getRetentionDays() { return this.retentionDays; } /** * @return snapshotId */ public String getSnapshotId() { return this.snapshotId; } /** * @return snapshotName */ public String getSnapshotName() { return this.snapshotName; } public static final class Builder extends Request.Builder { private String sourceRegionId; private String description; private Boolean disableInstantAccess; private String ownerAccount; private Long ownerId; private String resourceOwnerAccount; private Long resourceOwnerId; private Integer retentionDays; private String snapshotId; private String snapshotName; private Builder() { super(); } private Builder(ModifySnapshotAttributeRequest request) { super(request); this.sourceRegionId = request.sourceRegionId; this.description = request.description; this.disableInstantAccess = request.disableInstantAccess; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.retentionDays = request.retentionDays; this.snapshotId = request.snapshotId; this.snapshotName = request.snapshotName; } /** * SourceRegionId. */ public Builder sourceRegionId(String sourceRegionId) { this.putHostParameter("SourceRegionId", sourceRegionId); this.sourceRegionId = sourceRegionId; return this; } /** * The description of the snapshot. The description must be 2 to 256 characters in length and cannot start with [http:// or https://](http://https://。). */ public Builder description(String description) { this.putQueryParameter("Description", description); this.description = description; return this; } /** * Specifies whether to disable the instant access feature. Valid values: *

* * * true * * false * * Default value: false. */ public Builder disableInstantAccess(Boolean disableInstantAccess) { this.putQueryParameter("DisableInstantAccess", disableInstantAccess); this.disableInstantAccess = disableInstantAccess; 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 retention period of the snapshot. After you specify this parameter, the end time of the new retention period is the specified number of days apart from the **creation time** of the snapshot, which follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format and is displayed in UTC. Valid values: 1 to 65536. *

* * > You can extend the retention period of the snapshot and cannot shorten the retention period. */ public Builder retentionDays(Integer retentionDays) { this.putQueryParameter("RetentionDays", retentionDays); this.retentionDays = retentionDays; return this; } /** * The ID of the snapshot. */ public Builder snapshotId(String snapshotId) { this.putQueryParameter("SnapshotId", snapshotId); this.snapshotId = snapshotId; return this; } /** * The name of the snapshot. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (\_), and hyphens (-). *

* * The name cannot start with auto because snapshots whose names start with auto are recognized as automatic snapshots. */ public Builder snapshotName(String snapshotName) { this.putQueryParameter("SnapshotName", snapshotName); this.snapshotName = snapshotName; return this; } @Override public ModifySnapshotAttributeRequest build() { return new ModifySnapshotAttributeRequest(this); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy