AWS SDK for C++

AWS SDK for C++ Version 1.11.769

Loading...
Searching...
No Matches
CreateAccountRequest.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/organizations/OrganizationsRequest.h>
10#include <aws/organizations/Organizations_EXPORTS.h>
11#include <aws/organizations/model/IAMUserAccessToBilling.h>
12#include <aws/organizations/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Organizations {
18namespace Model {
19
23 public:
24 AWS_ORGANIZATIONS_API CreateAccountRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "CreateAccount"; }
31
32 AWS_ORGANIZATIONS_API Aws::String SerializePayload() const override;
33
34 AWS_ORGANIZATIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35
37
54 inline const Aws::String& GetEmail() const { return m_email; }
55 inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; }
56 template <typename EmailT = Aws::String>
57 void SetEmail(EmailT&& value) {
58 m_emailHasBeenSet = true;
59 m_email = std::forward<EmailT>(value);
60 }
61 template <typename EmailT = Aws::String>
63 SetEmail(std::forward<EmailT>(value));
64 return *this;
65 }
67
69
72 inline const Aws::String& GetAccountName() const { return m_accountName; }
73 inline bool AccountNameHasBeenSet() const { return m_accountNameHasBeenSet; }
74 template <typename AccountNameT = Aws::String>
75 void SetAccountName(AccountNameT&& value) {
76 m_accountNameHasBeenSet = true;
77 m_accountName = std::forward<AccountNameT>(value);
78 }
79 template <typename AccountNameT = Aws::String>
80 CreateAccountRequest& WithAccountName(AccountNameT&& value) {
81 SetAccountName(std::forward<AccountNameT>(value));
82 return *this;
83 }
85
87
106 inline const Aws::String& GetRoleName() const { return m_roleName; }
107 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; }
108 template <typename RoleNameT = Aws::String>
109 void SetRoleName(RoleNameT&& value) {
110 m_roleNameHasBeenSet = true;
111 m_roleName = std::forward<RoleNameT>(value);
112 }
113 template <typename RoleNameT = Aws::String>
114 CreateAccountRequest& WithRoleName(RoleNameT&& value) {
115 SetRoleName(std::forward<RoleNameT>(value));
116 return *this;
117 }
119
121
133 inline IAMUserAccessToBilling GetIamUserAccessToBilling() const { return m_iamUserAccessToBilling; }
134 inline bool IamUserAccessToBillingHasBeenSet() const { return m_iamUserAccessToBillingHasBeenSet; }
136 m_iamUserAccessToBillingHasBeenSet = true;
137 m_iamUserAccessToBilling = value;
138 }
141 return *this;
142 }
144
146
157 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
158 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
159 template <typename TagsT = Aws::Vector<Tag>>
160 void SetTags(TagsT&& value) {
161 m_tagsHasBeenSet = true;
162 m_tags = std::forward<TagsT>(value);
163 }
164 template <typename TagsT = Aws::Vector<Tag>>
166 SetTags(std::forward<TagsT>(value));
167 return *this;
168 }
169 template <typename TagsT = Tag>
171 m_tagsHasBeenSet = true;
172 m_tags.emplace_back(std::forward<TagsT>(value));
173 return *this;
174 }
176 private:
177 Aws::String m_email;
178
179 Aws::String m_accountName;
180
181 Aws::String m_roleName;
182
184
185 Aws::Vector<Tag> m_tags;
186 bool m_emailHasBeenSet = false;
187 bool m_accountNameHasBeenSet = false;
188 bool m_roleNameHasBeenSet = false;
189 bool m_iamUserAccessToBillingHasBeenSet = false;
190 bool m_tagsHasBeenSet = false;
191};
192
193} // namespace Model
194} // namespace Organizations
195} // namespace Aws
CreateAccountRequest & WithAccountName(AccountNameT &&value)
CreateAccountRequest & WithRoleName(RoleNameT &&value)
AWS_ORGANIZATIONS_API Aws::String SerializePayload() const override
CreateAccountRequest & WithEmail(EmailT &&value)
IAMUserAccessToBilling GetIamUserAccessToBilling() const
CreateAccountRequest & WithTags(TagsT &&value)
AWS_ORGANIZATIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateAccountRequest & AddTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
void SetIamUserAccessToBilling(IAMUserAccessToBilling value)
CreateAccountRequest & WithIamUserAccessToBilling(IAMUserAccessToBilling value)
AWS_ORGANIZATIONS_API CreateAccountRequest()=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