com.aliyun.sdk.service.ecs20140526.models.DescribeSnapshotGroupsResponseBody Maven / Gradle / Ivy
// 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 DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public class DescribeSnapshotGroupsResponseBody extends TeaModel {
@com.aliyun.core.annotation.NameInMap("NextToken")
private String nextToken;
@com.aliyun.core.annotation.NameInMap("RequestId")
private String requestId;
@com.aliyun.core.annotation.NameInMap("SnapshotGroups")
private SnapshotGroups snapshotGroups;
private DescribeSnapshotGroupsResponseBody(Builder builder) {
this.nextToken = builder.nextToken;
this.requestId = builder.requestId;
this.snapshotGroups = builder.snapshotGroups;
}
public static Builder builder() {
return new Builder();
}
public static DescribeSnapshotGroupsResponseBody create() {
return builder().build();
}
/**
* @return nextToken
*/
public String getNextToken() {
return this.nextToken;
}
/**
* @return requestId
*/
public String getRequestId() {
return this.requestId;
}
/**
* @return snapshotGroups
*/
public SnapshotGroups getSnapshotGroups() {
return this.snapshotGroups;
}
public static final class Builder {
private String nextToken;
private String requestId;
private SnapshotGroups snapshotGroups;
/**
* The token used to start the next query.
*
* If the return value is empty, no more data exists.
*
*
* example:
* caeba0bbb2be03f84eb48b699f0a4883
*/
public Builder nextToken(String nextToken) {
this.nextToken = nextToken;
return this;
}
/**
* The ID of the request.
*
* example:
* 3F9A4CC4-362F-469A-B9EF-B3204EF8AA3A
*/
public Builder requestId(String requestId) {
this.requestId = requestId;
return this;
}
/**
* The information about the snapshot-consistent groups.
*/
public Builder snapshotGroups(SnapshotGroups snapshotGroups) {
this.snapshotGroups = snapshotGroups;
return this;
}
public DescribeSnapshotGroupsResponseBody build() {
return new DescribeSnapshotGroupsResponseBody(this);
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
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 tag key of the snapshot. The default values of Key and Value contain snapshot source information.
*
* example:
* acs:ecs:createFrom
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The tag value of the snapshot. The default values of Key and Value contain snapshot source information.
*
* example:
* i-bp11qm0o3dk4iuc****
*/
public Builder value(String value) {
this.value = value;
return this;
}
public Tag build() {
return new Tag(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class Tags extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List tag;
private Tags(Builder builder) {
this.tag = builder.tag;
}
public static Builder builder() {
return new Builder();
}
public static Tags create() {
return builder().build();
}
/**
* @return tag
*/
public java.util.List getTag() {
return this.tag;
}
public static final class Builder {
private java.util.List tag;
/**
* Tag.
*/
public Builder tag(java.util.List tag) {
this.tag = tag;
return this;
}
public Tags build() {
return new Tags(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class Snapshot extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Available")
private Boolean available;
@com.aliyun.core.annotation.NameInMap("InstantAccess")
private Boolean instantAccess;
@com.aliyun.core.annotation.NameInMap("InstantAccessRetentionDays")
private Integer instantAccessRetentionDays;
@com.aliyun.core.annotation.NameInMap("Progress")
private String progress;
@com.aliyun.core.annotation.NameInMap("SnapshotId")
private String snapshotId;
@com.aliyun.core.annotation.NameInMap("SourceDiskId")
private String sourceDiskId;
@com.aliyun.core.annotation.NameInMap("SourceDiskType")
private String sourceDiskType;
@com.aliyun.core.annotation.NameInMap("Tags")
private Tags tags;
private Snapshot(Builder builder) {
this.available = builder.available;
this.instantAccess = builder.instantAccess;
this.instantAccessRetentionDays = builder.instantAccessRetentionDays;
this.progress = builder.progress;
this.snapshotId = builder.snapshotId;
this.sourceDiskId = builder.sourceDiskId;
this.sourceDiskType = builder.sourceDiskType;
this.tags = builder.tags;
}
public static Builder builder() {
return new Builder();
}
public static Snapshot create() {
return builder().build();
}
/**
* @return available
*/
public Boolean getAvailable() {
return this.available;
}
/**
* @return instantAccess
*/
public Boolean getInstantAccess() {
return this.instantAccess;
}
/**
* @return instantAccessRetentionDays
*/
public Integer getInstantAccessRetentionDays() {
return this.instantAccessRetentionDays;
}
/**
* @return progress
*/
public String getProgress() {
return this.progress;
}
/**
* @return snapshotId
*/
public String getSnapshotId() {
return this.snapshotId;
}
/**
* @return sourceDiskId
*/
public String getSourceDiskId() {
return this.sourceDiskId;
}
/**
* @return sourceDiskType
*/
public String getSourceDiskType() {
return this.sourceDiskType;
}
/**
* @return tags
*/
public Tags getTags() {
return this.tags;
}
public static final class Builder {
private Boolean available;
private Boolean instantAccess;
private Integer instantAccessRetentionDays;
private String progress;
private String snapshotId;
private String sourceDiskId;
private String sourceDiskType;
private Tags tags;
/**
* Indicates whether the snapshot can be shared and be used to create or roll back a disk. Valid values:
*
* - true
* - false
*
*
* example:
* false
*/
public Builder available(Boolean available) {
this.available = available;
return this;
}
/**
* Indicates whether the instant access feature is enabled. Valid values:
*
* - true: The instant access feature is enabled. By default, the instant access feature is enabled for ESSDs.
* - false: The instant access feature is disabled. The snapshot is a standard snapshot for which the instant access feature is disabled.
*
*
* This parameter is no longer used. By default, standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see Use the instant access feature.
*
*
* example:
* true
*/
public Builder instantAccess(Boolean instantAccess) {
this.instantAccess = instantAccess;
return this;
}
/**
* The validity period of the instant access feature. When the validity period ends, the instant access snapshot is automatically released.
*
* This parameter is no longer used. By default, standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see Use the instant access feature.
*
*
* example:
* 3
*/
public Builder instantAccessRetentionDays(Integer instantAccessRetentionDays) {
this.instantAccessRetentionDays = instantAccessRetentionDays;
return this;
}
/**
* The progress of the snapshot creation task. Unit: percent (%).
*
* example:
* 100%
*/
public Builder progress(String progress) {
this.progress = progress;
return this;
}
/**
* The ID of the snapshot.
*
* example:
* s-j6cbzmrlbf09w72q****
*/
public Builder snapshotId(String snapshotId) {
this.snapshotId = snapshotId;
return this;
}
/**
* The ID of the source disk. This parameter is retained even after the source disk of the snapshot is released.
*
* example:
* d-j6c3ogynmvpi6wy7****
*/
public Builder sourceDiskId(String sourceDiskId) {
this.sourceDiskId = sourceDiskId;
return this;
}
/**
* The type of the source disk. Valid values:
*
* - system: system disk
* - data: data disk
*
*
* example:
* system
*/
public Builder sourceDiskType(String sourceDiskType) {
this.sourceDiskType = sourceDiskType;
return this;
}
/**
* The tags of the snapshot. The default values contain snapshot source information.
*/
public Builder tags(Tags tags) {
this.tags = tags;
return this;
}
public Snapshot build() {
return new Snapshot(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class Snapshots extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Snapshot")
private java.util.List snapshot;
private Snapshots(Builder builder) {
this.snapshot = builder.snapshot;
}
public static Builder builder() {
return new Builder();
}
public static Snapshots create() {
return builder().build();
}
/**
* @return snapshot
*/
public java.util.List getSnapshot() {
return this.snapshot;
}
public static final class Builder {
private java.util.List snapshot;
/**
* Snapshot.
*/
public Builder snapshot(java.util.List snapshot) {
this.snapshot = snapshot;
return this;
}
public Snapshots build() {
return new Snapshots(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class TagsTag extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Key")
private String key;
@com.aliyun.core.annotation.NameInMap("Value")
private String value;
private TagsTag(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static TagsTag 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 tag key of the snapshot-consistent group.
*
* example:
* TestKey
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The tag value of the snapshot-consistent group.
*
* example:
* TestValue
*/
public Builder value(String value) {
this.value = value;
return this;
}
public TagsTag build() {
return new TagsTag(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class SnapshotGroupTags extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List tag;
private SnapshotGroupTags(Builder builder) {
this.tag = builder.tag;
}
public static Builder builder() {
return new Builder();
}
public static SnapshotGroupTags create() {
return builder().build();
}
/**
* @return tag
*/
public java.util.List getTag() {
return this.tag;
}
public static final class Builder {
private java.util.List tag;
/**
* Tag.
*/
public Builder tag(java.util.List tag) {
this.tag = tag;
return this;
}
public SnapshotGroupTags build() {
return new SnapshotGroupTags(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class SnapshotGroup extends TeaModel {
@com.aliyun.core.annotation.NameInMap("CreationTime")
private String creationTime;
@com.aliyun.core.annotation.NameInMap("Description")
private String description;
@com.aliyun.core.annotation.NameInMap("InstanceId")
private String instanceId;
@com.aliyun.core.annotation.NameInMap("Name")
private String name;
@com.aliyun.core.annotation.NameInMap("ProgressStatus")
private String progressStatus;
@com.aliyun.core.annotation.NameInMap("ResourceGroupId")
private String resourceGroupId;
@com.aliyun.core.annotation.NameInMap("SnapshotGroupId")
private String snapshotGroupId;
@com.aliyun.core.annotation.NameInMap("Snapshots")
private Snapshots snapshots;
@com.aliyun.core.annotation.NameInMap("Status")
private String status;
@com.aliyun.core.annotation.NameInMap("Tags")
private SnapshotGroupTags tags;
private SnapshotGroup(Builder builder) {
this.creationTime = builder.creationTime;
this.description = builder.description;
this.instanceId = builder.instanceId;
this.name = builder.name;
this.progressStatus = builder.progressStatus;
this.resourceGroupId = builder.resourceGroupId;
this.snapshotGroupId = builder.snapshotGroupId;
this.snapshots = builder.snapshots;
this.status = builder.status;
this.tags = builder.tags;
}
public static Builder builder() {
return new Builder();
}
public static SnapshotGroup create() {
return builder().build();
}
/**
* @return creationTime
*/
public String getCreationTime() {
return this.creationTime;
}
/**
* @return description
*/
public String getDescription() {
return this.description;
}
/**
* @return instanceId
*/
public String getInstanceId() {
return this.instanceId;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @return progressStatus
*/
public String getProgressStatus() {
return this.progressStatus;
}
/**
* @return resourceGroupId
*/
public String getResourceGroupId() {
return this.resourceGroupId;
}
/**
* @return snapshotGroupId
*/
public String getSnapshotGroupId() {
return this.snapshotGroupId;
}
/**
* @return snapshots
*/
public Snapshots getSnapshots() {
return this.snapshots;
}
/**
* @return status
*/
public String getStatus() {
return this.status;
}
/**
* @return tags
*/
public SnapshotGroupTags getTags() {
return this.tags;
}
public static final class Builder {
private String creationTime;
private String description;
private String instanceId;
private String name;
private String progressStatus;
private String resourceGroupId;
private String snapshotGroupId;
private Snapshots snapshots;
private String status;
private SnapshotGroupTags tags;
/**
* The time when the snapshot-consistent group was created.
*
* example:
* 2021-03-23T10:58:48Z
*/
public Builder creationTime(String creationTime) {
this.creationTime = creationTime;
return this;
}
/**
* The description of the snapshot-consistent group.
*
* example:
* This is description.
*/
public Builder description(String description) {
this.description = description;
return this;
}
/**
* The ID of the instance to which the snapshot-consistent group belongs. This parameter has a value only when all disk snapshots in the snapshot-consistent group belong to the same instance. If disk snapshots in the snapshot-consistent group belong to different instances, you can check the response parameters that start with Snapshots.Snapshot.Tags.
to determine the ID of the instance to which each snapshot in the snapshot-consistent group belongs.
*
* example:
* i-j6ca469urv8ei629****
*/
public Builder instanceId(String instanceId) {
this.instanceId = instanceId;
return this;
}
/**
* The name of the snapshot-consistent group.
*
* example:
* testName
*/
public Builder name(String name) {
this.name = name;
return this;
}
/**
*
* This parameter is not publicly available.
*
*
* example:
* null
*/
public Builder progressStatus(String progressStatus) {
this.progressStatus = progressStatus;
return this;
}
/**
* The ID of the resource group to which the snapshot-consistent group belongs.
*
* example:
* rg-bp67acfmxazb4p****
*/
public Builder resourceGroupId(String resourceGroupId) {
this.resourceGroupId = resourceGroupId;
return this;
}
/**
* The ID of the snapshot-consistent group.
*
* example:
* ssg-j6ciyh3k52qp7ovm****
*/
public Builder snapshotGroupId(String snapshotGroupId) {
this.snapshotGroupId = snapshotGroupId;
return this;
}
/**
* The information about the snapshots in the snapshot-consistent group.
*/
public Builder snapshots(Snapshots snapshots) {
this.snapshots = snapshots;
return this;
}
/**
* The state of the snapshot-consistent group. Valid values:
*
* - progressing: The snapshot-consistent group was being created.
* - accomplished: The snapshot-consistent group was created.
* - failed: The snapshot-consistent group failed to be created.
*
*
* example:
* accomplished
*/
public Builder status(String status) {
this.status = status;
return this;
}
/**
* The tags of the snapshot-consistent group.
*/
public Builder tags(SnapshotGroupTags tags) {
this.tags = tags;
return this;
}
public SnapshotGroup build() {
return new SnapshotGroup(this);
}
}
}
/**
*
* {@link DescribeSnapshotGroupsResponseBody} extends {@link TeaModel}
*
* DescribeSnapshotGroupsResponseBody
*/
public static class SnapshotGroups extends TeaModel {
@com.aliyun.core.annotation.NameInMap("SnapshotGroup")
private java.util.List snapshotGroup;
private SnapshotGroups(Builder builder) {
this.snapshotGroup = builder.snapshotGroup;
}
public static Builder builder() {
return new Builder();
}
public static SnapshotGroups create() {
return builder().build();
}
/**
* @return snapshotGroup
*/
public java.util.List getSnapshotGroup() {
return this.snapshotGroup;
}
public static final class Builder {
private java.util.List snapshotGroup;
/**
* SnapshotGroup.
*/
public Builder snapshotGroup(java.util.List snapshotGroup) {
this.snapshotGroup = snapshotGroup;
return this;
}
public SnapshotGroups build() {
return new SnapshotGroups(this);
}
}
}
}