/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace tnb { namespace Model { class GetSolNetworkOperationResult { public: AWS_TNB_API GetSolNetworkOperationResult(); AWS_TNB_API GetSolNetworkOperationResult(const Aws::AmazonWebServiceResult& result); AWS_TNB_API GetSolNetworkOperationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

Network operation ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

Network operation ARN.

*/ inline void SetArn(const Aws::String& value) { m_arn = value; } /** *

Network operation ARN.

*/ inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } /** *

Network operation ARN.

*/ inline void SetArn(const char* value) { m_arn.assign(value); } /** *

Network operation ARN.

*/ inline GetSolNetworkOperationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

Network operation ARN.

*/ inline GetSolNetworkOperationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

Network operation ARN.

*/ inline GetSolNetworkOperationResult& WithArn(const char* value) { SetArn(value); return *this;} /** *

Error related to this specific network operation occurrence.

*/ inline const ProblemDetails& GetError() const{ return m_error; } /** *

Error related to this specific network operation occurrence.

*/ inline void SetError(const ProblemDetails& value) { m_error = value; } /** *

Error related to this specific network operation occurrence.

*/ inline void SetError(ProblemDetails&& value) { m_error = std::move(value); } /** *

Error related to this specific network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithError(const ProblemDetails& value) { SetError(value); return *this;} /** *

Error related to this specific network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithError(ProblemDetails&& value) { SetError(std::move(value)); return *this;} /** *

ID of this network operation occurrence.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

ID of this network operation occurrence.

*/ inline void SetId(const Aws::String& value) { m_id = value; } /** *

ID of this network operation occurrence.

*/ inline void SetId(Aws::String&& value) { m_id = std::move(value); } /** *

ID of this network operation occurrence.

*/ inline void SetId(const char* value) { m_id.assign(value); } /** *

ID of this network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

ID of this network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

ID of this network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithId(const char* value) { SetId(value); return *this;} /** *

Type of the operation represented by this occurrence.

*/ inline const LcmOperationType& GetLcmOperationType() const{ return m_lcmOperationType; } /** *

Type of the operation represented by this occurrence.

*/ inline void SetLcmOperationType(const LcmOperationType& value) { m_lcmOperationType = value; } /** *

Type of the operation represented by this occurrence.

*/ inline void SetLcmOperationType(LcmOperationType&& value) { m_lcmOperationType = std::move(value); } /** *

Type of the operation represented by this occurrence.

*/ inline GetSolNetworkOperationResult& WithLcmOperationType(const LcmOperationType& value) { SetLcmOperationType(value); return *this;} /** *

Type of the operation represented by this occurrence.

*/ inline GetSolNetworkOperationResult& WithLcmOperationType(LcmOperationType&& value) { SetLcmOperationType(std::move(value)); return *this;} /** *

Metadata of this network operation occurrence.

*/ inline const GetSolNetworkOperationMetadata& GetMetadata() const{ return m_metadata; } /** *

Metadata of this network operation occurrence.

*/ inline void SetMetadata(const GetSolNetworkOperationMetadata& value) { m_metadata = value; } /** *

Metadata of this network operation occurrence.

*/ inline void SetMetadata(GetSolNetworkOperationMetadata&& value) { m_metadata = std::move(value); } /** *

Metadata of this network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithMetadata(const GetSolNetworkOperationMetadata& value) { SetMetadata(value); return *this;} /** *

Metadata of this network operation occurrence.

*/ inline GetSolNetworkOperationResult& WithMetadata(GetSolNetworkOperationMetadata&& value) { SetMetadata(std::move(value)); return *this;} /** *

ID of the network operation instance.

*/ inline const Aws::String& GetNsInstanceId() const{ return m_nsInstanceId; } /** *

ID of the network operation instance.

*/ inline void SetNsInstanceId(const Aws::String& value) { m_nsInstanceId = value; } /** *

ID of the network operation instance.

*/ inline void SetNsInstanceId(Aws::String&& value) { m_nsInstanceId = std::move(value); } /** *

ID of the network operation instance.

*/ inline void SetNsInstanceId(const char* value) { m_nsInstanceId.assign(value); } /** *

ID of the network operation instance.

*/ inline GetSolNetworkOperationResult& WithNsInstanceId(const Aws::String& value) { SetNsInstanceId(value); return *this;} /** *

ID of the network operation instance.

*/ inline GetSolNetworkOperationResult& WithNsInstanceId(Aws::String&& value) { SetNsInstanceId(std::move(value)); return *this;} /** *

ID of the network operation instance.

*/ inline GetSolNetworkOperationResult& WithNsInstanceId(const char* value) { SetNsInstanceId(value); return *this;} /** *

The state of the network operation.

*/ inline const NsLcmOperationState& GetOperationState() const{ return m_operationState; } /** *

The state of the network operation.

*/ inline void SetOperationState(const NsLcmOperationState& value) { m_operationState = value; } /** *

The state of the network operation.

*/ inline void SetOperationState(NsLcmOperationState&& value) { m_operationState = std::move(value); } /** *

The state of the network operation.

*/ inline GetSolNetworkOperationResult& WithOperationState(const NsLcmOperationState& value) { SetOperationState(value); return *this;} /** *

The state of the network operation.

*/ inline GetSolNetworkOperationResult& WithOperationState(NsLcmOperationState&& value) { SetOperationState(std::move(value)); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline void SetTags(const Aws::Map& value) { m_tags = value; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline GetSolNetworkOperationResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } /** *

All tasks associated with this operation occurrence.

*/ inline const Aws::Vector& GetTasks() const{ return m_tasks; } /** *

All tasks associated with this operation occurrence.

*/ inline void SetTasks(const Aws::Vector& value) { m_tasks = value; } /** *

All tasks associated with this operation occurrence.

*/ inline void SetTasks(Aws::Vector&& value) { m_tasks = std::move(value); } /** *

All tasks associated with this operation occurrence.

*/ inline GetSolNetworkOperationResult& WithTasks(const Aws::Vector& value) { SetTasks(value); return *this;} /** *

All tasks associated with this operation occurrence.

*/ inline GetSolNetworkOperationResult& WithTasks(Aws::Vector&& value) { SetTasks(std::move(value)); return *this;} /** *

All tasks associated with this operation occurrence.

*/ inline GetSolNetworkOperationResult& AddTasks(const GetSolNetworkOperationTaskDetails& value) { m_tasks.push_back(value); return *this; } /** *

All tasks associated with this operation occurrence.

*/ inline GetSolNetworkOperationResult& AddTasks(GetSolNetworkOperationTaskDetails&& value) { m_tasks.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetSolNetworkOperationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetSolNetworkOperationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetSolNetworkOperationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_arn; ProblemDetails m_error; Aws::String m_id; LcmOperationType m_lcmOperationType; GetSolNetworkOperationMetadata m_metadata; Aws::String m_nsInstanceId; NsLcmOperationState m_operationState; Aws::Map m_tags; Aws::Vector m_tasks; Aws::String m_requestId; }; } // namespace Model } // namespace tnb } // namespace Aws