AWS SDK for C++  1.9.129
AWS SDK for C++
CreateThingTypeRequest.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/iot/IoT_EXPORTS.h>
8 #include <aws/iot/IoTRequest.h>
12 #include <aws/iot/model/Tag.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace IoT
18 {
19 namespace Model
20 {
21 
28  {
29  public:
31 
32  // Service request name is the Operation name which will send this request out,
33  // each operation should has unique request name, so that we can get operation's name from this request.
34  // Note: this is not true for response, multiple operations may have the same response name,
35  // so we can not get operation's name from response.
36  inline virtual const char* GetServiceRequestName() const override { return "CreateThingType"; }
37 
38  Aws::String SerializePayload() const override;
39 
40 
44  inline const Aws::String& GetThingTypeName() const{ return m_thingTypeName; }
45 
49  inline bool ThingTypeNameHasBeenSet() const { return m_thingTypeNameHasBeenSet; }
50 
54  inline void SetThingTypeName(const Aws::String& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = value; }
55 
59  inline void SetThingTypeName(Aws::String&& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = std::move(value); }
60 
64  inline void SetThingTypeName(const char* value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName.assign(value); }
65 
69  inline CreateThingTypeRequest& WithThingTypeName(const Aws::String& value) { SetThingTypeName(value); return *this;}
70 
74  inline CreateThingTypeRequest& WithThingTypeName(Aws::String&& value) { SetThingTypeName(std::move(value)); return *this;}
75 
79  inline CreateThingTypeRequest& WithThingTypeName(const char* value) { SetThingTypeName(value); return *this;}
80 
81 
87  inline const ThingTypeProperties& GetThingTypeProperties() const{ return m_thingTypeProperties; }
88 
94  inline bool ThingTypePropertiesHasBeenSet() const { return m_thingTypePropertiesHasBeenSet; }
95 
101  inline void SetThingTypeProperties(const ThingTypeProperties& value) { m_thingTypePropertiesHasBeenSet = true; m_thingTypeProperties = value; }
102 
108  inline void SetThingTypeProperties(ThingTypeProperties&& value) { m_thingTypePropertiesHasBeenSet = true; m_thingTypeProperties = std::move(value); }
109 
115  inline CreateThingTypeRequest& WithThingTypeProperties(const ThingTypeProperties& value) { SetThingTypeProperties(value); return *this;}
116 
122  inline CreateThingTypeRequest& WithThingTypeProperties(ThingTypeProperties&& value) { SetThingTypeProperties(std::move(value)); return *this;}
123 
124 
128  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
129 
133  inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
134 
138  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
139 
143  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
144 
148  inline CreateThingTypeRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
149 
153  inline CreateThingTypeRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
154 
158  inline CreateThingTypeRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
159 
163  inline CreateThingTypeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
164 
165  private:
166 
167  Aws::String m_thingTypeName;
168  bool m_thingTypeNameHasBeenSet;
169 
170  ThingTypeProperties m_thingTypeProperties;
171  bool m_thingTypePropertiesHasBeenSet;
172 
173  Aws::Vector<Tag> m_tags;
174  bool m_tagsHasBeenSet;
175  };
176 
177 } // namespace Model
178 } // namespace IoT
179 } // namespace Aws
Aws::IoT::Model::CreateThingTypeRequest::SetThingTypeName
void SetThingTypeName(const char *value)
Definition: CreateThingTypeRequest.h:64
Aws::IoT::Model::CreateThingTypeRequest::SetThingTypeName
void SetThingTypeName(const Aws::String &value)
Definition: CreateThingTypeRequest.h:54
Aws::IoT::Model::CreateThingTypeRequest::WithTags
CreateThingTypeRequest & WithTags(Aws::Vector< Tag > &&value)
Definition: CreateThingTypeRequest.h:153
Aws::IoT::Model::CreateThingTypeRequest::WithThingTypeProperties
CreateThingTypeRequest & WithThingTypeProperties(ThingTypeProperties &&value)
Definition: CreateThingTypeRequest.h:122
Aws::IoT::Model::CreateThingTypeRequest::ThingTypeNameHasBeenSet
bool ThingTypeNameHasBeenSet() const
Definition: CreateThingTypeRequest.h:49
Aws::IoT::Model::CreateThingTypeRequest::SerializePayload
Aws::String SerializePayload() const override
Aws::IoT::Model::CreateThingTypeRequest::ThingTypePropertiesHasBeenSet
bool ThingTypePropertiesHasBeenSet() const
Definition: CreateThingTypeRequest.h:94
Aws::IoT::Model::CreateThingTypeRequest::GetThingTypeName
const Aws::String & GetThingTypeName() const
Definition: CreateThingTypeRequest.h:44
Aws::IoT::Model::CreateThingTypeRequest::GetThingTypeProperties
const ThingTypeProperties & GetThingTypeProperties() const
Definition: CreateThingTypeRequest.h:87
Aws::IoT::Model::CreateThingTypeRequest::SetTags
void SetTags(Aws::Vector< Tag > &&value)
Definition: CreateThingTypeRequest.h:143
Aws::IoT::Model::ThingTypeProperties
Definition: ThingTypeProperties.h:35
Aws::Vector
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
AWSVector.h
Aws::IoT::Model::CreateThingTypeRequest::AddTags
CreateThingTypeRequest & AddTags(Tag &&value)
Definition: CreateThingTypeRequest.h:163
Aws::IoT::Model::CreateThingTypeRequest::WithThingTypeName
CreateThingTypeRequest & WithThingTypeName(const char *value)
Definition: CreateThingTypeRequest.h:79
Aws::IoT::Model::Tag
Definition: Tag.h:33
Aws::IoT::Model::CreateThingTypeRequest::GetTags
const Aws::Vector< Tag > & GetTags() const
Definition: CreateThingTypeRequest.h:128
Aws::IoT::Model::CreateThingTypeRequest::WithThingTypeName
CreateThingTypeRequest & WithThingTypeName(Aws::String &&value)
Definition: CreateThingTypeRequest.h:74
Aws::IoT::Model::CreateThingTypeRequest::WithThingTypeName
CreateThingTypeRequest & WithThingTypeName(const Aws::String &value)
Definition: CreateThingTypeRequest.h:69
Aws::IoT::Model::CreateThingTypeRequest::GetServiceRequestName
virtual const char * GetServiceRequestName() const override
Definition: CreateThingTypeRequest.h:36
Aws::IoT::Model::CreateThingTypeRequest::WithThingTypeProperties
CreateThingTypeRequest & WithThingTypeProperties(const ThingTypeProperties &value)
Definition: CreateThingTypeRequest.h:115
Aws::IoT::Model::CreateThingTypeRequest::SetTags
void SetTags(const Aws::Vector< Tag > &value)
Definition: CreateThingTypeRequest.h:138
AWSString.h
Aws::IoT::IoTRequest
Definition: IoTRequest.h:17
ThingTypeProperties.h
Aws::IoT::Model::CreateThingTypeRequest::SetThingTypeName
void SetThingTypeName(Aws::String &&value)
Definition: CreateThingTypeRequest.h:59
Aws::IoT::Model::CreateThingTypeRequest::SetThingTypeProperties
void SetThingTypeProperties(const ThingTypeProperties &value)
Definition: CreateThingTypeRequest.h:101
Aws::IoT::Model::CreateThingTypeRequest::AddTags
CreateThingTypeRequest & AddTags(const Tag &value)
Definition: CreateThingTypeRequest.h:158
Aws::IoT::Model::CreateThingTypeRequest
Definition: CreateThingTypeRequest.h:28
Aws
Definition: AccessManagementClient.h:15
Aws::IoT::Model::CreateThingTypeRequest::TagsHasBeenSet
bool TagsHasBeenSet() const
Definition: CreateThingTypeRequest.h:133
AWS_IOT_API
#define AWS_IOT_API
Definition: IoT_EXPORTS.h:28
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::IoT::Model::CreateThingTypeRequest::CreateThingTypeRequest
CreateThingTypeRequest()
IoTRequest.h
Aws::IoT::Model::CreateThingTypeRequest::SetThingTypeProperties
void SetThingTypeProperties(ThingTypeProperties &&value)
Definition: CreateThingTypeRequest.h:108
Aws::IoT::Model::CreateThingTypeRequest::WithTags
CreateThingTypeRequest & WithTags(const Aws::Vector< Tag > &value)
Definition: CreateThingTypeRequest.h:148
Tag.h
IoT_EXPORTS.h