AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
CreateBillingGroupRequest.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/iot/IoTRequest.h>
10#include <aws/iot/IoT_EXPORTS.h>
11#include <aws/iot/model/BillingGroupProperties.h>
12#include <aws/iot/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace IoT {
18namespace Model {
19
23 public:
24 AWS_IOT_API CreateBillingGroupRequest() = 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 "CreateBillingGroup"; }
31
32 AWS_IOT_API Aws::String SerializePayload() const override;
33
35
38 inline const Aws::String& GetBillingGroupName() const { return m_billingGroupName; }
39 inline bool BillingGroupNameHasBeenSet() const { return m_billingGroupNameHasBeenSet; }
40 template <typename BillingGroupNameT = Aws::String>
41 void SetBillingGroupName(BillingGroupNameT&& value) {
42 m_billingGroupNameHasBeenSet = true;
43 m_billingGroupName = std::forward<BillingGroupNameT>(value);
44 }
45 template <typename BillingGroupNameT = Aws::String>
46 CreateBillingGroupRequest& WithBillingGroupName(BillingGroupNameT&& value) {
47 SetBillingGroupName(std::forward<BillingGroupNameT>(value));
48 return *this;
49 }
51
53
56 inline const BillingGroupProperties& GetBillingGroupProperties() const { return m_billingGroupProperties; }
57 inline bool BillingGroupPropertiesHasBeenSet() const { return m_billingGroupPropertiesHasBeenSet; }
58 template <typename BillingGroupPropertiesT = BillingGroupProperties>
59 void SetBillingGroupProperties(BillingGroupPropertiesT&& value) {
60 m_billingGroupPropertiesHasBeenSet = true;
61 m_billingGroupProperties = std::forward<BillingGroupPropertiesT>(value);
62 }
63 template <typename BillingGroupPropertiesT = BillingGroupProperties>
64 CreateBillingGroupRequest& WithBillingGroupProperties(BillingGroupPropertiesT&& value) {
65 SetBillingGroupProperties(std::forward<BillingGroupPropertiesT>(value));
66 return *this;
67 }
69
71
74 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
75 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
76 template <typename TagsT = Aws::Vector<Tag>>
77 void SetTags(TagsT&& value) {
78 m_tagsHasBeenSet = true;
79 m_tags = std::forward<TagsT>(value);
80 }
81 template <typename TagsT = Aws::Vector<Tag>>
83 SetTags(std::forward<TagsT>(value));
84 return *this;
85 }
86 template <typename TagsT = Tag>
88 m_tagsHasBeenSet = true;
89 m_tags.emplace_back(std::forward<TagsT>(value));
90 return *this;
91 }
93 private:
94 Aws::String m_billingGroupName;
95
96 BillingGroupProperties m_billingGroupProperties;
97
98 Aws::Vector<Tag> m_tags;
99 bool m_billingGroupNameHasBeenSet = false;
100 bool m_billingGroupPropertiesHasBeenSet = false;
101 bool m_tagsHasBeenSet = false;
102};
103
104} // namespace Model
105} // namespace IoT
106} // namespace Aws
const BillingGroupProperties & GetBillingGroupProperties() const
virtual const char * GetServiceRequestName() const override
CreateBillingGroupRequest & WithTags(TagsT &&value)
CreateBillingGroupRequest & WithBillingGroupName(BillingGroupNameT &&value)
AWS_IOT_API CreateBillingGroupRequest()=default
CreateBillingGroupRequest & WithBillingGroupProperties(BillingGroupPropertiesT &&value)
AWS_IOT_API Aws::String SerializePayload() const override
void SetBillingGroupProperties(BillingGroupPropertiesT &&value)
void SetBillingGroupName(BillingGroupNameT &&value)
CreateBillingGroupRequest & AddTags(TagsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector