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.aws.fsx.inputs.OpenZfsFileSystemRootVolumeConfigurationArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud 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.aws.fsx.inputs;
import com.pulumi.aws.fsx.inputs.OpenZfsFileSystemRootVolumeConfigurationNfsExportsArgs;
import com.pulumi.aws.fsx.inputs.OpenZfsFileSystemRootVolumeConfigurationUserAndGroupQuotaArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class OpenZfsFileSystemRootVolumeConfigurationArgs extends com.pulumi.resources.ResourceArgs {
public static final OpenZfsFileSystemRootVolumeConfigurationArgs Empty = new OpenZfsFileSystemRootVolumeConfigurationArgs();
/**
* A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
*
*/
@Import(name="copyTagsToSnapshots")
private @Nullable Output copyTagsToSnapshots;
/**
* @return A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
*
*/
public Optional> copyTagsToSnapshots() {
return Optional.ofNullable(this.copyTagsToSnapshots);
}
/**
* Method used to compress the data on the volume. Valid values are `LZ4`, `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume.
*
*/
@Import(name="dataCompressionType")
private @Nullable Output dataCompressionType;
/**
* @return Method used to compress the data on the volume. Valid values are `LZ4`, `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume.
*
*/
public Optional> dataCompressionType() {
return Optional.ofNullable(this.dataCompressionType);
}
/**
* NFS export configuration for the root volume. Exactly 1 item. See `nfs_exports` Block for details.
*
*/
@Import(name="nfsExports")
private @Nullable Output nfsExports;
/**
* @return NFS export configuration for the root volume. Exactly 1 item. See `nfs_exports` Block for details.
*
*/
public Optional> nfsExports() {
return Optional.ofNullable(this.nfsExports);
}
/**
* specifies whether the volume is read-only. Default is false.
*
*/
@Import(name="readOnly")
private @Nullable Output readOnly;
/**
* @return specifies whether the volume is read-only. Default is false.
*
*/
public Optional> readOnly() {
return Optional.ofNullable(this.readOnly);
}
/**
* Specifies the record size of an OpenZFS root volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB.
*
*/
@Import(name="recordSizeKib")
private @Nullable Output recordSizeKib;
/**
* @return Specifies the record size of an OpenZFS root volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB.
*
*/
public Optional> recordSizeKib() {
return Optional.ofNullable(this.recordSizeKib);
}
/**
* Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `user_and_group_quotas` Block for details.
*
*/
@Import(name="userAndGroupQuotas")
private @Nullable Output> userAndGroupQuotas;
/**
* @return Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `user_and_group_quotas` Block for details.
*
*/
public Optional>> userAndGroupQuotas() {
return Optional.ofNullable(this.userAndGroupQuotas);
}
private OpenZfsFileSystemRootVolumeConfigurationArgs() {}
private OpenZfsFileSystemRootVolumeConfigurationArgs(OpenZfsFileSystemRootVolumeConfigurationArgs $) {
this.copyTagsToSnapshots = $.copyTagsToSnapshots;
this.dataCompressionType = $.dataCompressionType;
this.nfsExports = $.nfsExports;
this.readOnly = $.readOnly;
this.recordSizeKib = $.recordSizeKib;
this.userAndGroupQuotas = $.userAndGroupQuotas;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(OpenZfsFileSystemRootVolumeConfigurationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private OpenZfsFileSystemRootVolumeConfigurationArgs $;
public Builder() {
$ = new OpenZfsFileSystemRootVolumeConfigurationArgs();
}
public Builder(OpenZfsFileSystemRootVolumeConfigurationArgs defaults) {
$ = new OpenZfsFileSystemRootVolumeConfigurationArgs(Objects.requireNonNull(defaults));
}
/**
* @param copyTagsToSnapshots A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
*
* @return builder
*
*/
public Builder copyTagsToSnapshots(@Nullable Output copyTagsToSnapshots) {
$.copyTagsToSnapshots = copyTagsToSnapshots;
return this;
}
/**
* @param copyTagsToSnapshots A boolean flag indicating whether tags for the file system should be copied to snapshots. The default value is false.
*
* @return builder
*
*/
public Builder copyTagsToSnapshots(Boolean copyTagsToSnapshots) {
return copyTagsToSnapshots(Output.of(copyTagsToSnapshots));
}
/**
* @param dataCompressionType Method used to compress the data on the volume. Valid values are `LZ4`, `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume.
*
* @return builder
*
*/
public Builder dataCompressionType(@Nullable Output dataCompressionType) {
$.dataCompressionType = dataCompressionType;
return this;
}
/**
* @param dataCompressionType Method used to compress the data on the volume. Valid values are `LZ4`, `NONE` or `ZSTD`. Child volumes that don't specify compression option will inherit from parent volume. This option on file system applies to the root volume.
*
* @return builder
*
*/
public Builder dataCompressionType(String dataCompressionType) {
return dataCompressionType(Output.of(dataCompressionType));
}
/**
* @param nfsExports NFS export configuration for the root volume. Exactly 1 item. See `nfs_exports` Block for details.
*
* @return builder
*
*/
public Builder nfsExports(@Nullable Output nfsExports) {
$.nfsExports = nfsExports;
return this;
}
/**
* @param nfsExports NFS export configuration for the root volume. Exactly 1 item. See `nfs_exports` Block for details.
*
* @return builder
*
*/
public Builder nfsExports(OpenZfsFileSystemRootVolumeConfigurationNfsExportsArgs nfsExports) {
return nfsExports(Output.of(nfsExports));
}
/**
* @param readOnly specifies whether the volume is read-only. Default is false.
*
* @return builder
*
*/
public Builder readOnly(@Nullable Output readOnly) {
$.readOnly = readOnly;
return this;
}
/**
* @param readOnly specifies whether the volume is read-only. Default is false.
*
* @return builder
*
*/
public Builder readOnly(Boolean readOnly) {
return readOnly(Output.of(readOnly));
}
/**
* @param recordSizeKib Specifies the record size of an OpenZFS root volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB.
*
* @return builder
*
*/
public Builder recordSizeKib(@Nullable Output recordSizeKib) {
$.recordSizeKib = recordSizeKib;
return this;
}
/**
* @param recordSizeKib Specifies the record size of an OpenZFS root volume, in kibibytes (KiB). Valid values are `4`, `8`, `16`, `32`, `64`, `128`, `256`, `512`, or `1024` KiB. The default is `128` KiB.
*
* @return builder
*
*/
public Builder recordSizeKib(Integer recordSizeKib) {
return recordSizeKib(Output.of(recordSizeKib));
}
/**
* @param userAndGroupQuotas Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `user_and_group_quotas` Block for details.
*
* @return builder
*
*/
public Builder userAndGroupQuotas(@Nullable Output> userAndGroupQuotas) {
$.userAndGroupQuotas = userAndGroupQuotas;
return this;
}
/**
* @param userAndGroupQuotas Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `user_and_group_quotas` Block for details.
*
* @return builder
*
*/
public Builder userAndGroupQuotas(List userAndGroupQuotas) {
return userAndGroupQuotas(Output.of(userAndGroupQuotas));
}
/**
* @param userAndGroupQuotas Specify how much storage users or groups can use on the volume. Maximum of 100 items. See `user_and_group_quotas` Block for details.
*
* @return builder
*
*/
public Builder userAndGroupQuotas(OpenZfsFileSystemRootVolumeConfigurationUserAndGroupQuotaArgs... userAndGroupQuotas) {
return userAndGroupQuotas(List.of(userAndGroupQuotas));
}
public OpenZfsFileSystemRootVolumeConfigurationArgs build() {
return $;
}
}
}