aws-sdk-greengrassv2 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,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5f843ae19ed659bf645fe005115b349730abef98d18064d5fd1d41e64c15eae7
4
+ data.tar.gz: 5c9588304155d7a24959b7d6104476cb60b3ac55e7944fabf16e191a993d52ca
5
+ SHA512:
6
+ metadata.gz: 615c1c6af792771fab64c9d931ce9ee10334996dbe4bc47109edb56ad0b68ade24609542159dfb61c8259dc7b93709e06c01ac1b662b9b410092134a5f1d33c5
7
+ data.tar.gz: 17137c3c7cd4bca63af38f8cef3e7b47f097ce9ff6b515887ecbb42ce65e2a0b00a37d1499476261c8f852423b6a03c62ae220ffc2cf2d4f9e4403ae0bd31b4f
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ require 'aws-sdk-core'
12
+ require 'aws-sigv4'
13
+
14
+ require_relative 'aws-sdk-greengrassv2/types'
15
+ require_relative 'aws-sdk-greengrassv2/client_api'
16
+ require_relative 'aws-sdk-greengrassv2/client'
17
+ require_relative 'aws-sdk-greengrassv2/errors'
18
+ require_relative 'aws-sdk-greengrassv2/resource'
19
+ require_relative 'aws-sdk-greengrassv2/customizations'
20
+
21
+ # This module provides support for AWS IoT Greengrass V2. This module is available in the
22
+ # `aws-sdk-greengrassv2` gem.
23
+ #
24
+ # # Client
25
+ #
26
+ # The {Client} class provides one method for each API operation. Operation
27
+ # methods each accept a hash of request parameters and return a response
28
+ # structure.
29
+ #
30
+ # greengrass_v2 = Aws::GreengrassV2::Client.new
31
+ # resp = greengrass_v2.cancel_deployment(params)
32
+ #
33
+ # See {Client} for more information.
34
+ #
35
+ # # Errors
36
+ #
37
+ # Errors returned from AWS IoT Greengrass V2 are defined in the
38
+ # {Errors} module and all extend {Errors::ServiceError}.
39
+ #
40
+ # begin
41
+ # # do stuff
42
+ # rescue Aws::GreengrassV2::Errors::ServiceError
43
+ # # rescues all AWS IoT Greengrass V2 API errors
44
+ # end
45
+ #
46
+ # See {Errors} for more information.
47
+ #
48
+ # @!group service
49
+ module Aws::GreengrassV2
50
+
51
+ GEM_VERSION = '1.0.0'
52
+
53
+ end
@@ -0,0 +1,1515 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:greengrassv2)
34
+
35
+ module Aws::GreengrassV2
36
+ # An API client for GreengrassV2. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::GreengrassV2::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :greengrassv2
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
123
+ #
124
+ # @option options [required, String] :region
125
+ # The AWS region to connect to. The configured `:region` is
126
+ # used to determine the service `:endpoint`. When not passed,
127
+ # a default `:region` is searched for in the following locations:
128
+ #
129
+ # * `Aws.config[:region]`
130
+ # * `ENV['AWS_REGION']`
131
+ # * `ENV['AMAZON_REGION']`
132
+ # * `ENV['AWS_DEFAULT_REGION']`
133
+ # * `~/.aws/credentials`
134
+ # * `~/.aws/config`
135
+ #
136
+ # @option options [String] :access_key_id
137
+ #
138
+ # @option options [Boolean] :active_endpoint_cache (false)
139
+ # When set to `true`, a thread polling for endpoints will be running in
140
+ # the background every 60 secs (default). Defaults to `false`.
141
+ #
142
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
143
+ # Used only in `adaptive` retry mode. When true, the request will sleep
144
+ # until there is sufficent client side capacity to retry the request.
145
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
146
+ # not retry instead of sleeping.
147
+ #
148
+ # @option options [Boolean] :client_side_monitoring (false)
149
+ # When `true`, client-side metrics will be collected for all API requests from
150
+ # this client.
151
+ #
152
+ # @option options [String] :client_side_monitoring_client_id ("")
153
+ # Allows you to provide an identifier for this client which will be attached to
154
+ # all generated client side metrics. Defaults to an empty string.
155
+ #
156
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
157
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
158
+ # side monitoring agent is running on, where client metrics will be published via UDP.
159
+ #
160
+ # @option options [Integer] :client_side_monitoring_port (31000)
161
+ # Required for publishing client metrics. The port that the client side monitoring
162
+ # agent is running on, where client metrics will be published via UDP.
163
+ #
164
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
165
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
166
+ # will use the Client Side Monitoring Agent Publisher.
167
+ #
168
+ # @option options [Boolean] :convert_params (true)
169
+ # When `true`, an attempt is made to coerce request parameters into
170
+ # the required types.
171
+ #
172
+ # @option options [Boolean] :correct_clock_skew (true)
173
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
+ # a clock skew correction and retry requests with skewed client clocks.
175
+ #
176
+ # @option options [Boolean] :disable_host_prefix_injection (false)
177
+ # Set to true to disable SDK automatically adding host prefix
178
+ # to default service endpoint when available.
179
+ #
180
+ # @option options [String] :endpoint
181
+ # The client endpoint is normally constructed from the `:region`
182
+ # option. You should only configure an `:endpoint` when connecting
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
184
+ #
185
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
186
+ # Used for the maximum size limit of the LRU cache storing endpoints data
187
+ # for endpoint discovery enabled operations. Defaults to 1000.
188
+ #
189
+ # @option options [Integer] :endpoint_cache_max_threads (10)
190
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
191
+ #
192
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
193
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
194
+ # Use this option to config the time interval in seconds for making
195
+ # requests fetching endpoints information. Defaults to 60 sec.
196
+ #
197
+ # @option options [Boolean] :endpoint_discovery (false)
198
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
199
+ #
200
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
201
+ # The log formatter.
202
+ #
203
+ # @option options [Symbol] :log_level (:info)
204
+ # The log level to send messages to the `:logger` at.
205
+ #
206
+ # @option options [Logger] :logger
207
+ # The Logger instance to send log messages to. If this option
208
+ # is not set, logging will be disabled.
209
+ #
210
+ # @option options [Integer] :max_attempts (3)
211
+ # An integer representing the maximum number attempts that will be made for
212
+ # a single request, including the initial attempt. For example,
213
+ # setting this value to 5 will result in a request being retried up to
214
+ # 4 times. Used in `standard` and `adaptive` retry modes.
215
+ #
216
+ # @option options [String] :profile ("default")
217
+ # Used when loading credentials from the shared credentials file
218
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
219
+ #
220
+ # @option options [Proc] :retry_backoff
221
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
222
+ # This option is only used in the `legacy` retry mode.
223
+ #
224
+ # @option options [Float] :retry_base_delay (0.3)
225
+ # The base delay in seconds used by the default backoff function. This option
226
+ # is only used in the `legacy` retry mode.
227
+ #
228
+ # @option options [Symbol] :retry_jitter (:none)
229
+ # A delay randomiser function used by the default backoff function.
230
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
231
+ # otherwise a Proc that takes and returns a number. This option is only used
232
+ # in the `legacy` retry mode.
233
+ #
234
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
235
+ #
236
+ # @option options [Integer] :retry_limit (3)
237
+ # The maximum number of times to retry failed requests. Only
238
+ # ~ 500 level server errors and certain ~ 400 level client errors
239
+ # are retried. Generally, these are throttling errors, data
240
+ # checksum errors, networking errors, timeout errors, auth errors,
241
+ # endpoint discovery, and errors from expired credentials.
242
+ # This option is only used in the `legacy` retry mode.
243
+ #
244
+ # @option options [Integer] :retry_max_delay (0)
245
+ # The maximum number of seconds to delay between retries (0 for no limit)
246
+ # used by the default backoff function. This option is only used in the
247
+ # `legacy` retry mode.
248
+ #
249
+ # @option options [String] :retry_mode ("legacy")
250
+ # Specifies which retry algorithm to use. Values are:
251
+ #
252
+ # * `legacy` - The pre-existing retry behavior. This is default value if
253
+ # no retry mode is provided.
254
+ #
255
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
256
+ # This includes support for retry quotas, which limit the number of
257
+ # unsuccessful retries a client can make.
258
+ #
259
+ # * `adaptive` - An experimental retry mode that includes all the
260
+ # functionality of `standard` mode along with automatic client side
261
+ # throttling. This is a provisional mode that may change behavior
262
+ # in the future.
263
+ #
264
+ #
265
+ # @option options [String] :secret_access_key
266
+ #
267
+ # @option options [String] :session_token
268
+ #
269
+ # @option options [Boolean] :stub_responses (false)
270
+ # Causes the client to return stubbed responses. By default
271
+ # fake responses are generated and returned. You can specify
272
+ # the response data to return or errors to raise by calling
273
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
274
+ #
275
+ # ** Please note ** When response stubbing is enabled, no HTTP
276
+ # requests are made, and retries are disabled.
277
+ #
278
+ # @option options [Boolean] :validate_params (true)
279
+ # When `true`, request parameters are validated before
280
+ # sending the request.
281
+ #
282
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
283
+ # requests through. Formatted like 'http://proxy.com:123'.
284
+ #
285
+ # @option options [Float] :http_open_timeout (15) The number of
286
+ # seconds to wait when opening a HTTP session before raising a
287
+ # `Timeout::Error`.
288
+ #
289
+ # @option options [Integer] :http_read_timeout (60) The default
290
+ # number of seconds to wait for response data. This value can
291
+ # safely be set per-request on the session.
292
+ #
293
+ # @option options [Float] :http_idle_timeout (5) The number of
294
+ # seconds a connection is allowed to sit idle before it is
295
+ # considered stale. Stale connections are closed and removed
296
+ # from the pool before making a request.
297
+ #
298
+ # @option options [Float] :http_continue_timeout (1) The number of
299
+ # seconds to wait for a 100-continue response before sending the
300
+ # request body. This option has no effect unless the request has
301
+ # "Expect" header set to "100-continue". Defaults to `nil` which
302
+ # disables this behaviour. This value can safely be set per
303
+ # request on the session.
304
+ #
305
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
306
+ # HTTP debug output will be sent to the `:logger`.
307
+ #
308
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
309
+ # SSL peer certificates are verified when establishing a
310
+ # connection.
311
+ #
312
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
313
+ # certificate authority bundle file that should be used when
314
+ # verifying peer certificates. If you do not pass
315
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
316
+ # will be used if available.
317
+ #
318
+ # @option options [String] :ssl_ca_directory Full path of the
319
+ # directory that contains the unbundled SSL certificate
320
+ # authority files for verifying peer certificates. If you do
321
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
322
+ # system default will be used if available.
323
+ #
324
+ def initialize(*args)
325
+ super
326
+ end
327
+
328
+ # @!group API Operations
329
+
330
+ # Cancels a deployment. This operation cancels the deployment for
331
+ # devices that haven't yet received it. If a device already received
332
+ # the deployment, this operation doesn't change anything for that
333
+ # device.
334
+ #
335
+ # @option params [required, String] :deployment_id
336
+ # The ID of the deployment.
337
+ #
338
+ # @return [Types::CancelDeploymentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
339
+ #
340
+ # * {Types::CancelDeploymentResponse#message #message} => String
341
+ #
342
+ # @example Request syntax with placeholder values
343
+ #
344
+ # resp = client.cancel_deployment({
345
+ # deployment_id: "NonEmptyString", # required
346
+ # })
347
+ #
348
+ # @example Response structure
349
+ #
350
+ # resp.message #=> String
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment AWS API Documentation
353
+ #
354
+ # @overload cancel_deployment(params = {})
355
+ # @param [Hash] params ({})
356
+ def cancel_deployment(params = {}, options = {})
357
+ req = build_request(:cancel_deployment, params)
358
+ req.send_request(options)
359
+ end
360
+
361
+ # Creates a component. Components are software that run on AWS IoT
362
+ # Greengrass core devices. After you develop and test a component on
363
+ # your core device, you can use this operation to upload your component
364
+ # to AWS IoT Greengrass. Then, you can deploy the component to other
365
+ # core devices.
366
+ #
367
+ # You can use this operation to do the following:
368
+ #
369
+ # * **Create components from recipes**
370
+ #
371
+ # Create a component from a recipe, which is a file that defines the
372
+ # component's metadata, parameters, dependencies, lifecycle,
373
+ # artifacts, and platform capability. For more information, see [AWS
374
+ # IoT Greengrass component recipe reference][1] in the *AWS IoT
375
+ # Greengrass V2 Developer Guide*.
376
+ #
377
+ # To create a component from a recipe, specify `inlineRecipe` when you
378
+ # call this operation.
379
+ #
380
+ # * **Create components from Lambda functions**
381
+ #
382
+ # Create a component from an AWS Lambda function that runs on AWS IoT
383
+ # Greengrass. This creates a recipe and artifacts from the Lambda
384
+ # function's deployment package. You can use this operation to
385
+ # migrate Lambda functions from AWS IoT Greengrass V1 to AWS IoT
386
+ # Greengrass V2.
387
+ #
388
+ # This function only accepts Lambda functions that use the following
389
+ # runtimes:
390
+ #
391
+ # * Python 2.7 – `python2.7`
392
+ #
393
+ # * Python 3.7 – `python3.7`
394
+ #
395
+ # * Python 3.8 – `python3.8`
396
+ #
397
+ # * Java 8 – `java8`
398
+ #
399
+ # * Node.js 10 – `nodejs10.x`
400
+ #
401
+ # * Node.js 12 – `nodejs12.x`
402
+ #
403
+ # To create a component from a Lambda function, specify
404
+ # `lambdaFunction` when you call this operation.
405
+ #
406
+ #
407
+ #
408
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html
409
+ #
410
+ # @option params [String, StringIO, File] :inline_recipe
411
+ # The recipe to use to create the component. The recipe defines the
412
+ # component's metadata, parameters, dependencies, lifecycle, artifacts,
413
+ # and platform compatibility.
414
+ #
415
+ # You must specify either `inlineRecipe` or `lambdaFunction`.
416
+ #
417
+ # @option params [Types::LambdaFunctionRecipeSource] :lambda_function
418
+ # The parameters to create a component from a Lambda function.
419
+ #
420
+ # You must specify either `inlineRecipe` or `lambdaFunction`.
421
+ #
422
+ # @option params [Hash<String,String>] :tags
423
+ # A list of key-value pairs that contain metadata for the resource. For
424
+ # more information, see [Tag your resources][1] in the *AWS IoT
425
+ # Greengrass V2 Developer Guide*.
426
+ #
427
+ #
428
+ #
429
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/tag-resources.html
430
+ #
431
+ # @return [Types::CreateComponentVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
432
+ #
433
+ # * {Types::CreateComponentVersionResponse#arn #arn} => String
434
+ # * {Types::CreateComponentVersionResponse#component_name #component_name} => String
435
+ # * {Types::CreateComponentVersionResponse#component_version #component_version} => String
436
+ # * {Types::CreateComponentVersionResponse#creation_timestamp #creation_timestamp} => Time
437
+ # * {Types::CreateComponentVersionResponse#status #status} => Types::CloudComponentStatus
438
+ #
439
+ # @example Request syntax with placeholder values
440
+ #
441
+ # resp = client.create_component_version({
442
+ # inline_recipe: "data",
443
+ # lambda_function: {
444
+ # lambda_arn: "LambdaFunctionARNWithVersionNumber", # required
445
+ # component_name: "ComponentNameString",
446
+ # component_version: "ComponentVersionString",
447
+ # component_platforms: [
448
+ # {
449
+ # name: "NonEmptyString",
450
+ # attributes: {
451
+ # "NonEmptyString" => "NonEmptyString",
452
+ # },
453
+ # },
454
+ # ],
455
+ # component_dependencies: {
456
+ # "NonEmptyString" => {
457
+ # version_requirement: "NonEmptyString",
458
+ # dependency_type: "HARD", # accepts HARD, SOFT
459
+ # },
460
+ # },
461
+ # component_lambda_parameters: {
462
+ # event_sources: [
463
+ # {
464
+ # topic: "TopicString", # required
465
+ # type: "PUB_SUB", # required, accepts PUB_SUB, IOT_CORE
466
+ # },
467
+ # ],
468
+ # max_queue_size: 1,
469
+ # max_instances_count: 1,
470
+ # max_idle_time_in_seconds: 1,
471
+ # timeout_in_seconds: 1,
472
+ # status_timeout_in_seconds: 1,
473
+ # pinned: false,
474
+ # input_payload_encoding_type: "json", # accepts json, binary
475
+ # exec_args: ["LambdaExecArg"],
476
+ # environment_variables: {
477
+ # "NonEmptyString" => "String",
478
+ # },
479
+ # linux_process_params: {
480
+ # isolation_mode: "GreengrassContainer", # accepts GreengrassContainer, NoContainer
481
+ # container_params: {
482
+ # memory_size_in_kb: 1,
483
+ # mount_ro_sysfs: false,
484
+ # volumes: [
485
+ # {
486
+ # source_path: "FileSystemPath", # required
487
+ # destination_path: "FileSystemPath", # required
488
+ # permission: "ro", # accepts ro, rw
489
+ # add_group_owner: false,
490
+ # },
491
+ # ],
492
+ # devices: [
493
+ # {
494
+ # path: "FileSystemPath", # required
495
+ # permission: "ro", # accepts ro, rw
496
+ # add_group_owner: false,
497
+ # },
498
+ # ],
499
+ # },
500
+ # },
501
+ # },
502
+ # },
503
+ # tags: {
504
+ # "TagKey" => "TagValue",
505
+ # },
506
+ # })
507
+ #
508
+ # @example Response structure
509
+ #
510
+ # resp.arn #=> String
511
+ # resp.component_name #=> String
512
+ # resp.component_version #=> String
513
+ # resp.creation_timestamp #=> Time
514
+ # resp.status.component_state #=> String, one of "REQUESTED", "INITIATED", "DEPLOYABLE", "FAILED", "DEPRECATED"
515
+ # resp.status.message #=> String
516
+ # resp.status.errors #=> Hash
517
+ # resp.status.errors["NonEmptyString"] #=> String
518
+ #
519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion AWS API Documentation
520
+ #
521
+ # @overload create_component_version(params = {})
522
+ # @param [Hash] params ({})
523
+ def create_component_version(params = {}, options = {})
524
+ req = build_request(:create_component_version, params)
525
+ req.send_request(options)
526
+ end
527
+
528
+ # Creates a continuous deployment for a target, which is a AWS IoT
529
+ # Greengrass core device or group of core devices. When you add a new
530
+ # core device to a group of core devices that has a deployment, AWS IoT
531
+ # Greengrass deploys that group's deployment to the new device.
532
+ #
533
+ # You can define one deployment for each target. When you create a new
534
+ # deployment for a target that has an existing deployment, you replace
535
+ # the previous deployment. AWS IoT Greengrass applies the new deployment
536
+ # to the target devices.
537
+ #
538
+ # Every deployment has a revision number that indicates how many
539
+ # deployment revisions you define for a target. Use this operation to
540
+ # create a new revision of an existing deployment. This operation
541
+ # returns the revision number of the new deployment when you create it.
542
+ #
543
+ # For more information, see the [Create deployments][1] in the *AWS IoT
544
+ # Greengrass V2 Developer Guide*.
545
+ #
546
+ #
547
+ #
548
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html
549
+ #
550
+ # @option params [required, String] :target_arn
551
+ # The [ARN][1] of the target AWS IoT thing or thing group.
552
+ #
553
+ #
554
+ #
555
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
556
+ #
557
+ # @option params [String] :deployment_name
558
+ # The name of the deployment.
559
+ #
560
+ # You can create deployments without names. If you create a deployment
561
+ # without a name, the AWS IoT Greengrass V2 console shows the deployment
562
+ # name as `<targetType>:<targetName>`, where `targetType` and
563
+ # `targetName` are the type and name of the deployment target.
564
+ #
565
+ # @option params [Hash<String,Types::ComponentDeploymentSpecification>] :components
566
+ # The components to deploy. This is a dictionary, where each key is the
567
+ # name of a component, and each key's value is the version and
568
+ # configuration to deploy for that component.
569
+ #
570
+ # @option params [Types::DeploymentIoTJobConfiguration] :iot_job_configuration
571
+ # The job configuration for the deployment configuration. The job
572
+ # configuration specifies the rollout, timeout, and stop configurations
573
+ # for the deployment configuration.
574
+ #
575
+ # @option params [Types::DeploymentPolicies] :deployment_policies
576
+ # The deployment policies for the deployment. These policies define how
577
+ # the deployment updates components and handles failure.
578
+ #
579
+ # @option params [Hash<String,String>] :tags
580
+ # A list of key-value pairs that contain metadata for the resource. For
581
+ # more information, see [Tag your resources][1] in the *AWS IoT
582
+ # Greengrass V2 Developer Guide*.
583
+ #
584
+ #
585
+ #
586
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/tag-resources.html
587
+ #
588
+ # @return [Types::CreateDeploymentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
589
+ #
590
+ # * {Types::CreateDeploymentResponse#deployment_id #deployment_id} => String
591
+ # * {Types::CreateDeploymentResponse#iot_job_id #iot_job_id} => String
592
+ # * {Types::CreateDeploymentResponse#iot_job_arn #iot_job_arn} => String
593
+ #
594
+ # @example Request syntax with placeholder values
595
+ #
596
+ # resp = client.create_deployment({
597
+ # target_arn: "TargetARN", # required
598
+ # deployment_name: "NonEmptyString",
599
+ # components: {
600
+ # "NonEmptyString" => {
601
+ # component_version: "ComponentVersionString",
602
+ # configuration_update: {
603
+ # merge: "ComponentConfigurationString",
604
+ # reset: ["ComponentConfigurationPath"],
605
+ # },
606
+ # run_with: {
607
+ # posix_user: "NonEmptyString",
608
+ # },
609
+ # },
610
+ # },
611
+ # iot_job_configuration: {
612
+ # job_executions_rollout_config: {
613
+ # exponential_rate: {
614
+ # base_rate_per_minute: 1, # required
615
+ # increment_factor: 1.0, # required
616
+ # rate_increase_criteria: { # required
617
+ # number_of_notified_things: 1,
618
+ # number_of_succeeded_things: 1,
619
+ # },
620
+ # },
621
+ # maximum_per_minute: 1,
622
+ # },
623
+ # abort_config: {
624
+ # criteria_list: [ # required
625
+ # {
626
+ # failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
627
+ # action: "CANCEL", # required, accepts CANCEL
628
+ # threshold_percentage: 1.0, # required
629
+ # min_number_of_executed_things: 1, # required
630
+ # },
631
+ # ],
632
+ # },
633
+ # timeout_config: {
634
+ # in_progress_timeout_in_minutes: 1,
635
+ # },
636
+ # },
637
+ # deployment_policies: {
638
+ # failure_handling_policy: "ROLLBACK", # accepts ROLLBACK, DO_NOTHING
639
+ # component_update_policy: {
640
+ # timeout_in_seconds: 1,
641
+ # action: "NOTIFY_COMPONENTS", # accepts NOTIFY_COMPONENTS, SKIP_NOTIFY_COMPONENTS
642
+ # },
643
+ # configuration_validation_policy: {
644
+ # timeout_in_seconds: 1,
645
+ # },
646
+ # },
647
+ # tags: {
648
+ # "TagKey" => "TagValue",
649
+ # },
650
+ # })
651
+ #
652
+ # @example Response structure
653
+ #
654
+ # resp.deployment_id #=> String
655
+ # resp.iot_job_id #=> String
656
+ # resp.iot_job_arn #=> String
657
+ #
658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment AWS API Documentation
659
+ #
660
+ # @overload create_deployment(params = {})
661
+ # @param [Hash] params ({})
662
+ def create_deployment(params = {}, options = {})
663
+ req = build_request(:create_deployment, params)
664
+ req.send_request(options)
665
+ end
666
+
667
+ # Deletes a version of a component from AWS IoT Greengrass.
668
+ #
669
+ # <note markdown="1"> This operation deletes the component's recipe and artifacts. As a
670
+ # result, deployments that refer to this component version will fail. If
671
+ # you have deployments that use this component version, you can remove
672
+ # the component from the deployment or update the deployment to use a
673
+ # valid version.
674
+ #
675
+ # </note>
676
+ #
677
+ # @option params [required, String] :arn
678
+ # The [ARN][1] of the component version.
679
+ #
680
+ #
681
+ #
682
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
683
+ #
684
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
685
+ #
686
+ # @example Request syntax with placeholder values
687
+ #
688
+ # resp = client.delete_component({
689
+ # arn: "ComponentVersionARN", # required
690
+ # })
691
+ #
692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent AWS API Documentation
693
+ #
694
+ # @overload delete_component(params = {})
695
+ # @param [Hash] params ({})
696
+ def delete_component(params = {}, options = {})
697
+ req = build_request(:delete_component, params)
698
+ req.send_request(options)
699
+ end
700
+
701
+ # Deletes a AWS IoT Greengrass core device, which is an AWS IoT thing.
702
+ # This operation removes the core device from the list of core devices.
703
+ # This operation doesn't delete the AWS IoT thing. For more information
704
+ # about how to delete the AWS IoT thing, see [DeleteThing][1] in the
705
+ # *AWS IoT API Reference*.
706
+ #
707
+ #
708
+ #
709
+ # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html
710
+ #
711
+ # @option params [required, String] :core_device_thing_name
712
+ # The name of the core device. This is also the name of the AWS IoT
713
+ # thing.
714
+ #
715
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
716
+ #
717
+ # @example Request syntax with placeholder values
718
+ #
719
+ # resp = client.delete_core_device({
720
+ # core_device_thing_name: "CoreDeviceThingName", # required
721
+ # })
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice AWS API Documentation
724
+ #
725
+ # @overload delete_core_device(params = {})
726
+ # @param [Hash] params ({})
727
+ def delete_core_device(params = {}, options = {})
728
+ req = build_request(:delete_core_device, params)
729
+ req.send_request(options)
730
+ end
731
+
732
+ # Retrieves metadata for a version of a component.
733
+ #
734
+ # @option params [required, String] :arn
735
+ # The [ARN][1] of the component version.
736
+ #
737
+ #
738
+ #
739
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
740
+ #
741
+ # @return [Types::DescribeComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
742
+ #
743
+ # * {Types::DescribeComponentResponse#arn #arn} => String
744
+ # * {Types::DescribeComponentResponse#component_name #component_name} => String
745
+ # * {Types::DescribeComponentResponse#component_version #component_version} => String
746
+ # * {Types::DescribeComponentResponse#creation_timestamp #creation_timestamp} => Time
747
+ # * {Types::DescribeComponentResponse#publisher #publisher} => String
748
+ # * {Types::DescribeComponentResponse#description #description} => String
749
+ # * {Types::DescribeComponentResponse#status #status} => Types::CloudComponentStatus
750
+ # * {Types::DescribeComponentResponse#platforms #platforms} => Array&lt;Types::ComponentPlatform&gt;
751
+ # * {Types::DescribeComponentResponse#tags #tags} => Hash&lt;String,String&gt;
752
+ #
753
+ # @example Request syntax with placeholder values
754
+ #
755
+ # resp = client.describe_component({
756
+ # arn: "ComponentVersionARN", # required
757
+ # })
758
+ #
759
+ # @example Response structure
760
+ #
761
+ # resp.arn #=> String
762
+ # resp.component_name #=> String
763
+ # resp.component_version #=> String
764
+ # resp.creation_timestamp #=> Time
765
+ # resp.publisher #=> String
766
+ # resp.description #=> String
767
+ # resp.status.component_state #=> String, one of "REQUESTED", "INITIATED", "DEPLOYABLE", "FAILED", "DEPRECATED"
768
+ # resp.status.message #=> String
769
+ # resp.status.errors #=> Hash
770
+ # resp.status.errors["NonEmptyString"] #=> String
771
+ # resp.platforms #=> Array
772
+ # resp.platforms[0].name #=> String
773
+ # resp.platforms[0].attributes #=> Hash
774
+ # resp.platforms[0].attributes["NonEmptyString"] #=> String
775
+ # resp.tags #=> Hash
776
+ # resp.tags["TagKey"] #=> String
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent AWS API Documentation
779
+ #
780
+ # @overload describe_component(params = {})
781
+ # @param [Hash] params ({})
782
+ def describe_component(params = {}, options = {})
783
+ req = build_request(:describe_component, params)
784
+ req.send_request(options)
785
+ end
786
+
787
+ # Gets the recipe for a version of a component. Core devices can call
788
+ # this operation to identify the artifacts and requirements to install a
789
+ # component.
790
+ #
791
+ # @option params [String] :recipe_output_format
792
+ # The format of the recipe.
793
+ #
794
+ # @option params [required, String] :arn
795
+ # The [ARN][1] of the component version.
796
+ #
797
+ #
798
+ #
799
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
800
+ #
801
+ # @return [Types::GetComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
802
+ #
803
+ # * {Types::GetComponentResponse#recipe_output_format #recipe_output_format} => String
804
+ # * {Types::GetComponentResponse#recipe #recipe} => String
805
+ # * {Types::GetComponentResponse#tags #tags} => Hash&lt;String,String&gt;
806
+ #
807
+ # @example Request syntax with placeholder values
808
+ #
809
+ # resp = client.get_component({
810
+ # recipe_output_format: "JSON", # accepts JSON, YAML
811
+ # arn: "ComponentVersionARN", # required
812
+ # })
813
+ #
814
+ # @example Response structure
815
+ #
816
+ # resp.recipe_output_format #=> String, one of "JSON", "YAML"
817
+ # resp.recipe #=> String
818
+ # resp.tags #=> Hash
819
+ # resp.tags["TagKey"] #=> String
820
+ #
821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent AWS API Documentation
822
+ #
823
+ # @overload get_component(params = {})
824
+ # @param [Hash] params ({})
825
+ def get_component(params = {}, options = {})
826
+ req = build_request(:get_component, params)
827
+ req.send_request(options)
828
+ end
829
+
830
+ # Gets the pre-signed URL to a component artifact in an S3 bucket. Core
831
+ # devices can call this operation to identify the URL that they can use
832
+ # to download an artifact to install.
833
+ #
834
+ # @option params [required, String] :arn
835
+ # The [ARN][1] of the component version.
836
+ #
837
+ #
838
+ #
839
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
840
+ #
841
+ # @option params [required, String] :artifact_name
842
+ # The name of the artifact.
843
+ #
844
+ # @return [Types::GetComponentVersionArtifactResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
845
+ #
846
+ # * {Types::GetComponentVersionArtifactResponse#pre_signed_url #pre_signed_url} => String
847
+ #
848
+ # @example Request syntax with placeholder values
849
+ #
850
+ # resp = client.get_component_version_artifact({
851
+ # arn: "ComponentVersionARN", # required
852
+ # artifact_name: "NonEmptyString", # required
853
+ # })
854
+ #
855
+ # @example Response structure
856
+ #
857
+ # resp.pre_signed_url #=> String
858
+ #
859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact AWS API Documentation
860
+ #
861
+ # @overload get_component_version_artifact(params = {})
862
+ # @param [Hash] params ({})
863
+ def get_component_version_artifact(params = {}, options = {})
864
+ req = build_request(:get_component_version_artifact, params)
865
+ req.send_request(options)
866
+ end
867
+
868
+ # Retrieves metadata for a AWS IoT Greengrass core device.
869
+ #
870
+ # @option params [required, String] :core_device_thing_name
871
+ # The name of the core device. This is also the name of the AWS IoT
872
+ # thing.
873
+ #
874
+ # @return [Types::GetCoreDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
875
+ #
876
+ # * {Types::GetCoreDeviceResponse#core_device_thing_name #core_device_thing_name} => String
877
+ # * {Types::GetCoreDeviceResponse#core_version #core_version} => String
878
+ # * {Types::GetCoreDeviceResponse#platform #platform} => String
879
+ # * {Types::GetCoreDeviceResponse#architecture #architecture} => String
880
+ # * {Types::GetCoreDeviceResponse#status #status} => String
881
+ # * {Types::GetCoreDeviceResponse#last_status_update_timestamp #last_status_update_timestamp} => Time
882
+ # * {Types::GetCoreDeviceResponse#tags #tags} => Hash&lt;String,String&gt;
883
+ #
884
+ # @example Request syntax with placeholder values
885
+ #
886
+ # resp = client.get_core_device({
887
+ # core_device_thing_name: "CoreDeviceThingName", # required
888
+ # })
889
+ #
890
+ # @example Response structure
891
+ #
892
+ # resp.core_device_thing_name #=> String
893
+ # resp.core_version #=> String
894
+ # resp.platform #=> String
895
+ # resp.architecture #=> String
896
+ # resp.status #=> String, one of "HEALTHY", "UNHEALTHY"
897
+ # resp.last_status_update_timestamp #=> Time
898
+ # resp.tags #=> Hash
899
+ # resp.tags["TagKey"] #=> String
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice AWS API Documentation
902
+ #
903
+ # @overload get_core_device(params = {})
904
+ # @param [Hash] params ({})
905
+ def get_core_device(params = {}, options = {})
906
+ req = build_request(:get_core_device, params)
907
+ req.send_request(options)
908
+ end
909
+
910
+ # Gets a deployment. Deployments define the components that run on AWS
911
+ # IoT Greengrass core devices.
912
+ #
913
+ # @option params [required, String] :deployment_id
914
+ # The ID of the deployment.
915
+ #
916
+ # @return [Types::GetDeploymentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
+ #
918
+ # * {Types::GetDeploymentResponse#target_arn #target_arn} => String
919
+ # * {Types::GetDeploymentResponse#revision_id #revision_id} => String
920
+ # * {Types::GetDeploymentResponse#deployment_id #deployment_id} => String
921
+ # * {Types::GetDeploymentResponse#deployment_name #deployment_name} => String
922
+ # * {Types::GetDeploymentResponse#deployment_status #deployment_status} => String
923
+ # * {Types::GetDeploymentResponse#iot_job_id #iot_job_id} => String
924
+ # * {Types::GetDeploymentResponse#iot_job_arn #iot_job_arn} => String
925
+ # * {Types::GetDeploymentResponse#components #components} => Hash&lt;String,Types::ComponentDeploymentSpecification&gt;
926
+ # * {Types::GetDeploymentResponse#deployment_policies #deployment_policies} => Types::DeploymentPolicies
927
+ # * {Types::GetDeploymentResponse#iot_job_configuration #iot_job_configuration} => Types::DeploymentIoTJobConfiguration
928
+ # * {Types::GetDeploymentResponse#creation_timestamp #creation_timestamp} => Time
929
+ # * {Types::GetDeploymentResponse#is_latest_for_target #is_latest_for_target} => Boolean
930
+ # * {Types::GetDeploymentResponse#tags #tags} => Hash&lt;String,String&gt;
931
+ #
932
+ # @example Request syntax with placeholder values
933
+ #
934
+ # resp = client.get_deployment({
935
+ # deployment_id: "NonEmptyString", # required
936
+ # })
937
+ #
938
+ # @example Response structure
939
+ #
940
+ # resp.target_arn #=> String
941
+ # resp.revision_id #=> String
942
+ # resp.deployment_id #=> String
943
+ # resp.deployment_name #=> String
944
+ # resp.deployment_status #=> String, one of "ACTIVE", "COMPLETED", "CANCELED", "FAILED", "INACTIVE"
945
+ # resp.iot_job_id #=> String
946
+ # resp.iot_job_arn #=> String
947
+ # resp.components #=> Hash
948
+ # resp.components["NonEmptyString"].component_version #=> String
949
+ # resp.components["NonEmptyString"].configuration_update.merge #=> String
950
+ # resp.components["NonEmptyString"].configuration_update.reset #=> Array
951
+ # resp.components["NonEmptyString"].configuration_update.reset[0] #=> String
952
+ # resp.components["NonEmptyString"].run_with.posix_user #=> String
953
+ # resp.deployment_policies.failure_handling_policy #=> String, one of "ROLLBACK", "DO_NOTHING"
954
+ # resp.deployment_policies.component_update_policy.timeout_in_seconds #=> Integer
955
+ # resp.deployment_policies.component_update_policy.action #=> String, one of "NOTIFY_COMPONENTS", "SKIP_NOTIFY_COMPONENTS"
956
+ # resp.deployment_policies.configuration_validation_policy.timeout_in_seconds #=> Integer
957
+ # resp.iot_job_configuration.job_executions_rollout_config.exponential_rate.base_rate_per_minute #=> Integer
958
+ # resp.iot_job_configuration.job_executions_rollout_config.exponential_rate.increment_factor #=> Float
959
+ # resp.iot_job_configuration.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_notified_things #=> Integer
960
+ # resp.iot_job_configuration.job_executions_rollout_config.exponential_rate.rate_increase_criteria.number_of_succeeded_things #=> Integer
961
+ # resp.iot_job_configuration.job_executions_rollout_config.maximum_per_minute #=> Integer
962
+ # resp.iot_job_configuration.abort_config.criteria_list #=> Array
963
+ # resp.iot_job_configuration.abort_config.criteria_list[0].failure_type #=> String, one of "FAILED", "REJECTED", "TIMED_OUT", "ALL"
964
+ # resp.iot_job_configuration.abort_config.criteria_list[0].action #=> String, one of "CANCEL"
965
+ # resp.iot_job_configuration.abort_config.criteria_list[0].threshold_percentage #=> Float
966
+ # resp.iot_job_configuration.abort_config.criteria_list[0].min_number_of_executed_things #=> Integer
967
+ # resp.iot_job_configuration.timeout_config.in_progress_timeout_in_minutes #=> Integer
968
+ # resp.creation_timestamp #=> Time
969
+ # resp.is_latest_for_target #=> Boolean
970
+ # resp.tags #=> Hash
971
+ # resp.tags["TagKey"] #=> String
972
+ #
973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment AWS API Documentation
974
+ #
975
+ # @overload get_deployment(params = {})
976
+ # @param [Hash] params ({})
977
+ def get_deployment(params = {}, options = {})
978
+ req = build_request(:get_deployment, params)
979
+ req.send_request(options)
980
+ end
981
+
982
+ # Retrieves a paginated list of all versions for a component.
983
+ #
984
+ # @option params [required, String] :arn
985
+ # The [ARN][1] of the component version.
986
+ #
987
+ #
988
+ #
989
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
990
+ #
991
+ # @option params [Integer] :max_results
992
+ # The maximum number of results to be returned per paginated request.
993
+ #
994
+ # @option params [String] :next_token
995
+ # The token to be used for the next set of paginated results.
996
+ #
997
+ # @return [Types::ListComponentVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
998
+ #
999
+ # * {Types::ListComponentVersionsResponse#component_versions #component_versions} => Array&lt;Types::ComponentVersionListItem&gt;
1000
+ # * {Types::ListComponentVersionsResponse#next_token #next_token} => String
1001
+ #
1002
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1003
+ #
1004
+ # @example Request syntax with placeholder values
1005
+ #
1006
+ # resp = client.list_component_versions({
1007
+ # arn: "ComponentARN", # required
1008
+ # max_results: 1,
1009
+ # next_token: "NextTokenString",
1010
+ # })
1011
+ #
1012
+ # @example Response structure
1013
+ #
1014
+ # resp.component_versions #=> Array
1015
+ # resp.component_versions[0].component_name #=> String
1016
+ # resp.component_versions[0].component_version #=> String
1017
+ # resp.component_versions[0].arn #=> String
1018
+ # resp.next_token #=> String
1019
+ #
1020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions AWS API Documentation
1021
+ #
1022
+ # @overload list_component_versions(params = {})
1023
+ # @param [Hash] params ({})
1024
+ def list_component_versions(params = {}, options = {})
1025
+ req = build_request(:list_component_versions, params)
1026
+ req.send_request(options)
1027
+ end
1028
+
1029
+ # Retrieves a paginated list of component summaries. This list includes
1030
+ # components that you have permission to view.
1031
+ #
1032
+ # @option params [String] :scope
1033
+ # The scope of the components to list.
1034
+ #
1035
+ # Default: `PRIVATE`
1036
+ #
1037
+ # @option params [Integer] :max_results
1038
+ # The maximum number of results to be returned per paginated request.
1039
+ #
1040
+ # @option params [String] :next_token
1041
+ # The token to be used for the next set of paginated results.
1042
+ #
1043
+ # @return [Types::ListComponentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1044
+ #
1045
+ # * {Types::ListComponentsResponse#components #components} => Array&lt;Types::Component&gt;
1046
+ # * {Types::ListComponentsResponse#next_token #next_token} => String
1047
+ #
1048
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1049
+ #
1050
+ # @example Request syntax with placeholder values
1051
+ #
1052
+ # resp = client.list_components({
1053
+ # scope: "PRIVATE", # accepts PRIVATE, PUBLIC
1054
+ # max_results: 1,
1055
+ # next_token: "NextTokenString",
1056
+ # })
1057
+ #
1058
+ # @example Response structure
1059
+ #
1060
+ # resp.components #=> Array
1061
+ # resp.components[0].arn #=> String
1062
+ # resp.components[0].component_name #=> String
1063
+ # resp.components[0].latest_version.arn #=> String
1064
+ # resp.components[0].latest_version.component_version #=> String
1065
+ # resp.components[0].latest_version.creation_timestamp #=> Time
1066
+ # resp.components[0].latest_version.description #=> String
1067
+ # resp.components[0].latest_version.publisher #=> String
1068
+ # resp.components[0].latest_version.platforms #=> Array
1069
+ # resp.components[0].latest_version.platforms[0].name #=> String
1070
+ # resp.components[0].latest_version.platforms[0].attributes #=> Hash
1071
+ # resp.components[0].latest_version.platforms[0].attributes["NonEmptyString"] #=> String
1072
+ # resp.next_token #=> String
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents AWS API Documentation
1075
+ #
1076
+ # @overload list_components(params = {})
1077
+ # @param [Hash] params ({})
1078
+ def list_components(params = {}, options = {})
1079
+ req = build_request(:list_components, params)
1080
+ req.send_request(options)
1081
+ end
1082
+
1083
+ # Retrieves a paginated list of AWS IoT Greengrass core devices.
1084
+ #
1085
+ # @option params [String] :thing_group_arn
1086
+ # The [ARN][1] of the AWS IoT thing group by which to filter. If you
1087
+ # specify this parameter, the list includes only core devices that are
1088
+ # members of this thing group.
1089
+ #
1090
+ #
1091
+ #
1092
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1093
+ #
1094
+ # @option params [String] :status
1095
+ # The core device status by which to filter. If you specify this
1096
+ # parameter, the list includes only core devices that have this status.
1097
+ # Choose one of the following options:
1098
+ #
1099
+ # * `HEALTHY` – The AWS IoT Greengrass Core software and all components
1100
+ # run on the core device without issue.
1101
+ #
1102
+ # * `UNHEALTHY` – The AWS IoT Greengrass Core software or a component is
1103
+ # in a failed state on the core device.
1104
+ #
1105
+ # @option params [Integer] :max_results
1106
+ # The maximum number of results to be returned per paginated request.
1107
+ #
1108
+ # @option params [String] :next_token
1109
+ # The token to be used for the next set of paginated results.
1110
+ #
1111
+ # @return [Types::ListCoreDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1112
+ #
1113
+ # * {Types::ListCoreDevicesResponse#core_devices #core_devices} => Array&lt;Types::CoreDevice&gt;
1114
+ # * {Types::ListCoreDevicesResponse#next_token #next_token} => String
1115
+ #
1116
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1117
+ #
1118
+ # @example Request syntax with placeholder values
1119
+ #
1120
+ # resp = client.list_core_devices({
1121
+ # thing_group_arn: "ThingGroupARN",
1122
+ # status: "HEALTHY", # accepts HEALTHY, UNHEALTHY
1123
+ # max_results: 1,
1124
+ # next_token: "NextTokenString",
1125
+ # })
1126
+ #
1127
+ # @example Response structure
1128
+ #
1129
+ # resp.core_devices #=> Array
1130
+ # resp.core_devices[0].core_device_thing_name #=> String
1131
+ # resp.core_devices[0].status #=> String, one of "HEALTHY", "UNHEALTHY"
1132
+ # resp.core_devices[0].last_status_update_timestamp #=> Time
1133
+ # resp.next_token #=> String
1134
+ #
1135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices AWS API Documentation
1136
+ #
1137
+ # @overload list_core_devices(params = {})
1138
+ # @param [Hash] params ({})
1139
+ def list_core_devices(params = {}, options = {})
1140
+ req = build_request(:list_core_devices, params)
1141
+ req.send_request(options)
1142
+ end
1143
+
1144
+ # Retrieves a paginated list of deployments.
1145
+ #
1146
+ # @option params [String] :target_arn
1147
+ # The [ARN][1] of the target AWS IoT thing or thing group.
1148
+ #
1149
+ #
1150
+ #
1151
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1152
+ #
1153
+ # @option params [String] :history_filter
1154
+ # The filter for the list of deployments. Choose one of the following
1155
+ # options:
1156
+ #
1157
+ # * `ALL` – The list includes all deployments.
1158
+ #
1159
+ # * `LATEST_ONLY` – The list includes only the latest revision of each
1160
+ # deployment.
1161
+ #
1162
+ # Default: `LATEST_ONLY`
1163
+ #
1164
+ # @option params [Integer] :max_results
1165
+ # The maximum number of results to be returned per paginated request.
1166
+ #
1167
+ # @option params [String] :next_token
1168
+ # The token to be used for the next set of paginated results.
1169
+ #
1170
+ # @return [Types::ListDeploymentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1171
+ #
1172
+ # * {Types::ListDeploymentsResponse#deployments #deployments} => Array&lt;Types::Deployment&gt;
1173
+ # * {Types::ListDeploymentsResponse#next_token #next_token} => String
1174
+ #
1175
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1176
+ #
1177
+ # @example Request syntax with placeholder values
1178
+ #
1179
+ # resp = client.list_deployments({
1180
+ # target_arn: "TargetARN",
1181
+ # history_filter: "ALL", # accepts ALL, LATEST_ONLY
1182
+ # max_results: 1,
1183
+ # next_token: "NextTokenString",
1184
+ # })
1185
+ #
1186
+ # @example Response structure
1187
+ #
1188
+ # resp.deployments #=> Array
1189
+ # resp.deployments[0].target_arn #=> String
1190
+ # resp.deployments[0].revision_id #=> String
1191
+ # resp.deployments[0].deployment_id #=> String
1192
+ # resp.deployments[0].deployment_name #=> String
1193
+ # resp.deployments[0].creation_timestamp #=> Time
1194
+ # resp.deployments[0].deployment_status #=> String, one of "ACTIVE", "COMPLETED", "CANCELED", "FAILED", "INACTIVE"
1195
+ # resp.deployments[0].is_latest_for_target #=> Boolean
1196
+ # resp.next_token #=> String
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments AWS API Documentation
1199
+ #
1200
+ # @overload list_deployments(params = {})
1201
+ # @param [Hash] params ({})
1202
+ def list_deployments(params = {}, options = {})
1203
+ req = build_request(:list_deployments, params)
1204
+ req.send_request(options)
1205
+ end
1206
+
1207
+ # Retrieves a paginated list of deployment jobs that AWS IoT Greengrass
1208
+ # sends to AWS IoT Greengrass core devices.
1209
+ #
1210
+ # @option params [required, String] :core_device_thing_name
1211
+ # The name of the core device. This is also the name of the AWS IoT
1212
+ # thing.
1213
+ #
1214
+ # @option params [Integer] :max_results
1215
+ # The maximum number of results to be returned per paginated request.
1216
+ #
1217
+ # @option params [String] :next_token
1218
+ # The token to be used for the next set of paginated results.
1219
+ #
1220
+ # @return [Types::ListEffectiveDeploymentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1221
+ #
1222
+ # * {Types::ListEffectiveDeploymentsResponse#effective_deployments #effective_deployments} => Array&lt;Types::EffectiveDeployment&gt;
1223
+ # * {Types::ListEffectiveDeploymentsResponse#next_token #next_token} => String
1224
+ #
1225
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1226
+ #
1227
+ # @example Request syntax with placeholder values
1228
+ #
1229
+ # resp = client.list_effective_deployments({
1230
+ # core_device_thing_name: "CoreDeviceThingName", # required
1231
+ # max_results: 1,
1232
+ # next_token: "NextTokenString",
1233
+ # })
1234
+ #
1235
+ # @example Response structure
1236
+ #
1237
+ # resp.effective_deployments #=> Array
1238
+ # resp.effective_deployments[0].deployment_id #=> String
1239
+ # resp.effective_deployments[0].deployment_name #=> String
1240
+ # resp.effective_deployments[0].iot_job_id #=> String
1241
+ # resp.effective_deployments[0].iot_job_arn #=> String
1242
+ # resp.effective_deployments[0].description #=> String
1243
+ # resp.effective_deployments[0].target_arn #=> String
1244
+ # resp.effective_deployments[0].core_device_execution_status #=> String, one of "IN_PROGRESS", "QUEUED", "FAILED", "COMPLETED", "TIMED_OUT", "CANCELED", "REJECTED"
1245
+ # resp.effective_deployments[0].reason #=> String
1246
+ # resp.effective_deployments[0].creation_timestamp #=> Time
1247
+ # resp.effective_deployments[0].modified_timestamp #=> Time
1248
+ # resp.next_token #=> String
1249
+ #
1250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments AWS API Documentation
1251
+ #
1252
+ # @overload list_effective_deployments(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def list_effective_deployments(params = {}, options = {})
1255
+ req = build_request(:list_effective_deployments, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Retrieves a paginated list of the components that a AWS IoT Greengrass
1260
+ # core device runs.
1261
+ #
1262
+ # @option params [required, String] :core_device_thing_name
1263
+ # The name of the core device. This is also the name of the AWS IoT
1264
+ # thing.
1265
+ #
1266
+ # @option params [Integer] :max_results
1267
+ # The maximum number of results to be returned per paginated request.
1268
+ #
1269
+ # @option params [String] :next_token
1270
+ # The token to be used for the next set of paginated results.
1271
+ #
1272
+ # @return [Types::ListInstalledComponentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1273
+ #
1274
+ # * {Types::ListInstalledComponentsResponse#installed_components #installed_components} => Array&lt;Types::InstalledComponent&gt;
1275
+ # * {Types::ListInstalledComponentsResponse#next_token #next_token} => String
1276
+ #
1277
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1278
+ #
1279
+ # @example Request syntax with placeholder values
1280
+ #
1281
+ # resp = client.list_installed_components({
1282
+ # core_device_thing_name: "CoreDeviceThingName", # required
1283
+ # max_results: 1,
1284
+ # next_token: "NextTokenString",
1285
+ # })
1286
+ #
1287
+ # @example Response structure
1288
+ #
1289
+ # resp.installed_components #=> Array
1290
+ # resp.installed_components[0].component_name #=> String
1291
+ # resp.installed_components[0].component_version #=> String
1292
+ # resp.installed_components[0].lifecycle_state #=> String, one of "NEW", "INSTALLED", "STARTING", "RUNNING", "STOPPING", "ERRORED", "BROKEN", "FINISHED"
1293
+ # resp.installed_components[0].lifecycle_state_details #=> String
1294
+ # resp.installed_components[0].is_root #=> Boolean
1295
+ # resp.next_token #=> String
1296
+ #
1297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents AWS API Documentation
1298
+ #
1299
+ # @overload list_installed_components(params = {})
1300
+ # @param [Hash] params ({})
1301
+ def list_installed_components(params = {}, options = {})
1302
+ req = build_request(:list_installed_components, params)
1303
+ req.send_request(options)
1304
+ end
1305
+
1306
+ # Retrieves the list of tags for an AWS IoT Greengrass resource.
1307
+ #
1308
+ # @option params [required, String] :resource_arn
1309
+ # The [ARN][1] of the resource.
1310
+ #
1311
+ #
1312
+ #
1313
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1314
+ #
1315
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1316
+ #
1317
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1318
+ #
1319
+ # @example Request syntax with placeholder values
1320
+ #
1321
+ # resp = client.list_tags_for_resource({
1322
+ # resource_arn: "GenericV2ARN", # required
1323
+ # })
1324
+ #
1325
+ # @example Response structure
1326
+ #
1327
+ # resp.tags #=> Hash
1328
+ # resp.tags["TagKey"] #=> String
1329
+ #
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource AWS API Documentation
1331
+ #
1332
+ # @overload list_tags_for_resource(params = {})
1333
+ # @param [Hash] params ({})
1334
+ def list_tags_for_resource(params = {}, options = {})
1335
+ req = build_request(:list_tags_for_resource, params)
1336
+ req.send_request(options)
1337
+ end
1338
+
1339
+ # Retrieves a list of components that meet the component, version, and
1340
+ # platform requirements of a deployment. AWS IoT Greengrass core devices
1341
+ # call this operation when they receive a deployment to identify the
1342
+ # components to install.
1343
+ #
1344
+ # This operation identifies components that meet all dependency
1345
+ # requirements for a deployment. If the requirements conflict, then this
1346
+ # operation returns an error and the deployment fails. For example, this
1347
+ # occurs if component `A` requires version `>2.0.0` and component `B`
1348
+ # requires version `<2.0.0` of a component dependency.
1349
+ #
1350
+ # When you specify the component candidates to resolve, AWS IoT
1351
+ # Greengrass compares each component's digest from the core device with
1352
+ # the component's digest in the AWS Cloud. If the digests don't match,
1353
+ # then AWS IoT Greengrass specifies to use the version from the AWS
1354
+ # Cloud.
1355
+ #
1356
+ # To use this operation, you must use the data plane API endpoint and
1357
+ # authenticate with an AWS IoT device certificate. For more information,
1358
+ # see [AWS IoT Greengrass endpoints and quotas][1].
1359
+ #
1360
+ #
1361
+ #
1362
+ # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/general/latest/gr/greengrass.html
1363
+ #
1364
+ # @option params [required, Types::ComponentPlatform] :platform
1365
+ # The platform to use to resolve compatible components.
1366
+ #
1367
+ # @option params [required, Array<Types::ComponentCandidate>] :component_candidates
1368
+ # The list of components to resolve.
1369
+ #
1370
+ # @return [Types::ResolveComponentCandidatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1371
+ #
1372
+ # * {Types::ResolveComponentCandidatesResponse#resolved_component_versions #resolved_component_versions} => Array&lt;Types::ResolvedComponentVersion&gt;
1373
+ #
1374
+ # @example Request syntax with placeholder values
1375
+ #
1376
+ # resp = client.resolve_component_candidates({
1377
+ # platform: { # required
1378
+ # name: "NonEmptyString",
1379
+ # attributes: {
1380
+ # "NonEmptyString" => "NonEmptyString",
1381
+ # },
1382
+ # },
1383
+ # component_candidates: [ # required
1384
+ # {
1385
+ # component_name: "ComponentNameString",
1386
+ # component_version: "ComponentVersionString",
1387
+ # version_requirements: {
1388
+ # "NonEmptyString" => "NonEmptyString",
1389
+ # },
1390
+ # },
1391
+ # ],
1392
+ # })
1393
+ #
1394
+ # @example Response structure
1395
+ #
1396
+ # resp.resolved_component_versions #=> Array
1397
+ # resp.resolved_component_versions[0].arn #=> String
1398
+ # resp.resolved_component_versions[0].component_name #=> String
1399
+ # resp.resolved_component_versions[0].component_version #=> String
1400
+ # resp.resolved_component_versions[0].recipe #=> String
1401
+ #
1402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates AWS API Documentation
1403
+ #
1404
+ # @overload resolve_component_candidates(params = {})
1405
+ # @param [Hash] params ({})
1406
+ def resolve_component_candidates(params = {}, options = {})
1407
+ req = build_request(:resolve_component_candidates, params)
1408
+ req.send_request(options)
1409
+ end
1410
+
1411
+ # Adds tags to an AWS IoT Greengrass resource. If a tag already exists
1412
+ # for the resource, this operation updates the tag's value.
1413
+ #
1414
+ # @option params [required, String] :resource_arn
1415
+ # The [ARN][1] of the resource to tag.
1416
+ #
1417
+ #
1418
+ #
1419
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1420
+ #
1421
+ # @option params [required, Hash<String,String>] :tags
1422
+ # A list of key-value pairs that contain metadata for the resource. For
1423
+ # more information, see [Tag your resources][1] in the *AWS IoT
1424
+ # Greengrass V2 Developer Guide*.
1425
+ #
1426
+ #
1427
+ #
1428
+ # [1]: https://docs.aws.amazon.com/greengrass/v2/tag-resources.html
1429
+ #
1430
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1431
+ #
1432
+ # @example Request syntax with placeholder values
1433
+ #
1434
+ # resp = client.tag_resource({
1435
+ # resource_arn: "GenericV2ARN", # required
1436
+ # tags: { # required
1437
+ # "TagKey" => "TagValue",
1438
+ # },
1439
+ # })
1440
+ #
1441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource AWS API Documentation
1442
+ #
1443
+ # @overload tag_resource(params = {})
1444
+ # @param [Hash] params ({})
1445
+ def tag_resource(params = {}, options = {})
1446
+ req = build_request(:tag_resource, params)
1447
+ req.send_request(options)
1448
+ end
1449
+
1450
+ # Removes a tag from an AWS IoT Greengrass resource.
1451
+ #
1452
+ # @option params [required, String] :resource_arn
1453
+ # The [ARN][1] of the resource to untag.
1454
+ #
1455
+ #
1456
+ #
1457
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1458
+ #
1459
+ # @option params [required, Array<String>] :tag_keys
1460
+ # A list of keys for tags to remove from the resource.
1461
+ #
1462
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1463
+ #
1464
+ # @example Request syntax with placeholder values
1465
+ #
1466
+ # resp = client.untag_resource({
1467
+ # resource_arn: "GenericV2ARN", # required
1468
+ # tag_keys: ["TagKey"], # required
1469
+ # })
1470
+ #
1471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource AWS API Documentation
1472
+ #
1473
+ # @overload untag_resource(params = {})
1474
+ # @param [Hash] params ({})
1475
+ def untag_resource(params = {}, options = {})
1476
+ req = build_request(:untag_resource, params)
1477
+ req.send_request(options)
1478
+ end
1479
+
1480
+ # @!endgroup
1481
+
1482
+ # @param params ({})
1483
+ # @api private
1484
+ def build_request(operation_name, params = {})
1485
+ handlers = @handlers.for(operation_name)
1486
+ context = Seahorse::Client::RequestContext.new(
1487
+ operation_name: operation_name,
1488
+ operation: config.api.operation(operation_name),
1489
+ client: self,
1490
+ params: params,
1491
+ config: config)
1492
+ context[:gem_name] = 'aws-sdk-greengrassv2'
1493
+ context[:gem_version] = '1.0.0'
1494
+ Seahorse::Client::Request.new(handlers, context)
1495
+ end
1496
+
1497
+ # @api private
1498
+ # @deprecated
1499
+ def waiter_names
1500
+ []
1501
+ end
1502
+
1503
+ class << self
1504
+
1505
+ # @api private
1506
+ attr_reader :identifier
1507
+
1508
+ # @api private
1509
+ def errors_module
1510
+ Errors
1511
+ end
1512
+
1513
+ end
1514
+ end
1515
+ end