aws-sdk-iot1clickprojects 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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