/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AppMesh { namespace Model { /** *

An object that represents the service discovery information for a virtual * node.

See Also:

AWS * API Reference

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

Specifies any Cloud Map information for the virtual node.

*/ inline const AwsCloudMapServiceDiscovery& GetAwsCloudMap() const{ return m_awsCloudMap; } /** *

Specifies any Cloud Map information for the virtual node.

*/ inline bool AwsCloudMapHasBeenSet() const { return m_awsCloudMapHasBeenSet; } /** *

Specifies any Cloud Map information for the virtual node.

*/ inline void SetAwsCloudMap(const AwsCloudMapServiceDiscovery& value) { m_awsCloudMapHasBeenSet = true; m_awsCloudMap = value; } /** *

Specifies any Cloud Map information for the virtual node.

*/ inline void SetAwsCloudMap(AwsCloudMapServiceDiscovery&& value) { m_awsCloudMapHasBeenSet = true; m_awsCloudMap = std::move(value); } /** *

Specifies any Cloud Map information for the virtual node.

*/ inline ServiceDiscovery& WithAwsCloudMap(const AwsCloudMapServiceDiscovery& value) { SetAwsCloudMap(value); return *this;} /** *

Specifies any Cloud Map information for the virtual node.

*/ inline ServiceDiscovery& WithAwsCloudMap(AwsCloudMapServiceDiscovery&& value) { SetAwsCloudMap(std::move(value)); return *this;} /** *

Specifies the DNS information for the virtual node.

*/ inline const DnsServiceDiscovery& GetDns() const{ return m_dns; } /** *

Specifies the DNS information for the virtual node.

*/ inline bool DnsHasBeenSet() const { return m_dnsHasBeenSet; } /** *

Specifies the DNS information for the virtual node.

*/ inline void SetDns(const DnsServiceDiscovery& value) { m_dnsHasBeenSet = true; m_dns = value; } /** *

Specifies the DNS information for the virtual node.

*/ inline void SetDns(DnsServiceDiscovery&& value) { m_dnsHasBeenSet = true; m_dns = std::move(value); } /** *

Specifies the DNS information for the virtual node.

*/ inline ServiceDiscovery& WithDns(const DnsServiceDiscovery& value) { SetDns(value); return *this;} /** *

Specifies the DNS information for the virtual node.

*/ inline ServiceDiscovery& WithDns(DnsServiceDiscovery&& value) { SetDns(std::move(value)); return *this;} private: AwsCloudMapServiceDiscovery m_awsCloudMap; bool m_awsCloudMapHasBeenSet = false; DnsServiceDiscovery m_dns; bool m_dnsHasBeenSet = false; }; } // namespace Model } // namespace AppMesh } // namespace Aws