/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace NetworkManager { namespace Model { /** *

Describes the status of an analysis at completion.

See Also:

* AWS * API Reference

*/ class RouteAnalysisCompletion { public: AWS_NETWORKMANAGER_API RouteAnalysisCompletion(); AWS_NETWORKMANAGER_API RouteAnalysisCompletion(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKMANAGER_API RouteAnalysisCompletion& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline const RouteAnalysisCompletionResultCode& GetResultCode() const{ return m_resultCode; } /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline bool ResultCodeHasBeenSet() const { return m_resultCodeHasBeenSet; } /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline void SetResultCode(const RouteAnalysisCompletionResultCode& value) { m_resultCodeHasBeenSet = true; m_resultCode = value; } /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline void SetResultCode(RouteAnalysisCompletionResultCode&& value) { m_resultCodeHasBeenSet = true; m_resultCode = std::move(value); } /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline RouteAnalysisCompletion& WithResultCode(const RouteAnalysisCompletionResultCode& value) { SetResultCode(value); return *this;} /** *

The result of the analysis. If the status is NOT_CONNECTED, * check the reason code.

*/ inline RouteAnalysisCompletion& WithResultCode(RouteAnalysisCompletionResultCode&& value) { SetResultCode(std::move(value)); return *this;} /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline const RouteAnalysisCompletionReasonCode& GetReasonCode() const{ return m_reasonCode; } /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline bool ReasonCodeHasBeenSet() const { return m_reasonCodeHasBeenSet; } /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline void SetReasonCode(const RouteAnalysisCompletionReasonCode& value) { m_reasonCodeHasBeenSet = true; m_reasonCode = value; } /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline void SetReasonCode(RouteAnalysisCompletionReasonCode&& value) { m_reasonCodeHasBeenSet = true; m_reasonCode = std::move(value); } /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline RouteAnalysisCompletion& WithReasonCode(const RouteAnalysisCompletionReasonCode& value) { SetReasonCode(value); return *this;} /** *

The reason code. Available only if a connection is not found.

  • *

    BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND - Found a black hole * route with the destination CIDR block.

  • * CYCLIC_PATH_DETECTED - Found the same resource multiple times while * traversing the path.

  • * INACTIVE_ROUTE_FOR_DESTINATION_FOUND - Found an inactive route with * the destination CIDR block.

  • MAX_HOPS_EXCEEDED - * Analysis exceeded 64 hops without finding the destination.

  • * ROUTE_NOT_FOUND - Cannot find a route table with the destination * CIDR block.

  • TGW_ATTACH_ARN_NO_MATCH - Found an * attachment, but not with the correct destination ARN.

  • * TGW_ATTACH_NOT_FOUND - Cannot find an attachment.

  • *

    TGW_ATTACH_NOT_IN_TGW - Found an attachment, but not to the * correct transit gateway.

  • * TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND - The state of the route * table association is not associated.

*/ inline RouteAnalysisCompletion& WithReasonCode(RouteAnalysisCompletionReasonCode&& value) { SetReasonCode(std::move(value)); return *this;} /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline const Aws::Map& GetReasonContext() const{ return m_reasonContext; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline bool ReasonContextHasBeenSet() const { return m_reasonContextHasBeenSet; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline void SetReasonContext(const Aws::Map& value) { m_reasonContextHasBeenSet = true; m_reasonContext = value; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline void SetReasonContext(Aws::Map&& value) { m_reasonContextHasBeenSet = true; m_reasonContext = std::move(value); } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& WithReasonContext(const Aws::Map& value) { SetReasonContext(value); return *this;} /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& WithReasonContext(Aws::Map&& value) { SetReasonContext(std::move(value)); return *this;} /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(const Aws::String& key, const Aws::String& value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(key, value); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(Aws::String&& key, const Aws::String& value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(std::move(key), value); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(const Aws::String& key, Aws::String&& value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(key, std::move(value)); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(Aws::String&& key, Aws::String&& value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(std::move(key), std::move(value)); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(const char* key, Aws::String&& value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(key, std::move(value)); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(Aws::String&& key, const char* value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(std::move(key), value); return *this; } /** *

Additional information about the path. Available only if a connection is not * found.

*/ inline RouteAnalysisCompletion& AddReasonContext(const char* key, const char* value) { m_reasonContextHasBeenSet = true; m_reasonContext.emplace(key, value); return *this; } private: RouteAnalysisCompletionResultCode m_resultCode; bool m_resultCodeHasBeenSet = false; RouteAnalysisCompletionReasonCode m_reasonCode; bool m_reasonCodeHasBeenSet = false; Aws::Map m_reasonContext; bool m_reasonContextHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws