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.WindowsFileSystemArgs 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;
import com.pulumi.aws.fsx.inputs.WindowsFileSystemAuditLogConfigurationArgs;
import com.pulumi.aws.fsx.inputs.WindowsFileSystemDiskIopsConfigurationArgs;
import com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs;
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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class WindowsFileSystemArgs extends com.pulumi.resources.ResourceArgs {
public static final WindowsFileSystemArgs Empty = new WindowsFileSystemArgs();
/**
* The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`.
*
*/
@Import(name="activeDirectoryId")
private @Nullable Output activeDirectoryId;
/**
* @return The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`.
*
*/
public Optional> activeDirectoryId() {
return Optional.ofNullable(this.activeDirectoryId);
}
/**
* An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
*
*/
@Import(name="aliases")
private @Nullable Output> aliases;
/**
* @return An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
*
*/
public Optional>> aliases() {
return Optional.ofNullable(this.aliases);
}
/**
* The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See `audit_log_configuration` Block for details.
*
*/
@Import(name="auditLogConfiguration")
private @Nullable Output auditLogConfiguration;
/**
* @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See `audit_log_configuration` Block for details.
*
*/
public Optional> auditLogConfiguration() {
return Optional.ofNullable(this.auditLogConfiguration);
}
/**
* The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable.
*
*/
@Import(name="automaticBackupRetentionDays")
private @Nullable Output automaticBackupRetentionDays;
/**
* @return The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable.
*
*/
public Optional> automaticBackupRetentionDays() {
return Optional.ofNullable(this.automaticBackupRetentionDays);
}
/**
* The ID of the source backup to create the filesystem from.
*
*/
@Import(name="backupId")
private @Nullable Output backupId;
/**
* @return The ID of the source backup to create the filesystem from.
*
*/
public Optional> backupId() {
return Optional.ofNullable(this.backupId);
}
/**
* A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`.
*
*/
@Import(name="copyTagsToBackups")
private @Nullable Output copyTagsToBackups;
/**
* @return A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`.
*
*/
public Optional> copyTagsToBackups() {
return Optional.ofNullable(this.copyTagsToBackups);
}
/**
* The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone.
*
*/
@Import(name="dailyAutomaticBackupStartTime")
private @Nullable Output dailyAutomaticBackupStartTime;
/**
* @return The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone.
*
*/
public Optional> dailyAutomaticBackupStartTime() {
return Optional.ofNullable(this.dailyAutomaticBackupStartTime);
}
/**
* Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.
*
*/
@Import(name="deploymentType")
private @Nullable Output deploymentType;
/**
* @return Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.
*
*/
public Optional> deploymentType() {
return Optional.ofNullable(this.deploymentType);
}
/**
* The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See `disk_iops_configuration` Block for details.
*
*/
@Import(name="diskIopsConfiguration")
private @Nullable Output diskIopsConfiguration;
/**
* @return The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See `disk_iops_configuration` Block for details.
*
*/
public Optional> diskIopsConfiguration() {
return Optional.ofNullable(this.diskIopsConfiguration);
}
/**
* A map of tags to apply to the file system's final backup.
*
*/
@Import(name="finalBackupTags")
private @Nullable Output> finalBackupTags;
/**
* @return A map of tags to apply to the file system's final backup.
*
*/
public Optional>> finalBackupTags() {
return Optional.ofNullable(this.finalBackupTags);
}
/**
* ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key.
*
*/
@Import(name="kmsKeyId")
private @Nullable Output kmsKeyId;
/**
* @return ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key.
*
*/
public Optional> kmsKeyId() {
return Optional.ofNullable(this.kmsKeyId);
}
/**
* Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`.
*
*/
@Import(name="preferredSubnetId")
private @Nullable Output preferredSubnetId;
/**
* @return Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`.
*
*/
public Optional> preferredSubnetId() {
return Optional.ofNullable(this.preferredSubnetId);
}
/**
* A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
*
*/
@Import(name="securityGroupIds")
private @Nullable Output> securityGroupIds;
/**
* @return A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
*
*/
public Optional>> securityGroupIds() {
return Optional.ofNullable(this.securityGroupIds);
}
/**
* Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See `self_managed_active_directory` Block for details.
*
*/
@Import(name="selfManagedActiveDirectory")
private @Nullable Output selfManagedActiveDirectory;
/**
* @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See `self_managed_active_directory` Block for details.
*
*/
public Optional> selfManagedActiveDirectory() {
return Optional.ofNullable(this.selfManagedActiveDirectory);
}
/**
* When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`.
*
*/
@Import(name="skipFinalBackup")
private @Nullable Output skipFinalBackup;
/**
* @return When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`.
*
*/
public Optional> skipFinalBackup() {
return Optional.ofNullable(this.skipFinalBackup);
}
/**
* Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup.
*
*/
@Import(name="storageCapacity")
private @Nullable Output storageCapacity;
/**
* @return Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup.
*
*/
public Optional> storageCapacity() {
return Optional.ofNullable(this.storageCapacity);
}
/**
* Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`.
*
*/
@Import(name="storageType")
private @Nullable Output storageType;
/**
* @return Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`.
*
*/
public Optional> storageType() {
return Optional.ofNullable(this.storageType);
}
/**
* A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
*
*/
@Import(name="subnetIds", required=true)
private Output> subnetIds;
/**
* @return A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
*
*/
public Output> subnetIds() {
return this.subnetIds;
}
/**
* A map of tags to assign to the file system. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A map of tags to assign to the file system. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.
*
* The following arguments are optional:
*
*/
@Import(name="throughputCapacity", required=true)
private Output throughputCapacity;
/**
* @return Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.
*
* The following arguments are optional:
*
*/
public Output throughputCapacity() {
return this.throughputCapacity;
}
/**
* The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
*
*/
@Import(name="weeklyMaintenanceStartTime")
private @Nullable Output weeklyMaintenanceStartTime;
/**
* @return The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
*
*/
public Optional> weeklyMaintenanceStartTime() {
return Optional.ofNullable(this.weeklyMaintenanceStartTime);
}
private WindowsFileSystemArgs() {}
private WindowsFileSystemArgs(WindowsFileSystemArgs $) {
this.activeDirectoryId = $.activeDirectoryId;
this.aliases = $.aliases;
this.auditLogConfiguration = $.auditLogConfiguration;
this.automaticBackupRetentionDays = $.automaticBackupRetentionDays;
this.backupId = $.backupId;
this.copyTagsToBackups = $.copyTagsToBackups;
this.dailyAutomaticBackupStartTime = $.dailyAutomaticBackupStartTime;
this.deploymentType = $.deploymentType;
this.diskIopsConfiguration = $.diskIopsConfiguration;
this.finalBackupTags = $.finalBackupTags;
this.kmsKeyId = $.kmsKeyId;
this.preferredSubnetId = $.preferredSubnetId;
this.securityGroupIds = $.securityGroupIds;
this.selfManagedActiveDirectory = $.selfManagedActiveDirectory;
this.skipFinalBackup = $.skipFinalBackup;
this.storageCapacity = $.storageCapacity;
this.storageType = $.storageType;
this.subnetIds = $.subnetIds;
this.tags = $.tags;
this.throughputCapacity = $.throughputCapacity;
this.weeklyMaintenanceStartTime = $.weeklyMaintenanceStartTime;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(WindowsFileSystemArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private WindowsFileSystemArgs $;
public Builder() {
$ = new WindowsFileSystemArgs();
}
public Builder(WindowsFileSystemArgs defaults) {
$ = new WindowsFileSystemArgs(Objects.requireNonNull(defaults));
}
/**
* @param activeDirectoryId The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`.
*
* @return builder
*
*/
public Builder activeDirectoryId(@Nullable Output activeDirectoryId) {
$.activeDirectoryId = activeDirectoryId;
return this;
}
/**
* @param activeDirectoryId The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`.
*
* @return builder
*
*/
public Builder activeDirectoryId(String activeDirectoryId) {
return activeDirectoryId(Output.of(activeDirectoryId));
}
/**
* @param aliases An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
*
* @return builder
*
*/
public Builder aliases(@Nullable Output> aliases) {
$.aliases = aliases;
return this;
}
/**
* @param aliases An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
*
* @return builder
*
*/
public Builder aliases(List aliases) {
return aliases(Output.of(aliases));
}
/**
* @param aliases An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
*
* @return builder
*
*/
public Builder aliases(String... aliases) {
return aliases(List.of(aliases));
}
/**
* @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See `audit_log_configuration` Block for details.
*
* @return builder
*
*/
public Builder auditLogConfiguration(@Nullable Output auditLogConfiguration) {
$.auditLogConfiguration = auditLogConfiguration;
return this;
}
/**
* @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See `audit_log_configuration` Block for details.
*
* @return builder
*
*/
public Builder auditLogConfiguration(WindowsFileSystemAuditLogConfigurationArgs auditLogConfiguration) {
return auditLogConfiguration(Output.of(auditLogConfiguration));
}
/**
* @param automaticBackupRetentionDays The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable.
*
* @return builder
*
*/
public Builder automaticBackupRetentionDays(@Nullable Output automaticBackupRetentionDays) {
$.automaticBackupRetentionDays = automaticBackupRetentionDays;
return this;
}
/**
* @param automaticBackupRetentionDays The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable.
*
* @return builder
*
*/
public Builder automaticBackupRetentionDays(Integer automaticBackupRetentionDays) {
return automaticBackupRetentionDays(Output.of(automaticBackupRetentionDays));
}
/**
* @param backupId The ID of the source backup to create the filesystem from.
*
* @return builder
*
*/
public Builder backupId(@Nullable Output backupId) {
$.backupId = backupId;
return this;
}
/**
* @param backupId The ID of the source backup to create the filesystem from.
*
* @return builder
*
*/
public Builder backupId(String backupId) {
return backupId(Output.of(backupId));
}
/**
* @param copyTagsToBackups A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`.
*
* @return builder
*
*/
public Builder copyTagsToBackups(@Nullable Output copyTagsToBackups) {
$.copyTagsToBackups = copyTagsToBackups;
return this;
}
/**
* @param copyTagsToBackups A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`.
*
* @return builder
*
*/
public Builder copyTagsToBackups(Boolean copyTagsToBackups) {
return copyTagsToBackups(Output.of(copyTagsToBackups));
}
/**
* @param dailyAutomaticBackupStartTime The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone.
*
* @return builder
*
*/
public Builder dailyAutomaticBackupStartTime(@Nullable Output dailyAutomaticBackupStartTime) {
$.dailyAutomaticBackupStartTime = dailyAutomaticBackupStartTime;
return this;
}
/**
* @param dailyAutomaticBackupStartTime The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone.
*
* @return builder
*
*/
public Builder dailyAutomaticBackupStartTime(String dailyAutomaticBackupStartTime) {
return dailyAutomaticBackupStartTime(Output.of(dailyAutomaticBackupStartTime));
}
/**
* @param deploymentType Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.
*
* @return builder
*
*/
public Builder deploymentType(@Nullable Output deploymentType) {
$.deploymentType = deploymentType;
return this;
}
/**
* @param deploymentType Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.
*
* @return builder
*
*/
public Builder deploymentType(String deploymentType) {
return deploymentType(Output.of(deploymentType));
}
/**
* @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See `disk_iops_configuration` Block for details.
*
* @return builder
*
*/
public Builder diskIopsConfiguration(@Nullable Output diskIopsConfiguration) {
$.diskIopsConfiguration = diskIopsConfiguration;
return this;
}
/**
* @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See `disk_iops_configuration` Block for details.
*
* @return builder
*
*/
public Builder diskIopsConfiguration(WindowsFileSystemDiskIopsConfigurationArgs diskIopsConfiguration) {
return diskIopsConfiguration(Output.of(diskIopsConfiguration));
}
/**
* @param finalBackupTags A map of tags to apply to the file system's final backup.
*
* @return builder
*
*/
public Builder finalBackupTags(@Nullable Output> finalBackupTags) {
$.finalBackupTags = finalBackupTags;
return this;
}
/**
* @param finalBackupTags A map of tags to apply to the file system's final backup.
*
* @return builder
*
*/
public Builder finalBackupTags(Map finalBackupTags) {
return finalBackupTags(Output.of(finalBackupTags));
}
/**
* @param kmsKeyId ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key.
*
* @return builder
*
*/
public Builder kmsKeyId(@Nullable Output kmsKeyId) {
$.kmsKeyId = kmsKeyId;
return this;
}
/**
* @param kmsKeyId ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key.
*
* @return builder
*
*/
public Builder kmsKeyId(String kmsKeyId) {
return kmsKeyId(Output.of(kmsKeyId));
}
/**
* @param preferredSubnetId Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`.
*
* @return builder
*
*/
public Builder preferredSubnetId(@Nullable Output preferredSubnetId) {
$.preferredSubnetId = preferredSubnetId;
return this;
}
/**
* @param preferredSubnetId Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`.
*
* @return builder
*
*/
public Builder preferredSubnetId(String preferredSubnetId) {
return preferredSubnetId(Output.of(preferredSubnetId));
}
/**
* @param securityGroupIds A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
*
* @return builder
*
*/
public Builder securityGroupIds(@Nullable Output> securityGroupIds) {
$.securityGroupIds = securityGroupIds;
return this;
}
/**
* @param securityGroupIds A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
*
* @return builder
*
*/
public Builder securityGroupIds(List securityGroupIds) {
return securityGroupIds(Output.of(securityGroupIds));
}
/**
* @param securityGroupIds A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces.
*
* @return builder
*
*/
public Builder securityGroupIds(String... securityGroupIds) {
return securityGroupIds(List.of(securityGroupIds));
}
/**
* @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See `self_managed_active_directory` Block for details.
*
* @return builder
*
*/
public Builder selfManagedActiveDirectory(@Nullable Output selfManagedActiveDirectory) {
$.selfManagedActiveDirectory = selfManagedActiveDirectory;
return this;
}
/**
* @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See `self_managed_active_directory` Block for details.
*
* @return builder
*
*/
public Builder selfManagedActiveDirectory(WindowsFileSystemSelfManagedActiveDirectoryArgs selfManagedActiveDirectory) {
return selfManagedActiveDirectory(Output.of(selfManagedActiveDirectory));
}
/**
* @param skipFinalBackup When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`.
*
* @return builder
*
*/
public Builder skipFinalBackup(@Nullable Output skipFinalBackup) {
$.skipFinalBackup = skipFinalBackup;
return this;
}
/**
* @param skipFinalBackup When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`.
*
* @return builder
*
*/
public Builder skipFinalBackup(Boolean skipFinalBackup) {
return skipFinalBackup(Output.of(skipFinalBackup));
}
/**
* @param storageCapacity Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup.
*
* @return builder
*
*/
public Builder storageCapacity(@Nullable Output storageCapacity) {
$.storageCapacity = storageCapacity;
return this;
}
/**
* @param storageCapacity Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup.
*
* @return builder
*
*/
public Builder storageCapacity(Integer storageCapacity) {
return storageCapacity(Output.of(storageCapacity));
}
/**
* @param storageType Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`.
*
* @return builder
*
*/
public Builder storageType(@Nullable Output storageType) {
$.storageType = storageType;
return this;
}
/**
* @param storageType Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`.
*
* @return builder
*
*/
public Builder storageType(String storageType) {
return storageType(Output.of(storageType));
}
/**
* @param subnetIds A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
*
* @return builder
*
*/
public Builder subnetIds(Output> subnetIds) {
$.subnetIds = subnetIds;
return this;
}
/**
* @param subnetIds A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
*
* @return builder
*
*/
public Builder subnetIds(List subnetIds) {
return subnetIds(Output.of(subnetIds));
}
/**
* @param subnetIds A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`.
*
* @return builder
*
*/
public Builder subnetIds(String... subnetIds) {
return subnetIds(List.of(subnetIds));
}
/**
* @param tags A map of tags to assign to the file system. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A map of tags to assign to the file system. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder throughputCapacity(Output throughputCapacity) {
$.throughputCapacity = throughputCapacity;
return this;
}
/**
* @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder throughputCapacity(Integer throughputCapacity) {
return throughputCapacity(Output.of(throughputCapacity));
}
/**
* @param weeklyMaintenanceStartTime The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
*
* @return builder
*
*/
public Builder weeklyMaintenanceStartTime(@Nullable Output weeklyMaintenanceStartTime) {
$.weeklyMaintenanceStartTime = weeklyMaintenanceStartTime;
return this;
}
/**
* @param weeklyMaintenanceStartTime The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
*
* @return builder
*
*/
public Builder weeklyMaintenanceStartTime(String weeklyMaintenanceStartTime) {
return weeklyMaintenanceStartTime(Output.of(weeklyMaintenanceStartTime));
}
public WindowsFileSystemArgs build() {
if ($.subnetIds == null) {
throw new MissingRequiredPropertyException("WindowsFileSystemArgs", "subnetIds");
}
if ($.throughputCapacity == null) {
throw new MissingRequiredPropertyException("WindowsFileSystemArgs", "throughputCapacity");
}
return $;
}
}
}