/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FSx { namespace Model { class FileSystem; class Volume; class Snapshot; /** *

Describes a specific Amazon FSx administrative action for the current * Windows, Lustre, or OpenZFS file system.

See Also:

AWS * API Reference

*/ class AdministrativeAction { public: AWS_FSX_API AdministrativeAction(); AWS_FSX_API AdministrativeAction(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API AdministrativeAction& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API 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;} /** *

The percentage-complete status of a STORAGE_OPTIMIZATION * administrative action. Does not apply to any other administrative action * type.

*/ inline int GetProgressPercent() const{ return m_progressPercent; } /** *

The percentage-complete status of a STORAGE_OPTIMIZATION * administrative action. Does not apply to any other administrative action * type.

*/ inline bool ProgressPercentHasBeenSet() const { return m_progressPercentHasBeenSet; } /** *

The percentage-complete status of a STORAGE_OPTIMIZATION * administrative action. Does not apply to any other administrative action * type.

*/ inline void SetProgressPercent(int value) { m_progressPercentHasBeenSet = true; m_progressPercent = value; } /** *

The percentage-complete status of a STORAGE_OPTIMIZATION * administrative action. Does not apply to any other administrative action * type.

*/ inline AdministrativeAction& WithProgressPercent(int value) { SetProgressPercent(value); return *this;} /** *

The time that the administrative action request was received.

*/ inline const Aws::Utils::DateTime& GetRequestTime() const{ return m_requestTime; } /** *

The time that the administrative action request was received.

*/ inline bool RequestTimeHasBeenSet() const { return m_requestTimeHasBeenSet; } /** *

The time that the administrative action request was received.

*/ inline void SetRequestTime(const Aws::Utils::DateTime& value) { m_requestTimeHasBeenSet = true; m_requestTime = value; } /** *

The time that the administrative action request was received.

*/ inline void SetRequestTime(Aws::Utils::DateTime&& value) { m_requestTimeHasBeenSet = true; m_requestTime = std::move(value); } /** *

The time that the administrative action request was received.

*/ inline AdministrativeAction& WithRequestTime(const Aws::Utils::DateTime& value) { SetRequestTime(value); return *this;} /** *

The time that the administrative action request was received.

*/ inline AdministrativeAction& WithRequestTime(Aws::Utils::DateTime&& value) { SetRequestTime(std::move(value)); return *this;} /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline const Status& GetStatus() const{ return m_status; } /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline AdministrativeAction& WithStatus(const Status& value) { SetStatus(value); return *this;} /** *

Describes the status of the administrative action, as follows:

  • *

    FAILED - Amazon FSx failed to process the administrative action * successfully.

  • IN_PROGRESS - Amazon FSx is * processing the administrative action.

  • PENDING - * Amazon FSx is waiting to process the administrative action.

  • * COMPLETED - Amazon FSx has finished processing the administrative * task.

  • UPDATED_OPTIMIZING - 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.

*/ inline AdministrativeAction& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API const FileSystem& GetTargetFileSystemValues() const; /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API bool TargetFileSystemValuesHasBeenSet() const; /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API void SetTargetFileSystemValues(const FileSystem& value); /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API void SetTargetFileSystemValues(FileSystem&& value); /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API AdministrativeAction& WithTargetFileSystemValues(const FileSystem& value); /** *

Describes the target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

*/ AWS_FSX_API AdministrativeAction& WithTargetFileSystemValues(FileSystem&& value); 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;} AWS_FSX_API const Volume& GetTargetVolumeValues() const; AWS_FSX_API bool TargetVolumeValuesHasBeenSet() const; AWS_FSX_API void SetTargetVolumeValues(const Volume& value); AWS_FSX_API void SetTargetVolumeValues(Volume&& value); AWS_FSX_API AdministrativeAction& WithTargetVolumeValues(const Volume& value); AWS_FSX_API AdministrativeAction& WithTargetVolumeValues(Volume&& value); AWS_FSX_API const Snapshot& GetTargetSnapshotValues() const; AWS_FSX_API bool TargetSnapshotValuesHasBeenSet() const; AWS_FSX_API void SetTargetSnapshotValues(const Snapshot& value); AWS_FSX_API void SetTargetSnapshotValues(Snapshot&& value); AWS_FSX_API AdministrativeAction& WithTargetSnapshotValues(const Snapshot& value); AWS_FSX_API AdministrativeAction& WithTargetSnapshotValues(Snapshot&& value); private: AdministrativeActionType m_administrativeActionType; bool m_administrativeActionTypeHasBeenSet = false; int m_progressPercent; bool m_progressPercentHasBeenSet = false; Aws::Utils::DateTime m_requestTime; bool m_requestTimeHasBeenSet = false; Status m_status; bool m_statusHasBeenSet = false; std::shared_ptr m_targetFileSystemValues; bool m_targetFileSystemValuesHasBeenSet = false; AdministrativeActionFailureDetails m_failureDetails; bool m_failureDetailsHasBeenSet = false; std::shared_ptr m_targetVolumeValues; bool m_targetVolumeValuesHasBeenSet = false; std::shared_ptr m_targetSnapshotValues; bool m_targetSnapshotValuesHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws