AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
VirtualGatewaySpec.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/VirtualGatewayBackendDefaults.h>
9#include <aws/appmesh/model/VirtualGatewayListener.h>
10#include <aws/appmesh/model/VirtualGatewayLogging.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace AppMesh {
23namespace Model {
24
32 public:
33 AWS_APPMESH_API VirtualGatewaySpec() = default;
36 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const VirtualGatewayBackendDefaults& GetBackendDefaults() const { return m_backendDefaults; }
43 inline bool BackendDefaultsHasBeenSet() const { return m_backendDefaultsHasBeenSet; }
44 template <typename BackendDefaultsT = VirtualGatewayBackendDefaults>
45 void SetBackendDefaults(BackendDefaultsT&& value) {
46 m_backendDefaultsHasBeenSet = true;
47 m_backendDefaults = std::forward<BackendDefaultsT>(value);
48 }
49 template <typename BackendDefaultsT = VirtualGatewayBackendDefaults>
50 VirtualGatewaySpec& WithBackendDefaults(BackendDefaultsT&& value) {
51 SetBackendDefaults(std::forward<BackendDefaultsT>(value));
52 return *this;
53 }
55
57
61 inline const Aws::Vector<VirtualGatewayListener>& GetListeners() const { return m_listeners; }
62 inline bool ListenersHasBeenSet() const { return m_listenersHasBeenSet; }
63 template <typename ListenersT = Aws::Vector<VirtualGatewayListener>>
64 void SetListeners(ListenersT&& value) {
65 m_listenersHasBeenSet = true;
66 m_listeners = std::forward<ListenersT>(value);
67 }
68 template <typename ListenersT = Aws::Vector<VirtualGatewayListener>>
69 VirtualGatewaySpec& WithListeners(ListenersT&& value) {
70 SetListeners(std::forward<ListenersT>(value));
71 return *this;
72 }
73 template <typename ListenersT = VirtualGatewayListener>
74 VirtualGatewaySpec& AddListeners(ListenersT&& value) {
75 m_listenersHasBeenSet = true;
76 m_listeners.emplace_back(std::forward<ListenersT>(value));
77 return *this;
78 }
80
82
83 inline const VirtualGatewayLogging& GetLogging() const { return m_logging; }
84 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
85 template <typename LoggingT = VirtualGatewayLogging>
86 void SetLogging(LoggingT&& value) {
87 m_loggingHasBeenSet = true;
88 m_logging = std::forward<LoggingT>(value);
89 }
90 template <typename LoggingT = VirtualGatewayLogging>
91 VirtualGatewaySpec& WithLogging(LoggingT&& value) {
92 SetLogging(std::forward<LoggingT>(value));
93 return *this;
94 }
96 private:
97 VirtualGatewayBackendDefaults m_backendDefaults;
98
100
101 VirtualGatewayLogging m_logging;
102 bool m_backendDefaultsHasBeenSet = false;
103 bool m_listenersHasBeenSet = false;
104 bool m_loggingHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace AppMesh
109} // namespace Aws
const VirtualGatewayLogging & GetLogging() const
VirtualGatewaySpec & AddListeners(ListenersT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_APPMESH_API VirtualGatewaySpec & operator=(Aws::Utils::Json::JsonView jsonValue)
const VirtualGatewayBackendDefaults & GetBackendDefaults() const
AWS_APPMESH_API VirtualGatewaySpec()=default
VirtualGatewaySpec & WithListeners(ListenersT &&value)
VirtualGatewaySpec & WithBackendDefaults(BackendDefaultsT &&value)
void SetBackendDefaults(BackendDefaultsT &&value)
VirtualGatewaySpec & WithLogging(LoggingT &&value)
const Aws::Vector< VirtualGatewayListener > & GetListeners() const
AWS_APPMESH_API VirtualGatewaySpec(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue