com.amazonaws.services.fsx.model.FileSystem Maven / Gradle / Ivy
Show all versions of aws-java-sdk-fsx Show documentation
/*
* Copyright 2015-2020 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 com.amazonaws.services.fsx.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* A description of a specific Amazon FSx file system.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class FileSystem implements Serializable, Cloneable, StructuredPojo {
/**
*
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*
*/
private String ownerId;
/**
*
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.
*
*/
private java.util.Date creationTime;
/**
*
* The system-generated, unique 17-digit ID of the file system.
*
*/
private String fileSystemId;
/**
*
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
*
*/
private String fileSystemType;
/**
*
* The lifecycle status of the file system, following are the possible values and what they mean:
*
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a new file
* system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
*
*/
private String lifecycle;
private FileSystemFailureDetails failureDetails;
/**
*
* The storage capacity of the file system in gigabytes (GB).
*
*/
private Integer storageCapacity;
/**
*
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file system
* uses hard disk drive storage.
*
*/
private String storageType;
/**
*
* The ID of the primary VPC for the file system.
*
*/
private String vpcId;
/**
*
* Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1
* file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby
* file server. The preferred file server subnet identified in the PreferredSubnetID
property. All
* other file systems have only one subnet ID.
*
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the
* endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the file system
* is available in the PreferredSubnetID
.
*
*/
private java.util.List subnetIds;
/**
*
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic network
* interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more
* information, see Elastic Network
* Interfaces in the Amazon EC2 User Guide.
*
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx
* for Lustre file system, you can have more than one.
*
*/
private java.util.List networkInterfaceIds;
/**
*
* The DNS name for the file system.
*
*/
private String dNSName;
/**
*
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for
* Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In either case, if
* not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always
* encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*
*/
private String kmsKeyId;
/**
*
* The Amazon Resource Name (ARN) for the file system resource.
*
*/
private String resourceARN;
/**
*
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources
* in the Amazon EC2 User Guide.
*
*/
private java.util.List tags;
/**
*
* The configuration for this Microsoft Windows file system.
*
*/
private WindowsFileSystemConfiguration windowsConfiguration;
private LustreFileSystemConfiguration lustreConfiguration;
/**
*
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*
*
* @param ownerId
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*/
public void setOwnerId(String ownerId) {
this.ownerId = ownerId;
}
/**
*
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*
*
* @return The AWS account that created the file system. If the file system was created by an AWS Identity and
* Access Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*/
public String getOwnerId() {
return this.ownerId;
}
/**
*
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
*
*
* @param ownerId
* The AWS account that created the file system. If the file system was created by an AWS Identity and Access
* Management (IAM) user, the AWS account to which the IAM user belongs is the owner.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withOwnerId(String ownerId) {
setOwnerId(ownerId);
return this;
}
/**
*
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.
*
*
* @param creationTime
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix
* time.
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
*
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.
*
*
* @return The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix
* time.
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
*
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.
*
*
* @param creationTime
* The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix
* time.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
*
* The system-generated, unique 17-digit ID of the file system.
*
*
* @param fileSystemId
* The system-generated, unique 17-digit ID of the file system.
*/
public void setFileSystemId(String fileSystemId) {
this.fileSystemId = fileSystemId;
}
/**
*
* The system-generated, unique 17-digit ID of the file system.
*
*
* @return The system-generated, unique 17-digit ID of the file system.
*/
public String getFileSystemId() {
return this.fileSystemId;
}
/**
*
* The system-generated, unique 17-digit ID of the file system.
*
*
* @param fileSystemId
* The system-generated, unique 17-digit ID of the file system.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withFileSystemId(String fileSystemId) {
setFileSystemId(fileSystemId);
return this;
}
/**
*
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
*
*
* @param fileSystemType
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
* @see FileSystemType
*/
public void setFileSystemType(String fileSystemType) {
this.fileSystemType = fileSystemType;
}
/**
*
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
*
*
* @return The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
* @see FileSystemType
*/
public String getFileSystemType() {
return this.fileSystemType;
}
/**
*
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
*
*
* @param fileSystemType
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FileSystemType
*/
public FileSystem withFileSystemType(String fileSystemType) {
setFileSystemType(fileSystemType);
return this;
}
/**
*
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
*
*
* @param fileSystemType
* The type of Amazon FSx file system, either LUSTRE
or WINDOWS
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FileSystemType
*/
public FileSystem withFileSystemType(FileSystemType fileSystemType) {
this.fileSystemType = fileSystemType.toString();
return this;
}
/**
*
* The lifecycle status of the file system, following are the possible values and what they mean:
*
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a new file
* system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
*
*
* @param lifecycle
* The lifecycle status of the file system, following are the possible values and what they mean:
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a
* new file system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
* @see FileSystemLifecycle
*/
public void setLifecycle(String lifecycle) {
this.lifecycle = lifecycle;
}
/**
*
* The lifecycle status of the file system, following are the possible values and what they mean:
*
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a new file
* system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
*
*
* @return The lifecycle status of the file system, following are the possible values and what they mean:
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a
* new file system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
* @see FileSystemLifecycle
*/
public String getLifecycle() {
return this.lifecycle;
}
/**
*
* The lifecycle status of the file system, following are the possible values and what they mean:
*
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a new file
* system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
*
*
* @param lifecycle
* The lifecycle status of the file system, following are the possible values and what they mean:
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a
* new file system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see FileSystemLifecycle
*/
public FileSystem withLifecycle(String lifecycle) {
setLifecycle(lifecycle);
return this;
}
/**
*
* The lifecycle status of the file system, following are the possible values and what they mean:
*
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a new file
* system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
*
*
* @param lifecycle
* The lifecycle status of the file system, following are the possible values and what they mean:
*
* -
*
* AVAILABLE
- The file system is in a healthy state, and is reachable and available for use.
*
*
* -
*
* CREATING
- Amazon FSx is creating the new file system.
*
*
* -
*
* DELETING
- Amazon FSx is deleting an existing file system.
*
*
* -
*
* FAILED
- An existing file system has experienced an unrecoverable failure. When creating a
* new file system, Amazon FSx was unable to create the file system.
*
*
* -
*
* MISCONFIGURED
indicates that the file system is in a failed but recoverable state.
*
*
* -
*
* UPDATING
indicates that the file system is undergoing a customer initiated update.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see FileSystemLifecycle
*/
public FileSystem withLifecycle(FileSystemLifecycle lifecycle) {
this.lifecycle = lifecycle.toString();
return this;
}
/**
* @param failureDetails
*/
public void setFailureDetails(FileSystemFailureDetails failureDetails) {
this.failureDetails = failureDetails;
}
/**
* @return
*/
public FileSystemFailureDetails getFailureDetails() {
return this.failureDetails;
}
/**
* @param failureDetails
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withFailureDetails(FileSystemFailureDetails failureDetails) {
setFailureDetails(failureDetails);
return this;
}
/**
*
* The storage capacity of the file system in gigabytes (GB).
*
*
* @param storageCapacity
* The storage capacity of the file system in gigabytes (GB).
*/
public void setStorageCapacity(Integer storageCapacity) {
this.storageCapacity = storageCapacity;
}
/**
*
* The storage capacity of the file system in gigabytes (GB).
*
*
* @return The storage capacity of the file system in gigabytes (GB).
*/
public Integer getStorageCapacity() {
return this.storageCapacity;
}
/**
*
* The storage capacity of the file system in gigabytes (GB).
*
*
* @param storageCapacity
* The storage capacity of the file system in gigabytes (GB).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withStorageCapacity(Integer storageCapacity) {
setStorageCapacity(storageCapacity);
return this;
}
/**
*
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file system
* uses hard disk drive storage.
*
*
* @param storageType
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file
* system uses hard disk drive storage.
* @see StorageType
*/
public void setStorageType(String storageType) {
this.storageType = storageType;
}
/**
*
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file system
* uses hard disk drive storage.
*
*
* @return The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file
* system uses hard disk drive storage.
* @see StorageType
*/
public String getStorageType() {
return this.storageType;
}
/**
*
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file system
* uses hard disk drive storage.
*
*
* @param storageType
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file
* system uses hard disk drive storage.
* @return Returns a reference to this object so that method calls can be chained together.
* @see StorageType
*/
public FileSystem withStorageType(String storageType) {
setStorageType(storageType);
return this;
}
/**
*
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file system
* uses hard disk drive storage.
*
*
* @param storageType
* The storage type of the file system. Valid values are SSD
and HDD
. If set to
* SSD
, the file system uses solid state drive storage. If set to HDD
, the file
* system uses hard disk drive storage.
* @return Returns a reference to this object so that method calls can be chained together.
* @see StorageType
*/
public FileSystem withStorageType(StorageType storageType) {
this.storageType = storageType.toString();
return this;
}
/**
*
* The ID of the primary VPC for the file system.
*
*
* @param vpcId
* The ID of the primary VPC for the file system.
*/
public void setVpcId(String vpcId) {
this.vpcId = vpcId;
}
/**
*
* The ID of the primary VPC for the file system.
*
*
* @return The ID of the primary VPC for the file system.
*/
public String getVpcId() {
return this.vpcId;
}
/**
*
* The ID of the primary VPC for the file system.
*
*
* @param vpcId
* The ID of the primary VPC for the file system.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withVpcId(String vpcId) {
setVpcId(vpcId);
return this;
}
/**
*
* Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1
* file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby
* file server. The preferred file server subnet identified in the PreferredSubnetID
property. All
* other file systems have only one subnet ID.
*
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the
* endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the file system
* is available in the PreferredSubnetID
.
*
*
* @return Specifies the IDs of the subnets that the file system is accessible from. For Windows
* MULTI_AZ_1
file system deployment type, there are two subnet IDs, one for the preferred file
* server and one for the standby file server. The preferred file server subnet identified in the
* PreferredSubnetID
property. All other file systems have only one subnet ID.
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains
* the endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the
* file system is available in the PreferredSubnetID
.
*/
public java.util.List getSubnetIds() {
return subnetIds;
}
/**
*
* Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1
* file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby
* file server. The preferred file server subnet identified in the PreferredSubnetID
property. All
* other file systems have only one subnet ID.
*
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the
* endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the file system
* is available in the PreferredSubnetID
.
*
*
* @param subnetIds
* Specifies the IDs of the subnets that the file system is accessible from. For Windows
* MULTI_AZ_1
file system deployment type, there are two subnet IDs, one for the preferred file
* server and one for the standby file server. The preferred file server subnet identified in the
* PreferredSubnetID
property. All other file systems have only one subnet ID.
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains
* the endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the
* file system is available in the PreferredSubnetID
.
*/
public void setSubnetIds(java.util.Collection subnetIds) {
if (subnetIds == null) {
this.subnetIds = null;
return;
}
this.subnetIds = new java.util.ArrayList(subnetIds);
}
/**
*
* Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1
* file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby
* file server. The preferred file server subnet identified in the PreferredSubnetID
property. All
* other file systems have only one subnet ID.
*
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the
* endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the file system
* is available in the PreferredSubnetID
.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param subnetIds
* Specifies the IDs of the subnets that the file system is accessible from. For Windows
* MULTI_AZ_1
file system deployment type, there are two subnet IDs, one for the preferred file
* server and one for the standby file server. The preferred file server subnet identified in the
* PreferredSubnetID
property. All other file systems have only one subnet ID.
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains
* the endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the
* file system is available in the PreferredSubnetID
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withSubnetIds(String... subnetIds) {
if (this.subnetIds == null) {
setSubnetIds(new java.util.ArrayList(subnetIds.length));
}
for (String ele : subnetIds) {
this.subnetIds.add(ele);
}
return this;
}
/**
*
* Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1
* file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby
* file server. The preferred file server subnet identified in the PreferredSubnetID
property. All
* other file systems have only one subnet ID.
*
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the
* endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the file system
* is available in the PreferredSubnetID
.
*
*
* @param subnetIds
* Specifies the IDs of the subnets that the file system is accessible from. For Windows
* MULTI_AZ_1
file system deployment type, there are two subnet IDs, one for the preferred file
* server and one for the standby file server. The preferred file server subnet identified in the
* PreferredSubnetID
property. All other file systems have only one subnet ID.
*
* For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains
* the endpoint for the file system. For MULTI_AZ_1
Windows file systems, the endpoint for the
* file system is available in the PreferredSubnetID
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withSubnetIds(java.util.Collection subnetIds) {
setSubnetIds(subnetIds);
return this;
}
/**
*
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic network
* interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more
* information, see Elastic Network
* Interfaces in the Amazon EC2 User Guide.
*
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx
* for Lustre file system, you can have more than one.
*
*
* @return The IDs of the elastic network interface from which a specific file system is accessible. The elastic
* network interface is automatically created in the same VPC that the Amazon FSx file system was created
* in. For more information, see Elastic Network Interfaces
* in the Amazon EC2 User Guide.
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an
* Amazon FSx for Lustre file system, you can have more than one.
*/
public java.util.List getNetworkInterfaceIds() {
return networkInterfaceIds;
}
/**
*
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic network
* interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more
* information, see Elastic Network
* Interfaces in the Amazon EC2 User Guide.
*
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx
* for Lustre file system, you can have more than one.
*
*
* @param networkInterfaceIds
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic
* network interface is automatically created in the same VPC that the Amazon FSx file system was created in.
* For more information, see Elastic Network Interfaces
* in the Amazon EC2 User Guide.
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an
* Amazon FSx for Lustre file system, you can have more than one.
*/
public void setNetworkInterfaceIds(java.util.Collection networkInterfaceIds) {
if (networkInterfaceIds == null) {
this.networkInterfaceIds = null;
return;
}
this.networkInterfaceIds = new java.util.ArrayList(networkInterfaceIds);
}
/**
*
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic network
* interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more
* information, see Elastic Network
* Interfaces in the Amazon EC2 User Guide.
*
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx
* for Lustre file system, you can have more than one.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setNetworkInterfaceIds(java.util.Collection)} or {@link #withNetworkInterfaceIds(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param networkInterfaceIds
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic
* network interface is automatically created in the same VPC that the Amazon FSx file system was created in.
* For more information, see Elastic Network Interfaces
* in the Amazon EC2 User Guide.
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an
* Amazon FSx for Lustre file system, you can have more than one.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withNetworkInterfaceIds(String... networkInterfaceIds) {
if (this.networkInterfaceIds == null) {
setNetworkInterfaceIds(new java.util.ArrayList(networkInterfaceIds.length));
}
for (String ele : networkInterfaceIds) {
this.networkInterfaceIds.add(ele);
}
return this;
}
/**
*
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic network
* interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more
* information, see Elastic Network
* Interfaces in the Amazon EC2 User Guide.
*
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx
* for Lustre file system, you can have more than one.
*
*
* @param networkInterfaceIds
* The IDs of the elastic network interface from which a specific file system is accessible. The elastic
* network interface is automatically created in the same VPC that the Amazon FSx file system was created in.
* For more information, see Elastic Network Interfaces
* in the Amazon EC2 User Guide.
*
* For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an
* Amazon FSx for Lustre file system, you can have more than one.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withNetworkInterfaceIds(java.util.Collection networkInterfaceIds) {
setNetworkInterfaceIds(networkInterfaceIds);
return this;
}
/**
*
* The DNS name for the file system.
*
*
* @param dNSName
* The DNS name for the file system.
*/
public void setDNSName(String dNSName) {
this.dNSName = dNSName;
}
/**
*
* The DNS name for the file system.
*
*
* @return The DNS name for the file system.
*/
public String getDNSName() {
return this.dNSName;
}
/**
*
* The DNS name for the file system.
*
*
* @param dNSName
* The DNS name for the file system.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withDNSName(String dNSName) {
setDNSName(dNSName);
return this;
}
/**
*
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for
* Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In either case, if
* not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always
* encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*
*
* @param kmsKeyId
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon
* FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In
* either case, if not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file
* systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for
* Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In either case, if
* not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always
* encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*
*
* @return The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon
* FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In
* either case, if not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file
* systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for
* Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In either case, if
* not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always
* encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
*
*
* @param kmsKeyId
* The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon
* FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In
* either case, if not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file
* systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key
* Management Service API Reference.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withKmsKeyId(String kmsKeyId) {
setKmsKeyId(kmsKeyId);
return this;
}
/**
*
* The Amazon Resource Name (ARN) for the file system resource.
*
*
* @param resourceARN
* The Amazon Resource Name (ARN) for the file system resource.
*/
public void setResourceARN(String resourceARN) {
this.resourceARN = resourceARN;
}
/**
*
* The Amazon Resource Name (ARN) for the file system resource.
*
*
* @return The Amazon Resource Name (ARN) for the file system resource.
*/
public String getResourceARN() {
return this.resourceARN;
}
/**
*
* The Amazon Resource Name (ARN) for the file system resource.
*
*
* @param resourceARN
* The Amazon Resource Name (ARN) for the file system resource.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withResourceARN(String resourceARN) {
setResourceARN(resourceARN);
return this;
}
/**
*
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources
* in the Amazon EC2 User Guide.
*
*
* @return The tags to associate with the file system. For more information, see Tagging Your Amazon EC2
* Resources in the Amazon EC2 User Guide.
*/
public java.util.List getTags() {
return tags;
}
/**
*
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources
* in the Amazon EC2 User Guide.
*
*
* @param tags
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2
* Resources in the Amazon EC2 User Guide.
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(tags);
}
/**
*
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources
* in the Amazon EC2 User Guide.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param tags
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2
* Resources in the Amazon EC2 User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources
* in the Amazon EC2 User Guide.
*
*
* @param tags
* The tags to associate with the file system. For more information, see Tagging Your Amazon EC2
* Resources in the Amazon EC2 User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
*
* The configuration for this Microsoft Windows file system.
*
*
* @param windowsConfiguration
* The configuration for this Microsoft Windows file system.
*/
public void setWindowsConfiguration(WindowsFileSystemConfiguration windowsConfiguration) {
this.windowsConfiguration = windowsConfiguration;
}
/**
*
* The configuration for this Microsoft Windows file system.
*
*
* @return The configuration for this Microsoft Windows file system.
*/
public WindowsFileSystemConfiguration getWindowsConfiguration() {
return this.windowsConfiguration;
}
/**
*
* The configuration for this Microsoft Windows file system.
*
*
* @param windowsConfiguration
* The configuration for this Microsoft Windows file system.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withWindowsConfiguration(WindowsFileSystemConfiguration windowsConfiguration) {
setWindowsConfiguration(windowsConfiguration);
return this;
}
/**
* @param lustreConfiguration
*/
public void setLustreConfiguration(LustreFileSystemConfiguration lustreConfiguration) {
this.lustreConfiguration = lustreConfiguration;
}
/**
* @return
*/
public LustreFileSystemConfiguration getLustreConfiguration() {
return this.lustreConfiguration;
}
/**
* @param lustreConfiguration
* @return Returns a reference to this object so that method calls can be chained together.
*/
public FileSystem withLustreConfiguration(LustreFileSystemConfiguration lustreConfiguration) {
setLustreConfiguration(lustreConfiguration);
return this;
}
/**
* 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.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getOwnerId() != null)
sb.append("OwnerId: ").append(getOwnerId()).append(",");
if (getCreationTime() != null)
sb.append("CreationTime: ").append(getCreationTime()).append(",");
if (getFileSystemId() != null)
sb.append("FileSystemId: ").append(getFileSystemId()).append(",");
if (getFileSystemType() != null)
sb.append("FileSystemType: ").append(getFileSystemType()).append(",");
if (getLifecycle() != null)
sb.append("Lifecycle: ").append(getLifecycle()).append(",");
if (getFailureDetails() != null)
sb.append("FailureDetails: ").append(getFailureDetails()).append(",");
if (getStorageCapacity() != null)
sb.append("StorageCapacity: ").append(getStorageCapacity()).append(",");
if (getStorageType() != null)
sb.append("StorageType: ").append(getStorageType()).append(",");
if (getVpcId() != null)
sb.append("VpcId: ").append(getVpcId()).append(",");
if (getSubnetIds() != null)
sb.append("SubnetIds: ").append(getSubnetIds()).append(",");
if (getNetworkInterfaceIds() != null)
sb.append("NetworkInterfaceIds: ").append(getNetworkInterfaceIds()).append(",");
if (getDNSName() != null)
sb.append("DNSName: ").append(getDNSName()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getResourceARN() != null)
sb.append("ResourceARN: ").append(getResourceARN()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getWindowsConfiguration() != null)
sb.append("WindowsConfiguration: ").append(getWindowsConfiguration()).append(",");
if (getLustreConfiguration() != null)
sb.append("LustreConfiguration: ").append(getLustreConfiguration());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof FileSystem == false)
return false;
FileSystem other = (FileSystem) obj;
if (other.getOwnerId() == null ^ this.getOwnerId() == null)
return false;
if (other.getOwnerId() != null && other.getOwnerId().equals(this.getOwnerId()) == false)
return false;
if (other.getCreationTime() == null ^ this.getCreationTime() == null)
return false;
if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false)
return false;
if (other.getFileSystemId() == null ^ this.getFileSystemId() == null)
return false;
if (other.getFileSystemId() != null && other.getFileSystemId().equals(this.getFileSystemId()) == false)
return false;
if (other.getFileSystemType() == null ^ this.getFileSystemType() == null)
return false;
if (other.getFileSystemType() != null && other.getFileSystemType().equals(this.getFileSystemType()) == false)
return false;
if (other.getLifecycle() == null ^ this.getLifecycle() == null)
return false;
if (other.getLifecycle() != null && other.getLifecycle().equals(this.getLifecycle()) == false)
return false;
if (other.getFailureDetails() == null ^ this.getFailureDetails() == null)
return false;
if (other.getFailureDetails() != null && other.getFailureDetails().equals(this.getFailureDetails()) == false)
return false;
if (other.getStorageCapacity() == null ^ this.getStorageCapacity() == null)
return false;
if (other.getStorageCapacity() != null && other.getStorageCapacity().equals(this.getStorageCapacity()) == false)
return false;
if (other.getStorageType() == null ^ this.getStorageType() == null)
return false;
if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false)
return false;
if (other.getVpcId() == null ^ this.getVpcId() == null)
return false;
if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false)
return false;
if (other.getSubnetIds() == null ^ this.getSubnetIds() == null)
return false;
if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false)
return false;
if (other.getNetworkInterfaceIds() == null ^ this.getNetworkInterfaceIds() == null)
return false;
if (other.getNetworkInterfaceIds() != null && other.getNetworkInterfaceIds().equals(this.getNetworkInterfaceIds()) == false)
return false;
if (other.getDNSName() == null ^ this.getDNSName() == null)
return false;
if (other.getDNSName() != null && other.getDNSName().equals(this.getDNSName()) == false)
return false;
if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null)
return false;
if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false)
return false;
if (other.getResourceARN() == null ^ this.getResourceARN() == null)
return false;
if (other.getResourceARN() != null && other.getResourceARN().equals(this.getResourceARN()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getWindowsConfiguration() == null ^ this.getWindowsConfiguration() == null)
return false;
if (other.getWindowsConfiguration() != null && other.getWindowsConfiguration().equals(this.getWindowsConfiguration()) == false)
return false;
if (other.getLustreConfiguration() == null ^ this.getLustreConfiguration() == null)
return false;
if (other.getLustreConfiguration() != null && other.getLustreConfiguration().equals(this.getLustreConfiguration()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getOwnerId() == null) ? 0 : getOwnerId().hashCode());
hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
hashCode = prime * hashCode + ((getFileSystemId() == null) ? 0 : getFileSystemId().hashCode());
hashCode = prime * hashCode + ((getFileSystemType() == null) ? 0 : getFileSystemType().hashCode());
hashCode = prime * hashCode + ((getLifecycle() == null) ? 0 : getLifecycle().hashCode());
hashCode = prime * hashCode + ((getFailureDetails() == null) ? 0 : getFailureDetails().hashCode());
hashCode = prime * hashCode + ((getStorageCapacity() == null) ? 0 : getStorageCapacity().hashCode());
hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode());
hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode());
hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode());
hashCode = prime * hashCode + ((getNetworkInterfaceIds() == null) ? 0 : getNetworkInterfaceIds().hashCode());
hashCode = prime * hashCode + ((getDNSName() == null) ? 0 : getDNSName().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getResourceARN() == null) ? 0 : getResourceARN().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getWindowsConfiguration() == null) ? 0 : getWindowsConfiguration().hashCode());
hashCode = prime * hashCode + ((getLustreConfiguration() == null) ? 0 : getLustreConfiguration().hashCode());
return hashCode;
}
@Override
public FileSystem clone() {
try {
return (FileSystem) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.fsx.model.transform.FileSystemMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}