AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateBillingGroupRequest.h
1
6#pragma once
7#include <aws/billingconductor/BillingConductor_EXPORTS.h>
8#include <aws/billingconductor/BillingConductorRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/billingconductor/model/AccountGrouping.h>
11#include <aws/billingconductor/model/ComputationPreference.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <utility>
14#include <aws/core/utils/UUID.h>
15
16namespace Aws
17{
18namespace BillingConductor
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_BILLINGCONDUCTOR_API CreateBillingGroupRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateBillingGroup"; }
35
36 AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override;
37
38 AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39
40
42
46 inline const Aws::String& GetClientToken() const { return m_clientToken; }
47 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
48 template<typename ClientTokenT = Aws::String>
49 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
50 template<typename ClientTokenT = Aws::String>
51 CreateBillingGroupRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
53
55
58 inline const Aws::String& GetName() const { return m_name; }
59 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
60 template<typename NameT = Aws::String>
61 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
62 template<typename NameT = Aws::String>
63 CreateBillingGroupRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
65
67
71 inline const AccountGrouping& GetAccountGrouping() const { return m_accountGrouping; }
72 inline bool AccountGroupingHasBeenSet() const { return m_accountGroupingHasBeenSet; }
73 template<typename AccountGroupingT = AccountGrouping>
74 void SetAccountGrouping(AccountGroupingT&& value) { m_accountGroupingHasBeenSet = true; m_accountGrouping = std::forward<AccountGroupingT>(value); }
75 template<typename AccountGroupingT = AccountGrouping>
76 CreateBillingGroupRequest& WithAccountGrouping(AccountGroupingT&& value) { SetAccountGrouping(std::forward<AccountGroupingT>(value)); return *this;}
78
80
84 inline const ComputationPreference& GetComputationPreference() const { return m_computationPreference; }
85 inline bool ComputationPreferenceHasBeenSet() const { return m_computationPreferenceHasBeenSet; }
86 template<typename ComputationPreferenceT = ComputationPreference>
87 void SetComputationPreference(ComputationPreferenceT&& value) { m_computationPreferenceHasBeenSet = true; m_computationPreference = std::forward<ComputationPreferenceT>(value); }
88 template<typename ComputationPreferenceT = ComputationPreference>
89 CreateBillingGroupRequest& WithComputationPreference(ComputationPreferenceT&& value) { SetComputationPreference(std::forward<ComputationPreferenceT>(value)); return *this;}
91
93
96 inline const Aws::String& GetPrimaryAccountId() const { return m_primaryAccountId; }
97 inline bool PrimaryAccountIdHasBeenSet() const { return m_primaryAccountIdHasBeenSet; }
98 template<typename PrimaryAccountIdT = Aws::String>
99 void SetPrimaryAccountId(PrimaryAccountIdT&& value) { m_primaryAccountIdHasBeenSet = true; m_primaryAccountId = std::forward<PrimaryAccountIdT>(value); }
100 template<typename PrimaryAccountIdT = Aws::String>
101 CreateBillingGroupRequest& WithPrimaryAccountId(PrimaryAccountIdT&& value) { SetPrimaryAccountId(std::forward<PrimaryAccountIdT>(value)); return *this;}
103
105
108 inline const Aws::String& GetDescription() const { return m_description; }
109 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
110 template<typename DescriptionT = Aws::String>
111 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
112 template<typename DescriptionT = Aws::String>
113 CreateBillingGroupRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
115
117
121 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
122 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
123 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
124 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
125 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
126 CreateBillingGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
127 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
128 CreateBillingGroupRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
129 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
130 }
132 private:
133
135 bool m_clientTokenHasBeenSet = true;
136
137 Aws::String m_name;
138 bool m_nameHasBeenSet = false;
139
140 AccountGrouping m_accountGrouping;
141 bool m_accountGroupingHasBeenSet = false;
142
143 ComputationPreference m_computationPreference;
144 bool m_computationPreferenceHasBeenSet = false;
145
146 Aws::String m_primaryAccountId;
147 bool m_primaryAccountIdHasBeenSet = false;
148
149 Aws::String m_description;
150 bool m_descriptionHasBeenSet = false;
151
153 bool m_tagsHasBeenSet = false;
154 };
155
156} // namespace Model
157} // namespace BillingConductor
158} // namespace Aws
CreateBillingGroupRequest & WithComputationPreference(ComputationPreferenceT &&value)
CreateBillingGroupRequest & WithClientToken(ClientTokenT &&value)
AWS_BILLINGCONDUCTOR_API CreateBillingGroupRequest()=default
AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateBillingGroupRequest & WithDescription(DescriptionT &&value)
CreateBillingGroupRequest & WithPrimaryAccountId(PrimaryAccountIdT &&value)
AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override
CreateBillingGroupRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateBillingGroupRequest & WithAccountGrouping(AccountGroupingT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String