All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.ecs.inputs.EcsSnapshotGroupState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.ecs.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class EcsSnapshotGroupState extends com.pulumi.resources.ResourceArgs {
public static final EcsSnapshotGroupState Empty = new EcsSnapshotGroupState();
/**
* The description of the snapshot-consistent group. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description of the snapshot-consistent group. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The ID of disk for which to create snapshots. You can specify multiple disk IDs across instances with the same zone.
*
*/
@Import(name="diskIds")
private @Nullable Output> diskIds;
/**
* @return The ID of disk for which to create snapshots. You can specify multiple disk IDs across instances with the same zone.
*
*/
public Optional>> diskIds() {
return Optional.ofNullable(this.diskIds);
}
/**
* The ID of disk N for which you do not need to create snapshots. After this parameter is specified, the created snapshot-consistent group does not contain snapshots of the disk.
*
*/
@Import(name="excludeDiskIds")
private @Nullable Output> excludeDiskIds;
/**
* @return The ID of disk N for which you do not need to create snapshots. After this parameter is specified, the created snapshot-consistent group does not contain snapshots of the disk.
*
*/
public Optional>> excludeDiskIds() {
return Optional.ofNullable(this.excludeDiskIds);
}
/**
* The ID of the instance.
*
*/
@Import(name="instanceId")
private @Nullable Output instanceId;
/**
* @return The ID of the instance.
*
*/
public Optional> instanceId() {
return Optional.ofNullable(this.instanceId);
}
/**
* Specifies whether to enable the instant access feature.
*
*/
@Import(name="instantAccess")
private @Nullable Output instantAccess;
/**
* @return Specifies whether to enable the instant access feature.
*
*/
public Optional> instantAccess() {
return Optional.ofNullable(this.instantAccess);
}
/**
* Specify the number of days for which the instant access feature is available. Unit: days. Valid values: `1` to `65535`.
*
*/
@Import(name="instantAccessRetentionDays")
private @Nullable Output instantAccessRetentionDays;
/**
* @return Specify the number of days for which the instant access feature is available. Unit: days. Valid values: `1` to `65535`.
*
*/
public Optional> instantAccessRetentionDays() {
return Optional.ofNullable(this.instantAccessRetentionDays);
}
/**
* The ID of the resource group to which the snapshot consistency group belongs.
*
*/
@Import(name="resourceGroupId")
private @Nullable Output resourceGroupId;
/**
* @return The ID of the resource group to which the snapshot consistency group belongs.
*
*/
public Optional> resourceGroupId() {
return Optional.ofNullable(this.resourceGroupId);
}
/**
* The name of the snapshot-consistent group. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). It must start with a letter or a digit and cannot start with `http://` or `https://`.
*
*/
@Import(name="snapshotGroupName")
private @Nullable Output snapshotGroupName;
/**
* @return The name of the snapshot-consistent group. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). It must start with a letter or a digit and cannot start with `http://` or `https://`.
*
*/
public Optional> snapshotGroupName() {
return Optional.ofNullable(this.snapshotGroupName);
}
/**
* The status of the resource.
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return The status of the resource.
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* A mapping of tags to assign to the snapshot group.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the snapshot group.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private EcsSnapshotGroupState() {}
private EcsSnapshotGroupState(EcsSnapshotGroupState $) {
this.description = $.description;
this.diskIds = $.diskIds;
this.excludeDiskIds = $.excludeDiskIds;
this.instanceId = $.instanceId;
this.instantAccess = $.instantAccess;
this.instantAccessRetentionDays = $.instantAccessRetentionDays;
this.resourceGroupId = $.resourceGroupId;
this.snapshotGroupName = $.snapshotGroupName;
this.status = $.status;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EcsSnapshotGroupState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private EcsSnapshotGroupState $;
public Builder() {
$ = new EcsSnapshotGroupState();
}
public Builder(EcsSnapshotGroupState defaults) {
$ = new EcsSnapshotGroupState(Objects.requireNonNull(defaults));
}
/**
* @param description The description of the snapshot-consistent group. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description of the snapshot-consistent group. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param diskIds The ID of disk for which to create snapshots. You can specify multiple disk IDs across instances with the same zone.
*
* @return builder
*
*/
public Builder diskIds(@Nullable Output> diskIds) {
$.diskIds = diskIds;
return this;
}
/**
* @param diskIds The ID of disk for which to create snapshots. You can specify multiple disk IDs across instances with the same zone.
*
* @return builder
*
*/
public Builder diskIds(List diskIds) {
return diskIds(Output.of(diskIds));
}
/**
* @param diskIds The ID of disk for which to create snapshots. You can specify multiple disk IDs across instances with the same zone.
*
* @return builder
*
*/
public Builder diskIds(String... diskIds) {
return diskIds(List.of(diskIds));
}
/**
* @param excludeDiskIds The ID of disk N for which you do not need to create snapshots. After this parameter is specified, the created snapshot-consistent group does not contain snapshots of the disk.
*
* @return builder
*
*/
public Builder excludeDiskIds(@Nullable Output> excludeDiskIds) {
$.excludeDiskIds = excludeDiskIds;
return this;
}
/**
* @param excludeDiskIds The ID of disk N for which you do not need to create snapshots. After this parameter is specified, the created snapshot-consistent group does not contain snapshots of the disk.
*
* @return builder
*
*/
public Builder excludeDiskIds(List excludeDiskIds) {
return excludeDiskIds(Output.of(excludeDiskIds));
}
/**
* @param excludeDiskIds The ID of disk N for which you do not need to create snapshots. After this parameter is specified, the created snapshot-consistent group does not contain snapshots of the disk.
*
* @return builder
*
*/
public Builder excludeDiskIds(String... excludeDiskIds) {
return excludeDiskIds(List.of(excludeDiskIds));
}
/**
* @param instanceId The ID of the instance.
*
* @return builder
*
*/
public Builder instanceId(@Nullable Output instanceId) {
$.instanceId = instanceId;
return this;
}
/**
* @param instanceId The ID of the instance.
*
* @return builder
*
*/
public Builder instanceId(String instanceId) {
return instanceId(Output.of(instanceId));
}
/**
* @param instantAccess Specifies whether to enable the instant access feature.
*
* @return builder
*
*/
public Builder instantAccess(@Nullable Output instantAccess) {
$.instantAccess = instantAccess;
return this;
}
/**
* @param instantAccess Specifies whether to enable the instant access feature.
*
* @return builder
*
*/
public Builder instantAccess(Boolean instantAccess) {
return instantAccess(Output.of(instantAccess));
}
/**
* @param instantAccessRetentionDays Specify the number of days for which the instant access feature is available. Unit: days. Valid values: `1` to `65535`.
*
* @return builder
*
*/
public Builder instantAccessRetentionDays(@Nullable Output instantAccessRetentionDays) {
$.instantAccessRetentionDays = instantAccessRetentionDays;
return this;
}
/**
* @param instantAccessRetentionDays Specify the number of days for which the instant access feature is available. Unit: days. Valid values: `1` to `65535`.
*
* @return builder
*
*/
public Builder instantAccessRetentionDays(Integer instantAccessRetentionDays) {
return instantAccessRetentionDays(Output.of(instantAccessRetentionDays));
}
/**
* @param resourceGroupId The ID of the resource group to which the snapshot consistency group belongs.
*
* @return builder
*
*/
public Builder resourceGroupId(@Nullable Output resourceGroupId) {
$.resourceGroupId = resourceGroupId;
return this;
}
/**
* @param resourceGroupId The ID of the resource group to which the snapshot consistency group belongs.
*
* @return builder
*
*/
public Builder resourceGroupId(String resourceGroupId) {
return resourceGroupId(Output.of(resourceGroupId));
}
/**
* @param snapshotGroupName The name of the snapshot-consistent group. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). It must start with a letter or a digit and cannot start with `http://` or `https://`.
*
* @return builder
*
*/
public Builder snapshotGroupName(@Nullable Output snapshotGroupName) {
$.snapshotGroupName = snapshotGroupName;
return this;
}
/**
* @param snapshotGroupName The name of the snapshot-consistent group. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). It must start with a letter or a digit and cannot start with `http://` or `https://`.
*
* @return builder
*
*/
public Builder snapshotGroupName(String snapshotGroupName) {
return snapshotGroupName(Output.of(snapshotGroupName));
}
/**
* @param status The status of the resource.
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status The status of the resource.
*
* @return builder
*
*/
public Builder status(String status) {
return status(Output.of(status));
}
/**
* @param tags A mapping of tags to assign to the snapshot group.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the snapshot group.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public EcsSnapshotGroupState build() {
return $;
}
}
}