feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,141 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The Microsoft AD attributes of the Amazon FSx for Windows File Server file
* system.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ActiveDirectoryBackupAttributes">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ActiveDirectoryBackupAttributes
{
public:
ActiveDirectoryBackupAttributes();
ActiveDirectoryBackupAttributes(Aws::Utils::Json::JsonView jsonValue);
ActiveDirectoryBackupAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline ActiveDirectoryBackupAttributes& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline ActiveDirectoryBackupAttributes& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline ActiveDirectoryBackupAttributes& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; }
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; }
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline void SetActiveDirectoryId(const Aws::String& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = value; }
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline void SetActiveDirectoryId(Aws::String&& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = std::move(value); }
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline void SetActiveDirectoryId(const char* value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId.assign(value); }
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline ActiveDirectoryBackupAttributes& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;}
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline ActiveDirectoryBackupAttributes& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;}
/**
* <p>The ID of the AWS Managed Microsoft Active Directory instance to which the
* file system is joined.</p>
*/
inline ActiveDirectoryBackupAttributes& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
Aws::String m_activeDirectoryId;
bool m_activeDirectoryIdHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,151 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/ActiveDirectoryErrorType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>An Active Directory error.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ActiveDirectoryError">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ActiveDirectoryError
{
public:
ActiveDirectoryError();
ActiveDirectoryError(Aws::Utils::Json::JsonView jsonValue);
ActiveDirectoryError& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; }
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; }
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline void SetActiveDirectoryId(const Aws::String& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = value; }
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline void SetActiveDirectoryId(Aws::String&& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = std::move(value); }
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline void SetActiveDirectoryId(const char* value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId.assign(value); }
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline ActiveDirectoryError& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;}
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline ActiveDirectoryError& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;}
/**
* <p>The directory ID of the directory that an error pertains to.</p>
*/
inline ActiveDirectoryError& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;}
/**
* <p>The type of Active Directory error.</p>
*/
inline const ActiveDirectoryErrorType& GetType() const{ return m_type; }
/**
* <p>The type of Active Directory error.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of Active Directory error.</p>
*/
inline void SetType(const ActiveDirectoryErrorType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of Active Directory error.</p>
*/
inline void SetType(ActiveDirectoryErrorType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of Active Directory error.</p>
*/
inline ActiveDirectoryError& WithType(const ActiveDirectoryErrorType& value) { SetType(value); return *this;}
/**
* <p>The type of Active Directory error.</p>
*/
inline ActiveDirectoryError& WithType(ActiveDirectoryErrorType&& value) { SetType(std::move(value)); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline ActiveDirectoryError& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline ActiveDirectoryError& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline ActiveDirectoryError& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_activeDirectoryId;
bool m_activeDirectoryIdHasBeenSet;
ActiveDirectoryErrorType m_type;
bool m_typeHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class ActiveDirectoryErrorType
{
NOT_SET,
DOMAIN_NOT_FOUND,
INCOMPATIBLE_DOMAIN_MODE,
WRONG_VPC,
INVALID_DOMAIN_STAGE
};
namespace ActiveDirectoryErrorTypeMapper
{
AWS_FSX_API ActiveDirectoryErrorType GetActiveDirectoryErrorTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForActiveDirectoryErrorType(ActiveDirectoryErrorType value);
} // namespace ActiveDirectoryErrorTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,307 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/AdministrativeActionType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/fsx/model/Status.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeActionFailureDetails.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Describes a specific Amazon FSx Administrative Action for the current Windows
* file system.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/AdministrativeAction">AWS
* API Reference</a></p>
*/
class AWS_FSX_API AdministrativeAction
{
public:
AdministrativeAction();
AdministrativeAction(Aws::Utils::Json::JsonView jsonValue);
AdministrativeAction& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const AdministrativeActionType& GetAdministrativeActionType() const{ return m_administrativeActionType; }
inline bool AdministrativeActionTypeHasBeenSet() const { return m_administrativeActionTypeHasBeenSet; }
inline void SetAdministrativeActionType(const AdministrativeActionType& value) { m_administrativeActionTypeHasBeenSet = true; m_administrativeActionType = value; }
inline void SetAdministrativeActionType(AdministrativeActionType&& value) { m_administrativeActionTypeHasBeenSet = true; m_administrativeActionType = std::move(value); }
inline AdministrativeAction& WithAdministrativeActionType(const AdministrativeActionType& value) { SetAdministrativeActionType(value); return *this;}
inline AdministrativeAction& WithAdministrativeActionType(AdministrativeActionType&& value) { SetAdministrativeActionType(std::move(value)); return *this;}
/**
* <p>Provides the percent complete of a <code>STORAGE_OPTIMIZATION</code>
* administrative action.</p>
*/
inline int GetProgressPercent() const{ return m_progressPercent; }
/**
* <p>Provides the percent complete of a <code>STORAGE_OPTIMIZATION</code>
* administrative action.</p>
*/
inline bool ProgressPercentHasBeenSet() const { return m_progressPercentHasBeenSet; }
/**
* <p>Provides the percent complete of a <code>STORAGE_OPTIMIZATION</code>
* administrative action.</p>
*/
inline void SetProgressPercent(int value) { m_progressPercentHasBeenSet = true; m_progressPercent = value; }
/**
* <p>Provides the percent complete of a <code>STORAGE_OPTIMIZATION</code>
* administrative action.</p>
*/
inline AdministrativeAction& WithProgressPercent(int value) { SetProgressPercent(value); return *this;}
/**
* <p>Time that the administrative action request was received.</p>
*/
inline const Aws::Utils::DateTime& GetRequestTime() const{ return m_requestTime; }
/**
* <p>Time that the administrative action request was received.</p>
*/
inline bool RequestTimeHasBeenSet() const { return m_requestTimeHasBeenSet; }
/**
* <p>Time that the administrative action request was received.</p>
*/
inline void SetRequestTime(const Aws::Utils::DateTime& value) { m_requestTimeHasBeenSet = true; m_requestTime = value; }
/**
* <p>Time that the administrative action request was received.</p>
*/
inline void SetRequestTime(Aws::Utils::DateTime&& value) { m_requestTimeHasBeenSet = true; m_requestTime = std::move(value); }
/**
* <p>Time that the administrative action request was received.</p>
*/
inline AdministrativeAction& WithRequestTime(const Aws::Utils::DateTime& value) { SetRequestTime(value); return *this;}
/**
* <p>Time that the administrative action request was received.</p>
*/
inline AdministrativeAction& WithRequestTime(Aws::Utils::DateTime&& value) { SetRequestTime(std::move(value)); return *this;}
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline const Status& GetStatus() const{ return m_status; }
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline AdministrativeAction& WithStatus(const Status& value) { SetStatus(value); return *this;}
/**
* <p>Describes the status of the administrative action, as follows:</p> <ul> <li>
* <p> <code>FAILED</code> - Amazon FSx failed to process the administrative action
* successfully.</p> </li> <li> <p> <code>IN_PROGRESS</code> - Amazon FSx is
* processing the administrative action.</p> </li> <li> <p> <code>PENDING</code> -
* Amazon FSx is waiting to process the administrative action.</p> </li> <li> <p>
* <code>COMPLETED</code> - Amazon FSx has finished processing the administrative
* task.</p> </li> <li> <p> <code>UPDATED_OPTIMIZING</code> - For a storage
* capacity increase update, Amazon FSx has updated the file system with the new
* storage capacity, and is now performing the storage optimization process. For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p> </li> </ul>
*/
inline AdministrativeAction& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline const FileSystem& GetTargetFileSystemValues() const{ return m_targetFileSystemValues; }
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline bool TargetFileSystemValuesHasBeenSet() const { return m_targetFileSystemValuesHasBeenSet; }
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline void SetTargetFileSystemValues(const FileSystem& value) { m_targetFileSystemValuesHasBeenSet = true; m_targetFileSystemValues = value; }
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline void SetTargetFileSystemValues(FileSystem&& value) { m_targetFileSystemValuesHasBeenSet = true; m_targetFileSystemValues = std::move(value); }
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline AdministrativeAction& WithTargetFileSystemValues(const FileSystem& value) { SetTargetFileSystemValues(value); return *this;}
/**
* <p>Describes the target <code>StorageCapacity</code> or
* <code>ThroughputCapacity</code> value provided in the
* <code>UpdateFileSystem</code> operation. Returned for
* <code>FILE_SYSTEM_UPDATE</code> administrative actions. </p>
*/
inline AdministrativeAction& WithTargetFileSystemValues(FileSystem&& value) { SetTargetFileSystemValues(std::move(value)); return *this;}
inline const AdministrativeActionFailureDetails& GetFailureDetails() const{ return m_failureDetails; }
inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; }
inline void SetFailureDetails(const AdministrativeActionFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; }
inline void SetFailureDetails(AdministrativeActionFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); }
inline AdministrativeAction& WithFailureDetails(const AdministrativeActionFailureDetails& value) { SetFailureDetails(value); return *this;}
inline AdministrativeAction& WithFailureDetails(AdministrativeActionFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;}
private:
AdministrativeActionType m_administrativeActionType;
bool m_administrativeActionTypeHasBeenSet;
int m_progressPercent;
bool m_progressPercentHasBeenSet;
Aws::Utils::DateTime m_requestTime;
bool m_requestTimeHasBeenSet;
Status m_status;
bool m_statusHasBeenSet;
FileSystem m_targetFileSystemValues;
bool m_targetFileSystemValuesHasBeenSet;
AdministrativeActionFailureDetails m_failureDetails;
bool m_failureDetailsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Provides information about a failed administrative action.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/AdministrativeActionFailureDetails">AWS
* API Reference</a></p>
*/
class AWS_FSX_API AdministrativeActionFailureDetails
{
public:
AdministrativeActionFailureDetails();
AdministrativeActionFailureDetails(Aws::Utils::Json::JsonView jsonValue);
AdministrativeActionFailureDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Error message providing details about the failure.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>Error message providing details about the failure.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>Error message providing details about the failure.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>Error message providing details about the failure.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>Error message providing details about the failure.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>Error message providing details about the failure.</p>
*/
inline AdministrativeActionFailureDetails& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>Error message providing details about the failure.</p>
*/
inline AdministrativeActionFailureDetails& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>Error message providing details about the failure.</p>
*/
inline AdministrativeActionFailureDetails& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class AdministrativeActionType
{
NOT_SET,
FILE_SYSTEM_UPDATE,
STORAGE_OPTIMIZATION
};
namespace AdministrativeActionTypeMapper
{
AWS_FSX_API AdministrativeActionType GetAdministrativeActionTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForAdministrativeActionType(AdministrativeActionType value);
} // namespace AdministrativeActionTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class AutoImportPolicyType
{
NOT_SET,
NONE,
NEW_,
NEW_CHANGED
};
namespace AutoImportPolicyTypeMapper
{
AWS_FSX_API AutoImportPolicyType GetAutoImportPolicyTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForAutoImportPolicyType(AutoImportPolicyType value);
} // namespace AutoImportPolicyTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,505 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/BackupLifecycle.h>
#include <aws/fsx/model/BackupFailureDetails.h>
#include <aws/fsx/model/BackupType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeAction.h>
#include <aws/fsx/model/ActiveDirectoryBackupAttributes.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>A backup of an Amazon FSx for file system.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/Backup">AWS API
* Reference</a></p>
*/
class AWS_FSX_API Backup
{
public:
Backup();
Backup(Aws::Utils::Json::JsonView jsonValue);
Backup& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID of the backup.</p>
*/
inline const Aws::String& GetBackupId() const{ return m_backupId; }
/**
* <p>The ID of the backup.</p>
*/
inline bool BackupIdHasBeenSet() const { return m_backupIdHasBeenSet; }
/**
* <p>The ID of the backup.</p>
*/
inline void SetBackupId(const Aws::String& value) { m_backupIdHasBeenSet = true; m_backupId = value; }
/**
* <p>The ID of the backup.</p>
*/
inline void SetBackupId(Aws::String&& value) { m_backupIdHasBeenSet = true; m_backupId = std::move(value); }
/**
* <p>The ID of the backup.</p>
*/
inline void SetBackupId(const char* value) { m_backupIdHasBeenSet = true; m_backupId.assign(value); }
/**
* <p>The ID of the backup.</p>
*/
inline Backup& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;}
/**
* <p>The ID of the backup.</p>
*/
inline Backup& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;}
/**
* <p>The ID of the backup.</p>
*/
inline Backup& WithBackupId(const char* value) { SetBackupId(value); return *this;}
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline const BackupLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline void SetLifecycle(const BackupLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; }
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline void SetLifecycle(BackupLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); }
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline Backup& WithLifecycle(const BackupLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>The lifecycle status of the backup.</p> <ul> <li> <p> <code>AVAILABLE</code>
* - The backup is fully available.</p> </li> <li> <p> <code>CREATING</code> - FSx
* is creating the backup.</p> </li> <li> <p> <code>TRANSFERRING</code> - For
* Lustre file systems only; FSx is transferring the backup to S3.</p> </li> <li>
* <p> <code>DELETED</code> - The backup was deleted is no longer available.</p>
* </li> <li> <p> <code>FAILED</code> - Amazon FSx could not complete the
* backup.</p> </li> </ul>
*/
inline Backup& WithLifecycle(BackupLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline const BackupFailureDetails& GetFailureDetails() const{ return m_failureDetails; }
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; }
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline void SetFailureDetails(const BackupFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; }
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline void SetFailureDetails(BackupFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); }
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline Backup& WithFailureDetails(const BackupFailureDetails& value) { SetFailureDetails(value); return *this;}
/**
* <p>Details explaining any failures that occur when creating a backup.</p>
*/
inline Backup& WithFailureDetails(BackupFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;}
/**
* <p>The type of the file system backup.</p>
*/
inline const BackupType& GetType() const{ return m_type; }
/**
* <p>The type of the file system backup.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of the file system backup.</p>
*/
inline void SetType(const BackupType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of the file system backup.</p>
*/
inline void SetType(BackupType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of the file system backup.</p>
*/
inline Backup& WithType(const BackupType& value) { SetType(value); return *this;}
/**
* <p>The type of the file system backup.</p>
*/
inline Backup& WithType(BackupType&& value) { SetType(std::move(value)); return *this;}
inline int GetProgressPercent() const{ return m_progressPercent; }
inline bool ProgressPercentHasBeenSet() const { return m_progressPercentHasBeenSet; }
inline void SetProgressPercent(int value) { m_progressPercentHasBeenSet = true; m_progressPercent = value; }
inline Backup& WithProgressPercent(int value) { SetProgressPercent(value); return *this;}
/**
* <p>The time when a particular backup was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>The time when a particular backup was created.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>The time when a particular backup was created.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>The time when a particular backup was created.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>The time when a particular backup was created.</p>
*/
inline Backup& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>The time when a particular backup was created.</p>
*/
inline Backup& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline Backup& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline Backup& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
/**
* <p>The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the
* backup of the Amazon FSx file system's data at rest. </p>
*/
inline Backup& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline Backup& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline Backup& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the backup resource.</p>
*/
inline Backup& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>Tags associated with a particular file system.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>Tags associated with a particular file system.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>Tags associated with a particular file system.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>Tags associated with a particular file system.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>Tags associated with a particular file system.</p>
*/
inline Backup& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>Tags associated with a particular file system.</p>
*/
inline Backup& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>Tags associated with a particular file system.</p>
*/
inline Backup& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>Tags associated with a particular file system.</p>
*/
inline Backup& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline const FileSystem& GetFileSystem() const{ return m_fileSystem; }
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline bool FileSystemHasBeenSet() const { return m_fileSystemHasBeenSet; }
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline void SetFileSystem(const FileSystem& value) { m_fileSystemHasBeenSet = true; m_fileSystem = value; }
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline void SetFileSystem(FileSystem&& value) { m_fileSystemHasBeenSet = true; m_fileSystem = std::move(value); }
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline Backup& WithFileSystem(const FileSystem& value) { SetFileSystem(value); return *this;}
/**
* <p>Metadata of the file system associated with the backup. This metadata is
* persisted even if the file system is deleted.</p>
*/
inline Backup& WithFileSystem(FileSystem&& value) { SetFileSystem(std::move(value)); return *this;}
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline const ActiveDirectoryBackupAttributes& GetDirectoryInformation() const{ return m_directoryInformation; }
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline bool DirectoryInformationHasBeenSet() const { return m_directoryInformationHasBeenSet; }
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline void SetDirectoryInformation(const ActiveDirectoryBackupAttributes& value) { m_directoryInformationHasBeenSet = true; m_directoryInformation = value; }
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline void SetDirectoryInformation(ActiveDirectoryBackupAttributes&& value) { m_directoryInformationHasBeenSet = true; m_directoryInformation = std::move(value); }
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline Backup& WithDirectoryInformation(const ActiveDirectoryBackupAttributes& value) { SetDirectoryInformation(value); return *this;}
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD) to
* which the Windows File Server instance is joined.</p>
*/
inline Backup& WithDirectoryInformation(ActiveDirectoryBackupAttributes&& value) { SetDirectoryInformation(std::move(value)); return *this;}
private:
Aws::String m_backupId;
bool m_backupIdHasBeenSet;
BackupLifecycle m_lifecycle;
bool m_lifecycleHasBeenSet;
BackupFailureDetails m_failureDetails;
bool m_failureDetailsHasBeenSet;
BackupType m_type;
bool m_typeHasBeenSet;
int m_progressPercent;
bool m_progressPercentHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
Aws::String m_kmsKeyId;
bool m_kmsKeyIdHasBeenSet;
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
FileSystem m_fileSystem;
bool m_fileSystemHasBeenSet;
ActiveDirectoryBackupAttributes m_directoryInformation;
bool m_directoryInformationHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>If backup creation fails, this structure contains the details of that
* failure.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/BackupFailureDetails">AWS
* API Reference</a></p>
*/
class AWS_FSX_API BackupFailureDetails
{
public:
BackupFailureDetails();
BackupFailureDetails(Aws::Utils::Json::JsonView jsonValue);
BackupFailureDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A message describing the backup creation failure.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>A message describing the backup creation failure.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>A message describing the backup creation failure.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>A message describing the backup creation failure.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>A message describing the backup creation failure.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>A message describing the backup creation failure.</p>
*/
inline BackupFailureDetails& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>A message describing the backup creation failure.</p>
*/
inline BackupFailureDetails& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>A message describing the backup creation failure.</p>
*/
inline BackupFailureDetails& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class BackupLifecycle
{
NOT_SET,
AVAILABLE,
CREATING,
TRANSFERRING,
DELETED,
FAILED
};
namespace BackupLifecycleMapper
{
AWS_FSX_API BackupLifecycle GetBackupLifecycleForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForBackupLifecycle(BackupLifecycle value);
} // namespace BackupLifecycleMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>You can't delete a backup while it's being used to restore a file
* system.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/BackupRestoring">AWS
* API Reference</a></p>
*/
class AWS_FSX_API BackupRestoring
{
public:
BackupRestoring();
BackupRestoring(Aws::Utils::Json::JsonView jsonValue);
BackupRestoring& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline BackupRestoring& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline BackupRestoring& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline BackupRestoring& WithMessage(const char* value) { SetMessage(value); return *this;}
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline BackupRestoring& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline BackupRestoring& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
/**
* <p>The ID of a file system being restored from the backup.</p>
*/
inline BackupRestoring& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class BackupType
{
NOT_SET,
AUTOMATIC,
USER_INITIATED
};
namespace BackupTypeMapper
{
AWS_FSX_API BackupType GetBackupTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForBackupType(BackupType value);
} // namespace BackupTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,88 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>Cancels a data repository task.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTaskRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CancelDataRepositoryTaskRequest : public FSxRequest
{
public:
CancelDataRepositoryTaskRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CancelDataRepositoryTask"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline const Aws::String& GetTaskId() const{ return m_taskId; }
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline bool TaskIdHasBeenSet() const { return m_taskIdHasBeenSet; }
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline void SetTaskId(const Aws::String& value) { m_taskIdHasBeenSet = true; m_taskId = value; }
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline void SetTaskId(Aws::String&& value) { m_taskIdHasBeenSet = true; m_taskId = std::move(value); }
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline void SetTaskId(const char* value) { m_taskIdHasBeenSet = true; m_taskId.assign(value); }
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline CancelDataRepositoryTaskRequest& WithTaskId(const Aws::String& value) { SetTaskId(value); return *this;}
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline CancelDataRepositoryTaskRequest& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;}
/**
* <p>Specifies the data repository task to cancel.</p>
*/
inline CancelDataRepositoryTaskRequest& WithTaskId(const char* value) { SetTaskId(value); return *this;}
private:
Aws::String m_taskId;
bool m_taskIdHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,156 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/DataRepositoryTaskLifecycle.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
class AWS_FSX_API CancelDataRepositoryTaskResult
{
public:
CancelDataRepositoryTaskResult();
CancelDataRepositoryTaskResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CancelDataRepositoryTaskResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul>
*/
inline const DataRepositoryTaskLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul>
*/
inline void SetLifecycle(const DataRepositoryTaskLifecycle& value) { m_lifecycle = value; }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul>
*/
inline void SetLifecycle(DataRepositoryTaskLifecycle&& value) { m_lifecycle = std::move(value); }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul>
*/
inline CancelDataRepositoryTaskResult& WithLifecycle(const DataRepositoryTaskLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul>
*/
inline CancelDataRepositoryTaskResult& WithLifecycle(DataRepositoryTaskLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
/**
* <p>The ID of the task being canceled.</p>
*/
inline const Aws::String& GetTaskId() const{ return m_taskId; }
/**
* <p>The ID of the task being canceled.</p>
*/
inline void SetTaskId(const Aws::String& value) { m_taskId = value; }
/**
* <p>The ID of the task being canceled.</p>
*/
inline void SetTaskId(Aws::String&& value) { m_taskId = std::move(value); }
/**
* <p>The ID of the task being canceled.</p>
*/
inline void SetTaskId(const char* value) { m_taskId.assign(value); }
/**
* <p>The ID of the task being canceled.</p>
*/
inline CancelDataRepositoryTaskResult& WithTaskId(const Aws::String& value) { SetTaskId(value); return *this;}
/**
* <p>The ID of the task being canceled.</p>
*/
inline CancelDataRepositoryTaskResult& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;}
/**
* <p>The ID of the task being canceled.</p>
*/
inline CancelDataRepositoryTaskResult& WithTaskId(const char* value) { SetTaskId(value); return *this;}
private:
DataRepositoryTaskLifecycle m_lifecycle;
Aws::String m_taskId;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,317 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/ReportFormat.h>
#include <aws/fsx/model/ReportScope.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Provides a report detailing the data repository task results of the files
* processed that match the criteria specified in the report <code>Scope</code>
* parameter. FSx delivers the report to the file system's linked data repository
* in Amazon S3, using the path specified in the report <code>Path</code>
* parameter. You can specify whether or not a report gets generated for a task
* using the <code>Enabled</code> parameter.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CompletionReport">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CompletionReport
{
public:
CompletionReport();
CompletionReport(Aws::Utils::Json::JsonView jsonValue);
CompletionReport& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Set <code>Enabled</code> to <code>True</code> to generate a
* <code>CompletionReport</code> when the task completes. If set to
* <code>true</code>, then you need to provide a report <code>Scope</code>,
* <code>Path</code>, and <code>Format</code>. Set <code>Enabled</code> to
* <code>False</code> if you do not want a <code>CompletionReport</code> generated
* when the task completes.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* <p>Set <code>Enabled</code> to <code>True</code> to generate a
* <code>CompletionReport</code> when the task completes. If set to
* <code>true</code>, then you need to provide a report <code>Scope</code>,
* <code>Path</code>, and <code>Format</code>. Set <code>Enabled</code> to
* <code>False</code> if you do not want a <code>CompletionReport</code> generated
* when the task completes.</p>
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* <p>Set <code>Enabled</code> to <code>True</code> to generate a
* <code>CompletionReport</code> when the task completes. If set to
* <code>true</code>, then you need to provide a report <code>Scope</code>,
* <code>Path</code>, and <code>Format</code>. Set <code>Enabled</code> to
* <code>False</code> if you do not want a <code>CompletionReport</code> generated
* when the task completes.</p>
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* <p>Set <code>Enabled</code> to <code>True</code> to generate a
* <code>CompletionReport</code> when the task completes. If set to
* <code>true</code>, then you need to provide a report <code>Scope</code>,
* <code>Path</code>, and <code>Format</code>. Set <code>Enabled</code> to
* <code>False</code> if you do not want a <code>CompletionReport</code> generated
* when the task completes.</p>
*/
inline CompletionReport& WithEnabled(bool value) { SetEnabled(value); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline const Aws::String& GetPath() const{ return m_path; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline CompletionReport& WithPath(const Aws::String& value) { SetPath(value); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline CompletionReport& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* location of the report on the file system's linked S3 data repository. An
* absolute path that defines where the completion report will be stored in the
* destination location. The <code>Path</code> you provide must be located within
* the file systems ExportPath. An example <code>Path</code> value is
* "s3://myBucket/myExportPath/optionalPrefix". The report provides the following
* information for each file in the report: FilePath, FileStatus, and ErrorCode. To
* learn more about a file system's <code>ExportPath</code>, see . </p>
*/
inline CompletionReport& WithPath(const char* value) { SetPath(value); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline const ReportFormat& GetFormat() const{ return m_format; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline void SetFormat(const ReportFormat& value) { m_formatHasBeenSet = true; m_format = value; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline void SetFormat(ReportFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline CompletionReport& WithFormat(const ReportFormat& value) { SetFormat(value); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* format of the <code>CompletionReport</code>. <code>REPORT_CSV_20191124</code> is
* the only format currently supported. When <code>Format</code> is set to
* <code>REPORT_CSV_20191124</code>, the <code>CompletionReport</code> is provided
* in CSV format, and is delivered to <code>{path}/task-{id}/failures.csv</code>.
* </p>
*/
inline CompletionReport& WithFormat(ReportFormat&& value) { SetFormat(std::move(value)); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline const ReportScope& GetScope() const{ return m_scope; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline void SetScope(const ReportScope& value) { m_scopeHasBeenSet = true; m_scope = value; }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline void SetScope(ReportScope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); }
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline CompletionReport& WithScope(const ReportScope& value) { SetScope(value); return *this;}
/**
* <p>Required if <code>Enabled</code> is set to <code>true</code>. Specifies the
* scope of the <code>CompletionReport</code>; <code>FAILED_FILES_ONLY</code> is
* the only scope currently supported. When <code>Scope</code> is set to
* <code>FAILED_FILES_ONLY</code>, the <code>CompletionReport</code> only contains
* information about files that the data repository task failed to process.</p>
*/
inline CompletionReport& WithScope(ReportScope&& value) { SetScope(std::move(value)); return *this;}
private:
bool m_enabled;
bool m_enabledHasBeenSet;
Aws::String m_path;
bool m_pathHasBeenSet;
ReportFormat m_format;
bool m_formatHasBeenSet;
ReportScope m_scope;
bool m_scopeHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,228 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for the <code>CreateBackup</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackupRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateBackupRequest : public FSxRequest
{
public:
CreateBackupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateBackup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ID of the file system to back up.</p>
*/
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
/**
* <p>The ID of the file system to back up.</p>
*/
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
/**
* <p>The ID of the file system to back up.</p>
*/
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
/**
* <p>The ID of the file system to back up.</p>
*/
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
/**
* <p>The ID of the file system to back up.</p>
*/
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
/**
* <p>The ID of the file system to back up.</p>
*/
inline CreateBackupRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
/**
* <p>The ID of the file system to back up.</p>
*/
inline CreateBackupRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
/**
* <p>The ID of the file system to back up.</p>
*/
inline CreateBackupRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateBackupRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateBackupRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
* ensure idempotent creation. This string is automatically filled on your behalf
* when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateBackupRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline CreateBackupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline CreateBackupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline CreateBackupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>(Optional) The tags to apply to the backup at backup creation. The key value
* of the <code>Name</code> tag appears in the console as the backup name. If you
* have set <code>CopyTagsToBackups</code> to true, and you specify one or more
* tags using the <code>CreateBackup</code> action, no existing file system tags
* are copied from the file system to the backup.</p>
*/
inline CreateBackupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,73 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/Backup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the <code>CreateBackup</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackupResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateBackupResult
{
public:
CreateBackupResult();
CreateBackupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateBackupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A description of the backup.</p>
*/
inline const Backup& GetBackup() const{ return m_backup; }
/**
* <p>A description of the backup.</p>
*/
inline void SetBackup(const Backup& value) { m_backup = value; }
/**
* <p>A description of the backup.</p>
*/
inline void SetBackup(Backup&& value) { m_backup = std::move(value); }
/**
* <p>A description of the backup.</p>
*/
inline CreateBackupResult& WithBackup(const Backup& value) { SetBackup(value); return *this;}
/**
* <p>A description of the backup.</p>
*/
inline CreateBackupResult& WithBackup(Backup&& value) { SetBackup(std::move(value)); return *this;}
private:
Backup m_backup;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,331 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/fsx/model/DataRepositoryTaskType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/CompletionReport.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
*/
class AWS_FSX_API CreateDataRepositoryTaskRequest : public FSxRequest
{
public:
CreateDataRepositoryTaskRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateDataRepositoryTask"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline const DataRepositoryTaskType& GetType() const{ return m_type; }
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline void SetType(const DataRepositoryTaskType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline void SetType(DataRepositoryTaskType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline CreateDataRepositoryTaskRequest& WithType(const DataRepositoryTaskType& value) { SetType(value); return *this;}
/**
* <p>Specifies the type of data repository task to create.</p>
*/
inline CreateDataRepositoryTaskRequest& WithType(DataRepositoryTaskType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline const Aws::Vector<Aws::String>& GetPaths() const{ return m_paths; }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline bool PathsHasBeenSet() const { return m_pathsHasBeenSet; }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline void SetPaths(const Aws::Vector<Aws::String>& value) { m_pathsHasBeenSet = true; m_paths = value; }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline void SetPaths(Aws::Vector<Aws::String>&& value) { m_pathsHasBeenSet = true; m_paths = std::move(value); }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline CreateDataRepositoryTaskRequest& WithPaths(const Aws::Vector<Aws::String>& value) { SetPaths(value); return *this;}
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline CreateDataRepositoryTaskRequest& WithPaths(Aws::Vector<Aws::String>&& value) { SetPaths(std::move(value)); return *this;}
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline CreateDataRepositoryTaskRequest& AddPaths(const Aws::String& value) { m_pathsHasBeenSet = true; m_paths.push_back(value); return *this; }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline CreateDataRepositoryTaskRequest& AddPaths(Aws::String&& value) { m_pathsHasBeenSet = true; m_paths.push_back(std::move(value)); return *this; }
/**
* <p>(Optional) The path or paths on the Amazon FSx file system to use when the
* data repository task is processed. The default path is the file system root
* directory. The paths you provide need to be relative to the mount point of the
* file system. If the mount point is <code>/mnt/fsx</code> and
* <code>/mnt/fsx/path1</code> is a directory or file on the file system you want
* to export, then the path to provide is <code>path1</code>. If a path that you
* provide isn't valid, the task fails.</p>
*/
inline CreateDataRepositoryTaskRequest& AddPaths(const char* value) { m_pathsHasBeenSet = true; m_paths.push_back(value); return *this; }
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
inline CreateDataRepositoryTaskRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
inline CreateDataRepositoryTaskRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
inline CreateDataRepositoryTaskRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline const CompletionReport& GetReport() const{ return m_report; }
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline bool ReportHasBeenSet() const { return m_reportHasBeenSet; }
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline void SetReport(const CompletionReport& value) { m_reportHasBeenSet = true; m_report = value; }
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline void SetReport(CompletionReport&& value) { m_reportHasBeenSet = true; m_report = std::move(value); }
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline CreateDataRepositoryTaskRequest& WithReport(const CompletionReport& value) { SetReport(value); return *this;}
/**
* <p>Defines whether or not Amazon FSx provides a CompletionReport once the task
* has completed. A CompletionReport provides a detailed report on the files that
* Amazon FSx processed that meet the criteria specified by the <code>Scope</code>
* parameter. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html">Working
* with Task Completion Reports</a>.</p>
*/
inline CreateDataRepositoryTaskRequest& WithReport(CompletionReport&& value) { SetReport(std::move(value)); return *this;}
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
inline CreateDataRepositoryTaskRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
inline CreateDataRepositoryTaskRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
inline CreateDataRepositoryTaskRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateDataRepositoryTaskRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateDataRepositoryTaskRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateDataRepositoryTaskRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateDataRepositoryTaskRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
DataRepositoryTaskType m_type;
bool m_typeHasBeenSet;
Aws::Vector<Aws::String> m_paths;
bool m_pathsHasBeenSet;
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
CompletionReport m_report;
bool m_reportHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/DataRepositoryTask.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
class AWS_FSX_API CreateDataRepositoryTaskResult
{
public:
CreateDataRepositoryTaskResult();
CreateDataRepositoryTaskResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateDataRepositoryTaskResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of the data repository task that you just created.</p>
*/
inline const DataRepositoryTask& GetDataRepositoryTask() const{ return m_dataRepositoryTask; }
/**
* <p>The description of the data repository task that you just created.</p>
*/
inline void SetDataRepositoryTask(const DataRepositoryTask& value) { m_dataRepositoryTask = value; }
/**
* <p>The description of the data repository task that you just created.</p>
*/
inline void SetDataRepositoryTask(DataRepositoryTask&& value) { m_dataRepositoryTask = std::move(value); }
/**
* <p>The description of the data repository task that you just created.</p>
*/
inline CreateDataRepositoryTaskResult& WithDataRepositoryTask(const DataRepositoryTask& value) { SetDataRepositoryTask(value); return *this;}
/**
* <p>The description of the data repository task that you just created.</p>
*/
inline CreateDataRepositoryTaskResult& WithDataRepositoryTask(DataRepositoryTask&& value) { SetDataRepositoryTask(std::move(value)); return *this;}
private:
DataRepositoryTask m_dataRepositoryTask;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,543 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/CreateFileSystemWindowsConfiguration.h>
#include <aws/fsx/model/CreateFileSystemLustreConfiguration.h>
#include <aws/fsx/model/StorageType.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for the <code>CreateFileSystemFromBackup</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackupRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemFromBackupRequest : public FSxRequest
{
public:
CreateFileSystemFromBackupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateFileSystemFromBackup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
inline const Aws::String& GetBackupId() const{ return m_backupId; }
inline bool BackupIdHasBeenSet() const { return m_backupIdHasBeenSet; }
inline void SetBackupId(const Aws::String& value) { m_backupIdHasBeenSet = true; m_backupId = value; }
inline void SetBackupId(Aws::String&& value) { m_backupIdHasBeenSet = true; m_backupId = std::move(value); }
inline void SetBackupId(const char* value) { m_backupIdHasBeenSet = true; m_backupId.assign(value); }
inline CreateFileSystemFromBackupRequest& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;}
inline CreateFileSystemFromBackupRequest& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;}
inline CreateFileSystemFromBackupRequest& WithBackupId(const char* value) { SetBackupId(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemFromBackupRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemFromBackupRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemFromBackupRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline const Aws::Vector<Aws::String>& GetSubnetIds() const{ return m_subnetIds; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline void SetSubnetIds(const Aws::Vector<Aws::String>& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline void SetSubnetIds(Aws::Vector<Aws::String>&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemFromBackupRequest& WithSubnetIds(const Aws::Vector<Aws::String>& value) { SetSubnetIds(value); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemFromBackupRequest& WithSubnetIds(Aws::Vector<Aws::String>&& value) { SetSubnetIds(std::move(value)); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment
* types and Lustre file systems, provide exactly one subnet ID. The file server is
* launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline CreateFileSystemFromBackupRequest& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;}
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline CreateFileSystemFromBackupRequest& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(std::move(value)); return *this;}
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; }
/**
* <p>A list of IDs for the security groups that apply to the specified network
* interfaces created for file system access. These security groups apply to all
* network interfaces. This value isn't returned in later DescribeFileSystem
* requests.</p>
*/
inline CreateFileSystemFromBackupRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline CreateFileSystemFromBackupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline CreateFileSystemFromBackupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline CreateFileSystemFromBackupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The tags to be applied to the file system at file system creation. The key
* value of the <code>Name</code> tag appears in the console as the file system
* name.</p>
*/
inline CreateFileSystemFromBackupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline const CreateFileSystemWindowsConfiguration& GetWindowsConfiguration() const{ return m_windowsConfiguration; }
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline void SetWindowsConfiguration(const CreateFileSystemWindowsConfiguration& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = value; }
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline void SetWindowsConfiguration(CreateFileSystemWindowsConfiguration&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::move(value); }
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline CreateFileSystemFromBackupRequest& WithWindowsConfiguration(const CreateFileSystemWindowsConfiguration& value) { SetWindowsConfiguration(value); return *this;}
/**
* <p>The configuration for this Microsoft Windows file system.</p>
*/
inline CreateFileSystemFromBackupRequest& WithWindowsConfiguration(CreateFileSystemWindowsConfiguration&& value) { SetWindowsConfiguration(std::move(value)); return *this;}
inline const CreateFileSystemLustreConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; }
inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
inline void SetLustreConfiguration(const CreateFileSystemLustreConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; }
inline void SetLustreConfiguration(CreateFileSystemLustreConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); }
inline CreateFileSystemFromBackupRequest& WithLustreConfiguration(const CreateFileSystemLustreConfiguration& value) { SetLustreConfiguration(value); return *this;}
inline CreateFileSystemFromBackupRequest& WithLustreConfiguration(CreateFileSystemLustreConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;}
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline const StorageType& GetStorageType() const{ return m_storageType; }
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline void SetStorageType(const StorageType& value) { m_storageTypeHasBeenSet = true; m_storageType = value; }
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline void SetStorageType(StorageType&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); }
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline CreateFileSystemFromBackupRequest& WithStorageType(const StorageType& value) { SetStorageType(value); return *this;}
/**
* <p>Sets the storage type for the Windows file system you're creating from a
* backup. Valid values are <code>SSD</code> and <code>HDD</code>.</p> <ul> <li>
* <p>Set to <code>SSD</code> to use solid state drive storage. Supported on all
* Windows deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard
* disk drive storage. Supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. </p> <p>HDD and SSD storage types
* have different minimum storage capacity requirements. A restored file system's
* storage capacity is tied to the file system that was backed up. You can create a
* file system that uses HDD storage from a backup of a file system that used SSD
* storage only if the original SSD file system had a storage capacity of at least
* 2000 GiB. </p>
*/
inline CreateFileSystemFromBackupRequest& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;}
private:
Aws::String m_backupId;
bool m_backupIdHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
Aws::Vector<Aws::String> m_subnetIds;
bool m_subnetIdsHasBeenSet;
Aws::Vector<Aws::String> m_securityGroupIds;
bool m_securityGroupIdsHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
CreateFileSystemWindowsConfiguration m_windowsConfiguration;
bool m_windowsConfigurationHasBeenSet;
CreateFileSystemLustreConfiguration m_lustreConfiguration;
bool m_lustreConfigurationHasBeenSet;
StorageType m_storageType;
bool m_storageTypeHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeAction.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the <code>CreateFileSystemFromBackup</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackupResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemFromBackupResult
{
public:
CreateFileSystemFromBackupResult();
CreateFileSystemFromBackupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateFileSystemFromBackupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A description of the file system.</p>
*/
inline const FileSystem& GetFileSystem() const{ return m_fileSystem; }
/**
* <p>A description of the file system.</p>
*/
inline void SetFileSystem(const FileSystem& value) { m_fileSystem = value; }
/**
* <p>A description of the file system.</p>
*/
inline void SetFileSystem(FileSystem&& value) { m_fileSystem = std::move(value); }
/**
* <p>A description of the file system.</p>
*/
inline CreateFileSystemFromBackupResult& WithFileSystem(const FileSystem& value) { SetFileSystem(value); return *this;}
/**
* <p>A description of the file system.</p>
*/
inline CreateFileSystemFromBackupResult& WithFileSystem(FileSystem&& value) { SetFileSystem(std::move(value)); return *this;}
private:
FileSystem m_fileSystem;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,884 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/LustreDeploymentType.h>
#include <aws/fsx/model/AutoImportPolicyType.h>
#include <aws/fsx/model/DriveCacheType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The Lustre configuration for the file system being created. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemLustreConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemLustreConfiguration
{
public:
CreateFileSystemLustreConfiguration();
CreateFileSystemLustreConfiguration(Aws::Utils::Json::JsonView jsonValue);
CreateFileSystemLustreConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline const Aws::String& GetImportPath() const{ return m_importPath; }
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline bool ImportPathHasBeenSet() const { return m_importPathHasBeenSet; }
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(const Aws::String& value) { m_importPathHasBeenSet = true; m_importPath = value; }
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(Aws::String&& value) { m_importPathHasBeenSet = true; m_importPath = std::move(value); }
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(const char* value) { m_importPathHasBeenSet = true; m_importPath.assign(value); }
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline CreateFileSystemLustreConfiguration& WithImportPath(const Aws::String& value) { SetImportPath(value); return *this;}
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline CreateFileSystemLustreConfiguration& WithImportPath(Aws::String&& value) { SetImportPath(std::move(value)); return *this;}
/**
* <p>(Optional) The path to the Amazon S3 bucket (including the optional prefix)
* that you're using as the data repository for your Amazon FSx for Lustre file
* system. The root of your FSx for Lustre file system will be mapped to the root
* of the Amazon S3 bucket you select. An example is
* <code>s3://import-bucket/optional-prefix</code>. If you specify a prefix after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline CreateFileSystemLustreConfiguration& WithImportPath(const char* value) { SetImportPath(value); return *this;}
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline const Aws::String& GetExportPath() const{ return m_exportPath; }
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline bool ExportPathHasBeenSet() const { return m_exportPathHasBeenSet; }
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline void SetExportPath(const Aws::String& value) { m_exportPathHasBeenSet = true; m_exportPath = value; }
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline void SetExportPath(Aws::String&& value) { m_exportPathHasBeenSet = true; m_exportPath = std::move(value); }
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline void SetExportPath(const char* value) { m_exportPathHasBeenSet = true; m_exportPath.assign(value); }
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline CreateFileSystemLustreConfiguration& WithExportPath(const Aws::String& value) { SetExportPath(value); return *this;}
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline CreateFileSystemLustreConfiguration& WithExportPath(Aws::String&& value) { SetExportPath(std::move(value)); return *this;}
/**
* <p>(Optional) The path in Amazon S3 where the root of your Amazon FSx file
* system is exported. The path must use the same Amazon S3 bucket as specified in
* ImportPath. You can provide an optional prefix to which new and changed data is
* to be exported from your Amazon FSx for Lustre file system. If an
* <code>ExportPath</code> value is not provided, Amazon FSx sets a default export
* path, <code>s3://import-bucket/FSxLustre[creation-timestamp]</code>. The
* timestamp is in UTC format, for example
* <code>s3://import-bucket/FSxLustre20181105T222312Z</code>.</p> <p>The Amazon S3
* export bucket must be the same as the import bucket specified by
* <code>ImportPath</code>. If you only specify a bucket name, such as
* <code>s3://import-bucket</code>, you get a 1:1 mapping of file system objects to
* S3 bucket objects. This mapping means that the input data in S3 is overwritten
* on export. If you provide a custom prefix in the export path, such as
* <code>s3://import-bucket/[custom-optional-prefix]</code>, Amazon FSx exports the
* contents of your file system to that export prefix in the Amazon S3 bucket.</p>
*/
inline CreateFileSystemLustreConfiguration& WithExportPath(const char* value) { SetExportPath(value); return *this;}
/**
* <p>(Optional) For files imported from a data repository, this value determines
* the stripe count and maximum amount of data per file (in MiB) stored on a single
* physical disk. The maximum number of disks that a single file can be striped
* across is limited by the total number of disks that make up the file system.</p>
* <p>The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB
* (500 GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline int GetImportedFileChunkSize() const{ return m_importedFileChunkSize; }
/**
* <p>(Optional) For files imported from a data repository, this value determines
* the stripe count and maximum amount of data per file (in MiB) stored on a single
* physical disk. The maximum number of disks that a single file can be striped
* across is limited by the total number of disks that make up the file system.</p>
* <p>The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB
* (500 GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline bool ImportedFileChunkSizeHasBeenSet() const { return m_importedFileChunkSizeHasBeenSet; }
/**
* <p>(Optional) For files imported from a data repository, this value determines
* the stripe count and maximum amount of data per file (in MiB) stored on a single
* physical disk. The maximum number of disks that a single file can be striped
* across is limited by the total number of disks that make up the file system.</p>
* <p>The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB
* (500 GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline void SetImportedFileChunkSize(int value) { m_importedFileChunkSizeHasBeenSet = true; m_importedFileChunkSize = value; }
/**
* <p>(Optional) For files imported from a data repository, this value determines
* the stripe count and maximum amount of data per file (in MiB) stored on a single
* physical disk. The maximum number of disks that a single file can be striped
* across is limited by the total number of disks that make up the file system.</p>
* <p>The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB
* (500 GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline CreateFileSystemLustreConfiguration& WithImportedFileChunkSize(int value) { SetImportedFileChunkSize(value); return *this;}
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline const LustreDeploymentType& GetDeploymentType() const{ return m_deploymentType; }
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline void SetDeploymentType(const LustreDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline void SetDeploymentType(LustreDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); }
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline CreateFileSystemLustreConfiguration& WithDeploymentType(const LustreDeploymentType& value) { SetDeploymentType(value); return *this;}
/**
* <p> Choose <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* when you need temporary storage and shorter-term processing of data. The
* <code>SCRATCH_2</code> deployment type provides in-transit encryption of data
* and higher burst throughput capacity than <code>SCRATCH_1</code>.</p> <p>Choose
* <code>PERSISTENT_1</code> deployment type for longer-term storage and workloads
* and encryption of data in transit. To learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>.</p> <p>Encryption of data in-transit is
* automatically enabled when you access a <code>SCRATCH_2</code> or
* <code>PERSISTENT_1</code> file system from Amazon EC2 instances that <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-
* protection.html">support this feature</a>. (Default = <code>SCRATCH_1</code>)
* </p> <p>Encryption of data in-transit for <code>SCRATCH_2</code> and
* <code>PERSISTENT_1</code> deployment types is supported when accessed from
* supported instance types in supported AWS Regions. To learn more, <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html">Encrypting
* Data in Transit</a>.</p>
*/
inline CreateFileSystemLustreConfiguration& WithDeploymentType(LustreDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;}
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline const AutoImportPolicyType& GetAutoImportPolicy() const{ return m_autoImportPolicy; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline bool AutoImportPolicyHasBeenSet() const { return m_autoImportPolicyHasBeenSet; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(const AutoImportPolicyType& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = value; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(AutoImportPolicyType&& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = std::move(value); }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline CreateFileSystemLustreConfiguration& WithAutoImportPolicy(const AutoImportPolicyType& value) { SetAutoImportPolicy(value); return *this;}
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listings up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline CreateFileSystemLustreConfiguration& WithAutoImportPolicy(AutoImportPolicyType&& value) { SetAutoImportPolicy(std::move(value)); return *this;}
/**
* <p> Required for the <code>PERSISTENT_1</code> deployment type, describes the
* amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB.
* File system throughput capacity is calculated by multiplying file system storage
* capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file
* system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of
* file system throughput. You pay for the amount of throughput that you provision.
* </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40.</p>
*/
inline int GetPerUnitStorageThroughput() const{ return m_perUnitStorageThroughput; }
/**
* <p> Required for the <code>PERSISTENT_1</code> deployment type, describes the
* amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB.
* File system throughput capacity is calculated by multiplying file system storage
* capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file
* system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of
* file system throughput. You pay for the amount of throughput that you provision.
* </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40.</p>
*/
inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
/**
* <p> Required for the <code>PERSISTENT_1</code> deployment type, describes the
* amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB.
* File system throughput capacity is calculated by multiplying file system storage
* capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file
* system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of
* file system throughput. You pay for the amount of throughput that you provision.
* </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40.</p>
*/
inline void SetPerUnitStorageThroughput(int value) { m_perUnitStorageThroughputHasBeenSet = true; m_perUnitStorageThroughput = value; }
/**
* <p> Required for the <code>PERSISTENT_1</code> deployment type, describes the
* amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB.
* File system throughput capacity is calculated by multiplying file system storage
* capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file
* system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of
* file system throughput. You pay for the amount of throughput that you provision.
* </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40.</p>
*/
inline CreateFileSystemLustreConfiguration& WithPerUnitStorageThroughput(int value) { SetPerUnitStorageThroughput(value); return *this;}
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
inline CreateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
inline CreateFileSystemLustreConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p>(Optional) Not available to use with file systems that are linked to a data
* repository. A boolean flag indicating whether tags for the file system should be
* copied to backups. The default value is false. If it's set to true, all file
* system tags are copied to all automatic and user-initiated backups when the user
* doesn't specify any backup-specific tags. If this value is true, and you specify
* one or more backup tags, only the specified tags are copied to backups. If you
* specify one or more tags when creating a user-initiated backup, no tags are
* copied from the file system, regardless of this value.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html">Working
* with backups</a>.</p>
*/
inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; }
/**
* <p>(Optional) Not available to use with file systems that are linked to a data
* repository. A boolean flag indicating whether tags for the file system should be
* copied to backups. The default value is false. If it's set to true, all file
* system tags are copied to all automatic and user-initiated backups when the user
* doesn't specify any backup-specific tags. If this value is true, and you specify
* one or more backup tags, only the specified tags are copied to backups. If you
* specify one or more tags when creating a user-initiated backup, no tags are
* copied from the file system, regardless of this value.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html">Working
* with backups</a>.</p>
*/
inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
/**
* <p>(Optional) Not available to use with file systems that are linked to a data
* repository. A boolean flag indicating whether tags for the file system should be
* copied to backups. The default value is false. If it's set to true, all file
* system tags are copied to all automatic and user-initiated backups when the user
* doesn't specify any backup-specific tags. If this value is true, and you specify
* one or more backup tags, only the specified tags are copied to backups. If you
* specify one or more tags when creating a user-initiated backup, no tags are
* copied from the file system, regardless of this value.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html">Working
* with backups</a>.</p>
*/
inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; }
/**
* <p>(Optional) Not available to use with file systems that are linked to a data
* repository. A boolean flag indicating whether tags for the file system should be
* copied to backups. The default value is false. If it's set to true, all file
* system tags are copied to all automatic and user-initiated backups when the user
* doesn't specify any backup-specific tags. If this value is true, and you specify
* one or more backup tags, only the specified tags are copied to backups. If you
* specify one or more tags when creating a user-initiated backup, no tags are
* copied from the file system, regardless of this value.</p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html">Working
* with backups</a>.</p>
*/
inline CreateFileSystemLustreConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;}
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline const DriveCacheType& GetDriveCacheType() const{ return m_driveCacheType; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline bool DriveCacheTypeHasBeenSet() const { return m_driveCacheTypeHasBeenSet; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline void SetDriveCacheType(const DriveCacheType& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = value; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline void SetDriveCacheType(DriveCacheType&& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = std::move(value); }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline CreateFileSystemLustreConfiguration& WithDriveCacheType(const DriveCacheType& value) { SetDriveCacheType(value); return *this;}
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline CreateFileSystemLustreConfiguration& WithDriveCacheType(DriveCacheType&& value) { SetDriveCacheType(std::move(value)); return *this;}
private:
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
Aws::String m_importPath;
bool m_importPathHasBeenSet;
Aws::String m_exportPath;
bool m_exportPathHasBeenSet;
int m_importedFileChunkSize;
bool m_importedFileChunkSizeHasBeenSet;
LustreDeploymentType m_deploymentType;
bool m_deploymentTypeHasBeenSet;
AutoImportPolicyType m_autoImportPolicy;
bool m_autoImportPolicyHasBeenSet;
int m_perUnitStorageThroughput;
bool m_perUnitStorageThroughputHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
bool m_copyTagsToBackups;
bool m_copyTagsToBackupsHasBeenSet;
DriveCacheType m_driveCacheType;
bool m_driveCacheTypeHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,631 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/FileSystemType.h>
#include <aws/fsx/model/StorageType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/CreateFileSystemWindowsConfiguration.h>
#include <aws/fsx/model/CreateFileSystemLustreConfiguration.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object used to create a new Amazon FSx file system.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemRequest : public FSxRequest
{
public:
CreateFileSystemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateFileSystem"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent creation. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline CreateFileSystemRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline const FileSystemType& GetFileSystemType() const{ return m_fileSystemType; }
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; }
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline void SetFileSystemType(const FileSystemType& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = value; }
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline void SetFileSystemType(FileSystemType&& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = std::move(value); }
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline CreateFileSystemRequest& WithFileSystemType(const FileSystemType& value) { SetFileSystemType(value); return *this;}
/**
* <p>The type of Amazon FSx file system to create, either <code>WINDOWS</code> or
* <code>LUSTRE</code>.</p>
*/
inline CreateFileSystemRequest& WithFileSystemType(FileSystemType&& value) { SetFileSystemType(std::move(value)); return *this;}
/**
* <p>Sets the storage capacity of the file system that you're creating.</p> <p>For
* Lustre file systems:</p> <ul> <li> <p>For <code>SCRATCH_2</code> and
* <code>PERSISTENT_1 SSD</code> deployment types, valid values are 1200 GiB, 2400
* GiB, and increments of 2400 GiB.</p> </li> <li> <p>For <code>PERSISTENT
* HDD</code> file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB
* file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.</p> </li>
* <li> <p>For <code>SCRATCH_1</code> deployment type, valid values are 1200 GiB,
* 2400 GiB, and increments of 3600 GiB.</p> </li> </ul> <p>For Windows file
* systems:</p> <ul> <li> <p>If <code>StorageType=SSD</code>, valid values are 32
* GiB - 65,536 GiB (64 TiB).</p> </li> <li> <p>If <code>StorageType=HDD</code>,
* valid values are 2000 GiB - 65,536 GiB (64 TiB).</p> </li> </ul>
*/
inline int GetStorageCapacity() const{ return m_storageCapacity; }
/**
* <p>Sets the storage capacity of the file system that you're creating.</p> <p>For
* Lustre file systems:</p> <ul> <li> <p>For <code>SCRATCH_2</code> and
* <code>PERSISTENT_1 SSD</code> deployment types, valid values are 1200 GiB, 2400
* GiB, and increments of 2400 GiB.</p> </li> <li> <p>For <code>PERSISTENT
* HDD</code> file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB
* file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.</p> </li>
* <li> <p>For <code>SCRATCH_1</code> deployment type, valid values are 1200 GiB,
* 2400 GiB, and increments of 3600 GiB.</p> </li> </ul> <p>For Windows file
* systems:</p> <ul> <li> <p>If <code>StorageType=SSD</code>, valid values are 32
* GiB - 65,536 GiB (64 TiB).</p> </li> <li> <p>If <code>StorageType=HDD</code>,
* valid values are 2000 GiB - 65,536 GiB (64 TiB).</p> </li> </ul>
*/
inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
/**
* <p>Sets the storage capacity of the file system that you're creating.</p> <p>For
* Lustre file systems:</p> <ul> <li> <p>For <code>SCRATCH_2</code> and
* <code>PERSISTENT_1 SSD</code> deployment types, valid values are 1200 GiB, 2400
* GiB, and increments of 2400 GiB.</p> </li> <li> <p>For <code>PERSISTENT
* HDD</code> file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB
* file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.</p> </li>
* <li> <p>For <code>SCRATCH_1</code> deployment type, valid values are 1200 GiB,
* 2400 GiB, and increments of 3600 GiB.</p> </li> </ul> <p>For Windows file
* systems:</p> <ul> <li> <p>If <code>StorageType=SSD</code>, valid values are 32
* GiB - 65,536 GiB (64 TiB).</p> </li> <li> <p>If <code>StorageType=HDD</code>,
* valid values are 2000 GiB - 65,536 GiB (64 TiB).</p> </li> </ul>
*/
inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; }
/**
* <p>Sets the storage capacity of the file system that you're creating.</p> <p>For
* Lustre file systems:</p> <ul> <li> <p>For <code>SCRATCH_2</code> and
* <code>PERSISTENT_1 SSD</code> deployment types, valid values are 1200 GiB, 2400
* GiB, and increments of 2400 GiB.</p> </li> <li> <p>For <code>PERSISTENT
* HDD</code> file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB
* file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.</p> </li>
* <li> <p>For <code>SCRATCH_1</code> deployment type, valid values are 1200 GiB,
* 2400 GiB, and increments of 3600 GiB.</p> </li> </ul> <p>For Windows file
* systems:</p> <ul> <li> <p>If <code>StorageType=SSD</code>, valid values are 32
* GiB - 65,536 GiB (64 TiB).</p> </li> <li> <p>If <code>StorageType=HDD</code>,
* valid values are 2000 GiB - 65,536 GiB (64 TiB).</p> </li> </ul>
*/
inline CreateFileSystemRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;}
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline const StorageType& GetStorageType() const{ return m_storageType; }
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline void SetStorageType(const StorageType& value) { m_storageTypeHasBeenSet = true; m_storageType = value; }
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline void SetStorageType(StorageType&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); }
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline CreateFileSystemRequest& WithStorageType(const StorageType& value) { SetStorageType(value); return *this;}
/**
* <p>Sets the storage type for the file system you're creating. Valid values are
* <code>SSD</code> and <code>HDD</code>.</p> <ul> <li> <p>Set to <code>SSD</code>
* to use solid state drive storage. SSD is supported on all Windows and Lustre
* deployment types.</p> </li> <li> <p>Set to <code>HDD</code> to use hard disk
* drive storage. HDD is supported on <code>SINGLE_AZ_2</code> and
* <code>MULTI_AZ_1</code> Windows file system deployment types, and on
* <code>PERSISTENT</code> Lustre file system deployment types. </p> </li> </ul>
* <p> Default value is <code>SSD</code>. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options">
* Storage Type Options</a> in the <i>Amazon FSx for Windows User Guide</i> and <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options">Multiple
* Storage Options</a> in the <i>Amazon FSx for Lustre User Guide</i>. </p>
*/
inline CreateFileSystemRequest& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline const Aws::Vector<Aws::String>& GetSubnetIds() const{ return m_subnetIds; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline void SetSubnetIds(const Aws::Vector<Aws::String>& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline void SetSubnetIds(Aws::Vector<Aws::String>&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemRequest& WithSubnetIds(const Aws::Vector<Aws::String>& value) { SetSubnetIds(value); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemRequest& WithSubnetIds(Aws::Vector<Aws::String>&& value) { SetSubnetIds(std::move(value)); return *this;}
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; }
/**
* <p>Specifies the IDs of the subnets that the file system will be accessible
* from. For Windows <code>MULTI_AZ_1</code> file system deployment types, provide
* exactly two subnet IDs, one for the preferred file server and one for the
* standby file server. You specify one of these subnets as the preferred subnet
* using the <code>WindowsConfiguration &gt; PreferredSubnetID</code> property.</p>
* <p>For Windows <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> file system
* deployment types and Lustre file systems, provide exactly one subnet ID. The
* file server is launched in that subnet's Availability Zone.</p>
*/
inline CreateFileSystemRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline CreateFileSystemRequest& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;}
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline CreateFileSystemRequest& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(std::move(value)); return *this;}
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline CreateFileSystemRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline CreateFileSystemRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; }
/**
* <p>A list of IDs specifying the security groups to apply to all network
* interfaces created for file system access. This list isn't returned in later
* requests to describe the file system.</p>
*/
inline CreateFileSystemRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline CreateFileSystemRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline CreateFileSystemRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline CreateFileSystemRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The tags to apply to the file system being created. The key value of the
* <code>Name</code> tag appears in the console as the file system name.</p>
*/
inline CreateFileSystemRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
inline CreateFileSystemRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
inline CreateFileSystemRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
inline CreateFileSystemRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline const CreateFileSystemWindowsConfiguration& GetWindowsConfiguration() const{ return m_windowsConfiguration; }
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline void SetWindowsConfiguration(const CreateFileSystemWindowsConfiguration& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = value; }
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline void SetWindowsConfiguration(CreateFileSystemWindowsConfiguration&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::move(value); }
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline CreateFileSystemRequest& WithWindowsConfiguration(const CreateFileSystemWindowsConfiguration& value) { SetWindowsConfiguration(value); return *this;}
/**
* <p>The Microsoft Windows configuration for the file system being created. </p>
*/
inline CreateFileSystemRequest& WithWindowsConfiguration(CreateFileSystemWindowsConfiguration&& value) { SetWindowsConfiguration(std::move(value)); return *this;}
inline const CreateFileSystemLustreConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; }
inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
inline void SetLustreConfiguration(const CreateFileSystemLustreConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; }
inline void SetLustreConfiguration(CreateFileSystemLustreConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); }
inline CreateFileSystemRequest& WithLustreConfiguration(const CreateFileSystemLustreConfiguration& value) { SetLustreConfiguration(value); return *this;}
inline CreateFileSystemRequest& WithLustreConfiguration(CreateFileSystemLustreConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;}
private:
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
FileSystemType m_fileSystemType;
bool m_fileSystemTypeHasBeenSet;
int m_storageCapacity;
bool m_storageCapacityHasBeenSet;
StorageType m_storageType;
bool m_storageTypeHasBeenSet;
Aws::Vector<Aws::String> m_subnetIds;
bool m_subnetIdsHasBeenSet;
Aws::Vector<Aws::String> m_securityGroupIds;
bool m_securityGroupIdsHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
Aws::String m_kmsKeyId;
bool m_kmsKeyIdHasBeenSet;
CreateFileSystemWindowsConfiguration m_windowsConfiguration;
bool m_windowsConfigurationHasBeenSet;
CreateFileSystemLustreConfiguration m_lustreConfiguration;
bool m_lustreConfigurationHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeAction.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object returned after the file system is created.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemResult
{
public:
CreateFileSystemResult();
CreateFileSystemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateFileSystemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The configuration of the file system that was created.</p>
*/
inline const FileSystem& GetFileSystem() const{ return m_fileSystem; }
/**
* <p>The configuration of the file system that was created.</p>
*/
inline void SetFileSystem(const FileSystem& value) { m_fileSystem = value; }
/**
* <p>The configuration of the file system that was created.</p>
*/
inline void SetFileSystem(FileSystem&& value) { m_fileSystem = std::move(value); }
/**
* <p>The configuration of the file system that was created.</p>
*/
inline CreateFileSystemResult& WithFileSystem(const FileSystem& value) { SetFileSystem(value); return *this;}
/**
* <p>The configuration of the file system that was created.</p>
*/
inline CreateFileSystemResult& WithFileSystem(FileSystem&& value) { SetFileSystem(std::move(value)); return *this;}
private:
FileSystem m_fileSystem;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,524 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/SelfManagedActiveDirectoryConfiguration.h>
#include <aws/fsx/model/WindowsDeploymentType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration object for the Microsoft Windows file system used in
* <code>CreateFileSystem</code> and <code>CreateFileSystemFromBackup</code>
* operations.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemWindowsConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API CreateFileSystemWindowsConfiguration
{
public:
CreateFileSystemWindowsConfiguration();
CreateFileSystemWindowsConfiguration(Aws::Utils::Json::JsonView jsonValue);
CreateFileSystemWindowsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; }
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; }
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(const Aws::String& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = value; }
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(Aws::String&& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = std::move(value); }
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(const char* value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId.assign(value); }
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;}
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;}
/**
* <p>The ID for an existing AWS Managed Microsoft Active Directory (AD) instance
* that the file system should join when it's created.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;}
inline const SelfManagedActiveDirectoryConfiguration& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; }
inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; }
inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfiguration& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; }
inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfiguration&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); }
inline CreateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfiguration& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;}
inline CreateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfiguration&& value) { SetSelfManagedActiveDirectoryConfiguration(std::move(value)); return *this;}
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline const WindowsDeploymentType& GetDeploymentType() const{ return m_deploymentType; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline void SetDeploymentType(const WindowsDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline void SetDeploymentType(WindowsDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithDeploymentType(const WindowsDeploymentType& value) { SetDeploymentType(value); return *this;}
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type</p> </li> <li> <p> <code>SINGLE_AZ_1</code> -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">
* Availability and Durability: Single-AZ and Multi-AZ File Systems</a>.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithDeploymentType(WindowsDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;}
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline const Aws::String& GetPreferredSubnetId() const{ return m_preferredSubnetId; }
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline bool PreferredSubnetIdHasBeenSet() const { return m_preferredSubnetIdHasBeenSet; }
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline void SetPreferredSubnetId(const Aws::String& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = value; }
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline void SetPreferredSubnetId(Aws::String&& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = std::move(value); }
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline void SetPreferredSubnetId(const char* value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId.assign(value); }
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(const Aws::String& value) { SetPreferredSubnetId(value); return *this;}
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(Aws::String&& value) { SetPreferredSubnetId(std::move(value)); return *this;}
/**
* <p>Required when <code>DeploymentType</code> is set to <code>MULTI_AZ_1</code>.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency. </p>
*/
inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(const char* value) { SetPreferredSubnetId(value); return *this;}
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second, in 2 to the <i>n</i>th increments, between 2^3 (8) and 2^11 (2048).</p>
*/
inline int GetThroughputCapacity() const{ return m_throughputCapacity; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second, in 2 to the <i>n</i>th increments, between 2^3 (8) and 2^11 (2048).</p>
*/
inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second, in 2 to the <i>n</i>th increments, between 2^3 (8) and 2^11 (2048).</p>
*/
inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second, in 2 to the <i>n</i>th increments, between 2^3 (8) and 2^11 (2048).</p>
*/
inline CreateFileSystemWindowsConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone, where d is the weekday number, from 1 through 7, beginning
* with Monday and ending with Sunday.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
/**
* <p>The preferred time to take daily automatic backups, formatted HH:MM in the
* UTC time zone.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>The number of days to retain automatic backups. The default is to retain
* backups for 7 days. Setting this value to 0 disables the creation of automatic
* backups. The maximum retention period for backups is 90 days.</p>
*/
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
/**
* <p>The number of days to retain automatic backups. The default is to retain
* backups for 7 days. Setting this value to 0 disables the creation of automatic
* backups. The maximum retention period for backups is 90 days.</p>
*/
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
/**
* <p>The number of days to retain automatic backups. The default is to retain
* backups for 7 days. Setting this value to 0 disables the creation of automatic
* backups. The maximum retention period for backups is 90 days.</p>
*/
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
/**
* <p>The number of days to retain automatic backups. The default is to retain
* backups for 7 days. Setting this value to 0 disables the creation of automatic
* backups. The maximum retention period for backups is 90 days.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p>A boolean flag indicating whether tags for the file system should be copied
* to backups. This value defaults to false. If it's set to true, all tags for the
* file system are copied to all automatic and user-initiated backups where the
* user doesn't specify tags. If this value is true, and you specify one or more
* tags, only the specified tags are copied to backups. If you specify one or more
* tags when creating a user-initiated backup, no tags are copied from the file
* system, regardless of this value.</p>
*/
inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; }
/**
* <p>A boolean flag indicating whether tags for the file system should be copied
* to backups. This value defaults to false. If it's set to true, all tags for the
* file system are copied to all automatic and user-initiated backups where the
* user doesn't specify tags. If this value is true, and you specify one or more
* tags, only the specified tags are copied to backups. If you specify one or more
* tags when creating a user-initiated backup, no tags are copied from the file
* system, regardless of this value.</p>
*/
inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
/**
* <p>A boolean flag indicating whether tags for the file system should be copied
* to backups. This value defaults to false. If it's set to true, all tags for the
* file system are copied to all automatic and user-initiated backups where the
* user doesn't specify tags. If this value is true, and you specify one or more
* tags, only the specified tags are copied to backups. If you specify one or more
* tags when creating a user-initiated backup, no tags are copied from the file
* system, regardless of this value.</p>
*/
inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; }
/**
* <p>A boolean flag indicating whether tags for the file system should be copied
* to backups. This value defaults to false. If it's set to true, all tags for the
* file system are copied to all automatic and user-initiated backups where the
* user doesn't specify tags. If this value is true, and you specify one or more
* tags, only the specified tags are copied to backups. If you specify one or more
* tags when creating a user-initiated backup, no tags are copied from the file
* system, regardless of this value.</p>
*/
inline CreateFileSystemWindowsConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;}
private:
Aws::String m_activeDirectoryId;
bool m_activeDirectoryIdHasBeenSet;
SelfManagedActiveDirectoryConfiguration m_selfManagedActiveDirectoryConfiguration;
bool m_selfManagedActiveDirectoryConfigurationHasBeenSet;
WindowsDeploymentType m_deploymentType;
bool m_deploymentTypeHasBeenSet;
Aws::String m_preferredSubnetId;
bool m_preferredSubnetIdHasBeenSet;
int m_throughputCapacity;
bool m_throughputCapacityHasBeenSet;
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
bool m_copyTagsToBackups;
bool m_copyTagsToBackupsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,479 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/DataRepositoryLifecycle.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/AutoImportPolicyType.h>
#include <aws/fsx/model/DataRepositoryFailureDetails.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The data repository configuration object for Lustre file systems returned in
* the response of the <code>CreateFileSystem</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryConfiguration
{
public:
DataRepositoryConfiguration();
DataRepositoryConfiguration(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline const DataRepositoryLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline void SetLifecycle(const DataRepositoryLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; }
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline void SetLifecycle(DataRepositoryLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); }
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline DataRepositoryConfiguration& WithLifecycle(const DataRepositoryLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>Describes the state of the file system's S3 durable data repository, if it is
* configured with an S3 repository. The lifecycle can have the following
* values:</p> <ul> <li> <p> <code>CREATING</code> - The data repository
* configuration between the FSx file system and the linked S3 data repository is
* being created. The data repository is unavailable.</p> </li> <li> <p>
* <code>AVAILABLE</code> - The data repository is available for use.</p> </li>
* <li> <p> <code>MISCONFIGURED</code> - Amazon FSx cannot automatically import
* updates from the S3 bucket until the data repository configuration is corrected.
* For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository">Troubleshooting
* a Misconfigured linked S3 bucket</a>. </p> </li> <li> <p> <code>UPDATING</code>
* - The data repository is undergoing a customer initiated update and availability
* may be impacted.</p> </li> </ul>
*/
inline DataRepositoryConfiguration& WithLifecycle(DataRepositoryLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline const Aws::String& GetImportPath() const{ return m_importPath; }
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline bool ImportPathHasBeenSet() const { return m_importPathHasBeenSet; }
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(const Aws::String& value) { m_importPathHasBeenSet = true; m_importPath = value; }
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(Aws::String&& value) { m_importPathHasBeenSet = true; m_importPath = std::move(value); }
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline void SetImportPath(const char* value) { m_importPathHasBeenSet = true; m_importPath.assign(value); }
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline DataRepositoryConfiguration& WithImportPath(const Aws::String& value) { SetImportPath(value); return *this;}
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline DataRepositoryConfiguration& WithImportPath(Aws::String&& value) { SetImportPath(std::move(value)); return *this;}
/**
* <p>The import path to the Amazon S3 bucket (and optional prefix) that you're
* using as the data repository for your FSx for Lustre file system, for example
* <code>s3://import-bucket/optional-prefix</code>. If a prefix is specified after
* the Amazon S3 bucket name, only object keys with that prefix are loaded into the
* file system.</p>
*/
inline DataRepositoryConfiguration& WithImportPath(const char* value) { SetImportPath(value); return *this;}
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline const Aws::String& GetExportPath() const{ return m_exportPath; }
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline bool ExportPathHasBeenSet() const { return m_exportPathHasBeenSet; }
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline void SetExportPath(const Aws::String& value) { m_exportPathHasBeenSet = true; m_exportPath = value; }
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline void SetExportPath(Aws::String&& value) { m_exportPathHasBeenSet = true; m_exportPath = std::move(value); }
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline void SetExportPath(const char* value) { m_exportPathHasBeenSet = true; m_exportPath.assign(value); }
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline DataRepositoryConfiguration& WithExportPath(const Aws::String& value) { SetExportPath(value); return *this;}
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline DataRepositoryConfiguration& WithExportPath(Aws::String&& value) { SetExportPath(std::move(value)); return *this;}
/**
* <p>The export path to the Amazon S3 bucket (and prefix) that you are using to
* store new and changed Lustre file system files in S3.</p>
*/
inline DataRepositoryConfiguration& WithExportPath(const char* value) { SetExportPath(value); return *this;}
/**
* <p>For files imported from a data repository, this value determines the stripe
* count and maximum amount of data per file (in MiB) stored on a single physical
* disk. The maximum number of disks that a single file can be striped across is
* limited by the total number of disks that make up the file system.</p> <p>The
* default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500
* GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline int GetImportedFileChunkSize() const{ return m_importedFileChunkSize; }
/**
* <p>For files imported from a data repository, this value determines the stripe
* count and maximum amount of data per file (in MiB) stored on a single physical
* disk. The maximum number of disks that a single file can be striped across is
* limited by the total number of disks that make up the file system.</p> <p>The
* default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500
* GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline bool ImportedFileChunkSizeHasBeenSet() const { return m_importedFileChunkSizeHasBeenSet; }
/**
* <p>For files imported from a data repository, this value determines the stripe
* count and maximum amount of data per file (in MiB) stored on a single physical
* disk. The maximum number of disks that a single file can be striped across is
* limited by the total number of disks that make up the file system.</p> <p>The
* default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500
* GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline void SetImportedFileChunkSize(int value) { m_importedFileChunkSizeHasBeenSet = true; m_importedFileChunkSize = value; }
/**
* <p>For files imported from a data repository, this value determines the stripe
* count and maximum amount of data per file (in MiB) stored on a single physical
* disk. The maximum number of disks that a single file can be striped across is
* limited by the total number of disks that make up the file system.</p> <p>The
* default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500
* GiB). Amazon S3 objects have a maximum size of 5 TB.</p>
*/
inline DataRepositoryConfiguration& WithImportedFileChunkSize(int value) { SetImportedFileChunkSize(value); return *this;}
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline const AutoImportPolicyType& GetAutoImportPolicy() const{ return m_autoImportPolicy; }
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline bool AutoImportPolicyHasBeenSet() const { return m_autoImportPolicyHasBeenSet; }
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(const AutoImportPolicyType& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = value; }
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(AutoImportPolicyType&& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = std::move(value); }
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline DataRepositoryConfiguration& WithAutoImportPolicy(const AutoImportPolicyType& value) { SetAutoImportPolicy(value); return *this;}
/**
* <p>Describes the file system's linked S3 data repository's
* <code>AutoImportPolicy</code>. The AutoImportPolicy configures how Amazon FSx
* keeps your file and directory listings up to date as you add or modify objects
* in your linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update file and directory listings
* for any new or changed objects after choosing this option.</p> </li> <li> <p>
* <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports directory
* listings of any new objects added to the linked S3 bucket that do not currently
* exist in the FSx file system. </p> </li> <li> <p> <code>NEW_CHANGED</code> -
* AutoImport is on. Amazon FSx automatically imports file and directory listings
* of any new objects added to the S3 bucket and any existing objects that are
* changed in the S3 bucket after you choose this option. </p> </li> </ul> <p>For
* more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline DataRepositoryConfiguration& WithAutoImportPolicy(AutoImportPolicyType&& value) { SetAutoImportPolicy(std::move(value)); return *this;}
inline const DataRepositoryFailureDetails& GetFailureDetails() const{ return m_failureDetails; }
inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; }
inline void SetFailureDetails(const DataRepositoryFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; }
inline void SetFailureDetails(DataRepositoryFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); }
inline DataRepositoryConfiguration& WithFailureDetails(const DataRepositoryFailureDetails& value) { SetFailureDetails(value); return *this;}
inline DataRepositoryConfiguration& WithFailureDetails(DataRepositoryFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;}
private:
DataRepositoryLifecycle m_lifecycle;
bool m_lifecycleHasBeenSet;
Aws::String m_importPath;
bool m_importPathHasBeenSet;
Aws::String m_exportPath;
bool m_exportPathHasBeenSet;
int m_importedFileChunkSize;
bool m_importedFileChunkSizeHasBeenSet;
AutoImportPolicyType m_autoImportPolicy;
bool m_autoImportPolicyHasBeenSet;
DataRepositoryFailureDetails m_failureDetails;
bool m_failureDetailsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Provides detailed information about the data respository if its
* <code>Lifecycle</code> is set to <code>MISCONFIGURED</code>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryFailureDetails">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryFailureDetails
{
public:
DataRepositoryFailureDetails();
DataRepositoryFailureDetails(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryFailureDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline DataRepositoryFailureDetails& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline DataRepositoryFailureDetails& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline DataRepositoryFailureDetails& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class DataRepositoryLifecycle
{
NOT_SET,
CREATING,
AVAILABLE,
MISCONFIGURED,
UPDATING,
DELETING
};
namespace DataRepositoryLifecycleMapper
{
AWS_FSX_API DataRepositoryLifecycle GetDataRepositoryLifecycleForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForDataRepositoryLifecycle(DataRepositoryLifecycle value);
} // namespace DataRepositoryLifecycleMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,635 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/DataRepositoryTaskLifecycle.h>
#include <aws/fsx/model/DataRepositoryTaskType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/DataRepositoryTaskFailureDetails.h>
#include <aws/fsx/model/DataRepositoryTaskStatus.h>
#include <aws/fsx/model/CompletionReport.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>A description of the data repository task. You use data repository tasks to
* perform bulk transfer operations between your Amazon FSx file system and its
* linked data repository.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTask">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryTask
{
public:
DataRepositoryTask();
DataRepositoryTask(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryTask& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline const Aws::String& GetTaskId() const{ return m_taskId; }
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline bool TaskIdHasBeenSet() const { return m_taskIdHasBeenSet; }
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline void SetTaskId(const Aws::String& value) { m_taskIdHasBeenSet = true; m_taskId = value; }
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline void SetTaskId(Aws::String&& value) { m_taskIdHasBeenSet = true; m_taskId = std::move(value); }
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline void SetTaskId(const char* value) { m_taskIdHasBeenSet = true; m_taskId.assign(value); }
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline DataRepositoryTask& WithTaskId(const Aws::String& value) { SetTaskId(value); return *this;}
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline DataRepositoryTask& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;}
/**
* <p>The system-generated, unique 17-digit ID of the data repository task.</p>
*/
inline DataRepositoryTask& WithTaskId(const char* value) { SetTaskId(value); return *this;}
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline const DataRepositoryTaskLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline void SetLifecycle(const DataRepositoryTaskLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline void SetLifecycle(DataRepositoryTaskLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); }
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline DataRepositoryTask& WithLifecycle(const DataRepositoryTaskLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>The lifecycle status of the data repository task, as follows:</p> <ul> <li>
* <p> <code>PENDING</code> - Amazon FSx has not started the task.</p> </li> <li>
* <p> <code>EXECUTING</code> - Amazon FSx is processing the task.</p> </li> <li>
* <p> <code>FAILED</code> - Amazon FSx was not able to complete the task. For
* example, there may be files the task failed to process. The
* <a>DataRepositoryTaskFailureDetails</a> property provides more information about
* task failures.</p> </li> <li> <p> <code>SUCCEEDED</code> - FSx completed the
* task successfully.</p> </li> <li> <p> <code>CANCELED</code> - Amazon FSx
* canceled the task and it did not complete.</p> </li> <li> <p>
* <code>CANCELING</code> - FSx is in process of canceling the task.</p> </li>
* </ul> <p>You cannot delete an FSx for Lustre file system if there are
* data repository tasks for the file system in the <code>PENDING</code> or
* <code>EXECUTING</code> states. Please retry when the data repository task is
* finished (with a status of <code>CANCELED</code>, <code>SUCCEEDED</code>, or
* <code>FAILED</code>). You can use the DescribeDataRepositoryTask action to
* monitor the task status. Contact the FSx team if you need to delete your file
* system immediately.</p>
*/
inline DataRepositoryTask& WithLifecycle(DataRepositoryTaskLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline const DataRepositoryTaskType& GetType() const{ return m_type; }
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline void SetType(const DataRepositoryTaskType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline void SetType(DataRepositoryTaskType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline DataRepositoryTask& WithType(const DataRepositoryTaskType& value) { SetType(value); return *this;}
/**
* <p>The type of data repository task; EXPORT_TO_REPOSITORY is the only type
* currently supported.</p>
*/
inline DataRepositoryTask& WithType(DataRepositoryTaskType&& value) { SetType(std::move(value)); return *this;}
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
inline DataRepositoryTask& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
inline DataRepositoryTask& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline DataRepositoryTask& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
/**
* <p>The time that Amazon FSx began processing the task.</p>
*/
inline DataRepositoryTask& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline DataRepositoryTask& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
/**
* <p>The time that Amazon FSx completed processing the task, populated after the
* task is complete.</p>
*/
inline DataRepositoryTask& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
inline DataRepositoryTask& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
inline DataRepositoryTask& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
inline DataRepositoryTask& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline DataRepositoryTask& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline DataRepositoryTask& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline DataRepositoryTask& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline DataRepositoryTask& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
inline DataRepositoryTask& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
inline DataRepositoryTask& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
inline DataRepositoryTask& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline const Aws::Vector<Aws::String>& GetPaths() const{ return m_paths; }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline bool PathsHasBeenSet() const { return m_pathsHasBeenSet; }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline void SetPaths(const Aws::Vector<Aws::String>& value) { m_pathsHasBeenSet = true; m_paths = value; }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline void SetPaths(Aws::Vector<Aws::String>&& value) { m_pathsHasBeenSet = true; m_paths = std::move(value); }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline DataRepositoryTask& WithPaths(const Aws::Vector<Aws::String>& value) { SetPaths(value); return *this;}
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline DataRepositoryTask& WithPaths(Aws::Vector<Aws::String>&& value) { SetPaths(std::move(value)); return *this;}
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline DataRepositoryTask& AddPaths(const Aws::String& value) { m_pathsHasBeenSet = true; m_paths.push_back(value); return *this; }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline DataRepositoryTask& AddPaths(Aws::String&& value) { m_pathsHasBeenSet = true; m_paths.push_back(std::move(value)); return *this; }
/**
* <p>An array of paths on the Amazon FSx for Lustre file system that specify the
* data for the data repository task to process. For example, in an
* EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked
* data repository.</p> <p>(Default) If <code>Paths</code> is not specified, Amazon
* FSx uses the file system root directory.</p>
*/
inline DataRepositoryTask& AddPaths(const char* value) { m_pathsHasBeenSet = true; m_paths.push_back(value); return *this; }
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline const DataRepositoryTaskFailureDetails& GetFailureDetails() const{ return m_failureDetails; }
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; }
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline void SetFailureDetails(const DataRepositoryTaskFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; }
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline void SetFailureDetails(DataRepositoryTaskFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); }
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline DataRepositoryTask& WithFailureDetails(const DataRepositoryTaskFailureDetails& value) { SetFailureDetails(value); return *this;}
/**
* <p>Failure message describing why the task failed, it is populated only when
* <code>Lifecycle</code> is set to <code>FAILED</code>.</p>
*/
inline DataRepositoryTask& WithFailureDetails(DataRepositoryTaskFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;}
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline const DataRepositoryTaskStatus& GetStatus() const{ return m_status; }
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline void SetStatus(const DataRepositoryTaskStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline void SetStatus(DataRepositoryTaskStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline DataRepositoryTask& WithStatus(const DataRepositoryTaskStatus& value) { SetStatus(value); return *this;}
/**
* <p>Provides the status of the number of files that the task has processed
* successfully and failed to process.</p>
*/
inline DataRepositoryTask& WithStatus(DataRepositoryTaskStatus&& value) { SetStatus(std::move(value)); return *this;}
inline const CompletionReport& GetReport() const{ return m_report; }
inline bool ReportHasBeenSet() const { return m_reportHasBeenSet; }
inline void SetReport(const CompletionReport& value) { m_reportHasBeenSet = true; m_report = value; }
inline void SetReport(CompletionReport&& value) { m_reportHasBeenSet = true; m_report = std::move(value); }
inline DataRepositoryTask& WithReport(const CompletionReport& value) { SetReport(value); return *this;}
inline DataRepositoryTask& WithReport(CompletionReport&& value) { SetReport(std::move(value)); return *this;}
private:
Aws::String m_taskId;
bool m_taskIdHasBeenSet;
DataRepositoryTaskLifecycle m_lifecycle;
bool m_lifecycleHasBeenSet;
DataRepositoryTaskType m_type;
bool m_typeHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
Aws::Utils::DateTime m_startTime;
bool m_startTimeHasBeenSet;
Aws::Utils::DateTime m_endTime;
bool m_endTimeHasBeenSet;
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
Aws::Vector<Aws::String> m_paths;
bool m_pathsHasBeenSet;
DataRepositoryTaskFailureDetails m_failureDetails;
bool m_failureDetailsHasBeenSet;
DataRepositoryTaskStatus m_status;
bool m_statusHasBeenSet;
CompletionReport m_report;
bool m_reportHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Provides information about why a data repository task failed. Only populated
* when the task <code>Lifecycle</code> is set to
* <code>FAILED</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskFailureDetails">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryTaskFailureDetails
{
public:
DataRepositoryTaskFailureDetails();
DataRepositoryTaskFailureDetails(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryTaskFailureDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline DataRepositoryTaskFailureDetails& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline DataRepositoryTaskFailureDetails& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline DataRepositoryTaskFailureDetails& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,172 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/DataRepositoryTaskFilterName.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>(Optional) An array of filter objects you can use to filter the response of
* data repository tasks you will see in the the response. You can filter the tasks
* returned in the response by one or more file system IDs, task lifecycles, and by
* task type. A filter object consists of a filter <code>Name</code>, and one or
* more <code>Values</code> for the filter.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskFilter">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryTaskFilter
{
public:
DataRepositoryTaskFilter();
DataRepositoryTaskFilter(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryTaskFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline const DataRepositoryTaskFilterName& GetName() const{ return m_name; }
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline void SetName(const DataRepositoryTaskFilterName& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline void SetName(DataRepositoryTaskFilterName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline DataRepositoryTaskFilter& WithName(const DataRepositoryTaskFilterName& value) { SetName(value); return *this;}
/**
* <p>Name of the task property to use in filtering the tasks returned in the
* response.</p> <ul> <li> <p>Use <code>file-system-id</code> to retrieve data
* repository tasks for specific file systems.</p> </li> <li> <p>Use
* <code>task-lifecycle</code> to retrieve data repository tasks with one or more
* specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and
* SUCCEEDED.</p> </li> </ul>
*/
inline DataRepositoryTaskFilter& WithName(DataRepositoryTaskFilterName&& value) { SetName(std::move(value)); return *this;}
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline DataRepositoryTaskFilter& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;}
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline DataRepositoryTaskFilter& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;}
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline DataRepositoryTaskFilter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline DataRepositoryTaskFilter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; }
/**
* <p>Use Values to include the specific file system IDs and task lifecycle states
* for the filters you are using.</p>
*/
inline DataRepositoryTaskFilter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
private:
DataRepositoryTaskFilterName m_name;
bool m_nameHasBeenSet;
Aws::Vector<Aws::String> m_values;
bool m_valuesHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class DataRepositoryTaskFilterName
{
NOT_SET,
file_system_id,
task_lifecycle
};
namespace DataRepositoryTaskFilterNameMapper
{
AWS_FSX_API DataRepositoryTaskFilterName GetDataRepositoryTaskFilterNameForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForDataRepositoryTaskFilterName(DataRepositoryTaskFilterName value);
} // namespace DataRepositoryTaskFilterNameMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class DataRepositoryTaskLifecycle
{
NOT_SET,
PENDING,
EXECUTING,
FAILED,
SUCCEEDED,
CANCELED,
CANCELING
};
namespace DataRepositoryTaskLifecycleMapper
{
AWS_FSX_API DataRepositoryTaskLifecycle GetDataRepositoryTaskLifecycleForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForDataRepositoryTaskLifecycle(DataRepositoryTaskLifecycle value);
} // namespace DataRepositoryTaskLifecycleMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,172 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Provides the task status showing a running total of the total number of files
* to be processed, the number successfully processed, and the number of files the
* task failed to process.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DataRepositoryTaskStatus">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DataRepositoryTaskStatus
{
public:
DataRepositoryTaskStatus();
DataRepositoryTaskStatus(Aws::Utils::Json::JsonView jsonValue);
DataRepositoryTaskStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The total number of files that the task will process. While a task is
* executing, the sum of <code>SucceededCount</code> plus <code>FailedCount</code>
* may not equal <code>TotalCount</code>. When the task is complete,
* <code>TotalCount</code> equals the sum of <code>SucceededCount</code> plus
* <code>FailedCount</code>.</p>
*/
inline long long GetTotalCount() const{ return m_totalCount; }
/**
* <p>The total number of files that the task will process. While a task is
* executing, the sum of <code>SucceededCount</code> plus <code>FailedCount</code>
* may not equal <code>TotalCount</code>. When the task is complete,
* <code>TotalCount</code> equals the sum of <code>SucceededCount</code> plus
* <code>FailedCount</code>.</p>
*/
inline bool TotalCountHasBeenSet() const { return m_totalCountHasBeenSet; }
/**
* <p>The total number of files that the task will process. While a task is
* executing, the sum of <code>SucceededCount</code> plus <code>FailedCount</code>
* may not equal <code>TotalCount</code>. When the task is complete,
* <code>TotalCount</code> equals the sum of <code>SucceededCount</code> plus
* <code>FailedCount</code>.</p>
*/
inline void SetTotalCount(long long value) { m_totalCountHasBeenSet = true; m_totalCount = value; }
/**
* <p>The total number of files that the task will process. While a task is
* executing, the sum of <code>SucceededCount</code> plus <code>FailedCount</code>
* may not equal <code>TotalCount</code>. When the task is complete,
* <code>TotalCount</code> equals the sum of <code>SucceededCount</code> plus
* <code>FailedCount</code>.</p>
*/
inline DataRepositoryTaskStatus& WithTotalCount(long long value) { SetTotalCount(value); return *this;}
/**
* <p>A running total of the number of files that the task has successfully
* processed.</p>
*/
inline long long GetSucceededCount() const{ return m_succeededCount; }
/**
* <p>A running total of the number of files that the task has successfully
* processed.</p>
*/
inline bool SucceededCountHasBeenSet() const { return m_succeededCountHasBeenSet; }
/**
* <p>A running total of the number of files that the task has successfully
* processed.</p>
*/
inline void SetSucceededCount(long long value) { m_succeededCountHasBeenSet = true; m_succeededCount = value; }
/**
* <p>A running total of the number of files that the task has successfully
* processed.</p>
*/
inline DataRepositoryTaskStatus& WithSucceededCount(long long value) { SetSucceededCount(value); return *this;}
/**
* <p>A running total of the number of files that the task failed to process.</p>
*/
inline long long GetFailedCount() const{ return m_failedCount; }
/**
* <p>A running total of the number of files that the task failed to process.</p>
*/
inline bool FailedCountHasBeenSet() const { return m_failedCountHasBeenSet; }
/**
* <p>A running total of the number of files that the task failed to process.</p>
*/
inline void SetFailedCount(long long value) { m_failedCountHasBeenSet = true; m_failedCount = value; }
/**
* <p>A running total of the number of files that the task failed to process.</p>
*/
inline DataRepositoryTaskStatus& WithFailedCount(long long value) { SetFailedCount(value); return *this;}
/**
* <p>The time at which the task status was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
/**
* <p>The time at which the task status was last updated.</p>
*/
inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
/**
* <p>The time at which the task status was last updated.</p>
*/
inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
/**
* <p>The time at which the task status was last updated.</p>
*/
inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); }
/**
* <p>The time at which the task status was last updated.</p>
*/
inline DataRepositoryTaskStatus& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;}
/**
* <p>The time at which the task status was last updated.</p>
*/
inline DataRepositoryTaskStatus& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;}
private:
long long m_totalCount;
bool m_totalCountHasBeenSet;
long long m_succeededCount;
bool m_succeededCountHasBeenSet;
long long m_failedCount;
bool m_failedCountHasBeenSet;
Aws::Utils::DateTime m_lastUpdatedTime;
bool m_lastUpdatedTimeHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class DataRepositoryTaskType
{
NOT_SET,
EXPORT_TO_REPOSITORY
};
namespace DataRepositoryTaskTypeMapper
{
AWS_FSX_API DataRepositoryTaskType GetDataRepositoryTaskTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForDataRepositoryTaskType(DataRepositoryTaskType value);
} // namespace DataRepositoryTaskTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,150 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>DeleteBackup</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackupRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteBackupRequest : public FSxRequest
{
public:
DeleteBackupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBackup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline const Aws::String& GetBackupId() const{ return m_backupId; }
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline bool BackupIdHasBeenSet() const { return m_backupIdHasBeenSet; }
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline void SetBackupId(const Aws::String& value) { m_backupIdHasBeenSet = true; m_backupId = value; }
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline void SetBackupId(Aws::String&& value) { m_backupIdHasBeenSet = true; m_backupId = std::move(value); }
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline void SetBackupId(const char* value) { m_backupIdHasBeenSet = true; m_backupId.assign(value); }
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline DeleteBackupRequest& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;}
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline DeleteBackupRequest& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;}
/**
* <p>The ID of the backup you want to delete.</p>
*/
inline DeleteBackupRequest& WithBackupId(const char* value) { SetBackupId(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteBackupRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteBackupRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteBackupRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
private:
Aws::String m_backupId;
bool m_backupIdHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,112 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/BackupLifecycle.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for <code>DeleteBackup</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackupResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteBackupResult
{
public:
DeleteBackupResult();
DeleteBackupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteBackupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The ID of the backup deleted.</p>
*/
inline const Aws::String& GetBackupId() const{ return m_backupId; }
/**
* <p>The ID of the backup deleted.</p>
*/
inline void SetBackupId(const Aws::String& value) { m_backupId = value; }
/**
* <p>The ID of the backup deleted.</p>
*/
inline void SetBackupId(Aws::String&& value) { m_backupId = std::move(value); }
/**
* <p>The ID of the backup deleted.</p>
*/
inline void SetBackupId(const char* value) { m_backupId.assign(value); }
/**
* <p>The ID of the backup deleted.</p>
*/
inline DeleteBackupResult& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;}
/**
* <p>The ID of the backup deleted.</p>
*/
inline DeleteBackupResult& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;}
/**
* <p>The ID of the backup deleted.</p>
*/
inline DeleteBackupResult& WithBackupId(const char* value) { SetBackupId(value); return *this;}
/**
* <p>The lifecycle of the backup. Should be <code>DELETED</code>.</p>
*/
inline const BackupLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>The lifecycle of the backup. Should be <code>DELETED</code>.</p>
*/
inline void SetLifecycle(const BackupLifecycle& value) { m_lifecycle = value; }
/**
* <p>The lifecycle of the backup. Should be <code>DELETED</code>.</p>
*/
inline void SetLifecycle(BackupLifecycle&& value) { m_lifecycle = std::move(value); }
/**
* <p>The lifecycle of the backup. Should be <code>DELETED</code>.</p>
*/
inline DeleteBackupResult& WithLifecycle(const BackupLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>The lifecycle of the backup. Should be <code>DELETED</code>.</p>
*/
inline DeleteBackupResult& WithLifecycle(BackupLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
private:
Aws::String m_backupId;
BackupLifecycle m_lifecycle;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,159 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration object for the Amazon FSx for Lustre file system being
* deleted in the <code>DeleteFileSystem</code> operation.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemLustreConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemLustreConfiguration
{
public:
DeleteFileSystemLustreConfiguration();
DeleteFileSystemLustreConfiguration(Aws::Utils::Json::JsonView jsonValue);
DeleteFileSystemLustreConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Set <code>SkipFinalBackup</code> to false if you want to take a final backup
* of the file system you are deleting. By default, Amazon FSx will not take a
* final backup on your behalf when the <code>DeleteFileSystem</code> operation is
* invoked. (Default = true)</p>
*/
inline bool GetSkipFinalBackup() const{ return m_skipFinalBackup; }
/**
* <p>Set <code>SkipFinalBackup</code> to false if you want to take a final backup
* of the file system you are deleting. By default, Amazon FSx will not take a
* final backup on your behalf when the <code>DeleteFileSystem</code> operation is
* invoked. (Default = true)</p>
*/
inline bool SkipFinalBackupHasBeenSet() const { return m_skipFinalBackupHasBeenSet; }
/**
* <p>Set <code>SkipFinalBackup</code> to false if you want to take a final backup
* of the file system you are deleting. By default, Amazon FSx will not take a
* final backup on your behalf when the <code>DeleteFileSystem</code> operation is
* invoked. (Default = true)</p>
*/
inline void SetSkipFinalBackup(bool value) { m_skipFinalBackupHasBeenSet = true; m_skipFinalBackup = value; }
/**
* <p>Set <code>SkipFinalBackup</code> to false if you want to take a final backup
* of the file system you are deleting. By default, Amazon FSx will not take a
* final backup on your behalf when the <code>DeleteFileSystem</code> operation is
* invoked. (Default = true)</p>
*/
inline DeleteFileSystemLustreConfiguration& WithSkipFinalBackup(bool value) { SetSkipFinalBackup(value); return *this;}
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline const Aws::Vector<Tag>& GetFinalBackupTags() const{ return m_finalBackupTags; }
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline bool FinalBackupTagsHasBeenSet() const { return m_finalBackupTagsHasBeenSet; }
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline void SetFinalBackupTags(const Aws::Vector<Tag>& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = value; }
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline void SetFinalBackupTags(Aws::Vector<Tag>&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = std::move(value); }
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline DeleteFileSystemLustreConfiguration& WithFinalBackupTags(const Aws::Vector<Tag>& value) { SetFinalBackupTags(value); return *this;}
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline DeleteFileSystemLustreConfiguration& WithFinalBackupTags(Aws::Vector<Tag>&& value) { SetFinalBackupTags(std::move(value)); return *this;}
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline DeleteFileSystemLustreConfiguration& AddFinalBackupTags(const Tag& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(value); return *this; }
/**
* <p>Use if <code>SkipFinalBackup</code> is set to <code>false</code>, and you
* want to apply an array of tags to the final backup. If you have set the file
* system property <code>CopyTagsToBackups</code> to true, and you specify one or
* more <code>FinalBackupTags</code> when deleting a file system, Amazon FSx will
* not copy any existing file system tags to the backup.</p>
*/
inline DeleteFileSystemLustreConfiguration& AddFinalBackupTags(Tag&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(std::move(value)); return *this; }
private:
bool m_skipFinalBackup;
bool m_skipFinalBackupHasBeenSet;
Aws::Vector<Tag> m_finalBackupTags;
bool m_finalBackupTagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,135 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the Amazon FSx for Lustre file system being deleted
* in the <code>DeleteFileSystem</code> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemLustreResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemLustreResponse
{
public:
DeleteFileSystemLustreResponse();
DeleteFileSystemLustreResponse(Aws::Utils::Json::JsonView jsonValue);
DeleteFileSystemLustreResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline const Aws::String& GetFinalBackupId() const{ return m_finalBackupId; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline bool FinalBackupIdHasBeenSet() const { return m_finalBackupIdHasBeenSet; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(const Aws::String& value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId = value; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(Aws::String&& value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId = std::move(value); }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(const char* value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId.assign(value); }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemLustreResponse& WithFinalBackupId(const Aws::String& value) { SetFinalBackupId(value); return *this;}
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemLustreResponse& WithFinalBackupId(Aws::String&& value) { SetFinalBackupId(std::move(value)); return *this;}
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemLustreResponse& WithFinalBackupId(const char* value) { SetFinalBackupId(value); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline const Aws::Vector<Tag>& GetFinalBackupTags() const{ return m_finalBackupTags; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline bool FinalBackupTagsHasBeenSet() const { return m_finalBackupTagsHasBeenSet; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline void SetFinalBackupTags(const Aws::Vector<Tag>& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = value; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline void SetFinalBackupTags(Aws::Vector<Tag>&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = std::move(value); }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemLustreResponse& WithFinalBackupTags(const Aws::Vector<Tag>& value) { SetFinalBackupTags(value); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemLustreResponse& WithFinalBackupTags(Aws::Vector<Tag>&& value) { SetFinalBackupTags(std::move(value)); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemLustreResponse& AddFinalBackupTags(const Tag& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(value); return *this; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemLustreResponse& AddFinalBackupTags(Tag&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(std::move(value)); return *this; }
private:
Aws::String m_finalBackupId;
bool m_finalBackupIdHasBeenSet;
Aws::Vector<Tag> m_finalBackupTags;
bool m_finalBackupTagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,196 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/DeleteFileSystemWindowsConfiguration.h>
#include <aws/fsx/model/DeleteFileSystemLustreConfiguration.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>DeleteFileSystem</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemRequest : public FSxRequest
{
public:
DeleteFileSystemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteFileSystem"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline DeleteFileSystemRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline DeleteFileSystemRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
/**
* <p>The ID of the file system you want to delete.</p>
*/
inline DeleteFileSystemRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteFileSystemRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteFileSystemRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent deletion. This is automatically filled on your behalf when using the
* AWS CLI or SDK.</p>
*/
inline DeleteFileSystemRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
inline const DeleteFileSystemWindowsConfiguration& GetWindowsConfiguration() const{ return m_windowsConfiguration; }
inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
inline void SetWindowsConfiguration(const DeleteFileSystemWindowsConfiguration& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = value; }
inline void SetWindowsConfiguration(DeleteFileSystemWindowsConfiguration&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::move(value); }
inline DeleteFileSystemRequest& WithWindowsConfiguration(const DeleteFileSystemWindowsConfiguration& value) { SetWindowsConfiguration(value); return *this;}
inline DeleteFileSystemRequest& WithWindowsConfiguration(DeleteFileSystemWindowsConfiguration&& value) { SetWindowsConfiguration(std::move(value)); return *this;}
inline const DeleteFileSystemLustreConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; }
inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
inline void SetLustreConfiguration(const DeleteFileSystemLustreConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; }
inline void SetLustreConfiguration(DeleteFileSystemLustreConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); }
inline DeleteFileSystemRequest& WithLustreConfiguration(const DeleteFileSystemLustreConfiguration& value) { SetLustreConfiguration(value); return *this;}
inline DeleteFileSystemRequest& WithLustreConfiguration(DeleteFileSystemLustreConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;}
private:
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
DeleteFileSystemWindowsConfiguration m_windowsConfiguration;
bool m_windowsConfigurationHasBeenSet;
DeleteFileSystemLustreConfiguration m_lustreConfiguration;
bool m_lustreConfigurationHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,155 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/FileSystemLifecycle.h>
#include <aws/fsx/model/DeleteFileSystemWindowsResponse.h>
#include <aws/fsx/model/DeleteFileSystemLustreResponse.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the <code>DeleteFileSystem</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemResult
{
public:
DeleteFileSystemResult();
DeleteFileSystemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteFileSystemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The ID of the file system being deleted.</p>
*/
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
/**
* <p>The ID of the file system being deleted.</p>
*/
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemId = value; }
/**
* <p>The ID of the file system being deleted.</p>
*/
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemId = std::move(value); }
/**
* <p>The ID of the file system being deleted.</p>
*/
inline void SetFileSystemId(const char* value) { m_fileSystemId.assign(value); }
/**
* <p>The ID of the file system being deleted.</p>
*/
inline DeleteFileSystemResult& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
/**
* <p>The ID of the file system being deleted.</p>
*/
inline DeleteFileSystemResult& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
/**
* <p>The ID of the file system being deleted.</p>
*/
inline DeleteFileSystemResult& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>The file system lifecycle for the deletion request. Should be
* <code>DELETING</code>.</p>
*/
inline const FileSystemLifecycle& GetLifecycle() const{ return m_lifecycle; }
/**
* <p>The file system lifecycle for the deletion request. Should be
* <code>DELETING</code>.</p>
*/
inline void SetLifecycle(const FileSystemLifecycle& value) { m_lifecycle = value; }
/**
* <p>The file system lifecycle for the deletion request. Should be
* <code>DELETING</code>.</p>
*/
inline void SetLifecycle(FileSystemLifecycle&& value) { m_lifecycle = std::move(value); }
/**
* <p>The file system lifecycle for the deletion request. Should be
* <code>DELETING</code>.</p>
*/
inline DeleteFileSystemResult& WithLifecycle(const FileSystemLifecycle& value) { SetLifecycle(value); return *this;}
/**
* <p>The file system lifecycle for the deletion request. Should be
* <code>DELETING</code>.</p>
*/
inline DeleteFileSystemResult& WithLifecycle(FileSystemLifecycle&& value) { SetLifecycle(std::move(value)); return *this;}
inline const DeleteFileSystemWindowsResponse& GetWindowsResponse() const{ return m_windowsResponse; }
inline void SetWindowsResponse(const DeleteFileSystemWindowsResponse& value) { m_windowsResponse = value; }
inline void SetWindowsResponse(DeleteFileSystemWindowsResponse&& value) { m_windowsResponse = std::move(value); }
inline DeleteFileSystemResult& WithWindowsResponse(const DeleteFileSystemWindowsResponse& value) { SetWindowsResponse(value); return *this;}
inline DeleteFileSystemResult& WithWindowsResponse(DeleteFileSystemWindowsResponse&& value) { SetWindowsResponse(std::move(value)); return *this;}
inline const DeleteFileSystemLustreResponse& GetLustreResponse() const{ return m_lustreResponse; }
inline void SetLustreResponse(const DeleteFileSystemLustreResponse& value) { m_lustreResponse = value; }
inline void SetLustreResponse(DeleteFileSystemLustreResponse&& value) { m_lustreResponse = std::move(value); }
inline DeleteFileSystemResult& WithLustreResponse(const DeleteFileSystemLustreResponse& value) { SetLustreResponse(value); return *this;}
inline DeleteFileSystemResult& WithLustreResponse(DeleteFileSystemLustreResponse&& value) { SetLustreResponse(std::move(value)); return *this;}
private:
Aws::String m_fileSystemId;
FileSystemLifecycle m_lifecycle;
DeleteFileSystemWindowsResponse m_windowsResponse;
DeleteFileSystemLustreResponse m_lustreResponse;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,126 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration object for the Microsoft Windows file system used in the
* <code>DeleteFileSystem</code> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemWindowsConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemWindowsConfiguration
{
public:
DeleteFileSystemWindowsConfiguration();
DeleteFileSystemWindowsConfiguration(Aws::Utils::Json::JsonView jsonValue);
DeleteFileSystemWindowsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>By default, Amazon FSx for Windows takes a final backup on your behalf when
* the <code>DeleteFileSystem</code> operation is invoked. Doing this helps protect
* you from data loss, and we highly recommend taking the final backup. If you want
* to skip this backup, use this flag to do so.</p>
*/
inline bool GetSkipFinalBackup() const{ return m_skipFinalBackup; }
/**
* <p>By default, Amazon FSx for Windows takes a final backup on your behalf when
* the <code>DeleteFileSystem</code> operation is invoked. Doing this helps protect
* you from data loss, and we highly recommend taking the final backup. If you want
* to skip this backup, use this flag to do so.</p>
*/
inline bool SkipFinalBackupHasBeenSet() const { return m_skipFinalBackupHasBeenSet; }
/**
* <p>By default, Amazon FSx for Windows takes a final backup on your behalf when
* the <code>DeleteFileSystem</code> operation is invoked. Doing this helps protect
* you from data loss, and we highly recommend taking the final backup. If you want
* to skip this backup, use this flag to do so.</p>
*/
inline void SetSkipFinalBackup(bool value) { m_skipFinalBackupHasBeenSet = true; m_skipFinalBackup = value; }
/**
* <p>By default, Amazon FSx for Windows takes a final backup on your behalf when
* the <code>DeleteFileSystem</code> operation is invoked. Doing this helps protect
* you from data loss, and we highly recommend taking the final backup. If you want
* to skip this backup, use this flag to do so.</p>
*/
inline DeleteFileSystemWindowsConfiguration& WithSkipFinalBackup(bool value) { SetSkipFinalBackup(value); return *this;}
/**
* <p>A set of tags for your final backup.</p>
*/
inline const Aws::Vector<Tag>& GetFinalBackupTags() const{ return m_finalBackupTags; }
/**
* <p>A set of tags for your final backup.</p>
*/
inline bool FinalBackupTagsHasBeenSet() const { return m_finalBackupTagsHasBeenSet; }
/**
* <p>A set of tags for your final backup.</p>
*/
inline void SetFinalBackupTags(const Aws::Vector<Tag>& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = value; }
/**
* <p>A set of tags for your final backup.</p>
*/
inline void SetFinalBackupTags(Aws::Vector<Tag>&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = std::move(value); }
/**
* <p>A set of tags for your final backup.</p>
*/
inline DeleteFileSystemWindowsConfiguration& WithFinalBackupTags(const Aws::Vector<Tag>& value) { SetFinalBackupTags(value); return *this;}
/**
* <p>A set of tags for your final backup.</p>
*/
inline DeleteFileSystemWindowsConfiguration& WithFinalBackupTags(Aws::Vector<Tag>&& value) { SetFinalBackupTags(std::move(value)); return *this;}
/**
* <p>A set of tags for your final backup.</p>
*/
inline DeleteFileSystemWindowsConfiguration& AddFinalBackupTags(const Tag& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(value); return *this; }
/**
* <p>A set of tags for your final backup.</p>
*/
inline DeleteFileSystemWindowsConfiguration& AddFinalBackupTags(Tag&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(std::move(value)); return *this; }
private:
bool m_skipFinalBackup;
bool m_skipFinalBackupHasBeenSet;
Aws::Vector<Tag> m_finalBackupTags;
bool m_finalBackupTagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,135 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the Microsoft Windows file system used in the
* <code>DeleteFileSystem</code> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystemWindowsResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DeleteFileSystemWindowsResponse
{
public:
DeleteFileSystemWindowsResponse();
DeleteFileSystemWindowsResponse(Aws::Utils::Json::JsonView jsonValue);
DeleteFileSystemWindowsResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline const Aws::String& GetFinalBackupId() const{ return m_finalBackupId; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline bool FinalBackupIdHasBeenSet() const { return m_finalBackupIdHasBeenSet; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(const Aws::String& value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId = value; }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(Aws::String&& value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId = std::move(value); }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline void SetFinalBackupId(const char* value) { m_finalBackupIdHasBeenSet = true; m_finalBackupId.assign(value); }
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemWindowsResponse& WithFinalBackupId(const Aws::String& value) { SetFinalBackupId(value); return *this;}
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemWindowsResponse& WithFinalBackupId(Aws::String&& value) { SetFinalBackupId(std::move(value)); return *this;}
/**
* <p>The ID of the final backup for this file system.</p>
*/
inline DeleteFileSystemWindowsResponse& WithFinalBackupId(const char* value) { SetFinalBackupId(value); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline const Aws::Vector<Tag>& GetFinalBackupTags() const{ return m_finalBackupTags; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline bool FinalBackupTagsHasBeenSet() const { return m_finalBackupTagsHasBeenSet; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline void SetFinalBackupTags(const Aws::Vector<Tag>& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = value; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline void SetFinalBackupTags(Aws::Vector<Tag>&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags = std::move(value); }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemWindowsResponse& WithFinalBackupTags(const Aws::Vector<Tag>& value) { SetFinalBackupTags(value); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemWindowsResponse& WithFinalBackupTags(Aws::Vector<Tag>&& value) { SetFinalBackupTags(std::move(value)); return *this;}
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemWindowsResponse& AddFinalBackupTags(const Tag& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(value); return *this; }
/**
* <p>The set of tags applied to the final backup.</p>
*/
inline DeleteFileSystemWindowsResponse& AddFinalBackupTags(Tag&& value) { m_finalBackupTagsHasBeenSet = true; m_finalBackupTags.push_back(std::move(value)); return *this; }
private:
Aws::String m_finalBackupId;
bool m_finalBackupIdHasBeenSet;
Aws::Vector<Tag> m_finalBackupTags;
bool m_finalBackupTagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,245 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/Filter.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>DescribeBackups</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackupsRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DescribeBackupsRequest : public FSxRequest
{
public:
DescribeBackupsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeBackups"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline const Aws::Vector<Aws::String>& GetBackupIds() const{ return m_backupIds; }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline bool BackupIdsHasBeenSet() const { return m_backupIdsHasBeenSet; }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline void SetBackupIds(const Aws::Vector<Aws::String>& value) { m_backupIdsHasBeenSet = true; m_backupIds = value; }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline void SetBackupIds(Aws::Vector<Aws::String>&& value) { m_backupIdsHasBeenSet = true; m_backupIds = std::move(value); }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline DescribeBackupsRequest& WithBackupIds(const Aws::Vector<Aws::String>& value) { SetBackupIds(value); return *this;}
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline DescribeBackupsRequest& WithBackupIds(Aws::Vector<Aws::String>&& value) { SetBackupIds(std::move(value)); return *this;}
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline DescribeBackupsRequest& AddBackupIds(const Aws::String& value) { m_backupIdsHasBeenSet = true; m_backupIds.push_back(value); return *this; }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline DescribeBackupsRequest& AddBackupIds(Aws::String&& value) { m_backupIdsHasBeenSet = true; m_backupIds.push_back(std::move(value)); return *this; }
/**
* <p>IDs of the backups you want to retrieve (String). This overrides any filters.
* If any IDs are not found, BackupNotFound will be thrown.</p>
*/
inline DescribeBackupsRequest& AddBackupIds(const char* value) { m_backupIdsHasBeenSet = true; m_backupIds.push_back(value); return *this; }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline DescribeBackupsRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline DescribeBackupsRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline DescribeBackupsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
/**
* <p>Filters structure. Supported names are file-system-id and backup-type.</p>
*/
inline DescribeBackupsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
/**
* <p>Maximum number of backups to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Maximum number of backups to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Maximum number of backups to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Maximum number of backups to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline DescribeBackupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline DescribeBackupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline DescribeBackupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Opaque pagination token returned from a previous <code>DescribeBackups</code>
* operation (String). If a token present, the action continues the list from where
* the returning call left off.</p>
*/
inline DescribeBackupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_backupIds;
bool m_backupIdsHasBeenSet;
Aws::Vector<Filter> m_filters;
bool m_filtersHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,137 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/Backup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Response object for <code>DescribeBackups</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackupsResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DescribeBackupsResult
{
public:
DescribeBackupsResult();
DescribeBackupsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeBackupsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Any array of backups.</p>
*/
inline const Aws::Vector<Backup>& GetBackups() const{ return m_backups; }
/**
* <p>Any array of backups.</p>
*/
inline void SetBackups(const Aws::Vector<Backup>& value) { m_backups = value; }
/**
* <p>Any array of backups.</p>
*/
inline void SetBackups(Aws::Vector<Backup>&& value) { m_backups = std::move(value); }
/**
* <p>Any array of backups.</p>
*/
inline DescribeBackupsResult& WithBackups(const Aws::Vector<Backup>& value) { SetBackups(value); return *this;}
/**
* <p>Any array of backups.</p>
*/
inline DescribeBackupsResult& WithBackups(Aws::Vector<Backup>&& value) { SetBackups(std::move(value)); return *this;}
/**
* <p>Any array of backups.</p>
*/
inline DescribeBackupsResult& AddBackups(const Backup& value) { m_backups.push_back(value); return *this; }
/**
* <p>Any array of backups.</p>
*/
inline DescribeBackupsResult& AddBackups(Backup&& value) { m_backups.push_back(std::move(value)); return *this; }
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline DescribeBackupsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline DescribeBackupsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>This is present if there are more backups than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the backups. </p>
*/
inline DescribeBackupsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Backup> m_backups;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,205 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/DataRepositoryTaskFilter.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
*/
class AWS_FSX_API DescribeDataRepositoryTasksRequest : public FSxRequest
{
public:
DescribeDataRepositoryTasksRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeDataRepositoryTasks"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline const Aws::Vector<Aws::String>& GetTaskIds() const{ return m_taskIds; }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline bool TaskIdsHasBeenSet() const { return m_taskIdsHasBeenSet; }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline void SetTaskIds(const Aws::Vector<Aws::String>& value) { m_taskIdsHasBeenSet = true; m_taskIds = value; }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline void SetTaskIds(Aws::Vector<Aws::String>&& value) { m_taskIdsHasBeenSet = true; m_taskIds = std::move(value); }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline DescribeDataRepositoryTasksRequest& WithTaskIds(const Aws::Vector<Aws::String>& value) { SetTaskIds(value); return *this;}
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline DescribeDataRepositoryTasksRequest& WithTaskIds(Aws::Vector<Aws::String>&& value) { SetTaskIds(std::move(value)); return *this;}
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline DescribeDataRepositoryTasksRequest& AddTaskIds(const Aws::String& value) { m_taskIdsHasBeenSet = true; m_taskIds.push_back(value); return *this; }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline DescribeDataRepositoryTasksRequest& AddTaskIds(Aws::String&& value) { m_taskIdsHasBeenSet = true; m_taskIds.push_back(std::move(value)); return *this; }
/**
* <p>(Optional) IDs of the tasks whose descriptions you want to retrieve
* (String).</p>
*/
inline DescribeDataRepositoryTasksRequest& AddTaskIds(const char* value) { m_taskIdsHasBeenSet = true; m_taskIds.push_back(value); return *this; }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline const Aws::Vector<DataRepositoryTaskFilter>& GetFilters() const{ return m_filters; }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline void SetFilters(const Aws::Vector<DataRepositoryTaskFilter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline void SetFilters(Aws::Vector<DataRepositoryTaskFilter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline DescribeDataRepositoryTasksRequest& WithFilters(const Aws::Vector<DataRepositoryTaskFilter>& value) { SetFilters(value); return *this;}
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline DescribeDataRepositoryTasksRequest& WithFilters(Aws::Vector<DataRepositoryTaskFilter>&& value) { SetFilters(std::move(value)); return *this;}
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline DescribeDataRepositoryTasksRequest& AddFilters(const DataRepositoryTaskFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
/**
* <p>(Optional) You can use filters to narrow the
* <code>DescribeDataRepositoryTasks</code> response to include just tasks for
* specific file systems, or tasks in a specific lifecycle state.</p>
*/
inline DescribeDataRepositoryTasksRequest& AddFilters(DataRepositoryTaskFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
inline int GetMaxResults() const{ return m_maxResults; }
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
inline DescribeDataRepositoryTasksRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
inline DescribeDataRepositoryTasksRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
inline DescribeDataRepositoryTasksRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
inline DescribeDataRepositoryTasksRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_taskIds;
bool m_taskIdsHasBeenSet;
Aws::Vector<DataRepositoryTaskFilter> m_filters;
bool m_filtersHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,103 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/DataRepositoryTask.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
class AWS_FSX_API DescribeDataRepositoryTasksResult
{
public:
DescribeDataRepositoryTasksResult();
DescribeDataRepositoryTasksResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeDataRepositoryTasksResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline const Aws::Vector<DataRepositoryTask>& GetDataRepositoryTasks() const{ return m_dataRepositoryTasks; }
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline void SetDataRepositoryTasks(const Aws::Vector<DataRepositoryTask>& value) { m_dataRepositoryTasks = value; }
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline void SetDataRepositoryTasks(Aws::Vector<DataRepositoryTask>&& value) { m_dataRepositoryTasks = std::move(value); }
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline DescribeDataRepositoryTasksResult& WithDataRepositoryTasks(const Aws::Vector<DataRepositoryTask>& value) { SetDataRepositoryTasks(value); return *this;}
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline DescribeDataRepositoryTasksResult& WithDataRepositoryTasks(Aws::Vector<DataRepositoryTask>&& value) { SetDataRepositoryTasks(std::move(value)); return *this;}
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline DescribeDataRepositoryTasksResult& AddDataRepositoryTasks(const DataRepositoryTask& value) { m_dataRepositoryTasks.push_back(value); return *this; }
/**
* <p>The collection of data repository task descriptions returned.</p>
*/
inline DescribeDataRepositoryTasksResult& AddDataRepositoryTasks(DataRepositoryTask&& value) { m_dataRepositoryTasks.push_back(std::move(value)); return *this; }
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
inline DescribeDataRepositoryTasksResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
inline DescribeDataRepositoryTasksResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
inline DescribeDataRepositoryTasksResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<DataRepositoryTask> m_dataRepositoryTasks;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,191 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>DescribeFileSystems</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemsRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DescribeFileSystemsRequest : public FSxRequest
{
public:
DescribeFileSystemsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeFileSystems"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline const Aws::Vector<Aws::String>& GetFileSystemIds() const{ return m_fileSystemIds; }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline bool FileSystemIdsHasBeenSet() const { return m_fileSystemIdsHasBeenSet; }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline void SetFileSystemIds(const Aws::Vector<Aws::String>& value) { m_fileSystemIdsHasBeenSet = true; m_fileSystemIds = value; }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline void SetFileSystemIds(Aws::Vector<Aws::String>&& value) { m_fileSystemIdsHasBeenSet = true; m_fileSystemIds = std::move(value); }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline DescribeFileSystemsRequest& WithFileSystemIds(const Aws::Vector<Aws::String>& value) { SetFileSystemIds(value); return *this;}
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline DescribeFileSystemsRequest& WithFileSystemIds(Aws::Vector<Aws::String>&& value) { SetFileSystemIds(std::move(value)); return *this;}
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline DescribeFileSystemsRequest& AddFileSystemIds(const Aws::String& value) { m_fileSystemIdsHasBeenSet = true; m_fileSystemIds.push_back(value); return *this; }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline DescribeFileSystemsRequest& AddFileSystemIds(Aws::String&& value) { m_fileSystemIdsHasBeenSet = true; m_fileSystemIds.push_back(std::move(value)); return *this; }
/**
* <p>IDs of the file systems whose descriptions you want to retrieve (String).</p>
*/
inline DescribeFileSystemsRequest& AddFileSystemIds(const char* value) { m_fileSystemIdsHasBeenSet = true; m_fileSystemIds.push_back(value); return *this; }
/**
* <p>Maximum number of file systems to return in the response (integer). This
* parameter value must be greater than 0. The number of items that Amazon FSx
* returns is the minimum of the <code>MaxResults</code> parameter specified in the
* request and the service's internal maximum number of items per page.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Maximum number of file systems to return in the response (integer). This
* parameter value must be greater than 0. The number of items that Amazon FSx
* returns is the minimum of the <code>MaxResults</code> parameter specified in the
* request and the service's internal maximum number of items per page.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Maximum number of file systems to return in the response (integer). This
* parameter value must be greater than 0. The number of items that Amazon FSx
* returns is the minimum of the <code>MaxResults</code> parameter specified in the
* request and the service's internal maximum number of items per page.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Maximum number of file systems to return in the response (integer). This
* parameter value must be greater than 0. The number of items that Amazon FSx
* returns is the minimum of the <code>MaxResults</code> parameter specified in the
* request and the service's internal maximum number of items per page.</p>
*/
inline DescribeFileSystemsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline DescribeFileSystemsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline DescribeFileSystemsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>DescribeFileSystems</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline DescribeFileSystemsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_fileSystemIds;
bool m_fileSystemIdsHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,138 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeAction.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for <code>DescribeFileSystems</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemsResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API DescribeFileSystemsResult
{
public:
DescribeFileSystemsResult();
DescribeFileSystemsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeFileSystemsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>An array of file system descriptions.</p>
*/
inline const Aws::Vector<FileSystem>& GetFileSystems() const{ return m_fileSystems; }
/**
* <p>An array of file system descriptions.</p>
*/
inline void SetFileSystems(const Aws::Vector<FileSystem>& value) { m_fileSystems = value; }
/**
* <p>An array of file system descriptions.</p>
*/
inline void SetFileSystems(Aws::Vector<FileSystem>&& value) { m_fileSystems = std::move(value); }
/**
* <p>An array of file system descriptions.</p>
*/
inline DescribeFileSystemsResult& WithFileSystems(const Aws::Vector<FileSystem>& value) { SetFileSystems(value); return *this;}
/**
* <p>An array of file system descriptions.</p>
*/
inline DescribeFileSystemsResult& WithFileSystems(Aws::Vector<FileSystem>&& value) { SetFileSystems(std::move(value)); return *this;}
/**
* <p>An array of file system descriptions.</p>
*/
inline DescribeFileSystemsResult& AddFileSystems(const FileSystem& value) { m_fileSystems.push_back(value); return *this; }
/**
* <p>An array of file system descriptions.</p>
*/
inline DescribeFileSystemsResult& AddFileSystems(FileSystem&& value) { m_fileSystems.push_back(std::move(value)); return *this; }
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline DescribeFileSystemsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline DescribeFileSystemsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Present if there are more file systems than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the descriptions. </p>
*/
inline DescribeFileSystemsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<FileSystem> m_fileSystems;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class DriveCacheType
{
NOT_SET,
NONE,
READ
};
namespace DriveCacheTypeMapper
{
AWS_FSX_API DriveCacheType GetDriveCacheTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForDriveCacheType(DriveCacheType value);
} // namespace DriveCacheTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>A structure providing details of any failures that occur when creating the
* file system has failed.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/FileSystemFailureDetails">AWS
* API Reference</a></p>
*/
class AWS_FSX_API FileSystemFailureDetails
{
public:
FileSystemFailureDetails();
FileSystemFailureDetails(Aws::Utils::Json::JsonView jsonValue);
FileSystemFailureDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline FileSystemFailureDetails& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline FileSystemFailureDetails& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>A message describing any failures that occurred during file system
* creation.</p>
*/
inline FileSystemFailureDetails& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class FileSystemLifecycle
{
NOT_SET,
AVAILABLE,
CREATING,
FAILED,
DELETING,
MISCONFIGURED,
UPDATING
};
namespace FileSystemLifecycleMapper
{
AWS_FSX_API FileSystemLifecycle GetFileSystemLifecycleForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForFileSystemLifecycle(FileSystemLifecycle value);
} // namespace FileSystemLifecycleMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class FileSystemMaintenanceOperation
{
NOT_SET,
PATCHING,
BACKING_UP
};
namespace FileSystemMaintenanceOperationMapper
{
AWS_FSX_API FileSystemMaintenanceOperation GetFileSystemMaintenanceOperationForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForFileSystemMaintenanceOperation(FileSystemMaintenanceOperation value);
} // namespace FileSystemMaintenanceOperationMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class FileSystemType
{
NOT_SET,
WINDOWS,
LUSTRE
};
namespace FileSystemTypeMapper
{
AWS_FSX_API FileSystemType GetFileSystemTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForFileSystemType(FileSystemType value);
} // namespace FileSystemTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,140 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/FilterName.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>A filter used to restrict the results of describe calls. You can use multiple
* filters to return results that meet all applied filter
* requirements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/Filter">AWS API
* Reference</a></p>
*/
class AWS_FSX_API Filter
{
public:
Filter();
Filter(Aws::Utils::Json::JsonView jsonValue);
Filter& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name for this filter.</p>
*/
inline const FilterName& GetName() const{ return m_name; }
/**
* <p>The name for this filter.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name for this filter.</p>
*/
inline void SetName(const FilterName& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name for this filter.</p>
*/
inline void SetName(FilterName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name for this filter.</p>
*/
inline Filter& WithName(const FilterName& value) { SetName(value); return *this;}
/**
* <p>The name for this filter.</p>
*/
inline Filter& WithName(FilterName&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline Filter& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;}
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline Filter& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;}
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline Filter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline Filter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; }
/**
* <p>The values of the filter. These are all the values for any of the applied
* filters.</p>
*/
inline Filter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
private:
FilterName m_name;
bool m_nameHasBeenSet;
Aws::Vector<Aws::String> m_values;
bool m_valuesHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class FilterName
{
NOT_SET,
file_system_id,
backup_type,
file_system_type
};
namespace FilterNameMapper
{
AWS_FSX_API FilterName GetFilterNameForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForFilterName(FilterName value);
} // namespace FilterNameMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,118 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The error returned when a second request is received with the same client
* request token but different parameters settings. A client request token should
* always uniquely identify a single request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/IncompatibleParameterError">AWS
* API Reference</a></p>
*/
class AWS_FSX_API IncompatibleParameterError
{
public:
IncompatibleParameterError();
IncompatibleParameterError(Aws::Utils::Json::JsonView jsonValue);
IncompatibleParameterError& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline const Aws::String& GetParameter() const{ return m_parameter; }
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline bool ParameterHasBeenSet() const { return m_parameterHasBeenSet; }
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline void SetParameter(const Aws::String& value) { m_parameterHasBeenSet = true; m_parameter = value; }
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline void SetParameter(Aws::String&& value) { m_parameterHasBeenSet = true; m_parameter = std::move(value); }
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline void SetParameter(const char* value) { m_parameterHasBeenSet = true; m_parameter.assign(value); }
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline IncompatibleParameterError& WithParameter(const Aws::String& value) { SetParameter(value); return *this;}
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline IncompatibleParameterError& WithParameter(Aws::String&& value) { SetParameter(std::move(value)); return *this;}
/**
* <p>A parameter that is incompatible with the earlier request.</p>
*/
inline IncompatibleParameterError& WithParameter(const char* value) { SetParameter(value); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline IncompatibleParameterError& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline IncompatibleParameterError& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline IncompatibleParameterError& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_parameter;
bool m_parameterHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,134 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>One or more network settings specified in the request are invalid.
* <code>InvalidVpcId</code> means that the ID passed for the virtual private cloud
* (VPC) is invalid. <code>InvalidSubnetIds</code> returns the list of IDs for
* subnets that are either invalid or not part of the VPC specified.
* <code>InvalidSecurityGroupIds</code> returns the list of IDs for security groups
* that are either invalid or not part of the VPC specified.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/InvalidNetworkSettings">AWS
* API Reference</a></p>
*/
class AWS_FSX_API InvalidNetworkSettings
{
public:
InvalidNetworkSettings();
InvalidNetworkSettings(Aws::Utils::Json::JsonView jsonValue);
InvalidNetworkSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline InvalidNetworkSettings& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline InvalidNetworkSettings& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline InvalidNetworkSettings& WithMessage(const char* value) { SetMessage(value); return *this;}
inline const Aws::String& GetInvalidSubnetId() const{ return m_invalidSubnetId; }
inline bool InvalidSubnetIdHasBeenSet() const { return m_invalidSubnetIdHasBeenSet; }
inline void SetInvalidSubnetId(const Aws::String& value) { m_invalidSubnetIdHasBeenSet = true; m_invalidSubnetId = value; }
inline void SetInvalidSubnetId(Aws::String&& value) { m_invalidSubnetIdHasBeenSet = true; m_invalidSubnetId = std::move(value); }
inline void SetInvalidSubnetId(const char* value) { m_invalidSubnetIdHasBeenSet = true; m_invalidSubnetId.assign(value); }
inline InvalidNetworkSettings& WithInvalidSubnetId(const Aws::String& value) { SetInvalidSubnetId(value); return *this;}
inline InvalidNetworkSettings& WithInvalidSubnetId(Aws::String&& value) { SetInvalidSubnetId(std::move(value)); return *this;}
inline InvalidNetworkSettings& WithInvalidSubnetId(const char* value) { SetInvalidSubnetId(value); return *this;}
inline const Aws::String& GetInvalidSecurityGroupId() const{ return m_invalidSecurityGroupId; }
inline bool InvalidSecurityGroupIdHasBeenSet() const { return m_invalidSecurityGroupIdHasBeenSet; }
inline void SetInvalidSecurityGroupId(const Aws::String& value) { m_invalidSecurityGroupIdHasBeenSet = true; m_invalidSecurityGroupId = value; }
inline void SetInvalidSecurityGroupId(Aws::String&& value) { m_invalidSecurityGroupIdHasBeenSet = true; m_invalidSecurityGroupId = std::move(value); }
inline void SetInvalidSecurityGroupId(const char* value) { m_invalidSecurityGroupIdHasBeenSet = true; m_invalidSecurityGroupId.assign(value); }
inline InvalidNetworkSettings& WithInvalidSecurityGroupId(const Aws::String& value) { SetInvalidSecurityGroupId(value); return *this;}
inline InvalidNetworkSettings& WithInvalidSecurityGroupId(Aws::String&& value) { SetInvalidSecurityGroupId(std::move(value)); return *this;}
inline InvalidNetworkSettings& WithInvalidSecurityGroupId(const char* value) { SetInvalidSecurityGroupId(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::String m_invalidSubnetId;
bool m_invalidSubnetIdHasBeenSet;
Aws::String m_invalidSecurityGroupId;
bool m_invalidSecurityGroupIdHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,185 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>ListTagsForResource</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResourceRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ListTagsForResourceRequest : public FSxRequest
{
public:
ListTagsForResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The ARN of the Amazon FSx resource that will have its tags listed.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>Maximum number of tags to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Maximum number of tags to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Maximum number of tags to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Maximum number of tags to return in the response (integer). This parameter
* value must be greater than 0. The number of items that Amazon FSx returns is the
* minimum of the <code>MaxResults</code> parameter specified in the request and
* the service's internal maximum number of items per page.</p>
*/
inline ListTagsForResourceRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>Opaque pagination token returned from a previous
* <code>ListTagsForResource</code> operation (String). If a token present, the
* action continues the list from where the returning call left off.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,137 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for <code>ListTagsForResource</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResourceResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ListTagsForResourceResult
{
public:
ListTagsForResourceResult();
ListTagsForResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of tags on the resource.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of tags on the resource.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>A list of tags on the resource.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>A list of tags on the resource.</p>
*/
inline ListTagsForResourceResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of tags on the resource.</p>
*/
inline ListTagsForResourceResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of tags on the resource.</p>
*/
inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>A list of tags on the resource.</p>
*/
inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline ListTagsForResourceResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline ListTagsForResourceResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>This is present if there are more tags than returned in the response
* (String). You can use the <code>NextToken</code> value in the later request to
* fetch the tags. </p>
*/
inline ListTagsForResourceResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Tag> m_tags;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class LustreDeploymentType
{
NOT_SET,
SCRATCH_1,
SCRATCH_2,
PERSISTENT_1
};
namespace LustreDeploymentTypeMapper
{
AWS_FSX_API LustreDeploymentType GetLustreDeploymentTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForLustreDeploymentType(LustreDeploymentType value);
} // namespace LustreDeploymentTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,500 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/DataRepositoryConfiguration.h>
#include <aws/fsx/model/LustreDeploymentType.h>
#include <aws/fsx/model/DriveCacheType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration for the Amazon FSx for Lustre file system.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/LustreFileSystemConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API LustreFileSystemConfiguration
{
public:
LustreFileSystemConfiguration();
LustreFileSystemConfiguration(Aws::Utils::Json::JsonView jsonValue);
LustreFileSystemConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline LustreFileSystemConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline LustreFileSystemConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline LustreFileSystemConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
inline const DataRepositoryConfiguration& GetDataRepositoryConfiguration() const{ return m_dataRepositoryConfiguration; }
inline bool DataRepositoryConfigurationHasBeenSet() const { return m_dataRepositoryConfigurationHasBeenSet; }
inline void SetDataRepositoryConfiguration(const DataRepositoryConfiguration& value) { m_dataRepositoryConfigurationHasBeenSet = true; m_dataRepositoryConfiguration = value; }
inline void SetDataRepositoryConfiguration(DataRepositoryConfiguration&& value) { m_dataRepositoryConfigurationHasBeenSet = true; m_dataRepositoryConfiguration = std::move(value); }
inline LustreFileSystemConfiguration& WithDataRepositoryConfiguration(const DataRepositoryConfiguration& value) { SetDataRepositoryConfiguration(value); return *this;}
inline LustreFileSystemConfiguration& WithDataRepositoryConfiguration(DataRepositoryConfiguration&& value) { SetDataRepositoryConfiguration(std::move(value)); return *this;}
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline const LustreDeploymentType& GetDeploymentType() const{ return m_deploymentType; }
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline void SetDeploymentType(const LustreDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline void SetDeploymentType(LustreDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); }
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline LustreFileSystemConfiguration& WithDeploymentType(const LustreDeploymentType& value) { SetDeploymentType(value); return *this;}
/**
* <p>The deployment type of the FSX for Lustre file system. <i>Scratch deployment
* type</i> is designed for temporary storage and shorter-term processing of
* data.</p> <p> <code>SCRATCH_1</code> and <code>SCRATCH_2</code> deployment types
* are best suited for when you need temporary storage and shorter-term processing
* of data. The <code>SCRATCH_2</code> deployment type provides in-transit
* encryption of data and higher burst throughput capacity than
* <code>SCRATCH_1</code>.</p> <p>The <code>PERSISTENT_1</code> deployment type is
* used for longer-term storage and workloads and encryption of data in transit. To
* learn more about deployment types, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html">
* FSx for Lustre Deployment Options</a>. (Default = <code>SCRATCH_1</code>)</p>
*/
inline LustreFileSystemConfiguration& WithDeploymentType(LustreDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;}
/**
* <p> Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for <code>PERSISTENT_1</code> deployment
* types. </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40. </p>
*/
inline int GetPerUnitStorageThroughput() const{ return m_perUnitStorageThroughput; }
/**
* <p> Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for <code>PERSISTENT_1</code> deployment
* types. </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40. </p>
*/
inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
/**
* <p> Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for <code>PERSISTENT_1</code> deployment
* types. </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40. </p>
*/
inline void SetPerUnitStorageThroughput(int value) { m_perUnitStorageThroughputHasBeenSet = true; m_perUnitStorageThroughput = value; }
/**
* <p> Per unit storage throughput represents the megabytes per second of read or
* write throughput per 1 tebibyte of storage provisioned. File system throughput
* capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput
* (MB/s/TiB). This option is only valid for <code>PERSISTENT_1</code> deployment
* types. </p> <p>Valid values for SSD storage: 50, 100, 200. Valid values for HDD
* storage: 12, 40. </p>
*/
inline LustreFileSystemConfiguration& WithPerUnitStorageThroughput(int value) { SetPerUnitStorageThroughput(value); return *this;}
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline const Aws::String& GetMountName() const{ return m_mountName; }
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline bool MountNameHasBeenSet() const { return m_mountNameHasBeenSet; }
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline void SetMountName(const Aws::String& value) { m_mountNameHasBeenSet = true; m_mountName = value; }
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline void SetMountName(Aws::String&& value) { m_mountNameHasBeenSet = true; m_mountName = std::move(value); }
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline void SetMountName(const char* value) { m_mountNameHasBeenSet = true; m_mountName.assign(value); }
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline LustreFileSystemConfiguration& WithMountName(const Aws::String& value) { SetMountName(value); return *this;}
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline LustreFileSystemConfiguration& WithMountName(Aws::String&& value) { SetMountName(std::move(value)); return *this;}
/**
* <p>You use the <code>MountName</code> value when mounting the file system.</p>
* <p>For the <code>SCRATCH_1</code> deployment type, this value is always
* "<code>fsx</code>". For <code>SCRATCH_2</code> and <code>PERSISTENT_1</code>
* deployment types, this value is a string that is unique within an AWS Region.
* </p>
*/
inline LustreFileSystemConfiguration& WithMountName(const char* value) { SetMountName(value); return *this;}
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
inline LustreFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline LustreFileSystemConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
inline LustreFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
inline LustreFileSystemConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. If it's set to true, all tags on the file system are copied to all
* automatic backups and any user-initiated backups where the user doesn't specify
* any tags. If this value is true, and you specify one or more tags, only the
* specified tags are copied to backups. If you specify one or more tags when
* creating a user-initiated backup, no tags are copied from the file system,
* regardless of this value. (Default = false)</p>
*/
inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. If it's set to true, all tags on the file system are copied to all
* automatic backups and any user-initiated backups where the user doesn't specify
* any tags. If this value is true, and you specify one or more tags, only the
* specified tags are copied to backups. If you specify one or more tags when
* creating a user-initiated backup, no tags are copied from the file system,
* regardless of this value. (Default = false)</p>
*/
inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. If it's set to true, all tags on the file system are copied to all
* automatic backups and any user-initiated backups where the user doesn't specify
* any tags. If this value is true, and you specify one or more tags, only the
* specified tags are copied to backups. If you specify one or more tags when
* creating a user-initiated backup, no tags are copied from the file system,
* regardless of this value. (Default = false)</p>
*/
inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. If it's set to true, all tags on the file system are copied to all
* automatic backups and any user-initiated backups where the user doesn't specify
* any tags. If this value is true, and you specify one or more tags, only the
* specified tags are copied to backups. If you specify one or more tags when
* creating a user-initiated backup, no tags are copied from the file system,
* regardless of this value. (Default = false)</p>
*/
inline LustreFileSystemConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;}
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline const DriveCacheType& GetDriveCacheType() const{ return m_driveCacheType; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline bool DriveCacheTypeHasBeenSet() const { return m_driveCacheTypeHasBeenSet; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline void SetDriveCacheType(const DriveCacheType& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = value; }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline void SetDriveCacheType(DriveCacheType&& value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = std::move(value); }
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline LustreFileSystemConfiguration& WithDriveCacheType(const DriveCacheType& value) { SetDriveCacheType(value); return *this;}
/**
* <p>The type of drive cache used by PERSISTENT_1 file systems that are
* provisioned with HDD storage devices. This parameter is required when storage
* type is HDD. Set to <code>READ</code>, improve the performance for frequently
* accessed files and allows 20% of the total storage capacity of the file system
* to be cached. </p> <p>This parameter is required when <code>StorageType</code>
* is set to HDD.</p>
*/
inline LustreFileSystemConfiguration& WithDriveCacheType(DriveCacheType&& value) { SetDriveCacheType(std::move(value)); return *this;}
private:
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
DataRepositoryConfiguration m_dataRepositoryConfiguration;
bool m_dataRepositoryConfigurationHasBeenSet;
LustreDeploymentType m_deploymentType;
bool m_deploymentTypeHasBeenSet;
int m_perUnitStorageThroughput;
bool m_perUnitStorageThroughputHasBeenSet;
Aws::String m_mountName;
bool m_mountNameHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
bool m_copyTagsToBackups;
bool m_copyTagsToBackupsHasBeenSet;
DriveCacheType m_driveCacheType;
bool m_driveCacheTypeHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,118 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The resource specified for the tagging operation is not a resource type owned
* by Amazon FSx. Use the API of the relevant service to perform the operation.
* </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/NotServiceResourceError">AWS
* API Reference</a></p>
*/
class AWS_FSX_API NotServiceResourceError
{
public:
NotServiceResourceError();
NotServiceResourceError(Aws::Utils::Json::JsonView jsonValue);
NotServiceResourceError& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline NotServiceResourceError& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline NotServiceResourceError& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the non-Amazon FSx resource.</p>
*/
inline NotServiceResourceError& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline NotServiceResourceError& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline NotServiceResourceError& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline NotServiceResourceError& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class ReportFormat
{
NOT_SET,
REPORT_CSV_20191124
};
namespace ReportFormatMapper
{
AWS_FSX_API ReportFormat GetReportFormatForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForReportFormat(ReportFormat value);
} // namespace ReportFormatMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class ReportScope
{
NOT_SET,
FAILED_FILES_ONLY
};
namespace ReportScopeMapper
{
AWS_FSX_API ReportScope GetReportScopeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForReportScope(ReportScope value);
} // namespace ReportScopeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The resource specified does not support tagging. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ResourceDoesNotSupportTagging">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ResourceDoesNotSupportTagging
{
public:
ResourceDoesNotSupportTagging();
ResourceDoesNotSupportTagging(Aws::Utils::Json::JsonView jsonValue);
ResourceDoesNotSupportTagging& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline ResourceDoesNotSupportTagging& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline ResourceDoesNotSupportTagging& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the resource that doesn't support
* tagging.</p>
*/
inline ResourceDoesNotSupportTagging& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline ResourceDoesNotSupportTagging& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline ResourceDoesNotSupportTagging& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline ResourceDoesNotSupportTagging& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The resource specified by the Amazon Resource Name (ARN) can't be
* found.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ResourceNotFound">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ResourceNotFound
{
public:
ResourceNotFound();
ResourceNotFound(Aws::Utils::Json::JsonView jsonValue);
ResourceNotFound& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline ResourceNotFound& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline ResourceNotFound& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The resource ARN of the resource that can't be found.</p>
*/
inline ResourceNotFound& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline ResourceNotFound& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline ResourceNotFound& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline ResourceNotFound& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,313 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration of the self-managed Microsoft Active Directory (AD)
* directory to which the Windows File Server instance is joined.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/SelfManagedActiveDirectoryAttributes">AWS
* API Reference</a></p>
*/
class AWS_FSX_API SelfManagedActiveDirectoryAttributes
{
public:
SelfManagedActiveDirectoryAttributes();
SelfManagedActiveDirectoryAttributes(Aws::Utils::Json::JsonView jsonValue);
SelfManagedActiveDirectoryAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline const Aws::String& GetOrganizationalUnitDistinguishedName() const{ return m_organizationalUnitDistinguishedName; }
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline bool OrganizationalUnitDistinguishedNameHasBeenSet() const { return m_organizationalUnitDistinguishedNameHasBeenSet; }
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(const Aws::String& value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName = value; }
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(Aws::String&& value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName = std::move(value); }
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(const char* value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName.assign(value); }
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithOrganizationalUnitDistinguishedName(const Aws::String& value) { SetOrganizationalUnitDistinguishedName(value); return *this;}
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithOrganizationalUnitDistinguishedName(Aws::String&& value) { SetOrganizationalUnitDistinguishedName(std::move(value)); return *this;}
/**
* <p>The fully qualified distinguished name of the organizational unit within the
* self-managed AD directory to which the Windows File Server instance is
* joined.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithOrganizationalUnitDistinguishedName(const char* value) { SetOrganizationalUnitDistinguishedName(value); return *this;}
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline const Aws::String& GetFileSystemAdministratorsGroup() const{ return m_fileSystemAdministratorsGroup; }
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline bool FileSystemAdministratorsGroupHasBeenSet() const { return m_fileSystemAdministratorsGroupHasBeenSet; }
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline void SetFileSystemAdministratorsGroup(const Aws::String& value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup = value; }
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline void SetFileSystemAdministratorsGroup(Aws::String&& value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup = std::move(value); }
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline void SetFileSystemAdministratorsGroup(const char* value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup.assign(value); }
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithFileSystemAdministratorsGroup(const Aws::String& value) { SetFileSystemAdministratorsGroup(value); return *this;}
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithFileSystemAdministratorsGroup(Aws::String&& value) { SetFileSystemAdministratorsGroup(std::move(value)); return *this;}
/**
* <p>The name of the domain group whose members have administrative privileges for
* the FSx file system.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithFileSystemAdministratorsGroup(const char* value) { SetFileSystemAdministratorsGroup(value); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline const Aws::String& GetUserName() const{ return m_userName; }
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that FSx
* uses to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithUserName(const char* value) { SetUserName(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline const Aws::Vector<Aws::String>& GetDnsIps() const{ return m_dnsIps; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline bool DnsIpsHasBeenSet() const { return m_dnsIpsHasBeenSet; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline void SetDnsIps(const Aws::Vector<Aws::String>& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = value; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline void SetDnsIps(Aws::Vector<Aws::String>&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = std::move(value); }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithDnsIps(const Aws::Vector<Aws::String>& value) { SetDnsIps(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& WithDnsIps(Aws::Vector<Aws::String>&& value) { SetDnsIps(std::move(value)); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& AddDnsIps(const Aws::String& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& AddDnsIps(Aws::String&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryAttributes& AddDnsIps(const char* value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
Aws::String m_organizationalUnitDistinguishedName;
bool m_organizationalUnitDistinguishedNameHasBeenSet;
Aws::String m_fileSystemAdministratorsGroup;
bool m_fileSystemAdministratorsGroupHasBeenSet;
Aws::String m_userName;
bool m_userNameHasBeenSet;
Aws::Vector<Aws::String> m_dnsIps;
bool m_dnsIpsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,523 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration that Amazon FSx uses to join the Windows File Server
* instance to your self-managed (including on-premises) Microsoft Active Directory
* (AD) directory.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/SelfManagedActiveDirectoryConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API SelfManagedActiveDirectoryConfiguration
{
public:
SelfManagedActiveDirectoryConfiguration();
SelfManagedActiveDirectoryConfiguration(Aws::Utils::Json::JsonView jsonValue);
SelfManagedActiveDirectoryConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
/**
* <p>The fully qualified domain name of the self-managed AD directory, such as
* <code>corp.example.com</code>.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithDomainName(const char* value) { SetDomainName(value); return *this;}
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline const Aws::String& GetOrganizationalUnitDistinguishedName() const{ return m_organizationalUnitDistinguishedName; }
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline bool OrganizationalUnitDistinguishedNameHasBeenSet() const { return m_organizationalUnitDistinguishedNameHasBeenSet; }
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(const Aws::String& value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName = value; }
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(Aws::String&& value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName = std::move(value); }
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline void SetOrganizationalUnitDistinguishedName(const char* value) { m_organizationalUnitDistinguishedNameHasBeenSet = true; m_organizationalUnitDistinguishedName.assign(value); }
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithOrganizationalUnitDistinguishedName(const Aws::String& value) { SetOrganizationalUnitDistinguishedName(value); return *this;}
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithOrganizationalUnitDistinguishedName(Aws::String&& value) { SetOrganizationalUnitDistinguishedName(std::move(value)); return *this;}
/**
* <p>(Optional) The fully qualified distinguished name of the organizational unit
* within your self-managed AD directory that the Windows File Server instance will
* join. Amazon FSx only accepts OU as the direct parent of the file system. An
* example is <code>OU=FSx,DC=yourdomain,DC=corp,DC=com</code>. To learn more, see
* <a href="https://tools.ietf.org/html/rfc2253">RFC 2253</a>. If none is provided,
* the FSx file system is created in the default location of your self-managed AD
* directory. </p> <p>Only Organizational Unit (OU) objects can be the
* direct parent of the file system that you're creating.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithOrganizationalUnitDistinguishedName(const char* value) { SetOrganizationalUnitDistinguishedName(value); return *this;}
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline const Aws::String& GetFileSystemAdministratorsGroup() const{ return m_fileSystemAdministratorsGroup; }
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline bool FileSystemAdministratorsGroupHasBeenSet() const { return m_fileSystemAdministratorsGroupHasBeenSet; }
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline void SetFileSystemAdministratorsGroup(const Aws::String& value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup = value; }
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline void SetFileSystemAdministratorsGroup(Aws::String&& value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup = std::move(value); }
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline void SetFileSystemAdministratorsGroup(const char* value) { m_fileSystemAdministratorsGroupHasBeenSet = true; m_fileSystemAdministratorsGroup.assign(value); }
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithFileSystemAdministratorsGroup(const Aws::String& value) { SetFileSystemAdministratorsGroup(value); return *this;}
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithFileSystemAdministratorsGroup(Aws::String&& value) { SetFileSystemAdministratorsGroup(std::move(value)); return *this;}
/**
* <p>(Optional) The name of the domain group whose members are granted
* administrative privileges for the file system. Administrative privileges include
* taking ownership of files and folders, setting audit controls (audit ACLs) on
* files and folders, and administering the file system remotely by using the FSx
* Remote PowerShell. The group that you specify must already exist in your domain.
* If you don't provide one, your AD domain's Domain Admins group is used.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithFileSystemAdministratorsGroup(const char* value) { SetFileSystemAdministratorsGroup(value); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline const Aws::String& GetUserName() const{ return m_userName; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>, or in the default location
* of your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithUserName(const char* value) { SetUserName(value); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline const Aws::String& GetPassword() const{ return m_password; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithPassword(const Aws::String& value) { SetPassword(value); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfiguration& WithPassword(const char* value) { SetPassword(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline const Aws::Vector<Aws::String>& GetDnsIps() const{ return m_dnsIps; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline bool DnsIpsHasBeenSet() const { return m_dnsIpsHasBeenSet; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline void SetDnsIps(const Aws::Vector<Aws::String>& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = value; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline void SetDnsIps(Aws::Vector<Aws::String>&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = std::move(value); }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline SelfManagedActiveDirectoryConfiguration& WithDnsIps(const Aws::Vector<Aws::String>& value) { SetDnsIps(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline SelfManagedActiveDirectoryConfiguration& WithDnsIps(Aws::Vector<Aws::String>&& value) { SetDnsIps(std::move(value)); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline SelfManagedActiveDirectoryConfiguration& AddDnsIps(const Aws::String& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline SelfManagedActiveDirectoryConfiguration& AddDnsIps(Aws::String&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory. The IP addresses need to be either in the same VPC
* CIDR range as the one in which your Amazon FSx file system is being created, or
* in the private IP version 4 (IPv4) address ranges, as specified in <a
* href="http://www.faqs.org/rfcs/rfc1918.html">RFC 1918</a>:</p> <ul> <li>
* <p>10.0.0.0 - 10.255.255.255 (10/8 prefix)</p> </li> <li> <p>172.16.0.0 -
* 172.31.255.255 (172.16/12 prefix)</p> </li> <li> <p>192.168.0.0 -
* 192.168.255.255 (192.168/16 prefix)</p> </li> </ul>
*/
inline SelfManagedActiveDirectoryConfiguration& AddDnsIps(const char* value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet;
Aws::String m_organizationalUnitDistinguishedName;
bool m_organizationalUnitDistinguishedNameHasBeenSet;
Aws::String m_fileSystemAdministratorsGroup;
bool m_fileSystemAdministratorsGroupHasBeenSet;
Aws::String m_userName;
bool m_userNameHasBeenSet;
Aws::String m_password;
bool m_passwordHasBeenSet;
Aws::Vector<Aws::String> m_dnsIps;
bool m_dnsIpsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,225 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration that Amazon FSx uses to join the Windows File Server
* instance to a self-managed Microsoft Active Directory (AD)
* directory.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/SelfManagedActiveDirectoryConfigurationUpdates">AWS
* API Reference</a></p>
*/
class AWS_FSX_API SelfManagedActiveDirectoryConfigurationUpdates
{
public:
SelfManagedActiveDirectoryConfigurationUpdates();
SelfManagedActiveDirectoryConfigurationUpdates(Aws::Utils::Json::JsonView jsonValue);
SelfManagedActiveDirectoryConfigurationUpdates& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline const Aws::String& GetUserName() const{ return m_userName; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
/**
* <p>The user name for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain. This account must have the
* permission to join computers to the domain in the organizational unit provided
* in <code>OrganizationalUnitDistinguishedName</code>.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithUserName(const char* value) { SetUserName(value); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline const Aws::String& GetPassword() const{ return m_password; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); }
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithPassword(const Aws::String& value) { SetPassword(value); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;}
/**
* <p>The password for the service account on your self-managed AD domain that
* Amazon FSx will use to join to your AD domain.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithPassword(const char* value) { SetPassword(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline const Aws::Vector<Aws::String>& GetDnsIps() const{ return m_dnsIps; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline bool DnsIpsHasBeenSet() const { return m_dnsIpsHasBeenSet; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline void SetDnsIps(const Aws::Vector<Aws::String>& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = value; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline void SetDnsIps(Aws::Vector<Aws::String>&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps = std::move(value); }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithDnsIps(const Aws::Vector<Aws::String>& value) { SetDnsIps(value); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& WithDnsIps(Aws::Vector<Aws::String>&& value) { SetDnsIps(std::move(value)); return *this;}
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& AddDnsIps(const Aws::String& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& AddDnsIps(Aws::String&& value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to two IP addresses of DNS servers or domain controllers in the
* self-managed AD directory.</p>
*/
inline SelfManagedActiveDirectoryConfigurationUpdates& AddDnsIps(const char* value) { m_dnsIpsHasBeenSet = true; m_dnsIps.push_back(value); return *this; }
private:
Aws::String m_userName;
bool m_userNameHasBeenSet;
Aws::String m_password;
bool m_passwordHasBeenSet;
Aws::Vector<Aws::String> m_dnsIps;
bool m_dnsIpsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class ServiceLimit
{
NOT_SET,
FILE_SYSTEM_COUNT,
TOTAL_THROUGHPUT_CAPACITY,
TOTAL_STORAGE,
TOTAL_USER_INITIATED_BACKUPS
};
namespace ServiceLimitMapper
{
AWS_FSX_API ServiceLimit GetServiceLimitForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForServiceLimit(ServiceLimit value);
} // namespace ServiceLimitMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/ServiceLimit.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>An error indicating that a particular service limit was exceeded. You can
* increase some service limits by contacting AWS Support. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ServiceLimitExceeded">AWS
* API Reference</a></p>
*/
class AWS_FSX_API ServiceLimitExceeded
{
public:
ServiceLimitExceeded();
ServiceLimitExceeded(Aws::Utils::Json::JsonView jsonValue);
ServiceLimitExceeded& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline const ServiceLimit& GetLimit() const{ return m_limit; }
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline void SetLimit(const ServiceLimit& value) { m_limitHasBeenSet = true; m_limit = value; }
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline void SetLimit(ServiceLimit&& value) { m_limitHasBeenSet = true; m_limit = std::move(value); }
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline ServiceLimitExceeded& WithLimit(const ServiceLimit& value) { SetLimit(value); return *this;}
/**
* <p>Enumeration of the service limit that was exceeded. </p>
*/
inline ServiceLimitExceeded& WithLimit(ServiceLimit&& value) { SetLimit(std::move(value)); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline ServiceLimitExceeded& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline ServiceLimitExceeded& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline ServiceLimitExceeded& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
ServiceLimit m_limit;
bool m_limitHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class Status
{
NOT_SET,
FAILED,
IN_PROGRESS,
PENDING,
COMPLETED,
UPDATED_OPTIMIZING
};
namespace StatusMapper
{
AWS_FSX_API Status GetStatusForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForStatus(Status value);
} // namespace StatusMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class StorageType
{
NOT_SET,
SSD,
HDD
};
namespace StorageTypeMapper
{
AWS_FSX_API StorageType GetStorageTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForStorageType(StorageType value);
} // namespace StorageTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,164 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Specifies a key-value pair for a resource tag.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/Tag">AWS API
* Reference</a></p>
*/
class AWS_FSX_API Tag
{
public:
Tag();
Tag(Aws::Utils::Json::JsonView jsonValue);
Tag& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>A value that specifies the <code>TagKey</code>, the name of the tag. Tag keys
* must be unique for the resource to which they are attached.</p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>A value that specifies the <code>TagValue</code>, the value assigned to the
* corresponding tag key. Tag values can be null and don't have to be unique in a
* tag set. For example, you can have a key-value pair in a tag set of
* <code>finances : April</code> and also of <code>payroll : April</code>.</p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,151 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/Tag.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for the <code>TagResource</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResourceRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API TagResourceRequest : public FSxRequest
{
public:
TagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline TagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline TagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
* tag.</p>
*/
inline TagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline TagResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline TagResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of tags for the resource. If a tag with a given key already exists,
* the value is replaced by the one specified in this parameter.</p>
*/
inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the <code>TagResource</code> operation.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResourceResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API TagResourceResult
{
public:
TagResourceResult();
TagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
TagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,148 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for <code>UntagResource</code> action.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResourceRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UntagResourceRequest : public FSxRequest
{
public:
UntagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline UntagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline UntagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>The ARN of the Amazon FSx resource to untag.</p>
*/
inline UntagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
/**
* <p>A list of keys of tags on the resource to untag. In case the tag key doesn't
* exist, the call will still succeed to be idempotent.</p>
*/
inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Aws::String> m_tagKeys;
bool m_tagKeysHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for <code>UntagResource</code> action.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResourceResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UntagResourceResult
{
public:
UntagResourceResult();
UntagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UntagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,280 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/AutoImportPolicyType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration object for Amazon FSx for Lustre file systems used in the
* <code>UpdateFileSystem</code> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystemLustreConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UpdateFileSystemLustreConfiguration
{
public:
UpdateFileSystemLustreConfiguration();
UpdateFileSystemLustreConfiguration(Aws::Utils::Json::JsonView jsonValue);
UpdateFileSystemLustreConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline UpdateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline UpdateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>(Optional) The preferred start time to perform weekly maintenance, formatted
* d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
* beginning with Monday and ending with Sunday.</p>
*/
inline UpdateFileSystemLustreConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
inline UpdateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline UpdateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
inline UpdateFileSystemLustreConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
inline UpdateFileSystemLustreConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline const AutoImportPolicyType& GetAutoImportPolicy() const{ return m_autoImportPolicy; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline bool AutoImportPolicyHasBeenSet() const { return m_autoImportPolicyHasBeenSet; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(const AutoImportPolicyType& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = value; }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline void SetAutoImportPolicy(AutoImportPolicyType&& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = std::move(value); }
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline UpdateFileSystemLustreConfiguration& WithAutoImportPolicy(const AutoImportPolicyType& value) { SetAutoImportPolicy(value); return *this;}
/**
* <p> (Optional) When you create your file system, your existing S3 objects appear
* as file and directory listings. Use this property to choose how Amazon FSx keeps
* your file and directory listing up to date as you add or modify objects in your
* linked S3 bucket. <code>AutoImportPolicy</code> can have the following
* values:</p> <ul> <li> <p> <code>NONE</code> - (Default) AutoImport is off.
* Amazon FSx only updates file and directory listings from the linked S3 bucket
* when the file system is created. FSx does not update the file and directory
* listing for any new or changed objects after choosing this option.</p> </li>
* <li> <p> <code>NEW</code> - AutoImport is on. Amazon FSx automatically imports
* directory listings of any new objects added to the linked S3 bucket that do not
* currently exist in the FSx file system. </p> </li> <li> <p>
* <code>NEW_CHANGED</code> - AutoImport is on. Amazon FSx automatically imports
* file and directory listings of any new objects added to the S3 bucket and any
* existing objects that are changed in the S3 bucket after you choose this option.
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html">Automatically
* import updates from your S3 bucket</a>.</p>
*/
inline UpdateFileSystemLustreConfiguration& WithAutoImportPolicy(AutoImportPolicyType&& value) { SetAutoImportPolicy(std::move(value)); return *this;}
private:
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
AutoImportPolicyType m_autoImportPolicy;
bool m_autoImportPolicyHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,274 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/FSxRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/UpdateFileSystemWindowsConfiguration.h>
#include <aws/fsx/model/UpdateFileSystemLustreConfiguration.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
/**
* <p>The request object for the <code>UpdateFileSystem</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystemRequest">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UpdateFileSystemRequest : public FSxRequest
{
public:
UpdateFileSystemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateFileSystem"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; }
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; }
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); }
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); }
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline UpdateFileSystemRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;}
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline UpdateFileSystemRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;}
/**
* <p>Identifies the file system that you are updating.</p>
*/
inline UpdateFileSystemRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline UpdateFileSystemRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline UpdateFileSystemRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A string of up to 64 ASCII characters that Amazon FSx uses to ensure
* idempotent updates. This string is automatically filled on your behalf when you
* use the AWS Command Line Interface (AWS CLI) or an AWS SDK.</p>
*/
inline UpdateFileSystemRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>Use this parameter to increase the storage capacity of an Amazon FSx for
* Windows File Server file system. Specifies the storage capacity target value,
* GiB, for the file system you're updating. The storage capacity target value must
* be at least 10 percent (%) greater than the current storage capacity value. In
* order to increase storage capacity, the file system needs to have at least 16
* MB/s of throughput capacity. You cannot make a storage capacity increase request
* if there is an existing storage capacity increase request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p>
*/
inline int GetStorageCapacity() const{ return m_storageCapacity; }
/**
* <p>Use this parameter to increase the storage capacity of an Amazon FSx for
* Windows File Server file system. Specifies the storage capacity target value,
* GiB, for the file system you're updating. The storage capacity target value must
* be at least 10 percent (%) greater than the current storage capacity value. In
* order to increase storage capacity, the file system needs to have at least 16
* MB/s of throughput capacity. You cannot make a storage capacity increase request
* if there is an existing storage capacity increase request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p>
*/
inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
/**
* <p>Use this parameter to increase the storage capacity of an Amazon FSx for
* Windows File Server file system. Specifies the storage capacity target value,
* GiB, for the file system you're updating. The storage capacity target value must
* be at least 10 percent (%) greater than the current storage capacity value. In
* order to increase storage capacity, the file system needs to have at least 16
* MB/s of throughput capacity. You cannot make a storage capacity increase request
* if there is an existing storage capacity increase request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p>
*/
inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; }
/**
* <p>Use this parameter to increase the storage capacity of an Amazon FSx for
* Windows File Server file system. Specifies the storage capacity target value,
* GiB, for the file system you're updating. The storage capacity target value must
* be at least 10 percent (%) greater than the current storage capacity value. In
* order to increase storage capacity, the file system needs to have at least 16
* MB/s of throughput capacity. You cannot make a storage capacity increase request
* if there is an existing storage capacity increase request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html">Managing
* Storage Capacity</a>.</p>
*/
inline UpdateFileSystemRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;}
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline const UpdateFileSystemWindowsConfiguration& GetWindowsConfiguration() const{ return m_windowsConfiguration; }
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline void SetWindowsConfiguration(const UpdateFileSystemWindowsConfiguration& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = value; }
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline void SetWindowsConfiguration(UpdateFileSystemWindowsConfiguration&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::move(value); }
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline UpdateFileSystemRequest& WithWindowsConfiguration(const UpdateFileSystemWindowsConfiguration& value) { SetWindowsConfiguration(value); return *this;}
/**
* <p>The configuration updates for an Amazon FSx for Windows File Server file
* system.</p>
*/
inline UpdateFileSystemRequest& WithWindowsConfiguration(UpdateFileSystemWindowsConfiguration&& value) { SetWindowsConfiguration(std::move(value)); return *this;}
inline const UpdateFileSystemLustreConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; }
inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
inline void SetLustreConfiguration(const UpdateFileSystemLustreConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; }
inline void SetLustreConfiguration(UpdateFileSystemLustreConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); }
inline UpdateFileSystemRequest& WithLustreConfiguration(const UpdateFileSystemLustreConfiguration& value) { SetLustreConfiguration(value); return *this;}
inline UpdateFileSystemRequest& WithLustreConfiguration(UpdateFileSystemLustreConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;}
private:
Aws::String m_fileSystemId;
bool m_fileSystemIdHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
int m_storageCapacity;
bool m_storageCapacityHasBeenSet;
UpdateFileSystemWindowsConfiguration m_windowsConfiguration;
bool m_windowsConfigurationHasBeenSet;
UpdateFileSystemLustreConfiguration m_lustreConfiguration;
bool m_lustreConfigurationHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/fsx/model/FileSystem.h>
#include <aws/fsx/model/AdministrativeAction.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The response object for the <code>UpdateFileSystem</code>
* operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystemResponse">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UpdateFileSystemResult
{
public:
UpdateFileSystemResult();
UpdateFileSystemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateFileSystemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A description of the file system that was updated.</p>
*/
inline const FileSystem& GetFileSystem() const{ return m_fileSystem; }
/**
* <p>A description of the file system that was updated.</p>
*/
inline void SetFileSystem(const FileSystem& value) { m_fileSystem = value; }
/**
* <p>A description of the file system that was updated.</p>
*/
inline void SetFileSystem(FileSystem&& value) { m_fileSystem = std::move(value); }
/**
* <p>A description of the file system that was updated.</p>
*/
inline UpdateFileSystemResult& WithFileSystem(const FileSystem& value) { SetFileSystem(value); return *this;}
/**
* <p>A description of the file system that was updated.</p>
*/
inline UpdateFileSystemResult& WithFileSystem(FileSystem&& value) { SetFileSystem(std::move(value)); return *this;}
private:
FileSystem m_fileSystem;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,299 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/SelfManagedActiveDirectoryConfigurationUpdates.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>Updates the configuration for an existing Amazon FSx for Windows File Server
* file system. Amazon FSx only overwrites existing properties with non-null values
* provided in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystemWindowsConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API UpdateFileSystemWindowsConfiguration
{
public:
UpdateFileSystemWindowsConfiguration();
UpdateFileSystemWindowsConfiguration(Aws::Utils::Json::JsonView jsonValue);
UpdateFileSystemWindowsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 =
* Monday and 7 = Sunday.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline UpdateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline UpdateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
/**
* <p>The preferred time to start the daily automatic backup, in the UTC time zone,
* for example, <code>02:00</code> </p>
*/
inline UpdateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>The number of days to retain automatic daily backups. Setting this to zero
* (0) disables automatic daily backups. You can retain automatic daily backups for
* a maximum of 90 days. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups">Working
* with Automatic Daily Backups</a>.</p>
*/
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
/**
* <p>The number of days to retain automatic daily backups. Setting this to zero
* (0) disables automatic daily backups. You can retain automatic daily backups for
* a maximum of 90 days. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups">Working
* with Automatic Daily Backups</a>.</p>
*/
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
/**
* <p>The number of days to retain automatic daily backups. Setting this to zero
* (0) disables automatic daily backups. You can retain automatic daily backups for
* a maximum of 90 days. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups">Working
* with Automatic Daily Backups</a>.</p>
*/
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
/**
* <p>The number of days to retain automatic daily backups. Setting this to zero
* (0) disables automatic daily backups. You can retain automatic daily backups for
* a maximum of 90 days. For more information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups">Working
* with Automatic Daily Backups</a>.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p>Sets the target value for a file system's throughput capacity, in MB/s, that
* you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256,
* 512, 1024, 2048. You cannot make a throughput capacity update request if there
* is an existing throughput capacity update request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html">Managing
* Throughput Capacity</a>.</p>
*/
inline int GetThroughputCapacity() const{ return m_throughputCapacity; }
/**
* <p>Sets the target value for a file system's throughput capacity, in MB/s, that
* you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256,
* 512, 1024, 2048. You cannot make a throughput capacity update request if there
* is an existing throughput capacity update request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html">Managing
* Throughput Capacity</a>.</p>
*/
inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; }
/**
* <p>Sets the target value for a file system's throughput capacity, in MB/s, that
* you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256,
* 512, 1024, 2048. You cannot make a throughput capacity update request if there
* is an existing throughput capacity update request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html">Managing
* Throughput Capacity</a>.</p>
*/
inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; }
/**
* <p>Sets the target value for a file system's throughput capacity, in MB/s, that
* you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256,
* 512, 1024, 2048. You cannot make a throughput capacity update request if there
* is an existing throughput capacity update request in progress. For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html">Managing
* Throughput Capacity</a>.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;}
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline const SelfManagedActiveDirectoryConfigurationUpdates& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; }
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; }
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfigurationUpdates& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; }
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfigurationUpdates&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); }
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfigurationUpdates& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;}
/**
* <p>The configuration Amazon FSx uses to join the Windows File Server instance to
* the self-managed Microsoft AD directory. You cannot make a self-managed
* Microsoft AD update request if there is an existing self-managed Microsoft AD
* update request in progress.</p>
*/
inline UpdateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfigurationUpdates&& value) { SetSelfManagedActiveDirectoryConfiguration(std::move(value)); return *this;}
private:
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
int m_throughputCapacity;
bool m_throughputCapacityHasBeenSet;
SelfManagedActiveDirectoryConfigurationUpdates m_selfManagedActiveDirectoryConfiguration;
bool m_selfManagedActiveDirectoryConfigurationHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace FSx
{
namespace Model
{
enum class WindowsDeploymentType
{
NOT_SET,
MULTI_AZ_1,
SINGLE_AZ_1,
SINGLE_AZ_2
};
namespace WindowsDeploymentTypeMapper
{
AWS_FSX_API WindowsDeploymentType GetWindowsDeploymentTypeForName(const Aws::String& name);
AWS_FSX_API Aws::String GetNameForWindowsDeploymentType(WindowsDeploymentType value);
} // namespace WindowsDeploymentTypeMapper
} // namespace Model
} // namespace FSx
} // namespace Aws

View File

@@ -0,0 +1,779 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/fsx/FSx_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/fsx/model/SelfManagedActiveDirectoryAttributes.h>
#include <aws/fsx/model/WindowsDeploymentType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/fsx/model/FileSystemMaintenanceOperation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace FSx
{
namespace Model
{
/**
* <p>The configuration for this Microsoft Windows file system.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/WindowsFileSystemConfiguration">AWS
* API Reference</a></p>
*/
class AWS_FSX_API WindowsFileSystemConfiguration
{
public:
WindowsFileSystemConfiguration();
WindowsFileSystemConfiguration(Aws::Utils::Json::JsonView jsonValue);
WindowsFileSystemConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; }
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; }
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(const Aws::String& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = value; }
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(Aws::String&& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = std::move(value); }
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline void SetActiveDirectoryId(const char* value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId.assign(value); }
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline WindowsFileSystemConfiguration& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;}
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline WindowsFileSystemConfiguration& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;}
/**
* <p>The ID for an existing Microsoft Active Directory instance that the file
* system should join when it's created.</p>
*/
inline WindowsFileSystemConfiguration& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;}
inline const SelfManagedActiveDirectoryAttributes& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; }
inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; }
inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryAttributes& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; }
inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryAttributes&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); }
inline WindowsFileSystemConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryAttributes& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;}
inline WindowsFileSystemConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryAttributes&& value) { SetSelfManagedActiveDirectoryConfiguration(std::move(value)); return *this;}
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline const WindowsDeploymentType& GetDeploymentType() const{ return m_deploymentType; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline void SetDeploymentType(const WindowsDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline void SetDeploymentType(WindowsDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); }
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline WindowsFileSystemConfiguration& WithDeploymentType(const WindowsDeploymentType& value) { SetDeploymentType(value); return *this;}
/**
* <p>Specifies the file system deployment type, valid values are the
* following:</p> <ul> <li> <p> <code>MULTI_AZ_1</code> - Specifies a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability, and supports SSD and HDD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_1</code> - (Default) Specifies a
* file system that is configured for single AZ redundancy, only supports SSD
* storage.</p> </li> <li> <p> <code>SINGLE_AZ_2</code> - Latest generation Single
* AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports SSD and HDD storage.</p> </li> </ul> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html">Single-AZ
* and Multi-AZ File Systems</a>.</p>
*/
inline WindowsFileSystemConfiguration& WithDeploymentType(WindowsDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline const Aws::String& GetRemoteAdministrationEndpoint() const{ return m_remoteAdministrationEndpoint; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline bool RemoteAdministrationEndpointHasBeenSet() const { return m_remoteAdministrationEndpointHasBeenSet; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline void SetRemoteAdministrationEndpoint(const Aws::String& value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint = value; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline void SetRemoteAdministrationEndpoint(Aws::String&& value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint = std::move(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline void SetRemoteAdministrationEndpoint(const char* value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint.assign(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(const Aws::String& value) { SetRemoteAdministrationEndpoint(value); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(Aws::String&& value) { SetRemoteAdministrationEndpoint(std::move(value)); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, use this endpoint when
* performing administrative tasks on the file system using Amazon FSx Remote
* PowerShell.</p> <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code>
* deployment types, this is the DNS name of the file system.</p> <p>This endpoint
* is temporarily unavailable when the file system is undergoing maintenance.</p>
*/
inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(const char* value) { SetRemoteAdministrationEndpoint(value); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline const Aws::String& GetPreferredSubnetId() const{ return m_preferredSubnetId; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline bool PreferredSubnetIdHasBeenSet() const { return m_preferredSubnetIdHasBeenSet; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline void SetPreferredSubnetId(const Aws::String& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = value; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline void SetPreferredSubnetId(Aws::String&& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = std::move(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline void SetPreferredSubnetId(const char* value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId.assign(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline WindowsFileSystemConfiguration& WithPreferredSubnetId(const Aws::String& value) { SetPreferredSubnetId(value); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline WindowsFileSystemConfiguration& WithPreferredSubnetId(Aws::String&& value) { SetPreferredSubnetId(std::move(value)); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, it specifies the ID of the
* subnet where the preferred file server is located. Must be one of the two subnet
* IDs specified in <code>SubnetIds</code> property. Amazon FSx serves traffic from
* this subnet except in the event of a failover to the secondary file server.</p>
* <p>For <code>SINGLE_AZ_1</code> and <code>SINGLE_AZ_2</code> deployment types,
* this value is the same as that for <code>SubnetIDs</code>. For more information,
* see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources">Availability
* and Durability: Single-AZ and Multi-AZ File Systems</a> </p>
*/
inline WindowsFileSystemConfiguration& WithPreferredSubnetId(const char* value) { SetPreferredSubnetId(value); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline const Aws::String& GetPreferredFileServerIp() const{ return m_preferredFileServerIp; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline bool PreferredFileServerIpHasBeenSet() const { return m_preferredFileServerIpHasBeenSet; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline void SetPreferredFileServerIp(const Aws::String& value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp = value; }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline void SetPreferredFileServerIp(Aws::String&& value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp = std::move(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline void SetPreferredFileServerIp(const char* value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp.assign(value); }
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(const Aws::String& value) { SetPreferredFileServerIp(value); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(Aws::String&& value) { SetPreferredFileServerIp(std::move(value)); return *this;}
/**
* <p>For <code>MULTI_AZ_1</code> deployment types, the IP address of the primary,
* or preferred, file server.</p> <p>Use this IP address when mounting the file
* system on Linux SMB clients or Windows SMB clients that are not joined to a
* Microsoft Active Directory. Applicable for all Windows file system deployment
* types. This IP address is temporarily unavailable when the file system is
* undergoing maintenance. For Linux and Windows SMB clients that are joined to an
* Active Directory, use the file system's DNSName instead. For more information on
* mapping and mounting file shares, see <a
* href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html">Accessing
* File Shares</a>.</p>
*/
inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(const char* value) { SetPreferredFileServerIp(value); return *this;}
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second.</p>
*/
inline int GetThroughputCapacity() const{ return m_throughputCapacity; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second.</p>
*/
inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second.</p>
*/
inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; }
/**
* <p>The throughput of an Amazon FSx file system, measured in megabytes per
* second.</p>
*/
inline WindowsFileSystemConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;}
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline const Aws::Vector<FileSystemMaintenanceOperation>& GetMaintenanceOperationsInProgress() const{ return m_maintenanceOperationsInProgress; }
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline bool MaintenanceOperationsInProgressHasBeenSet() const { return m_maintenanceOperationsInProgressHasBeenSet; }
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline void SetMaintenanceOperationsInProgress(const Aws::Vector<FileSystemMaintenanceOperation>& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress = value; }
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline void SetMaintenanceOperationsInProgress(Aws::Vector<FileSystemMaintenanceOperation>&& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress = std::move(value); }
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline WindowsFileSystemConfiguration& WithMaintenanceOperationsInProgress(const Aws::Vector<FileSystemMaintenanceOperation>& value) { SetMaintenanceOperationsInProgress(value); return *this;}
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline WindowsFileSystemConfiguration& WithMaintenanceOperationsInProgress(Aws::Vector<FileSystemMaintenanceOperation>&& value) { SetMaintenanceOperationsInProgress(std::move(value)); return *this;}
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline WindowsFileSystemConfiguration& AddMaintenanceOperationsInProgress(const FileSystemMaintenanceOperation& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress.push_back(value); return *this; }
/**
* <p>The list of maintenance operations in progress for this file system.</p>
*/
inline WindowsFileSystemConfiguration& AddMaintenanceOperationsInProgress(FileSystemMaintenanceOperation&& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress.push_back(std::move(value)); return *this; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); }
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline WindowsFileSystemConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline WindowsFileSystemConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;}
/**
* <p>The preferred start time to perform weekly maintenance, formatted d:HH:MM in
* the UTC time zone. d is the weekday number, from 1 through 7, beginning with
* Monday and ending with Sunday.</p>
*/
inline WindowsFileSystemConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;}
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; }
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; }
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); }
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); }
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;}
/**
* <p>The preferred time to take daily automatic backups, in the UTC time zone.</p>
*/
inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;}
/**
* <p>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.</p>
*/
inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; }
/**
* <p>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.</p>
*/
inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
/**
* <p>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.</p>
*/
inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
/**
* <p>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.</p>
*/
inline WindowsFileSystemConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;}
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. This value defaults to false. If it's set to true, all tags on the file
* system are copied to all automatic backups and any user-initiated backups where
* the user doesn't specify any tags. If this value is true, and you specify one or
* more tags, only the specified tags are copied to backups. If you specify one or
* more tags when creating a user-initiated backup, no tags are copied from the
* file system, regardless of this value.</p>
*/
inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. This value defaults to false. If it's set to true, all tags on the file
* system are copied to all automatic backups and any user-initiated backups where
* the user doesn't specify any tags. If this value is true, and you specify one or
* more tags, only the specified tags are copied to backups. If you specify one or
* more tags when creating a user-initiated backup, no tags are copied from the
* file system, regardless of this value.</p>
*/
inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. This value defaults to false. If it's set to true, all tags on the file
* system are copied to all automatic backups and any user-initiated backups where
* the user doesn't specify any tags. If this value is true, and you specify one or
* more tags, only the specified tags are copied to backups. If you specify one or
* more tags when creating a user-initiated backup, no tags are copied from the
* file system, regardless of this value.</p>
*/
inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; }
/**
* <p>A boolean flag indicating whether tags on the file system should be copied to
* backups. This value defaults to false. If it's set to true, all tags on the file
* system are copied to all automatic backups and any user-initiated backups where
* the user doesn't specify any tags. If this value is true, and you specify one or
* more tags, only the specified tags are copied to backups. If you specify one or
* more tags when creating a user-initiated backup, no tags are copied from the
* file system, regardless of this value.</p>
*/
inline WindowsFileSystemConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;}
private:
Aws::String m_activeDirectoryId;
bool m_activeDirectoryIdHasBeenSet;
SelfManagedActiveDirectoryAttributes m_selfManagedActiveDirectoryConfiguration;
bool m_selfManagedActiveDirectoryConfigurationHasBeenSet;
WindowsDeploymentType m_deploymentType;
bool m_deploymentTypeHasBeenSet;
Aws::String m_remoteAdministrationEndpoint;
bool m_remoteAdministrationEndpointHasBeenSet;
Aws::String m_preferredSubnetId;
bool m_preferredSubnetIdHasBeenSet;
Aws::String m_preferredFileServerIp;
bool m_preferredFileServerIpHasBeenSet;
int m_throughputCapacity;
bool m_throughputCapacityHasBeenSet;
Aws::Vector<FileSystemMaintenanceOperation> m_maintenanceOperationsInProgress;
bool m_maintenanceOperationsInProgressHasBeenSet;
Aws::String m_weeklyMaintenanceStartTime;
bool m_weeklyMaintenanceStartTimeHasBeenSet;
Aws::String m_dailyAutomaticBackupStartTime;
bool m_dailyAutomaticBackupStartTimeHasBeenSet;
int m_automaticBackupRetentionDays;
bool m_automaticBackupRetentionDaysHasBeenSet;
bool m_copyTagsToBackups;
bool m_copyTagsToBackupsHasBeenSet;
};
} // namespace Model
} // namespace FSx
} // namespace Aws