/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace NetworkManager { namespace Model { /** */ class GetNetworkResourceRelationshipsRequest : public NetworkManagerRequest { public: AWS_NETWORKMANAGER_API GetNetworkResourceRelationshipsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetNetworkResourceRelationships"; } AWS_NETWORKMANAGER_API Aws::String SerializePayload() const override; AWS_NETWORKMANAGER_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The ID of the global network.

*/ inline const Aws::String& GetGlobalNetworkId() const{ return m_globalNetworkId; } /** *

The ID of the global network.

*/ inline bool GlobalNetworkIdHasBeenSet() const { return m_globalNetworkIdHasBeenSet; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const Aws::String& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = value; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(Aws::String&& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = std::move(value); } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const char* value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId.assign(value); } /** *

The ID of the global network.

*/ inline GetNetworkResourceRelationshipsRequest& WithGlobalNetworkId(const Aws::String& value) { SetGlobalNetworkId(value); return *this;} /** *

The ID of the global network.

*/ inline GetNetworkResourceRelationshipsRequest& WithGlobalNetworkId(Aws::String&& value) { SetGlobalNetworkId(std::move(value)); return *this;} /** *

The ID of the global network.

*/ inline GetNetworkResourceRelationshipsRequest& WithGlobalNetworkId(const char* value) { SetGlobalNetworkId(value); return *this;} /** *

The ID of a core network.

*/ inline const Aws::String& GetCoreNetworkId() const{ return m_coreNetworkId; } /** *

The ID of a core network.

*/ inline bool CoreNetworkIdHasBeenSet() const { return m_coreNetworkIdHasBeenSet; } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(const Aws::String& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = value; } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(Aws::String&& value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId = std::move(value); } /** *

The ID of a core network.

*/ inline void SetCoreNetworkId(const char* value) { m_coreNetworkIdHasBeenSet = true; m_coreNetworkId.assign(value); } /** *

The ID of a core network.

*/ inline GetNetworkResourceRelationshipsRequest& WithCoreNetworkId(const Aws::String& value) { SetCoreNetworkId(value); return *this;} /** *

The ID of a core network.

*/ inline GetNetworkResourceRelationshipsRequest& WithCoreNetworkId(Aws::String&& value) { SetCoreNetworkId(std::move(value)); return *this;} /** *

The ID of a core network.

*/ inline GetNetworkResourceRelationshipsRequest& WithCoreNetworkId(const char* value) { SetCoreNetworkId(value); return *this;} /** *

The ARN of the registered gateway.

*/ inline const Aws::String& GetRegisteredGatewayArn() const{ return m_registeredGatewayArn; } /** *

The ARN of the registered gateway.

*/ inline bool RegisteredGatewayArnHasBeenSet() const { return m_registeredGatewayArnHasBeenSet; } /** *

The ARN of the registered gateway.

*/ inline void SetRegisteredGatewayArn(const Aws::String& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = value; } /** *

The ARN of the registered gateway.

*/ inline void SetRegisteredGatewayArn(Aws::String&& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = std::move(value); } /** *

The ARN of the registered gateway.

*/ inline void SetRegisteredGatewayArn(const char* value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn.assign(value); } /** *

The ARN of the registered gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithRegisteredGatewayArn(const Aws::String& value) { SetRegisteredGatewayArn(value); return *this;} /** *

The ARN of the registered gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithRegisteredGatewayArn(Aws::String&& value) { SetRegisteredGatewayArn(std::move(value)); return *this;} /** *

The ARN of the registered gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithRegisteredGatewayArn(const char* value) { SetRegisteredGatewayArn(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The Amazon Web Services Region.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The Amazon Web Services Region.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The Amazon Web Services Region.

*/ inline GetNetworkResourceRelationshipsRequest& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services Region.

*/ inline GetNetworkResourceRelationshipsRequest& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region.

*/ inline GetNetworkResourceRelationshipsRequest& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The Amazon Web Services account ID.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The Amazon Web Services account ID.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The Amazon Web Services account ID.

*/ inline GetNetworkResourceRelationshipsRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The Amazon Web Services account ID.

*/ inline GetNetworkResourceRelationshipsRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID.

*/ inline GetNetworkResourceRelationshipsRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The resource type.

The following are the supported resource types for * Direct Connect:

  • dxcon

  • * dx-gateway

  • dx-vif

*

The following are the supported resource types for Network Manager:

    *
  • connection

  • device

    *
  • link

  • site

    *

The following are the supported resource types for Amazon * VPC:

  • customer-gateway

  • * transit-gateway

  • * transit-gateway-attachment

  • * transit-gateway-connect-peer

  • * transit-gateway-route-table

  • * vpn-connection

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

The ARN of the gateway.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The ARN of the gateway.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The ARN of the gateway.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The ARN of the gateway.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The ARN of the gateway.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The ARN of the gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The ARN of the gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The ARN of the gateway.

*/ inline GetNetworkResourceRelationshipsRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

The maximum number of results to return.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of results to return.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of results to return.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of results to return.

*/ inline GetNetworkResourceRelationshipsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

The token for the next page of results.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The token for the next page of results.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The token for the next page of results.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The token for the next page of results.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The token for the next page of results.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The token for the next page of results.

*/ inline GetNetworkResourceRelationshipsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The token for the next page of results.

*/ inline GetNetworkResourceRelationshipsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The token for the next page of results.

*/ inline GetNetworkResourceRelationshipsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} private: Aws::String m_globalNetworkId; bool m_globalNetworkIdHasBeenSet = false; Aws::String m_coreNetworkId; bool m_coreNetworkIdHasBeenSet = false; Aws::String m_registeredGatewayArn; bool m_registeredGatewayArnHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws