software.amazon.awssdk.services.fsx.model.CreateFileSystemOntapConfiguration Maven / Gradle / Ivy
Show all versions of fsx Show documentation
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.fsx.model;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* The ONTAP configuration properties of the FSx for ONTAP file system that you are creating.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class CreateFileSystemOntapConfiguration implements SdkPojo, Serializable,
ToCopyableBuilder {
private static final SdkField AUTOMATIC_BACKUP_RETENTION_DAYS_FIELD = SdkField
. builder(MarshallingType.INTEGER)
.memberName("AutomaticBackupRetentionDays")
.getter(getter(CreateFileSystemOntapConfiguration::automaticBackupRetentionDays))
.setter(setter(Builder::automaticBackupRetentionDays))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutomaticBackupRetentionDays")
.build()).build();
private static final SdkField DAILY_AUTOMATIC_BACKUP_START_TIME_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("DailyAutomaticBackupStartTime")
.getter(getter(CreateFileSystemOntapConfiguration::dailyAutomaticBackupStartTime))
.setter(setter(Builder::dailyAutomaticBackupStartTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DailyAutomaticBackupStartTime")
.build()).build();
private static final SdkField DEPLOYMENT_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DeploymentType").getter(getter(CreateFileSystemOntapConfiguration::deploymentTypeAsString))
.setter(setter(Builder::deploymentType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeploymentType").build()).build();
private static final SdkField ENDPOINT_IP_ADDRESS_RANGE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndpointIpAddressRange").getter(getter(CreateFileSystemOntapConfiguration::endpointIpAddressRange))
.setter(setter(Builder::endpointIpAddressRange))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EndpointIpAddressRange").build())
.build();
private static final SdkField FSX_ADMIN_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("FsxAdminPassword").getter(getter(CreateFileSystemOntapConfiguration::fsxAdminPassword))
.setter(setter(Builder::fsxAdminPassword))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FsxAdminPassword").build()).build();
private static final SdkField DISK_IOPS_CONFIGURATION_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DiskIopsConfiguration")
.getter(getter(CreateFileSystemOntapConfiguration::diskIopsConfiguration))
.setter(setter(Builder::diskIopsConfiguration)).constructor(DiskIopsConfiguration::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DiskIopsConfiguration").build())
.build();
private static final SdkField PREFERRED_SUBNET_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("PreferredSubnetId").getter(getter(CreateFileSystemOntapConfiguration::preferredSubnetId))
.setter(setter(Builder::preferredSubnetId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredSubnetId").build()).build();
private static final SdkField> ROUTE_TABLE_IDS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("RouteTableIds")
.getter(getter(CreateFileSystemOntapConfiguration::routeTableIds))
.setter(setter(Builder::routeTableIds))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RouteTableIds").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField THROUGHPUT_CAPACITY_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("ThroughputCapacity").getter(getter(CreateFileSystemOntapConfiguration::throughputCapacity))
.setter(setter(Builder::throughputCapacity))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ThroughputCapacity").build())
.build();
private static final SdkField WEEKLY_MAINTENANCE_START_TIME_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("WeeklyMaintenanceStartTime")
.getter(getter(CreateFileSystemOntapConfiguration::weeklyMaintenanceStartTime))
.setter(setter(Builder::weeklyMaintenanceStartTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("WeeklyMaintenanceStartTime").build())
.build();
private static final SdkField HA_PAIRS_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("HAPairs").getter(getter(CreateFileSystemOntapConfiguration::haPairs)).setter(setter(Builder::haPairs))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HAPairs").build()).build();
private static final SdkField THROUGHPUT_CAPACITY_PER_HA_PAIR_FIELD = SdkField
. builder(MarshallingType.INTEGER)
.memberName("ThroughputCapacityPerHAPair")
.getter(getter(CreateFileSystemOntapConfiguration::throughputCapacityPerHAPair))
.setter(setter(Builder::throughputCapacityPerHAPair))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ThroughputCapacityPerHAPair")
.build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(
AUTOMATIC_BACKUP_RETENTION_DAYS_FIELD, DAILY_AUTOMATIC_BACKUP_START_TIME_FIELD, DEPLOYMENT_TYPE_FIELD,
ENDPOINT_IP_ADDRESS_RANGE_FIELD, FSX_ADMIN_PASSWORD_FIELD, DISK_IOPS_CONFIGURATION_FIELD, PREFERRED_SUBNET_ID_FIELD,
ROUTE_TABLE_IDS_FIELD, THROUGHPUT_CAPACITY_FIELD, WEEKLY_MAINTENANCE_START_TIME_FIELD, HA_PAIRS_FIELD,
THROUGHPUT_CAPACITY_PER_HA_PAIR_FIELD));
private static final long serialVersionUID = 1L;
private final Integer automaticBackupRetentionDays;
private final String dailyAutomaticBackupStartTime;
private final String deploymentType;
private final String endpointIpAddressRange;
private final String fsxAdminPassword;
private final DiskIopsConfiguration diskIopsConfiguration;
private final String preferredSubnetId;
private final List routeTableIds;
private final Integer throughputCapacity;
private final String weeklyMaintenanceStartTime;
private final Integer haPairs;
private final Integer throughputCapacityPerHAPair;
private CreateFileSystemOntapConfiguration(BuilderImpl builder) {
this.automaticBackupRetentionDays = builder.automaticBackupRetentionDays;
this.dailyAutomaticBackupStartTime = builder.dailyAutomaticBackupStartTime;
this.deploymentType = builder.deploymentType;
this.endpointIpAddressRange = builder.endpointIpAddressRange;
this.fsxAdminPassword = builder.fsxAdminPassword;
this.diskIopsConfiguration = builder.diskIopsConfiguration;
this.preferredSubnetId = builder.preferredSubnetId;
this.routeTableIds = builder.routeTableIds;
this.throughputCapacity = builder.throughputCapacity;
this.weeklyMaintenanceStartTime = builder.weeklyMaintenanceStartTime;
this.haPairs = builder.haPairs;
this.throughputCapacityPerHAPair = builder.throughputCapacityPerHAPair;
}
/**
* Returns the value of the AutomaticBackupRetentionDays property for this object.
*
* @return The value of the AutomaticBackupRetentionDays property for this object.
*/
public final Integer automaticBackupRetentionDays() {
return automaticBackupRetentionDays;
}
/**
* Returns the value of the DailyAutomaticBackupStartTime property for this object.
*
* @return The value of the DailyAutomaticBackupStartTime property for this object.
*/
public final String dailyAutomaticBackupStartTime() {
return dailyAutomaticBackupStartTime;
}
/**
*
* Specifies the FSx for ONTAP file system deployment type to use in creating the file system.
*
*
* -
*
* MULTI_AZ_1
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. This is a first-generation FSx for ONTAP file system.
*
*
* -
*
* MULTI_AZ_2
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary AZ unavailability. This is a second-generation FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_1
- A file system configured for Single-AZ redundancy. This is a first-generation FSx for
* ONTAP file system.
*
*
* -
*
* SINGLE_AZ_2
- A file system configured with multiple high-availability (HA) pairs for Single-AZ
* redundancy. This is a second-generation FSx for ONTAP file system.
*
*
*
*
* For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system
* deployment type.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #deploymentType}
* will return {@link OntapDeploymentType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #deploymentTypeAsString}.
*
*
* @return Specifies the FSx for ONTAP file system deployment type to use in creating the file system.
*
* -
*
* MULTI_AZ_1
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. This is a first-generation FSx for ONTAP file system.
*
*
* -
*
* MULTI_AZ_2
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary AZ unavailability. This is a second-generation FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_1
- A file system configured for Single-AZ redundancy. This is a first-generation
* FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_2
- A file system configured with multiple high-availability (HA) pairs for
* Single-AZ redundancy. This is a second-generation FSx for ONTAP file system.
*
*
*
*
* For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system
* deployment type.
* @see OntapDeploymentType
*/
public final OntapDeploymentType deploymentType() {
return OntapDeploymentType.fromValue(deploymentType);
}
/**
*
* Specifies the FSx for ONTAP file system deployment type to use in creating the file system.
*
*
* -
*
* MULTI_AZ_1
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. This is a first-generation FSx for ONTAP file system.
*
*
* -
*
* MULTI_AZ_2
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary AZ unavailability. This is a second-generation FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_1
- A file system configured for Single-AZ redundancy. This is a first-generation FSx for
* ONTAP file system.
*
*
* -
*
* SINGLE_AZ_2
- A file system configured with multiple high-availability (HA) pairs for Single-AZ
* redundancy. This is a second-generation FSx for ONTAP file system.
*
*
*
*
* For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system
* deployment type.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #deploymentType}
* will return {@link OntapDeploymentType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #deploymentTypeAsString}.
*
*
* @return Specifies the FSx for ONTAP file system deployment type to use in creating the file system.
*
* -
*
* MULTI_AZ_1
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. This is a first-generation FSx for ONTAP file system.
*
*
* -
*
* MULTI_AZ_2
- A high availability file system configured for Multi-AZ redundancy to tolerate
* temporary AZ unavailability. This is a second-generation FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_1
- A file system configured for Single-AZ redundancy. This is a first-generation
* FSx for ONTAP file system.
*
*
* -
*
* SINGLE_AZ_2
- A file system configured with multiple high-availability (HA) pairs for
* Single-AZ redundancy. This is a second-generation FSx for ONTAP file system.
*
*
*
*
* For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system
* deployment type.
* @see OntapDeploymentType
*/
public final String deploymentTypeAsString() {
return deploymentType;
}
/**
*
* (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.
* By default in the Amazon FSx API, Amazon FSx selects an unused IP address range for you from the 198.19.* range.
* By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP addresses from the VPC’s primary CIDR
* range to use as the endpoint IP address range for the file system. You can have overlapping endpoint IP addresses
* for file systems deployed in the same VPC/route tables, as long as they don't overlap with any subnet.
*
*
* @return (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be
* created. By default in the Amazon FSx API, Amazon FSx selects an unused IP address range for you from the
* 198.19.* range. By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP addresses from
* the VPC’s primary CIDR range to use as the endpoint IP address range for the file system. You can have
* overlapping endpoint IP addresses for file systems deployed in the same VPC/route tables, as long as they
* don't overlap with any subnet.
*/
public final String endpointIpAddressRange() {
return endpointIpAddressRange;
}
/**
*
* The ONTAP administrative password for the fsxadmin
user with which you administer your file system
* using the NetApp ONTAP CLI and REST API.
*
*
* @return The ONTAP administrative password for the fsxadmin
user with which you administer your file
* system using the NetApp ONTAP CLI and REST API.
*/
public final String fsxAdminPassword() {
return fsxAdminPassword;
}
/**
*
* The SSD IOPS configuration for the FSx for ONTAP file system.
*
*
* @return The SSD IOPS configuration for the FSx for ONTAP file system.
*/
public final DiskIopsConfiguration diskIopsConfiguration() {
return diskIopsConfiguration;
}
/**
*
* Required when DeploymentType
is set to MULTI_AZ_1
or MULTI_AZ_2
. This
* specifies the subnet in which you want the preferred file server to be located.
*
*
* @return Required when DeploymentType
is set to MULTI_AZ_1
or MULTI_AZ_2
.
* This specifies the subnet in which you want the preferred file server to be located.
*/
public final String preferredSubnetId() {
return preferredSubnetId;
}
/**
* For responses, this returns true if the service returned a value for the RouteTableIds property. This DOES NOT
* check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property).
* This is useful because the SDK will never return a null collection or map, but you may need to differentiate
* between the service returning nothing (or null) and the service returning an empty collection or map. For
* requests, this returns true if a value for the property was specified in the request builder, and false if a
* value was not specified.
*/
public final boolean hasRouteTableIds() {
return routeTableIds != null && !(routeTableIds instanceof SdkAutoConstructList);
}
/**
*
* (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the
* correct file server. You should specify all virtual private cloud (VPC) route tables associated with the subnets
* in which your clients are located. By default, Amazon FSx selects your VPC's default route table.
*
*
*
* Amazon FSx manages these route tables for Multi-AZ file systems using tag-based authentication. These route
* tables are tagged with Key: AmazonFSx; Value: ManagedByAmazonFSx
. When creating FSx for ONTAP
* Multi-AZ file systems using CloudFormation we recommend that you add the
* Key: AmazonFSx; Value: ManagedByAmazonFSx
tag manually.
*
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasRouteTableIds} method.
*
*
* @return (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to
* the correct file server. You should specify all virtual private cloud (VPC) route tables associated with
* the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route
* table.
*
* Amazon FSx manages these route tables for Multi-AZ file systems using tag-based authentication. These
* route tables are tagged with Key: AmazonFSx; Value: ManagedByAmazonFSx
. When creating FSx
* for ONTAP Multi-AZ file systems using CloudFormation we recommend that you add the
* Key: AmazonFSx; Value: ManagedByAmazonFSx
tag manually.
*
*/
public final List routeTableIds() {
return routeTableIds;
}
/**
*
* Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps). For more
* information, see Managing throughput
* capacity in the FSx for ONTAP User Guide.
*
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of ThroughputCapacity
and ThroughputCapacityPerHAPair
are not the same value.
*
*
* -
*
* The value of ThroughputCapacity
when divided by the value of HAPairs
is outside of the
* valid range for ThroughputCapacity
.
*
*
*
*
* @return Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps). For
* more information, see Managing
* throughput capacity in the FSx for ONTAP User Guide.
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of ThroughputCapacity
and ThroughputCapacityPerHAPair
are not the
* same value.
*
*
* -
*
* The value of ThroughputCapacity
when divided by the value of HAPairs
is outside
* of the valid range for ThroughputCapacity
.
*
*
*/
public final Integer throughputCapacity() {
return throughputCapacity;
}
/**
* Returns the value of the WeeklyMaintenanceStartTime property for this object.
*
* @return The value of the WeeklyMaintenanceStartTime property for this object.
*/
public final String weeklyMaintenanceStartTime() {
return weeklyMaintenanceStartTime;
}
/**
*
* Specifies how many high-availability (HA) pairs of file servers will power your file system. First-generation
* file systems are powered by 1 HA pair. Second-generation multi-AZ file systems are powered by 1 HA pair. Second
* generation single-AZ file systems are powered by up to 12 HA pairs. The default value is 1. The value of this
* property affects the values of StorageCapacity
, Iops
, and
* ThroughputCapacity
. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide. Block storage protocol support (iSCSI and NVMe
* over TCP) is disabled on file systems with more than 6 HA pairs. For more information, see Using
* block storage protocols.
*
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of HAPairs
is less than 1 or greater than 12.
*
*
* -
*
* The value of HAPairs
is greater than 1 and the value of DeploymentType
is
* SINGLE_AZ_1
, MULTI_AZ_1
, or MULTI_AZ_2
.
*
*
*
*
* @return Specifies how many high-availability (HA) pairs of file servers will power your file system.
* First-generation file systems are powered by 1 HA pair. Second-generation multi-AZ file systems are
* powered by 1 HA pair. Second generation single-AZ file systems are powered by up to 12 HA pairs. The
* default value is 1. The value of this property affects the values of StorageCapacity
,
* Iops
, and ThroughputCapacity
. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide. Block storage protocol support (iSCSI
* and NVMe over TCP) is disabled on file systems with more than 6 HA pairs. For more information, see
* Using block storage protocols.
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of HAPairs
is less than 1 or greater than 12.
*
*
* -
*
* The value of HAPairs
is greater than 1 and the value of DeploymentType
is
* SINGLE_AZ_1
, MULTI_AZ_1
, or MULTI_AZ_2
.
*
*
*/
public final Integer haPairs() {
return haPairs;
}
/**
*
* Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.
*
*
* You can define either the ThroughputCapacityPerHAPair
or the ThroughputCapacity
when
* creating a file system, but not both.
*
*
* This field and ThroughputCapacity
are the same for file systems powered by one HA pair.
*
*
* -
*
* For SINGLE_AZ_1
and MULTI_AZ_1
file systems, valid values are 128, 256, 512, 1024,
* 2048, or 4096 MBps.
*
*
* -
*
* For SINGLE_AZ_2
, valid values are 1536, 3072, or 6144 MBps.
*
*
* -
*
* For MULTI_AZ_2
, valid values are 384, 768, 1536, 3072, or 6144 MBps.
*
*
*
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of ThroughputCapacity
and ThroughputCapacityPerHAPair
are not the same value
* for file systems with one HA pair.
*
*
* -
*
* The value of deployment type is SINGLE_AZ_2
and ThroughputCapacity
/
* ThroughputCapacityPerHAPair
is not a valid HA pair (a value between 1 and 12).
*
*
* -
*
* The value of ThroughputCapacityPerHAPair
is not a valid value.
*
*
*
*
* @return Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.
*
*
* You can define either the ThroughputCapacityPerHAPair
or the ThroughputCapacity
* when creating a file system, but not both.
*
*
* This field and ThroughputCapacity
are the same for file systems powered by one HA pair.
*
*
* -
*
* For SINGLE_AZ_1
and MULTI_AZ_1
file systems, valid values are 128, 256, 512,
* 1024, 2048, or 4096 MBps.
*
*
* -
*
* For SINGLE_AZ_2
, valid values are 1536, 3072, or 6144 MBps.
*
*
* -
*
* For MULTI_AZ_2
, valid values are 384, 768, 1536, 3072, or 6144 MBps.
*
*
*
*
* Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:
*
*
* -
*
* The value of ThroughputCapacity
and ThroughputCapacityPerHAPair
are not the
* same value for file systems with one HA pair.
*
*
* -
*
* The value of deployment type is SINGLE_AZ_2
and ThroughputCapacity
/
* ThroughputCapacityPerHAPair
is not a valid HA pair (a value between 1 and 12).
*
*
* -
*
* The value of ThroughputCapacityPerHAPair
is not a valid value.
*
*
*/
public final Integer throughputCapacityPerHAPair() {
return throughputCapacityPerHAPair;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(automaticBackupRetentionDays());
hashCode = 31 * hashCode + Objects.hashCode(dailyAutomaticBackupStartTime());
hashCode = 31 * hashCode + Objects.hashCode(deploymentTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(endpointIpAddressRange());
hashCode = 31 * hashCode + Objects.hashCode(fsxAdminPassword());
hashCode = 31 * hashCode + Objects.hashCode(diskIopsConfiguration());
hashCode = 31 * hashCode + Objects.hashCode(preferredSubnetId());
hashCode = 31 * hashCode + Objects.hashCode(hasRouteTableIds() ? routeTableIds() : null);
hashCode = 31 * hashCode + Objects.hashCode(throughputCapacity());
hashCode = 31 * hashCode + Objects.hashCode(weeklyMaintenanceStartTime());
hashCode = 31 * hashCode + Objects.hashCode(haPairs());
hashCode = 31 * hashCode + Objects.hashCode(throughputCapacityPerHAPair());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof CreateFileSystemOntapConfiguration)) {
return false;
}
CreateFileSystemOntapConfiguration other = (CreateFileSystemOntapConfiguration) obj;
return Objects.equals(automaticBackupRetentionDays(), other.automaticBackupRetentionDays())
&& Objects.equals(dailyAutomaticBackupStartTime(), other.dailyAutomaticBackupStartTime())
&& Objects.equals(deploymentTypeAsString(), other.deploymentTypeAsString())
&& Objects.equals(endpointIpAddressRange(), other.endpointIpAddressRange())
&& Objects.equals(fsxAdminPassword(), other.fsxAdminPassword())
&& Objects.equals(diskIopsConfiguration(), other.diskIopsConfiguration())
&& Objects.equals(preferredSubnetId(), other.preferredSubnetId())
&& hasRouteTableIds() == other.hasRouteTableIds() && Objects.equals(routeTableIds(), other.routeTableIds())
&& Objects.equals(throughputCapacity(), other.throughputCapacity())
&& Objects.equals(weeklyMaintenanceStartTime(), other.weeklyMaintenanceStartTime())
&& Objects.equals(haPairs(), other.haPairs())
&& Objects.equals(throughputCapacityPerHAPair(), other.throughputCapacityPerHAPair());
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*/
@Override
public final String toString() {
return ToString.builder("CreateFileSystemOntapConfiguration")
.add("AutomaticBackupRetentionDays", automaticBackupRetentionDays())
.add("DailyAutomaticBackupStartTime", dailyAutomaticBackupStartTime())
.add("DeploymentType", deploymentTypeAsString()).add("EndpointIpAddressRange", endpointIpAddressRange())
.add("FsxAdminPassword", fsxAdminPassword() == null ? null : "*** Sensitive Data Redacted ***")
.add("DiskIopsConfiguration", diskIopsConfiguration()).add("PreferredSubnetId", preferredSubnetId())
.add("RouteTableIds", hasRouteTableIds() ? routeTableIds() : null)
.add("ThroughputCapacity", throughputCapacity()).add("WeeklyMaintenanceStartTime", weeklyMaintenanceStartTime())
.add("HAPairs", haPairs()).add("ThroughputCapacityPerHAPair", throughputCapacityPerHAPair()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "AutomaticBackupRetentionDays":
return Optional.ofNullable(clazz.cast(automaticBackupRetentionDays()));
case "DailyAutomaticBackupStartTime":
return Optional.ofNullable(clazz.cast(dailyAutomaticBackupStartTime()));
case "DeploymentType":
return Optional.ofNullable(clazz.cast(deploymentTypeAsString()));
case "EndpointIpAddressRange":
return Optional.ofNullable(clazz.cast(endpointIpAddressRange()));
case "FsxAdminPassword":
return Optional.ofNullable(clazz.cast(fsxAdminPassword()));
case "DiskIopsConfiguration":
return Optional.ofNullable(clazz.cast(diskIopsConfiguration()));
case "PreferredSubnetId":
return Optional.ofNullable(clazz.cast(preferredSubnetId()));
case "RouteTableIds":
return Optional.ofNullable(clazz.cast(routeTableIds()));
case "ThroughputCapacity":
return Optional.ofNullable(clazz.cast(throughputCapacity()));
case "WeeklyMaintenanceStartTime":
return Optional.ofNullable(clazz.cast(weeklyMaintenanceStartTime()));
case "HAPairs":
return Optional.ofNullable(clazz.cast(haPairs()));
case "ThroughputCapacityPerHAPair":
return Optional.ofNullable(clazz.cast(throughputCapacityPerHAPair()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function