/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A description of the data repository task. You use data repository tasks to
* perform bulk transfer operations between an Amazon FSx for Lustre file system
* and a linked data repository. An Amazon File Cache resource uses a task to
* automatically release files from the cache.See Also:
AWS
* API Reference
The system-generated, unique 17-digit ID of the data repository task.
*/ inline const Aws::String& GetTaskId() const{ return m_taskId; } /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline bool TaskIdHasBeenSet() const { return m_taskIdHasBeenSet; } /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline void SetTaskId(const Aws::String& value) { m_taskIdHasBeenSet = true; m_taskId = value; } /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline void SetTaskId(Aws::String&& value) { m_taskIdHasBeenSet = true; m_taskId = std::move(value); } /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline void SetTaskId(const char* value) { m_taskIdHasBeenSet = true; m_taskId.assign(value); } /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline DataRepositoryTask& WithTaskId(const Aws::String& value) { SetTaskId(value); return *this;} /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline DataRepositoryTask& WithTaskId(Aws::String&& value) { SetTaskId(std::move(value)); return *this;} /** *The system-generated, unique 17-digit ID of the data repository task.
*/ inline DataRepositoryTask& WithTaskId(const char* value) { SetTaskId(value); return *this;} /** *The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The lifecycle status of the data repository task, as follows:
PENDING
- The task has not started.
* EXECUTING
- The task is in process.
* FAILED
- The task was not able to be completed. For example, there
* may be files the task failed to process. The
* DataRepositoryTaskFailureDetails property provides more information about
* task failures.
SUCCEEDED
- The task has
* completed successfully.
CANCELED
- The task was
* canceled and it did not complete.
CANCELING
-
* The task is in process of being canceled.
You cannot
* delete an FSx for Lustre file system if there are data repository tasks for the
* file system in the PENDING
or EXECUTING
states. Please
* retry when the data repository task is finished (with a status of
* CANCELED
, SUCCEEDED
, or FAILED
). You can
* use the DescribeDataRepositoryTask action to monitor the task status. Contact
* the FSx team if you need to delete your file system immediately.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The type of data repository task.
* EXPORT_TO_REPOSITORY
tasks export from your Amazon FSx for Lustre
* file system to a linked data repository.
* IMPORT_METADATA_FROM_REPOSITORY
tasks import metadata changes from
* a linked S3 bucket to your Amazon FSx for Lustre file system.
* AUTO_RELEASE_DATA
tasks automatically release files from an Amazon
* File Cache resource.
* RELEASE_DATA_FROM_FILESYSTEM
tasks are not supported.
The time the system began processing the task.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The time the system began processing the task.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The time the system began processing the task.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The time the system began processing the task.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The time the system began processing the task.
*/ inline DataRepositoryTask& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The time the system began processing the task.
*/ inline DataRepositoryTask& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *The time the system completed processing the task, populated after the task * is complete.
*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *The time the system completed processing the task, populated after the task * is complete.
*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *The time the system completed processing the task, populated after the task * is complete.
*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *The time the system completed processing the task, populated after the task * is complete.
*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *The time the system completed processing the task, populated after the task * is complete.
*/ inline DataRepositoryTask& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *The time the system completed processing the task, populated after the task * is complete.
*/ 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::VectorThe globally unique ID of the file system.
*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *The globally unique ID of the file system.
*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *The globally unique ID of the file system.
*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *The globally unique ID of the file system.
*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *The globally unique ID of the file system.
*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *The globally unique ID of the file system.
*/ inline DataRepositoryTask& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *The globally unique ID of the file system.
*/ inline DataRepositoryTask& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *The globally unique ID of the file system.
*/ inline DataRepositoryTask& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
An array of paths 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.
(Default) If
* Paths
is not specified, Amazon FSx uses the file system root
* directory.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Failure message describing why the task failed, it is populated only when
* Lifecycle
is set to FAILED
.
Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ inline const DataRepositoryTaskStatus& GetStatus() const{ return m_status; } /** *Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ inline void SetStatus(const DataRepositoryTaskStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ inline void SetStatus(DataRepositoryTaskStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ inline DataRepositoryTask& WithStatus(const DataRepositoryTaskStatus& value) { SetStatus(value); return *this;} /** *Provides the status of the number of files that the task has processed * successfully and failed to process.
*/ 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;} /** *Specifies the amount of data to release, in GiB, by an Amazon File Cache * AUTO_RELEASE_DATA task that automatically releases files from the cache.
*/ inline long long GetCapacityToRelease() const{ return m_capacityToRelease; } /** *Specifies the amount of data to release, in GiB, by an Amazon File Cache * AUTO_RELEASE_DATA task that automatically releases files from the cache.
*/ inline bool CapacityToReleaseHasBeenSet() const { return m_capacityToReleaseHasBeenSet; } /** *Specifies the amount of data to release, in GiB, by an Amazon File Cache * AUTO_RELEASE_DATA task that automatically releases files from the cache.
*/ inline void SetCapacityToRelease(long long value) { m_capacityToReleaseHasBeenSet = true; m_capacityToRelease = value; } /** *Specifies the amount of data to release, in GiB, by an Amazon File Cache * AUTO_RELEASE_DATA task that automatically releases files from the cache.
*/ inline DataRepositoryTask& WithCapacityToRelease(long long value) { SetCapacityToRelease(value); return *this;} /** *The system-generated, unique ID of the cache.
*/ inline const Aws::String& GetFileCacheId() const{ return m_fileCacheId; } /** *The system-generated, unique ID of the cache.
*/ inline bool FileCacheIdHasBeenSet() const { return m_fileCacheIdHasBeenSet; } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(const Aws::String& value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId = value; } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(Aws::String&& value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId = std::move(value); } /** *The system-generated, unique ID of the cache.
*/ inline void SetFileCacheId(const char* value) { m_fileCacheIdHasBeenSet = true; m_fileCacheId.assign(value); } /** *The system-generated, unique ID of the cache.
*/ inline DataRepositoryTask& WithFileCacheId(const Aws::String& value) { SetFileCacheId(value); return *this;} /** *The system-generated, unique ID of the cache.
*/ inline DataRepositoryTask& WithFileCacheId(Aws::String&& value) { SetFileCacheId(std::move(value)); return *this;} /** *The system-generated, unique ID of the cache.
*/ inline DataRepositoryTask& WithFileCacheId(const char* value) { SetFileCacheId(value); return *this;} private: Aws::String m_taskId; bool m_taskIdHasBeenSet = false; DataRepositoryTaskLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; DataRepositoryTaskType m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; Aws::Vector