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.EcsDiskArgs 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;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class EcsDiskArgs extends com.pulumi.resources.ResourceArgs {
public static final EcsDiskArgs Empty = new EcsDiskArgs();
@Import(name="advancedFeatures")
private @Nullable Output advancedFeatures;
public Optional> advancedFeatures() {
return Optional.ofNullable(this.advancedFeatures);
}
/**
* Field `availability_zone` has been deprecated from provider version 1.122.0. New field `zone_id` instead.
*
* @deprecated
* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead
*
*/
@Deprecated /* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead */
@Import(name="availabilityZone")
private @Nullable Output availabilityZone;
/**
* @return Field `availability_zone` has been deprecated from provider version 1.122.0. New field `zone_id` instead.
*
* @deprecated
* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead
*
*/
@Deprecated /* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead */
public Optional> availabilityZone() {
return Optional.ofNullable(this.availabilityZone);
}
/**
* Category of the disk. Valid values are `cloud`, `cloud_efficiency`, `cloud_ssd`, `cloud_essd`, `cloud_auto`, `cloud_essd_entry`. Default is `cloud_efficiency`.
*
*/
@Import(name="category")
private @Nullable Output category;
/**
* @return Category of the disk. Valid values are `cloud`, `cloud_efficiency`, `cloud_ssd`, `cloud_essd`, `cloud_auto`, `cloud_essd_entry`. Default is `cloud_efficiency`.
*
*/
public Optional> category() {
return Optional.ofNullable(this.category);
}
/**
* Indicates whether the automatic snapshot is deleted when the disk is released. Default value: `false`.
*
*/
@Import(name="deleteAutoSnapshot")
private @Nullable Output deleteAutoSnapshot;
/**
* @return Indicates whether the automatic snapshot is deleted when the disk is released. Default value: `false`.
*
*/
public Optional> deleteAutoSnapshot() {
return Optional.ofNullable(this.deleteAutoSnapshot);
}
/**
* Indicates whether the disk is released together with the instance. Default value: `false`.
*
*/
@Import(name="deleteWithInstance")
private @Nullable Output deleteWithInstance;
/**
* @return Indicates whether the disk is released together with the instance. Default value: `false`.
*
*/
public Optional> deleteWithInstance() {
return Optional.ofNullable(this.deleteWithInstance);
}
/**
* Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with `http://` or `https://`. Default value is `null`.
*
*/
@Import(name="diskName")
private @Nullable Output diskName;
/**
* @return Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with `http://` or `https://`. Default value is `null`.
*
*/
public Optional> diskName() {
return Optional.ofNullable(this.diskName);
}
/**
* Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:
*
*/
@Import(name="dryRun")
private @Nullable Output dryRun;
/**
* @return Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:
*
*/
public Optional> dryRun() {
return Optional.ofNullable(this.dryRun);
}
/**
* Indicates whether to enable creating snapshot automatically.
*
*/
@Import(name="enableAutoSnapshot")
private @Nullable Output enableAutoSnapshot;
/**
* @return Indicates whether to enable creating snapshot automatically.
*
*/
public Optional> enableAutoSnapshot() {
return Optional.ofNullable(this.enableAutoSnapshot);
}
@Import(name="encryptAlgorithm")
private @Nullable Output encryptAlgorithm;
public Optional> encryptAlgorithm() {
return Optional.ofNullable(this.encryptAlgorithm);
}
/**
* If true, the disk will be encrypted, conflict with `snapshot_id`.
*
*/
@Import(name="encrypted")
private @Nullable Output encrypted;
/**
* @return If true, the disk will be encrypted, conflict with `snapshot_id`.
*
*/
public Optional> encrypted() {
return Optional.ofNullable(this.encrypted);
}
/**
* The ID of the instance to which the created subscription disk is automatically attached.
* * After you specify the instance ID, the specified `resource_group_id`, `tags`, and `kms_key_id` parameters are ignored.
* * One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
*/
@Import(name="instanceId")
private @Nullable Output instanceId;
/**
* @return The ID of the instance to which the created subscription disk is automatically attached.
* * After you specify the instance ID, the specified `resource_group_id`, `tags`, and `kms_key_id` parameters are ignored.
* * One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
*/
public Optional> instanceId() {
return Optional.ofNullable(this.instanceId);
}
/**
* The ID of the KMS key corresponding to the data disk, The specified parameter `Encrypted` must be `true` when KmsKeyId is not empty.
*
*/
@Import(name="kmsKeyId")
private @Nullable Output kmsKeyId;
/**
* @return The ID of the KMS key corresponding to the data disk, The specified parameter `Encrypted` must be `true` when KmsKeyId is not empty.
*
*/
public Optional> kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* Field `name` has been deprecated from provider version 1.122.0. New field `disk_name` instead.
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead.
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead. */
@Import(name="name")
private @Nullable Output name;
/**
* @return Field `name` has been deprecated from provider version 1.122.0. New field `disk_name` instead.
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead.
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead. */
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Payment method for disk. Valid values: `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`. If you want to change the disk payment type, the `instance_id` is required.
*
*/
@Import(name="paymentType")
private @Nullable Output paymentType;
/**
* @return Payment method for disk. Valid values: `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`. If you want to change the disk payment type, the `instance_id` is required.
*
*/
public Optional> paymentType() {
return Optional.ofNullable(this.paymentType);
}
/**
* Specifies the performance level of an ESSD when you create the ESSD. Valid values:
* * `PL1`: A single ESSD delivers up to 50,000 random read/write IOPS.
* * `PL2`: A single ESSD delivers up to 100,000 random read/write IOPS.
* * `PL3`: A single ESSD delivers up to 1,000,000 random read/write IOPS.
*
*/
@Import(name="performanceLevel")
private @Nullable Output performanceLevel;
/**
* @return Specifies the performance level of an ESSD when you create the ESSD. Valid values:
* * `PL1`: A single ESSD delivers up to 50,000 random read/write IOPS.
* * `PL2`: A single ESSD delivers up to 100,000 random read/write IOPS.
* * `PL3`: A single ESSD delivers up to 1,000,000 random read/write IOPS.
*
*/
public Optional> performanceLevel() {
return Optional.ofNullable(this.performanceLevel);
}
/**
* The Id of resource group which the disk belongs. This attribute only supports adding or updating, not destroying.
*
*/
@Import(name="resourceGroupId")
private @Nullable Output resourceGroupId;
/**
* @return The Id of resource group which the disk belongs. This attribute only supports adding or updating, not destroying.
*
*/
public Optional> resourceGroupId() {
return Optional.ofNullable(this.resourceGroupId);
}
/**
* The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error `InvalidDiskSize.TooSmall`.
*
*/
@Import(name="size")
private @Nullable Output size;
/**
* @return The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error `InvalidDiskSize.TooSmall`.
*
*/
public Optional> size() {
return Optional.ofNullable(this.size);
}
/**
* A snapshot to base the disk off of. If the disk size required by snapshot is greater than `size`, the `size` will be ignored, conflict with `encrypted`.
*
*/
@Import(name="snapshotId")
private @Nullable Output snapshotId;
/**
* @return A snapshot to base the disk off of. If the disk size required by snapshot is greater than `size`, the `size` will be ignored, conflict with `encrypted`.
*
*/
public Optional> snapshotId() {
return Optional.ofNullable(this.snapshotId);
}
/**
* The ID of the storage set.
*
*/
@Import(name="storageSetId")
private @Nullable Output storageSetId;
/**
* @return The ID of the storage set.
*
*/
public Optional> storageSetId() {
return Optional.ofNullable(this.storageSetId);
}
/**
* The number of partitions in the storage set.
*
*/
@Import(name="storageSetPartitionNumber")
private @Nullable Output storageSetPartitionNumber;
/**
* @return The number of partitions in the storage set.
*
*/
public Optional> storageSetPartitionNumber() {
return Optional.ofNullable(this.storageSetPartitionNumber);
}
/**
* A mapping of tags to assign to the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The type to expand cloud disks. Valid Values: `online`, `offline`. Default to `offline`.
*
*/
@Import(name="type")
private @Nullable Output type;
/**
* @return The type to expand cloud disks. Valid Values: `online`, `offline`. Default to `offline`.
*
*/
public Optional> type() {
return Optional.ofNullable(this.type);
}
/**
* ID of the free zone to which the disk belongs. One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
*/
@Import(name="zoneId")
private @Nullable Output zoneId;
/**
* @return ID of the free zone to which the disk belongs. One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
*/
public Optional> zoneId() {
return Optional.ofNullable(this.zoneId);
}
private EcsDiskArgs() {}
private EcsDiskArgs(EcsDiskArgs $) {
this.advancedFeatures = $.advancedFeatures;
this.availabilityZone = $.availabilityZone;
this.category = $.category;
this.deleteAutoSnapshot = $.deleteAutoSnapshot;
this.deleteWithInstance = $.deleteWithInstance;
this.description = $.description;
this.diskName = $.diskName;
this.dryRun = $.dryRun;
this.enableAutoSnapshot = $.enableAutoSnapshot;
this.encryptAlgorithm = $.encryptAlgorithm;
this.encrypted = $.encrypted;
this.instanceId = $.instanceId;
this.kmsKeyId = $.kmsKeyId;
this.name = $.name;
this.paymentType = $.paymentType;
this.performanceLevel = $.performanceLevel;
this.resourceGroupId = $.resourceGroupId;
this.size = $.size;
this.snapshotId = $.snapshotId;
this.storageSetId = $.storageSetId;
this.storageSetPartitionNumber = $.storageSetPartitionNumber;
this.tags = $.tags;
this.type = $.type;
this.zoneId = $.zoneId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EcsDiskArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private EcsDiskArgs $;
public Builder() {
$ = new EcsDiskArgs();
}
public Builder(EcsDiskArgs defaults) {
$ = new EcsDiskArgs(Objects.requireNonNull(defaults));
}
public Builder advancedFeatures(@Nullable Output advancedFeatures) {
$.advancedFeatures = advancedFeatures;
return this;
}
public Builder advancedFeatures(String advancedFeatures) {
return advancedFeatures(Output.of(advancedFeatures));
}
/**
* @param availabilityZone Field `availability_zone` has been deprecated from provider version 1.122.0. New field `zone_id` instead.
*
* @return builder
*
* @deprecated
* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead
*
*/
@Deprecated /* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead */
public Builder availabilityZone(@Nullable Output availabilityZone) {
$.availabilityZone = availabilityZone;
return this;
}
/**
* @param availabilityZone Field `availability_zone` has been deprecated from provider version 1.122.0. New field `zone_id` instead.
*
* @return builder
*
* @deprecated
* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead
*
*/
@Deprecated /* Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id' instead */
public Builder availabilityZone(String availabilityZone) {
return availabilityZone(Output.of(availabilityZone));
}
/**
* @param category Category of the disk. Valid values are `cloud`, `cloud_efficiency`, `cloud_ssd`, `cloud_essd`, `cloud_auto`, `cloud_essd_entry`. Default is `cloud_efficiency`.
*
* @return builder
*
*/
public Builder category(@Nullable Output category) {
$.category = category;
return this;
}
/**
* @param category Category of the disk. Valid values are `cloud`, `cloud_efficiency`, `cloud_ssd`, `cloud_essd`, `cloud_auto`, `cloud_essd_entry`. Default is `cloud_efficiency`.
*
* @return builder
*
*/
public Builder category(String category) {
return category(Output.of(category));
}
/**
* @param deleteAutoSnapshot Indicates whether the automatic snapshot is deleted when the disk is released. Default value: `false`.
*
* @return builder
*
*/
public Builder deleteAutoSnapshot(@Nullable Output deleteAutoSnapshot) {
$.deleteAutoSnapshot = deleteAutoSnapshot;
return this;
}
/**
* @param deleteAutoSnapshot Indicates whether the automatic snapshot is deleted when the disk is released. Default value: `false`.
*
* @return builder
*
*/
public Builder deleteAutoSnapshot(Boolean deleteAutoSnapshot) {
return deleteAutoSnapshot(Output.of(deleteAutoSnapshot));
}
/**
* @param deleteWithInstance Indicates whether the disk is released together with the instance. Default value: `false`.
*
* @return builder
*
*/
public Builder deleteWithInstance(@Nullable Output deleteWithInstance) {
$.deleteWithInstance = deleteWithInstance;
return this;
}
/**
* @param deleteWithInstance Indicates whether the disk is released together with the instance. Default value: `false`.
*
* @return builder
*
*/
public Builder deleteWithInstance(Boolean deleteWithInstance) {
return deleteWithInstance(Output.of(deleteWithInstance));
}
/**
* @param description Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param diskName Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with `http://` or `https://`. Default value is `null`.
*
* @return builder
*
*/
public Builder diskName(@Nullable Output diskName) {
$.diskName = diskName;
return this;
}
/**
* @param diskName Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with `http://` or `https://`. Default value is `null`.
*
* @return builder
*
*/
public Builder diskName(String diskName) {
return diskName(Output.of(diskName));
}
/**
* @param dryRun Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:
*
* @return builder
*
*/
public Builder dryRun(@Nullable Output dryRun) {
$.dryRun = dryRun;
return this;
}
/**
* @param dryRun Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:
*
* @return builder
*
*/
public Builder dryRun(Boolean dryRun) {
return dryRun(Output.of(dryRun));
}
/**
* @param enableAutoSnapshot Indicates whether to enable creating snapshot automatically.
*
* @return builder
*
*/
public Builder enableAutoSnapshot(@Nullable Output enableAutoSnapshot) {
$.enableAutoSnapshot = enableAutoSnapshot;
return this;
}
/**
* @param enableAutoSnapshot Indicates whether to enable creating snapshot automatically.
*
* @return builder
*
*/
public Builder enableAutoSnapshot(Boolean enableAutoSnapshot) {
return enableAutoSnapshot(Output.of(enableAutoSnapshot));
}
public Builder encryptAlgorithm(@Nullable Output encryptAlgorithm) {
$.encryptAlgorithm = encryptAlgorithm;
return this;
}
public Builder encryptAlgorithm(String encryptAlgorithm) {
return encryptAlgorithm(Output.of(encryptAlgorithm));
}
/**
* @param encrypted If true, the disk will be encrypted, conflict with `snapshot_id`.
*
* @return builder
*
*/
public Builder encrypted(@Nullable Output encrypted) {
$.encrypted = encrypted;
return this;
}
/**
* @param encrypted If true, the disk will be encrypted, conflict with `snapshot_id`.
*
* @return builder
*
*/
public Builder encrypted(Boolean encrypted) {
return encrypted(Output.of(encrypted));
}
/**
* @param instanceId The ID of the instance to which the created subscription disk is automatically attached.
* * After you specify the instance ID, the specified `resource_group_id`, `tags`, and `kms_key_id` parameters are ignored.
* * One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
* @return builder
*
*/
public Builder instanceId(@Nullable Output instanceId) {
$.instanceId = instanceId;
return this;
}
/**
* @param instanceId The ID of the instance to which the created subscription disk is automatically attached.
* * After you specify the instance ID, the specified `resource_group_id`, `tags`, and `kms_key_id` parameters are ignored.
* * One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
* @return builder
*
*/
public Builder instanceId(String instanceId) {
return instanceId(Output.of(instanceId));
}
/**
* @param kmsKeyId The ID of the KMS key corresponding to the data disk, The specified parameter `Encrypted` must be `true` when KmsKeyId is not empty.
*
* @return builder
*
*/
public Builder kmsKeyId(@Nullable Output kmsKeyId) {
$.kmsKeyId = kmsKeyId;
return this;
}
/**
* @param kmsKeyId The ID of the KMS key corresponding to the data disk, The specified parameter `Encrypted` must be `true` when KmsKeyId is not empty.
*
* @return builder
*
*/
public Builder kmsKeyId(String kmsKeyId) {
return kmsKeyId(Output.of(kmsKeyId));
}
/**
* @param name Field `name` has been deprecated from provider version 1.122.0. New field `disk_name` instead.
*
* @return builder
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead.
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead. */
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Field `name` has been deprecated from provider version 1.122.0. New field `disk_name` instead.
*
* @return builder
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead.
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead. */
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param paymentType Payment method for disk. Valid values: `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`. If you want to change the disk payment type, the `instance_id` is required.
*
* @return builder
*
*/
public Builder paymentType(@Nullable Output paymentType) {
$.paymentType = paymentType;
return this;
}
/**
* @param paymentType Payment method for disk. Valid values: `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`. If you want to change the disk payment type, the `instance_id` is required.
*
* @return builder
*
*/
public Builder paymentType(String paymentType) {
return paymentType(Output.of(paymentType));
}
/**
* @param performanceLevel Specifies the performance level of an ESSD when you create the ESSD. Valid values:
* * `PL1`: A single ESSD delivers up to 50,000 random read/write IOPS.
* * `PL2`: A single ESSD delivers up to 100,000 random read/write IOPS.
* * `PL3`: A single ESSD delivers up to 1,000,000 random read/write IOPS.
*
* @return builder
*
*/
public Builder performanceLevel(@Nullable Output performanceLevel) {
$.performanceLevel = performanceLevel;
return this;
}
/**
* @param performanceLevel Specifies the performance level of an ESSD when you create the ESSD. Valid values:
* * `PL1`: A single ESSD delivers up to 50,000 random read/write IOPS.
* * `PL2`: A single ESSD delivers up to 100,000 random read/write IOPS.
* * `PL3`: A single ESSD delivers up to 1,000,000 random read/write IOPS.
*
* @return builder
*
*/
public Builder performanceLevel(String performanceLevel) {
return performanceLevel(Output.of(performanceLevel));
}
/**
* @param resourceGroupId The Id of resource group which the disk belongs. This attribute only supports adding or updating, not destroying.
*
* @return builder
*
*/
public Builder resourceGroupId(@Nullable Output resourceGroupId) {
$.resourceGroupId = resourceGroupId;
return this;
}
/**
* @param resourceGroupId The Id of resource group which the disk belongs. This attribute only supports adding or updating, not destroying.
*
* @return builder
*
*/
public Builder resourceGroupId(String resourceGroupId) {
return resourceGroupId(Output.of(resourceGroupId));
}
/**
* @param size The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error `InvalidDiskSize.TooSmall`.
*
* @return builder
*
*/
public Builder size(@Nullable Output size) {
$.size = size;
return this;
}
/**
* @param size The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error `InvalidDiskSize.TooSmall`.
*
* @return builder
*
*/
public Builder size(Integer size) {
return size(Output.of(size));
}
/**
* @param snapshotId A snapshot to base the disk off of. If the disk size required by snapshot is greater than `size`, the `size` will be ignored, conflict with `encrypted`.
*
* @return builder
*
*/
public Builder snapshotId(@Nullable Output snapshotId) {
$.snapshotId = snapshotId;
return this;
}
/**
* @param snapshotId A snapshot to base the disk off of. If the disk size required by snapshot is greater than `size`, the `size` will be ignored, conflict with `encrypted`.
*
* @return builder
*
*/
public Builder snapshotId(String snapshotId) {
return snapshotId(Output.of(snapshotId));
}
/**
* @param storageSetId The ID of the storage set.
*
* @return builder
*
*/
public Builder storageSetId(@Nullable Output storageSetId) {
$.storageSetId = storageSetId;
return this;
}
/**
* @param storageSetId The ID of the storage set.
*
* @return builder
*
*/
public Builder storageSetId(String storageSetId) {
return storageSetId(Output.of(storageSetId));
}
/**
* @param storageSetPartitionNumber The number of partitions in the storage set.
*
* @return builder
*
*/
public Builder storageSetPartitionNumber(@Nullable Output storageSetPartitionNumber) {
$.storageSetPartitionNumber = storageSetPartitionNumber;
return this;
}
/**
* @param storageSetPartitionNumber The number of partitions in the storage set.
*
* @return builder
*
*/
public Builder storageSetPartitionNumber(Integer storageSetPartitionNumber) {
return storageSetPartitionNumber(Output.of(storageSetPartitionNumber));
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param type The type to expand cloud disks. Valid Values: `online`, `offline`. Default to `offline`.
*
* @return builder
*
*/
public Builder type(@Nullable Output type) {
$.type = type;
return this;
}
/**
* @param type The type to expand cloud disks. Valid Values: `online`, `offline`. Default to `offline`.
*
* @return builder
*
*/
public Builder type(String type) {
return type(Output.of(type));
}
/**
* @param zoneId ID of the free zone to which the disk belongs. One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
* @return builder
*
*/
public Builder zoneId(@Nullable Output zoneId) {
$.zoneId = zoneId;
return this;
}
/**
* @param zoneId ID of the free zone to which the disk belongs. One of the `zone_id` and `instance_id` must be set but can not be set at the same time.
*
* @return builder
*
*/
public Builder zoneId(String zoneId) {
return zoneId(Output.of(zoneId));
}
public EcsDiskArgs build() {
return $;
}
}
}