/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A description of a specific Amazon File Cache resource, which is a response
* object from the DescribeFileCaches operation.See
* Also:
AWS API
* Reference
The system-generated, unique ID of the cache.
*/ inline const Aws::String& GetFileCacheId() const{ return m_fileCacheId; } /** *The system-generated, unique ID of the cache.
*/ inline bool FileCacheIdHasBeenSet() const { return m_fileCacheIdHasBeenSet; } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(const Aws::String& value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId = value; } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(Aws::String&& value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId = std::move(value); } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(const char* value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId.assign(value); } /** *The system-generated, unique ID of the cache.
*/ inline FileCache& WithFileCacheId(const Aws::String& value) { SetFileCacheId(value); return *this;} /** *The system-generated, unique ID of the cache.
*/ inline FileCache& WithFileCacheId(Aws::String&& value) { SetFileCacheId(std::move(value)); return *this;} /** *The system-generated, unique ID of the cache.
*/ inline FileCache& WithFileCacheId(const char* value) { SetFileCacheId(value); return *this;} /** *The type of cache, which must be LUSTRE.
The type of cache, which must be LUSTRE.
The type of cache, which must be LUSTRE.
The type of cache, which must be LUSTRE.
The type of cache, which must be LUSTRE.
The type of cache, which must be LUSTRE.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The Lustre version of the cache, which must be 2.12.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
The lifecycle status of the cache. The following are the possible values and * what they mean:
AVAILABLE - The cache is in a
* healthy state, and is reachable and available for use.
* CREATING - The new cache is being created.
* DELETING - An existing cache is being deleted.
* UPDATING - The cache is undergoing a customer-initiated update.
FAILED - An existing cache has experienced an
* unrecoverable failure. When creating a new cache, the cache was unable to be
* created.
A structure providing details of any failures that occurred.
*/ inline const FileCacheFailureDetails& GetFailureDetails() const{ return m_failureDetails; } /** *A structure providing details of any failures that occurred.
*/ inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; } /** *A structure providing details of any failures that occurred.
*/ inline void SetFailureDetails(const FileCacheFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; } /** *A structure providing details of any failures that occurred.
*/ inline void SetFailureDetails(FileCacheFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); } /** *A structure providing details of any failures that occurred.
*/ inline FileCache& WithFailureDetails(const FileCacheFailureDetails& value) { SetFailureDetails(value); return *this;} /** *A structure providing details of any failures that occurred.
*/ inline FileCache& WithFailureDetails(FileCacheFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;} /** *The storage capacity of the cache in gibibytes (GiB).
*/ inline int GetStorageCapacity() const{ return m_storageCapacity; } /** *The storage capacity of the cache in gibibytes (GiB).
*/ inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; } /** *The storage capacity of the cache in gibibytes (GiB).
*/ inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; } /** *The storage capacity of the cache in gibibytes (GiB).
*/ inline FileCache& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;} inline const Aws::String& GetVpcId() const{ return m_vpcId; } inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } inline FileCache& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} inline FileCache& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} inline FileCache& WithVpcId(const char* value) { SetVpcId(value); return *this;} inline const Aws::VectorThe Domain Name System (DNS) name for the cache.
*/ inline const Aws::String& GetDNSName() const{ return m_dNSName; } /** *The Domain Name System (DNS) name for the cache.
*/ inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; } /** *The Domain Name System (DNS) name for the cache.
*/ inline void SetDNSName(const Aws::String& value) { m_dNSNameHasBeenSet = true; m_dNSName = value; } /** *The Domain Name System (DNS) name for the cache.
*/ inline void SetDNSName(Aws::String&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::move(value); } /** *The Domain Name System (DNS) name for the cache.
*/ inline void SetDNSName(const char* value) { m_dNSNameHasBeenSet = true; m_dNSName.assign(value); } /** *The Domain Name System (DNS) name for the cache.
*/ inline FileCache& WithDNSName(const Aws::String& value) { SetDNSName(value); return *this;} /** *The Domain Name System (DNS) name for the cache.
*/ inline FileCache& WithDNSName(Aws::String&& value) { SetDNSName(std::move(value)); return *this;} /** *The Domain Name System (DNS) name for the cache.
*/ inline FileCache& WithDNSName(const char* value) { SetDNSName(value); return *this;} /** *Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
Specifies the ID of the Key Management Service (KMS) key to use for
* encrypting data on an Amazon File Cache. If a KmsKeyId isn't
* specified, the Amazon FSx-managed KMS key for your account is used. For more
* information, see Encrypt
* in the Key Management Service API Reference.
The configuration for the Amazon File Cache resource.
*/ inline const FileCacheLustreConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; } /** *The configuration for the Amazon File Cache resource.
*/ inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; } /** *The configuration for the Amazon File Cache resource.
*/ inline void SetLustreConfiguration(const FileCacheLustreConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; } /** *The configuration for the Amazon File Cache resource.
*/ inline void SetLustreConfiguration(FileCacheLustreConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); } /** *The configuration for the Amazon File Cache resource.
*/ inline FileCache& WithLustreConfiguration(const FileCacheLustreConfiguration& value) { SetLustreConfiguration(value); return *this;} /** *The configuration for the Amazon File Cache resource.
*/ inline FileCache& WithLustreConfiguration(FileCacheLustreConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;} /** *A list of IDs of data repository associations that are associated with this * cache.
*/ inline const Aws::VectorA list of IDs of data repository associations that are associated with this * cache.
*/ inline bool DataRepositoryAssociationIdsHasBeenSet() const { return m_dataRepositoryAssociationIdsHasBeenSet; } /** *A list of IDs of data repository associations that are associated with this * cache.
*/ inline void SetDataRepositoryAssociationIds(const Aws::VectorA list of IDs of data repository associations that are associated with this * cache.
*/ inline void SetDataRepositoryAssociationIds(Aws::VectorA list of IDs of data repository associations that are associated with this * cache.
*/ inline FileCache& WithDataRepositoryAssociationIds(const Aws::VectorA list of IDs of data repository associations that are associated with this * cache.
*/ inline FileCache& WithDataRepositoryAssociationIds(Aws::VectorA list of IDs of data repository associations that are associated with this * cache.
*/ inline FileCache& AddDataRepositoryAssociationIds(const Aws::String& value) { m_dataRepositoryAssociationIdsHasBeenSet = true; m_dataRepositoryAssociationIds.push_back(value); return *this; } /** *A list of IDs of data repository associations that are associated with this * cache.
*/ inline FileCache& AddDataRepositoryAssociationIds(Aws::String&& value) { m_dataRepositoryAssociationIdsHasBeenSet = true; m_dataRepositoryAssociationIds.push_back(std::move(value)); return *this; } /** *A list of IDs of data repository associations that are associated with this * cache.
*/ inline FileCache& AddDataRepositoryAssociationIds(const char* value) { m_dataRepositoryAssociationIdsHasBeenSet = true; m_dataRepositoryAssociationIds.push_back(value); return *this; } private: Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::String m_fileCacheId; bool m_fileCacheIdHasBeenSet = false; FileCacheType m_fileCacheType; bool m_fileCacheTypeHasBeenSet = false; Aws::String m_fileCacheTypeVersion; bool m_fileCacheTypeVersionHasBeenSet = false; FileCacheLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; FileCacheFailureDetails m_failureDetails; bool m_failureDetailsHasBeenSet = false; int m_storageCapacity; bool m_storageCapacityHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Vector