/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace FSx { namespace Model { class CancelDataRepositoryTaskRequest; class CreateBackupRequest; class CreateDataRepositoryTaskRequest; class CreateFileSystemRequest; class CreateFileSystemFromBackupRequest; class DeleteBackupRequest; class DeleteFileSystemRequest; class DescribeBackupsRequest; class DescribeDataRepositoryTasksRequest; class DescribeFileSystemsRequest; class ListTagsForResourceRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateFileSystemRequest; typedef Aws::Utils::Outcome CancelDataRepositoryTaskOutcome; typedef Aws::Utils::Outcome CreateBackupOutcome; typedef Aws::Utils::Outcome CreateDataRepositoryTaskOutcome; typedef Aws::Utils::Outcome CreateFileSystemOutcome; typedef Aws::Utils::Outcome CreateFileSystemFromBackupOutcome; typedef Aws::Utils::Outcome DeleteBackupOutcome; typedef Aws::Utils::Outcome DeleteFileSystemOutcome; typedef Aws::Utils::Outcome DescribeBackupsOutcome; typedef Aws::Utils::Outcome DescribeDataRepositoryTasksOutcome; typedef Aws::Utils::Outcome DescribeFileSystemsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateFileSystemOutcome; typedef std::future CancelDataRepositoryTaskOutcomeCallable; typedef std::future CreateBackupOutcomeCallable; typedef std::future CreateDataRepositoryTaskOutcomeCallable; typedef std::future CreateFileSystemOutcomeCallable; typedef std::future CreateFileSystemFromBackupOutcomeCallable; typedef std::future DeleteBackupOutcomeCallable; typedef std::future DeleteFileSystemOutcomeCallable; typedef std::future DescribeBackupsOutcomeCallable; typedef std::future DescribeDataRepositoryTasksOutcomeCallable; typedef std::future DescribeFileSystemsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateFileSystemOutcomeCallable; } // namespace Model class FSxClient; typedef std::function&) > CancelDataRepositoryTaskResponseReceivedHandler; typedef std::function&) > CreateBackupResponseReceivedHandler; typedef std::function&) > CreateDataRepositoryTaskResponseReceivedHandler; typedef std::function&) > CreateFileSystemResponseReceivedHandler; typedef std::function&) > CreateFileSystemFromBackupResponseReceivedHandler; typedef std::function&) > DeleteBackupResponseReceivedHandler; typedef std::function&) > DeleteFileSystemResponseReceivedHandler; typedef std::function&) > DescribeBackupsResponseReceivedHandler; typedef std::function&) > DescribeDataRepositoryTasksResponseReceivedHandler; typedef std::function&) > DescribeFileSystemsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateFileSystemResponseReceivedHandler; /** *

Amazon FSx is a fully managed service that makes it easy for storage and * application administrators to launch and use shared file storage.

*/ class AWS_FSX_API FSxClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ FSxClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ FSxClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ FSxClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~FSxClient(); /** *

Cancels an existing Amazon FSx for Lustre data repository task if that task * is in either the PENDING or EXECUTING state. When you * cancel a task, Amazon FSx does the following.

  • Any files that * FSx has already exported are not reverted.

  • FSx continues to * export any files that are "in-flight" when the cancel operation is received.

    *
  • FSx does not export any files that have not yet been exported.

    *

See Also:

AWS * API Reference

*/ virtual Model::CancelDataRepositoryTaskOutcome CancelDataRepositoryTask(const Model::CancelDataRepositoryTaskRequest& request) const; /** *

Cancels an existing Amazon FSx for Lustre data repository task if that task * is in either the PENDING or EXECUTING state. When you * cancel a task, Amazon FSx does the following.

  • Any files that * FSx has already exported are not reverted.

  • FSx continues to * export any files that are "in-flight" when the cancel operation is received.

    *
  • FSx does not export any files that have not yet been exported.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CancelDataRepositoryTaskOutcomeCallable CancelDataRepositoryTaskCallable(const Model::CancelDataRepositoryTaskRequest& request) const; /** *

Cancels an existing Amazon FSx for Lustre data repository task if that task * is in either the PENDING or EXECUTING state. When you * cancel a task, Amazon FSx does the following.

  • Any files that * FSx has already exported are not reverted.

  • FSx continues to * export any files that are "in-flight" when the cancel operation is received.

    *
  • FSx does not export any files that have not yet been exported.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CancelDataRepositoryTaskAsync(const Model::CancelDataRepositoryTaskRequest& request, const CancelDataRepositoryTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a backup of an existing Amazon FSx file system. Creating regular * backups for your file system is a best practice, enabling you to restore a file * system from a backup if an issue arises with the original file system.

*

For Amazon FSx for Lustre file systems, you can create a backup only for file * systems with the following configuration:

  • a Persistent * deployment type

  • is not linked to a data * respository.

For more information about backing up Amazon FSx * for Lustre file systems, see Working * with FSx for Lustre backups.

For more information about backing up * Amazon FSx for Lustre file systems, see Working * with FSx for Windows backups.

If a backup with the specified client * request token exists, and the parameters match, this operation returns the * description of the existing backup. If a backup specified client request token * exists, and the parameters don't match, this operation returns * IncompatibleParameterError. If a backup with the specified client * request token doesn't exist, CreateBackup does the following:

*
  • Creates a new Amazon FSx backup with an assigned ID, and an initial * lifecycle state of CREATING.

  • Returns the * description of the backup.

By using the idempotent operation, * you can retry a CreateBackup operation without the risk of creating * an extra backup. This approach can be useful when an initial call fails in a way * that makes it unclear whether a backup was created. If you use the same client * request token and the initial call created a backup, the operation returns a * successful result because all the parameters are the same.

The * CreateBackup operation returns while the backup's lifecycle state * is still CREATING. You can check the backup creation status by * calling the DescribeBackups operation, which returns the backup state * along with other information.

See Also:

AWS * API Reference

*/ virtual Model::CreateBackupOutcome CreateBackup(const Model::CreateBackupRequest& request) const; /** *

Creates a backup of an existing Amazon FSx file system. Creating regular * backups for your file system is a best practice, enabling you to restore a file * system from a backup if an issue arises with the original file system.

*

For Amazon FSx for Lustre file systems, you can create a backup only for file * systems with the following configuration:

  • a Persistent * deployment type

  • is not linked to a data * respository.

For more information about backing up Amazon FSx * for Lustre file systems, see Working * with FSx for Lustre backups.

For more information about backing up * Amazon FSx for Lustre file systems, see Working * with FSx for Windows backups.

If a backup with the specified client * request token exists, and the parameters match, this operation returns the * description of the existing backup. If a backup specified client request token * exists, and the parameters don't match, this operation returns * IncompatibleParameterError. If a backup with the specified client * request token doesn't exist, CreateBackup does the following:

*
  • Creates a new Amazon FSx backup with an assigned ID, and an initial * lifecycle state of CREATING.

  • Returns the * description of the backup.

By using the idempotent operation, * you can retry a CreateBackup operation without the risk of creating * an extra backup. This approach can be useful when an initial call fails in a way * that makes it unclear whether a backup was created. If you use the same client * request token and the initial call created a backup, the operation returns a * successful result because all the parameters are the same.

The * CreateBackup operation returns while the backup's lifecycle state * is still CREATING. You can check the backup creation status by * calling the DescribeBackups operation, which returns the backup state * along with other information.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateBackupOutcomeCallable CreateBackupCallable(const Model::CreateBackupRequest& request) const; /** *

Creates a backup of an existing Amazon FSx file system. Creating regular * backups for your file system is a best practice, enabling you to restore a file * system from a backup if an issue arises with the original file system.

*

For Amazon FSx for Lustre file systems, you can create a backup only for file * systems with the following configuration:

  • a Persistent * deployment type

  • is not linked to a data * respository.

For more information about backing up Amazon FSx * for Lustre file systems, see Working * with FSx for Lustre backups.

For more information about backing up * Amazon FSx for Lustre file systems, see Working * with FSx for Windows backups.

If a backup with the specified client * request token exists, and the parameters match, this operation returns the * description of the existing backup. If a backup specified client request token * exists, and the parameters don't match, this operation returns * IncompatibleParameterError. If a backup with the specified client * request token doesn't exist, CreateBackup does the following:

*
  • Creates a new Amazon FSx backup with an assigned ID, and an initial * lifecycle state of CREATING.

  • Returns the * description of the backup.

By using the idempotent operation, * you can retry a CreateBackup operation without the risk of creating * an extra backup. This approach can be useful when an initial call fails in a way * that makes it unclear whether a backup was created. If you use the same client * request token and the initial call created a backup, the operation returns a * successful result because all the parameters are the same.

The * CreateBackup operation returns while the backup's lifecycle state * is still CREATING. You can check the backup creation status by * calling the DescribeBackups operation, which returns the backup state * along with other information.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateBackupAsync(const Model::CreateBackupRequest& request, const CreateBackupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an Amazon FSx for Lustre data repository task. You use data * repository tasks to perform bulk operations between your Amazon FSx file system * and its linked data repository. An example of a data repository task is * exporting any data and metadata changes, including POSIX metadata, to files, * directories, and symbolic links (symlinks) from your FSx file system to its * linked data repository. A CreateDataRepositoryTask operation will * fail if a data repository is not linked to the FSx file system. To learn more * about data repository tasks, see Using * Data Repository Tasks. To learn more about linking a data repository to your * file system, see Setting * the Export Prefix.

See Also:

AWS * API Reference

*/ virtual Model::CreateDataRepositoryTaskOutcome CreateDataRepositoryTask(const Model::CreateDataRepositoryTaskRequest& request) const; /** *

Creates an Amazon FSx for Lustre data repository task. You use data * repository tasks to perform bulk operations between your Amazon FSx file system * and its linked data repository. An example of a data repository task is * exporting any data and metadata changes, including POSIX metadata, to files, * directories, and symbolic links (symlinks) from your FSx file system to its * linked data repository. A CreateDataRepositoryTask operation will * fail if a data repository is not linked to the FSx file system. To learn more * about data repository tasks, see Using * Data Repository Tasks. To learn more about linking a data repository to your * file system, see Setting * the Export Prefix.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateDataRepositoryTaskOutcomeCallable CreateDataRepositoryTaskCallable(const Model::CreateDataRepositoryTaskRequest& request) const; /** *

Creates an Amazon FSx for Lustre data repository task. You use data * repository tasks to perform bulk operations between your Amazon FSx file system * and its linked data repository. An example of a data repository task is * exporting any data and metadata changes, including POSIX metadata, to files, * directories, and symbolic links (symlinks) from your FSx file system to its * linked data repository. A CreateDataRepositoryTask operation will * fail if a data repository is not linked to the FSx file system. To learn more * about data repository tasks, see Using * Data Repository Tasks. To learn more about linking a data repository to your * file system, see Setting * the Export Prefix.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateDataRepositoryTaskAsync(const Model::CreateDataRepositoryTaskRequest& request, const CreateDataRepositoryTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new, empty Amazon FSx file system.

If a file system with the * specified client request token exists and the parameters match, * CreateFileSystem returns the description of the existing file * system. If a file system specified client request token exists and the * parameters don't match, this call returns * IncompatibleParameterError. If a file system with the specified * client request token doesn't exist, CreateFileSystem does the * following:

  • Creates a new, empty Amazon FSx file system with an * assigned ID, and an initial lifecycle state of CREATING.

  • *
  • Returns the description of the file system.

This * operation requires a client request token in the request that Amazon FSx uses to * ensure idempotent creation. This means that calling the operation multiple times * with the same client request token has no effect. By using the idempotent * operation, you can retry a CreateFileSystem operation without the * risk of creating an extra file system. This approach can be useful when an * initial call fails in a way that makes it unclear whether a file system was * created. Examples are if a transport level timeout occurred, or your connection * was reset. If you use the same client request token and the initial call created * a file system, the client receives success as long as the parameters are the * same.

The CreateFileSystem call returns while the * file system's lifecycle state is still CREATING. You can check the * file-system creation status by calling the DescribeFileSystems operation, * which returns the file system state along with other information.

*

See Also:

AWS * API Reference

*/ virtual Model::CreateFileSystemOutcome CreateFileSystem(const Model::CreateFileSystemRequest& request) const; /** *

Creates a new, empty Amazon FSx file system.

If a file system with the * specified client request token exists and the parameters match, * CreateFileSystem returns the description of the existing file * system. If a file system specified client request token exists and the * parameters don't match, this call returns * IncompatibleParameterError. If a file system with the specified * client request token doesn't exist, CreateFileSystem does the * following:

  • Creates a new, empty Amazon FSx file system with an * assigned ID, and an initial lifecycle state of CREATING.

  • *
  • Returns the description of the file system.

This * operation requires a client request token in the request that Amazon FSx uses to * ensure idempotent creation. This means that calling the operation multiple times * with the same client request token has no effect. By using the idempotent * operation, you can retry a CreateFileSystem operation without the * risk of creating an extra file system. This approach can be useful when an * initial call fails in a way that makes it unclear whether a file system was * created. Examples are if a transport level timeout occurred, or your connection * was reset. If you use the same client request token and the initial call created * a file system, the client receives success as long as the parameters are the * same.

The CreateFileSystem call returns while the * file system's lifecycle state is still CREATING. You can check the * file-system creation status by calling the DescribeFileSystems operation, * which returns the file system state along with other information.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateFileSystemOutcomeCallable CreateFileSystemCallable(const Model::CreateFileSystemRequest& request) const; /** *

Creates a new, empty Amazon FSx file system.

If a file system with the * specified client request token exists and the parameters match, * CreateFileSystem returns the description of the existing file * system. If a file system specified client request token exists and the * parameters don't match, this call returns * IncompatibleParameterError. If a file system with the specified * client request token doesn't exist, CreateFileSystem does the * following:

  • Creates a new, empty Amazon FSx file system with an * assigned ID, and an initial lifecycle state of CREATING.

  • *
  • Returns the description of the file system.

This * operation requires a client request token in the request that Amazon FSx uses to * ensure idempotent creation. This means that calling the operation multiple times * with the same client request token has no effect. By using the idempotent * operation, you can retry a CreateFileSystem operation without the * risk of creating an extra file system. This approach can be useful when an * initial call fails in a way that makes it unclear whether a file system was * created. Examples are if a transport level timeout occurred, or your connection * was reset. If you use the same client request token and the initial call created * a file system, the client receives success as long as the parameters are the * same.

The CreateFileSystem call returns while the * file system's lifecycle state is still CREATING. You can check the * file-system creation status by calling the DescribeFileSystems operation, * which returns the file system state along with other information.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateFileSystemAsync(const Model::CreateFileSystemRequest& request, const CreateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new Amazon FSx file system from an existing Amazon FSx backup.

*

If a file system with the specified client request token exists and the * parameters match, this operation returns the description of the file system. If * a client request token specified by the file system exists and the parameters * don't match, this call returns IncompatibleParameterError. If a * file system with the specified client request token doesn't exist, this * operation does the following:

  • Creates a new Amazon FSx file * system from backup with an assigned ID, and an initial lifecycle state of * CREATING.

  • Returns the description of the file * system.

Parameters like Active Directory, default share name, * automatic backup, and backup settings default to the parameters of the file * system that was backed up, unless overridden. You can explicitly supply other * settings.

By using the idempotent operation, you can retry a * CreateFileSystemFromBackup call without the risk of creating an * extra file system. This approach can be useful when an initial call fails in a * way that makes it unclear whether a file system was created. Examples are if a * transport level timeout occurred, or your connection was reset. If you use the * same client request token and the initial call created a file system, the client * receives success as long as the parameters are the same.

The * CreateFileSystemFromBackup call returns while the file system's * lifecycle state is still CREATING. You can check the file-system * creation status by calling the DescribeFileSystems operation, which * returns the file system state along with other information.

*

See Also:

AWS * API Reference

*/ virtual Model::CreateFileSystemFromBackupOutcome CreateFileSystemFromBackup(const Model::CreateFileSystemFromBackupRequest& request) const; /** *

Creates a new Amazon FSx file system from an existing Amazon FSx backup.

*

If a file system with the specified client request token exists and the * parameters match, this operation returns the description of the file system. If * a client request token specified by the file system exists and the parameters * don't match, this call returns IncompatibleParameterError. If a * file system with the specified client request token doesn't exist, this * operation does the following:

  • Creates a new Amazon FSx file * system from backup with an assigned ID, and an initial lifecycle state of * CREATING.

  • Returns the description of the file * system.

Parameters like Active Directory, default share name, * automatic backup, and backup settings default to the parameters of the file * system that was backed up, unless overridden. You can explicitly supply other * settings.

By using the idempotent operation, you can retry a * CreateFileSystemFromBackup call without the risk of creating an * extra file system. This approach can be useful when an initial call fails in a * way that makes it unclear whether a file system was created. Examples are if a * transport level timeout occurred, or your connection was reset. If you use the * same client request token and the initial call created a file system, the client * receives success as long as the parameters are the same.

The * CreateFileSystemFromBackup call returns while the file system's * lifecycle state is still CREATING. You can check the file-system * creation status by calling the DescribeFileSystems operation, which * returns the file system state along with other information.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateFileSystemFromBackupOutcomeCallable CreateFileSystemFromBackupCallable(const Model::CreateFileSystemFromBackupRequest& request) const; /** *

Creates a new Amazon FSx file system from an existing Amazon FSx backup.

*

If a file system with the specified client request token exists and the * parameters match, this operation returns the description of the file system. If * a client request token specified by the file system exists and the parameters * don't match, this call returns IncompatibleParameterError. If a * file system with the specified client request token doesn't exist, this * operation does the following:

  • Creates a new Amazon FSx file * system from backup with an assigned ID, and an initial lifecycle state of * CREATING.

  • Returns the description of the file * system.

Parameters like Active Directory, default share name, * automatic backup, and backup settings default to the parameters of the file * system that was backed up, unless overridden. You can explicitly supply other * settings.

By using the idempotent operation, you can retry a * CreateFileSystemFromBackup call without the risk of creating an * extra file system. This approach can be useful when an initial call fails in a * way that makes it unclear whether a file system was created. Examples are if a * transport level timeout occurred, or your connection was reset. If you use the * same client request token and the initial call created a file system, the client * receives success as long as the parameters are the same.

The * CreateFileSystemFromBackup call returns while the file system's * lifecycle state is still CREATING. You can check the file-system * creation status by calling the DescribeFileSystems operation, which * returns the file system state along with other information.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateFileSystemFromBackupAsync(const Model::CreateFileSystemFromBackupRequest& request, const CreateFileSystemFromBackupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes an Amazon FSx backup, deleting its contents. After deletion, the * backup no longer exists, and its data is gone.

The * DeleteBackup call returns instantly. The backup will not show up in * later DescribeBackups calls.

The data in a * deleted backup is also deleted and can't be recovered by any means.

*

See Also:

AWS * API Reference

*/ virtual Model::DeleteBackupOutcome DeleteBackup(const Model::DeleteBackupRequest& request) const; /** *

Deletes an Amazon FSx backup, deleting its contents. After deletion, the * backup no longer exists, and its data is gone.

The * DeleteBackup call returns instantly. The backup will not show up in * later DescribeBackups calls.

The data in a * deleted backup is also deleted and can't be recovered by any means.

*

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteBackupOutcomeCallable DeleteBackupCallable(const Model::DeleteBackupRequest& request) const; /** *

Deletes an Amazon FSx backup, deleting its contents. After deletion, the * backup no longer exists, and its data is gone.

The * DeleteBackup call returns instantly. The backup will not show up in * later DescribeBackups calls.

The data in a * deleted backup is also deleted and can't be recovered by any means.

*

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteBackupAsync(const Model::DeleteBackupRequest& request, const DeleteBackupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a file system, deleting its contents. After deletion, the file system * no longer exists, and its data is gone. Any existing automatic backups will also * be deleted.

By default, when you delete an Amazon FSx for Windows File * Server file system, a final backup is created upon deletion. This final backup * is not subject to the file system's retention policy, and must be manually * deleted.

The DeleteFileSystem action returns while the file * system has the DELETING status. You can check the file system * deletion status by calling the DescribeFileSystems action, which returns * a list of file systems in your account. If you pass the file system ID for a * deleted file system, the DescribeFileSystems returns a * FileSystemNotFound error.

Deleting an Amazon FSx for * Lustre file system will fail with a 400 BadRequest if a data repository task is * in a PENDING or EXECUTING state.

*

The data in a deleted file system is also deleted and can't be * recovered by any means.

See Also:

AWS * API Reference

*/ virtual Model::DeleteFileSystemOutcome DeleteFileSystem(const Model::DeleteFileSystemRequest& request) const; /** *

Deletes a file system, deleting its contents. After deletion, the file system * no longer exists, and its data is gone. Any existing automatic backups will also * be deleted.

By default, when you delete an Amazon FSx for Windows File * Server file system, a final backup is created upon deletion. This final backup * is not subject to the file system's retention policy, and must be manually * deleted.

The DeleteFileSystem action returns while the file * system has the DELETING status. You can check the file system * deletion status by calling the DescribeFileSystems action, which returns * a list of file systems in your account. If you pass the file system ID for a * deleted file system, the DescribeFileSystems returns a * FileSystemNotFound error.

Deleting an Amazon FSx for * Lustre file system will fail with a 400 BadRequest if a data repository task is * in a PENDING or EXECUTING state.

*

The data in a deleted file system is also deleted and can't be * recovered by any means.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteFileSystemOutcomeCallable DeleteFileSystemCallable(const Model::DeleteFileSystemRequest& request) const; /** *

Deletes a file system, deleting its contents. After deletion, the file system * no longer exists, and its data is gone. Any existing automatic backups will also * be deleted.

By default, when you delete an Amazon FSx for Windows File * Server file system, a final backup is created upon deletion. This final backup * is not subject to the file system's retention policy, and must be manually * deleted.

The DeleteFileSystem action returns while the file * system has the DELETING status. You can check the file system * deletion status by calling the DescribeFileSystems action, which returns * a list of file systems in your account. If you pass the file system ID for a * deleted file system, the DescribeFileSystems returns a * FileSystemNotFound error.

Deleting an Amazon FSx for * Lustre file system will fail with a 400 BadRequest if a data repository task is * in a PENDING or EXECUTING state.

*

The data in a deleted file system is also deleted and can't be * recovered by any means.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteFileSystemAsync(const Model::DeleteFileSystemRequest& request, const DeleteFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the description of specific Amazon FSx backups, if a * BackupIds value is provided for that backup. Otherwise, it returns * all backups owned by your AWS account in the AWS Region of the endpoint that * you're calling.

When retrieving all backups, you can optionally specify * the MaxResults parameter to limit the number of backups in a * response. If more backups remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your backups. * DescribeBackups is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of backups returned in the response of one * DescribeBackups call and the order of backups returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeBackupsOutcome DescribeBackups(const Model::DescribeBackupsRequest& request) const; /** *

Returns the description of specific Amazon FSx backups, if a * BackupIds value is provided for that backup. Otherwise, it returns * all backups owned by your AWS account in the AWS Region of the endpoint that * you're calling.

When retrieving all backups, you can optionally specify * the MaxResults parameter to limit the number of backups in a * response. If more backups remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your backups. * DescribeBackups is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of backups returned in the response of one * DescribeBackups call and the order of backups returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeBackupsOutcomeCallable DescribeBackupsCallable(const Model::DescribeBackupsRequest& request) const; /** *

Returns the description of specific Amazon FSx backups, if a * BackupIds value is provided for that backup. Otherwise, it returns * all backups owned by your AWS account in the AWS Region of the endpoint that * you're calling.

When retrieving all backups, you can optionally specify * the MaxResults parameter to limit the number of backups in a * response. If more backups remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your backups. * DescribeBackups is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of backups returned in the response of one * DescribeBackups call and the order of backups returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeBackupsAsync(const Model::DescribeBackupsRequest& request, const DescribeBackupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the description of specific Amazon FSx for Lustre data repository * tasks, if one or more TaskIds values are provided in the request, * or if filters are used in the request. You can use filters to narrow the * response to include just tasks for specific file systems, or tasks in a specific * lifecycle state. Otherwise, it returns all data repository tasks owned by your * AWS account in the AWS Region of the endpoint that you're calling.

When * retrieving all tasks, you can paginate the response by using the optional * MaxResults parameter to limit the number of tasks returned in a * response. If more tasks remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDataRepositoryTasksOutcome DescribeDataRepositoryTasks(const Model::DescribeDataRepositoryTasksRequest& request) const; /** *

Returns the description of specific Amazon FSx for Lustre data repository * tasks, if one or more TaskIds values are provided in the request, * or if filters are used in the request. You can use filters to narrow the * response to include just tasks for specific file systems, or tasks in a specific * lifecycle state. Otherwise, it returns all data repository tasks owned by your * AWS account in the AWS Region of the endpoint that you're calling.

When * retrieving all tasks, you can paginate the response by using the optional * MaxResults parameter to limit the number of tasks returned in a * response. If more tasks remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDataRepositoryTasksOutcomeCallable DescribeDataRepositoryTasksCallable(const Model::DescribeDataRepositoryTasksRequest& request) const; /** *

Returns the description of specific Amazon FSx for Lustre data repository * tasks, if one or more TaskIds values are provided in the request, * or if filters are used in the request. You can use filters to narrow the * response to include just tasks for specific file systems, or tasks in a specific * lifecycle state. Otherwise, it returns all data repository tasks owned by your * AWS account in the AWS Region of the endpoint that you're calling.

When * retrieving all tasks, you can paginate the response by using the optional * MaxResults parameter to limit the number of tasks returned in a * response. If more tasks remain, Amazon FSx returns a NextToken * value in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDataRepositoryTasksAsync(const Model::DescribeDataRepositoryTasksRequest& request, const DescribeDataRepositoryTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the description of specific Amazon FSx file systems, if a * FileSystemIds value is provided for that file system. Otherwise, it * returns descriptions of all file systems owned by your AWS account in the AWS * Region of the endpoint that you're calling.

When retrieving all file * system descriptions, you can optionally specify the MaxResults * parameter to limit the number of descriptions in a response. If more file system * descriptions remain, Amazon FSx returns a NextToken value in the * response. In this case, send a later request with the NextToken * request parameter set to the value of NextToken from the last * response.

This action is used in an iterative process to retrieve a list * of your file system descriptions. DescribeFileSystems is called * first without a NextTokenvalue. Then the action continues to be * called with the NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of file systems returned in the response of one * DescribeFileSystems call and the order of file systems returned * across the responses of a multicall iteration is unspecified.

  • *

See Also:

AWS * API Reference

*/ virtual Model::DescribeFileSystemsOutcome DescribeFileSystems(const Model::DescribeFileSystemsRequest& request) const; /** *

Returns the description of specific Amazon FSx file systems, if a * FileSystemIds value is provided for that file system. Otherwise, it * returns descriptions of all file systems owned by your AWS account in the AWS * Region of the endpoint that you're calling.

When retrieving all file * system descriptions, you can optionally specify the MaxResults * parameter to limit the number of descriptions in a response. If more file system * descriptions remain, Amazon FSx returns a NextToken value in the * response. In this case, send a later request with the NextToken * request parameter set to the value of NextToken from the last * response.

This action is used in an iterative process to retrieve a list * of your file system descriptions. DescribeFileSystems is called * first without a NextTokenvalue. Then the action continues to be * called with the NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of file systems returned in the response of one * DescribeFileSystems call and the order of file systems returned * across the responses of a multicall iteration is unspecified.

  • *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeFileSystemsOutcomeCallable DescribeFileSystemsCallable(const Model::DescribeFileSystemsRequest& request) const; /** *

Returns the description of specific Amazon FSx file systems, if a * FileSystemIds value is provided for that file system. Otherwise, it * returns descriptions of all file systems owned by your AWS account in the AWS * Region of the endpoint that you're calling.

When retrieving all file * system descriptions, you can optionally specify the MaxResults * parameter to limit the number of descriptions in a response. If more file system * descriptions remain, Amazon FSx returns a NextToken value in the * response. In this case, send a later request with the NextToken * request parameter set to the value of NextToken from the last * response.

This action is used in an iterative process to retrieve a list * of your file system descriptions. DescribeFileSystems is called * first without a NextTokenvalue. Then the action continues to be * called with the NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of file systems returned in the response of one * DescribeFileSystems call and the order of file systems returned * across the responses of a multicall iteration is unspecified.

  • *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeFileSystemsAsync(const Model::DescribeFileSystemsRequest& request, const DescribeFileSystemsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists tags for an Amazon FSx file systems and backups in the case of Amazon * FSx for Windows File Server.

When retrieving all tags, you can optionally * specify the MaxResults parameter to limit the number of tags in a * response. If more tags remain, Amazon FSx returns a NextToken value * in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your tags. * ListTagsForResource is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of tags returned in the response of one * ListTagsForResource call and the order of tags returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists tags for an Amazon FSx file systems and backups in the case of Amazon * FSx for Windows File Server.

When retrieving all tags, you can optionally * specify the MaxResults parameter to limit the number of tags in a * response. If more tags remain, Amazon FSx returns a NextToken value * in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your tags. * ListTagsForResource is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of tags returned in the response of one * ListTagsForResource call and the order of tags returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists tags for an Amazon FSx file systems and backups in the case of Amazon * FSx for Windows File Server.

When retrieving all tags, you can optionally * specify the MaxResults parameter to limit the number of tags in a * response. If more tags remain, Amazon FSx returns a NextToken value * in the response. In this case, send a later request with the * NextToken request parameter set to the value of * NextToken from the last response.

This action is used in an * iterative process to retrieve a list of your tags. * ListTagsForResource is called first without a * NextTokenvalue. Then the action continues to be called with the * NextToken parameter set to the value of the last * NextToken value until a response has no NextToken.

*

When using this action, keep the following in mind:

  • The * implementation might return fewer than MaxResults file system * descriptions while still including a NextToken value.

  • *
  • The order of tags returned in the response of one * ListTagsForResource call and the order of tags returned across the * responses of a multi-call iteration is unspecified.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Tags an Amazon FSx resource.

See Also:

AWS API * Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Tags an Amazon FSx resource.

See Also:

AWS API * Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Tags an Amazon FSx resource.

See Also:

AWS API * Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This action removes a tag from an Amazon FSx resource.

See * Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

This action removes a tag from an Amazon FSx resource.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

This action removes a tag from an Amazon FSx resource.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Use this operation to update the configuration of an existing Amazon FSx file * system. You can update multiple properties in a single request.

For * Amazon FSx for Windows File Server file systems, you can update the following * properties:

  • AutomaticBackupRetentionDays

  • *

    DailyAutomaticBackupStartTime

  • *

    SelfManagedActiveDirectoryConfiguration

  • StorageCapacity

    *
  • ThroughputCapacity

  • *

    WeeklyMaintenanceStartTime

For Amazon FSx for Lustre file * systems, you can update the following properties:

  • *

    AutoImportPolicy

  • AutomaticBackupRetentionDays

  • *
  • DailyAutomaticBackupStartTime

  • *

    WeeklyMaintenanceStartTime

See Also:

AWS * API Reference

*/ virtual Model::UpdateFileSystemOutcome UpdateFileSystem(const Model::UpdateFileSystemRequest& request) const; /** *

Use this operation to update the configuration of an existing Amazon FSx file * system. You can update multiple properties in a single request.

For * Amazon FSx for Windows File Server file systems, you can update the following * properties:

  • AutomaticBackupRetentionDays

  • *

    DailyAutomaticBackupStartTime

  • *

    SelfManagedActiveDirectoryConfiguration

  • StorageCapacity

    *
  • ThroughputCapacity

  • *

    WeeklyMaintenanceStartTime

For Amazon FSx for Lustre file * systems, you can update the following properties:

  • *

    AutoImportPolicy

  • AutomaticBackupRetentionDays

  • *
  • DailyAutomaticBackupStartTime

  • *

    WeeklyMaintenanceStartTime

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFileSystemOutcomeCallable UpdateFileSystemCallable(const Model::UpdateFileSystemRequest& request) const; /** *

Use this operation to update the configuration of an existing Amazon FSx file * system. You can update multiple properties in a single request.

For * Amazon FSx for Windows File Server file systems, you can update the following * properties:

  • AutomaticBackupRetentionDays

  • *

    DailyAutomaticBackupStartTime

  • *

    SelfManagedActiveDirectoryConfiguration

  • StorageCapacity

    *
  • ThroughputCapacity

  • *

    WeeklyMaintenanceStartTime

For Amazon FSx for Lustre file * systems, you can update the following properties:

  • *

    AutoImportPolicy

  • AutomaticBackupRetentionDays

  • *
  • DailyAutomaticBackupStartTime

  • *

    WeeklyMaintenanceStartTime

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFileSystemAsync(const Model::UpdateFileSystemRequest& request, const UpdateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void CancelDataRepositoryTaskAsyncHelper(const Model::CancelDataRepositoryTaskRequest& request, const CancelDataRepositoryTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateBackupAsyncHelper(const Model::CreateBackupRequest& request, const CreateBackupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateDataRepositoryTaskAsyncHelper(const Model::CreateDataRepositoryTaskRequest& request, const CreateDataRepositoryTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateFileSystemAsyncHelper(const Model::CreateFileSystemRequest& request, const CreateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateFileSystemFromBackupAsyncHelper(const Model::CreateFileSystemFromBackupRequest& request, const CreateFileSystemFromBackupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteBackupAsyncHelper(const Model::DeleteBackupRequest& request, const DeleteBackupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteFileSystemAsyncHelper(const Model::DeleteFileSystemRequest& request, const DeleteFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeBackupsAsyncHelper(const Model::DescribeBackupsRequest& request, const DescribeBackupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDataRepositoryTasksAsyncHelper(const Model::DescribeDataRepositoryTasksRequest& request, const DescribeDataRepositoryTasksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeFileSystemsAsyncHelper(const Model::DescribeFileSystemsRequest& request, const DescribeFileSystemsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFileSystemAsyncHelper(const Model::UpdateFileSystemRequest& request, const UpdateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace FSx } // namespace Aws