/** * 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 AWS_APPMESH_API ServiceDiscovery { public: ServiceDiscovery(); ServiceDiscovery(Aws::Utils::Json::JsonView jsonValue); ServiceDiscovery& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies any AWS Cloud Map information for the virtual node.

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

Specifies any AWS Cloud Map information for the virtual node.

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

Specifies any AWS Cloud Map information for the virtual node.

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

Specifies any AWS Cloud Map information for the virtual node.

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

Specifies any AWS Cloud Map information for the virtual node.

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

Specifies any AWS 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; DnsServiceDiscovery m_dns; bool m_dnsHasBeenSet; }; } // namespace Model } // namespace AppMesh } // namespace Aws