AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateDirectoryRequest.h
1
6#pragma once
7#include <aws/ds/DirectoryService_EXPORTS.h>
8#include <aws/ds/DirectoryServiceRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ds/model/DirectorySize.h>
11#include <aws/ds/model/DirectoryVpcSettings.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ds/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace DirectoryService
19{
20namespace Model
21{
22
30 {
31 public:
32 AWS_DIRECTORYSERVICE_API CreateDirectoryRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateDirectory"; }
39
40 AWS_DIRECTORYSERVICE_API Aws::String SerializePayload() const override;
41
42 AWS_DIRECTORYSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
43
44
46
50 inline const Aws::String& GetName() const { return m_name; }
51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
52 template<typename NameT = Aws::String>
53 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
54 template<typename NameT = Aws::String>
55 CreateDirectoryRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
57
59
62 inline const Aws::String& GetShortName() const { return m_shortName; }
63 inline bool ShortNameHasBeenSet() const { return m_shortNameHasBeenSet; }
64 template<typename ShortNameT = Aws::String>
65 void SetShortName(ShortNameT&& value) { m_shortNameHasBeenSet = true; m_shortName = std::forward<ShortNameT>(value); }
66 template<typename ShortNameT = Aws::String>
67 CreateDirectoryRequest& WithShortName(ShortNameT&& value) { SetShortName(std::forward<ShortNameT>(value)); return *this;}
69
71
90 inline const Aws::String& GetPassword() const { return m_password; }
91 inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; }
92 template<typename PasswordT = Aws::String>
93 void SetPassword(PasswordT&& value) { m_passwordHasBeenSet = true; m_password = std::forward<PasswordT>(value); }
94 template<typename PasswordT = Aws::String>
95 CreateDirectoryRequest& WithPassword(PasswordT&& value) { SetPassword(std::forward<PasswordT>(value)); return *this;}
97
99
102 inline const Aws::String& GetDescription() const { return m_description; }
103 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
104 template<typename DescriptionT = Aws::String>
105 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
106 template<typename DescriptionT = Aws::String>
107 CreateDirectoryRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
109
111
114 inline DirectorySize GetSize() const { return m_size; }
115 inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
116 inline void SetSize(DirectorySize value) { m_sizeHasBeenSet = true; m_size = value; }
117 inline CreateDirectoryRequest& WithSize(DirectorySize value) { SetSize(value); return *this;}
119
121
125 inline const DirectoryVpcSettings& GetVpcSettings() const { return m_vpcSettings; }
126 inline bool VpcSettingsHasBeenSet() const { return m_vpcSettingsHasBeenSet; }
127 template<typename VpcSettingsT = DirectoryVpcSettings>
128 void SetVpcSettings(VpcSettingsT&& value) { m_vpcSettingsHasBeenSet = true; m_vpcSettings = std::forward<VpcSettingsT>(value); }
129 template<typename VpcSettingsT = DirectoryVpcSettings>
130 CreateDirectoryRequest& WithVpcSettings(VpcSettingsT&& value) { SetVpcSettings(std::forward<VpcSettingsT>(value)); return *this;}
132
134
137 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
138 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
139 template<typename TagsT = Aws::Vector<Tag>>
140 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
141 template<typename TagsT = Aws::Vector<Tag>>
142 CreateDirectoryRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
143 template<typename TagsT = Tag>
144 CreateDirectoryRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
146 private:
147
148 Aws::String m_name;
149 bool m_nameHasBeenSet = false;
150
151 Aws::String m_shortName;
152 bool m_shortNameHasBeenSet = false;
153
154 Aws::String m_password;
155 bool m_passwordHasBeenSet = false;
156
157 Aws::String m_description;
158 bool m_descriptionHasBeenSet = false;
159
161 bool m_sizeHasBeenSet = false;
162
163 DirectoryVpcSettings m_vpcSettings;
164 bool m_vpcSettingsHasBeenSet = false;
165
166 Aws::Vector<Tag> m_tags;
167 bool m_tagsHasBeenSet = false;
168 };
169
170} // namespace Model
171} // namespace DirectoryService
172} // namespace Aws
CreateDirectoryRequest & WithPassword(PasswordT &&value)
CreateDirectoryRequest & WithShortName(ShortNameT &&value)
AWS_DIRECTORYSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateDirectoryRequest & WithDescription(DescriptionT &&value)
virtual const char * GetServiceRequestName() const override
AWS_DIRECTORYSERVICE_API Aws::String SerializePayload() const override
CreateDirectoryRequest & WithSize(DirectorySize value)
CreateDirectoryRequest & WithVpcSettings(VpcSettingsT &&value)
AWS_DIRECTORYSERVICE_API CreateDirectoryRequest()=default
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector