aws-sdk-iot1clickprojects 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,384 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoT1ClickProjects
9
+ # @api private
10
+ module ClientApi
11
+
12
+ include Seahorse::Model
13
+
14
+ AssociateDeviceWithPlacementRequest = Shapes::StructureShape.new(name: 'AssociateDeviceWithPlacementRequest')
15
+ AssociateDeviceWithPlacementResponse = Shapes::StructureShape.new(name: 'AssociateDeviceWithPlacementResponse')
16
+ AttributeDefaultValue = Shapes::StringShape.new(name: 'AttributeDefaultValue')
17
+ AttributeName = Shapes::StringShape.new(name: 'AttributeName')
18
+ AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
19
+ Code = Shapes::StringShape.new(name: 'Code')
20
+ CreatePlacementRequest = Shapes::StructureShape.new(name: 'CreatePlacementRequest')
21
+ CreatePlacementResponse = Shapes::StructureShape.new(name: 'CreatePlacementResponse')
22
+ CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
23
+ CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
24
+ DefaultPlacementAttributeMap = Shapes::MapShape.new(name: 'DefaultPlacementAttributeMap')
25
+ DeletePlacementRequest = Shapes::StructureShape.new(name: 'DeletePlacementRequest')
26
+ DeletePlacementResponse = Shapes::StructureShape.new(name: 'DeletePlacementResponse')
27
+ DeleteProjectRequest = Shapes::StructureShape.new(name: 'DeleteProjectRequest')
28
+ DeleteProjectResponse = Shapes::StructureShape.new(name: 'DeleteProjectResponse')
29
+ DescribePlacementRequest = Shapes::StructureShape.new(name: 'DescribePlacementRequest')
30
+ DescribePlacementResponse = Shapes::StructureShape.new(name: 'DescribePlacementResponse')
31
+ DescribeProjectRequest = Shapes::StructureShape.new(name: 'DescribeProjectRequest')
32
+ DescribeProjectResponse = Shapes::StructureShape.new(name: 'DescribeProjectResponse')
33
+ Description = Shapes::StringShape.new(name: 'Description')
34
+ DeviceCallbackKey = Shapes::StringShape.new(name: 'DeviceCallbackKey')
35
+ DeviceCallbackOverrideMap = Shapes::MapShape.new(name: 'DeviceCallbackOverrideMap')
36
+ DeviceCallbackValue = Shapes::StringShape.new(name: 'DeviceCallbackValue')
37
+ DeviceId = Shapes::StringShape.new(name: 'DeviceId')
38
+ DeviceMap = Shapes::MapShape.new(name: 'DeviceMap')
39
+ DeviceTemplate = Shapes::StructureShape.new(name: 'DeviceTemplate')
40
+ DeviceTemplateMap = Shapes::MapShape.new(name: 'DeviceTemplateMap')
41
+ DeviceTemplateName = Shapes::StringShape.new(name: 'DeviceTemplateName')
42
+ DeviceType = Shapes::StringShape.new(name: 'DeviceType')
43
+ DisassociateDeviceFromPlacementRequest = Shapes::StructureShape.new(name: 'DisassociateDeviceFromPlacementRequest')
44
+ DisassociateDeviceFromPlacementResponse = Shapes::StructureShape.new(name: 'DisassociateDeviceFromPlacementResponse')
45
+ GetDevicesInPlacementRequest = Shapes::StructureShape.new(name: 'GetDevicesInPlacementRequest')
46
+ GetDevicesInPlacementResponse = Shapes::StructureShape.new(name: 'GetDevicesInPlacementResponse')
47
+ InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
48
+ InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
49
+ ListPlacementsRequest = Shapes::StructureShape.new(name: 'ListPlacementsRequest')
50
+ ListPlacementsResponse = Shapes::StructureShape.new(name: 'ListPlacementsResponse')
51
+ ListProjectsRequest = Shapes::StructureShape.new(name: 'ListProjectsRequest')
52
+ ListProjectsResponse = Shapes::StructureShape.new(name: 'ListProjectsResponse')
53
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
54
+ Message = Shapes::StringShape.new(name: 'Message')
55
+ NextToken = Shapes::StringShape.new(name: 'NextToken')
56
+ PlacementAttributeMap = Shapes::MapShape.new(name: 'PlacementAttributeMap')
57
+ PlacementDescription = Shapes::StructureShape.new(name: 'PlacementDescription')
58
+ PlacementName = Shapes::StringShape.new(name: 'PlacementName')
59
+ PlacementSummary = Shapes::StructureShape.new(name: 'PlacementSummary')
60
+ PlacementSummaryList = Shapes::ListShape.new(name: 'PlacementSummaryList')
61
+ PlacementTemplate = Shapes::StructureShape.new(name: 'PlacementTemplate')
62
+ ProjectDescription = Shapes::StructureShape.new(name: 'ProjectDescription')
63
+ ProjectName = Shapes::StringShape.new(name: 'ProjectName')
64
+ ProjectSummary = Shapes::StructureShape.new(name: 'ProjectSummary')
65
+ ProjectSummaryList = Shapes::ListShape.new(name: 'ProjectSummaryList')
66
+ ResourceConflictException = Shapes::StructureShape.new(name: 'ResourceConflictException')
67
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
68
+ Time = Shapes::TimestampShape.new(name: 'Time')
69
+ TooManyRequestsException = Shapes::StructureShape.new(name: 'TooManyRequestsException')
70
+ UpdatePlacementRequest = Shapes::StructureShape.new(name: 'UpdatePlacementRequest')
71
+ UpdatePlacementResponse = Shapes::StructureShape.new(name: 'UpdatePlacementResponse')
72
+ UpdateProjectRequest = Shapes::StructureShape.new(name: 'UpdateProjectRequest')
73
+ UpdateProjectResponse = Shapes::StructureShape.new(name: 'UpdateProjectResponse')
74
+
75
+ AssociateDeviceWithPlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
76
+ AssociateDeviceWithPlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
77
+ AssociateDeviceWithPlacementRequest.add_member(:device_id, Shapes::ShapeRef.new(shape: DeviceId, required: true, location_name: "deviceId"))
78
+ AssociateDeviceWithPlacementRequest.add_member(:device_template_name, Shapes::ShapeRef.new(shape: DeviceTemplateName, required: true, location: "uri", location_name: "deviceTemplateName"))
79
+ AssociateDeviceWithPlacementRequest.struct_class = Types::AssociateDeviceWithPlacementRequest
80
+
81
+ AssociateDeviceWithPlacementResponse.struct_class = Types::AssociateDeviceWithPlacementResponse
82
+
83
+ CreatePlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location_name: "placementName"))
84
+ CreatePlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
85
+ CreatePlacementRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: PlacementAttributeMap, location_name: "attributes"))
86
+ CreatePlacementRequest.struct_class = Types::CreatePlacementRequest
87
+
88
+ CreatePlacementResponse.struct_class = Types::CreatePlacementResponse
89
+
90
+ CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "projectName"))
91
+ CreateProjectRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
92
+ CreateProjectRequest.add_member(:placement_template, Shapes::ShapeRef.new(shape: PlacementTemplate, location_name: "placementTemplate"))
93
+ CreateProjectRequest.struct_class = Types::CreateProjectRequest
94
+
95
+ CreateProjectResponse.struct_class = Types::CreateProjectResponse
96
+
97
+ DefaultPlacementAttributeMap.key = Shapes::ShapeRef.new(shape: AttributeName)
98
+ DefaultPlacementAttributeMap.value = Shapes::ShapeRef.new(shape: AttributeDefaultValue)
99
+
100
+ DeletePlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
101
+ DeletePlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
102
+ DeletePlacementRequest.struct_class = Types::DeletePlacementRequest
103
+
104
+ DeletePlacementResponse.struct_class = Types::DeletePlacementResponse
105
+
106
+ DeleteProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
107
+ DeleteProjectRequest.struct_class = Types::DeleteProjectRequest
108
+
109
+ DeleteProjectResponse.struct_class = Types::DeleteProjectResponse
110
+
111
+ DescribePlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
112
+ DescribePlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
113
+ DescribePlacementRequest.struct_class = Types::DescribePlacementRequest
114
+
115
+ DescribePlacementResponse.add_member(:placement, Shapes::ShapeRef.new(shape: PlacementDescription, required: true, location_name: "placement"))
116
+ DescribePlacementResponse.struct_class = Types::DescribePlacementResponse
117
+
118
+ DescribeProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
119
+ DescribeProjectRequest.struct_class = Types::DescribeProjectRequest
120
+
121
+ DescribeProjectResponse.add_member(:project, Shapes::ShapeRef.new(shape: ProjectDescription, required: true, location_name: "project"))
122
+ DescribeProjectResponse.struct_class = Types::DescribeProjectResponse
123
+
124
+ DeviceCallbackOverrideMap.key = Shapes::ShapeRef.new(shape: DeviceCallbackKey)
125
+ DeviceCallbackOverrideMap.value = Shapes::ShapeRef.new(shape: DeviceCallbackValue)
126
+
127
+ DeviceMap.key = Shapes::ShapeRef.new(shape: DeviceTemplateName)
128
+ DeviceMap.value = Shapes::ShapeRef.new(shape: DeviceId)
129
+
130
+ DeviceTemplate.add_member(:device_type, Shapes::ShapeRef.new(shape: DeviceType, location_name: "deviceType"))
131
+ DeviceTemplate.add_member(:callback_overrides, Shapes::ShapeRef.new(shape: DeviceCallbackOverrideMap, location_name: "callbackOverrides"))
132
+ DeviceTemplate.struct_class = Types::DeviceTemplate
133
+
134
+ DeviceTemplateMap.key = Shapes::ShapeRef.new(shape: DeviceTemplateName)
135
+ DeviceTemplateMap.value = Shapes::ShapeRef.new(shape: DeviceTemplate)
136
+
137
+ DisassociateDeviceFromPlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
138
+ DisassociateDeviceFromPlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
139
+ DisassociateDeviceFromPlacementRequest.add_member(:device_template_name, Shapes::ShapeRef.new(shape: DeviceTemplateName, required: true, location: "uri", location_name: "deviceTemplateName"))
140
+ DisassociateDeviceFromPlacementRequest.struct_class = Types::DisassociateDeviceFromPlacementRequest
141
+
142
+ DisassociateDeviceFromPlacementResponse.struct_class = Types::DisassociateDeviceFromPlacementResponse
143
+
144
+ GetDevicesInPlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
145
+ GetDevicesInPlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
146
+ GetDevicesInPlacementRequest.struct_class = Types::GetDevicesInPlacementRequest
147
+
148
+ GetDevicesInPlacementResponse.add_member(:devices, Shapes::ShapeRef.new(shape: DeviceMap, required: true, location_name: "devices"))
149
+ GetDevicesInPlacementResponse.struct_class = Types::GetDevicesInPlacementResponse
150
+
151
+ ListPlacementsRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
152
+ ListPlacementsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
153
+ ListPlacementsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
154
+ ListPlacementsRequest.struct_class = Types::ListPlacementsRequest
155
+
156
+ ListPlacementsResponse.add_member(:placements, Shapes::ShapeRef.new(shape: PlacementSummaryList, required: true, location_name: "placements"))
157
+ ListPlacementsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
158
+ ListPlacementsResponse.struct_class = Types::ListPlacementsResponse
159
+
160
+ ListProjectsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
161
+ ListProjectsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
162
+ ListProjectsRequest.struct_class = Types::ListProjectsRequest
163
+
164
+ ListProjectsResponse.add_member(:projects, Shapes::ShapeRef.new(shape: ProjectSummaryList, required: true, location_name: "projects"))
165
+ ListProjectsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
166
+ ListProjectsResponse.struct_class = Types::ListProjectsResponse
167
+
168
+ PlacementAttributeMap.key = Shapes::ShapeRef.new(shape: AttributeName)
169
+ PlacementAttributeMap.value = Shapes::ShapeRef.new(shape: AttributeValue)
170
+
171
+ PlacementDescription.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "projectName"))
172
+ PlacementDescription.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location_name: "placementName"))
173
+ PlacementDescription.add_member(:attributes, Shapes::ShapeRef.new(shape: PlacementAttributeMap, required: true, location_name: "attributes"))
174
+ PlacementDescription.add_member(:created_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "createdDate"))
175
+ PlacementDescription.add_member(:updated_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "updatedDate"))
176
+ PlacementDescription.struct_class = Types::PlacementDescription
177
+
178
+ PlacementSummary.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "projectName"))
179
+ PlacementSummary.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location_name: "placementName"))
180
+ PlacementSummary.add_member(:created_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "createdDate"))
181
+ PlacementSummary.add_member(:updated_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "updatedDate"))
182
+ PlacementSummary.struct_class = Types::PlacementSummary
183
+
184
+ PlacementSummaryList.member = Shapes::ShapeRef.new(shape: PlacementSummary)
185
+
186
+ PlacementTemplate.add_member(:default_attributes, Shapes::ShapeRef.new(shape: DefaultPlacementAttributeMap, location_name: "defaultAttributes"))
187
+ PlacementTemplate.add_member(:device_templates, Shapes::ShapeRef.new(shape: DeviceTemplateMap, location_name: "deviceTemplates"))
188
+ PlacementTemplate.struct_class = Types::PlacementTemplate
189
+
190
+ ProjectDescription.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "projectName"))
191
+ ProjectDescription.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
192
+ ProjectDescription.add_member(:created_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "createdDate"))
193
+ ProjectDescription.add_member(:updated_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "updatedDate"))
194
+ ProjectDescription.add_member(:placement_template, Shapes::ShapeRef.new(shape: PlacementTemplate, location_name: "placementTemplate"))
195
+ ProjectDescription.struct_class = Types::ProjectDescription
196
+
197
+ ProjectSummary.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "projectName"))
198
+ ProjectSummary.add_member(:created_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "createdDate"))
199
+ ProjectSummary.add_member(:updated_date, Shapes::ShapeRef.new(shape: Time, required: true, location_name: "updatedDate"))
200
+ ProjectSummary.struct_class = Types::ProjectSummary
201
+
202
+ ProjectSummaryList.member = Shapes::ShapeRef.new(shape: ProjectSummary)
203
+
204
+ UpdatePlacementRequest.add_member(:placement_name, Shapes::ShapeRef.new(shape: PlacementName, required: true, location: "uri", location_name: "placementName"))
205
+ UpdatePlacementRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
206
+ UpdatePlacementRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: PlacementAttributeMap, location_name: "attributes"))
207
+ UpdatePlacementRequest.struct_class = Types::UpdatePlacementRequest
208
+
209
+ UpdatePlacementResponse.struct_class = Types::UpdatePlacementResponse
210
+
211
+ UpdateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location: "uri", location_name: "projectName"))
212
+ UpdateProjectRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
213
+ UpdateProjectRequest.add_member(:placement_template, Shapes::ShapeRef.new(shape: PlacementTemplate, location_name: "placementTemplate"))
214
+ UpdateProjectRequest.struct_class = Types::UpdateProjectRequest
215
+
216
+ UpdateProjectResponse.struct_class = Types::UpdateProjectResponse
217
+
218
+
219
+ # @api private
220
+ API = Seahorse::Model::Api.new.tap do |api|
221
+
222
+ api.version = "2018-05-14"
223
+
224
+ api.metadata = {
225
+ "endpointPrefix" => "projects.iot1click",
226
+ "jsonVersion" => "1.1",
227
+ "protocol" => "rest-json",
228
+ "serviceFullName" => "AWS IoT 1-Click Projects Service",
229
+ "signatureVersion" => "v4",
230
+ "signingName" => "iot1click",
231
+ }
232
+
233
+ api.add_operation(:associate_device_with_placement, Seahorse::Model::Operation.new.tap do |o|
234
+ o.name = "AssociateDeviceWithPlacement"
235
+ o.http_method = "PUT"
236
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}"
237
+ o.input = Shapes::ShapeRef.new(shape: AssociateDeviceWithPlacementRequest)
238
+ o.output = Shapes::ShapeRef.new(shape: AssociateDeviceWithPlacementResponse)
239
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
240
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
241
+ o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
242
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
243
+ end)
244
+
245
+ api.add_operation(:create_placement, Seahorse::Model::Operation.new.tap do |o|
246
+ o.name = "CreatePlacement"
247
+ o.http_method = "POST"
248
+ o.http_request_uri = "/projects/{projectName}/placements"
249
+ o.input = Shapes::ShapeRef.new(shape: CreatePlacementRequest)
250
+ o.output = Shapes::ShapeRef.new(shape: CreatePlacementResponse)
251
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
252
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
253
+ o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
254
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
255
+ end)
256
+
257
+ api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
258
+ o.name = "CreateProject"
259
+ o.http_method = "POST"
260
+ o.http_request_uri = "/projects"
261
+ o.input = Shapes::ShapeRef.new(shape: CreateProjectRequest)
262
+ o.output = Shapes::ShapeRef.new(shape: CreateProjectResponse)
263
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
264
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
265
+ o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
266
+ end)
267
+
268
+ api.add_operation(:delete_placement, Seahorse::Model::Operation.new.tap do |o|
269
+ o.name = "DeletePlacement"
270
+ o.http_method = "DELETE"
271
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}"
272
+ o.input = Shapes::ShapeRef.new(shape: DeletePlacementRequest)
273
+ o.output = Shapes::ShapeRef.new(shape: DeletePlacementResponse)
274
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
275
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
276
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
277
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
278
+ end)
279
+
280
+ api.add_operation(:delete_project, Seahorse::Model::Operation.new.tap do |o|
281
+ o.name = "DeleteProject"
282
+ o.http_method = "DELETE"
283
+ o.http_request_uri = "/projects/{projectName}"
284
+ o.input = Shapes::ShapeRef.new(shape: DeleteProjectRequest)
285
+ o.output = Shapes::ShapeRef.new(shape: DeleteProjectResponse)
286
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
287
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
288
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
289
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
290
+ end)
291
+
292
+ api.add_operation(:describe_placement, Seahorse::Model::Operation.new.tap do |o|
293
+ o.name = "DescribePlacement"
294
+ o.http_method = "GET"
295
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}"
296
+ o.input = Shapes::ShapeRef.new(shape: DescribePlacementRequest)
297
+ o.output = Shapes::ShapeRef.new(shape: DescribePlacementResponse)
298
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
299
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
300
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
301
+ end)
302
+
303
+ api.add_operation(:describe_project, Seahorse::Model::Operation.new.tap do |o|
304
+ o.name = "DescribeProject"
305
+ o.http_method = "GET"
306
+ o.http_request_uri = "/projects/{projectName}"
307
+ o.input = Shapes::ShapeRef.new(shape: DescribeProjectRequest)
308
+ o.output = Shapes::ShapeRef.new(shape: DescribeProjectResponse)
309
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
310
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
311
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
312
+ end)
313
+
314
+ api.add_operation(:disassociate_device_from_placement, Seahorse::Model::Operation.new.tap do |o|
315
+ o.name = "DisassociateDeviceFromPlacement"
316
+ o.http_method = "DELETE"
317
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}"
318
+ o.input = Shapes::ShapeRef.new(shape: DisassociateDeviceFromPlacementRequest)
319
+ o.output = Shapes::ShapeRef.new(shape: DisassociateDeviceFromPlacementResponse)
320
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
321
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
322
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
323
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
324
+ end)
325
+
326
+ api.add_operation(:get_devices_in_placement, Seahorse::Model::Operation.new.tap do |o|
327
+ o.name = "GetDevicesInPlacement"
328
+ o.http_method = "GET"
329
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}/devices"
330
+ o.input = Shapes::ShapeRef.new(shape: GetDevicesInPlacementRequest)
331
+ o.output = Shapes::ShapeRef.new(shape: GetDevicesInPlacementResponse)
332
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
333
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
334
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
335
+ end)
336
+
337
+ api.add_operation(:list_placements, Seahorse::Model::Operation.new.tap do |o|
338
+ o.name = "ListPlacements"
339
+ o.http_method = "GET"
340
+ o.http_request_uri = "/projects/{projectName}/placements"
341
+ o.input = Shapes::ShapeRef.new(shape: ListPlacementsRequest)
342
+ o.output = Shapes::ShapeRef.new(shape: ListPlacementsResponse)
343
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
344
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
345
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
346
+ end)
347
+
348
+ api.add_operation(:list_projects, Seahorse::Model::Operation.new.tap do |o|
349
+ o.name = "ListProjects"
350
+ o.http_method = "GET"
351
+ o.http_request_uri = "/projects"
352
+ o.input = Shapes::ShapeRef.new(shape: ListProjectsRequest)
353
+ o.output = Shapes::ShapeRef.new(shape: ListProjectsResponse)
354
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
355
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
356
+ end)
357
+
358
+ api.add_operation(:update_placement, Seahorse::Model::Operation.new.tap do |o|
359
+ o.name = "UpdatePlacement"
360
+ o.http_method = "PUT"
361
+ o.http_request_uri = "/projects/{projectName}/placements/{placementName}"
362
+ o.input = Shapes::ShapeRef.new(shape: UpdatePlacementRequest)
363
+ o.output = Shapes::ShapeRef.new(shape: UpdatePlacementResponse)
364
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
365
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
366
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
367
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
368
+ end)
369
+
370
+ api.add_operation(:update_project, Seahorse::Model::Operation.new.tap do |o|
371
+ o.name = "UpdateProject"
372
+ o.http_method = "PUT"
373
+ o.http_request_uri = "/projects/{projectName}"
374
+ o.input = Shapes::ShapeRef.new(shape: UpdateProjectRequest)
375
+ o.output = Shapes::ShapeRef.new(shape: UpdateProjectResponse)
376
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
377
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
378
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
379
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
380
+ end)
381
+ end
382
+
383
+ end
384
+ end
File without changes
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoT1ClickProjects
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoT1ClickProjects
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,637 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::IoT1ClickProjects
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass AssociateDeviceWithPlacementRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # project_name: "ProjectName", # required
16
+ # placement_name: "PlacementName", # required
17
+ # device_id: "DeviceId", # required
18
+ # device_template_name: "DeviceTemplateName", # required
19
+ # }
20
+ #
21
+ # @!attribute [rw] project_name
22
+ # The name of the project containing the placement in which to
23
+ # associate the device.
24
+ # @return [String]
25
+ #
26
+ # @!attribute [rw] placement_name
27
+ # The name of the placement in which to associate the device.
28
+ # @return [String]
29
+ #
30
+ # @!attribute [rw] device_id
31
+ # The ID of the physical device to be associated with the given
32
+ # placement in the project. Note that a mandatory 4 character prefix
33
+ # is required for all `deviceId` values.
34
+ # @return [String]
35
+ #
36
+ # @!attribute [rw] device_template_name
37
+ # The device template name to associate with the device ID.
38
+ # @return [String]
39
+ #
40
+ class AssociateDeviceWithPlacementRequest < Struct.new(
41
+ :project_name,
42
+ :placement_name,
43
+ :device_id,
44
+ :device_template_name)
45
+ include Aws::Structure
46
+ end
47
+
48
+ class AssociateDeviceWithPlacementResponse < Aws::EmptyStructure; end
49
+
50
+ # @note When making an API call, you may pass CreatePlacementRequest
51
+ # data as a hash:
52
+ #
53
+ # {
54
+ # placement_name: "PlacementName", # required
55
+ # project_name: "ProjectName", # required
56
+ # attributes: {
57
+ # "AttributeName" => "AttributeValue",
58
+ # },
59
+ # }
60
+ #
61
+ # @!attribute [rw] placement_name
62
+ # The name of the placement to be created.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] project_name
66
+ # The name of the project in which to create the placement.
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] attributes
70
+ # Optional user-defined key/value pairs providing contextual data
71
+ # (such as location or function) for the placement.
72
+ # @return [Hash<String,String>]
73
+ #
74
+ class CreatePlacementRequest < Struct.new(
75
+ :placement_name,
76
+ :project_name,
77
+ :attributes)
78
+ include Aws::Structure
79
+ end
80
+
81
+ class CreatePlacementResponse < Aws::EmptyStructure; end
82
+
83
+ # @note When making an API call, you may pass CreateProjectRequest
84
+ # data as a hash:
85
+ #
86
+ # {
87
+ # project_name: "ProjectName", # required
88
+ # description: "Description",
89
+ # placement_template: {
90
+ # default_attributes: {
91
+ # "AttributeName" => "AttributeDefaultValue",
92
+ # },
93
+ # device_templates: {
94
+ # "DeviceTemplateName" => {
95
+ # device_type: "DeviceType",
96
+ # callback_overrides: {
97
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
98
+ # },
99
+ # },
100
+ # },
101
+ # },
102
+ # }
103
+ #
104
+ # @!attribute [rw] project_name
105
+ # The name of the project to create.
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] description
109
+ # An optional description for the project.
110
+ # @return [String]
111
+ #
112
+ # @!attribute [rw] placement_template
113
+ # The schema defining the placement to be created. A placement
114
+ # template defines placement default attributes and device templates.
115
+ # You cannot add or remove device templates after the project has been
116
+ # created. However, you can update `callbackOverrides` for the device
117
+ # templates using the `UpdateProject` API.
118
+ # @return [Types::PlacementTemplate]
119
+ #
120
+ class CreateProjectRequest < Struct.new(
121
+ :project_name,
122
+ :description,
123
+ :placement_template)
124
+ include Aws::Structure
125
+ end
126
+
127
+ class CreateProjectResponse < Aws::EmptyStructure; end
128
+
129
+ # @note When making an API call, you may pass DeletePlacementRequest
130
+ # data as a hash:
131
+ #
132
+ # {
133
+ # placement_name: "PlacementName", # required
134
+ # project_name: "ProjectName", # required
135
+ # }
136
+ #
137
+ # @!attribute [rw] placement_name
138
+ # The name of the empty placement to delete.
139
+ # @return [String]
140
+ #
141
+ # @!attribute [rw] project_name
142
+ # The project containing the empty placement to delete.
143
+ # @return [String]
144
+ #
145
+ class DeletePlacementRequest < Struct.new(
146
+ :placement_name,
147
+ :project_name)
148
+ include Aws::Structure
149
+ end
150
+
151
+ class DeletePlacementResponse < Aws::EmptyStructure; end
152
+
153
+ # @note When making an API call, you may pass DeleteProjectRequest
154
+ # data as a hash:
155
+ #
156
+ # {
157
+ # project_name: "ProjectName", # required
158
+ # }
159
+ #
160
+ # @!attribute [rw] project_name
161
+ # The name of the empty project to delete.
162
+ # @return [String]
163
+ #
164
+ class DeleteProjectRequest < Struct.new(
165
+ :project_name)
166
+ include Aws::Structure
167
+ end
168
+
169
+ class DeleteProjectResponse < Aws::EmptyStructure; end
170
+
171
+ # @note When making an API call, you may pass DescribePlacementRequest
172
+ # data as a hash:
173
+ #
174
+ # {
175
+ # placement_name: "PlacementName", # required
176
+ # project_name: "ProjectName", # required
177
+ # }
178
+ #
179
+ # @!attribute [rw] placement_name
180
+ # The name of the placement within a project.
181
+ # @return [String]
182
+ #
183
+ # @!attribute [rw] project_name
184
+ # The project containing the placement to be described.
185
+ # @return [String]
186
+ #
187
+ class DescribePlacementRequest < Struct.new(
188
+ :placement_name,
189
+ :project_name)
190
+ include Aws::Structure
191
+ end
192
+
193
+ # @!attribute [rw] placement
194
+ # An object describing the placement.
195
+ # @return [Types::PlacementDescription]
196
+ #
197
+ class DescribePlacementResponse < Struct.new(
198
+ :placement)
199
+ include Aws::Structure
200
+ end
201
+
202
+ # @note When making an API call, you may pass DescribeProjectRequest
203
+ # data as a hash:
204
+ #
205
+ # {
206
+ # project_name: "ProjectName", # required
207
+ # }
208
+ #
209
+ # @!attribute [rw] project_name
210
+ # The name of the project to be described.
211
+ # @return [String]
212
+ #
213
+ class DescribeProjectRequest < Struct.new(
214
+ :project_name)
215
+ include Aws::Structure
216
+ end
217
+
218
+ # @!attribute [rw] project
219
+ # An object describing the project.
220
+ # @return [Types::ProjectDescription]
221
+ #
222
+ class DescribeProjectResponse < Struct.new(
223
+ :project)
224
+ include Aws::Structure
225
+ end
226
+
227
+ # An object representing a device for a placement template (see
228
+ # PlacementTemplate).
229
+ #
230
+ # @note When making an API call, you may pass DeviceTemplate
231
+ # data as a hash:
232
+ #
233
+ # {
234
+ # device_type: "DeviceType",
235
+ # callback_overrides: {
236
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
237
+ # },
238
+ # }
239
+ #
240
+ # @!attribute [rw] device_type
241
+ # The device type, which currently must be `"button"`.
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] callback_overrides
245
+ # An optional Lambda function to invoke instead of the default Lambda
246
+ # function provided by the placement template.
247
+ # @return [Hash<String,String>]
248
+ #
249
+ class DeviceTemplate < Struct.new(
250
+ :device_type,
251
+ :callback_overrides)
252
+ include Aws::Structure
253
+ end
254
+
255
+ # @note When making an API call, you may pass DisassociateDeviceFromPlacementRequest
256
+ # data as a hash:
257
+ #
258
+ # {
259
+ # project_name: "ProjectName", # required
260
+ # placement_name: "PlacementName", # required
261
+ # device_template_name: "DeviceTemplateName", # required
262
+ # }
263
+ #
264
+ # @!attribute [rw] project_name
265
+ # The name of the project that contains the placement.
266
+ # @return [String]
267
+ #
268
+ # @!attribute [rw] placement_name
269
+ # The name of the placement that the device should be removed from.
270
+ # @return [String]
271
+ #
272
+ # @!attribute [rw] device_template_name
273
+ # The device ID that should be removed from the placement.
274
+ # @return [String]
275
+ #
276
+ class DisassociateDeviceFromPlacementRequest < Struct.new(
277
+ :project_name,
278
+ :placement_name,
279
+ :device_template_name)
280
+ include Aws::Structure
281
+ end
282
+
283
+ class DisassociateDeviceFromPlacementResponse < Aws::EmptyStructure; end
284
+
285
+ # @note When making an API call, you may pass GetDevicesInPlacementRequest
286
+ # data as a hash:
287
+ #
288
+ # {
289
+ # project_name: "ProjectName", # required
290
+ # placement_name: "PlacementName", # required
291
+ # }
292
+ #
293
+ # @!attribute [rw] project_name
294
+ # The name of the project containing the placement.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] placement_name
298
+ # The name of the placement to get the devices from.
299
+ # @return [String]
300
+ #
301
+ class GetDevicesInPlacementRequest < Struct.new(
302
+ :project_name,
303
+ :placement_name)
304
+ include Aws::Structure
305
+ end
306
+
307
+ # @!attribute [rw] devices
308
+ # An object containing the devices (zero or more) within the
309
+ # placement.
310
+ # @return [Hash<String,String>]
311
+ #
312
+ class GetDevicesInPlacementResponse < Struct.new(
313
+ :devices)
314
+ include Aws::Structure
315
+ end
316
+
317
+ # @note When making an API call, you may pass ListPlacementsRequest
318
+ # data as a hash:
319
+ #
320
+ # {
321
+ # project_name: "ProjectName", # required
322
+ # next_token: "NextToken",
323
+ # max_results: 1,
324
+ # }
325
+ #
326
+ # @!attribute [rw] project_name
327
+ # The project containing the placements to be listed.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] next_token
331
+ # The token to retrieve the next set of results.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] max_results
335
+ # The maximum number of results to return per request. If not set, a
336
+ # default value of 100 is used.
337
+ # @return [Integer]
338
+ #
339
+ class ListPlacementsRequest < Struct.new(
340
+ :project_name,
341
+ :next_token,
342
+ :max_results)
343
+ include Aws::Structure
344
+ end
345
+
346
+ # @!attribute [rw] placements
347
+ # An object listing the requested placements.
348
+ # @return [Array<Types::PlacementSummary>]
349
+ #
350
+ # @!attribute [rw] next_token
351
+ # The token used to retrieve the next set of results - will be
352
+ # effectively empty if there are no further results.
353
+ # @return [String]
354
+ #
355
+ class ListPlacementsResponse < Struct.new(
356
+ :placements,
357
+ :next_token)
358
+ include Aws::Structure
359
+ end
360
+
361
+ # @note When making an API call, you may pass ListProjectsRequest
362
+ # data as a hash:
363
+ #
364
+ # {
365
+ # next_token: "NextToken",
366
+ # max_results: 1,
367
+ # }
368
+ #
369
+ # @!attribute [rw] next_token
370
+ # The token to retrieve the next set of results.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] max_results
374
+ # The maximum number of results to return per request. If not set, a
375
+ # default value of 100 is used.
376
+ # @return [Integer]
377
+ #
378
+ class ListProjectsRequest < Struct.new(
379
+ :next_token,
380
+ :max_results)
381
+ include Aws::Structure
382
+ end
383
+
384
+ # @!attribute [rw] projects
385
+ # An object containing the list of projects.
386
+ # @return [Array<Types::ProjectSummary>]
387
+ #
388
+ # @!attribute [rw] next_token
389
+ # The token used to retrieve the next set of results - will be
390
+ # effectively empty if there are no further results.
391
+ # @return [String]
392
+ #
393
+ class ListProjectsResponse < Struct.new(
394
+ :projects,
395
+ :next_token)
396
+ include Aws::Structure
397
+ end
398
+
399
+ # An object describing a project's placement.
400
+ #
401
+ # @!attribute [rw] project_name
402
+ # The name of the project containing the placement.
403
+ # @return [String]
404
+ #
405
+ # @!attribute [rw] placement_name
406
+ # The name of the placement.
407
+ # @return [String]
408
+ #
409
+ # @!attribute [rw] attributes
410
+ # The user-defined attributes associated with the placement.
411
+ # @return [Hash<String,String>]
412
+ #
413
+ # @!attribute [rw] created_date
414
+ # The date when the placement was initially created, in UNIX epoch
415
+ # time format.
416
+ # @return [Time]
417
+ #
418
+ # @!attribute [rw] updated_date
419
+ # The date when the placement was last updated, in UNIX epoch time
420
+ # format. If the placement was not updated, then `createdDate` and
421
+ # `updatedDate` are the same.
422
+ # @return [Time]
423
+ #
424
+ class PlacementDescription < Struct.new(
425
+ :project_name,
426
+ :placement_name,
427
+ :attributes,
428
+ :created_date,
429
+ :updated_date)
430
+ include Aws::Structure
431
+ end
432
+
433
+ # An object providing summary information for a particular placement.
434
+ #
435
+ # @!attribute [rw] project_name
436
+ # The name of the project containing the placement.
437
+ # @return [String]
438
+ #
439
+ # @!attribute [rw] placement_name
440
+ # The name of the placement being summarized.
441
+ # @return [String]
442
+ #
443
+ # @!attribute [rw] created_date
444
+ # The date when the placement was originally created, in UNIX epoch
445
+ # time format.
446
+ # @return [Time]
447
+ #
448
+ # @!attribute [rw] updated_date
449
+ # The date when the placement was last updated, in UNIX epoch time
450
+ # format. If the placement was not updated, then `createdDate` and
451
+ # `updatedDate` are the same.
452
+ # @return [Time]
453
+ #
454
+ class PlacementSummary < Struct.new(
455
+ :project_name,
456
+ :placement_name,
457
+ :created_date,
458
+ :updated_date)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # An object defining the template for a placement.
463
+ #
464
+ # @note When making an API call, you may pass PlacementTemplate
465
+ # data as a hash:
466
+ #
467
+ # {
468
+ # default_attributes: {
469
+ # "AttributeName" => "AttributeDefaultValue",
470
+ # },
471
+ # device_templates: {
472
+ # "DeviceTemplateName" => {
473
+ # device_type: "DeviceType",
474
+ # callback_overrides: {
475
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
476
+ # },
477
+ # },
478
+ # },
479
+ # }
480
+ #
481
+ # @!attribute [rw] default_attributes
482
+ # The default attributes (key/value pairs) to be applied to all
483
+ # placements using this template.
484
+ # @return [Hash<String,String>]
485
+ #
486
+ # @!attribute [rw] device_templates
487
+ # An object specifying the DeviceTemplate for all placements using
488
+ # this (PlacementTemplate) template.
489
+ # @return [Hash<String,Types::DeviceTemplate>]
490
+ #
491
+ class PlacementTemplate < Struct.new(
492
+ :default_attributes,
493
+ :device_templates)
494
+ include Aws::Structure
495
+ end
496
+
497
+ # An object providing detailed information for a particular project
498
+ # associated with an AWS account and region.
499
+ #
500
+ # @!attribute [rw] project_name
501
+ # The name of the project for which to obtain information from.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] description
505
+ # The description of the project.
506
+ # @return [String]
507
+ #
508
+ # @!attribute [rw] created_date
509
+ # The date when the project was originally created, in UNIX epoch time
510
+ # format.
511
+ # @return [Time]
512
+ #
513
+ # @!attribute [rw] updated_date
514
+ # The date when the project was last updated, in UNIX epoch time
515
+ # format. If the project was not updated, then `createdDate` and
516
+ # `updatedDate` are the same.
517
+ # @return [Time]
518
+ #
519
+ # @!attribute [rw] placement_template
520
+ # An object describing the project's placement specifications.
521
+ # @return [Types::PlacementTemplate]
522
+ #
523
+ class ProjectDescription < Struct.new(
524
+ :project_name,
525
+ :description,
526
+ :created_date,
527
+ :updated_date,
528
+ :placement_template)
529
+ include Aws::Structure
530
+ end
531
+
532
+ # An object providing summary information for a particular project for
533
+ # an associated AWS account and region.
534
+ #
535
+ # @!attribute [rw] project_name
536
+ # The name of the project being summarized.
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] created_date
540
+ # The date when the project was originally created, in UNIX epoch time
541
+ # format.
542
+ # @return [Time]
543
+ #
544
+ # @!attribute [rw] updated_date
545
+ # The date when the project was last updated, in UNIX epoch time
546
+ # format. If the project was not updated, then `createdDate` and
547
+ # `updatedDate` are the same.
548
+ # @return [Time]
549
+ #
550
+ class ProjectSummary < Struct.new(
551
+ :project_name,
552
+ :created_date,
553
+ :updated_date)
554
+ include Aws::Structure
555
+ end
556
+
557
+ # @note When making an API call, you may pass UpdatePlacementRequest
558
+ # data as a hash:
559
+ #
560
+ # {
561
+ # placement_name: "PlacementName", # required
562
+ # project_name: "ProjectName", # required
563
+ # attributes: {
564
+ # "AttributeName" => "AttributeValue",
565
+ # },
566
+ # }
567
+ #
568
+ # @!attribute [rw] placement_name
569
+ # The name of the placement to update.
570
+ # @return [String]
571
+ #
572
+ # @!attribute [rw] project_name
573
+ # The name of the project containing the placement to be updated.
574
+ # @return [String]
575
+ #
576
+ # @!attribute [rw] attributes
577
+ # The user-defined object of attributes used to update the placement.
578
+ # The maximum number of key/value pairs is 50.
579
+ # @return [Hash<String,String>]
580
+ #
581
+ class UpdatePlacementRequest < Struct.new(
582
+ :placement_name,
583
+ :project_name,
584
+ :attributes)
585
+ include Aws::Structure
586
+ end
587
+
588
+ class UpdatePlacementResponse < Aws::EmptyStructure; end
589
+
590
+ # @note When making an API call, you may pass UpdateProjectRequest
591
+ # data as a hash:
592
+ #
593
+ # {
594
+ # project_name: "ProjectName", # required
595
+ # description: "Description",
596
+ # placement_template: {
597
+ # default_attributes: {
598
+ # "AttributeName" => "AttributeDefaultValue",
599
+ # },
600
+ # device_templates: {
601
+ # "DeviceTemplateName" => {
602
+ # device_type: "DeviceType",
603
+ # callback_overrides: {
604
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
605
+ # },
606
+ # },
607
+ # },
608
+ # },
609
+ # }
610
+ #
611
+ # @!attribute [rw] project_name
612
+ # The name of the project to be updated.
613
+ # @return [String]
614
+ #
615
+ # @!attribute [rw] description
616
+ # An optional user-defined description for the project.
617
+ # @return [String]
618
+ #
619
+ # @!attribute [rw] placement_template
620
+ # An object defining the project update. Once a project has been
621
+ # created, you cannot add device template names to the project.
622
+ # However, for a given `placementTemplate`, you can update the
623
+ # associated `callbackOverrides` for the device definition using this
624
+ # API.
625
+ # @return [Types::PlacementTemplate]
626
+ #
627
+ class UpdateProjectRequest < Struct.new(
628
+ :project_name,
629
+ :description,
630
+ :placement_template)
631
+ include Aws::Structure
632
+ end
633
+
634
+ class UpdateProjectResponse < Aws::EmptyStructure; end
635
+
636
+ end
637
+ end