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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 46062ca0ac2755034d6e607b9cac821897bfb70a
4
+ data.tar.gz: bdac8ee9edad4244127be3f10f566f18f33c5cc4
5
+ SHA512:
6
+ metadata.gz: 7b8f16a2b3a3824c108ec2b8c0fc7cf2c5a29cf549f8dcf3b4ae5ed2abe71383c1ebcb0ea6e8efa282b75f2af044032dc6fda1684d95b3cb4f892b7df1b13a3e
7
+ data.tar.gz: c1df273318b8e381c032af75de8a751bcc120db5808f81d23131c124af39a88052365d2c7cc221b9c4ed4026ce980c9aa48f851f1e9caee6210896613c2dc6d2
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-iot1clickprojects/types'
12
+ require_relative 'aws-sdk-iot1clickprojects/client_api'
13
+ require_relative 'aws-sdk-iot1clickprojects/client'
14
+ require_relative 'aws-sdk-iot1clickprojects/errors'
15
+ require_relative 'aws-sdk-iot1clickprojects/resource'
16
+ require_relative 'aws-sdk-iot1clickprojects/customizations'
17
+
18
+ # This module provides support for AWS IoT 1-Click Projects Service. This module is available in the
19
+ # `aws-sdk-iot1clickprojects` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS IoT 1-Click Projects Service all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::IoT1ClickProjects::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::IoT1ClickProjects
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,636 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iot1clickprojects)
26
+
27
+ module Aws::IoT1ClickProjects
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :iot1clickprojects
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :stub_responses (false)
130
+ # Causes the client to return stubbed responses. By default
131
+ # fake responses are generated and returned. You can specify
132
+ # the response data to return or errors to raise by calling
133
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
134
+ #
135
+ # ** Please note ** When response stubbing is enabled, no HTTP
136
+ # requests are made, and retries are disabled.
137
+ #
138
+ # @option options [Boolean] :validate_params (true)
139
+ # When `true`, request parameters are validated before
140
+ # sending the request.
141
+ #
142
+ def initialize(*args)
143
+ super
144
+ end
145
+
146
+ # @!group API Operations
147
+
148
+ # Associates a physical device with a placement.
149
+ #
150
+ # @option params [required, String] :project_name
151
+ # The name of the project containing the placement in which to associate
152
+ # the device.
153
+ #
154
+ # @option params [required, String] :placement_name
155
+ # The name of the placement in which to associate the device.
156
+ #
157
+ # @option params [required, String] :device_id
158
+ # The ID of the physical device to be associated with the given
159
+ # placement in the project. Note that a mandatory 4 character prefix is
160
+ # required for all `deviceId` values.
161
+ #
162
+ # @option params [required, String] :device_template_name
163
+ # The device template name to associate with the device ID.
164
+ #
165
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
166
+ #
167
+ # @example Request syntax with placeholder values
168
+ #
169
+ # resp = client.associate_device_with_placement({
170
+ # project_name: "ProjectName", # required
171
+ # placement_name: "PlacementName", # required
172
+ # device_id: "DeviceId", # required
173
+ # device_template_name: "DeviceTemplateName", # required
174
+ # })
175
+ #
176
+ # @overload associate_device_with_placement(params = {})
177
+ # @param [Hash] params ({})
178
+ def associate_device_with_placement(params = {}, options = {})
179
+ req = build_request(:associate_device_with_placement, params)
180
+ req.send_request(options)
181
+ end
182
+
183
+ # Creates an empty placement.
184
+ #
185
+ # @option params [required, String] :placement_name
186
+ # The name of the placement to be created.
187
+ #
188
+ # @option params [required, String] :project_name
189
+ # The name of the project in which to create the placement.
190
+ #
191
+ # @option params [Hash<String,String>] :attributes
192
+ # Optional user-defined key/value pairs providing contextual data (such
193
+ # as location or function) for the placement.
194
+ #
195
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
196
+ #
197
+ # @example Request syntax with placeholder values
198
+ #
199
+ # resp = client.create_placement({
200
+ # placement_name: "PlacementName", # required
201
+ # project_name: "ProjectName", # required
202
+ # attributes: {
203
+ # "AttributeName" => "AttributeValue",
204
+ # },
205
+ # })
206
+ #
207
+ # @overload create_placement(params = {})
208
+ # @param [Hash] params ({})
209
+ def create_placement(params = {}, options = {})
210
+ req = build_request(:create_placement, params)
211
+ req.send_request(options)
212
+ end
213
+
214
+ # Creates an empty project with a placement template. A project contains
215
+ # zero or more placements that adhere to the placement template defined
216
+ # in the project.
217
+ #
218
+ # @option params [required, String] :project_name
219
+ # The name of the project to create.
220
+ #
221
+ # @option params [String] :description
222
+ # An optional description for the project.
223
+ #
224
+ # @option params [Types::PlacementTemplate] :placement_template
225
+ # The schema defining the placement to be created. A placement template
226
+ # defines placement default attributes and device templates. You cannot
227
+ # add or remove device templates after the project has been created.
228
+ # However, you can update `callbackOverrides` for the device templates
229
+ # using the `UpdateProject` API.
230
+ #
231
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
232
+ #
233
+ # @example Request syntax with placeholder values
234
+ #
235
+ # resp = client.create_project({
236
+ # project_name: "ProjectName", # required
237
+ # description: "Description",
238
+ # placement_template: {
239
+ # default_attributes: {
240
+ # "AttributeName" => "AttributeDefaultValue",
241
+ # },
242
+ # device_templates: {
243
+ # "DeviceTemplateName" => {
244
+ # device_type: "DeviceType",
245
+ # callback_overrides: {
246
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
247
+ # },
248
+ # },
249
+ # },
250
+ # },
251
+ # })
252
+ #
253
+ # @overload create_project(params = {})
254
+ # @param [Hash] params ({})
255
+ def create_project(params = {}, options = {})
256
+ req = build_request(:create_project, params)
257
+ req.send_request(options)
258
+ end
259
+
260
+ # Deletes a placement. To delete a placement, it must not have any
261
+ # devices associated with it.
262
+ #
263
+ # <note markdown="1"> When you delete a placement, all associated data becomes
264
+ # irretrievable.
265
+ #
266
+ # </note>
267
+ #
268
+ # @option params [required, String] :placement_name
269
+ # The name of the empty placement to delete.
270
+ #
271
+ # @option params [required, String] :project_name
272
+ # The project containing the empty placement to delete.
273
+ #
274
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
275
+ #
276
+ # @example Request syntax with placeholder values
277
+ #
278
+ # resp = client.delete_placement({
279
+ # placement_name: "PlacementName", # required
280
+ # project_name: "ProjectName", # required
281
+ # })
282
+ #
283
+ # @overload delete_placement(params = {})
284
+ # @param [Hash] params ({})
285
+ def delete_placement(params = {}, options = {})
286
+ req = build_request(:delete_placement, params)
287
+ req.send_request(options)
288
+ end
289
+
290
+ # Deletes a project. To delete a project, it must not have any
291
+ # placements associated with it.
292
+ #
293
+ # <note markdown="1"> When you delete a project, all associated data becomes irretrievable.
294
+ #
295
+ # </note>
296
+ #
297
+ # @option params [required, String] :project_name
298
+ # The name of the empty project to delete.
299
+ #
300
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
301
+ #
302
+ # @example Request syntax with placeholder values
303
+ #
304
+ # resp = client.delete_project({
305
+ # project_name: "ProjectName", # required
306
+ # })
307
+ #
308
+ # @overload delete_project(params = {})
309
+ # @param [Hash] params ({})
310
+ def delete_project(params = {}, options = {})
311
+ req = build_request(:delete_project, params)
312
+ req.send_request(options)
313
+ end
314
+
315
+ # Describes a placement in a project.
316
+ #
317
+ # @option params [required, String] :placement_name
318
+ # The name of the placement within a project.
319
+ #
320
+ # @option params [required, String] :project_name
321
+ # The project containing the placement to be described.
322
+ #
323
+ # @return [Types::DescribePlacementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
324
+ #
325
+ # * {Types::DescribePlacementResponse#placement #placement} => Types::PlacementDescription
326
+ #
327
+ # @example Request syntax with placeholder values
328
+ #
329
+ # resp = client.describe_placement({
330
+ # placement_name: "PlacementName", # required
331
+ # project_name: "ProjectName", # required
332
+ # })
333
+ #
334
+ # @example Response structure
335
+ #
336
+ # resp.placement.project_name #=> String
337
+ # resp.placement.placement_name #=> String
338
+ # resp.placement.attributes #=> Hash
339
+ # resp.placement.attributes["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
340
+ # resp.placement.created_date #=> Time
341
+ # resp.placement.updated_date #=> Time
342
+ #
343
+ # @overload describe_placement(params = {})
344
+ # @param [Hash] params ({})
345
+ def describe_placement(params = {}, options = {})
346
+ req = build_request(:describe_placement, params)
347
+ req.send_request(options)
348
+ end
349
+
350
+ # Returns an object describing a project.
351
+ #
352
+ # @option params [required, String] :project_name
353
+ # The name of the project to be described.
354
+ #
355
+ # @return [Types::DescribeProjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
356
+ #
357
+ # * {Types::DescribeProjectResponse#project #project} => Types::ProjectDescription
358
+ #
359
+ # @example Request syntax with placeholder values
360
+ #
361
+ # resp = client.describe_project({
362
+ # project_name: "ProjectName", # required
363
+ # })
364
+ #
365
+ # @example Response structure
366
+ #
367
+ # resp.project.project_name #=> String
368
+ # resp.project.description #=> String
369
+ # resp.project.created_date #=> Time
370
+ # resp.project.updated_date #=> Time
371
+ # resp.project.placement_template.default_attributes #=> Hash
372
+ # resp.project.placement_template.default_attributes["AttributeName"] #=> String
373
+ # resp.project.placement_template.device_templates #=> Hash
374
+ # resp.project.placement_template.device_templates["DeviceTemplateName"].device_type #=> String
375
+ # resp.project.placement_template.device_templates["DeviceTemplateName"].callback_overrides #=> Hash
376
+ # resp.project.placement_template.device_templates["DeviceTemplateName"].callback_overrides["DeviceCallbackKey"] #=> String
377
+ #
378
+ # @overload describe_project(params = {})
379
+ # @param [Hash] params ({})
380
+ def describe_project(params = {}, options = {})
381
+ req = build_request(:describe_project, params)
382
+ req.send_request(options)
383
+ end
384
+
385
+ # Removes a physical device from a placement.
386
+ #
387
+ # @option params [required, String] :project_name
388
+ # The name of the project that contains the placement.
389
+ #
390
+ # @option params [required, String] :placement_name
391
+ # The name of the placement that the device should be removed from.
392
+ #
393
+ # @option params [required, String] :device_template_name
394
+ # The device ID that should be removed from the placement.
395
+ #
396
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
397
+ #
398
+ # @example Request syntax with placeholder values
399
+ #
400
+ # resp = client.disassociate_device_from_placement({
401
+ # project_name: "ProjectName", # required
402
+ # placement_name: "PlacementName", # required
403
+ # device_template_name: "DeviceTemplateName", # required
404
+ # })
405
+ #
406
+ # @overload disassociate_device_from_placement(params = {})
407
+ # @param [Hash] params ({})
408
+ def disassociate_device_from_placement(params = {}, options = {})
409
+ req = build_request(:disassociate_device_from_placement, params)
410
+ req.send_request(options)
411
+ end
412
+
413
+ # Returns an object enumerating the devices in a placement.
414
+ #
415
+ # @option params [required, String] :project_name
416
+ # The name of the project containing the placement.
417
+ #
418
+ # @option params [required, String] :placement_name
419
+ # The name of the placement to get the devices from.
420
+ #
421
+ # @return [Types::GetDevicesInPlacementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
422
+ #
423
+ # * {Types::GetDevicesInPlacementResponse#devices #devices} => Hash&lt;String,String&gt;
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ #
427
+ # resp = client.get_devices_in_placement({
428
+ # project_name: "ProjectName", # required
429
+ # placement_name: "PlacementName", # required
430
+ # })
431
+ #
432
+ # @example Response structure
433
+ #
434
+ # resp.devices #=> Hash
435
+ # resp.devices["DeviceTemplateName"] #=> String
436
+ #
437
+ # @overload get_devices_in_placement(params = {})
438
+ # @param [Hash] params ({})
439
+ def get_devices_in_placement(params = {}, options = {})
440
+ req = build_request(:get_devices_in_placement, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Lists the placement(s) of a project.
445
+ #
446
+ # @option params [required, String] :project_name
447
+ # The project containing the placements to be listed.
448
+ #
449
+ # @option params [String] :next_token
450
+ # The token to retrieve the next set of results.
451
+ #
452
+ # @option params [Integer] :max_results
453
+ # The maximum number of results to return per request. If not set, a
454
+ # default value of 100 is used.
455
+ #
456
+ # @return [Types::ListPlacementsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
457
+ #
458
+ # * {Types::ListPlacementsResponse#placements #placements} => Array&lt;Types::PlacementSummary&gt;
459
+ # * {Types::ListPlacementsResponse#next_token #next_token} => String
460
+ #
461
+ # @example Request syntax with placeholder values
462
+ #
463
+ # resp = client.list_placements({
464
+ # project_name: "ProjectName", # required
465
+ # next_token: "NextToken",
466
+ # max_results: 1,
467
+ # })
468
+ #
469
+ # @example Response structure
470
+ #
471
+ # resp.placements #=> Array
472
+ # resp.placements[0].project_name #=> String
473
+ # resp.placements[0].placement_name #=> String
474
+ # resp.placements[0].created_date #=> Time
475
+ # resp.placements[0].updated_date #=> Time
476
+ # resp.next_token #=> String
477
+ #
478
+ # @overload list_placements(params = {})
479
+ # @param [Hash] params ({})
480
+ def list_placements(params = {}, options = {})
481
+ req = build_request(:list_placements, params)
482
+ req.send_request(options)
483
+ end
484
+
485
+ # Lists the AWS IoT 1-Click project(s) associated with your AWS account
486
+ # and region.
487
+ #
488
+ # @option params [String] :next_token
489
+ # The token to retrieve the next set of results.
490
+ #
491
+ # @option params [Integer] :max_results
492
+ # The maximum number of results to return per request. If not set, a
493
+ # default value of 100 is used.
494
+ #
495
+ # @return [Types::ListProjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
496
+ #
497
+ # * {Types::ListProjectsResponse#projects #projects} => Array&lt;Types::ProjectSummary&gt;
498
+ # * {Types::ListProjectsResponse#next_token #next_token} => String
499
+ #
500
+ # @example Request syntax with placeholder values
501
+ #
502
+ # resp = client.list_projects({
503
+ # next_token: "NextToken",
504
+ # max_results: 1,
505
+ # })
506
+ #
507
+ # @example Response structure
508
+ #
509
+ # resp.projects #=> Array
510
+ # resp.projects[0].project_name #=> String
511
+ # resp.projects[0].created_date #=> Time
512
+ # resp.projects[0].updated_date #=> Time
513
+ # resp.next_token #=> String
514
+ #
515
+ # @overload list_projects(params = {})
516
+ # @param [Hash] params ({})
517
+ def list_projects(params = {}, options = {})
518
+ req = build_request(:list_projects, params)
519
+ req.send_request(options)
520
+ end
521
+
522
+ # Updates a placement with the given attributes. To clear an attribute,
523
+ # pass an empty value (i.e., "").
524
+ #
525
+ # @option params [required, String] :placement_name
526
+ # The name of the placement to update.
527
+ #
528
+ # @option params [required, String] :project_name
529
+ # The name of the project containing the placement to be updated.
530
+ #
531
+ # @option params [Hash<String,String>] :attributes
532
+ # The user-defined object of attributes used to update the placement.
533
+ # The maximum number of key/value pairs is 50.
534
+ #
535
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
536
+ #
537
+ # @example Request syntax with placeholder values
538
+ #
539
+ # resp = client.update_placement({
540
+ # placement_name: "PlacementName", # required
541
+ # project_name: "ProjectName", # required
542
+ # attributes: {
543
+ # "AttributeName" => "AttributeValue",
544
+ # },
545
+ # })
546
+ #
547
+ # @overload update_placement(params = {})
548
+ # @param [Hash] params ({})
549
+ def update_placement(params = {}, options = {})
550
+ req = build_request(:update_placement, params)
551
+ req.send_request(options)
552
+ end
553
+
554
+ # Updates a project associated with your AWS account and region. With
555
+ # the exception of device template names, you can pass just the values
556
+ # that need to be updated because the update request will change only
557
+ # the values that are provided. To clear a value, pass the empty string
558
+ # (i.e., `""`).
559
+ #
560
+ # @option params [required, String] :project_name
561
+ # The name of the project to be updated.
562
+ #
563
+ # @option params [String] :description
564
+ # An optional user-defined description for the project.
565
+ #
566
+ # @option params [Types::PlacementTemplate] :placement_template
567
+ # An object defining the project update. Once a project has been
568
+ # created, you cannot add device template names to the project. However,
569
+ # for a given `placementTemplate`, you can update the associated
570
+ # `callbackOverrides` for the device definition using this API.
571
+ #
572
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
573
+ #
574
+ # @example Request syntax with placeholder values
575
+ #
576
+ # resp = client.update_project({
577
+ # project_name: "ProjectName", # required
578
+ # description: "Description",
579
+ # placement_template: {
580
+ # default_attributes: {
581
+ # "AttributeName" => "AttributeDefaultValue",
582
+ # },
583
+ # device_templates: {
584
+ # "DeviceTemplateName" => {
585
+ # device_type: "DeviceType",
586
+ # callback_overrides: {
587
+ # "DeviceCallbackKey" => "DeviceCallbackValue",
588
+ # },
589
+ # },
590
+ # },
591
+ # },
592
+ # })
593
+ #
594
+ # @overload update_project(params = {})
595
+ # @param [Hash] params ({})
596
+ def update_project(params = {}, options = {})
597
+ req = build_request(:update_project, params)
598
+ req.send_request(options)
599
+ end
600
+
601
+ # @!endgroup
602
+
603
+ # @param params ({})
604
+ # @api private
605
+ def build_request(operation_name, params = {})
606
+ handlers = @handlers.for(operation_name)
607
+ context = Seahorse::Client::RequestContext.new(
608
+ operation_name: operation_name,
609
+ operation: config.api.operation(operation_name),
610
+ client: self,
611
+ params: params,
612
+ config: config)
613
+ context[:gem_name] = 'aws-sdk-iot1clickprojects'
614
+ context[:gem_version] = '1.0.0'
615
+ Seahorse::Client::Request.new(handlers, context)
616
+ end
617
+
618
+ # @api private
619
+ # @deprecated
620
+ def waiter_names
621
+ []
622
+ end
623
+
624
+ class << self
625
+
626
+ # @api private
627
+ attr_reader :identifier
628
+
629
+ # @api private
630
+ def errors_module
631
+ Errors
632
+ end
633
+
634
+ end
635
+ end
636
+ end