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

Describes a network resource.

See Also:

AWS * API Reference

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

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 NetworkResourceSummary& WithRegisteredGatewayArn(const Aws::String& value) { SetRegisteredGatewayArn(value); return *this;} /** *

The ARN of the gateway.

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

The ARN of the gateway.

*/ inline NetworkResourceSummary& WithRegisteredGatewayArn(const char* value) { SetRegisteredGatewayArn(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 NetworkResourceSummary& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The ARN of the resource.

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

The ARN of the resource.

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

The resource type.

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

The resource type.

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

The resource type.

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

The resource type.

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

The resource type.

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

The resource type.

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

The resource type.

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

The resource type.

*/ inline NetworkResourceSummary& WithResourceType(const char* value) { SetResourceType(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 NetworkResourceSummary& 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 NetworkResourceSummary& 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 NetworkResourceSummary& WithDefinition(const char* value) { SetDefinition(value); return *this;} /** *

The value for the Name tag.

*/ inline const Aws::String& GetNameTag() const{ return m_nameTag; } /** *

The value for the Name tag.

*/ inline bool NameTagHasBeenSet() const { return m_nameTagHasBeenSet; } /** *

The value for the Name tag.

*/ inline void SetNameTag(const Aws::String& value) { m_nameTagHasBeenSet = true; m_nameTag = value; } /** *

The value for the Name tag.

*/ inline void SetNameTag(Aws::String&& value) { m_nameTagHasBeenSet = true; m_nameTag = std::move(value); } /** *

The value for the Name tag.

*/ inline void SetNameTag(const char* value) { m_nameTagHasBeenSet = true; m_nameTag.assign(value); } /** *

The value for the Name tag.

*/ inline NetworkResourceSummary& WithNameTag(const Aws::String& value) { SetNameTag(value); return *this;} /** *

The value for the Name tag.

*/ inline NetworkResourceSummary& WithNameTag(Aws::String&& value) { SetNameTag(std::move(value)); return *this;} /** *

The value for the Name tag.

*/ inline NetworkResourceSummary& WithNameTag(const char* value) { SetNameTag(value); return *this;} /** *

Indicates whether this is a middlebox appliance.

*/ inline bool GetIsMiddlebox() const{ return m_isMiddlebox; } /** *

Indicates whether this is a middlebox appliance.

*/ inline bool IsMiddleboxHasBeenSet() const { return m_isMiddleboxHasBeenSet; } /** *

Indicates whether this is a middlebox appliance.

*/ inline void SetIsMiddlebox(bool value) { m_isMiddleboxHasBeenSet = true; m_isMiddlebox = value; } /** *

Indicates whether this is a middlebox appliance.

*/ inline NetworkResourceSummary& WithIsMiddlebox(bool value) { SetIsMiddlebox(value); return *this;} private: Aws::String m_registeredGatewayArn; bool m_registeredGatewayArnHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_definition; bool m_definitionHasBeenSet = false; Aws::String m_nameTag; bool m_nameTagHasBeenSet = false; bool m_isMiddlebox; bool m_isMiddleboxHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws