/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a network resource.See Also:
AWS
* API Reference
The ARN of the gateway.
*/ inline const Aws::String& GetRegisteredGatewayArn() const{ return m_registeredGatewayArn; } /** *The ARN of the gateway.
*/ inline bool RegisteredGatewayArnHasBeenSet() const { return m_registeredGatewayArnHasBeenSet; } /** *The ARN of the gateway.
*/ inline void SetRegisteredGatewayArn(const Aws::String& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = value; } /** *The ARN of the gateway.
*/ inline void SetRegisteredGatewayArn(Aws::String&& value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn = std::move(value); } /** *The ARN of the gateway.
*/ inline void SetRegisteredGatewayArn(const char* value) { m_registeredGatewayArnHasBeenSet = true; m_registeredGatewayArn.assign(value); } /** *The ARN of the gateway.
*/ inline NetworkResource& WithRegisteredGatewayArn(const Aws::String& value) { SetRegisteredGatewayArn(value); return *this;} /** *The ARN of the gateway.
*/ inline NetworkResource& WithRegisteredGatewayArn(Aws::String&& value) { SetRegisteredGatewayArn(std::move(value)); return *this;} /** *The ARN of the gateway.
*/ inline NetworkResource& WithRegisteredGatewayArn(const char* value) { SetRegisteredGatewayArn(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 NetworkResource& WithCoreNetworkId(const Aws::String& value) { SetCoreNetworkId(value); return *this;} /** *The ID of a core network.
*/ inline NetworkResource& WithCoreNetworkId(Aws::String&& value) { SetCoreNetworkId(std::move(value)); return *this;} /** *The ID of a core network.
*/ inline NetworkResource& WithCoreNetworkId(const char* value) { SetCoreNetworkId(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 NetworkResource& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *The Amazon Web Services Region.
*/ inline NetworkResource& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *The Amazon Web Services Region.
*/ inline NetworkResource& 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 NetworkResource& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *The Amazon Web Services account ID.
*/ inline NetworkResource& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *The Amazon Web Services account ID.
*/ inline NetworkResource& 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
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
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
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
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
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
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
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
The ID of the resource.
*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *The ID of the resource.
*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *The ID of the resource.
*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *The ID of the resource.
*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *The ID of the resource.
*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *The ID of the resource.
*/ inline NetworkResource& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *The ID of the resource.
*/ inline NetworkResource& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *The ID of the resource.
*/ inline NetworkResource& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *The ARN of the resource.
*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *The ARN of the resource.
*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *The ARN of the resource.
*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *The ARN of the resource.
*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *The ARN of the resource.
*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *The ARN of the resource.
*/ inline NetworkResource& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *The ARN of the resource.
*/ inline NetworkResource& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *The ARN of the resource.
*/ inline NetworkResource& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline const Aws::String& GetDefinition() const{ return m_definition; } /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline void SetDefinition(const Aws::String& value) { m_definitionHasBeenSet = true; m_definition = value; } /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline void SetDefinition(Aws::String&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline void SetDefinition(const char* value) { m_definitionHasBeenSet = true; m_definition.assign(value); } /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline NetworkResource& WithDefinition(const Aws::String& value) { SetDefinition(value); return *this;} /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline NetworkResource& WithDefinition(Aws::String&& value) { SetDefinition(std::move(value)); return *this;} /** *Information about the resource, in JSON format. Network Manager gets this * information by describing the resource using its Describe API call.
*/ inline NetworkResource& WithDefinition(const char* value) { SetDefinition(value); return *this;} /** *The time that the resource definition was retrieved.
*/ inline const Aws::Utils::DateTime& GetDefinitionTimestamp() const{ return m_definitionTimestamp; } /** *The time that the resource definition was retrieved.
*/ inline bool DefinitionTimestampHasBeenSet() const { return m_definitionTimestampHasBeenSet; } /** *The time that the resource definition was retrieved.
*/ inline void SetDefinitionTimestamp(const Aws::Utils::DateTime& value) { m_definitionTimestampHasBeenSet = true; m_definitionTimestamp = value; } /** *The time that the resource definition was retrieved.
*/ inline void SetDefinitionTimestamp(Aws::Utils::DateTime&& value) { m_definitionTimestampHasBeenSet = true; m_definitionTimestamp = std::move(value); } /** *The time that the resource definition was retrieved.
*/ inline NetworkResource& WithDefinitionTimestamp(const Aws::Utils::DateTime& value) { SetDefinitionTimestamp(value); return *this;} /** *The time that the resource definition was retrieved.
*/ inline NetworkResource& WithDefinitionTimestamp(Aws::Utils::DateTime&& value) { SetDefinitionTimestamp(std::move(value)); return *this;} /** *The tags.
*/ inline const Aws::VectorThe tags.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags.
*/ inline void SetTags(const Aws::VectorThe tags.
*/ inline void SetTags(Aws::VectorThe tags.
*/ inline NetworkResource& WithTags(const Aws::VectorThe tags.
*/ inline NetworkResource& WithTags(Aws::VectorThe tags.
*/ inline NetworkResource& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The tags.
*/ inline NetworkResource& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The resource metadata.
*/ inline const Aws::MapThe resource metadata.
*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *The resource metadata.
*/ inline void SetMetadata(const Aws::MapThe resource metadata.
*/ inline void SetMetadata(Aws::MapThe resource metadata.
*/ inline NetworkResource& WithMetadata(const Aws::MapThe resource metadata.
*/ inline NetworkResource& WithMetadata(Aws::MapThe resource metadata.
*/ inline NetworkResource& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *The resource metadata.
*/ inline NetworkResource& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } private: Aws::String m_registeredGatewayArn; bool m_registeredGatewayArnHasBeenSet = false; Aws::String m_coreNetworkId; bool m_coreNetworkIdHasBeenSet = 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_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_definition; bool m_definitionHasBeenSet = false; Aws::Utils::DateTime m_definitionTimestamp; bool m_definitionTimestampHasBeenSet = false; Aws::Vector