AWS SDK for C++  1.8.71
AWS SDK for C++
CreateWorkGroupRequest.h
Go to the documentation of this file.
1 
6 #pragma once
12 #include <aws/athena/model/Tag.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Athena
18 {
19 namespace Model
20 {
21 
25  {
26  public:
28 
29  // Service request name is the Operation name which will send this request out,
30  // each operation should has unique request name, so that we can get operation's name from this request.
31  // Note: this is not true for response, multiple operations may have the same response name,
32  // so we can not get operation's name from response.
33  inline virtual const char* GetServiceRequestName() const override { return "CreateWorkGroup"; }
34 
35  Aws::String SerializePayload() const override;
36 
37  Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38 
39 
43  inline const Aws::String& GetName() const{ return m_name; }
44 
48  inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
49 
53  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
54 
58  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
59 
63  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
64 
68  inline CreateWorkGroupRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
69 
73  inline CreateWorkGroupRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
74 
78  inline CreateWorkGroupRequest& WithName(const char* value) { SetName(value); return *this;}
79 
80 
91  inline const WorkGroupConfiguration& GetConfiguration() const{ return m_configuration; }
92 
103  inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
104 
115  inline void SetConfiguration(const WorkGroupConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
116 
127  inline void SetConfiguration(WorkGroupConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
128 
139  inline CreateWorkGroupRequest& WithConfiguration(const WorkGroupConfiguration& value) { SetConfiguration(value); return *this;}
140 
151  inline CreateWorkGroupRequest& WithConfiguration(WorkGroupConfiguration&& value) { SetConfiguration(std::move(value)); return *this;}
152 
153 
157  inline const Aws::String& GetDescription() const{ return m_description; }
158 
162  inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
163 
167  inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
168 
172  inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
173 
177  inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
178 
182  inline CreateWorkGroupRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
183 
187  inline CreateWorkGroupRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
188 
192  inline CreateWorkGroupRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
193 
194 
198  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
199 
203  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
204 
208  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
209 
213  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
214 
218  inline CreateWorkGroupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
219 
223  inline CreateWorkGroupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
224 
228  inline CreateWorkGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
229 
233  inline CreateWorkGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
234 
235  private:
236 
237  Aws::String m_name;
238  bool m_nameHasBeenSet;
239 
240  WorkGroupConfiguration m_configuration;
241  bool m_configurationHasBeenSet;
242 
243  Aws::String m_description;
244  bool m_descriptionHasBeenSet;
245 
246  Aws::Vector<Tag> m_tags;
247  bool m_tagsHasBeenSet;
248  };
249 
250 } // namespace Model
251 } // namespace Athena
252 } // namespace Aws
CreateWorkGroupRequest & WithDescription(const Aws::String &value)
CreateWorkGroupRequest & AddTags(const Tag &value)
virtual const char * GetServiceRequestName() const override
CreateWorkGroupRequest & WithName(const char *value)
CreateWorkGroupRequest & WithDescription(const char *value)
CreateWorkGroupRequest & WithTags(Aws::Vector< Tag > &&value)
#define AWS_ATHENA_API
CreateWorkGroupRequest & WithConfiguration(const WorkGroupConfiguration &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
Definition: HttpTypes.h:53
CreateWorkGroupRequest & WithName(Aws::String &&value)
void SetTags(const Aws::Vector< Tag > &value)
const WorkGroupConfiguration & GetConfiguration() const
CreateWorkGroupRequest & WithDescription(Aws::String &&value)
CreateWorkGroupRequest & WithConfiguration(WorkGroupConfiguration &&value)
CreateWorkGroupRequest & WithName(const Aws::String &value)
void SetConfiguration(WorkGroupConfiguration &&value)
void SetConfiguration(const WorkGroupConfiguration &value)
CreateWorkGroupRequest & AddTags(Tag &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::Vector< Tag > & GetTags() const
CreateWorkGroupRequest & WithTags(const Aws::Vector< Tag > &value)