AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
VirtualNodeSpec.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/Backend.h>
9#include <aws/appmesh/model/BackendDefaults.h>
10#include <aws/appmesh/model/Listener.h>
11#include <aws/appmesh/model/Logging.h>
12#include <aws/appmesh/model/ServiceDiscovery.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace AppMesh {
25namespace Model {
26
34 public:
35 AWS_APPMESH_API VirtualNodeSpec() = default;
36 AWS_APPMESH_API VirtualNodeSpec(Aws::Utils::Json::JsonView jsonValue);
38 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const BackendDefaults& GetBackendDefaults() const { return m_backendDefaults; }
45 inline bool BackendDefaultsHasBeenSet() const { return m_backendDefaultsHasBeenSet; }
46 template <typename BackendDefaultsT = BackendDefaults>
47 void SetBackendDefaults(BackendDefaultsT&& value) {
48 m_backendDefaultsHasBeenSet = true;
49 m_backendDefaults = std::forward<BackendDefaultsT>(value);
50 }
51 template <typename BackendDefaultsT = BackendDefaults>
52 VirtualNodeSpec& WithBackendDefaults(BackendDefaultsT&& value) {
53 SetBackendDefaults(std::forward<BackendDefaultsT>(value));
54 return *this;
55 }
57
59
63 inline const Aws::Vector<Backend>& GetBackends() const { return m_backends; }
64 inline bool BackendsHasBeenSet() const { return m_backendsHasBeenSet; }
65 template <typename BackendsT = Aws::Vector<Backend>>
66 void SetBackends(BackendsT&& value) {
67 m_backendsHasBeenSet = true;
68 m_backends = std::forward<BackendsT>(value);
69 }
70 template <typename BackendsT = Aws::Vector<Backend>>
71 VirtualNodeSpec& WithBackends(BackendsT&& value) {
72 SetBackends(std::forward<BackendsT>(value));
73 return *this;
74 }
75 template <typename BackendsT = Backend>
76 VirtualNodeSpec& AddBackends(BackendsT&& value) {
77 m_backendsHasBeenSet = true;
78 m_backends.emplace_back(std::forward<BackendsT>(value));
79 return *this;
80 }
82
84
88 inline const Aws::Vector<Listener>& GetListeners() const { return m_listeners; }
89 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; }
90 template <typename ListenersT = Aws::Vector<Listener>>
91 void SetListeners(ListenersT&& value) {
92 m_listenersHasBeenSet = true;
93 m_listeners = std::forward<ListenersT>(value);
94 }
95 template <typename ListenersT = Aws::Vector<Listener>>
96 VirtualNodeSpec& WithListeners(ListenersT&& value) {
97 SetListeners(std::forward<ListenersT>(value));
98 return *this;
99 }
100 template <typename ListenersT = Listener>
101 VirtualNodeSpec& AddListeners(ListenersT&& value) {
102 m_listenersHasBeenSet = true;
103 m_listeners.emplace_back(std::forward<ListenersT>(value));
104 return *this;
105 }
107
109
112 inline const Logging& GetLogging() const { return m_logging; }
113 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
114 template <typename LoggingT = Logging>
115 void SetLogging(LoggingT&& value) {
116 m_loggingHasBeenSet = true;
117 m_logging = std::forward<LoggingT>(value);
118 }
119 template <typename LoggingT = Logging>
120 VirtualNodeSpec& WithLogging(LoggingT&& value) {
121 SetLogging(std::forward<LoggingT>(value));
122 return *this;
123 }
125
127
132 inline const ServiceDiscovery& GetServiceDiscovery() const { return m_serviceDiscovery; }
133 inline bool ServiceDiscoveryHasBeenSet() const { return m_serviceDiscoveryHasBeenSet; }
134 template <typename ServiceDiscoveryT = ServiceDiscovery>
135 void SetServiceDiscovery(ServiceDiscoveryT&& value) {
136 m_serviceDiscoveryHasBeenSet = true;
137 m_serviceDiscovery = std::forward<ServiceDiscoveryT>(value);
138 }
139 template <typename ServiceDiscoveryT = ServiceDiscovery>
140 VirtualNodeSpec& WithServiceDiscovery(ServiceDiscoveryT&& value) {
141 SetServiceDiscovery(std::forward<ServiceDiscoveryT>(value));
142 return *this;
143 }
145 private:
146 BackendDefaults m_backendDefaults;
147
148 Aws::Vector<Backend> m_backends;
149
150 Aws::Vector<Listener> m_listeners;
151
152 Logging m_logging;
153
154 ServiceDiscovery m_serviceDiscovery;
155 bool m_backendDefaultsHasBeenSet = false;
156 bool m_backendsHasBeenSet = false;
157 bool m_listenersHasBeenSet = false;
158 bool m_loggingHasBeenSet = false;
159 bool m_serviceDiscoveryHasBeenSet = false;
160};
161
162} // namespace Model
163} // namespace AppMesh
164} // namespace Aws
const BackendDefaults & GetBackendDefaults() const
void SetBackendDefaults(BackendDefaultsT &&value)
VirtualNodeSpec & WithBackendDefaults(BackendDefaultsT &&value)
const ServiceDiscovery & GetServiceDiscovery() const
VirtualNodeSpec & WithServiceDiscovery(ServiceDiscoveryT &&value)
void SetBackends(BackendsT &&value)
const Aws::Vector< Listener > & GetListeners() const
AWS_APPMESH_API VirtualNodeSpec()=default
VirtualNodeSpec & WithListeners(ListenersT &&value)
AWS_APPMESH_API VirtualNodeSpec & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPMESH_API VirtualNodeSpec(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Backend > & GetBackends() const
void SetServiceDiscovery(ServiceDiscoveryT &&value)
void SetListeners(ListenersT &&value)
VirtualNodeSpec & WithLogging(LoggingT &&value)
VirtualNodeSpec & AddListeners(ListenersT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
VirtualNodeSpec & WithBackends(BackendsT &&value)
VirtualNodeSpec & AddBackends(BackendsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue