AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsCloudMapServiceDiscovery.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/appmesh/model/IpPreference.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/appmesh/model/AwsCloudMapInstanceAttribute.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace AppMesh
25{
26namespace Model
27{
28
37 {
38 public:
39 AWS_APPMESH_API AwsCloudMapServiceDiscovery() = default;
42 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
52 inline const Aws::Vector<AwsCloudMapInstanceAttribute>& GetAttributes() const { return m_attributes; }
53 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
54 template<typename AttributesT = Aws::Vector<AwsCloudMapInstanceAttribute>>
55 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
56 template<typename AttributesT = Aws::Vector<AwsCloudMapInstanceAttribute>>
57 AwsCloudMapServiceDiscovery& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
58 template<typename AttributesT = AwsCloudMapInstanceAttribute>
59 AwsCloudMapServiceDiscovery& AddAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes.emplace_back(std::forward<AttributesT>(value)); return *this; }
61
63
68 inline IpPreference GetIpPreference() const { return m_ipPreference; }
69 inline bool IpPreferenceHasBeenSet() const { return m_ipPreferenceHasBeenSet; }
70 inline void SetIpPreference(IpPreference value) { m_ipPreferenceHasBeenSet = true; m_ipPreference = value; }
73
75
78 inline const Aws::String& GetNamespaceName() const { return m_namespaceName; }
79 inline bool NamespaceNameHasBeenSet() const { return m_namespaceNameHasBeenSet; }
80 template<typename NamespaceNameT = Aws::String>
81 void SetNamespaceName(NamespaceNameT&& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = std::forward<NamespaceNameT>(value); }
82 template<typename NamespaceNameT = Aws::String>
83 AwsCloudMapServiceDiscovery& WithNamespaceName(NamespaceNameT&& value) { SetNamespaceName(std::forward<NamespaceNameT>(value)); return *this;}
85
87
90 inline const Aws::String& GetServiceName() const { return m_serviceName; }
91 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
92 template<typename ServiceNameT = Aws::String>
93 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::forward<ServiceNameT>(value); }
94 template<typename ServiceNameT = Aws::String>
95 AwsCloudMapServiceDiscovery& WithServiceName(ServiceNameT&& value) { SetServiceName(std::forward<ServiceNameT>(value)); return *this;}
97 private:
98
100 bool m_attributesHasBeenSet = false;
101
102 IpPreference m_ipPreference{IpPreference::NOT_SET};
103 bool m_ipPreferenceHasBeenSet = false;
104
105 Aws::String m_namespaceName;
106 bool m_namespaceNameHasBeenSet = false;
107
108 Aws::String m_serviceName;
109 bool m_serviceNameHasBeenSet = false;
110 };
111
112} // namespace Model
113} // namespace AppMesh
114} // namespace Aws
const Aws::Vector< AwsCloudMapInstanceAttribute > & GetAttributes() const
AwsCloudMapServiceDiscovery & WithServiceName(ServiceNameT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
AwsCloudMapServiceDiscovery & WithIpPreference(IpPreference value)
AWS_APPMESH_API AwsCloudMapServiceDiscovery(Aws::Utils::Json::JsonView jsonValue)
AwsCloudMapServiceDiscovery & WithNamespaceName(NamespaceNameT &&value)
AWS_APPMESH_API AwsCloudMapServiceDiscovery()=default
AwsCloudMapServiceDiscovery & AddAttributes(AttributesT &&value)
AWS_APPMESH_API AwsCloudMapServiceDiscovery & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsCloudMapServiceDiscovery & WithAttributes(AttributesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue