aws-sdk-iotthingsgraph 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bf202a4569a795e93d8ef62a1681108f09fdf4a8
4
+ data.tar.gz: 3eed42f8d79e3ab231f3b091e47b0beee995dbd3
5
+ SHA512:
6
+ metadata.gz: 3f6a8d4ee0deeb6a39b208d40f2e5c1b020057e6b9bc74e668bfac51f185f65d934be5b65d5a7146800018aabe048f9c23961b9cf966ba4e7bd6e0f506cd54b6
7
+ data.tar.gz: 91f2c321b34ea592630cc02229dcad445623cd144e1a360dd338f090d86a1c099710e69b2175a740ee603521f750be3736b90a0a8b66d964710f3ccc0f74cab4
@@ -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-iotthingsgraph/types'
12
+ require_relative 'aws-sdk-iotthingsgraph/client_api'
13
+ require_relative 'aws-sdk-iotthingsgraph/client'
14
+ require_relative 'aws-sdk-iotthingsgraph/errors'
15
+ require_relative 'aws-sdk-iotthingsgraph/resource'
16
+ require_relative 'aws-sdk-iotthingsgraph/customizations'
17
+
18
+ # This module provides support for AWS IoT Things Graph. This module is available in the
19
+ # `aws-sdk-iotthingsgraph` 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 Things Graph all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::IoTThingsGraph::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::IoTThingsGraph
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1825 @@
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/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iotthingsgraph)
31
+
32
+ module Aws::IoTThingsGraph
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :iotthingsgraph
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [Integer] :client_side_monitoring_port (31000)
120
+ # Required for publishing client metrics. The port that the client side monitoring
121
+ # agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
124
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
125
+ # will use the Client Side Monitoring Agent Publisher.
126
+ #
127
+ # @option options [Boolean] :convert_params (true)
128
+ # When `true`, an attempt is made to coerce request parameters into
129
+ # the required types.
130
+ #
131
+ # @option options [Boolean] :disable_host_prefix_injection (false)
132
+ # Set to true to disable SDK automatically adding host prefix
133
+ # to default service endpoint when available.
134
+ #
135
+ # @option options [String] :endpoint
136
+ # The client endpoint is normally constructed from the `:region`
137
+ # option. You should only configure an `:endpoint` when connecting
138
+ # to test endpoints. This should be avalid HTTP(S) URI.
139
+ #
140
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
141
+ # Used for the maximum size limit of the LRU cache storing endpoints data
142
+ # for endpoint discovery enabled operations. Defaults to 1000.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_threads (10)
145
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
146
+ #
147
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
148
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
149
+ # Use this option to config the time interval in seconds for making
150
+ # requests fetching endpoints information. Defaults to 60 sec.
151
+ #
152
+ # @option options [Boolean] :endpoint_discovery (false)
153
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
154
+ #
155
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
156
+ # The log formatter.
157
+ #
158
+ # @option options [Symbol] :log_level (:info)
159
+ # The log level to send messages to the `:logger` at.
160
+ #
161
+ # @option options [Logger] :logger
162
+ # The Logger instance to send log messages to. If this option
163
+ # is not set, logging will be disabled.
164
+ #
165
+ # @option options [String] :profile ("default")
166
+ # Used when loading credentials from the shared credentials file
167
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
168
+ #
169
+ # @option options [Float] :retry_base_delay (0.3)
170
+ # The base delay in seconds used by the default backoff function.
171
+ #
172
+ # @option options [Symbol] :retry_jitter (:none)
173
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
174
+ #
175
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
176
+ #
177
+ # @option options [Integer] :retry_limit (3)
178
+ # The maximum number of times to retry failed requests. Only
179
+ # ~ 500 level server errors and certain ~ 400 level client errors
180
+ # are retried. Generally, these are throttling errors, data
181
+ # checksum errors, networking errors, timeout errors and auth
182
+ # errors from expired credentials.
183
+ #
184
+ # @option options [Integer] :retry_max_delay (0)
185
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
186
+ #
187
+ # @option options [String] :secret_access_key
188
+ #
189
+ # @option options [String] :session_token
190
+ #
191
+ # @option options [Boolean] :simple_json (false)
192
+ # Disables request parameter conversion, validation, and formatting.
193
+ # Also disable response data type conversions. This option is useful
194
+ # when you want to ensure the highest level of performance by
195
+ # avoiding overhead of walking request parameters and response data
196
+ # structures.
197
+ #
198
+ # When `:simple_json` is enabled, the request parameters hash must
199
+ # be formatted exactly as the DynamoDB API expects.
200
+ #
201
+ # @option options [Boolean] :stub_responses (false)
202
+ # Causes the client to return stubbed responses. By default
203
+ # fake responses are generated and returned. You can specify
204
+ # the response data to return or errors to raise by calling
205
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
206
+ #
207
+ # ** Please note ** When response stubbing is enabled, no HTTP
208
+ # requests are made, and retries are disabled.
209
+ #
210
+ # @option options [Boolean] :validate_params (true)
211
+ # When `true`, request parameters are validated before
212
+ # sending the request.
213
+ #
214
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
215
+ # requests through. Formatted like 'http://proxy.com:123'.
216
+ #
217
+ # @option options [Float] :http_open_timeout (15) The number of
218
+ # seconds to wait when opening a HTTP session before rasing a
219
+ # `Timeout::Error`.
220
+ #
221
+ # @option options [Integer] :http_read_timeout (60) The default
222
+ # number of seconds to wait for response data. This value can
223
+ # safely be set
224
+ # per-request on the session yeidled by {#session_for}.
225
+ #
226
+ # @option options [Float] :http_idle_timeout (5) The number of
227
+ # seconds a connection is allowed to sit idble before it is
228
+ # considered stale. Stale connections are closed and removed
229
+ # from the pool before making a request.
230
+ #
231
+ # @option options [Float] :http_continue_timeout (1) The number of
232
+ # seconds to wait for a 100-continue response before sending the
233
+ # request body. This option has no effect unless the request has
234
+ # "Expect" header set to "100-continue". Defaults to `nil` which
235
+ # disables this behaviour. This value can safely be set per
236
+ # request on the session yeidled by {#session_for}.
237
+ #
238
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
239
+ # HTTP debug output will be sent to the `:logger`.
240
+ #
241
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
242
+ # SSL peer certificates are verified when establishing a
243
+ # connection.
244
+ #
245
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
246
+ # certificate authority bundle file that should be used when
247
+ # verifying peer certificates. If you do not pass
248
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
249
+ # will be used if available.
250
+ #
251
+ # @option options [String] :ssl_ca_directory Full path of the
252
+ # directory that contains the unbundled SSL certificate
253
+ # authority files for verifying peer certificates. If you do
254
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
255
+ # system default will be used if available.
256
+ #
257
+ def initialize(*args)
258
+ super
259
+ end
260
+
261
+ # @!group API Operations
262
+
263
+ # Associates a device with a concrete thing that is in the user's
264
+ # registry.
265
+ #
266
+ # A thing can be associated with only one device at a time. If you
267
+ # associate a thing with a new device id, its previous association will
268
+ # be removed.
269
+ #
270
+ # @option params [required, String] :thing_name
271
+ # The name of the thing to which the entity is to be associated.
272
+ #
273
+ # @option params [required, String] :entity_id
274
+ # The ID of the device to be associated with the thing.
275
+ #
276
+ # The ID should be in the following format.
277
+ #
278
+ # `urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME`
279
+ #
280
+ # @option params [Integer] :namespace_version
281
+ # The version of the user's namespace. Defaults to the latest version
282
+ # of the user's namespace.
283
+ #
284
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
285
+ #
286
+ # @example Request syntax with placeholder values
287
+ #
288
+ # resp = client.associate_entity_to_thing({
289
+ # thing_name: "ThingName", # required
290
+ # entity_id: "Urn", # required
291
+ # namespace_version: 1,
292
+ # })
293
+ #
294
+ # @overload associate_entity_to_thing(params = {})
295
+ # @param [Hash] params ({})
296
+ def associate_entity_to_thing(params = {}, options = {})
297
+ req = build_request(:associate_entity_to_thing, params)
298
+ req.send_request(options)
299
+ end
300
+
301
+ # Creates a workflow template. Workflows can be created only in the
302
+ # user's namespace. (The public namespace contains only entities.) The
303
+ # workflow can contain only entities in the specified namespace. The
304
+ # workflow is validated against the entities in the latest version of
305
+ # the user's namespace unless another namespace version is specified in
306
+ # the request.
307
+ #
308
+ # @option params [required, Types::DefinitionDocument] :definition
309
+ # The workflow `DefinitionDocument`.
310
+ #
311
+ # @option params [Integer] :compatible_namespace_version
312
+ # The namespace version in which the workflow is to be created.
313
+ #
314
+ # If no value is specified, the latest version is used by default.
315
+ #
316
+ # @return [Types::CreateFlowTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
317
+ #
318
+ # * {Types::CreateFlowTemplateResponse#summary #summary} => Types::FlowTemplateSummary
319
+ #
320
+ # @example Request syntax with placeholder values
321
+ #
322
+ # resp = client.create_flow_template({
323
+ # definition: { # required
324
+ # language: "GRAPHQL", # required, accepts GRAPHQL
325
+ # text: "DefinitionText", # required
326
+ # },
327
+ # compatible_namespace_version: 1,
328
+ # })
329
+ #
330
+ # @example Response structure
331
+ #
332
+ # resp.summary.id #=> String
333
+ # resp.summary.arn #=> String
334
+ # resp.summary.revision_number #=> Integer
335
+ # resp.summary.created_at #=> Time
336
+ #
337
+ # @overload create_flow_template(params = {})
338
+ # @param [Hash] params ({})
339
+ def create_flow_template(params = {}, options = {})
340
+ req = build_request(:create_flow_template, params)
341
+ req.send_request(options)
342
+ end
343
+
344
+ # Creates a system instance.
345
+ #
346
+ # This action validates the system instance, prepares the
347
+ # deployment-related resources. For Greengrass deployments, it updates
348
+ # the Greengrass group that is specified by the `greengrassGroupName`
349
+ # parameter. It also adds a file to the S3 bucket specified by the
350
+ # `s3BucketName` parameter. You need to call `DeploySystemInstance`
351
+ # after running this action.
352
+ #
353
+ # For Greengrass deployments, since this action modifies and adds
354
+ # resources to a Greengrass group and an S3 bucket on the caller's
355
+ # behalf, the calling identity must have write permissions to both the
356
+ # specified Greengrass group and S3 bucket. Otherwise, the call will
357
+ # fail with an authorization error.
358
+ #
359
+ # For cloud deployments, this action requires a `flowActionsRoleArn`
360
+ # value. This is an IAM role that has permissions to access AWS
361
+ # services, such as AWS Lambda and AWS IoT, that the flow uses when it
362
+ # executes.
363
+ #
364
+ # If the definition document doesn't specify a version of the user's
365
+ # namespace, the latest version will be used by default.
366
+ #
367
+ # @option params [Array<Types::Tag>] :tags
368
+ # Metadata, consisting of key-value pairs, that can be used to
369
+ # categorize your system instances.
370
+ #
371
+ # @option params [required, Types::DefinitionDocument] :definition
372
+ # A document that defines an entity.
373
+ #
374
+ # @option params [required, String] :target
375
+ # The target type of the deployment. Valid values are `GREENGRASS` and
376
+ # `CLOUD`.
377
+ #
378
+ # @option params [String] :greengrass_group_name
379
+ # The name of the Greengrass group where the system instance will be
380
+ # deployed. This value is required if the value of the `target`
381
+ # parameter is `GREENGRASS`.
382
+ #
383
+ # @option params [String] :s3_bucket_name
384
+ # The name of the Amazon Simple Storage Service bucket that will be used
385
+ # to store and deploy the system instance's resource file. This value
386
+ # is required if the value of the `target` parameter is `GREENGRASS`.
387
+ #
388
+ # @option params [Types::MetricsConfiguration] :metrics_configuration
389
+ # An object that specifies whether cloud metrics are collected in a
390
+ # deployment and, if so, what role is used to collect metrics.
391
+ #
392
+ # @option params [String] :flow_actions_role_arn
393
+ # The ARN of the IAM role that AWS IoT Things Graph will assume when it
394
+ # executes the flow. This role must have read and write access to AWS
395
+ # Lambda and AWS IoT and any other AWS services that the flow uses when
396
+ # it executes. This value is required if the value of the `target`
397
+ # parameter is `CLOUD`.
398
+ #
399
+ # @return [Types::CreateSystemInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
400
+ #
401
+ # * {Types::CreateSystemInstanceResponse#summary #summary} => Types::SystemInstanceSummary
402
+ #
403
+ # @example Request syntax with placeholder values
404
+ #
405
+ # resp = client.create_system_instance({
406
+ # tags: [
407
+ # {
408
+ # key: "TagKey", # required
409
+ # value: "TagValue", # required
410
+ # },
411
+ # ],
412
+ # definition: { # required
413
+ # language: "GRAPHQL", # required, accepts GRAPHQL
414
+ # text: "DefinitionText", # required
415
+ # },
416
+ # target: "GREENGRASS", # required, accepts GREENGRASS, CLOUD
417
+ # greengrass_group_name: "GroupName",
418
+ # s3_bucket_name: "S3BucketName",
419
+ # metrics_configuration: {
420
+ # cloud_metric_enabled: false,
421
+ # metric_rule_role_arn: "RoleArn",
422
+ # },
423
+ # flow_actions_role_arn: "RoleArn",
424
+ # })
425
+ #
426
+ # @example Response structure
427
+ #
428
+ # resp.summary.id #=> String
429
+ # resp.summary.arn #=> String
430
+ # resp.summary.status #=> String, one of "NOT_DEPLOYED", "BOOTSTRAP", "DEPLOY_IN_PROGRESS", "DEPLOYED_IN_TARGET", "UNDEPLOY_IN_PROGRESS", "FAILED", "PENDING_DELETE", "DELETED_IN_TARGET"
431
+ # resp.summary.target #=> String, one of "GREENGRASS", "CLOUD"
432
+ # resp.summary.greengrass_group_name #=> String
433
+ # resp.summary.created_at #=> Time
434
+ # resp.summary.updated_at #=> Time
435
+ # resp.summary.greengrass_group_id #=> String
436
+ # resp.summary.greengrass_group_version_id #=> String
437
+ #
438
+ # @overload create_system_instance(params = {})
439
+ # @param [Hash] params ({})
440
+ def create_system_instance(params = {}, options = {})
441
+ req = build_request(:create_system_instance, params)
442
+ req.send_request(options)
443
+ end
444
+
445
+ # Creates a system. The system is validated against the entities in the
446
+ # latest version of the user's namespace unless another namespace
447
+ # version is specified in the request.
448
+ #
449
+ # @option params [required, Types::DefinitionDocument] :definition
450
+ # The `DefinitionDocument` used to create the system.
451
+ #
452
+ # @option params [Integer] :compatible_namespace_version
453
+ # The namespace version in which the system is to be created.
454
+ #
455
+ # If no value is specified, the latest version is used by default.
456
+ #
457
+ # @return [Types::CreateSystemTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
458
+ #
459
+ # * {Types::CreateSystemTemplateResponse#summary #summary} => Types::SystemTemplateSummary
460
+ #
461
+ # @example Request syntax with placeholder values
462
+ #
463
+ # resp = client.create_system_template({
464
+ # definition: { # required
465
+ # language: "GRAPHQL", # required, accepts GRAPHQL
466
+ # text: "DefinitionText", # required
467
+ # },
468
+ # compatible_namespace_version: 1,
469
+ # })
470
+ #
471
+ # @example Response structure
472
+ #
473
+ # resp.summary.id #=> String
474
+ # resp.summary.arn #=> String
475
+ # resp.summary.revision_number #=> Integer
476
+ # resp.summary.created_at #=> Time
477
+ #
478
+ # @overload create_system_template(params = {})
479
+ # @param [Hash] params ({})
480
+ def create_system_template(params = {}, options = {})
481
+ req = build_request(:create_system_template, params)
482
+ req.send_request(options)
483
+ end
484
+
485
+ # Deletes a workflow. Any new system or deployment that contains this
486
+ # workflow will fail to update or deploy. Existing deployments that
487
+ # contain the workflow will continue to run (since they use a snapshot
488
+ # of the workflow taken at the time of deployment).
489
+ #
490
+ # @option params [required, String] :id
491
+ # The ID of the workflow to be deleted.
492
+ #
493
+ # The ID should be in the following format.
494
+ #
495
+ # `urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME`
496
+ #
497
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
498
+ #
499
+ # @example Request syntax with placeholder values
500
+ #
501
+ # resp = client.delete_flow_template({
502
+ # id: "Urn", # required
503
+ # })
504
+ #
505
+ # @overload delete_flow_template(params = {})
506
+ # @param [Hash] params ({})
507
+ def delete_flow_template(params = {}, options = {})
508
+ req = build_request(:delete_flow_template, params)
509
+ req.send_request(options)
510
+ end
511
+
512
+ # Deletes the specified namespace. This action deletes all of the
513
+ # entities in the namespace. Delete the systems and flows that use
514
+ # entities in the namespace before performing this action.
515
+ #
516
+ # @return [Types::DeleteNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
517
+ #
518
+ # * {Types::DeleteNamespaceResponse#namespace_arn #namespace_arn} => String
519
+ # * {Types::DeleteNamespaceResponse#namespace_name #namespace_name} => String
520
+ #
521
+ # @example Response structure
522
+ #
523
+ # resp.namespace_arn #=> String
524
+ # resp.namespace_name #=> String
525
+ #
526
+ # @overload delete_namespace(params = {})
527
+ # @param [Hash] params ({})
528
+ def delete_namespace(params = {}, options = {})
529
+ req = build_request(:delete_namespace, params)
530
+ req.send_request(options)
531
+ end
532
+
533
+ # Deletes a system instance. Only system instances that have never been
534
+ # deployed, or that have been undeployed can be deleted.
535
+ #
536
+ # Users can create a new system instance that has the same ID as a
537
+ # deleted system instance.
538
+ #
539
+ # @option params [String] :id
540
+ # The ID of the system instance to be deleted.
541
+ #
542
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
543
+ #
544
+ # @example Request syntax with placeholder values
545
+ #
546
+ # resp = client.delete_system_instance({
547
+ # id: "Urn",
548
+ # })
549
+ #
550
+ # @overload delete_system_instance(params = {})
551
+ # @param [Hash] params ({})
552
+ def delete_system_instance(params = {}, options = {})
553
+ req = build_request(:delete_system_instance, params)
554
+ req.send_request(options)
555
+ end
556
+
557
+ # Deletes a system. New deployments can't contain the system after its
558
+ # deletion. Existing deployments that contain the system will continue
559
+ # to work because they use a snapshot of the system that is taken when
560
+ # it is deployed.
561
+ #
562
+ # @option params [required, String] :id
563
+ # The ID of the system to be deleted.
564
+ #
565
+ # The ID should be in the following format.
566
+ #
567
+ # `urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME`
568
+ #
569
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
570
+ #
571
+ # @example Request syntax with placeholder values
572
+ #
573
+ # resp = client.delete_system_template({
574
+ # id: "Urn", # required
575
+ # })
576
+ #
577
+ # @overload delete_system_template(params = {})
578
+ # @param [Hash] params ({})
579
+ def delete_system_template(params = {}, options = {})
580
+ req = build_request(:delete_system_template, params)
581
+ req.send_request(options)
582
+ end
583
+
584
+ # **Greengrass and Cloud Deployments**
585
+ #
586
+ # Deploys the system instance to the target specified in
587
+ # `CreateSystemInstance`.
588
+ #
589
+ # **Greengrass Deployments**
590
+ #
591
+ # If the system or any workflows and entities have been updated before
592
+ # this action is called, then the deployment will create a new Amazon
593
+ # Simple Storage Service resource file and then deploy it.
594
+ #
595
+ # Since this action creates a Greengrass deployment on the caller's
596
+ # behalf, the calling identity must have write permissions to the
597
+ # specified Greengrass group. Otherwise, the call will fail with an
598
+ # authorization error.
599
+ #
600
+ # For information about the artifacts that get added to your Greengrass
601
+ # core device when you use this API, see [AWS IoT Things Graph and AWS
602
+ # IoT Greengrass][1].
603
+ #
604
+ #
605
+ #
606
+ # [1]: https://docs.aws.amazon.com/thingsgraph/latest/ug/iot-tg-greengrass.html
607
+ #
608
+ # @option params [String] :id
609
+ # The ID of the system instance. This value is returned by the
610
+ # `CreateSystemInstance` action.
611
+ #
612
+ # The ID should be in the following format.
613
+ #
614
+ # `urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME`
615
+ #
616
+ # @return [Types::DeploySystemInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
617
+ #
618
+ # * {Types::DeploySystemInstanceResponse#summary #summary} => Types::SystemInstanceSummary
619
+ # * {Types::DeploySystemInstanceResponse#greengrass_deployment_id #greengrass_deployment_id} => String
620
+ #
621
+ # @example Request syntax with placeholder values
622
+ #
623
+ # resp = client.deploy_system_instance({
624
+ # id: "Urn",
625
+ # })
626
+ #
627
+ # @example Response structure
628
+ #
629
+ # resp.summary.id #=> String
630
+ # resp.summary.arn #=> String
631
+ # resp.summary.status #=> String, one of "NOT_DEPLOYED", "BOOTSTRAP", "DEPLOY_IN_PROGRESS", "DEPLOYED_IN_TARGET", "UNDEPLOY_IN_PROGRESS", "FAILED", "PENDING_DELETE", "DELETED_IN_TARGET"
632
+ # resp.summary.target #=> String, one of "GREENGRASS", "CLOUD"
633
+ # resp.summary.greengrass_group_name #=> String
634
+ # resp.summary.created_at #=> Time
635
+ # resp.summary.updated_at #=> Time
636
+ # resp.summary.greengrass_group_id #=> String
637
+ # resp.summary.greengrass_group_version_id #=> String
638
+ # resp.greengrass_deployment_id #=> String
639
+ #
640
+ # @overload deploy_system_instance(params = {})
641
+ # @param [Hash] params ({})
642
+ def deploy_system_instance(params = {}, options = {})
643
+ req = build_request(:deploy_system_instance, params)
644
+ req.send_request(options)
645
+ end
646
+
647
+ # Deprecates the specified workflow. This action marks the workflow for
648
+ # deletion. Deprecated flows can't be deployed, but existing
649
+ # deployments will continue to run.
650
+ #
651
+ # @option params [required, String] :id
652
+ # The ID of the workflow to be deleted.
653
+ #
654
+ # The ID should be in the following format.
655
+ #
656
+ # `urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME`
657
+ #
658
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
659
+ #
660
+ # @example Request syntax with placeholder values
661
+ #
662
+ # resp = client.deprecate_flow_template({
663
+ # id: "Urn", # required
664
+ # })
665
+ #
666
+ # @overload deprecate_flow_template(params = {})
667
+ # @param [Hash] params ({})
668
+ def deprecate_flow_template(params = {}, options = {})
669
+ req = build_request(:deprecate_flow_template, params)
670
+ req.send_request(options)
671
+ end
672
+
673
+ # Deprecates the specified system.
674
+ #
675
+ # @option params [required, String] :id
676
+ # The ID of the system to delete.
677
+ #
678
+ # The ID should be in the following format.
679
+ #
680
+ # `urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME`
681
+ #
682
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
683
+ #
684
+ # @example Request syntax with placeholder values
685
+ #
686
+ # resp = client.deprecate_system_template({
687
+ # id: "Urn", # required
688
+ # })
689
+ #
690
+ # @overload deprecate_system_template(params = {})
691
+ # @param [Hash] params ({})
692
+ def deprecate_system_template(params = {}, options = {})
693
+ req = build_request(:deprecate_system_template, params)
694
+ req.send_request(options)
695
+ end
696
+
697
+ # Gets the latest version of the user's namespace and the public
698
+ # version that it is tracking.
699
+ #
700
+ # @option params [String] :namespace_name
701
+ # The name of the user's namespace. Set this to `aws` to get the public
702
+ # namespace.
703
+ #
704
+ # @return [Types::DescribeNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
705
+ #
706
+ # * {Types::DescribeNamespaceResponse#namespace_arn #namespace_arn} => String
707
+ # * {Types::DescribeNamespaceResponse#namespace_name #namespace_name} => String
708
+ # * {Types::DescribeNamespaceResponse#tracking_namespace_name #tracking_namespace_name} => String
709
+ # * {Types::DescribeNamespaceResponse#tracking_namespace_version #tracking_namespace_version} => Integer
710
+ # * {Types::DescribeNamespaceResponse#namespace_version #namespace_version} => Integer
711
+ #
712
+ # @example Request syntax with placeholder values
713
+ #
714
+ # resp = client.describe_namespace({
715
+ # namespace_name: "NamespaceName",
716
+ # })
717
+ #
718
+ # @example Response structure
719
+ #
720
+ # resp.namespace_arn #=> String
721
+ # resp.namespace_name #=> String
722
+ # resp.tracking_namespace_name #=> String
723
+ # resp.tracking_namespace_version #=> Integer
724
+ # resp.namespace_version #=> Integer
725
+ #
726
+ # @overload describe_namespace(params = {})
727
+ # @param [Hash] params ({})
728
+ def describe_namespace(params = {}, options = {})
729
+ req = build_request(:describe_namespace, params)
730
+ req.send_request(options)
731
+ end
732
+
733
+ # Dissociates a device entity from a concrete thing. The action takes
734
+ # only the type of the entity that you need to dissociate because only
735
+ # one entity of a particular type can be associated with a thing.
736
+ #
737
+ # @option params [required, String] :thing_name
738
+ # The name of the thing to disassociate.
739
+ #
740
+ # @option params [required, String] :entity_type
741
+ # The entity type from which to disassociate the thing.
742
+ #
743
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
744
+ #
745
+ # @example Request syntax with placeholder values
746
+ #
747
+ # resp = client.dissociate_entity_from_thing({
748
+ # thing_name: "ThingName", # required
749
+ # entity_type: "DEVICE", # required, accepts DEVICE, SERVICE, DEVICE_MODEL, CAPABILITY, STATE, ACTION, EVENT, PROPERTY, MAPPING, ENUM
750
+ # })
751
+ #
752
+ # @overload dissociate_entity_from_thing(params = {})
753
+ # @param [Hash] params ({})
754
+ def dissociate_entity_from_thing(params = {}, options = {})
755
+ req = build_request(:dissociate_entity_from_thing, params)
756
+ req.send_request(options)
757
+ end
758
+
759
+ # Gets definitions of the specified entities. Uses the latest version of
760
+ # the user's namespace by default. This API returns the following TDM
761
+ # entities.
762
+ #
763
+ # * Properties
764
+ #
765
+ # * States
766
+ #
767
+ # * Events
768
+ #
769
+ # * Actions
770
+ #
771
+ # * Capabilities
772
+ #
773
+ # * Mappings
774
+ #
775
+ # * Devices
776
+ #
777
+ # * Device Models
778
+ #
779
+ # * Services
780
+ #
781
+ # This action doesn't return definitions for systems, flows, and
782
+ # deployments.
783
+ #
784
+ # @option params [required, Array<String>] :ids
785
+ # An array of entity IDs.
786
+ #
787
+ # The IDs should be in the following format.
788
+ #
789
+ # `urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME`
790
+ #
791
+ # @option params [Integer] :namespace_version
792
+ # The version of the user's namespace. Defaults to the latest version
793
+ # of the user's namespace.
794
+ #
795
+ # @return [Types::GetEntitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
796
+ #
797
+ # * {Types::GetEntitiesResponse#descriptions #descriptions} => Array&lt;Types::EntityDescription&gt;
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ #
801
+ # resp = client.get_entities({
802
+ # ids: ["Urn"], # required
803
+ # namespace_version: 1,
804
+ # })
805
+ #
806
+ # @example Response structure
807
+ #
808
+ # resp.descriptions #=> Array
809
+ # resp.descriptions[0].id #=> String
810
+ # resp.descriptions[0].arn #=> String
811
+ # resp.descriptions[0].type #=> String, one of "DEVICE", "SERVICE", "DEVICE_MODEL", "CAPABILITY", "STATE", "ACTION", "EVENT", "PROPERTY", "MAPPING", "ENUM"
812
+ # resp.descriptions[0].created_at #=> Time
813
+ # resp.descriptions[0].definition.language #=> String, one of "GRAPHQL"
814
+ # resp.descriptions[0].definition.text #=> String
815
+ #
816
+ # @overload get_entities(params = {})
817
+ # @param [Hash] params ({})
818
+ def get_entities(params = {}, options = {})
819
+ req = build_request(:get_entities, params)
820
+ req.send_request(options)
821
+ end
822
+
823
+ # Gets the latest version of the `DefinitionDocument` and
824
+ # `FlowTemplateSummary` for the specified workflow.
825
+ #
826
+ # @option params [required, String] :id
827
+ # The ID of the workflow.
828
+ #
829
+ # The ID should be in the following format.
830
+ #
831
+ # `urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME`
832
+ #
833
+ # @option params [Integer] :revision_number
834
+ # The number of the workflow revision to retrieve.
835
+ #
836
+ # @return [Types::GetFlowTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
837
+ #
838
+ # * {Types::GetFlowTemplateResponse#description #description} => Types::FlowTemplateDescription
839
+ #
840
+ # @example Request syntax with placeholder values
841
+ #
842
+ # resp = client.get_flow_template({
843
+ # id: "Urn", # required
844
+ # revision_number: 1,
845
+ # })
846
+ #
847
+ # @example Response structure
848
+ #
849
+ # resp.description.summary.id #=> String
850
+ # resp.description.summary.arn #=> String
851
+ # resp.description.summary.revision_number #=> Integer
852
+ # resp.description.summary.created_at #=> Time
853
+ # resp.description.definition.language #=> String, one of "GRAPHQL"
854
+ # resp.description.definition.text #=> String
855
+ # resp.description.validated_namespace_version #=> Integer
856
+ #
857
+ # @overload get_flow_template(params = {})
858
+ # @param [Hash] params ({})
859
+ def get_flow_template(params = {}, options = {})
860
+ req = build_request(:get_flow_template, params)
861
+ req.send_request(options)
862
+ end
863
+
864
+ # Gets revisions of the specified workflow. Only the last 100 revisions
865
+ # are stored. If the workflow has been deprecated, this action will
866
+ # return revisions that occurred before the deprecation. This action
867
+ # won't work for workflows that have been deleted.
868
+ #
869
+ # @option params [required, String] :id
870
+ # The ID of the workflow.
871
+ #
872
+ # The ID should be in the following format.
873
+ #
874
+ # `urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME`
875
+ #
876
+ # @option params [String] :next_token
877
+ # The string that specifies the next page of results. Use this when
878
+ # you're paginating results.
879
+ #
880
+ # @option params [Integer] :max_results
881
+ # The maximum number of results to return in the response.
882
+ #
883
+ # @return [Types::GetFlowTemplateRevisionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
884
+ #
885
+ # * {Types::GetFlowTemplateRevisionsResponse#summaries #summaries} => Array&lt;Types::FlowTemplateSummary&gt;
886
+ # * {Types::GetFlowTemplateRevisionsResponse#next_token #next_token} => String
887
+ #
888
+ # @example Request syntax with placeholder values
889
+ #
890
+ # resp = client.get_flow_template_revisions({
891
+ # id: "Urn", # required
892
+ # next_token: "NextToken",
893
+ # max_results: 1,
894
+ # })
895
+ #
896
+ # @example Response structure
897
+ #
898
+ # resp.summaries #=> Array
899
+ # resp.summaries[0].id #=> String
900
+ # resp.summaries[0].arn #=> String
901
+ # resp.summaries[0].revision_number #=> Integer
902
+ # resp.summaries[0].created_at #=> Time
903
+ # resp.next_token #=> String
904
+ #
905
+ # @overload get_flow_template_revisions(params = {})
906
+ # @param [Hash] params ({})
907
+ def get_flow_template_revisions(params = {}, options = {})
908
+ req = build_request(:get_flow_template_revisions, params)
909
+ req.send_request(options)
910
+ end
911
+
912
+ # Gets the status of a namespace deletion task.
913
+ #
914
+ # @return [Types::GetNamespaceDeletionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
915
+ #
916
+ # * {Types::GetNamespaceDeletionStatusResponse#namespace_arn #namespace_arn} => String
917
+ # * {Types::GetNamespaceDeletionStatusResponse#namespace_name #namespace_name} => String
918
+ # * {Types::GetNamespaceDeletionStatusResponse#status #status} => String
919
+ # * {Types::GetNamespaceDeletionStatusResponse#error_code #error_code} => String
920
+ # * {Types::GetNamespaceDeletionStatusResponse#error_message #error_message} => String
921
+ #
922
+ # @example Response structure
923
+ #
924
+ # resp.namespace_arn #=> String
925
+ # resp.namespace_name #=> String
926
+ # resp.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"
927
+ # resp.error_code #=> String, one of "VALIDATION_FAILED"
928
+ # resp.error_message #=> String
929
+ #
930
+ # @overload get_namespace_deletion_status(params = {})
931
+ # @param [Hash] params ({})
932
+ def get_namespace_deletion_status(params = {}, options = {})
933
+ req = build_request(:get_namespace_deletion_status, params)
934
+ req.send_request(options)
935
+ end
936
+
937
+ # Gets a system instance.
938
+ #
939
+ # @option params [required, String] :id
940
+ # The ID of the system deployment instance. This value is returned by
941
+ # `CreateSystemInstance`.
942
+ #
943
+ # The ID should be in the following format.
944
+ #
945
+ # `urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME`
946
+ #
947
+ # @return [Types::GetSystemInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
+ #
949
+ # * {Types::GetSystemInstanceResponse#description #description} => Types::SystemInstanceDescription
950
+ #
951
+ # @example Request syntax with placeholder values
952
+ #
953
+ # resp = client.get_system_instance({
954
+ # id: "Urn", # required
955
+ # })
956
+ #
957
+ # @example Response structure
958
+ #
959
+ # resp.description.summary.id #=> String
960
+ # resp.description.summary.arn #=> String
961
+ # resp.description.summary.status #=> String, one of "NOT_DEPLOYED", "BOOTSTRAP", "DEPLOY_IN_PROGRESS", "DEPLOYED_IN_TARGET", "UNDEPLOY_IN_PROGRESS", "FAILED", "PENDING_DELETE", "DELETED_IN_TARGET"
962
+ # resp.description.summary.target #=> String, one of "GREENGRASS", "CLOUD"
963
+ # resp.description.summary.greengrass_group_name #=> String
964
+ # resp.description.summary.created_at #=> Time
965
+ # resp.description.summary.updated_at #=> Time
966
+ # resp.description.summary.greengrass_group_id #=> String
967
+ # resp.description.summary.greengrass_group_version_id #=> String
968
+ # resp.description.definition.language #=> String, one of "GRAPHQL"
969
+ # resp.description.definition.text #=> String
970
+ # resp.description.s3_bucket_name #=> String
971
+ # resp.description.metrics_configuration.cloud_metric_enabled #=> Boolean
972
+ # resp.description.metrics_configuration.metric_rule_role_arn #=> String
973
+ # resp.description.validated_namespace_version #=> Integer
974
+ # resp.description.validated_dependency_revisions #=> Array
975
+ # resp.description.validated_dependency_revisions[0].id #=> String
976
+ # resp.description.validated_dependency_revisions[0].revision_number #=> Integer
977
+ # resp.description.flow_actions_role_arn #=> String
978
+ #
979
+ # @overload get_system_instance(params = {})
980
+ # @param [Hash] params ({})
981
+ def get_system_instance(params = {}, options = {})
982
+ req = build_request(:get_system_instance, params)
983
+ req.send_request(options)
984
+ end
985
+
986
+ # Gets a system.
987
+ #
988
+ # @option params [required, String] :id
989
+ # The ID of the system to get. This ID must be in the user's namespace.
990
+ #
991
+ # The ID should be in the following format.
992
+ #
993
+ # `urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME`
994
+ #
995
+ # @option params [Integer] :revision_number
996
+ # The number that specifies the revision of the system to get.
997
+ #
998
+ # @return [Types::GetSystemTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
999
+ #
1000
+ # * {Types::GetSystemTemplateResponse#description #description} => Types::SystemTemplateDescription
1001
+ #
1002
+ # @example Request syntax with placeholder values
1003
+ #
1004
+ # resp = client.get_system_template({
1005
+ # id: "Urn", # required
1006
+ # revision_number: 1,
1007
+ # })
1008
+ #
1009
+ # @example Response structure
1010
+ #
1011
+ # resp.description.summary.id #=> String
1012
+ # resp.description.summary.arn #=> String
1013
+ # resp.description.summary.revision_number #=> Integer
1014
+ # resp.description.summary.created_at #=> Time
1015
+ # resp.description.definition.language #=> String, one of "GRAPHQL"
1016
+ # resp.description.definition.text #=> String
1017
+ # resp.description.validated_namespace_version #=> Integer
1018
+ #
1019
+ # @overload get_system_template(params = {})
1020
+ # @param [Hash] params ({})
1021
+ def get_system_template(params = {}, options = {})
1022
+ req = build_request(:get_system_template, params)
1023
+ req.send_request(options)
1024
+ end
1025
+
1026
+ # Gets revisions made to the specified system template. Only the
1027
+ # previous 100 revisions are stored. If the system has been deprecated,
1028
+ # this action will return the revisions that occurred before its
1029
+ # deprecation. This action won't work with systems that have been
1030
+ # deleted.
1031
+ #
1032
+ # @option params [required, String] :id
1033
+ # The ID of the system template.
1034
+ #
1035
+ # The ID should be in the following format.
1036
+ #
1037
+ # `urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME`
1038
+ #
1039
+ # @option params [String] :next_token
1040
+ # The string that specifies the next page of results. Use this when
1041
+ # you're paginating results.
1042
+ #
1043
+ # @option params [Integer] :max_results
1044
+ # The maximum number of results to return in the response.
1045
+ #
1046
+ # @return [Types::GetSystemTemplateRevisionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1047
+ #
1048
+ # * {Types::GetSystemTemplateRevisionsResponse#summaries #summaries} => Array&lt;Types::SystemTemplateSummary&gt;
1049
+ # * {Types::GetSystemTemplateRevisionsResponse#next_token #next_token} => String
1050
+ #
1051
+ # @example Request syntax with placeholder values
1052
+ #
1053
+ # resp = client.get_system_template_revisions({
1054
+ # id: "Urn", # required
1055
+ # next_token: "NextToken",
1056
+ # max_results: 1,
1057
+ # })
1058
+ #
1059
+ # @example Response structure
1060
+ #
1061
+ # resp.summaries #=> Array
1062
+ # resp.summaries[0].id #=> String
1063
+ # resp.summaries[0].arn #=> String
1064
+ # resp.summaries[0].revision_number #=> Integer
1065
+ # resp.summaries[0].created_at #=> Time
1066
+ # resp.next_token #=> String
1067
+ #
1068
+ # @overload get_system_template_revisions(params = {})
1069
+ # @param [Hash] params ({})
1070
+ def get_system_template_revisions(params = {}, options = {})
1071
+ req = build_request(:get_system_template_revisions, params)
1072
+ req.send_request(options)
1073
+ end
1074
+
1075
+ # Gets the status of the specified upload.
1076
+ #
1077
+ # @option params [required, String] :upload_id
1078
+ # The ID of the upload. This value is returned by the
1079
+ # `UploadEntityDefinitions` action.
1080
+ #
1081
+ # @return [Types::GetUploadStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1082
+ #
1083
+ # * {Types::GetUploadStatusResponse#upload_id #upload_id} => String
1084
+ # * {Types::GetUploadStatusResponse#upload_status #upload_status} => String
1085
+ # * {Types::GetUploadStatusResponse#namespace_arn #namespace_arn} => String
1086
+ # * {Types::GetUploadStatusResponse#namespace_name #namespace_name} => String
1087
+ # * {Types::GetUploadStatusResponse#namespace_version #namespace_version} => Integer
1088
+ # * {Types::GetUploadStatusResponse#failure_reason #failure_reason} => Array&lt;String&gt;
1089
+ # * {Types::GetUploadStatusResponse#created_date #created_date} => Time
1090
+ #
1091
+ # @example Request syntax with placeholder values
1092
+ #
1093
+ # resp = client.get_upload_status({
1094
+ # upload_id: "UploadId", # required
1095
+ # })
1096
+ #
1097
+ # @example Response structure
1098
+ #
1099
+ # resp.upload_id #=> String
1100
+ # resp.upload_status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"
1101
+ # resp.namespace_arn #=> String
1102
+ # resp.namespace_name #=> String
1103
+ # resp.namespace_version #=> Integer
1104
+ # resp.failure_reason #=> Array
1105
+ # resp.failure_reason[0] #=> String
1106
+ # resp.created_date #=> Time
1107
+ #
1108
+ # @overload get_upload_status(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def get_upload_status(params = {}, options = {})
1111
+ req = build_request(:get_upload_status, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # Returns a list of objects that contain information about events in a
1116
+ # flow execution.
1117
+ #
1118
+ # @option params [required, String] :flow_execution_id
1119
+ # The ID of the flow execution.
1120
+ #
1121
+ # @option params [String] :next_token
1122
+ # The string that specifies the next page of results. Use this when
1123
+ # you're paginating results.
1124
+ #
1125
+ # @option params [Integer] :max_results
1126
+ # The maximum number of results to return in the response.
1127
+ #
1128
+ # @return [Types::ListFlowExecutionMessagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1129
+ #
1130
+ # * {Types::ListFlowExecutionMessagesResponse#messages #messages} => Array&lt;Types::FlowExecutionMessage&gt;
1131
+ # * {Types::ListFlowExecutionMessagesResponse#next_token #next_token} => String
1132
+ #
1133
+ # @example Request syntax with placeholder values
1134
+ #
1135
+ # resp = client.list_flow_execution_messages({
1136
+ # flow_execution_id: "FlowExecutionId", # required
1137
+ # next_token: "NextToken",
1138
+ # max_results: 1,
1139
+ # })
1140
+ #
1141
+ # @example Response structure
1142
+ #
1143
+ # resp.messages #=> Array
1144
+ # resp.messages[0].message_id #=> String
1145
+ # resp.messages[0].event_type #=> String, one of "EXECUTION_STARTED", "EXECUTION_FAILED", "EXECUTION_ABORTED", "EXECUTION_SUCCEEDED", "STEP_STARTED", "STEP_FAILED", "STEP_SUCCEEDED", "ACTIVITY_SCHEDULED", "ACTIVITY_STARTED", "ACTIVITY_FAILED", "ACTIVITY_SUCCEEDED", "START_FLOW_EXECUTION_TASK", "SCHEDULE_NEXT_READY_STEPS_TASK", "THING_ACTION_TASK", "THING_ACTION_TASK_FAILED", "THING_ACTION_TASK_SUCCEEDED", "ACKNOWLEDGE_TASK_MESSAGE"
1146
+ # resp.messages[0].timestamp #=> Time
1147
+ # resp.messages[0].payload #=> String
1148
+ # resp.next_token #=> String
1149
+ #
1150
+ # @overload list_flow_execution_messages(params = {})
1151
+ # @param [Hash] params ({})
1152
+ def list_flow_execution_messages(params = {}, options = {})
1153
+ req = build_request(:list_flow_execution_messages, params)
1154
+ req.send_request(options)
1155
+ end
1156
+
1157
+ # Lists all tags on an AWS IoT Things Graph resource.
1158
+ #
1159
+ # @option params [Integer] :max_results
1160
+ # The maximum number of tags to return.
1161
+ #
1162
+ # @option params [required, String] :resource_arn
1163
+ # The Amazon Resource Name (ARN) of the resource whose tags are to be
1164
+ # returned.
1165
+ #
1166
+ # @option params [String] :next_token
1167
+ # The token that specifies the next page of results to return.
1168
+ #
1169
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
+ #
1171
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1172
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1173
+ #
1174
+ # @example Request syntax with placeholder values
1175
+ #
1176
+ # resp = client.list_tags_for_resource({
1177
+ # max_results: 1,
1178
+ # resource_arn: "ResourceArn", # required
1179
+ # next_token: "NextToken",
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ #
1184
+ # resp.tags #=> Array
1185
+ # resp.tags[0].key #=> String
1186
+ # resp.tags[0].value #=> String
1187
+ # resp.next_token #=> String
1188
+ #
1189
+ # @overload list_tags_for_resource(params = {})
1190
+ # @param [Hash] params ({})
1191
+ def list_tags_for_resource(params = {}, options = {})
1192
+ req = build_request(:list_tags_for_resource, params)
1193
+ req.send_request(options)
1194
+ end
1195
+
1196
+ # Searches for entities of the specified type. You can search for
1197
+ # entities in your namespace and the public namespace that you're
1198
+ # tracking.
1199
+ #
1200
+ # @option params [required, Array<String>] :entity_types
1201
+ # The entity types for which to search.
1202
+ #
1203
+ # @option params [Array<Types::EntityFilter>] :filters
1204
+ # Optional filter to apply to the search. Valid filters are `NAME`
1205
+ # `NAMESPACE`, `SEMANTIC_TYPE_PATH` and `REFERENCED_ENTITY_ID`.
1206
+ # `REFERENCED_ENTITY_ID` filters on entities that are used by the entity
1207
+ # in the result set. For example, you can filter on the ID of a property
1208
+ # that is used in a state.
1209
+ #
1210
+ # Multiple filters function as OR criteria in the query. Multiple values
1211
+ # passed inside the filter function as AND criteria.
1212
+ #
1213
+ # @option params [String] :next_token
1214
+ # The string that specifies the next page of results. Use this when
1215
+ # you're paginating results.
1216
+ #
1217
+ # @option params [Integer] :max_results
1218
+ # The maximum number of results to return in the response.
1219
+ #
1220
+ # @option params [Integer] :namespace_version
1221
+ # The version of the user's namespace. Defaults to the latest version
1222
+ # of the user's namespace.
1223
+ #
1224
+ # @return [Types::SearchEntitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1225
+ #
1226
+ # * {Types::SearchEntitiesResponse#descriptions #descriptions} => Array&lt;Types::EntityDescription&gt;
1227
+ # * {Types::SearchEntitiesResponse#next_token #next_token} => String
1228
+ #
1229
+ # @example Request syntax with placeholder values
1230
+ #
1231
+ # resp = client.search_entities({
1232
+ # entity_types: ["DEVICE"], # required, accepts DEVICE, SERVICE, DEVICE_MODEL, CAPABILITY, STATE, ACTION, EVENT, PROPERTY, MAPPING, ENUM
1233
+ # filters: [
1234
+ # {
1235
+ # name: "NAME", # accepts NAME, NAMESPACE, SEMANTIC_TYPE_PATH, REFERENCED_ENTITY_ID
1236
+ # value: ["EntityFilterValue"],
1237
+ # },
1238
+ # ],
1239
+ # next_token: "NextToken",
1240
+ # max_results: 1,
1241
+ # namespace_version: 1,
1242
+ # })
1243
+ #
1244
+ # @example Response structure
1245
+ #
1246
+ # resp.descriptions #=> Array
1247
+ # resp.descriptions[0].id #=> String
1248
+ # resp.descriptions[0].arn #=> String
1249
+ # resp.descriptions[0].type #=> String, one of "DEVICE", "SERVICE", "DEVICE_MODEL", "CAPABILITY", "STATE", "ACTION", "EVENT", "PROPERTY", "MAPPING", "ENUM"
1250
+ # resp.descriptions[0].created_at #=> Time
1251
+ # resp.descriptions[0].definition.language #=> String, one of "GRAPHQL"
1252
+ # resp.descriptions[0].definition.text #=> String
1253
+ # resp.next_token #=> String
1254
+ #
1255
+ # @overload search_entities(params = {})
1256
+ # @param [Hash] params ({})
1257
+ def search_entities(params = {}, options = {})
1258
+ req = build_request(:search_entities, params)
1259
+ req.send_request(options)
1260
+ end
1261
+
1262
+ # Searches for AWS IoT Things Graph workflow execution instances.
1263
+ #
1264
+ # @option params [required, String] :system_instance_id
1265
+ # The ID of the system instance that contains the flow.
1266
+ #
1267
+ # @option params [String] :flow_execution_id
1268
+ # The ID of a flow execution.
1269
+ #
1270
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1271
+ # The date and time of the earliest flow execution to return.
1272
+ #
1273
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1274
+ # The date and time of the latest flow execution to return.
1275
+ #
1276
+ # @option params [String] :next_token
1277
+ # The string that specifies the next page of results. Use this when
1278
+ # you're paginating results.
1279
+ #
1280
+ # @option params [Integer] :max_results
1281
+ # The maximum number of results to return in the response.
1282
+ #
1283
+ # @return [Types::SearchFlowExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1284
+ #
1285
+ # * {Types::SearchFlowExecutionsResponse#summaries #summaries} => Array&lt;Types::FlowExecutionSummary&gt;
1286
+ # * {Types::SearchFlowExecutionsResponse#next_token #next_token} => String
1287
+ #
1288
+ # @example Request syntax with placeholder values
1289
+ #
1290
+ # resp = client.search_flow_executions({
1291
+ # system_instance_id: "Urn", # required
1292
+ # flow_execution_id: "FlowExecutionId",
1293
+ # start_time: Time.now,
1294
+ # end_time: Time.now,
1295
+ # next_token: "NextToken",
1296
+ # max_results: 1,
1297
+ # })
1298
+ #
1299
+ # @example Response structure
1300
+ #
1301
+ # resp.summaries #=> Array
1302
+ # resp.summaries[0].flow_execution_id #=> String
1303
+ # resp.summaries[0].status #=> String, one of "RUNNING", "ABORTED", "SUCCEEDED", "FAILED"
1304
+ # resp.summaries[0].system_instance_id #=> String
1305
+ # resp.summaries[0].flow_template_id #=> String
1306
+ # resp.summaries[0].created_at #=> Time
1307
+ # resp.summaries[0].updated_at #=> Time
1308
+ # resp.next_token #=> String
1309
+ #
1310
+ # @overload search_flow_executions(params = {})
1311
+ # @param [Hash] params ({})
1312
+ def search_flow_executions(params = {}, options = {})
1313
+ req = build_request(:search_flow_executions, params)
1314
+ req.send_request(options)
1315
+ end
1316
+
1317
+ # Searches for summary information about workflows.
1318
+ #
1319
+ # @option params [Array<Types::FlowTemplateFilter>] :filters
1320
+ # An array of objects that limit the result set. The only valid filter
1321
+ # is `DEVICE_MODEL_ID`.
1322
+ #
1323
+ # @option params [String] :next_token
1324
+ # The string that specifies the next page of results. Use this when
1325
+ # you're paginating results.
1326
+ #
1327
+ # @option params [Integer] :max_results
1328
+ # The maximum number of results to return in the response.
1329
+ #
1330
+ # @return [Types::SearchFlowTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1331
+ #
1332
+ # * {Types::SearchFlowTemplatesResponse#summaries #summaries} => Array&lt;Types::FlowTemplateSummary&gt;
1333
+ # * {Types::SearchFlowTemplatesResponse#next_token #next_token} => String
1334
+ #
1335
+ # @example Request syntax with placeholder values
1336
+ #
1337
+ # resp = client.search_flow_templates({
1338
+ # filters: [
1339
+ # {
1340
+ # name: "DEVICE_MODEL_ID", # required, accepts DEVICE_MODEL_ID
1341
+ # value: ["FlowTemplateFilterValue"], # required
1342
+ # },
1343
+ # ],
1344
+ # next_token: "NextToken",
1345
+ # max_results: 1,
1346
+ # })
1347
+ #
1348
+ # @example Response structure
1349
+ #
1350
+ # resp.summaries #=> Array
1351
+ # resp.summaries[0].id #=> String
1352
+ # resp.summaries[0].arn #=> String
1353
+ # resp.summaries[0].revision_number #=> Integer
1354
+ # resp.summaries[0].created_at #=> Time
1355
+ # resp.next_token #=> String
1356
+ #
1357
+ # @overload search_flow_templates(params = {})
1358
+ # @param [Hash] params ({})
1359
+ def search_flow_templates(params = {}, options = {})
1360
+ req = build_request(:search_flow_templates, params)
1361
+ req.send_request(options)
1362
+ end
1363
+
1364
+ # Searches for system instances in the user's account.
1365
+ #
1366
+ # @option params [Array<Types::SystemInstanceFilter>] :filters
1367
+ # Optional filter to apply to the search. Valid filters are
1368
+ # `SYSTEM_TEMPLATE_ID`, `STATUS`, and `GREENGRASS_GROUP_NAME`.
1369
+ #
1370
+ # Multiple filters function as OR criteria in the query. Multiple values
1371
+ # passed inside the filter function as AND criteria.
1372
+ #
1373
+ # @option params [String] :next_token
1374
+ # The string that specifies the next page of results. Use this when
1375
+ # you're paginating results.
1376
+ #
1377
+ # @option params [Integer] :max_results
1378
+ # The maximum number of results to return in the response.
1379
+ #
1380
+ # @return [Types::SearchSystemInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1381
+ #
1382
+ # * {Types::SearchSystemInstancesResponse#summaries #summaries} => Array&lt;Types::SystemInstanceSummary&gt;
1383
+ # * {Types::SearchSystemInstancesResponse#next_token #next_token} => String
1384
+ #
1385
+ # @example Request syntax with placeholder values
1386
+ #
1387
+ # resp = client.search_system_instances({
1388
+ # filters: [
1389
+ # {
1390
+ # name: "SYSTEM_TEMPLATE_ID", # accepts SYSTEM_TEMPLATE_ID, STATUS, GREENGRASS_GROUP_NAME
1391
+ # value: ["SystemInstanceFilterValue"],
1392
+ # },
1393
+ # ],
1394
+ # next_token: "NextToken",
1395
+ # max_results: 1,
1396
+ # })
1397
+ #
1398
+ # @example Response structure
1399
+ #
1400
+ # resp.summaries #=> Array
1401
+ # resp.summaries[0].id #=> String
1402
+ # resp.summaries[0].arn #=> String
1403
+ # resp.summaries[0].status #=> String, one of "NOT_DEPLOYED", "BOOTSTRAP", "DEPLOY_IN_PROGRESS", "DEPLOYED_IN_TARGET", "UNDEPLOY_IN_PROGRESS", "FAILED", "PENDING_DELETE", "DELETED_IN_TARGET"
1404
+ # resp.summaries[0].target #=> String, one of "GREENGRASS", "CLOUD"
1405
+ # resp.summaries[0].greengrass_group_name #=> String
1406
+ # resp.summaries[0].created_at #=> Time
1407
+ # resp.summaries[0].updated_at #=> Time
1408
+ # resp.summaries[0].greengrass_group_id #=> String
1409
+ # resp.summaries[0].greengrass_group_version_id #=> String
1410
+ # resp.next_token #=> String
1411
+ #
1412
+ # @overload search_system_instances(params = {})
1413
+ # @param [Hash] params ({})
1414
+ def search_system_instances(params = {}, options = {})
1415
+ req = build_request(:search_system_instances, params)
1416
+ req.send_request(options)
1417
+ end
1418
+
1419
+ # Searches for summary information about systems in the user's account.
1420
+ # You can filter by the ID of a workflow to return only systems that use
1421
+ # the specified workflow.
1422
+ #
1423
+ # @option params [Array<Types::SystemTemplateFilter>] :filters
1424
+ # An array of filters that limit the result set. The only valid filter
1425
+ # is `FLOW_TEMPLATE_ID`.
1426
+ #
1427
+ # @option params [String] :next_token
1428
+ # The string that specifies the next page of results. Use this when
1429
+ # you're paginating results.
1430
+ #
1431
+ # @option params [Integer] :max_results
1432
+ # The maximum number of results to return in the response.
1433
+ #
1434
+ # @return [Types::SearchSystemTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1435
+ #
1436
+ # * {Types::SearchSystemTemplatesResponse#summaries #summaries} => Array&lt;Types::SystemTemplateSummary&gt;
1437
+ # * {Types::SearchSystemTemplatesResponse#next_token #next_token} => String
1438
+ #
1439
+ # @example Request syntax with placeholder values
1440
+ #
1441
+ # resp = client.search_system_templates({
1442
+ # filters: [
1443
+ # {
1444
+ # name: "FLOW_TEMPLATE_ID", # required, accepts FLOW_TEMPLATE_ID
1445
+ # value: ["SystemTemplateFilterValue"], # required
1446
+ # },
1447
+ # ],
1448
+ # next_token: "NextToken",
1449
+ # max_results: 1,
1450
+ # })
1451
+ #
1452
+ # @example Response structure
1453
+ #
1454
+ # resp.summaries #=> Array
1455
+ # resp.summaries[0].id #=> String
1456
+ # resp.summaries[0].arn #=> String
1457
+ # resp.summaries[0].revision_number #=> Integer
1458
+ # resp.summaries[0].created_at #=> Time
1459
+ # resp.next_token #=> String
1460
+ #
1461
+ # @overload search_system_templates(params = {})
1462
+ # @param [Hash] params ({})
1463
+ def search_system_templates(params = {}, options = {})
1464
+ req = build_request(:search_system_templates, params)
1465
+ req.send_request(options)
1466
+ end
1467
+
1468
+ # Searches for things associated with the specified entity. You can
1469
+ # search by both device and device model.
1470
+ #
1471
+ # For example, if two different devices, camera1 and camera2, implement
1472
+ # the camera device model, the user can associate thing1 to camera1 and
1473
+ # thing2 to camera2. `SearchThings(camera2)` will return only thing2,
1474
+ # but `SearchThings(camera)` will return both thing1 and thing2.
1475
+ #
1476
+ # This action searches for exact matches and doesn't perform partial
1477
+ # text matching.
1478
+ #
1479
+ # @option params [required, String] :entity_id
1480
+ # The ID of the entity to which the things are associated.
1481
+ #
1482
+ # The IDs should be in the following format.
1483
+ #
1484
+ # `urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME`
1485
+ #
1486
+ # @option params [String] :next_token
1487
+ # The string that specifies the next page of results. Use this when
1488
+ # you're paginating results.
1489
+ #
1490
+ # @option params [Integer] :max_results
1491
+ # The maximum number of results to return in the response.
1492
+ #
1493
+ # @option params [Integer] :namespace_version
1494
+ # The version of the user's namespace. Defaults to the latest version
1495
+ # of the user's namespace.
1496
+ #
1497
+ # @return [Types::SearchThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1498
+ #
1499
+ # * {Types::SearchThingsResponse#things #things} => Array&lt;Types::Thing&gt;
1500
+ # * {Types::SearchThingsResponse#next_token #next_token} => String
1501
+ #
1502
+ # @example Request syntax with placeholder values
1503
+ #
1504
+ # resp = client.search_things({
1505
+ # entity_id: "Urn", # required
1506
+ # next_token: "NextToken",
1507
+ # max_results: 1,
1508
+ # namespace_version: 1,
1509
+ # })
1510
+ #
1511
+ # @example Response structure
1512
+ #
1513
+ # resp.things #=> Array
1514
+ # resp.things[0].thing_arn #=> String
1515
+ # resp.things[0].thing_name #=> String
1516
+ # resp.next_token #=> String
1517
+ #
1518
+ # @overload search_things(params = {})
1519
+ # @param [Hash] params ({})
1520
+ def search_things(params = {}, options = {})
1521
+ req = build_request(:search_things, params)
1522
+ req.send_request(options)
1523
+ end
1524
+
1525
+ # Creates a tag for the specified resource.
1526
+ #
1527
+ # @option params [required, String] :resource_arn
1528
+ # The Amazon Resource Name (ARN) of the resource whose tags are
1529
+ # returned.
1530
+ #
1531
+ # @option params [required, Array<Types::Tag>] :tags
1532
+ # A list of tags to add to the resource.&gt;
1533
+ #
1534
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1535
+ #
1536
+ # @example Request syntax with placeholder values
1537
+ #
1538
+ # resp = client.tag_resource({
1539
+ # resource_arn: "ResourceArn", # required
1540
+ # tags: [ # required
1541
+ # {
1542
+ # key: "TagKey", # required
1543
+ # value: "TagValue", # required
1544
+ # },
1545
+ # ],
1546
+ # })
1547
+ #
1548
+ # @overload tag_resource(params = {})
1549
+ # @param [Hash] params ({})
1550
+ def tag_resource(params = {}, options = {})
1551
+ req = build_request(:tag_resource, params)
1552
+ req.send_request(options)
1553
+ end
1554
+
1555
+ # Removes a system instance from its target (Cloud or Greengrass).
1556
+ #
1557
+ # @option params [String] :id
1558
+ # The ID of the system instance to remove from its target.
1559
+ #
1560
+ # @return [Types::UndeploySystemInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1561
+ #
1562
+ # * {Types::UndeploySystemInstanceResponse#summary #summary} => Types::SystemInstanceSummary
1563
+ #
1564
+ # @example Request syntax with placeholder values
1565
+ #
1566
+ # resp = client.undeploy_system_instance({
1567
+ # id: "Urn",
1568
+ # })
1569
+ #
1570
+ # @example Response structure
1571
+ #
1572
+ # resp.summary.id #=> String
1573
+ # resp.summary.arn #=> String
1574
+ # resp.summary.status #=> String, one of "NOT_DEPLOYED", "BOOTSTRAP", "DEPLOY_IN_PROGRESS", "DEPLOYED_IN_TARGET", "UNDEPLOY_IN_PROGRESS", "FAILED", "PENDING_DELETE", "DELETED_IN_TARGET"
1575
+ # resp.summary.target #=> String, one of "GREENGRASS", "CLOUD"
1576
+ # resp.summary.greengrass_group_name #=> String
1577
+ # resp.summary.created_at #=> Time
1578
+ # resp.summary.updated_at #=> Time
1579
+ # resp.summary.greengrass_group_id #=> String
1580
+ # resp.summary.greengrass_group_version_id #=> String
1581
+ #
1582
+ # @overload undeploy_system_instance(params = {})
1583
+ # @param [Hash] params ({})
1584
+ def undeploy_system_instance(params = {}, options = {})
1585
+ req = build_request(:undeploy_system_instance, params)
1586
+ req.send_request(options)
1587
+ end
1588
+
1589
+ # Removes a tag from the specified resource.
1590
+ #
1591
+ # @option params [required, String] :resource_arn
1592
+ # The Amazon Resource Name (ARN) of the resource whose tags are to be
1593
+ # removed.
1594
+ #
1595
+ # @option params [required, Array<String>] :tag_keys
1596
+ # A list of tag key names to remove from the resource. You don't
1597
+ # specify the value. Both the key and its associated value are removed.
1598
+ #
1599
+ # This parameter to the API requires a JSON text string argument. For
1600
+ # information on how to format a JSON parameter for the various command
1601
+ # line tool environments, see [Using JSON for Parameters][1] in the *AWS
1602
+ # CLI User Guide*.
1603
+ #
1604
+ #
1605
+ #
1606
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html#cli-using-param-json
1607
+ #
1608
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1609
+ #
1610
+ # @example Request syntax with placeholder values
1611
+ #
1612
+ # resp = client.untag_resource({
1613
+ # resource_arn: "ResourceArn", # required
1614
+ # tag_keys: ["TagKey"], # required
1615
+ # })
1616
+ #
1617
+ # @overload untag_resource(params = {})
1618
+ # @param [Hash] params ({})
1619
+ def untag_resource(params = {}, options = {})
1620
+ req = build_request(:untag_resource, params)
1621
+ req.send_request(options)
1622
+ end
1623
+
1624
+ # Updates the specified workflow. All deployed systems and system
1625
+ # instances that use the workflow will see the changes in the flow when
1626
+ # it is redeployed. If you don't want this behavior, copy the workflow
1627
+ # (creating a new workflow with a different ID), and update the copy.
1628
+ # The workflow can contain only entities in the specified namespace.
1629
+ #
1630
+ # @option params [required, String] :id
1631
+ # The ID of the workflow to be updated.
1632
+ #
1633
+ # The ID should be in the following format.
1634
+ #
1635
+ # `urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME`
1636
+ #
1637
+ # @option params [required, Types::DefinitionDocument] :definition
1638
+ # The `DefinitionDocument` that contains the updated workflow
1639
+ # definition.
1640
+ #
1641
+ # @option params [Integer] :compatible_namespace_version
1642
+ # The version of the user's namespace.
1643
+ #
1644
+ # If no value is specified, the latest version is used by default. Use
1645
+ # the `GetFlowTemplateRevisions` if you want to find earlier revisions
1646
+ # of the flow to update.
1647
+ #
1648
+ # @return [Types::UpdateFlowTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1649
+ #
1650
+ # * {Types::UpdateFlowTemplateResponse#summary #summary} => Types::FlowTemplateSummary
1651
+ #
1652
+ # @example Request syntax with placeholder values
1653
+ #
1654
+ # resp = client.update_flow_template({
1655
+ # id: "Urn", # required
1656
+ # definition: { # required
1657
+ # language: "GRAPHQL", # required, accepts GRAPHQL
1658
+ # text: "DefinitionText", # required
1659
+ # },
1660
+ # compatible_namespace_version: 1,
1661
+ # })
1662
+ #
1663
+ # @example Response structure
1664
+ #
1665
+ # resp.summary.id #=> String
1666
+ # resp.summary.arn #=> String
1667
+ # resp.summary.revision_number #=> Integer
1668
+ # resp.summary.created_at #=> Time
1669
+ #
1670
+ # @overload update_flow_template(params = {})
1671
+ # @param [Hash] params ({})
1672
+ def update_flow_template(params = {}, options = {})
1673
+ req = build_request(:update_flow_template, params)
1674
+ req.send_request(options)
1675
+ end
1676
+
1677
+ # Updates the specified system. You don't need to run this action after
1678
+ # updating a workflow. Any deployment that uses the system will see the
1679
+ # changes in the system when it is redeployed.
1680
+ #
1681
+ # @option params [required, String] :id
1682
+ # The ID of the system to be updated.
1683
+ #
1684
+ # The ID should be in the following format.
1685
+ #
1686
+ # `urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME`
1687
+ #
1688
+ # @option params [required, Types::DefinitionDocument] :definition
1689
+ # The `DefinitionDocument` that contains the updated system definition.
1690
+ #
1691
+ # @option params [Integer] :compatible_namespace_version
1692
+ # The version of the user's namespace. Defaults to the latest version
1693
+ # of the user's namespace.
1694
+ #
1695
+ # If no value is specified, the latest version is used by default.
1696
+ #
1697
+ # @return [Types::UpdateSystemTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1698
+ #
1699
+ # * {Types::UpdateSystemTemplateResponse#summary #summary} => Types::SystemTemplateSummary
1700
+ #
1701
+ # @example Request syntax with placeholder values
1702
+ #
1703
+ # resp = client.update_system_template({
1704
+ # id: "Urn", # required
1705
+ # definition: { # required
1706
+ # language: "GRAPHQL", # required, accepts GRAPHQL
1707
+ # text: "DefinitionText", # required
1708
+ # },
1709
+ # compatible_namespace_version: 1,
1710
+ # })
1711
+ #
1712
+ # @example Response structure
1713
+ #
1714
+ # resp.summary.id #=> String
1715
+ # resp.summary.arn #=> String
1716
+ # resp.summary.revision_number #=> Integer
1717
+ # resp.summary.created_at #=> Time
1718
+ #
1719
+ # @overload update_system_template(params = {})
1720
+ # @param [Hash] params ({})
1721
+ def update_system_template(params = {}, options = {})
1722
+ req = build_request(:update_system_template, params)
1723
+ req.send_request(options)
1724
+ end
1725
+
1726
+ # Asynchronously uploads one or more entity definitions to the user's
1727
+ # namespace. The `document` parameter is required if
1728
+ # `syncWithPublicNamespace` and `deleteExistingEntites` are false. If
1729
+ # the `syncWithPublicNamespace` parameter is set to `true`, the user's
1730
+ # namespace will synchronize with the latest version of the public
1731
+ # namespace. If `deprecateExistingEntities` is set to true, all entities
1732
+ # in the latest version will be deleted before the new
1733
+ # `DefinitionDocument` is uploaded.
1734
+ #
1735
+ # When a user uploads entity definitions for the first time, the service
1736
+ # creates a new namespace for the user. The new namespace tracks the
1737
+ # public namespace. Currently users can have only one namespace. The
1738
+ # namespace version increments whenever a user uploads entity
1739
+ # definitions that are backwards-incompatible and whenever a user sets
1740
+ # the `syncWithPublicNamespace` parameter or the
1741
+ # `deprecateExistingEntities` parameter to `true`.
1742
+ #
1743
+ # The IDs for all of the entities should be in URN format. Each entity
1744
+ # must be in the user's namespace. Users can't create entities in the
1745
+ # public namespace, but entity definitions can refer to entities in the
1746
+ # public namespace.
1747
+ #
1748
+ # Valid entities are `Device`, `DeviceModel`, `Service`, `Capability`,
1749
+ # `State`, `Action`, `Event`, `Property`, `Mapping`, `Enum`.
1750
+ #
1751
+ # @option params [Types::DefinitionDocument] :document
1752
+ # The `DefinitionDocument` that defines the updated entities.
1753
+ #
1754
+ # @option params [Boolean] :sync_with_public_namespace
1755
+ # A Boolean that specifies whether to synchronize with the latest
1756
+ # version of the public namespace. If set to `true`, the upload will
1757
+ # create a new namespace version.
1758
+ #
1759
+ # @option params [Boolean] :deprecate_existing_entities
1760
+ # A Boolean that specifies whether to deprecate all entities in the
1761
+ # latest version before uploading the new `DefinitionDocument`. If set
1762
+ # to `true`, the upload will create a new namespace version.
1763
+ #
1764
+ # @return [Types::UploadEntityDefinitionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1765
+ #
1766
+ # * {Types::UploadEntityDefinitionsResponse#upload_id #upload_id} => String
1767
+ #
1768
+ # @example Request syntax with placeholder values
1769
+ #
1770
+ # resp = client.upload_entity_definitions({
1771
+ # document: {
1772
+ # language: "GRAPHQL", # required, accepts GRAPHQL
1773
+ # text: "DefinitionText", # required
1774
+ # },
1775
+ # sync_with_public_namespace: false,
1776
+ # deprecate_existing_entities: false,
1777
+ # })
1778
+ #
1779
+ # @example Response structure
1780
+ #
1781
+ # resp.upload_id #=> String
1782
+ #
1783
+ # @overload upload_entity_definitions(params = {})
1784
+ # @param [Hash] params ({})
1785
+ def upload_entity_definitions(params = {}, options = {})
1786
+ req = build_request(:upload_entity_definitions, params)
1787
+ req.send_request(options)
1788
+ end
1789
+
1790
+ # @!endgroup
1791
+
1792
+ # @param params ({})
1793
+ # @api private
1794
+ def build_request(operation_name, params = {})
1795
+ handlers = @handlers.for(operation_name)
1796
+ context = Seahorse::Client::RequestContext.new(
1797
+ operation_name: operation_name,
1798
+ operation: config.api.operation(operation_name),
1799
+ client: self,
1800
+ params: params,
1801
+ config: config)
1802
+ context[:gem_name] = 'aws-sdk-iotthingsgraph'
1803
+ context[:gem_version] = '1.0.0'
1804
+ Seahorse::Client::Request.new(handlers, context)
1805
+ end
1806
+
1807
+ # @api private
1808
+ # @deprecated
1809
+ def waiter_names
1810
+ []
1811
+ end
1812
+
1813
+ class << self
1814
+
1815
+ # @api private
1816
+ attr_reader :identifier
1817
+
1818
+ # @api private
1819
+ def errors_module
1820
+ Errors
1821
+ end
1822
+
1823
+ end
1824
+ end
1825
+ end