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.cloudstoragegateway.GatewayBlockVolumeArgs 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.cloudstoragegateway;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class GatewayBlockVolumeArgs extends com.pulumi.resources.ResourceArgs {
public static final GatewayBlockVolumeArgs Empty = new GatewayBlockVolumeArgs();
/**
* The Block volume set mode to cache mode. Valid values: `Cache`, `WriteThrough`.
*
*/
@Import(name="cacheMode")
private @Nullable Output cacheMode;
/**
* @return The Block volume set mode to cache mode. Valid values: `Cache`, `WriteThrough`.
*
*/
public Optional> cacheMode() {
return Optional.ofNullable(this.cacheMode);
}
/**
* Whether to enable iSCSI access of CHAP authentication, which currently supports both CHAP inbound authentication. Default value: `false`.
*
*/
@Import(name="chapEnabled")
private @Nullable Output chapEnabled;
/**
* @return Whether to enable iSCSI access of CHAP authentication, which currently supports both CHAP inbound authentication. Default value: `false`.
*
*/
public Optional> chapEnabled() {
return Optional.ofNullable(this.chapEnabled);
}
/**
* The password for inbound authentication when the block volume enables iSCSI access to CHAP authentication. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
*/
@Import(name="chapInPassword")
private @Nullable Output chapInPassword;
/**
* @return The password for inbound authentication when the block volume enables iSCSI access to CHAP authentication. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
*/
public Optional> chapInPassword() {
return Optional.ofNullable(this.chapInPassword);
}
/**
* The Inbound CHAP user. The `chap_in_user` must be 1 to 32 characters in length, and can contain letters and digits. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
*/
@Import(name="chapInUser")
private @Nullable Output chapInUser;
/**
* @return The Inbound CHAP user. The `chap_in_user` must be 1 to 32 characters in length, and can contain letters and digits. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
*/
public Optional> chapInUser() {
return Optional.ofNullable(this.chapInUser);
}
/**
* The Block volume storage allocation unit. Valid values: `8192`, `16384`, `32768`, `65536`, `131072`. Default value: `32768`. Unit: `Byte`.
*
*/
@Import(name="chunkSize")
private @Nullable Output chunkSize;
/**
* @return The Block volume storage allocation unit. Valid values: `8192`, `16384`, `32768`, `65536`, `131072`. Default value: `32768`. Unit: `Byte`.
*
*/
public Optional> chunkSize() {
return Optional.ofNullable(this.chunkSize);
}
/**
* The Block volume name. The name must be 1 to 32 characters in length, and can contain lower case letters and digits.
*
*/
@Import(name="gatewayBlockVolumeName", required=true)
private Output gatewayBlockVolumeName;
/**
* @return The Block volume name. The name must be 1 to 32 characters in length, and can contain lower case letters and digits.
*
*/
public Output gatewayBlockVolumeName() {
return this.gatewayBlockVolumeName;
}
/**
* The Gateway ID.
*
*/
@Import(name="gatewayId", required=true)
private Output gatewayId;
/**
* @return The Gateway ID.
*
*/
public Output gatewayId() {
return this.gatewayId;
}
/**
* Whether to delete the source data. Default value `true`. **NOTE:** When `is_source_deletion` is `true`, the data in the OSS Bucket on the cloud is also deleted when deleting the block gateway volume. Please operate with caution.
*
*/
@Import(name="isSourceDeletion")
private @Nullable Output isSourceDeletion;
/**
* @return Whether to delete the source data. Default value `true`. **NOTE:** When `is_source_deletion` is `true`, the data in the OSS Bucket on the cloud is also deleted when deleting the block gateway volume. Please operate with caution.
*
*/
public Optional> isSourceDeletion() {
return Optional.ofNullable(this.isSourceDeletion);
}
/**
* The Cache disk to local path. **NOTE:** When the `cache_mode` is `Cache` is,The `chap_in_password` is valid.
*
*/
@Import(name="localPath")
private @Nullable Output localPath;
/**
* @return The Cache disk to local path. **NOTE:** When the `cache_mode` is `Cache` is,The `chap_in_password` is valid.
*
*/
public Optional> localPath() {
return Optional.ofNullable(this.localPath);
}
/**
* The name of the OSS Bucket.
*
*/
@Import(name="ossBucketName", required=true)
private Output ossBucketName;
/**
* @return The name of the OSS Bucket.
*
*/
public Output ossBucketName() {
return this.ossBucketName;
}
/**
* Whether to enable SSL access your OSS Buckets. Default value: `true`.
*
*/
@Import(name="ossBucketSsl")
private @Nullable Output ossBucketSsl;
/**
* @return Whether to enable SSL access your OSS Buckets. Default value: `true`.
*
*/
public Optional> ossBucketSsl() {
return Optional.ofNullable(this.ossBucketSsl);
}
/**
* The endpoint of the OSS Bucket.
*
*/
@Import(name="ossEndpoint", required=true)
private Output ossEndpoint;
/**
* @return The endpoint of the OSS Bucket.
*
*/
public Output ossEndpoint() {
return this.ossEndpoint;
}
/**
* The Protocol. Valid values: `iSCSI`.
*
*/
@Import(name="protocol", required=true)
private Output protocol;
/**
* @return The Protocol. Valid values: `iSCSI`.
*
*/
public Output protocol() {
return this.protocol;
}
/**
* The recovery.
*
*/
@Import(name="recovery")
private @Nullable Output recovery;
/**
* @return The recovery.
*
*/
public Optional> recovery() {
return Optional.ofNullable(this.recovery);
}
/**
* The Volume size. Valid values: `1` to `262144`. Unit: `Byte`.
*
*/
@Import(name="size")
private @Nullable Output size;
/**
* @return The Volume size. Valid values: `1` to `262144`. Unit: `Byte`.
*
*/
public Optional> size() {
return Optional.ofNullable(this.size);
}
private GatewayBlockVolumeArgs() {}
private GatewayBlockVolumeArgs(GatewayBlockVolumeArgs $) {
this.cacheMode = $.cacheMode;
this.chapEnabled = $.chapEnabled;
this.chapInPassword = $.chapInPassword;
this.chapInUser = $.chapInUser;
this.chunkSize = $.chunkSize;
this.gatewayBlockVolumeName = $.gatewayBlockVolumeName;
this.gatewayId = $.gatewayId;
this.isSourceDeletion = $.isSourceDeletion;
this.localPath = $.localPath;
this.ossBucketName = $.ossBucketName;
this.ossBucketSsl = $.ossBucketSsl;
this.ossEndpoint = $.ossEndpoint;
this.protocol = $.protocol;
this.recovery = $.recovery;
this.size = $.size;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GatewayBlockVolumeArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private GatewayBlockVolumeArgs $;
public Builder() {
$ = new GatewayBlockVolumeArgs();
}
public Builder(GatewayBlockVolumeArgs defaults) {
$ = new GatewayBlockVolumeArgs(Objects.requireNonNull(defaults));
}
/**
* @param cacheMode The Block volume set mode to cache mode. Valid values: `Cache`, `WriteThrough`.
*
* @return builder
*
*/
public Builder cacheMode(@Nullable Output cacheMode) {
$.cacheMode = cacheMode;
return this;
}
/**
* @param cacheMode The Block volume set mode to cache mode. Valid values: `Cache`, `WriteThrough`.
*
* @return builder
*
*/
public Builder cacheMode(String cacheMode) {
return cacheMode(Output.of(cacheMode));
}
/**
* @param chapEnabled Whether to enable iSCSI access of CHAP authentication, which currently supports both CHAP inbound authentication. Default value: `false`.
*
* @return builder
*
*/
public Builder chapEnabled(@Nullable Output chapEnabled) {
$.chapEnabled = chapEnabled;
return this;
}
/**
* @param chapEnabled Whether to enable iSCSI access of CHAP authentication, which currently supports both CHAP inbound authentication. Default value: `false`.
*
* @return builder
*
*/
public Builder chapEnabled(Boolean chapEnabled) {
return chapEnabled(Output.of(chapEnabled));
}
/**
* @param chapInPassword The password for inbound authentication when the block volume enables iSCSI access to CHAP authentication. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder chapInPassword(@Nullable Output chapInPassword) {
$.chapInPassword = chapInPassword;
return this;
}
/**
* @param chapInPassword The password for inbound authentication when the block volume enables iSCSI access to CHAP authentication. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder chapInPassword(String chapInPassword) {
return chapInPassword(Output.of(chapInPassword));
}
/**
* @param chapInUser The Inbound CHAP user. The `chap_in_user` must be 1 to 32 characters in length, and can contain letters and digits. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder chapInUser(@Nullable Output chapInUser) {
$.chapInUser = chapInUser;
return this;
}
/**
* @param chapInUser The Inbound CHAP user. The `chap_in_user` must be 1 to 32 characters in length, and can contain letters and digits. **NOTE:** When the `chap_enabled` is `true` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder chapInUser(String chapInUser) {
return chapInUser(Output.of(chapInUser));
}
/**
* @param chunkSize The Block volume storage allocation unit. Valid values: `8192`, `16384`, `32768`, `65536`, `131072`. Default value: `32768`. Unit: `Byte`.
*
* @return builder
*
*/
public Builder chunkSize(@Nullable Output chunkSize) {
$.chunkSize = chunkSize;
return this;
}
/**
* @param chunkSize The Block volume storage allocation unit. Valid values: `8192`, `16384`, `32768`, `65536`, `131072`. Default value: `32768`. Unit: `Byte`.
*
* @return builder
*
*/
public Builder chunkSize(Integer chunkSize) {
return chunkSize(Output.of(chunkSize));
}
/**
* @param gatewayBlockVolumeName The Block volume name. The name must be 1 to 32 characters in length, and can contain lower case letters and digits.
*
* @return builder
*
*/
public Builder gatewayBlockVolumeName(Output gatewayBlockVolumeName) {
$.gatewayBlockVolumeName = gatewayBlockVolumeName;
return this;
}
/**
* @param gatewayBlockVolumeName The Block volume name. The name must be 1 to 32 characters in length, and can contain lower case letters and digits.
*
* @return builder
*
*/
public Builder gatewayBlockVolumeName(String gatewayBlockVolumeName) {
return gatewayBlockVolumeName(Output.of(gatewayBlockVolumeName));
}
/**
* @param gatewayId The Gateway ID.
*
* @return builder
*
*/
public Builder gatewayId(Output gatewayId) {
$.gatewayId = gatewayId;
return this;
}
/**
* @param gatewayId The Gateway ID.
*
* @return builder
*
*/
public Builder gatewayId(String gatewayId) {
return gatewayId(Output.of(gatewayId));
}
/**
* @param isSourceDeletion Whether to delete the source data. Default value `true`. **NOTE:** When `is_source_deletion` is `true`, the data in the OSS Bucket on the cloud is also deleted when deleting the block gateway volume. Please operate with caution.
*
* @return builder
*
*/
public Builder isSourceDeletion(@Nullable Output isSourceDeletion) {
$.isSourceDeletion = isSourceDeletion;
return this;
}
/**
* @param isSourceDeletion Whether to delete the source data. Default value `true`. **NOTE:** When `is_source_deletion` is `true`, the data in the OSS Bucket on the cloud is also deleted when deleting the block gateway volume. Please operate with caution.
*
* @return builder
*
*/
public Builder isSourceDeletion(Boolean isSourceDeletion) {
return isSourceDeletion(Output.of(isSourceDeletion));
}
/**
* @param localPath The Cache disk to local path. **NOTE:** When the `cache_mode` is `Cache` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder localPath(@Nullable Output localPath) {
$.localPath = localPath;
return this;
}
/**
* @param localPath The Cache disk to local path. **NOTE:** When the `cache_mode` is `Cache` is,The `chap_in_password` is valid.
*
* @return builder
*
*/
public Builder localPath(String localPath) {
return localPath(Output.of(localPath));
}
/**
* @param ossBucketName The name of the OSS Bucket.
*
* @return builder
*
*/
public Builder ossBucketName(Output ossBucketName) {
$.ossBucketName = ossBucketName;
return this;
}
/**
* @param ossBucketName The name of the OSS Bucket.
*
* @return builder
*
*/
public Builder ossBucketName(String ossBucketName) {
return ossBucketName(Output.of(ossBucketName));
}
/**
* @param ossBucketSsl Whether to enable SSL access your OSS Buckets. Default value: `true`.
*
* @return builder
*
*/
public Builder ossBucketSsl(@Nullable Output ossBucketSsl) {
$.ossBucketSsl = ossBucketSsl;
return this;
}
/**
* @param ossBucketSsl Whether to enable SSL access your OSS Buckets. Default value: `true`.
*
* @return builder
*
*/
public Builder ossBucketSsl(Boolean ossBucketSsl) {
return ossBucketSsl(Output.of(ossBucketSsl));
}
/**
* @param ossEndpoint The endpoint of the OSS Bucket.
*
* @return builder
*
*/
public Builder ossEndpoint(Output ossEndpoint) {
$.ossEndpoint = ossEndpoint;
return this;
}
/**
* @param ossEndpoint The endpoint of the OSS Bucket.
*
* @return builder
*
*/
public Builder ossEndpoint(String ossEndpoint) {
return ossEndpoint(Output.of(ossEndpoint));
}
/**
* @param protocol The Protocol. Valid values: `iSCSI`.
*
* @return builder
*
*/
public Builder protocol(Output protocol) {
$.protocol = protocol;
return this;
}
/**
* @param protocol The Protocol. Valid values: `iSCSI`.
*
* @return builder
*
*/
public Builder protocol(String protocol) {
return protocol(Output.of(protocol));
}
/**
* @param recovery The recovery.
*
* @return builder
*
*/
public Builder recovery(@Nullable Output recovery) {
$.recovery = recovery;
return this;
}
/**
* @param recovery The recovery.
*
* @return builder
*
*/
public Builder recovery(Boolean recovery) {
return recovery(Output.of(recovery));
}
/**
* @param size The Volume size. Valid values: `1` to `262144`. Unit: `Byte`.
*
* @return builder
*
*/
public Builder size(@Nullable Output size) {
$.size = size;
return this;
}
/**
* @param size The Volume size. Valid values: `1` to `262144`. Unit: `Byte`.
*
* @return builder
*
*/
public Builder size(Integer size) {
return size(Output.of(size));
}
public GatewayBlockVolumeArgs build() {
if ($.gatewayBlockVolumeName == null) {
throw new MissingRequiredPropertyException("GatewayBlockVolumeArgs", "gatewayBlockVolumeName");
}
if ($.gatewayId == null) {
throw new MissingRequiredPropertyException("GatewayBlockVolumeArgs", "gatewayId");
}
if ($.ossBucketName == null) {
throw new MissingRequiredPropertyException("GatewayBlockVolumeArgs", "ossBucketName");
}
if ($.ossEndpoint == null) {
throw new MissingRequiredPropertyException("GatewayBlockVolumeArgs", "ossEndpoint");
}
if ($.protocol == null) {
throw new MissingRequiredPropertyException("GatewayBlockVolumeArgs", "protocol");
}
return $;
}
}
}