/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

A container for the information about an asynchronous * operation.

See Also:

AWS * API Reference

*/ class AsyncOperation { public: AWS_S3CONTROL_API AsyncOperation(); AWS_S3CONTROL_API AsyncOperation(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API AsyncOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The time that the request was sent to the service.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time that the request was sent to the service.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time that the request was sent to the service.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time that the request was sent to the service.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time that the request was sent to the service.

*/ inline AsyncOperation& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time that the request was sent to the service.

*/ inline AsyncOperation& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The specific operation for the asynchronous request.

*/ inline const AsyncOperationName& GetOperation() const{ return m_operation; } /** *

The specific operation for the asynchronous request.

*/ inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } /** *

The specific operation for the asynchronous request.

*/ inline void SetOperation(const AsyncOperationName& value) { m_operationHasBeenSet = true; m_operation = value; } /** *

The specific operation for the asynchronous request.

*/ inline void SetOperation(AsyncOperationName&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } /** *

The specific operation for the asynchronous request.

*/ inline AsyncOperation& WithOperation(const AsyncOperationName& value) { SetOperation(value); return *this;} /** *

The specific operation for the asynchronous request.

*/ inline AsyncOperation& WithOperation(AsyncOperationName&& value) { SetOperation(std::move(value)); return *this;} /** *

The request token associated with the request.

*/ inline const Aws::String& GetRequestTokenARN() const{ return m_requestTokenARN; } /** *

The request token associated with the request.

*/ inline bool RequestTokenARNHasBeenSet() const { return m_requestTokenARNHasBeenSet; } /** *

The request token associated with the request.

*/ inline void SetRequestTokenARN(const Aws::String& value) { m_requestTokenARNHasBeenSet = true; m_requestTokenARN = value; } /** *

The request token associated with the request.

*/ inline void SetRequestTokenARN(Aws::String&& value) { m_requestTokenARNHasBeenSet = true; m_requestTokenARN = std::move(value); } /** *

The request token associated with the request.

*/ inline void SetRequestTokenARN(const char* value) { m_requestTokenARNHasBeenSet = true; m_requestTokenARN.assign(value); } /** *

The request token associated with the request.

*/ inline AsyncOperation& WithRequestTokenARN(const Aws::String& value) { SetRequestTokenARN(value); return *this;} /** *

The request token associated with the request.

*/ inline AsyncOperation& WithRequestTokenARN(Aws::String&& value) { SetRequestTokenARN(std::move(value)); return *this;} /** *

The request token associated with the request.

*/ inline AsyncOperation& WithRequestTokenARN(const char* value) { SetRequestTokenARN(value); return *this;} /** *

The parameters associated with the request.

*/ inline const AsyncRequestParameters& GetRequestParameters() const{ return m_requestParameters; } /** *

The parameters associated with the request.

*/ inline bool RequestParametersHasBeenSet() const { return m_requestParametersHasBeenSet; } /** *

The parameters associated with the request.

*/ inline void SetRequestParameters(const AsyncRequestParameters& value) { m_requestParametersHasBeenSet = true; m_requestParameters = value; } /** *

The parameters associated with the request.

*/ inline void SetRequestParameters(AsyncRequestParameters&& value) { m_requestParametersHasBeenSet = true; m_requestParameters = std::move(value); } /** *

The parameters associated with the request.

*/ inline AsyncOperation& WithRequestParameters(const AsyncRequestParameters& value) { SetRequestParameters(value); return *this;} /** *

The parameters associated with the request.

*/ inline AsyncOperation& WithRequestParameters(AsyncRequestParameters&& value) { SetRequestParameters(std::move(value)); return *this;} /** *

The current status of the request.

*/ inline const Aws::String& GetRequestStatus() const{ return m_requestStatus; } /** *

The current status of the request.

*/ inline bool RequestStatusHasBeenSet() const { return m_requestStatusHasBeenSet; } /** *

The current status of the request.

*/ inline void SetRequestStatus(const Aws::String& value) { m_requestStatusHasBeenSet = true; m_requestStatus = value; } /** *

The current status of the request.

*/ inline void SetRequestStatus(Aws::String&& value) { m_requestStatusHasBeenSet = true; m_requestStatus = std::move(value); } /** *

The current status of the request.

*/ inline void SetRequestStatus(const char* value) { m_requestStatusHasBeenSet = true; m_requestStatus.assign(value); } /** *

The current status of the request.

*/ inline AsyncOperation& WithRequestStatus(const Aws::String& value) { SetRequestStatus(value); return *this;} /** *

The current status of the request.

*/ inline AsyncOperation& WithRequestStatus(Aws::String&& value) { SetRequestStatus(std::move(value)); return *this;} /** *

The current status of the request.

*/ inline AsyncOperation& WithRequestStatus(const char* value) { SetRequestStatus(value); return *this;} /** *

The details of the response.

*/ inline const AsyncResponseDetails& GetResponseDetails() const{ return m_responseDetails; } /** *

The details of the response.

*/ inline bool ResponseDetailsHasBeenSet() const { return m_responseDetailsHasBeenSet; } /** *

The details of the response.

*/ inline void SetResponseDetails(const AsyncResponseDetails& value) { m_responseDetailsHasBeenSet = true; m_responseDetails = value; } /** *

The details of the response.

*/ inline void SetResponseDetails(AsyncResponseDetails&& value) { m_responseDetailsHasBeenSet = true; m_responseDetails = std::move(value); } /** *

The details of the response.

*/ inline AsyncOperation& WithResponseDetails(const AsyncResponseDetails& value) { SetResponseDetails(value); return *this;} /** *

The details of the response.

*/ inline AsyncOperation& WithResponseDetails(AsyncResponseDetails&& value) { SetResponseDetails(std::move(value)); return *this;} private: Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; AsyncOperationName m_operation; bool m_operationHasBeenSet = false; Aws::String m_requestTokenARN; bool m_requestTokenARNHasBeenSet = false; AsyncRequestParameters m_requestParameters; bool m_requestParametersHasBeenSet = false; Aws::String m_requestStatus; bool m_requestStatusHasBeenSet = false; AsyncResponseDetails m_responseDetails; bool m_responseDetailsHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws