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.OntapFileSystemState 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.OntapFileSystemDiskIopsConfigurationArgs;
import com.pulumi.aws.fsx.inputs.OntapFileSystemEndpointArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 OntapFileSystemState extends com.pulumi.resources.ResourceArgs {
public static final OntapFileSystemState Empty = new OntapFileSystemState();
/**
* Amazon Resource Name of the file system.
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return Amazon Resource Name of the file system.
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.
*
*/
@Import(name="automaticBackupRetentionDays")
private @Nullable Output automaticBackupRetentionDays;
/**
* @return The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.
*
*/
public Optional> automaticBackupRetentionDays() {
return Optional.ofNullable(this.automaticBackupRetentionDays);
}
/**
* A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automatic_backup_retention_days` to be set.
*
*/
@Import(name="dailyAutomaticBackupStartTime")
private @Nullable Output dailyAutomaticBackupStartTime;
/**
* @return A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automatic_backup_retention_days` to be set.
*
*/
public Optional> dailyAutomaticBackupStartTime() {
return Optional.ofNullable(this.dailyAutomaticBackupStartTime);
}
/**
* The filesystem deployment type. Supports `MULTI_AZ_1`, `MULTI_AZ_2`, `SINGLE_AZ_1`, and `SINGLE_AZ_2`.
*
*/
@Import(name="deploymentType")
private @Nullable Output deploymentType;
/**
* @return The filesystem deployment type. Supports `MULTI_AZ_1`, `MULTI_AZ_2`, `SINGLE_AZ_1`, and `SINGLE_AZ_2`.
*
*/
public Optional> deploymentType() {
return Optional.ofNullable(this.deploymentType);
}
/**
* The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system. See Disk Iops Configuration below.
*
*/
@Import(name="diskIopsConfiguration")
private @Nullable Output diskIopsConfiguration;
/**
* @return The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system. See Disk Iops Configuration below.
*
*/
public Optional> diskIopsConfiguration() {
return Optional.ofNullable(this.diskIopsConfiguration);
}
/**
* The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.
*
*/
@Import(name="dnsName")
private @Nullable Output dnsName;
/**
* @return The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.
*
*/
public Optional> dnsName() {
return Optional.ofNullable(this.dnsName);
}
/**
* Specifies the IP address range in which the endpoints to access your file system will be created. By default, Amazon FSx selects an unused IP address range for you from the 198.19.* range.
*
*/
@Import(name="endpointIpAddressRange")
private @Nullable Output endpointIpAddressRange;
/**
* @return Specifies the IP address range in which the endpoints to access your file system will be created. By default, Amazon FSx selects an unused IP address range for you from the 198.19.* range.
*
*/
public Optional> endpointIpAddressRange() {
return Optional.ofNullable(this.endpointIpAddressRange);
}
/**
* The endpoints that are used to access data or to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
*
*/
@Import(name="endpoints")
private @Nullable Output> endpoints;
/**
* @return The endpoints that are used to access data or to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
*
*/
public Optional>> endpoints() {
return Optional.ofNullable(this.endpoints);
}
/**
* The ONTAP administrative password for the fsxadmin user that you can use to administer your file system using the ONTAP CLI and REST API.
*
*/
@Import(name="fsxAdminPassword")
private @Nullable Output fsxAdminPassword;
/**
* @return The ONTAP administrative password for the fsxadmin user that you can use to administer your file system using the ONTAP CLI and REST API.
*
*/
public Optional> fsxAdminPassword() {
return Optional.ofNullable(this.fsxAdminPassword);
}
/**
* The number of ha_pairs to deploy for the file system. Valid value is 1 for `SINGLE_AZ_1` or `MULTI_AZ_1` and `MULTI_AZ_2`. Valid values are 1 through 12 for `SINGLE_AZ_2`.
*
*/
@Import(name="haPairs")
private @Nullable Output haPairs;
/**
* @return The number of ha_pairs to deploy for the file system. Valid value is 1 for `SINGLE_AZ_1` or `MULTI_AZ_1` and `MULTI_AZ_2`. Valid values are 1 through 12 for `SINGLE_AZ_2`.
*
*/
public Optional> haPairs() {
return Optional.ofNullable(this.haPairs);
}
/**
* 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);
}
/**
* Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
*
*/
@Import(name="networkInterfaceIds")
private @Nullable Output> networkInterfaceIds;
/**
* @return Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
*
*/
public Optional>> networkInterfaceIds() {
return Optional.ofNullable(this.networkInterfaceIds);
}
/**
* AWS account identifier that created the file system.
*
*/
@Import(name="ownerId")
private @Nullable Output ownerId;
/**
* @return AWS account identifier that created the file system.
*
*/
public Optional> ownerId() {
return Optional.ofNullable(this.ownerId);
}
/**
* The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC).
*
*/
@Import(name="preferredSubnetId")
private @Nullable Output preferredSubnetId;
/**
* @return The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC).
*
*/
public Optional> preferredSubnetId() {
return Optional.ofNullable(this.preferredSubnetId);
}
/**
* Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
*/
@Import(name="routeTableIds")
private @Nullable Output> routeTableIds;
/**
* @return Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
*/
public Optional>> routeTableIds() {
return Optional.ofNullable(this.routeTableIds);
}
/**
* 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);
}
/**
* The storage capacity (GiB) of the file system. Valid values between `1024` and `196608` for file systems with deployment_type `SINGLE_AZ_1` and `MULTI_AZ_1`. Valid values are between `1024` and `524288` for `MULTI_AZ_2`. Valid values between `1024` (`1024` per ha pair) and `1048576` for file systems with deployment_type `SINGLE_AZ_2`. For `SINGLE_AZ_2`, the `1048576` (1PB) maximum is only supported when using 2 or more ha_pairs, the maximum is `524288` (512TB) when using 1 ha_pair.
*
*/
@Import(name="storageCapacity")
private @Nullable Output storageCapacity;
/**
* @return The storage capacity (GiB) of the file system. Valid values between `1024` and `196608` for file systems with deployment_type `SINGLE_AZ_1` and `MULTI_AZ_1`. Valid values are between `1024` and `524288` for `MULTI_AZ_2`. Valid values between `1024` (`1024` per ha pair) and `1048576` for file systems with deployment_type `SINGLE_AZ_2`. For `SINGLE_AZ_2`, the `1048576` (1PB) maximum is only supported when using 2 or more ha_pairs, the maximum is `524288` (512TB) when using 1 ha_pair.
*
*/
public Optional> storageCapacity() {
return Optional.ofNullable(this.storageCapacity);
}
/**
* The filesystem storage type. defaults to `SSD`.
*
*/
@Import(name="storageType")
private @Nullable Output storageType;
/**
* @return The filesystem storage type. defaults to `SSD`.
*
*/
public Optional> storageType() {
return Optional.ofNullable(this.storageType);
}
/**
* A list of IDs for the subnets that the file system will be accessible from. Up to 2 subnets can be provided.
*
*/
@Import(name="subnetIds")
private @Nullable Output> subnetIds;
/**
* @return A list of IDs for the subnets that the file system will be accessible from. Up to 2 subnets can be provided.
*
*/
public Optional>> subnetIds() {
return Optional.ofNullable(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);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
/**
* Sets the throughput capacity (in MBps) for the file system that you're creating. Valid values are `128`, `256`, `512`, `1024`, `2048`, and `4096`. This parameter is only supported when not using the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
*/
@Import(name="throughputCapacity")
private @Nullable Output throughputCapacity;
/**
* @return Sets the throughput capacity (in MBps) for the file system that you're creating. Valid values are `128`, `256`, `512`, `1024`, `2048`, and `4096`. This parameter is only supported when not using the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
*/
public Optional> throughputCapacity() {
return Optional.ofNullable(this.throughputCapacity);
}
/**
* Sets the per-HA-pair throughput capacity (in MBps) for the file system that you're creating, as opposed to `throughput_capacity` which specifies the total throughput capacity for the file system. Valid value for `MULTI_AZ_1` and `SINGLE_AZ_1` are `128`, `256`, `512`, `1024`, `2048`, and `4096`. Valid values for deployment type `MULTI_AZ_2` and `SINGLE_AZ_2` are `384`,`768`,`1536`,`3072`,`6144` where `ha_pairs` is `1`. Valid values for deployment type `SINGLE_AZ_2` are `1536`, `3072`, and `6144` where `ha_pairs` is greater than 1. This parameter is only supported when specifying the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
*/
@Import(name="throughputCapacityPerHaPair")
private @Nullable Output throughputCapacityPerHaPair;
/**
* @return Sets the per-HA-pair throughput capacity (in MBps) for the file system that you're creating, as opposed to `throughput_capacity` which specifies the total throughput capacity for the file system. Valid value for `MULTI_AZ_1` and `SINGLE_AZ_1` are `128`, `256`, `512`, `1024`, `2048`, and `4096`. Valid values for deployment type `MULTI_AZ_2` and `SINGLE_AZ_2` are `384`,`768`,`1536`,`3072`,`6144` where `ha_pairs` is `1`. Valid values for deployment type `SINGLE_AZ_2` are `1536`, `3072`, and `6144` where `ha_pairs` is greater than 1. This parameter is only supported when specifying the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
*/
public Optional> throughputCapacityPerHaPair() {
return Optional.ofNullable(this.throughputCapacityPerHaPair);
}
/**
* Identifier of the Virtual Private Cloud for the file system.
*
*/
@Import(name="vpcId")
private @Nullable Output vpcId;
/**
* @return Identifier of the Virtual Private Cloud for the file system.
*
*/
public Optional> vpcId() {
return Optional.ofNullable(this.vpcId);
}
/**
* 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 OntapFileSystemState() {}
private OntapFileSystemState(OntapFileSystemState $) {
this.arn = $.arn;
this.automaticBackupRetentionDays = $.automaticBackupRetentionDays;
this.dailyAutomaticBackupStartTime = $.dailyAutomaticBackupStartTime;
this.deploymentType = $.deploymentType;
this.diskIopsConfiguration = $.diskIopsConfiguration;
this.dnsName = $.dnsName;
this.endpointIpAddressRange = $.endpointIpAddressRange;
this.endpoints = $.endpoints;
this.fsxAdminPassword = $.fsxAdminPassword;
this.haPairs = $.haPairs;
this.kmsKeyId = $.kmsKeyId;
this.networkInterfaceIds = $.networkInterfaceIds;
this.ownerId = $.ownerId;
this.preferredSubnetId = $.preferredSubnetId;
this.routeTableIds = $.routeTableIds;
this.securityGroupIds = $.securityGroupIds;
this.storageCapacity = $.storageCapacity;
this.storageType = $.storageType;
this.subnetIds = $.subnetIds;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
this.throughputCapacity = $.throughputCapacity;
this.throughputCapacityPerHaPair = $.throughputCapacityPerHaPair;
this.vpcId = $.vpcId;
this.weeklyMaintenanceStartTime = $.weeklyMaintenanceStartTime;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(OntapFileSystemState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private OntapFileSystemState $;
public Builder() {
$ = new OntapFileSystemState();
}
public Builder(OntapFileSystemState defaults) {
$ = new OntapFileSystemState(Objects.requireNonNull(defaults));
}
/**
* @param arn Amazon Resource Name of the file system.
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn Amazon Resource Name of the file system.
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param automaticBackupRetentionDays The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.
*
* @return builder
*
*/
public Builder automaticBackupRetentionDays(@Nullable Output automaticBackupRetentionDays) {
$.automaticBackupRetentionDays = automaticBackupRetentionDays;
return this;
}
/**
* @param automaticBackupRetentionDays The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.
*
* @return builder
*
*/
public Builder automaticBackupRetentionDays(Integer automaticBackupRetentionDays) {
return automaticBackupRetentionDays(Output.of(automaticBackupRetentionDays));
}
/**
* @param dailyAutomaticBackupStartTime A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automatic_backup_retention_days` to be set.
*
* @return builder
*
*/
public Builder dailyAutomaticBackupStartTime(@Nullable Output dailyAutomaticBackupStartTime) {
$.dailyAutomaticBackupStartTime = dailyAutomaticBackupStartTime;
return this;
}
/**
* @param dailyAutomaticBackupStartTime A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. Requires `automatic_backup_retention_days` to be set.
*
* @return builder
*
*/
public Builder dailyAutomaticBackupStartTime(String dailyAutomaticBackupStartTime) {
return dailyAutomaticBackupStartTime(Output.of(dailyAutomaticBackupStartTime));
}
/**
* @param deploymentType The filesystem deployment type. Supports `MULTI_AZ_1`, `MULTI_AZ_2`, `SINGLE_AZ_1`, and `SINGLE_AZ_2`.
*
* @return builder
*
*/
public Builder deploymentType(@Nullable Output deploymentType) {
$.deploymentType = deploymentType;
return this;
}
/**
* @param deploymentType The filesystem deployment type. Supports `MULTI_AZ_1`, `MULTI_AZ_2`, `SINGLE_AZ_1`, and `SINGLE_AZ_2`.
*
* @return builder
*
*/
public Builder deploymentType(String deploymentType) {
return deploymentType(Output.of(deploymentType));
}
/**
* @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system. See Disk Iops Configuration below.
*
* @return builder
*
*/
public Builder diskIopsConfiguration(@Nullable Output diskIopsConfiguration) {
$.diskIopsConfiguration = diskIopsConfiguration;
return this;
}
/**
* @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system. See Disk Iops Configuration below.
*
* @return builder
*
*/
public Builder diskIopsConfiguration(OntapFileSystemDiskIopsConfigurationArgs diskIopsConfiguration) {
return diskIopsConfiguration(Output.of(diskIopsConfiguration));
}
/**
* @param dnsName The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.
*
* @return builder
*
*/
public Builder dnsName(@Nullable Output dnsName) {
$.dnsName = dnsName;
return this;
}
/**
* @param dnsName The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.
*
* @return builder
*
*/
public Builder dnsName(String dnsName) {
return dnsName(Output.of(dnsName));
}
/**
* @param endpointIpAddressRange Specifies the IP address range in which the endpoints to access your file system will be created. By default, Amazon FSx selects an unused IP address range for you from the 198.19.* range.
*
* @return builder
*
*/
public Builder endpointIpAddressRange(@Nullable Output endpointIpAddressRange) {
$.endpointIpAddressRange = endpointIpAddressRange;
return this;
}
/**
* @param endpointIpAddressRange Specifies the IP address range in which the endpoints to access your file system will be created. By default, Amazon FSx selects an unused IP address range for you from the 198.19.* range.
*
* @return builder
*
*/
public Builder endpointIpAddressRange(String endpointIpAddressRange) {
return endpointIpAddressRange(Output.of(endpointIpAddressRange));
}
/**
* @param endpoints The endpoints that are used to access data or to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
*
* @return builder
*
*/
public Builder endpoints(@Nullable Output> endpoints) {
$.endpoints = endpoints;
return this;
}
/**
* @param endpoints The endpoints that are used to access data or to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
*
* @return builder
*
*/
public Builder endpoints(List endpoints) {
return endpoints(Output.of(endpoints));
}
/**
* @param endpoints The endpoints that are used to access data or to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp SnapMirror. See Endpoints below.
*
* @return builder
*
*/
public Builder endpoints(OntapFileSystemEndpointArgs... endpoints) {
return endpoints(List.of(endpoints));
}
/**
* @param fsxAdminPassword The ONTAP administrative password for the fsxadmin user that you can use to administer your file system using the ONTAP CLI and REST API.
*
* @return builder
*
*/
public Builder fsxAdminPassword(@Nullable Output fsxAdminPassword) {
$.fsxAdminPassword = fsxAdminPassword;
return this;
}
/**
* @param fsxAdminPassword The ONTAP administrative password for the fsxadmin user that you can use to administer your file system using the ONTAP CLI and REST API.
*
* @return builder
*
*/
public Builder fsxAdminPassword(String fsxAdminPassword) {
return fsxAdminPassword(Output.of(fsxAdminPassword));
}
/**
* @param haPairs The number of ha_pairs to deploy for the file system. Valid value is 1 for `SINGLE_AZ_1` or `MULTI_AZ_1` and `MULTI_AZ_2`. Valid values are 1 through 12 for `SINGLE_AZ_2`.
*
* @return builder
*
*/
public Builder haPairs(@Nullable Output haPairs) {
$.haPairs = haPairs;
return this;
}
/**
* @param haPairs The number of ha_pairs to deploy for the file system. Valid value is 1 for `SINGLE_AZ_1` or `MULTI_AZ_1` and `MULTI_AZ_2`. Valid values are 1 through 12 for `SINGLE_AZ_2`.
*
* @return builder
*
*/
public Builder haPairs(Integer haPairs) {
return haPairs(Output.of(haPairs));
}
/**
* @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 networkInterfaceIds Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
*
* @return builder
*
*/
public Builder networkInterfaceIds(@Nullable Output> networkInterfaceIds) {
$.networkInterfaceIds = networkInterfaceIds;
return this;
}
/**
* @param networkInterfaceIds Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
*
* @return builder
*
*/
public Builder networkInterfaceIds(List networkInterfaceIds) {
return networkInterfaceIds(Output.of(networkInterfaceIds));
}
/**
* @param networkInterfaceIds Set of Elastic Network Interface identifiers from which the file system is accessible The first network interface returned is the primary network interface.
*
* @return builder
*
*/
public Builder networkInterfaceIds(String... networkInterfaceIds) {
return networkInterfaceIds(List.of(networkInterfaceIds));
}
/**
* @param ownerId AWS account identifier that created the file system.
*
* @return builder
*
*/
public Builder ownerId(@Nullable Output ownerId) {
$.ownerId = ownerId;
return this;
}
/**
* @param ownerId AWS account identifier that created the file system.
*
* @return builder
*
*/
public Builder ownerId(String ownerId) {
return ownerId(Output.of(ownerId));
}
/**
* @param preferredSubnetId The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC).
*
* @return builder
*
*/
public Builder preferredSubnetId(@Nullable Output preferredSubnetId) {
$.preferredSubnetId = preferredSubnetId;
return this;
}
/**
* @param preferredSubnetId The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC).
*
* @return builder
*
*/
public Builder preferredSubnetId(String preferredSubnetId) {
return preferredSubnetId(Output.of(preferredSubnetId));
}
/**
* @param routeTableIds Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
* @return builder
*
*/
public Builder routeTableIds(@Nullable Output> routeTableIds) {
$.routeTableIds = routeTableIds;
return this;
}
/**
* @param routeTableIds Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
* @return builder
*
*/
public Builder routeTableIds(List routeTableIds) {
return routeTableIds(Output.of(routeTableIds));
}
/**
* @param routeTableIds Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
* @return builder
*
*/
public Builder routeTableIds(String... routeTableIds) {
return routeTableIds(List.of(routeTableIds));
}
/**
* @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 storageCapacity The storage capacity (GiB) of the file system. Valid values between `1024` and `196608` for file systems with deployment_type `SINGLE_AZ_1` and `MULTI_AZ_1`. Valid values are between `1024` and `524288` for `MULTI_AZ_2`. Valid values between `1024` (`1024` per ha pair) and `1048576` for file systems with deployment_type `SINGLE_AZ_2`. For `SINGLE_AZ_2`, the `1048576` (1PB) maximum is only supported when using 2 or more ha_pairs, the maximum is `524288` (512TB) when using 1 ha_pair.
*
* @return builder
*
*/
public Builder storageCapacity(@Nullable Output storageCapacity) {
$.storageCapacity = storageCapacity;
return this;
}
/**
* @param storageCapacity The storage capacity (GiB) of the file system. Valid values between `1024` and `196608` for file systems with deployment_type `SINGLE_AZ_1` and `MULTI_AZ_1`. Valid values are between `1024` and `524288` for `MULTI_AZ_2`. Valid values between `1024` (`1024` per ha pair) and `1048576` for file systems with deployment_type `SINGLE_AZ_2`. For `SINGLE_AZ_2`, the `1048576` (1PB) maximum is only supported when using 2 or more ha_pairs, the maximum is `524288` (512TB) when using 1 ha_pair.
*
* @return builder
*
*/
public Builder storageCapacity(Integer storageCapacity) {
return storageCapacity(Output.of(storageCapacity));
}
/**
* @param storageType The filesystem storage type. defaults to `SSD`.
*
* @return builder
*
*/
public Builder storageType(@Nullable Output storageType) {
$.storageType = storageType;
return this;
}
/**
* @param storageType The filesystem storage type. defaults to `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. Up to 2 subnets can be provided.
*
* @return builder
*
*/
public Builder subnetIds(@Nullable Output> subnetIds) {
$.subnetIds = subnetIds;
return this;
}
/**
* @param subnetIds A list of IDs for the subnets that the file system will be accessible from. Up to 2 subnets can be provided.
*
* @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. Up to 2 subnets can be provided.
*
* @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 tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
/**
* @param throughputCapacity Sets the throughput capacity (in MBps) for the file system that you're creating. Valid values are `128`, `256`, `512`, `1024`, `2048`, and `4096`. This parameter is only supported when not using the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
* @return builder
*
*/
public Builder throughputCapacity(@Nullable Output throughputCapacity) {
$.throughputCapacity = throughputCapacity;
return this;
}
/**
* @param throughputCapacity Sets the throughput capacity (in MBps) for the file system that you're creating. Valid values are `128`, `256`, `512`, `1024`, `2048`, and `4096`. This parameter is only supported when not using the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
* @return builder
*
*/
public Builder throughputCapacity(Integer throughputCapacity) {
return throughputCapacity(Output.of(throughputCapacity));
}
/**
* @param throughputCapacityPerHaPair Sets the per-HA-pair throughput capacity (in MBps) for the file system that you're creating, as opposed to `throughput_capacity` which specifies the total throughput capacity for the file system. Valid value for `MULTI_AZ_1` and `SINGLE_AZ_1` are `128`, `256`, `512`, `1024`, `2048`, and `4096`. Valid values for deployment type `MULTI_AZ_2` and `SINGLE_AZ_2` are `384`,`768`,`1536`,`3072`,`6144` where `ha_pairs` is `1`. Valid values for deployment type `SINGLE_AZ_2` are `1536`, `3072`, and `6144` where `ha_pairs` is greater than 1. This parameter is only supported when specifying the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
* @return builder
*
*/
public Builder throughputCapacityPerHaPair(@Nullable Output throughputCapacityPerHaPair) {
$.throughputCapacityPerHaPair = throughputCapacityPerHaPair;
return this;
}
/**
* @param throughputCapacityPerHaPair Sets the per-HA-pair throughput capacity (in MBps) for the file system that you're creating, as opposed to `throughput_capacity` which specifies the total throughput capacity for the file system. Valid value for `MULTI_AZ_1` and `SINGLE_AZ_1` are `128`, `256`, `512`, `1024`, `2048`, and `4096`. Valid values for deployment type `MULTI_AZ_2` and `SINGLE_AZ_2` are `384`,`768`,`1536`,`3072`,`6144` where `ha_pairs` is `1`. Valid values for deployment type `SINGLE_AZ_2` are `1536`, `3072`, and `6144` where `ha_pairs` is greater than 1. This parameter is only supported when specifying the ha_pairs parameter. Either throughput_capacity or throughput_capacity_per_ha_pair must be specified.
*
* @return builder
*
*/
public Builder throughputCapacityPerHaPair(Integer throughputCapacityPerHaPair) {
return throughputCapacityPerHaPair(Output.of(throughputCapacityPerHaPair));
}
/**
* @param vpcId Identifier of the Virtual Private Cloud for the file system.
*
* @return builder
*
*/
public Builder vpcId(@Nullable Output vpcId) {
$.vpcId = vpcId;
return this;
}
/**
* @param vpcId Identifier of the Virtual Private Cloud for the file system.
*
* @return builder
*
*/
public Builder vpcId(String vpcId) {
return vpcId(Output.of(vpcId));
}
/**
* @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 OntapFileSystemState build() {
return $;
}
}
}