aws-sdk-iot1clickprojects 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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