AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
Union.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/glue/Glue_EXPORTS.h>
10#include <aws/glue/model/UnionType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Glue {
22namespace Model {
23
30class Union {
31 public:
32 AWS_GLUE_API Union() = default;
33 AWS_GLUE_API Union(Aws::Utils::Json::JsonView jsonValue);
34 AWS_GLUE_API Union& operator=(Aws::Utils::Json::JsonView jsonValue);
36
38
41 inline const Aws::String& GetName() const { return m_name; }
42 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
43 template <typename NameT = Aws::String>
44 void SetName(NameT&& value) {
45 m_nameHasBeenSet = true;
46 m_name = std::forward<NameT>(value);
47 }
48 template <typename NameT = Aws::String>
49 Union& WithName(NameT&& value) {
50 SetName(std::forward<NameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::Vector<Aws::String>& GetInputs() const { return m_inputs; }
60 inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; }
61 template <typename InputsT = Aws::Vector<Aws::String>>
62 void SetInputs(InputsT&& value) {
63 m_inputsHasBeenSet = true;
64 m_inputs = std::forward<InputsT>(value);
65 }
66 template <typename InputsT = Aws::Vector<Aws::String>>
67 Union& WithInputs(InputsT&& value) {
68 SetInputs(std::forward<InputsT>(value));
69 return *this;
70 }
71 template <typename InputsT = Aws::String>
72 Union& AddInputs(InputsT&& value) {
73 m_inputsHasBeenSet = true;
74 m_inputs.emplace_back(std::forward<InputsT>(value));
75 return *this;
76 }
78
80
86 inline UnionType GetUnionType() const { return m_unionType; }
87 inline bool UnionTypeHasBeenSet() const { return m_unionTypeHasBeenSet; }
88 inline void SetUnionType(UnionType value) {
89 m_unionTypeHasBeenSet = true;
90 m_unionType = value;
91 }
92 inline Union& WithUnionType(UnionType value) {
93 SetUnionType(value);
94 return *this;
95 }
97 private:
98 Aws::String m_name;
99
101
102 UnionType m_unionType{UnionType::NOT_SET};
103 bool m_nameHasBeenSet = false;
104 bool m_inputsHasBeenSet = false;
105 bool m_unionTypeHasBeenSet = false;
106};
107
108} // namespace Model
109} // namespace Glue
110} // namespace Aws
const Aws::Vector< Aws::String > & GetInputs() const
Definition Union.h:59
bool NameHasBeenSet() const
Definition Union.h:42
Union & WithName(NameT &&value)
Definition Union.h:49
Union & AddInputs(InputsT &&value)
Definition Union.h:72
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
bool UnionTypeHasBeenSet() const
Definition Union.h:87
const Aws::String & GetName() const
Definition Union.h:41
void SetInputs(InputsT &&value)
Definition Union.h:62
UnionType GetUnionType() const
Definition Union.h:86
AWS_GLUE_API Union(Aws::Utils::Json::JsonView jsonValue)
void SetName(NameT &&value)
Definition Union.h:44
AWS_GLUE_API Union()=default
bool InputsHasBeenSet() const
Definition Union.h:60
void SetUnionType(UnionType value)
Definition Union.h:88
Union & WithUnionType(UnionType value)
Definition Union.h:92
AWS_GLUE_API Union & operator=(Aws::Utils::Json::JsonView jsonValue)
Union & WithInputs(InputsT &&value)
Definition Union.h:67
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue