aws-sdk-iotsitewise 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
+ SHA256:
3
+ metadata.gz: 2feed027ca0a4fa612a27cbb51f643521907f46268446c115669fe2c3f8979a9
4
+ data.tar.gz: 426d301d4e371508f4f4ce5bbb6235d97e128df65a0eaeb38b8e3ce48130ce88
5
+ SHA512:
6
+ metadata.gz: 7396050e48a78cef3a766a6bac4307b07bad7fc96c0651c7be4bb69ecbb98d6d3da8eca6ac61c27cae97fa775f55b8fb83842a6637cd2fde7880acbe7195ee12
7
+ data.tar.gz: abfd56eb1f723b4a17866b1e50b0ae66ca0fc8f39e0587cb7d0187d49c6cf4aacec212f01728a9d74dc577058b8d5610451ae74d8d532da61b653fcd33e5615b
@@ -0,0 +1,51 @@
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-iotsitewise/types'
12
+ require_relative 'aws-sdk-iotsitewise/client_api'
13
+ require_relative 'aws-sdk-iotsitewise/client'
14
+ require_relative 'aws-sdk-iotsitewise/errors'
15
+ require_relative 'aws-sdk-iotsitewise/waiters'
16
+ require_relative 'aws-sdk-iotsitewise/resource'
17
+ require_relative 'aws-sdk-iotsitewise/customizations'
18
+
19
+ # This module provides support for AWS IoT SiteWise. This module is available in the
20
+ # `aws-sdk-iotsitewise` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # io_t_site_wise = Aws::IoTSiteWise::Client.new
29
+ # resp = io_t_site_wise.associate_assets(params)
30
+ #
31
+ # See {Client} for more information.
32
+ #
33
+ # # Errors
34
+ #
35
+ # Errors returned from AWS IoT SiteWise are defined in the
36
+ # {Errors} module and all extend {Errors::ServiceError}.
37
+ #
38
+ # begin
39
+ # # do stuff
40
+ # rescue Aws::IoTSiteWise::Errors::ServiceError
41
+ # # rescues all AWS IoT SiteWise API errors
42
+ # end
43
+ #
44
+ # See {Errors} for more information.
45
+ #
46
+ # @service
47
+ module Aws::IoTSiteWise
48
+
49
+ GEM_VERSION = '1.0.0'
50
+
51
+ end
@@ -0,0 +1,3364 @@
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/rest_json.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iotsitewise)
31
+
32
+ module Aws::IoTSiteWise
33
+ # An API client for IoTSiteWise. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::IoTSiteWise::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
45
+ class Client < Seahorse::Client::Base
46
+
47
+ include Aws::ClientStubs
48
+
49
+ @identifier = :iotsitewise
50
+
51
+ set_api(ClientApi::API)
52
+
53
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
54
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
55
+ add_plugin(Aws::Plugins::Logging)
56
+ add_plugin(Aws::Plugins::ParamConverter)
57
+ add_plugin(Aws::Plugins::ParamValidator)
58
+ add_plugin(Aws::Plugins::UserAgent)
59
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
60
+ add_plugin(Aws::Plugins::RetryErrors)
61
+ add_plugin(Aws::Plugins::GlobalConfiguration)
62
+ add_plugin(Aws::Plugins::RegionalEndpoint)
63
+ add_plugin(Aws::Plugins::EndpointDiscovery)
64
+ add_plugin(Aws::Plugins::EndpointPattern)
65
+ add_plugin(Aws::Plugins::ResponsePaging)
66
+ add_plugin(Aws::Plugins::StubResponses)
67
+ add_plugin(Aws::Plugins::IdempotencyToken)
68
+ add_plugin(Aws::Plugins::JsonvalueConverter)
69
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
+ add_plugin(Aws::Plugins::TransferEncoding)
72
+ add_plugin(Aws::Plugins::SignatureV4)
73
+ add_plugin(Aws::Plugins::Protocols::RestJson)
74
+
75
+ # @overload initialize(options)
76
+ # @param [Hash] options
77
+ # @option options [required, Aws::CredentialProvider] :credentials
78
+ # Your AWS credentials. This can be an instance of any one of the
79
+ # following classes:
80
+ #
81
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
+ # credentials.
83
+ #
84
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
+ # from an EC2 IMDS on an EC2 instance.
86
+ #
87
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
88
+ # shared file, such as `~/.aws/config`.
89
+ #
90
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
91
+ #
92
+ # When `:credentials` are not configured directly, the following
93
+ # locations will be searched for credentials:
94
+ #
95
+ # * `Aws.config[:credentials]`
96
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
97
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
+ # * `~/.aws/credentials`
99
+ # * `~/.aws/config`
100
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
101
+ # very aggressive. Construct and pass an instance of
102
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
103
+ # timeouts.
104
+ #
105
+ # @option options [required, String] :region
106
+ # The AWS region to connect to. The configured `:region` is
107
+ # used to determine the service `:endpoint`. When not passed,
108
+ # a default `:region` is search for in the following locations:
109
+ #
110
+ # * `Aws.config[:region]`
111
+ # * `ENV['AWS_REGION']`
112
+ # * `ENV['AMAZON_REGION']`
113
+ # * `ENV['AWS_DEFAULT_REGION']`
114
+ # * `~/.aws/credentials`
115
+ # * `~/.aws/config`
116
+ #
117
+ # @option options [String] :access_key_id
118
+ #
119
+ # @option options [Boolean] :active_endpoint_cache (false)
120
+ # When set to `true`, a thread polling for endpoints will be running in
121
+ # the background every 60 secs (default). Defaults to `false`.
122
+ #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
129
+ # @option options [Boolean] :client_side_monitoring (false)
130
+ # When `true`, client-side metrics will be collected for all API requests from
131
+ # this client.
132
+ #
133
+ # @option options [String] :client_side_monitoring_client_id ("")
134
+ # Allows you to provide an identifier for this client which will be attached to
135
+ # all generated client side metrics. Defaults to an empty string.
136
+ #
137
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
138
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
139
+ # side monitoring agent is running on, where client metrics will be published via UDP.
140
+ #
141
+ # @option options [Integer] :client_side_monitoring_port (31000)
142
+ # Required for publishing client metrics. The port that the client side monitoring
143
+ # agent is running on, where client metrics will be published via UDP.
144
+ #
145
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
146
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
147
+ # will use the Client Side Monitoring Agent Publisher.
148
+ #
149
+ # @option options [Boolean] :convert_params (true)
150
+ # When `true`, an attempt is made to coerce request parameters into
151
+ # the required types.
152
+ #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
157
+ # @option options [Boolean] :disable_host_prefix_injection (false)
158
+ # Set to true to disable SDK automatically adding host prefix
159
+ # to default service endpoint when available.
160
+ #
161
+ # @option options [String] :endpoint
162
+ # The client endpoint is normally constructed from the `:region`
163
+ # option. You should only configure an `:endpoint` when connecting
164
+ # to test endpoints. This should be avalid HTTP(S) URI.
165
+ #
166
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
167
+ # Used for the maximum size limit of the LRU cache storing endpoints data
168
+ # for endpoint discovery enabled operations. Defaults to 1000.
169
+ #
170
+ # @option options [Integer] :endpoint_cache_max_threads (10)
171
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
172
+ #
173
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
174
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
175
+ # Use this option to config the time interval in seconds for making
176
+ # requests fetching endpoints information. Defaults to 60 sec.
177
+ #
178
+ # @option options [Boolean] :endpoint_discovery (false)
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
180
+ #
181
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
+ # The log formatter.
183
+ #
184
+ # @option options [Symbol] :log_level (:info)
185
+ # The log level to send messages to the `:logger` at.
186
+ #
187
+ # @option options [Logger] :logger
188
+ # The Logger instance to send log messages to. If this option
189
+ # is not set, logging will be disabled.
190
+ #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
197
+ # @option options [String] :profile ("default")
198
+ # Used when loading credentials from the shared credentials file
199
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
200
+ #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
205
+ # @option options [Float] :retry_base_delay (0.3)
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
208
+ #
209
+ # @option options [Symbol] :retry_jitter (:none)
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
214
+ #
215
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
216
+ #
217
+ # @option options [Integer] :retry_limit (3)
218
+ # The maximum number of times to retry failed requests. Only
219
+ # ~ 500 level server errors and certain ~ 400 level client errors
220
+ # are retried. Generally, these are throttling errors, data
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
224
+ #
225
+ # @option options [Integer] :retry_max_delay (0)
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
245
+ #
246
+ # @option options [String] :secret_access_key
247
+ #
248
+ # @option options [String] :session_token
249
+ #
250
+ # @option options [Boolean] :stub_responses (false)
251
+ # Causes the client to return stubbed responses. By default
252
+ # fake responses are generated and returned. You can specify
253
+ # the response data to return or errors to raise by calling
254
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
255
+ #
256
+ # ** Please note ** When response stubbing is enabled, no HTTP
257
+ # requests are made, and retries are disabled.
258
+ #
259
+ # @option options [Boolean] :validate_params (true)
260
+ # When `true`, request parameters are validated before
261
+ # sending the request.
262
+ #
263
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
264
+ # requests through. Formatted like 'http://proxy.com:123'.
265
+ #
266
+ # @option options [Float] :http_open_timeout (15) The number of
267
+ # seconds to wait when opening a HTTP session before raising a
268
+ # `Timeout::Error`.
269
+ #
270
+ # @option options [Integer] :http_read_timeout (60) The default
271
+ # number of seconds to wait for response data. This value can
272
+ # safely be set per-request on the session.
273
+ #
274
+ # @option options [Float] :http_idle_timeout (5) The number of
275
+ # seconds a connection is allowed to sit idle before it is
276
+ # considered stale. Stale connections are closed and removed
277
+ # from the pool before making a request.
278
+ #
279
+ # @option options [Float] :http_continue_timeout (1) The number of
280
+ # seconds to wait for a 100-continue response before sending the
281
+ # request body. This option has no effect unless the request has
282
+ # "Expect" header set to "100-continue". Defaults to `nil` which
283
+ # disables this behaviour. This value can safely be set per
284
+ # request on the session.
285
+ #
286
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
287
+ # HTTP debug output will be sent to the `:logger`.
288
+ #
289
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
290
+ # SSL peer certificates are verified when establishing a
291
+ # connection.
292
+ #
293
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
294
+ # certificate authority bundle file that should be used when
295
+ # verifying peer certificates. If you do not pass
296
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
297
+ # will be used if available.
298
+ #
299
+ # @option options [String] :ssl_ca_directory Full path of the
300
+ # directory that contains the unbundled SSL certificate
301
+ # authority files for verifying peer certificates. If you do
302
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
303
+ # system default will be used if available.
304
+ #
305
+ def initialize(*args)
306
+ super
307
+ end
308
+
309
+ # @!group API Operations
310
+
311
+ # Associates a child asset with the given parent asset through a
312
+ # hierarchy defined in the parent asset's model. For more information,
313
+ # see [Associating Assets][1] in the *AWS IoT SiteWise User Guide*.
314
+ #
315
+ #
316
+ #
317
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/add-associated-assets.html
318
+ #
319
+ # @option params [required, String] :asset_id
320
+ # The ID of the parent asset.
321
+ #
322
+ # @option params [required, String] :hierarchy_id
323
+ # The ID of a hierarchy in the parent asset's model. Hierarchies allow
324
+ # different groupings of assets to be formed that all come from the same
325
+ # asset model. For more information, see [Asset Hierarchies][1] in the
326
+ # *AWS IoT SiteWise User Guide*.
327
+ #
328
+ #
329
+ #
330
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
331
+ #
332
+ # @option params [required, String] :child_asset_id
333
+ # The ID of the child asset to be associated.
334
+ #
335
+ # @option params [String] :client_token
336
+ # A unique case-sensitive identifier that you can provide to ensure the
337
+ # idempotency of the request. Don't reuse this client token if a new
338
+ # idempotent request is required.
339
+ #
340
+ # **A suitable default value is auto-generated.** You should normally
341
+ # not need to pass this option.**
342
+ #
343
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
344
+ #
345
+ # @example Request syntax with placeholder values
346
+ #
347
+ # resp = client.associate_assets({
348
+ # asset_id: "ID", # required
349
+ # hierarchy_id: "ID", # required
350
+ # child_asset_id: "ID", # required
351
+ # client_token: "ClientToken",
352
+ # })
353
+ #
354
+ # @overload associate_assets(params = {})
355
+ # @param [Hash] params ({})
356
+ def associate_assets(params = {}, options = {})
357
+ req = build_request(:associate_assets, params)
358
+ req.send_request(options)
359
+ end
360
+
361
+ # Associates a group (batch) of assets with an AWS IoT SiteWise Monitor
362
+ # project.
363
+ #
364
+ # @option params [required, String] :project_id
365
+ # The ID of the project to which to associate the assets.
366
+ #
367
+ # @option params [required, Array<String>] :asset_ids
368
+ # The IDs of the assets to be associated to the project.
369
+ #
370
+ # @option params [String] :client_token
371
+ # A unique case-sensitive identifier that you can provide to ensure the
372
+ # idempotency of the request. Don't reuse this client token if a new
373
+ # idempotent request is required.
374
+ #
375
+ # **A suitable default value is auto-generated.** You should normally
376
+ # not need to pass this option.**
377
+ #
378
+ # @return [Types::BatchAssociateProjectAssetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
379
+ #
380
+ # * {Types::BatchAssociateProjectAssetsResponse#errors #errors} => Array&lt;Types::AssetErrorDetails&gt;
381
+ #
382
+ # @example Request syntax with placeholder values
383
+ #
384
+ # resp = client.batch_associate_project_assets({
385
+ # project_id: "ID", # required
386
+ # asset_ids: ["ID"], # required
387
+ # client_token: "ClientToken",
388
+ # })
389
+ #
390
+ # @example Response structure
391
+ #
392
+ # resp.errors #=> Array
393
+ # resp.errors[0].asset_id #=> String
394
+ # resp.errors[0].code #=> String, one of "INTERNAL_FAILURE"
395
+ # resp.errors[0].message #=> String
396
+ #
397
+ # @overload batch_associate_project_assets(params = {})
398
+ # @param [Hash] params ({})
399
+ def batch_associate_project_assets(params = {}, options = {})
400
+ req = build_request(:batch_associate_project_assets, params)
401
+ req.send_request(options)
402
+ end
403
+
404
+ # Disassociates a group (batch) of assets from an AWS IoT SiteWise
405
+ # Monitor project.
406
+ #
407
+ # @option params [required, String] :project_id
408
+ # The ID of the project from which to disassociate the assets.
409
+ #
410
+ # @option params [required, Array<String>] :asset_ids
411
+ # The IDs of the assets to be disassociated from the project.
412
+ #
413
+ # @option params [String] :client_token
414
+ # A unique case-sensitive identifier that you can provide to ensure the
415
+ # idempotency of the request. Don't reuse this client token if a new
416
+ # idempotent request is required.
417
+ #
418
+ # **A suitable default value is auto-generated.** You should normally
419
+ # not need to pass this option.**
420
+ #
421
+ # @return [Types::BatchDisassociateProjectAssetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
422
+ #
423
+ # * {Types::BatchDisassociateProjectAssetsResponse#errors #errors} => Array&lt;Types::AssetErrorDetails&gt;
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ #
427
+ # resp = client.batch_disassociate_project_assets({
428
+ # project_id: "ID", # required
429
+ # asset_ids: ["ID"], # required
430
+ # client_token: "ClientToken",
431
+ # })
432
+ #
433
+ # @example Response structure
434
+ #
435
+ # resp.errors #=> Array
436
+ # resp.errors[0].asset_id #=> String
437
+ # resp.errors[0].code #=> String, one of "INTERNAL_FAILURE"
438
+ # resp.errors[0].message #=> String
439
+ #
440
+ # @overload batch_disassociate_project_assets(params = {})
441
+ # @param [Hash] params ({})
442
+ def batch_disassociate_project_assets(params = {}, options = {})
443
+ req = build_request(:batch_disassociate_project_assets, params)
444
+ req.send_request(options)
445
+ end
446
+
447
+ # Sends a list of asset property values to AWS IoT SiteWise. Each value
448
+ # is a timestamp-quality-value (TQV) data point. For more information,
449
+ # see [Ingesting Data Using the API][1] in the *AWS IoT SiteWise User
450
+ # Guide*.
451
+ #
452
+ # To identify an asset property, you must specify one of the following:
453
+ #
454
+ # * The `assetId` and `propertyId` of an asset property.
455
+ #
456
+ # * A `propertyAlias`, which is a data stream alias (for example,
457
+ # `/company/windfarm/3/turbine/7/temperature`). To define an asset
458
+ # property's alias, see [UpdateAssetProperty][2].
459
+ #
460
+ # With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs
461
+ # that have a timestamp of no more than 15 minutes in the past and no
462
+ # more than 5 minutes in the future. AWS IoT SiteWise rejects timestamps
463
+ # outside of the inclusive range of \[-15, +5\] minutes and returns a
464
+ # `TimestampOutOfRangeException` error.
465
+ #
466
+ # For each asset property, AWS IoT SiteWise overwrites TQVs with
467
+ # duplicate timestamps unless the newer TQV has a different quality. For
468
+ # example, if you store a TQV `\{T1, GOOD, V1\}`, then storing `\{T1,
469
+ # GOOD, V2\}` replaces the existing TQV.
470
+ #
471
+ #
472
+ #
473
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-api.html
474
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html
475
+ #
476
+ # @option params [required, Array<Types::PutAssetPropertyValueEntry>] :entries
477
+ # The list of asset property value entries for the batch put request.
478
+ # You can specify up to 10 entries per request. For more information,
479
+ # see [Quotas][1] in the *AWS IoT SiteWise User Guide*.
480
+ #
481
+ #
482
+ #
483
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
484
+ #
485
+ # @return [Types::BatchPutAssetPropertyValueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
486
+ #
487
+ # * {Types::BatchPutAssetPropertyValueResponse#error_entries #error_entries} => Array&lt;Types::BatchPutAssetPropertyErrorEntry&gt;
488
+ #
489
+ # @example Request syntax with placeholder values
490
+ #
491
+ # resp = client.batch_put_asset_property_value({
492
+ # entries: [ # required
493
+ # {
494
+ # entry_id: "EntryId", # required
495
+ # asset_id: "ID",
496
+ # property_id: "ID",
497
+ # property_alias: "AssetPropertyAlias",
498
+ # property_values: [ # required
499
+ # {
500
+ # value: { # required
501
+ # string_value: "PropertyValueStringValue",
502
+ # integer_value: 1,
503
+ # double_value: 1.0,
504
+ # boolean_value: false,
505
+ # },
506
+ # timestamp: { # required
507
+ # time_in_seconds: 1, # required
508
+ # offset_in_nanos: 1,
509
+ # },
510
+ # quality: "GOOD", # accepts GOOD, BAD, UNCERTAIN
511
+ # },
512
+ # ],
513
+ # },
514
+ # ],
515
+ # })
516
+ #
517
+ # @example Response structure
518
+ #
519
+ # resp.error_entries #=> Array
520
+ # resp.error_entries[0].entry_id #=> String
521
+ # resp.error_entries[0].errors #=> Array
522
+ # resp.error_entries[0].errors[0].error_code #=> String, one of "ResourceNotFoundException", "InvalidRequestException", "InternalFailureException", "ServiceUnavailableException", "ThrottlingException", "LimitExceededException", "ConflictingOperationException", "TimestampOutOfRangeException", "AccessDeniedException"
523
+ # resp.error_entries[0].errors[0].error_message #=> String
524
+ # resp.error_entries[0].errors[0].timestamps #=> Array
525
+ # resp.error_entries[0].errors[0].timestamps[0].time_in_seconds #=> Integer
526
+ # resp.error_entries[0].errors[0].timestamps[0].offset_in_nanos #=> Integer
527
+ #
528
+ # @overload batch_put_asset_property_value(params = {})
529
+ # @param [Hash] params ({})
530
+ def batch_put_asset_property_value(params = {}, options = {})
531
+ req = build_request(:batch_put_asset_property_value, params)
532
+ req.send_request(options)
533
+ end
534
+
535
+ # Creates an access policy that grants the specified AWS Single Sign-On
536
+ # user or group access to the specified AWS IoT SiteWise Monitor portal
537
+ # or project resource.
538
+ #
539
+ # @option params [required, Types::Identity] :access_policy_identity
540
+ # The identity for this access policy. Choose either a `user` or a
541
+ # `group` but not both.
542
+ #
543
+ # @option params [required, Types::Resource] :access_policy_resource
544
+ # The AWS IoT SiteWise Monitor resource for this access policy. Choose
545
+ # either `portal` or `project` but not both.
546
+ #
547
+ # @option params [required, String] :access_policy_permission
548
+ # The permission level for this access policy. Note that a project
549
+ # `ADMINISTRATOR` is also known as a project owner.
550
+ #
551
+ # @option params [String] :client_token
552
+ # A unique case-sensitive identifier that you can provide to ensure the
553
+ # idempotency of the request. Don't reuse this client token if a new
554
+ # idempotent request is required.
555
+ #
556
+ # **A suitable default value is auto-generated.** You should normally
557
+ # not need to pass this option.**
558
+ #
559
+ # @option params [Hash<String,String>] :tags
560
+ # A list of key-value pairs that contain metadata for the access policy.
561
+ # For more information, see [Tagging your AWS IoT SiteWise resources][1]
562
+ # in the *AWS IoT SiteWise User Guide*.
563
+ #
564
+ #
565
+ #
566
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
567
+ #
568
+ # @return [Types::CreateAccessPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
569
+ #
570
+ # * {Types::CreateAccessPolicyResponse#access_policy_id #access_policy_id} => String
571
+ # * {Types::CreateAccessPolicyResponse#access_policy_arn #access_policy_arn} => String
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ #
575
+ # resp = client.create_access_policy({
576
+ # access_policy_identity: { # required
577
+ # user: {
578
+ # id: "IdentityId", # required
579
+ # },
580
+ # group: {
581
+ # id: "IdentityId", # required
582
+ # },
583
+ # },
584
+ # access_policy_resource: { # required
585
+ # portal: {
586
+ # id: "ID", # required
587
+ # },
588
+ # project: {
589
+ # id: "ID", # required
590
+ # },
591
+ # },
592
+ # access_policy_permission: "ADMINISTRATOR", # required, accepts ADMINISTRATOR, VIEWER
593
+ # client_token: "ClientToken",
594
+ # tags: {
595
+ # "TagKey" => "TagValue",
596
+ # },
597
+ # })
598
+ #
599
+ # @example Response structure
600
+ #
601
+ # resp.access_policy_id #=> String
602
+ # resp.access_policy_arn #=> String
603
+ #
604
+ # @overload create_access_policy(params = {})
605
+ # @param [Hash] params ({})
606
+ def create_access_policy(params = {}, options = {})
607
+ req = build_request(:create_access_policy, params)
608
+ req.send_request(options)
609
+ end
610
+
611
+ # Creates an asset from an existing asset model. For more information,
612
+ # see [Creating Assets][1] in the *AWS IoT SiteWise User Guide*.
613
+ #
614
+ #
615
+ #
616
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html
617
+ #
618
+ # @option params [required, String] :asset_name
619
+ # A unique, friendly name for the asset.
620
+ #
621
+ # @option params [required, String] :asset_model_id
622
+ # The ID of the asset model from which to create the asset.
623
+ #
624
+ # @option params [String] :client_token
625
+ # A unique case-sensitive identifier that you can provide to ensure the
626
+ # idempotency of the request. Don't reuse this client token if a new
627
+ # idempotent request is required.
628
+ #
629
+ # **A suitable default value is auto-generated.** You should normally
630
+ # not need to pass this option.**
631
+ #
632
+ # @option params [Hash<String,String>] :tags
633
+ # A list of key-value pairs that contain metadata for the asset. For
634
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
635
+ # the *AWS IoT SiteWise User Guide*.
636
+ #
637
+ #
638
+ #
639
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
640
+ #
641
+ # @return [Types::CreateAssetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
642
+ #
643
+ # * {Types::CreateAssetResponse#asset_id #asset_id} => String
644
+ # * {Types::CreateAssetResponse#asset_arn #asset_arn} => String
645
+ # * {Types::CreateAssetResponse#asset_status #asset_status} => Types::AssetStatus
646
+ #
647
+ # @example Request syntax with placeholder values
648
+ #
649
+ # resp = client.create_asset({
650
+ # asset_name: "Name", # required
651
+ # asset_model_id: "ID", # required
652
+ # client_token: "ClientToken",
653
+ # tags: {
654
+ # "TagKey" => "TagValue",
655
+ # },
656
+ # })
657
+ #
658
+ # @example Response structure
659
+ #
660
+ # resp.asset_id #=> String
661
+ # resp.asset_arn #=> String
662
+ # resp.asset_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
663
+ # resp.asset_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
664
+ # resp.asset_status.error.message #=> String
665
+ #
666
+ # @overload create_asset(params = {})
667
+ # @param [Hash] params ({})
668
+ def create_asset(params = {}, options = {})
669
+ req = build_request(:create_asset, params)
670
+ req.send_request(options)
671
+ end
672
+
673
+ # Creates an asset model from specified property and hierarchy
674
+ # definitions. You create assets from asset models. With asset models,
675
+ # you can easily create assets of the same type that have standardized
676
+ # definitions. Each asset created from a model inherits the asset
677
+ # model's property and hierarchy definitions. For more information, see
678
+ # [Defining Asset Models][1] in the *AWS IoT SiteWise User Guide*.
679
+ #
680
+ #
681
+ #
682
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html
683
+ #
684
+ # @option params [required, String] :asset_model_name
685
+ # A unique, friendly name for the asset model.
686
+ #
687
+ # @option params [String] :asset_model_description
688
+ # A description for the asset model.
689
+ #
690
+ # @option params [Array<Types::AssetModelPropertyDefinition>] :asset_model_properties
691
+ # The property definitions of the asset model. For more information, see
692
+ # [Asset Properties][1] in the *AWS IoT SiteWise User Guide*.
693
+ #
694
+ # You can specify up to 200 properties per asset model. For more
695
+ # information, see [Quotas][2] in the *AWS IoT SiteWise User Guide*.
696
+ #
697
+ #
698
+ #
699
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html
700
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
701
+ #
702
+ # @option params [Array<Types::AssetModelHierarchyDefinition>] :asset_model_hierarchies
703
+ # The hierarchy definitions of the asset model. Each hierarchy specifies
704
+ # an asset model whose assets can be children of any other assets
705
+ # created from this asset model. For more information, see [Asset
706
+ # Hierarchies][1] in the *AWS IoT SiteWise User Guide*.
707
+ #
708
+ # You can specify up to 10 hierarchies per asset model. For more
709
+ # information, see [Quotas][2] in the *AWS IoT SiteWise User Guide*.
710
+ #
711
+ #
712
+ #
713
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
714
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
715
+ #
716
+ # @option params [String] :client_token
717
+ # A unique case-sensitive identifier that you can provide to ensure the
718
+ # idempotency of the request. Don't reuse this client token if a new
719
+ # idempotent request is required.
720
+ #
721
+ # **A suitable default value is auto-generated.** You should normally
722
+ # not need to pass this option.**
723
+ #
724
+ # @option params [Hash<String,String>] :tags
725
+ # A list of key-value pairs that contain metadata for the asset model.
726
+ # For more information, see [Tagging your AWS IoT SiteWise resources][1]
727
+ # in the *AWS IoT SiteWise User Guide*.
728
+ #
729
+ #
730
+ #
731
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
732
+ #
733
+ # @return [Types::CreateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
734
+ #
735
+ # * {Types::CreateAssetModelResponse#asset_model_id #asset_model_id} => String
736
+ # * {Types::CreateAssetModelResponse#asset_model_arn #asset_model_arn} => String
737
+ # * {Types::CreateAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
738
+ #
739
+ # @example Request syntax with placeholder values
740
+ #
741
+ # resp = client.create_asset_model({
742
+ # asset_model_name: "Name", # required
743
+ # asset_model_description: "Description",
744
+ # asset_model_properties: [
745
+ # {
746
+ # name: "Name", # required
747
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
748
+ # unit: "PropertyUnit",
749
+ # type: { # required
750
+ # attribute: {
751
+ # default_value: "DefaultValue",
752
+ # },
753
+ # measurement: {
754
+ # },
755
+ # transform: {
756
+ # expression: "Expression", # required
757
+ # variables: [ # required
758
+ # {
759
+ # name: "VariableName", # required
760
+ # value: { # required
761
+ # property_id: "Macro", # required
762
+ # hierarchy_id: "Macro",
763
+ # },
764
+ # },
765
+ # ],
766
+ # },
767
+ # metric: {
768
+ # expression: "Expression", # required
769
+ # variables: [ # required
770
+ # {
771
+ # name: "VariableName", # required
772
+ # value: { # required
773
+ # property_id: "Macro", # required
774
+ # hierarchy_id: "Macro",
775
+ # },
776
+ # },
777
+ # ],
778
+ # window: { # required
779
+ # tumbling: {
780
+ # interval: "Interval", # required
781
+ # },
782
+ # },
783
+ # },
784
+ # },
785
+ # },
786
+ # ],
787
+ # asset_model_hierarchies: [
788
+ # {
789
+ # name: "Name", # required
790
+ # child_asset_model_id: "ID", # required
791
+ # },
792
+ # ],
793
+ # client_token: "ClientToken",
794
+ # tags: {
795
+ # "TagKey" => "TagValue",
796
+ # },
797
+ # })
798
+ #
799
+ # @example Response structure
800
+ #
801
+ # resp.asset_model_id #=> String
802
+ # resp.asset_model_arn #=> String
803
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
804
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
805
+ # resp.asset_model_status.error.message #=> String
806
+ #
807
+ # @overload create_asset_model(params = {})
808
+ # @param [Hash] params ({})
809
+ def create_asset_model(params = {}, options = {})
810
+ req = build_request(:create_asset_model, params)
811
+ req.send_request(options)
812
+ end
813
+
814
+ # Creates a dashboard in an AWS IoT SiteWise Monitor project.
815
+ #
816
+ # @option params [required, String] :project_id
817
+ # The ID of the project in which to create the dashboard.
818
+ #
819
+ # @option params [required, String] :dashboard_name
820
+ # A friendly name for the dashboard.
821
+ #
822
+ # @option params [String] :dashboard_description
823
+ # A description for the dashboard.
824
+ #
825
+ # @option params [required, String] :dashboard_definition
826
+ # The dashboard definition specified in a JSON literal. For detailed
827
+ # information, see [Creating Dashboards (CLI)][1] in the *AWS IoT
828
+ # SiteWise User Guide*.
829
+ #
830
+ #
831
+ #
832
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html
833
+ #
834
+ # @option params [String] :client_token
835
+ # A unique case-sensitive identifier that you can provide to ensure the
836
+ # idempotency of the request. Don't reuse this client token if a new
837
+ # idempotent request is required.
838
+ #
839
+ # **A suitable default value is auto-generated.** You should normally
840
+ # not need to pass this option.**
841
+ #
842
+ # @option params [Hash<String,String>] :tags
843
+ # A list of key-value pairs that contain metadata for the dashboard. For
844
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
845
+ # the *AWS IoT SiteWise User Guide*.
846
+ #
847
+ #
848
+ #
849
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
850
+ #
851
+ # @return [Types::CreateDashboardResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
852
+ #
853
+ # * {Types::CreateDashboardResponse#dashboard_id #dashboard_id} => String
854
+ # * {Types::CreateDashboardResponse#dashboard_arn #dashboard_arn} => String
855
+ #
856
+ # @example Request syntax with placeholder values
857
+ #
858
+ # resp = client.create_dashboard({
859
+ # project_id: "ID", # required
860
+ # dashboard_name: "Name", # required
861
+ # dashboard_description: "Description",
862
+ # dashboard_definition: "DashboardDefinition", # required
863
+ # client_token: "ClientToken",
864
+ # tags: {
865
+ # "TagKey" => "TagValue",
866
+ # },
867
+ # })
868
+ #
869
+ # @example Response structure
870
+ #
871
+ # resp.dashboard_id #=> String
872
+ # resp.dashboard_arn #=> String
873
+ #
874
+ # @overload create_dashboard(params = {})
875
+ # @param [Hash] params ({})
876
+ def create_dashboard(params = {}, options = {})
877
+ req = build_request(:create_dashboard, params)
878
+ req.send_request(options)
879
+ end
880
+
881
+ # Creates a gateway, which is a virtual or edge device that delivers
882
+ # industrial data streams from local servers to AWS IoT SiteWise. For
883
+ # more information, see [Ingesting data using a gateway][1] in the *AWS
884
+ # IoT SiteWise User Guide*.
885
+ #
886
+ #
887
+ #
888
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html
889
+ #
890
+ # @option params [required, String] :gateway_name
891
+ # A unique, friendly name for the gateway.
892
+ #
893
+ # @option params [required, Types::GatewayPlatform] :gateway_platform
894
+ # The gateway's platform. You can only specify one platform in a
895
+ # gateway.
896
+ #
897
+ # @option params [Hash<String,String>] :tags
898
+ # A list of key-value pairs that contain metadata for the gateway. For
899
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
900
+ # the *AWS IoT SiteWise User Guide*.
901
+ #
902
+ #
903
+ #
904
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
905
+ #
906
+ # @return [Types::CreateGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
907
+ #
908
+ # * {Types::CreateGatewayResponse#gateway_id #gateway_id} => String
909
+ # * {Types::CreateGatewayResponse#gateway_arn #gateway_arn} => String
910
+ #
911
+ # @example Request syntax with placeholder values
912
+ #
913
+ # resp = client.create_gateway({
914
+ # gateway_name: "Name", # required
915
+ # gateway_platform: { # required
916
+ # greengrass: { # required
917
+ # group_arn: "ARN", # required
918
+ # },
919
+ # },
920
+ # tags: {
921
+ # "TagKey" => "TagValue",
922
+ # },
923
+ # })
924
+ #
925
+ # @example Response structure
926
+ #
927
+ # resp.gateway_id #=> String
928
+ # resp.gateway_arn #=> String
929
+ #
930
+ # @overload create_gateway(params = {})
931
+ # @param [Hash] params ({})
932
+ def create_gateway(params = {}, options = {})
933
+ req = build_request(:create_gateway, params)
934
+ req.send_request(options)
935
+ end
936
+
937
+ # Creates a portal, which can contain projects and dashboards. Before
938
+ # you can create a portal, you must configure AWS Single Sign-On in the
939
+ # current Region. AWS IoT SiteWise Monitor uses AWS SSO to manage user
940
+ # permissions. For more information, see [Enabling AWS SSO][1] in the
941
+ # *AWS IoT SiteWise User Guide*.
942
+ #
943
+ # <note markdown="1"> Before you can sign in to a new portal, you must add at least one AWS
944
+ # SSO user or group to that portal. For more information, see [Adding or
945
+ # Removing Portal Administrators][2] in the *AWS IoT SiteWise User
946
+ # Guide*.
947
+ #
948
+ # </note>
949
+ #
950
+ #
951
+ #
952
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso
953
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins
954
+ #
955
+ # @option params [required, String] :portal_name
956
+ # A friendly name for the portal.
957
+ #
958
+ # @option params [String] :portal_description
959
+ # A description for the portal.
960
+ #
961
+ # @option params [required, String] :portal_contact_email
962
+ # The AWS administrator's contact email address.
963
+ #
964
+ # @option params [String] :client_token
965
+ # A unique case-sensitive identifier that you can provide to ensure the
966
+ # idempotency of the request. Don't reuse this client token if a new
967
+ # idempotent request is required.
968
+ #
969
+ # **A suitable default value is auto-generated.** You should normally
970
+ # not need to pass this option.**
971
+ #
972
+ # @option params [Types::ImageFile] :portal_logo_image_file
973
+ # A logo image to display in the portal. Upload a square,
974
+ # high-resolution image. The image is displayed on a dark background.
975
+ #
976
+ # @option params [required, String] :role_arn
977
+ # The [ARN][1] of a service role that allows the portal's users to
978
+ # access your AWS IoT SiteWise resources on your behalf. For more
979
+ # information, see [Using service roles for AWS IoT SiteWise Monitor][2]
980
+ # in the *AWS IoT SiteWise User Guide*.
981
+ #
982
+ #
983
+ #
984
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
985
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html
986
+ #
987
+ # @option params [Hash<String,String>] :tags
988
+ # A list of key-value pairs that contain metadata for the portal. For
989
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
990
+ # the *AWS IoT SiteWise User Guide*.
991
+ #
992
+ #
993
+ #
994
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
995
+ #
996
+ # @return [Types::CreatePortalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
997
+ #
998
+ # * {Types::CreatePortalResponse#portal_id #portal_id} => String
999
+ # * {Types::CreatePortalResponse#portal_arn #portal_arn} => String
1000
+ # * {Types::CreatePortalResponse#portal_start_url #portal_start_url} => String
1001
+ # * {Types::CreatePortalResponse#portal_status #portal_status} => Types::PortalStatus
1002
+ # * {Types::CreatePortalResponse#sso_application_id #sso_application_id} => String
1003
+ #
1004
+ # @example Request syntax with placeholder values
1005
+ #
1006
+ # resp = client.create_portal({
1007
+ # portal_name: "Name", # required
1008
+ # portal_description: "Description",
1009
+ # portal_contact_email: "Email", # required
1010
+ # client_token: "ClientToken",
1011
+ # portal_logo_image_file: {
1012
+ # encoded_string: "data", # required
1013
+ # file_type: "PNG", # required, accepts PNG
1014
+ # },
1015
+ # role_arn: "ARN", # required
1016
+ # tags: {
1017
+ # "TagKey" => "TagValue",
1018
+ # },
1019
+ # })
1020
+ #
1021
+ # @example Response structure
1022
+ #
1023
+ # resp.portal_id #=> String
1024
+ # resp.portal_arn #=> String
1025
+ # resp.portal_start_url #=> String
1026
+ # resp.portal_status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "FAILED"
1027
+ # resp.portal_status.error.code #=> String, one of "INTERNAL_FAILURE"
1028
+ # resp.portal_status.error.message #=> String
1029
+ # resp.sso_application_id #=> String
1030
+ #
1031
+ # @overload create_portal(params = {})
1032
+ # @param [Hash] params ({})
1033
+ def create_portal(params = {}, options = {})
1034
+ req = build_request(:create_portal, params)
1035
+ req.send_request(options)
1036
+ end
1037
+
1038
+ # Creates a project in the specified portal.
1039
+ #
1040
+ # @option params [required, String] :portal_id
1041
+ # The ID of the portal in which to create the project.
1042
+ #
1043
+ # @option params [required, String] :project_name
1044
+ # A friendly name for the project.
1045
+ #
1046
+ # @option params [String] :project_description
1047
+ # A description for the project.
1048
+ #
1049
+ # @option params [String] :client_token
1050
+ # A unique case-sensitive identifier that you can provide to ensure the
1051
+ # idempotency of the request. Don't reuse this client token if a new
1052
+ # idempotent request is required.
1053
+ #
1054
+ # **A suitable default value is auto-generated.** You should normally
1055
+ # not need to pass this option.**
1056
+ #
1057
+ # @option params [Hash<String,String>] :tags
1058
+ # A list of key-value pairs that contain metadata for the project. For
1059
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
1060
+ # the *AWS IoT SiteWise User Guide*.
1061
+ #
1062
+ #
1063
+ #
1064
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
1065
+ #
1066
+ # @return [Types::CreateProjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1067
+ #
1068
+ # * {Types::CreateProjectResponse#project_id #project_id} => String
1069
+ # * {Types::CreateProjectResponse#project_arn #project_arn} => String
1070
+ #
1071
+ # @example Request syntax with placeholder values
1072
+ #
1073
+ # resp = client.create_project({
1074
+ # portal_id: "ID", # required
1075
+ # project_name: "Name", # required
1076
+ # project_description: "Description",
1077
+ # client_token: "ClientToken",
1078
+ # tags: {
1079
+ # "TagKey" => "TagValue",
1080
+ # },
1081
+ # })
1082
+ #
1083
+ # @example Response structure
1084
+ #
1085
+ # resp.project_id #=> String
1086
+ # resp.project_arn #=> String
1087
+ #
1088
+ # @overload create_project(params = {})
1089
+ # @param [Hash] params ({})
1090
+ def create_project(params = {}, options = {})
1091
+ req = build_request(:create_project, params)
1092
+ req.send_request(options)
1093
+ end
1094
+
1095
+ # Deletes an access policy that grants the specified AWS Single Sign-On
1096
+ # identity access to the specified AWS IoT SiteWise Monitor resource.
1097
+ # You can use this action to revoke access to an AWS IoT SiteWise
1098
+ # Monitor resource.
1099
+ #
1100
+ # @option params [required, String] :access_policy_id
1101
+ # The ID of the access policy to be deleted.
1102
+ #
1103
+ # @option params [String] :client_token
1104
+ # A unique case-sensitive identifier that you can provide to ensure the
1105
+ # idempotency of the request. Don't reuse this client token if a new
1106
+ # idempotent request is required.
1107
+ #
1108
+ # **A suitable default value is auto-generated.** You should normally
1109
+ # not need to pass this option.**
1110
+ #
1111
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1112
+ #
1113
+ # @example Request syntax with placeholder values
1114
+ #
1115
+ # resp = client.delete_access_policy({
1116
+ # access_policy_id: "ID", # required
1117
+ # client_token: "ClientToken",
1118
+ # })
1119
+ #
1120
+ # @overload delete_access_policy(params = {})
1121
+ # @param [Hash] params ({})
1122
+ def delete_access_policy(params = {}, options = {})
1123
+ req = build_request(:delete_access_policy, params)
1124
+ req.send_request(options)
1125
+ end
1126
+
1127
+ # Deletes an asset. This action can't be undone. For more information,
1128
+ # see [Deleting Assets and Models][1] in the *AWS IoT SiteWise User
1129
+ # Guide*.
1130
+ #
1131
+ # <note markdown="1"> You can't delete an asset that's associated to another asset. For
1132
+ # more information, see [DisassociateAssets][2].
1133
+ #
1134
+ # </note>
1135
+ #
1136
+ #
1137
+ #
1138
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html
1139
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DisassociateAssets.html
1140
+ #
1141
+ # @option params [required, String] :asset_id
1142
+ # The ID of the asset to delete.
1143
+ #
1144
+ # @option params [String] :client_token
1145
+ # A unique case-sensitive identifier that you can provide to ensure the
1146
+ # idempotency of the request. Don't reuse this client token if a new
1147
+ # idempotent request is required.
1148
+ #
1149
+ # **A suitable default value is auto-generated.** You should normally
1150
+ # not need to pass this option.**
1151
+ #
1152
+ # @return [Types::DeleteAssetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1153
+ #
1154
+ # * {Types::DeleteAssetResponse#asset_status #asset_status} => Types::AssetStatus
1155
+ #
1156
+ # @example Request syntax with placeholder values
1157
+ #
1158
+ # resp = client.delete_asset({
1159
+ # asset_id: "ID", # required
1160
+ # client_token: "ClientToken",
1161
+ # })
1162
+ #
1163
+ # @example Response structure
1164
+ #
1165
+ # resp.asset_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
1166
+ # resp.asset_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1167
+ # resp.asset_status.error.message #=> String
1168
+ #
1169
+ # @overload delete_asset(params = {})
1170
+ # @param [Hash] params ({})
1171
+ def delete_asset(params = {}, options = {})
1172
+ req = build_request(:delete_asset, params)
1173
+ req.send_request(options)
1174
+ end
1175
+
1176
+ # Deletes an asset model. This action can't be undone. You must delete
1177
+ # all assets created from an asset model before you can delete the
1178
+ # model. Also, you can't delete an asset model if a parent asset model
1179
+ # exists that contains a property formula expression that depends on the
1180
+ # asset model that you want to delete. For more information, see
1181
+ # [Deleting Assets and Models][1] in the *AWS IoT SiteWise User Guide*.
1182
+ #
1183
+ #
1184
+ #
1185
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html
1186
+ #
1187
+ # @option params [required, String] :asset_model_id
1188
+ # The ID of the asset model to delete.
1189
+ #
1190
+ # @option params [String] :client_token
1191
+ # A unique case-sensitive identifier that you can provide to ensure the
1192
+ # idempotency of the request. Don't reuse this client token if a new
1193
+ # idempotent request is required.
1194
+ #
1195
+ # **A suitable default value is auto-generated.** You should normally
1196
+ # not need to pass this option.**
1197
+ #
1198
+ # @return [Types::DeleteAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1199
+ #
1200
+ # * {Types::DeleteAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
1201
+ #
1202
+ # @example Request syntax with placeholder values
1203
+ #
1204
+ # resp = client.delete_asset_model({
1205
+ # asset_model_id: "ID", # required
1206
+ # client_token: "ClientToken",
1207
+ # })
1208
+ #
1209
+ # @example Response structure
1210
+ #
1211
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
1212
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1213
+ # resp.asset_model_status.error.message #=> String
1214
+ #
1215
+ # @overload delete_asset_model(params = {})
1216
+ # @param [Hash] params ({})
1217
+ def delete_asset_model(params = {}, options = {})
1218
+ req = build_request(:delete_asset_model, params)
1219
+ req.send_request(options)
1220
+ end
1221
+
1222
+ # Deletes a dashboard from AWS IoT SiteWise Monitor.
1223
+ #
1224
+ # @option params [required, String] :dashboard_id
1225
+ # The ID of the dashboard to delete.
1226
+ #
1227
+ # @option params [String] :client_token
1228
+ # A unique case-sensitive identifier that you can provide to ensure the
1229
+ # idempotency of the request. Don't reuse this client token if a new
1230
+ # idempotent request is required.
1231
+ #
1232
+ # **A suitable default value is auto-generated.** You should normally
1233
+ # not need to pass this option.**
1234
+ #
1235
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1236
+ #
1237
+ # @example Request syntax with placeholder values
1238
+ #
1239
+ # resp = client.delete_dashboard({
1240
+ # dashboard_id: "ID", # required
1241
+ # client_token: "ClientToken",
1242
+ # })
1243
+ #
1244
+ # @overload delete_dashboard(params = {})
1245
+ # @param [Hash] params ({})
1246
+ def delete_dashboard(params = {}, options = {})
1247
+ req = build_request(:delete_dashboard, params)
1248
+ req.send_request(options)
1249
+ end
1250
+
1251
+ # Deletes a gateway from AWS IoT SiteWise. When you delete a gateway,
1252
+ # some of the gateway's files remain in your gateway's file system.
1253
+ # For more information, see [Data retention][1] in the *AWS IoT SiteWise
1254
+ # User Guide*.
1255
+ #
1256
+ #
1257
+ #
1258
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-retention.html
1259
+ #
1260
+ # @option params [required, String] :gateway_id
1261
+ # The ID of the gateway to delete.
1262
+ #
1263
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1264
+ #
1265
+ # @example Request syntax with placeholder values
1266
+ #
1267
+ # resp = client.delete_gateway({
1268
+ # gateway_id: "ID", # required
1269
+ # })
1270
+ #
1271
+ # @overload delete_gateway(params = {})
1272
+ # @param [Hash] params ({})
1273
+ def delete_gateway(params = {}, options = {})
1274
+ req = build_request(:delete_gateway, params)
1275
+ req.send_request(options)
1276
+ end
1277
+
1278
+ # Deletes a portal from AWS IoT SiteWise Monitor.
1279
+ #
1280
+ # @option params [required, String] :portal_id
1281
+ # The ID of the portal to delete.
1282
+ #
1283
+ # @option params [String] :client_token
1284
+ # A unique case-sensitive identifier that you can provide to ensure the
1285
+ # idempotency of the request. Don't reuse this client token if a new
1286
+ # idempotent request is required.
1287
+ #
1288
+ # **A suitable default value is auto-generated.** You should normally
1289
+ # not need to pass this option.**
1290
+ #
1291
+ # @return [Types::DeletePortalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1292
+ #
1293
+ # * {Types::DeletePortalResponse#portal_status #portal_status} => Types::PortalStatus
1294
+ #
1295
+ # @example Request syntax with placeholder values
1296
+ #
1297
+ # resp = client.delete_portal({
1298
+ # portal_id: "ID", # required
1299
+ # client_token: "ClientToken",
1300
+ # })
1301
+ #
1302
+ # @example Response structure
1303
+ #
1304
+ # resp.portal_status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "FAILED"
1305
+ # resp.portal_status.error.code #=> String, one of "INTERNAL_FAILURE"
1306
+ # resp.portal_status.error.message #=> String
1307
+ #
1308
+ # @overload delete_portal(params = {})
1309
+ # @param [Hash] params ({})
1310
+ def delete_portal(params = {}, options = {})
1311
+ req = build_request(:delete_portal, params)
1312
+ req.send_request(options)
1313
+ end
1314
+
1315
+ # Deletes a project from AWS IoT SiteWise Monitor.
1316
+ #
1317
+ # @option params [required, String] :project_id
1318
+ # The ID of the project.
1319
+ #
1320
+ # @option params [String] :client_token
1321
+ # A unique case-sensitive identifier that you can provide to ensure the
1322
+ # idempotency of the request. Don't reuse this client token if a new
1323
+ # idempotent request is required.
1324
+ #
1325
+ # **A suitable default value is auto-generated.** You should normally
1326
+ # not need to pass this option.**
1327
+ #
1328
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1329
+ #
1330
+ # @example Request syntax with placeholder values
1331
+ #
1332
+ # resp = client.delete_project({
1333
+ # project_id: "ID", # required
1334
+ # client_token: "ClientToken",
1335
+ # })
1336
+ #
1337
+ # @overload delete_project(params = {})
1338
+ # @param [Hash] params ({})
1339
+ def delete_project(params = {}, options = {})
1340
+ req = build_request(:delete_project, params)
1341
+ req.send_request(options)
1342
+ end
1343
+
1344
+ # Describes an access policy, which specifies an AWS SSO user or
1345
+ # group's access to an AWS IoT SiteWise Monitor portal or project.
1346
+ #
1347
+ # @option params [required, String] :access_policy_id
1348
+ # The ID of the access policy.
1349
+ #
1350
+ # @return [Types::DescribeAccessPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1351
+ #
1352
+ # * {Types::DescribeAccessPolicyResponse#access_policy_id #access_policy_id} => String
1353
+ # * {Types::DescribeAccessPolicyResponse#access_policy_arn #access_policy_arn} => String
1354
+ # * {Types::DescribeAccessPolicyResponse#access_policy_identity #access_policy_identity} => Types::Identity
1355
+ # * {Types::DescribeAccessPolicyResponse#access_policy_resource #access_policy_resource} => Types::Resource
1356
+ # * {Types::DescribeAccessPolicyResponse#access_policy_permission #access_policy_permission} => String
1357
+ # * {Types::DescribeAccessPolicyResponse#access_policy_creation_date #access_policy_creation_date} => Time
1358
+ # * {Types::DescribeAccessPolicyResponse#access_policy_last_update_date #access_policy_last_update_date} => Time
1359
+ #
1360
+ # @example Request syntax with placeholder values
1361
+ #
1362
+ # resp = client.describe_access_policy({
1363
+ # access_policy_id: "ID", # required
1364
+ # })
1365
+ #
1366
+ # @example Response structure
1367
+ #
1368
+ # resp.access_policy_id #=> String
1369
+ # resp.access_policy_arn #=> String
1370
+ # resp.access_policy_identity.user.id #=> String
1371
+ # resp.access_policy_identity.group.id #=> String
1372
+ # resp.access_policy_resource.portal.id #=> String
1373
+ # resp.access_policy_resource.project.id #=> String
1374
+ # resp.access_policy_permission #=> String, one of "ADMINISTRATOR", "VIEWER"
1375
+ # resp.access_policy_creation_date #=> Time
1376
+ # resp.access_policy_last_update_date #=> Time
1377
+ #
1378
+ # @overload describe_access_policy(params = {})
1379
+ # @param [Hash] params ({})
1380
+ def describe_access_policy(params = {}, options = {})
1381
+ req = build_request(:describe_access_policy, params)
1382
+ req.send_request(options)
1383
+ end
1384
+
1385
+ # Retrieves information about an asset.
1386
+ #
1387
+ # @option params [required, String] :asset_id
1388
+ # The ID of the asset.
1389
+ #
1390
+ # @return [Types::DescribeAssetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1391
+ #
1392
+ # * {Types::DescribeAssetResponse#asset_id #asset_id} => String
1393
+ # * {Types::DescribeAssetResponse#asset_arn #asset_arn} => String
1394
+ # * {Types::DescribeAssetResponse#asset_name #asset_name} => String
1395
+ # * {Types::DescribeAssetResponse#asset_model_id #asset_model_id} => String
1396
+ # * {Types::DescribeAssetResponse#asset_properties #asset_properties} => Array&lt;Types::AssetProperty&gt;
1397
+ # * {Types::DescribeAssetResponse#asset_hierarchies #asset_hierarchies} => Array&lt;Types::AssetHierarchy&gt;
1398
+ # * {Types::DescribeAssetResponse#asset_creation_date #asset_creation_date} => Time
1399
+ # * {Types::DescribeAssetResponse#asset_last_update_date #asset_last_update_date} => Time
1400
+ # * {Types::DescribeAssetResponse#asset_status #asset_status} => Types::AssetStatus
1401
+ #
1402
+ # @example Request syntax with placeholder values
1403
+ #
1404
+ # resp = client.describe_asset({
1405
+ # asset_id: "ID", # required
1406
+ # })
1407
+ #
1408
+ # @example Response structure
1409
+ #
1410
+ # resp.asset_id #=> String
1411
+ # resp.asset_arn #=> String
1412
+ # resp.asset_name #=> String
1413
+ # resp.asset_model_id #=> String
1414
+ # resp.asset_properties #=> Array
1415
+ # resp.asset_properties[0].id #=> String
1416
+ # resp.asset_properties[0].name #=> String
1417
+ # resp.asset_properties[0].alias #=> String
1418
+ # resp.asset_properties[0].notification.topic #=> String
1419
+ # resp.asset_properties[0].notification.state #=> String, one of "ENABLED", "DISABLED"
1420
+ # resp.asset_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1421
+ # resp.asset_properties[0].unit #=> String
1422
+ # resp.asset_hierarchies #=> Array
1423
+ # resp.asset_hierarchies[0].id #=> String
1424
+ # resp.asset_hierarchies[0].name #=> String
1425
+ # resp.asset_creation_date #=> Time
1426
+ # resp.asset_last_update_date #=> Time
1427
+ # resp.asset_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
1428
+ # resp.asset_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1429
+ # resp.asset_status.error.message #=> String
1430
+ #
1431
+ #
1432
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1433
+ #
1434
+ # * asset_active
1435
+ # * asset_not_exists
1436
+ #
1437
+ # @overload describe_asset(params = {})
1438
+ # @param [Hash] params ({})
1439
+ def describe_asset(params = {}, options = {})
1440
+ req = build_request(:describe_asset, params)
1441
+ req.send_request(options)
1442
+ end
1443
+
1444
+ # Retrieves information about an asset model.
1445
+ #
1446
+ # @option params [required, String] :asset_model_id
1447
+ # The ID of the asset model.
1448
+ #
1449
+ # @return [Types::DescribeAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1450
+ #
1451
+ # * {Types::DescribeAssetModelResponse#asset_model_id #asset_model_id} => String
1452
+ # * {Types::DescribeAssetModelResponse#asset_model_arn #asset_model_arn} => String
1453
+ # * {Types::DescribeAssetModelResponse#asset_model_name #asset_model_name} => String
1454
+ # * {Types::DescribeAssetModelResponse#asset_model_description #asset_model_description} => String
1455
+ # * {Types::DescribeAssetModelResponse#asset_model_properties #asset_model_properties} => Array&lt;Types::AssetModelProperty&gt;
1456
+ # * {Types::DescribeAssetModelResponse#asset_model_hierarchies #asset_model_hierarchies} => Array&lt;Types::AssetModelHierarchy&gt;
1457
+ # * {Types::DescribeAssetModelResponse#asset_model_creation_date #asset_model_creation_date} => Time
1458
+ # * {Types::DescribeAssetModelResponse#asset_model_last_update_date #asset_model_last_update_date} => Time
1459
+ # * {Types::DescribeAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
1460
+ #
1461
+ # @example Request syntax with placeholder values
1462
+ #
1463
+ # resp = client.describe_asset_model({
1464
+ # asset_model_id: "ID", # required
1465
+ # })
1466
+ #
1467
+ # @example Response structure
1468
+ #
1469
+ # resp.asset_model_id #=> String
1470
+ # resp.asset_model_arn #=> String
1471
+ # resp.asset_model_name #=> String
1472
+ # resp.asset_model_description #=> String
1473
+ # resp.asset_model_properties #=> Array
1474
+ # resp.asset_model_properties[0].id #=> String
1475
+ # resp.asset_model_properties[0].name #=> String
1476
+ # resp.asset_model_properties[0].data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1477
+ # resp.asset_model_properties[0].unit #=> String
1478
+ # resp.asset_model_properties[0].type.attribute.default_value #=> String
1479
+ # resp.asset_model_properties[0].type.transform.expression #=> String
1480
+ # resp.asset_model_properties[0].type.transform.variables #=> Array
1481
+ # resp.asset_model_properties[0].type.transform.variables[0].name #=> String
1482
+ # resp.asset_model_properties[0].type.transform.variables[0].value.property_id #=> String
1483
+ # resp.asset_model_properties[0].type.transform.variables[0].value.hierarchy_id #=> String
1484
+ # resp.asset_model_properties[0].type.metric.expression #=> String
1485
+ # resp.asset_model_properties[0].type.metric.variables #=> Array
1486
+ # resp.asset_model_properties[0].type.metric.variables[0].name #=> String
1487
+ # resp.asset_model_properties[0].type.metric.variables[0].value.property_id #=> String
1488
+ # resp.asset_model_properties[0].type.metric.variables[0].value.hierarchy_id #=> String
1489
+ # resp.asset_model_properties[0].type.metric.window.tumbling.interval #=> String
1490
+ # resp.asset_model_hierarchies #=> Array
1491
+ # resp.asset_model_hierarchies[0].id #=> String
1492
+ # resp.asset_model_hierarchies[0].name #=> String
1493
+ # resp.asset_model_hierarchies[0].child_asset_model_id #=> String
1494
+ # resp.asset_model_creation_date #=> Time
1495
+ # resp.asset_model_last_update_date #=> Time
1496
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
1497
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1498
+ # resp.asset_model_status.error.message #=> String
1499
+ #
1500
+ #
1501
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1502
+ #
1503
+ # * asset_model_active
1504
+ # * asset_model_not_exists
1505
+ #
1506
+ # @overload describe_asset_model(params = {})
1507
+ # @param [Hash] params ({})
1508
+ def describe_asset_model(params = {}, options = {})
1509
+ req = build_request(:describe_asset_model, params)
1510
+ req.send_request(options)
1511
+ end
1512
+
1513
+ # Retrieves information about an asset's property.
1514
+ #
1515
+ # @option params [required, String] :asset_id
1516
+ # The ID of the asset.
1517
+ #
1518
+ # @option params [required, String] :property_id
1519
+ # The ID of the asset property.
1520
+ #
1521
+ # @return [Types::DescribeAssetPropertyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1522
+ #
1523
+ # * {Types::DescribeAssetPropertyResponse#asset_id #asset_id} => String
1524
+ # * {Types::DescribeAssetPropertyResponse#asset_name #asset_name} => String
1525
+ # * {Types::DescribeAssetPropertyResponse#asset_model_id #asset_model_id} => String
1526
+ # * {Types::DescribeAssetPropertyResponse#asset_property #asset_property} => Types::Property
1527
+ #
1528
+ # @example Request syntax with placeholder values
1529
+ #
1530
+ # resp = client.describe_asset_property({
1531
+ # asset_id: "ID", # required
1532
+ # property_id: "ID", # required
1533
+ # })
1534
+ #
1535
+ # @example Response structure
1536
+ #
1537
+ # resp.asset_id #=> String
1538
+ # resp.asset_name #=> String
1539
+ # resp.asset_model_id #=> String
1540
+ # resp.asset_property.id #=> String
1541
+ # resp.asset_property.name #=> String
1542
+ # resp.asset_property.alias #=> String
1543
+ # resp.asset_property.notification.topic #=> String
1544
+ # resp.asset_property.notification.state #=> String, one of "ENABLED", "DISABLED"
1545
+ # resp.asset_property.data_type #=> String, one of "STRING", "INTEGER", "DOUBLE", "BOOLEAN"
1546
+ # resp.asset_property.unit #=> String
1547
+ # resp.asset_property.type.attribute.default_value #=> String
1548
+ # resp.asset_property.type.transform.expression #=> String
1549
+ # resp.asset_property.type.transform.variables #=> Array
1550
+ # resp.asset_property.type.transform.variables[0].name #=> String
1551
+ # resp.asset_property.type.transform.variables[0].value.property_id #=> String
1552
+ # resp.asset_property.type.transform.variables[0].value.hierarchy_id #=> String
1553
+ # resp.asset_property.type.metric.expression #=> String
1554
+ # resp.asset_property.type.metric.variables #=> Array
1555
+ # resp.asset_property.type.metric.variables[0].name #=> String
1556
+ # resp.asset_property.type.metric.variables[0].value.property_id #=> String
1557
+ # resp.asset_property.type.metric.variables[0].value.hierarchy_id #=> String
1558
+ # resp.asset_property.type.metric.window.tumbling.interval #=> String
1559
+ #
1560
+ # @overload describe_asset_property(params = {})
1561
+ # @param [Hash] params ({})
1562
+ def describe_asset_property(params = {}, options = {})
1563
+ req = build_request(:describe_asset_property, params)
1564
+ req.send_request(options)
1565
+ end
1566
+
1567
+ # Retrieves information about a dashboard.
1568
+ #
1569
+ # @option params [required, String] :dashboard_id
1570
+ # The ID of the dashboard.
1571
+ #
1572
+ # @return [Types::DescribeDashboardResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1573
+ #
1574
+ # * {Types::DescribeDashboardResponse#dashboard_id #dashboard_id} => String
1575
+ # * {Types::DescribeDashboardResponse#dashboard_arn #dashboard_arn} => String
1576
+ # * {Types::DescribeDashboardResponse#dashboard_name #dashboard_name} => String
1577
+ # * {Types::DescribeDashboardResponse#project_id #project_id} => String
1578
+ # * {Types::DescribeDashboardResponse#dashboard_description #dashboard_description} => String
1579
+ # * {Types::DescribeDashboardResponse#dashboard_definition #dashboard_definition} => String
1580
+ # * {Types::DescribeDashboardResponse#dashboard_creation_date #dashboard_creation_date} => Time
1581
+ # * {Types::DescribeDashboardResponse#dashboard_last_update_date #dashboard_last_update_date} => Time
1582
+ #
1583
+ # @example Request syntax with placeholder values
1584
+ #
1585
+ # resp = client.describe_dashboard({
1586
+ # dashboard_id: "ID", # required
1587
+ # })
1588
+ #
1589
+ # @example Response structure
1590
+ #
1591
+ # resp.dashboard_id #=> String
1592
+ # resp.dashboard_arn #=> String
1593
+ # resp.dashboard_name #=> String
1594
+ # resp.project_id #=> String
1595
+ # resp.dashboard_description #=> String
1596
+ # resp.dashboard_definition #=> String
1597
+ # resp.dashboard_creation_date #=> Time
1598
+ # resp.dashboard_last_update_date #=> Time
1599
+ #
1600
+ # @overload describe_dashboard(params = {})
1601
+ # @param [Hash] params ({})
1602
+ def describe_dashboard(params = {}, options = {})
1603
+ req = build_request(:describe_dashboard, params)
1604
+ req.send_request(options)
1605
+ end
1606
+
1607
+ # Retrieves information about a gateway.
1608
+ #
1609
+ # @option params [required, String] :gateway_id
1610
+ # The ID of the gateway device.
1611
+ #
1612
+ # @return [Types::DescribeGatewayResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1613
+ #
1614
+ # * {Types::DescribeGatewayResponse#gateway_id #gateway_id} => String
1615
+ # * {Types::DescribeGatewayResponse#gateway_name #gateway_name} => String
1616
+ # * {Types::DescribeGatewayResponse#gateway_arn #gateway_arn} => String
1617
+ # * {Types::DescribeGatewayResponse#gateway_platform #gateway_platform} => Types::GatewayPlatform
1618
+ # * {Types::DescribeGatewayResponse#gateway_capability_summaries #gateway_capability_summaries} => Array&lt;Types::GatewayCapabilitySummary&gt;
1619
+ # * {Types::DescribeGatewayResponse#creation_date #creation_date} => Time
1620
+ # * {Types::DescribeGatewayResponse#last_update_date #last_update_date} => Time
1621
+ #
1622
+ # @example Request syntax with placeholder values
1623
+ #
1624
+ # resp = client.describe_gateway({
1625
+ # gateway_id: "ID", # required
1626
+ # })
1627
+ #
1628
+ # @example Response structure
1629
+ #
1630
+ # resp.gateway_id #=> String
1631
+ # resp.gateway_name #=> String
1632
+ # resp.gateway_arn #=> String
1633
+ # resp.gateway_platform.greengrass.group_arn #=> String
1634
+ # resp.gateway_capability_summaries #=> Array
1635
+ # resp.gateway_capability_summaries[0].capability_namespace #=> String
1636
+ # resp.gateway_capability_summaries[0].capability_sync_status #=> String, one of "IN_SYNC", "OUT_OF_SYNC", "SYNC_FAILED"
1637
+ # resp.creation_date #=> Time
1638
+ # resp.last_update_date #=> Time
1639
+ #
1640
+ # @overload describe_gateway(params = {})
1641
+ # @param [Hash] params ({})
1642
+ def describe_gateway(params = {}, options = {})
1643
+ req = build_request(:describe_gateway, params)
1644
+ req.send_request(options)
1645
+ end
1646
+
1647
+ # Retrieves information about a gateway capability configuration. Each
1648
+ # gateway capability defines data sources for a gateway. A capability
1649
+ # configuration can contain multiple data source configurations. If you
1650
+ # define OPC-UA sources for a gateway in the AWS IoT SiteWise console,
1651
+ # all of your OPC-UA sources are stored in one capability configuration.
1652
+ # To list all capability configurations for a gateway, use
1653
+ # [DescribeGateway][1].
1654
+ #
1655
+ #
1656
+ #
1657
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html
1658
+ #
1659
+ # @option params [required, String] :gateway_id
1660
+ # The ID of the gateway that defines the capability configuration.
1661
+ #
1662
+ # @option params [required, String] :capability_namespace
1663
+ # The namespace of the capability configuration. For example, if you
1664
+ # configure OPC-UA sources from the AWS IoT SiteWise console, your
1665
+ # OPC-UA capability configuration has the namespace
1666
+ # `iotsitewise:opcuacollector:version`, where `version` is a number such
1667
+ # as `1`.
1668
+ #
1669
+ # @return [Types::DescribeGatewayCapabilityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1670
+ #
1671
+ # * {Types::DescribeGatewayCapabilityConfigurationResponse#gateway_id #gateway_id} => String
1672
+ # * {Types::DescribeGatewayCapabilityConfigurationResponse#capability_namespace #capability_namespace} => String
1673
+ # * {Types::DescribeGatewayCapabilityConfigurationResponse#capability_configuration #capability_configuration} => String
1674
+ # * {Types::DescribeGatewayCapabilityConfigurationResponse#capability_sync_status #capability_sync_status} => String
1675
+ #
1676
+ # @example Request syntax with placeholder values
1677
+ #
1678
+ # resp = client.describe_gateway_capability_configuration({
1679
+ # gateway_id: "ID", # required
1680
+ # capability_namespace: "CapabilityNamespace", # required
1681
+ # })
1682
+ #
1683
+ # @example Response structure
1684
+ #
1685
+ # resp.gateway_id #=> String
1686
+ # resp.capability_namespace #=> String
1687
+ # resp.capability_configuration #=> String
1688
+ # resp.capability_sync_status #=> String, one of "IN_SYNC", "OUT_OF_SYNC", "SYNC_FAILED"
1689
+ #
1690
+ # @overload describe_gateway_capability_configuration(params = {})
1691
+ # @param [Hash] params ({})
1692
+ def describe_gateway_capability_configuration(params = {}, options = {})
1693
+ req = build_request(:describe_gateway_capability_configuration, params)
1694
+ req.send_request(options)
1695
+ end
1696
+
1697
+ # Retrieves the current AWS IoT SiteWise logging options.
1698
+ #
1699
+ # @return [Types::DescribeLoggingOptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1700
+ #
1701
+ # * {Types::DescribeLoggingOptionsResponse#logging_options #logging_options} => Types::LoggingOptions
1702
+ #
1703
+ # @example Response structure
1704
+ #
1705
+ # resp.logging_options.level #=> String, one of "ERROR", "INFO", "OFF"
1706
+ #
1707
+ # @overload describe_logging_options(params = {})
1708
+ # @param [Hash] params ({})
1709
+ def describe_logging_options(params = {}, options = {})
1710
+ req = build_request(:describe_logging_options, params)
1711
+ req.send_request(options)
1712
+ end
1713
+
1714
+ # Retrieves information about a portal.
1715
+ #
1716
+ # @option params [required, String] :portal_id
1717
+ # The ID of the portal.
1718
+ #
1719
+ # @return [Types::DescribePortalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1720
+ #
1721
+ # * {Types::DescribePortalResponse#portal_id #portal_id} => String
1722
+ # * {Types::DescribePortalResponse#portal_arn #portal_arn} => String
1723
+ # * {Types::DescribePortalResponse#portal_name #portal_name} => String
1724
+ # * {Types::DescribePortalResponse#portal_description #portal_description} => String
1725
+ # * {Types::DescribePortalResponse#portal_client_id #portal_client_id} => String
1726
+ # * {Types::DescribePortalResponse#portal_start_url #portal_start_url} => String
1727
+ # * {Types::DescribePortalResponse#portal_contact_email #portal_contact_email} => String
1728
+ # * {Types::DescribePortalResponse#portal_status #portal_status} => Types::PortalStatus
1729
+ # * {Types::DescribePortalResponse#portal_creation_date #portal_creation_date} => Time
1730
+ # * {Types::DescribePortalResponse#portal_last_update_date #portal_last_update_date} => Time
1731
+ # * {Types::DescribePortalResponse#portal_logo_image #portal_logo_image} => Types::Image
1732
+ # * {Types::DescribePortalResponse#role_arn #role_arn} => String
1733
+ #
1734
+ # @example Request syntax with placeholder values
1735
+ #
1736
+ # resp = client.describe_portal({
1737
+ # portal_id: "ID", # required
1738
+ # })
1739
+ #
1740
+ # @example Response structure
1741
+ #
1742
+ # resp.portal_id #=> String
1743
+ # resp.portal_arn #=> String
1744
+ # resp.portal_name #=> String
1745
+ # resp.portal_description #=> String
1746
+ # resp.portal_client_id #=> String
1747
+ # resp.portal_start_url #=> String
1748
+ # resp.portal_contact_email #=> String
1749
+ # resp.portal_status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "FAILED"
1750
+ # resp.portal_status.error.code #=> String, one of "INTERNAL_FAILURE"
1751
+ # resp.portal_status.error.message #=> String
1752
+ # resp.portal_creation_date #=> Time
1753
+ # resp.portal_last_update_date #=> Time
1754
+ # resp.portal_logo_image.location_url #=> String
1755
+ # resp.portal_logo_image.last_update_date #=> Time
1756
+ # resp.role_arn #=> String
1757
+ #
1758
+ #
1759
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1760
+ #
1761
+ # * portal_active
1762
+ # * portal_not_exists
1763
+ #
1764
+ # @overload describe_portal(params = {})
1765
+ # @param [Hash] params ({})
1766
+ def describe_portal(params = {}, options = {})
1767
+ req = build_request(:describe_portal, params)
1768
+ req.send_request(options)
1769
+ end
1770
+
1771
+ # Retrieves information about a project.
1772
+ #
1773
+ # @option params [required, String] :project_id
1774
+ # The ID of the project.
1775
+ #
1776
+ # @return [Types::DescribeProjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1777
+ #
1778
+ # * {Types::DescribeProjectResponse#project_id #project_id} => String
1779
+ # * {Types::DescribeProjectResponse#project_arn #project_arn} => String
1780
+ # * {Types::DescribeProjectResponse#project_name #project_name} => String
1781
+ # * {Types::DescribeProjectResponse#portal_id #portal_id} => String
1782
+ # * {Types::DescribeProjectResponse#project_description #project_description} => String
1783
+ # * {Types::DescribeProjectResponse#project_creation_date #project_creation_date} => Time
1784
+ # * {Types::DescribeProjectResponse#project_last_update_date #project_last_update_date} => Time
1785
+ #
1786
+ # @example Request syntax with placeholder values
1787
+ #
1788
+ # resp = client.describe_project({
1789
+ # project_id: "ID", # required
1790
+ # })
1791
+ #
1792
+ # @example Response structure
1793
+ #
1794
+ # resp.project_id #=> String
1795
+ # resp.project_arn #=> String
1796
+ # resp.project_name #=> String
1797
+ # resp.portal_id #=> String
1798
+ # resp.project_description #=> String
1799
+ # resp.project_creation_date #=> Time
1800
+ # resp.project_last_update_date #=> Time
1801
+ #
1802
+ # @overload describe_project(params = {})
1803
+ # @param [Hash] params ({})
1804
+ def describe_project(params = {}, options = {})
1805
+ req = build_request(:describe_project, params)
1806
+ req.send_request(options)
1807
+ end
1808
+
1809
+ # Disassociates a child asset from the given parent asset through a
1810
+ # hierarchy defined in the parent asset's model.
1811
+ #
1812
+ # @option params [required, String] :asset_id
1813
+ # The ID of the parent asset from which to disassociate the child asset.
1814
+ #
1815
+ # @option params [required, String] :hierarchy_id
1816
+ # The ID of a hierarchy in the parent asset's model. Hierarchies allow
1817
+ # different groupings of assets to be formed that all come from the same
1818
+ # asset model. You can use the hierarchy ID to identify the correct
1819
+ # asset to disassociate. For more information, see [Asset
1820
+ # Hierarchies][1] in the *AWS IoT SiteWise User Guide*.
1821
+ #
1822
+ #
1823
+ #
1824
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
1825
+ #
1826
+ # @option params [required, String] :child_asset_id
1827
+ # The ID of the child asset to disassociate.
1828
+ #
1829
+ # @option params [String] :client_token
1830
+ # A unique case-sensitive identifier that you can provide to ensure the
1831
+ # idempotency of the request. Don't reuse this client token if a new
1832
+ # idempotent request is required.
1833
+ #
1834
+ # **A suitable default value is auto-generated.** You should normally
1835
+ # not need to pass this option.**
1836
+ #
1837
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1838
+ #
1839
+ # @example Request syntax with placeholder values
1840
+ #
1841
+ # resp = client.disassociate_assets({
1842
+ # asset_id: "ID", # required
1843
+ # hierarchy_id: "ID", # required
1844
+ # child_asset_id: "ID", # required
1845
+ # client_token: "ClientToken",
1846
+ # })
1847
+ #
1848
+ # @overload disassociate_assets(params = {})
1849
+ # @param [Hash] params ({})
1850
+ def disassociate_assets(params = {}, options = {})
1851
+ req = build_request(:disassociate_assets, params)
1852
+ req.send_request(options)
1853
+ end
1854
+
1855
+ # Gets aggregated values for an asset property. For more information,
1856
+ # see [Querying Aggregated Property Values][1] in the *AWS IoT SiteWise
1857
+ # User Guide*.
1858
+ #
1859
+ # To identify an asset property, you must specify one of the following:
1860
+ #
1861
+ # * The `assetId` and `propertyId` of an asset property.
1862
+ #
1863
+ # * A `propertyAlias`, which is a data stream alias (for example,
1864
+ # `/company/windfarm/3/turbine/7/temperature`). To define an asset
1865
+ # property's alias, see [UpdateAssetProperty][2].
1866
+ #
1867
+ #
1868
+ #
1869
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates
1870
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html
1871
+ #
1872
+ # @option params [String] :asset_id
1873
+ # The ID of the asset.
1874
+ #
1875
+ # @option params [String] :property_id
1876
+ # The ID of the asset property.
1877
+ #
1878
+ # @option params [String] :property_alias
1879
+ # The property alias that identifies the property, such as an OPC-UA
1880
+ # server data stream path (for example,
1881
+ # `/company/windfarm/3/turbine/7/temperature`). For more information,
1882
+ # see [Mapping Industrial Data Streams to Asset Properties][1] in the
1883
+ # *AWS IoT SiteWise User Guide*.
1884
+ #
1885
+ #
1886
+ #
1887
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
1888
+ #
1889
+ # @option params [required, Array<String>] :aggregate_types
1890
+ # The data aggregating function.
1891
+ #
1892
+ # @option params [required, String] :resolution
1893
+ # The time interval over which to aggregate data.
1894
+ #
1895
+ # @option params [Array<String>] :qualities
1896
+ # The quality by which to filter asset data.
1897
+ #
1898
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_date
1899
+ # The exclusive start of the range from which to query historical data,
1900
+ # expressed in seconds in Unix epoch time.
1901
+ #
1902
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_date
1903
+ # The inclusive end of the range from which to query historical data,
1904
+ # expressed in seconds in Unix epoch time.
1905
+ #
1906
+ # @option params [String] :time_ordering
1907
+ # The chronological sorting order of the requested information.
1908
+ #
1909
+ # @option params [String] :next_token
1910
+ # The token to be used for the next set of paginated results.
1911
+ #
1912
+ # @option params [Integer] :max_results
1913
+ # The maximum number of results to be returned per paginated request.
1914
+ #
1915
+ # @return [Types::GetAssetPropertyAggregatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1916
+ #
1917
+ # * {Types::GetAssetPropertyAggregatesResponse#aggregated_values #aggregated_values} => Array&lt;Types::AggregatedValue&gt;
1918
+ # * {Types::GetAssetPropertyAggregatesResponse#next_token #next_token} => String
1919
+ #
1920
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1921
+ #
1922
+ # @example Request syntax with placeholder values
1923
+ #
1924
+ # resp = client.get_asset_property_aggregates({
1925
+ # asset_id: "ID",
1926
+ # property_id: "ID",
1927
+ # property_alias: "AssetPropertyAlias",
1928
+ # aggregate_types: ["AVERAGE"], # required, accepts AVERAGE, COUNT, MAXIMUM, MINIMUM, SUM
1929
+ # resolution: "Resolution", # required
1930
+ # qualities: ["GOOD"], # accepts GOOD, BAD, UNCERTAIN
1931
+ # start_date: Time.now, # required
1932
+ # end_date: Time.now, # required
1933
+ # time_ordering: "ASCENDING", # accepts ASCENDING, DESCENDING
1934
+ # next_token: "NextToken",
1935
+ # max_results: 1,
1936
+ # })
1937
+ #
1938
+ # @example Response structure
1939
+ #
1940
+ # resp.aggregated_values #=> Array
1941
+ # resp.aggregated_values[0].timestamp #=> Time
1942
+ # resp.aggregated_values[0].quality #=> String, one of "GOOD", "BAD", "UNCERTAIN"
1943
+ # resp.aggregated_values[0].value.average #=> Float
1944
+ # resp.aggregated_values[0].value.count #=> Float
1945
+ # resp.aggregated_values[0].value.maximum #=> Float
1946
+ # resp.aggregated_values[0].value.minimum #=> Float
1947
+ # resp.aggregated_values[0].value.sum #=> Float
1948
+ # resp.next_token #=> String
1949
+ #
1950
+ # @overload get_asset_property_aggregates(params = {})
1951
+ # @param [Hash] params ({})
1952
+ def get_asset_property_aggregates(params = {}, options = {})
1953
+ req = build_request(:get_asset_property_aggregates, params)
1954
+ req.send_request(options)
1955
+ end
1956
+
1957
+ # Gets an asset property's current value. For more information, see
1958
+ # [Querying Current Property Values][1] in the *AWS IoT SiteWise User
1959
+ # Guide*.
1960
+ #
1961
+ # To identify an asset property, you must specify one of the following:
1962
+ #
1963
+ # * The `assetId` and `propertyId` of an asset property.
1964
+ #
1965
+ # * A `propertyAlias`, which is a data stream alias (for example,
1966
+ # `/company/windfarm/3/turbine/7/temperature`). To define an asset
1967
+ # property's alias, see [UpdateAssetProperty][2].
1968
+ #
1969
+ #
1970
+ #
1971
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values
1972
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html
1973
+ #
1974
+ # @option params [String] :asset_id
1975
+ # The ID of the asset.
1976
+ #
1977
+ # @option params [String] :property_id
1978
+ # The ID of the asset property.
1979
+ #
1980
+ # @option params [String] :property_alias
1981
+ # The property alias that identifies the property, such as an OPC-UA
1982
+ # server data stream path (for example,
1983
+ # `/company/windfarm/3/turbine/7/temperature`). For more information,
1984
+ # see [Mapping Industrial Data Streams to Asset Properties][1] in the
1985
+ # *AWS IoT SiteWise User Guide*.
1986
+ #
1987
+ #
1988
+ #
1989
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
1990
+ #
1991
+ # @return [Types::GetAssetPropertyValueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1992
+ #
1993
+ # * {Types::GetAssetPropertyValueResponse#property_value #property_value} => Types::AssetPropertyValue
1994
+ #
1995
+ # @example Request syntax with placeholder values
1996
+ #
1997
+ # resp = client.get_asset_property_value({
1998
+ # asset_id: "ID",
1999
+ # property_id: "ID",
2000
+ # property_alias: "AssetPropertyAlias",
2001
+ # })
2002
+ #
2003
+ # @example Response structure
2004
+ #
2005
+ # resp.property_value.value.string_value #=> String
2006
+ # resp.property_value.value.integer_value #=> Integer
2007
+ # resp.property_value.value.double_value #=> Float
2008
+ # resp.property_value.value.boolean_value #=> Boolean
2009
+ # resp.property_value.timestamp.time_in_seconds #=> Integer
2010
+ # resp.property_value.timestamp.offset_in_nanos #=> Integer
2011
+ # resp.property_value.quality #=> String, one of "GOOD", "BAD", "UNCERTAIN"
2012
+ #
2013
+ # @overload get_asset_property_value(params = {})
2014
+ # @param [Hash] params ({})
2015
+ def get_asset_property_value(params = {}, options = {})
2016
+ req = build_request(:get_asset_property_value, params)
2017
+ req.send_request(options)
2018
+ end
2019
+
2020
+ # Gets the history of an asset property's values. For more information,
2021
+ # see [Querying Historical Property Values][1] in the *AWS IoT SiteWise
2022
+ # User Guide*.
2023
+ #
2024
+ # To identify an asset property, you must specify one of the following:
2025
+ #
2026
+ # * The `assetId` and `propertyId` of an asset property.
2027
+ #
2028
+ # * A `propertyAlias`, which is a data stream alias (for example,
2029
+ # `/company/windfarm/3/turbine/7/temperature`). To define an asset
2030
+ # property's alias, see [UpdateAssetProperty][2].
2031
+ #
2032
+ #
2033
+ #
2034
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values
2035
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html
2036
+ #
2037
+ # @option params [String] :asset_id
2038
+ # The ID of the asset.
2039
+ #
2040
+ # @option params [String] :property_id
2041
+ # The ID of the asset property.
2042
+ #
2043
+ # @option params [String] :property_alias
2044
+ # The property alias that identifies the property, such as an OPC-UA
2045
+ # server data stream path (for example,
2046
+ # `/company/windfarm/3/turbine/7/temperature`). For more information,
2047
+ # see [Mapping Industrial Data Streams to Asset Properties][1] in the
2048
+ # *AWS IoT SiteWise User Guide*.
2049
+ #
2050
+ #
2051
+ #
2052
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
2053
+ #
2054
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_date
2055
+ # The exclusive start of the range from which to query historical data,
2056
+ # expressed in seconds in Unix epoch time.
2057
+ #
2058
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_date
2059
+ # The inclusive end of the range from which to query historical data,
2060
+ # expressed in seconds in Unix epoch time.
2061
+ #
2062
+ # @option params [Array<String>] :qualities
2063
+ # The quality by which to filter asset data.
2064
+ #
2065
+ # @option params [String] :time_ordering
2066
+ # The chronological sorting order of the requested information.
2067
+ #
2068
+ # @option params [String] :next_token
2069
+ # The token to be used for the next set of paginated results.
2070
+ #
2071
+ # @option params [Integer] :max_results
2072
+ # The maximum number of results to be returned per paginated request.
2073
+ #
2074
+ # @return [Types::GetAssetPropertyValueHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2075
+ #
2076
+ # * {Types::GetAssetPropertyValueHistoryResponse#asset_property_value_history #asset_property_value_history} => Array&lt;Types::AssetPropertyValue&gt;
2077
+ # * {Types::GetAssetPropertyValueHistoryResponse#next_token #next_token} => String
2078
+ #
2079
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2080
+ #
2081
+ # @example Request syntax with placeholder values
2082
+ #
2083
+ # resp = client.get_asset_property_value_history({
2084
+ # asset_id: "ID",
2085
+ # property_id: "ID",
2086
+ # property_alias: "AssetPropertyAlias",
2087
+ # start_date: Time.now, # required
2088
+ # end_date: Time.now, # required
2089
+ # qualities: ["GOOD"], # accepts GOOD, BAD, UNCERTAIN
2090
+ # time_ordering: "ASCENDING", # accepts ASCENDING, DESCENDING
2091
+ # next_token: "NextToken",
2092
+ # max_results: 1,
2093
+ # })
2094
+ #
2095
+ # @example Response structure
2096
+ #
2097
+ # resp.asset_property_value_history #=> Array
2098
+ # resp.asset_property_value_history[0].value.string_value #=> String
2099
+ # resp.asset_property_value_history[0].value.integer_value #=> Integer
2100
+ # resp.asset_property_value_history[0].value.double_value #=> Float
2101
+ # resp.asset_property_value_history[0].value.boolean_value #=> Boolean
2102
+ # resp.asset_property_value_history[0].timestamp.time_in_seconds #=> Integer
2103
+ # resp.asset_property_value_history[0].timestamp.offset_in_nanos #=> Integer
2104
+ # resp.asset_property_value_history[0].quality #=> String, one of "GOOD", "BAD", "UNCERTAIN"
2105
+ # resp.next_token #=> String
2106
+ #
2107
+ # @overload get_asset_property_value_history(params = {})
2108
+ # @param [Hash] params ({})
2109
+ def get_asset_property_value_history(params = {}, options = {})
2110
+ req = build_request(:get_asset_property_value_history, params)
2111
+ req.send_request(options)
2112
+ end
2113
+
2114
+ # Retrieves a paginated list of access policies for an AWS SSO identity
2115
+ # (a user or group) or an AWS IoT SiteWise Monitor resource (a portal or
2116
+ # project).
2117
+ #
2118
+ # @option params [String] :identity_type
2119
+ # The type of identity (user or group).
2120
+ #
2121
+ # @option params [String] :identity_id
2122
+ # The ID of the identity.
2123
+ #
2124
+ # @option params [String] :resource_type
2125
+ # The type of resource (portal or project).
2126
+ #
2127
+ # @option params [String] :resource_id
2128
+ # The ID of the resource.
2129
+ #
2130
+ # @option params [String] :next_token
2131
+ # The token to be used for the next set of paginated results.
2132
+ #
2133
+ # @option params [Integer] :max_results
2134
+ # The maximum number of results to be returned per paginated request.
2135
+ #
2136
+ # @return [Types::ListAccessPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2137
+ #
2138
+ # * {Types::ListAccessPoliciesResponse#access_policy_summaries #access_policy_summaries} => Array&lt;Types::AccessPolicySummary&gt;
2139
+ # * {Types::ListAccessPoliciesResponse#next_token #next_token} => String
2140
+ #
2141
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2142
+ #
2143
+ # @example Request syntax with placeholder values
2144
+ #
2145
+ # resp = client.list_access_policies({
2146
+ # identity_type: "USER", # accepts USER, GROUP
2147
+ # identity_id: "IdentityId",
2148
+ # resource_type: "PORTAL", # accepts PORTAL, PROJECT
2149
+ # resource_id: "ID",
2150
+ # next_token: "NextToken",
2151
+ # max_results: 1,
2152
+ # })
2153
+ #
2154
+ # @example Response structure
2155
+ #
2156
+ # resp.access_policy_summaries #=> Array
2157
+ # resp.access_policy_summaries[0].id #=> String
2158
+ # resp.access_policy_summaries[0].identity.user.id #=> String
2159
+ # resp.access_policy_summaries[0].identity.group.id #=> String
2160
+ # resp.access_policy_summaries[0].resource.portal.id #=> String
2161
+ # resp.access_policy_summaries[0].resource.project.id #=> String
2162
+ # resp.access_policy_summaries[0].permission #=> String, one of "ADMINISTRATOR", "VIEWER"
2163
+ # resp.access_policy_summaries[0].creation_date #=> Time
2164
+ # resp.access_policy_summaries[0].last_update_date #=> Time
2165
+ # resp.next_token #=> String
2166
+ #
2167
+ # @overload list_access_policies(params = {})
2168
+ # @param [Hash] params ({})
2169
+ def list_access_policies(params = {}, options = {})
2170
+ req = build_request(:list_access_policies, params)
2171
+ req.send_request(options)
2172
+ end
2173
+
2174
+ # Retrieves a paginated list of summaries of all asset models.
2175
+ #
2176
+ # @option params [String] :next_token
2177
+ # The token to be used for the next set of paginated results.
2178
+ #
2179
+ # @option params [Integer] :max_results
2180
+ # The maximum number of results to be returned per paginated request.
2181
+ #
2182
+ # @return [Types::ListAssetModelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2183
+ #
2184
+ # * {Types::ListAssetModelsResponse#asset_model_summaries #asset_model_summaries} => Array&lt;Types::AssetModelSummary&gt;
2185
+ # * {Types::ListAssetModelsResponse#next_token #next_token} => String
2186
+ #
2187
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2188
+ #
2189
+ # @example Request syntax with placeholder values
2190
+ #
2191
+ # resp = client.list_asset_models({
2192
+ # next_token: "NextToken",
2193
+ # max_results: 1,
2194
+ # })
2195
+ #
2196
+ # @example Response structure
2197
+ #
2198
+ # resp.asset_model_summaries #=> Array
2199
+ # resp.asset_model_summaries[0].id #=> String
2200
+ # resp.asset_model_summaries[0].arn #=> String
2201
+ # resp.asset_model_summaries[0].name #=> String
2202
+ # resp.asset_model_summaries[0].description #=> String
2203
+ # resp.asset_model_summaries[0].creation_date #=> Time
2204
+ # resp.asset_model_summaries[0].last_update_date #=> Time
2205
+ # resp.asset_model_summaries[0].status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
2206
+ # resp.asset_model_summaries[0].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2207
+ # resp.asset_model_summaries[0].status.error.message #=> String
2208
+ # resp.next_token #=> String
2209
+ #
2210
+ # @overload list_asset_models(params = {})
2211
+ # @param [Hash] params ({})
2212
+ def list_asset_models(params = {}, options = {})
2213
+ req = build_request(:list_asset_models, params)
2214
+ req.send_request(options)
2215
+ end
2216
+
2217
+ # Retrieves a paginated list of asset summaries.
2218
+ #
2219
+ # @option params [String] :next_token
2220
+ # The token to be used for the next set of paginated results.
2221
+ #
2222
+ # @option params [Integer] :max_results
2223
+ # The maximum number of results to be returned per paginated request.
2224
+ #
2225
+ # @option params [String] :asset_model_id
2226
+ # The ID of the asset model by which to filter the list of assets. Omit
2227
+ # the `assetModelId` to list all assets (of all models).
2228
+ #
2229
+ # @option params [String] :filter
2230
+ # The hierarchy level by which to filter the requested list of assets.
2231
+ #
2232
+ # @return [Types::ListAssetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2233
+ #
2234
+ # * {Types::ListAssetsResponse#asset_summaries #asset_summaries} => Array&lt;Types::AssetSummary&gt;
2235
+ # * {Types::ListAssetsResponse#next_token #next_token} => String
2236
+ #
2237
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2238
+ #
2239
+ # @example Request syntax with placeholder values
2240
+ #
2241
+ # resp = client.list_assets({
2242
+ # next_token: "NextToken",
2243
+ # max_results: 1,
2244
+ # asset_model_id: "ID",
2245
+ # filter: "ALL", # accepts ALL, TOP_LEVEL
2246
+ # })
2247
+ #
2248
+ # @example Response structure
2249
+ #
2250
+ # resp.asset_summaries #=> Array
2251
+ # resp.asset_summaries[0].id #=> String
2252
+ # resp.asset_summaries[0].arn #=> String
2253
+ # resp.asset_summaries[0].name #=> String
2254
+ # resp.asset_summaries[0].asset_model_id #=> String
2255
+ # resp.asset_summaries[0].creation_date #=> Time
2256
+ # resp.asset_summaries[0].last_update_date #=> Time
2257
+ # resp.asset_summaries[0].status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
2258
+ # resp.asset_summaries[0].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2259
+ # resp.asset_summaries[0].status.error.message #=> String
2260
+ # resp.asset_summaries[0].hierarchies #=> Array
2261
+ # resp.asset_summaries[0].hierarchies[0].id #=> String
2262
+ # resp.asset_summaries[0].hierarchies[0].name #=> String
2263
+ # resp.next_token #=> String
2264
+ #
2265
+ # @overload list_assets(params = {})
2266
+ # @param [Hash] params ({})
2267
+ def list_assets(params = {}, options = {})
2268
+ req = build_request(:list_assets, params)
2269
+ req.send_request(options)
2270
+ end
2271
+
2272
+ # Retrieves a paginated list of the assets associated to a parent asset
2273
+ # (`assetId`) by a given hierarchy (`hierarchyId`).
2274
+ #
2275
+ # @option params [required, String] :asset_id
2276
+ # The ID of the parent asset.
2277
+ #
2278
+ # @option params [required, String] :hierarchy_id
2279
+ # The hierarchy ID (of the parent asset model) whose associated assets
2280
+ # are returned. To find a hierarchy ID, use the [DescribeAsset][1] or
2281
+ # [DescribeAssetModel][2] actions.
2282
+ #
2283
+ # For more information, see [Asset Hierarchies][3] in the *AWS IoT
2284
+ # SiteWise User Guide*.
2285
+ #
2286
+ #
2287
+ #
2288
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html
2289
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html
2290
+ # [3]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
2291
+ #
2292
+ # @option params [String] :next_token
2293
+ # The token to be used for the next set of paginated results.
2294
+ #
2295
+ # @option params [Integer] :max_results
2296
+ # The maximum number of results to be returned per paginated request.
2297
+ #
2298
+ # @return [Types::ListAssociatedAssetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2299
+ #
2300
+ # * {Types::ListAssociatedAssetsResponse#asset_summaries #asset_summaries} => Array&lt;Types::AssociatedAssetsSummary&gt;
2301
+ # * {Types::ListAssociatedAssetsResponse#next_token #next_token} => String
2302
+ #
2303
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2304
+ #
2305
+ # @example Request syntax with placeholder values
2306
+ #
2307
+ # resp = client.list_associated_assets({
2308
+ # asset_id: "ID", # required
2309
+ # hierarchy_id: "ID", # required
2310
+ # next_token: "NextToken",
2311
+ # max_results: 1,
2312
+ # })
2313
+ #
2314
+ # @example Response structure
2315
+ #
2316
+ # resp.asset_summaries #=> Array
2317
+ # resp.asset_summaries[0].id #=> String
2318
+ # resp.asset_summaries[0].arn #=> String
2319
+ # resp.asset_summaries[0].name #=> String
2320
+ # resp.asset_summaries[0].asset_model_id #=> String
2321
+ # resp.asset_summaries[0].creation_date #=> Time
2322
+ # resp.asset_summaries[0].last_update_date #=> Time
2323
+ # resp.asset_summaries[0].status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
2324
+ # resp.asset_summaries[0].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2325
+ # resp.asset_summaries[0].status.error.message #=> String
2326
+ # resp.asset_summaries[0].hierarchies #=> Array
2327
+ # resp.asset_summaries[0].hierarchies[0].id #=> String
2328
+ # resp.asset_summaries[0].hierarchies[0].name #=> String
2329
+ # resp.next_token #=> String
2330
+ #
2331
+ # @overload list_associated_assets(params = {})
2332
+ # @param [Hash] params ({})
2333
+ def list_associated_assets(params = {}, options = {})
2334
+ req = build_request(:list_associated_assets, params)
2335
+ req.send_request(options)
2336
+ end
2337
+
2338
+ # Retrieves a paginated list of dashboards for an AWS IoT SiteWise
2339
+ # Monitor project.
2340
+ #
2341
+ # @option params [required, String] :project_id
2342
+ # The ID of the project.
2343
+ #
2344
+ # @option params [String] :next_token
2345
+ # The token to be used for the next set of paginated results.
2346
+ #
2347
+ # @option params [Integer] :max_results
2348
+ # The maximum number of results to be returned per paginated request.
2349
+ #
2350
+ # @return [Types::ListDashboardsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2351
+ #
2352
+ # * {Types::ListDashboardsResponse#dashboard_summaries #dashboard_summaries} => Array&lt;Types::DashboardSummary&gt;
2353
+ # * {Types::ListDashboardsResponse#next_token #next_token} => String
2354
+ #
2355
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2356
+ #
2357
+ # @example Request syntax with placeholder values
2358
+ #
2359
+ # resp = client.list_dashboards({
2360
+ # project_id: "ID", # required
2361
+ # next_token: "NextToken",
2362
+ # max_results: 1,
2363
+ # })
2364
+ #
2365
+ # @example Response structure
2366
+ #
2367
+ # resp.dashboard_summaries #=> Array
2368
+ # resp.dashboard_summaries[0].id #=> String
2369
+ # resp.dashboard_summaries[0].name #=> String
2370
+ # resp.dashboard_summaries[0].description #=> String
2371
+ # resp.dashboard_summaries[0].creation_date #=> Time
2372
+ # resp.dashboard_summaries[0].last_update_date #=> Time
2373
+ # resp.next_token #=> String
2374
+ #
2375
+ # @overload list_dashboards(params = {})
2376
+ # @param [Hash] params ({})
2377
+ def list_dashboards(params = {}, options = {})
2378
+ req = build_request(:list_dashboards, params)
2379
+ req.send_request(options)
2380
+ end
2381
+
2382
+ # Retrieves a paginated list of gateways.
2383
+ #
2384
+ # @option params [String] :next_token
2385
+ # The token to be used for the next set of paginated results.
2386
+ #
2387
+ # @option params [Integer] :max_results
2388
+ # The maximum number of results to be returned per paginated request.
2389
+ #
2390
+ # @return [Types::ListGatewaysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2391
+ #
2392
+ # * {Types::ListGatewaysResponse#gateway_summaries #gateway_summaries} => Array&lt;Types::GatewaySummary&gt;
2393
+ # * {Types::ListGatewaysResponse#next_token #next_token} => String
2394
+ #
2395
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2396
+ #
2397
+ # @example Request syntax with placeholder values
2398
+ #
2399
+ # resp = client.list_gateways({
2400
+ # next_token: "NextToken",
2401
+ # max_results: 1,
2402
+ # })
2403
+ #
2404
+ # @example Response structure
2405
+ #
2406
+ # resp.gateway_summaries #=> Array
2407
+ # resp.gateway_summaries[0].gateway_id #=> String
2408
+ # resp.gateway_summaries[0].gateway_name #=> String
2409
+ # resp.gateway_summaries[0].gateway_capability_summaries #=> Array
2410
+ # resp.gateway_summaries[0].gateway_capability_summaries[0].capability_namespace #=> String
2411
+ # resp.gateway_summaries[0].gateway_capability_summaries[0].capability_sync_status #=> String, one of "IN_SYNC", "OUT_OF_SYNC", "SYNC_FAILED"
2412
+ # resp.gateway_summaries[0].creation_date #=> Time
2413
+ # resp.gateway_summaries[0].last_update_date #=> Time
2414
+ # resp.next_token #=> String
2415
+ #
2416
+ # @overload list_gateways(params = {})
2417
+ # @param [Hash] params ({})
2418
+ def list_gateways(params = {}, options = {})
2419
+ req = build_request(:list_gateways, params)
2420
+ req.send_request(options)
2421
+ end
2422
+
2423
+ # Retrieves a paginated list of AWS IoT SiteWise Monitor portals.
2424
+ #
2425
+ # @option params [String] :next_token
2426
+ # The token to be used for the next set of paginated results.
2427
+ #
2428
+ # @option params [Integer] :max_results
2429
+ # The maximum number of results to be returned per paginated request.
2430
+ #
2431
+ # @return [Types::ListPortalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2432
+ #
2433
+ # * {Types::ListPortalsResponse#portal_summaries #portal_summaries} => Array&lt;Types::PortalSummary&gt;
2434
+ # * {Types::ListPortalsResponse#next_token #next_token} => String
2435
+ #
2436
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2437
+ #
2438
+ # @example Request syntax with placeholder values
2439
+ #
2440
+ # resp = client.list_portals({
2441
+ # next_token: "NextToken",
2442
+ # max_results: 1,
2443
+ # })
2444
+ #
2445
+ # @example Response structure
2446
+ #
2447
+ # resp.portal_summaries #=> Array
2448
+ # resp.portal_summaries[0].id #=> String
2449
+ # resp.portal_summaries[0].name #=> String
2450
+ # resp.portal_summaries[0].description #=> String
2451
+ # resp.portal_summaries[0].start_url #=> String
2452
+ # resp.portal_summaries[0].creation_date #=> Time
2453
+ # resp.portal_summaries[0].last_update_date #=> Time
2454
+ # resp.portal_summaries[0].role_arn #=> String
2455
+ # resp.next_token #=> String
2456
+ #
2457
+ # @overload list_portals(params = {})
2458
+ # @param [Hash] params ({})
2459
+ def list_portals(params = {}, options = {})
2460
+ req = build_request(:list_portals, params)
2461
+ req.send_request(options)
2462
+ end
2463
+
2464
+ # Retrieves a paginated list of assets associated with an AWS IoT
2465
+ # SiteWise Monitor project.
2466
+ #
2467
+ # @option params [required, String] :project_id
2468
+ # The ID of the project.
2469
+ #
2470
+ # @option params [String] :next_token
2471
+ # The token to be used for the next set of paginated results.
2472
+ #
2473
+ # @option params [Integer] :max_results
2474
+ # The maximum number of results to be returned per paginated request.
2475
+ #
2476
+ # @return [Types::ListProjectAssetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2477
+ #
2478
+ # * {Types::ListProjectAssetsResponse#asset_ids #asset_ids} => Array&lt;String&gt;
2479
+ # * {Types::ListProjectAssetsResponse#next_token #next_token} => String
2480
+ #
2481
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2482
+ #
2483
+ # @example Request syntax with placeholder values
2484
+ #
2485
+ # resp = client.list_project_assets({
2486
+ # project_id: "ID", # required
2487
+ # next_token: "NextToken",
2488
+ # max_results: 1,
2489
+ # })
2490
+ #
2491
+ # @example Response structure
2492
+ #
2493
+ # resp.asset_ids #=> Array
2494
+ # resp.asset_ids[0] #=> String
2495
+ # resp.next_token #=> String
2496
+ #
2497
+ # @overload list_project_assets(params = {})
2498
+ # @param [Hash] params ({})
2499
+ def list_project_assets(params = {}, options = {})
2500
+ req = build_request(:list_project_assets, params)
2501
+ req.send_request(options)
2502
+ end
2503
+
2504
+ # Retrieves a paginated list of projects for an AWS IoT SiteWise Monitor
2505
+ # portal.
2506
+ #
2507
+ # @option params [required, String] :portal_id
2508
+ # The ID of the portal.
2509
+ #
2510
+ # @option params [String] :next_token
2511
+ # The token to be used for the next set of paginated results.
2512
+ #
2513
+ # @option params [Integer] :max_results
2514
+ # The maximum number of results to be returned per paginated request.
2515
+ #
2516
+ # @return [Types::ListProjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2517
+ #
2518
+ # * {Types::ListProjectsResponse#project_summaries #project_summaries} => Array&lt;Types::ProjectSummary&gt;
2519
+ # * {Types::ListProjectsResponse#next_token #next_token} => String
2520
+ #
2521
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2522
+ #
2523
+ # @example Request syntax with placeholder values
2524
+ #
2525
+ # resp = client.list_projects({
2526
+ # portal_id: "ID", # required
2527
+ # next_token: "NextToken",
2528
+ # max_results: 1,
2529
+ # })
2530
+ #
2531
+ # @example Response structure
2532
+ #
2533
+ # resp.project_summaries #=> Array
2534
+ # resp.project_summaries[0].id #=> String
2535
+ # resp.project_summaries[0].name #=> String
2536
+ # resp.project_summaries[0].description #=> String
2537
+ # resp.project_summaries[0].creation_date #=> Time
2538
+ # resp.project_summaries[0].last_update_date #=> Time
2539
+ # resp.next_token #=> String
2540
+ #
2541
+ # @overload list_projects(params = {})
2542
+ # @param [Hash] params ({})
2543
+ def list_projects(params = {}, options = {})
2544
+ req = build_request(:list_projects, params)
2545
+ req.send_request(options)
2546
+ end
2547
+
2548
+ # Retrieves the list of tags for an AWS IoT SiteWise resource.
2549
+ #
2550
+ # @option params [required, String] :resource_arn
2551
+ # The [ARN][1] of the resource.
2552
+ #
2553
+ #
2554
+ #
2555
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2556
+ #
2557
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2558
+ #
2559
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2560
+ #
2561
+ # @example Request syntax with placeholder values
2562
+ #
2563
+ # resp = client.list_tags_for_resource({
2564
+ # resource_arn: "AmazonResourceName", # required
2565
+ # })
2566
+ #
2567
+ # @example Response structure
2568
+ #
2569
+ # resp.tags #=> Hash
2570
+ # resp.tags["TagKey"] #=> String
2571
+ #
2572
+ # @overload list_tags_for_resource(params = {})
2573
+ # @param [Hash] params ({})
2574
+ def list_tags_for_resource(params = {}, options = {})
2575
+ req = build_request(:list_tags_for_resource, params)
2576
+ req.send_request(options)
2577
+ end
2578
+
2579
+ # Sets logging options for AWS IoT SiteWise.
2580
+ #
2581
+ # @option params [required, Types::LoggingOptions] :logging_options
2582
+ # The logging options to set.
2583
+ #
2584
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2585
+ #
2586
+ # @example Request syntax with placeholder values
2587
+ #
2588
+ # resp = client.put_logging_options({
2589
+ # logging_options: { # required
2590
+ # level: "ERROR", # required, accepts ERROR, INFO, OFF
2591
+ # },
2592
+ # })
2593
+ #
2594
+ # @overload put_logging_options(params = {})
2595
+ # @param [Hash] params ({})
2596
+ def put_logging_options(params = {}, options = {})
2597
+ req = build_request(:put_logging_options, params)
2598
+ req.send_request(options)
2599
+ end
2600
+
2601
+ # Adds tags to an AWS IoT SiteWise resource. If a tag already exists for
2602
+ # the resource, this operation updates the tag's value.
2603
+ #
2604
+ # @option params [required, String] :resource_arn
2605
+ # The [ARN][1] of the resource to tag.
2606
+ #
2607
+ #
2608
+ #
2609
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2610
+ #
2611
+ # @option params [required, Hash<String,String>] :tags
2612
+ # A list of key-value pairs that contain metadata for the resource. For
2613
+ # more information, see [Tagging your AWS IoT SiteWise resources][1] in
2614
+ # the *AWS IoT SiteWise User Guide*.
2615
+ #
2616
+ #
2617
+ #
2618
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
2619
+ #
2620
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2621
+ #
2622
+ # @example Request syntax with placeholder values
2623
+ #
2624
+ # resp = client.tag_resource({
2625
+ # resource_arn: "AmazonResourceName", # required
2626
+ # tags: { # required
2627
+ # "TagKey" => "TagValue",
2628
+ # },
2629
+ # })
2630
+ #
2631
+ # @overload tag_resource(params = {})
2632
+ # @param [Hash] params ({})
2633
+ def tag_resource(params = {}, options = {})
2634
+ req = build_request(:tag_resource, params)
2635
+ req.send_request(options)
2636
+ end
2637
+
2638
+ # Removes a tag from an AWS IoT SiteWise resource.
2639
+ #
2640
+ # @option params [required, String] :resource_arn
2641
+ # The [ARN][1] of the resource to untag.
2642
+ #
2643
+ #
2644
+ #
2645
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2646
+ #
2647
+ # @option params [required, Array<String>] :tag_keys
2648
+ # A list of keys for tags to remove from the resource.
2649
+ #
2650
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2651
+ #
2652
+ # @example Request syntax with placeholder values
2653
+ #
2654
+ # resp = client.untag_resource({
2655
+ # resource_arn: "AmazonResourceName", # required
2656
+ # tag_keys: ["TagKey"], # required
2657
+ # })
2658
+ #
2659
+ # @overload untag_resource(params = {})
2660
+ # @param [Hash] params ({})
2661
+ def untag_resource(params = {}, options = {})
2662
+ req = build_request(:untag_resource, params)
2663
+ req.send_request(options)
2664
+ end
2665
+
2666
+ # Updates an existing access policy that specifies an AWS SSO user or
2667
+ # group's access to an AWS IoT SiteWise Monitor portal or project
2668
+ # resource.
2669
+ #
2670
+ # @option params [required, String] :access_policy_id
2671
+ # The ID of the access policy.
2672
+ #
2673
+ # @option params [required, Types::Identity] :access_policy_identity
2674
+ # The identity for this access policy. Choose either a `user` or a
2675
+ # `group` but not both.
2676
+ #
2677
+ # @option params [required, Types::Resource] :access_policy_resource
2678
+ # The AWS IoT SiteWise Monitor resource for this access policy. Choose
2679
+ # either `portal` or `project` but not both.
2680
+ #
2681
+ # @option params [required, String] :access_policy_permission
2682
+ # The permission level for this access policy. Note that a project
2683
+ # `ADMINISTRATOR` is also known as a project owner.
2684
+ #
2685
+ # @option params [String] :client_token
2686
+ # A unique case-sensitive identifier that you can provide to ensure the
2687
+ # idempotency of the request. Don't reuse this client token if a new
2688
+ # idempotent request is required.
2689
+ #
2690
+ # **A suitable default value is auto-generated.** You should normally
2691
+ # not need to pass this option.**
2692
+ #
2693
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2694
+ #
2695
+ # @example Request syntax with placeholder values
2696
+ #
2697
+ # resp = client.update_access_policy({
2698
+ # access_policy_id: "ID", # required
2699
+ # access_policy_identity: { # required
2700
+ # user: {
2701
+ # id: "IdentityId", # required
2702
+ # },
2703
+ # group: {
2704
+ # id: "IdentityId", # required
2705
+ # },
2706
+ # },
2707
+ # access_policy_resource: { # required
2708
+ # portal: {
2709
+ # id: "ID", # required
2710
+ # },
2711
+ # project: {
2712
+ # id: "ID", # required
2713
+ # },
2714
+ # },
2715
+ # access_policy_permission: "ADMINISTRATOR", # required, accepts ADMINISTRATOR, VIEWER
2716
+ # client_token: "ClientToken",
2717
+ # })
2718
+ #
2719
+ # @overload update_access_policy(params = {})
2720
+ # @param [Hash] params ({})
2721
+ def update_access_policy(params = {}, options = {})
2722
+ req = build_request(:update_access_policy, params)
2723
+ req.send_request(options)
2724
+ end
2725
+
2726
+ # Updates an asset's name. For more information, see [Updating Assets
2727
+ # and Models][1] in the *AWS IoT SiteWise User Guide*.
2728
+ #
2729
+ #
2730
+ #
2731
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html
2732
+ #
2733
+ # @option params [required, String] :asset_id
2734
+ # The ID of the asset to update.
2735
+ #
2736
+ # @option params [required, String] :asset_name
2737
+ # A unique, friendly name for the asset.
2738
+ #
2739
+ # @option params [String] :client_token
2740
+ # A unique case-sensitive identifier that you can provide to ensure the
2741
+ # idempotency of the request. Don't reuse this client token if a new
2742
+ # idempotent request is required.
2743
+ #
2744
+ # **A suitable default value is auto-generated.** You should normally
2745
+ # not need to pass this option.**
2746
+ #
2747
+ # @return [Types::UpdateAssetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2748
+ #
2749
+ # * {Types::UpdateAssetResponse#asset_status #asset_status} => Types::AssetStatus
2750
+ #
2751
+ # @example Request syntax with placeholder values
2752
+ #
2753
+ # resp = client.update_asset({
2754
+ # asset_id: "ID", # required
2755
+ # asset_name: "Name", # required
2756
+ # client_token: "ClientToken",
2757
+ # })
2758
+ #
2759
+ # @example Response structure
2760
+ #
2761
+ # resp.asset_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED"
2762
+ # resp.asset_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2763
+ # resp.asset_status.error.message #=> String
2764
+ #
2765
+ # @overload update_asset(params = {})
2766
+ # @param [Hash] params ({})
2767
+ def update_asset(params = {}, options = {})
2768
+ req = build_request(:update_asset, params)
2769
+ req.send_request(options)
2770
+ end
2771
+
2772
+ # Updates an asset model and all of the assets that were created from
2773
+ # the model. Each asset created from the model inherits the updated
2774
+ # asset model's property and hierarchy definitions. For more
2775
+ # information, see [Updating Assets and Models][1] in the *AWS IoT
2776
+ # SiteWise User Guide*.
2777
+ #
2778
+ # This action overwrites the existing model with the provided model. To
2779
+ # avoid deleting your asset model's properties or hierarchies, you must
2780
+ # include their definitions in the updated asset model payload. For more
2781
+ # information, see [DescribeAssetModel][2].
2782
+ #
2783
+ # If you remove a property from an asset model or update a property's
2784
+ # formula expression, AWS IoT SiteWise deletes all previous data for
2785
+ # that property. If you remove a hierarchy definition from an asset
2786
+ # model, AWS IoT SiteWise disassociates every asset associated with that
2787
+ # hierarchy. You can't change the type or data type of an existing
2788
+ # property.
2789
+ #
2790
+ #
2791
+ #
2792
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html
2793
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html
2794
+ #
2795
+ # @option params [required, String] :asset_model_id
2796
+ # The ID of the asset model to update.
2797
+ #
2798
+ # @option params [required, String] :asset_model_name
2799
+ # A unique, friendly name for the asset model.
2800
+ #
2801
+ # @option params [String] :asset_model_description
2802
+ # A description for the asset model.
2803
+ #
2804
+ # @option params [Array<Types::AssetModelProperty>] :asset_model_properties
2805
+ # The updated property definitions of the asset model. For more
2806
+ # information, see [Asset Properties][1] in the *AWS IoT SiteWise User
2807
+ # Guide*.
2808
+ #
2809
+ # You can specify up to 200 properties per asset model. For more
2810
+ # information, see [Quotas][2] in the *AWS IoT SiteWise User Guide*.
2811
+ #
2812
+ #
2813
+ #
2814
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html
2815
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
2816
+ #
2817
+ # @option params [Array<Types::AssetModelHierarchy>] :asset_model_hierarchies
2818
+ # The updated hierarchy definitions of the asset model. Each hierarchy
2819
+ # specifies an asset model whose assets can be children of any other
2820
+ # assets created from this asset model. For more information, see [Asset
2821
+ # Hierarchies][1] in the *AWS IoT SiteWise User Guide*.
2822
+ #
2823
+ # You can specify up to 10 hierarchies per asset model. For more
2824
+ # information, see [Quotas][2] in the *AWS IoT SiteWise User Guide*.
2825
+ #
2826
+ #
2827
+ #
2828
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html
2829
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
2830
+ #
2831
+ # @option params [String] :client_token
2832
+ # A unique case-sensitive identifier that you can provide to ensure the
2833
+ # idempotency of the request. Don't reuse this client token if a new
2834
+ # idempotent request is required.
2835
+ #
2836
+ # **A suitable default value is auto-generated.** You should normally
2837
+ # not need to pass this option.**
2838
+ #
2839
+ # @return [Types::UpdateAssetModelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2840
+ #
2841
+ # * {Types::UpdateAssetModelResponse#asset_model_status #asset_model_status} => Types::AssetModelStatus
2842
+ #
2843
+ # @example Request syntax with placeholder values
2844
+ #
2845
+ # resp = client.update_asset_model({
2846
+ # asset_model_id: "ID", # required
2847
+ # asset_model_name: "Name", # required
2848
+ # asset_model_description: "Description",
2849
+ # asset_model_properties: [
2850
+ # {
2851
+ # id: "ID",
2852
+ # name: "Name", # required
2853
+ # data_type: "STRING", # required, accepts STRING, INTEGER, DOUBLE, BOOLEAN
2854
+ # unit: "PropertyUnit",
2855
+ # type: { # required
2856
+ # attribute: {
2857
+ # default_value: "DefaultValue",
2858
+ # },
2859
+ # measurement: {
2860
+ # },
2861
+ # transform: {
2862
+ # expression: "Expression", # required
2863
+ # variables: [ # required
2864
+ # {
2865
+ # name: "VariableName", # required
2866
+ # value: { # required
2867
+ # property_id: "Macro", # required
2868
+ # hierarchy_id: "Macro",
2869
+ # },
2870
+ # },
2871
+ # ],
2872
+ # },
2873
+ # metric: {
2874
+ # expression: "Expression", # required
2875
+ # variables: [ # required
2876
+ # {
2877
+ # name: "VariableName", # required
2878
+ # value: { # required
2879
+ # property_id: "Macro", # required
2880
+ # hierarchy_id: "Macro",
2881
+ # },
2882
+ # },
2883
+ # ],
2884
+ # window: { # required
2885
+ # tumbling: {
2886
+ # interval: "Interval", # required
2887
+ # },
2888
+ # },
2889
+ # },
2890
+ # },
2891
+ # },
2892
+ # ],
2893
+ # asset_model_hierarchies: [
2894
+ # {
2895
+ # id: "ID",
2896
+ # name: "Name", # required
2897
+ # child_asset_model_id: "ID", # required
2898
+ # },
2899
+ # ],
2900
+ # client_token: "ClientToken",
2901
+ # })
2902
+ #
2903
+ # @example Response structure
2904
+ #
2905
+ # resp.asset_model_status.state #=> String, one of "CREATING", "ACTIVE", "UPDATING", "PROPAGATING", "DELETING", "FAILED"
2906
+ # resp.asset_model_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2907
+ # resp.asset_model_status.error.message #=> String
2908
+ #
2909
+ # @overload update_asset_model(params = {})
2910
+ # @param [Hash] params ({})
2911
+ def update_asset_model(params = {}, options = {})
2912
+ req = build_request(:update_asset_model, params)
2913
+ req.send_request(options)
2914
+ end
2915
+
2916
+ # Updates an asset property's alias and notification state.
2917
+ #
2918
+ # @option params [required, String] :asset_id
2919
+ # The ID of the asset to be updated.
2920
+ #
2921
+ # @option params [required, String] :property_id
2922
+ # The ID of the asset property to be updated.
2923
+ #
2924
+ # @option params [String] :property_alias
2925
+ # The property alias that identifies the property, such as an OPC-UA
2926
+ # server data stream path (for example,
2927
+ # `/company/windfarm/3/turbine/7/temperature`). For more information,
2928
+ # see [Mapping Industrial Data Streams to Asset Properties][1] in the
2929
+ # *AWS IoT SiteWise User Guide*.
2930
+ #
2931
+ #
2932
+ #
2933
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html
2934
+ #
2935
+ # @option params [String] :property_notification_state
2936
+ # The updated MQTT notification state (enabled or disabled) for this
2937
+ # asset property. When the notification state is enabled, AWS IoT
2938
+ # SiteWise publishes property value updates to a unique MQTT topic. For
2939
+ # more information, see [Interacting with Other Services][1] in the *AWS
2940
+ # IoT SiteWise User Guide*.
2941
+ #
2942
+ #
2943
+ #
2944
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html
2945
+ #
2946
+ # @option params [String] :client_token
2947
+ # A unique case-sensitive identifier that you can provide to ensure the
2948
+ # idempotency of the request. Don't reuse this client token if a new
2949
+ # idempotent request is required.
2950
+ #
2951
+ # **A suitable default value is auto-generated.** You should normally
2952
+ # not need to pass this option.**
2953
+ #
2954
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2955
+ #
2956
+ # @example Request syntax with placeholder values
2957
+ #
2958
+ # resp = client.update_asset_property({
2959
+ # asset_id: "ID", # required
2960
+ # property_id: "ID", # required
2961
+ # property_alias: "PropertyAlias",
2962
+ # property_notification_state: "ENABLED", # accepts ENABLED, DISABLED
2963
+ # client_token: "ClientToken",
2964
+ # })
2965
+ #
2966
+ # @overload update_asset_property(params = {})
2967
+ # @param [Hash] params ({})
2968
+ def update_asset_property(params = {}, options = {})
2969
+ req = build_request(:update_asset_property, params)
2970
+ req.send_request(options)
2971
+ end
2972
+
2973
+ # Updates an AWS IoT SiteWise Monitor dashboard.
2974
+ #
2975
+ # @option params [required, String] :dashboard_id
2976
+ # The ID of the dashboard to update.
2977
+ #
2978
+ # @option params [required, String] :dashboard_name
2979
+ # A new friendly name for the dashboard.
2980
+ #
2981
+ # @option params [String] :dashboard_description
2982
+ # A new description for the dashboard.
2983
+ #
2984
+ # @option params [required, String] :dashboard_definition
2985
+ # The new dashboard definition, as specified in a JSON literal. For
2986
+ # detailed information, see [Creating Dashboards (CLI)][1] in the *AWS
2987
+ # IoT SiteWise User Guide*.
2988
+ #
2989
+ #
2990
+ #
2991
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html
2992
+ #
2993
+ # @option params [String] :client_token
2994
+ # A unique case-sensitive identifier that you can provide to ensure the
2995
+ # idempotency of the request. Don't reuse this client token if a new
2996
+ # idempotent request is required.
2997
+ #
2998
+ # **A suitable default value is auto-generated.** You should normally
2999
+ # not need to pass this option.**
3000
+ #
3001
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3002
+ #
3003
+ # @example Request syntax with placeholder values
3004
+ #
3005
+ # resp = client.update_dashboard({
3006
+ # dashboard_id: "ID", # required
3007
+ # dashboard_name: "Name", # required
3008
+ # dashboard_description: "Description",
3009
+ # dashboard_definition: "DashboardDefinition", # required
3010
+ # client_token: "ClientToken",
3011
+ # })
3012
+ #
3013
+ # @overload update_dashboard(params = {})
3014
+ # @param [Hash] params ({})
3015
+ def update_dashboard(params = {}, options = {})
3016
+ req = build_request(:update_dashboard, params)
3017
+ req.send_request(options)
3018
+ end
3019
+
3020
+ # Updates a gateway's name.
3021
+ #
3022
+ # @option params [required, String] :gateway_id
3023
+ # The ID of the gateway to update.
3024
+ #
3025
+ # @option params [required, String] :gateway_name
3026
+ # A unique, friendly name for the gateway.
3027
+ #
3028
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3029
+ #
3030
+ # @example Request syntax with placeholder values
3031
+ #
3032
+ # resp = client.update_gateway({
3033
+ # gateway_id: "ID", # required
3034
+ # gateway_name: "Name", # required
3035
+ # })
3036
+ #
3037
+ # @overload update_gateway(params = {})
3038
+ # @param [Hash] params ({})
3039
+ def update_gateway(params = {}, options = {})
3040
+ req = build_request(:update_gateway, params)
3041
+ req.send_request(options)
3042
+ end
3043
+
3044
+ # Updates a gateway capability configuration or defines a new capability
3045
+ # configuration. Each gateway capability defines data sources for a
3046
+ # gateway. A capability configuration can contain multiple data source
3047
+ # configurations. If you define OPC-UA sources for a gateway in the AWS
3048
+ # IoT SiteWise console, all of your OPC-UA sources are stored in one
3049
+ # capability configuration. To list all capability configurations for a
3050
+ # gateway, use [DescribeGateway][1].
3051
+ #
3052
+ #
3053
+ #
3054
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html
3055
+ #
3056
+ # @option params [required, String] :gateway_id
3057
+ # The ID of the gateway to be updated.
3058
+ #
3059
+ # @option params [required, String] :capability_namespace
3060
+ # The namespace of the gateway capability configuration to be updated.
3061
+ # For example, if you configure OPC-UA sources from the AWS IoT SiteWise
3062
+ # console, your OPC-UA capability configuration has the namespace
3063
+ # `iotsitewise:opcuacollector:version`, where `version` is a number such
3064
+ # as `1`.
3065
+ #
3066
+ # @option params [required, String] :capability_configuration
3067
+ # The JSON document that defines the configuration for the gateway
3068
+ # capability. For more information, see [Configuring data sources
3069
+ # (CLI)][1] in the *AWS IoT SiteWise User Guide*.
3070
+ #
3071
+ #
3072
+ #
3073
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli
3074
+ #
3075
+ # @return [Types::UpdateGatewayCapabilityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3076
+ #
3077
+ # * {Types::UpdateGatewayCapabilityConfigurationResponse#capability_namespace #capability_namespace} => String
3078
+ # * {Types::UpdateGatewayCapabilityConfigurationResponse#capability_sync_status #capability_sync_status} => String
3079
+ #
3080
+ # @example Request syntax with placeholder values
3081
+ #
3082
+ # resp = client.update_gateway_capability_configuration({
3083
+ # gateway_id: "ID", # required
3084
+ # capability_namespace: "CapabilityNamespace", # required
3085
+ # capability_configuration: "CapabilityConfiguration", # required
3086
+ # })
3087
+ #
3088
+ # @example Response structure
3089
+ #
3090
+ # resp.capability_namespace #=> String
3091
+ # resp.capability_sync_status #=> String, one of "IN_SYNC", "OUT_OF_SYNC", "SYNC_FAILED"
3092
+ #
3093
+ # @overload update_gateway_capability_configuration(params = {})
3094
+ # @param [Hash] params ({})
3095
+ def update_gateway_capability_configuration(params = {}, options = {})
3096
+ req = build_request(:update_gateway_capability_configuration, params)
3097
+ req.send_request(options)
3098
+ end
3099
+
3100
+ # Updates an AWS IoT SiteWise Monitor portal.
3101
+ #
3102
+ # @option params [required, String] :portal_id
3103
+ # The ID of the portal to update.
3104
+ #
3105
+ # @option params [required, String] :portal_name
3106
+ # A new friendly name for the portal.
3107
+ #
3108
+ # @option params [String] :portal_description
3109
+ # A new description for the portal.
3110
+ #
3111
+ # @option params [required, String] :portal_contact_email
3112
+ # The AWS administrator's contact email address.
3113
+ #
3114
+ # @option params [Types::ImageFile] :portal_logo_image_file
3115
+ # A logo image to display in the portal. Upload a square,
3116
+ # high-resolution image. The image is displayed on a dark background.
3117
+ #
3118
+ # @option params [required, String] :role_arn
3119
+ # The [ARN][1] of a service role that allows the portal's users to
3120
+ # access your AWS IoT SiteWise resources on your behalf. For more
3121
+ # information, see [Using service roles for AWS IoT SiteWise Monitor][2]
3122
+ # in the *AWS IoT SiteWise User Guide*.
3123
+ #
3124
+ #
3125
+ #
3126
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
3127
+ # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html
3128
+ #
3129
+ # @option params [String] :client_token
3130
+ # A unique case-sensitive identifier that you can provide to ensure the
3131
+ # idempotency of the request. Don't reuse this client token if a new
3132
+ # idempotent request is required.
3133
+ #
3134
+ # **A suitable default value is auto-generated.** You should normally
3135
+ # not need to pass this option.**
3136
+ #
3137
+ # @return [Types::UpdatePortalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3138
+ #
3139
+ # * {Types::UpdatePortalResponse#portal_status #portal_status} => Types::PortalStatus
3140
+ #
3141
+ # @example Request syntax with placeholder values
3142
+ #
3143
+ # resp = client.update_portal({
3144
+ # portal_id: "ID", # required
3145
+ # portal_name: "Name", # required
3146
+ # portal_description: "Description",
3147
+ # portal_contact_email: "Email", # required
3148
+ # portal_logo_image_file: {
3149
+ # encoded_string: "data", # required
3150
+ # file_type: "PNG", # required, accepts PNG
3151
+ # },
3152
+ # role_arn: "ARN", # required
3153
+ # client_token: "ClientToken",
3154
+ # })
3155
+ #
3156
+ # @example Response structure
3157
+ #
3158
+ # resp.portal_status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "FAILED"
3159
+ # resp.portal_status.error.code #=> String, one of "INTERNAL_FAILURE"
3160
+ # resp.portal_status.error.message #=> String
3161
+ #
3162
+ # @overload update_portal(params = {})
3163
+ # @param [Hash] params ({})
3164
+ def update_portal(params = {}, options = {})
3165
+ req = build_request(:update_portal, params)
3166
+ req.send_request(options)
3167
+ end
3168
+
3169
+ # Updates an AWS IoT SiteWise Monitor project.
3170
+ #
3171
+ # @option params [required, String] :project_id
3172
+ # The ID of the project to update.
3173
+ #
3174
+ # @option params [required, String] :project_name
3175
+ # A new friendly name for the project.
3176
+ #
3177
+ # @option params [String] :project_description
3178
+ # A new description for the project.
3179
+ #
3180
+ # @option params [String] :client_token
3181
+ # A unique case-sensitive identifier that you can provide to ensure the
3182
+ # idempotency of the request. Don't reuse this client token if a new
3183
+ # idempotent request is required.
3184
+ #
3185
+ # **A suitable default value is auto-generated.** You should normally
3186
+ # not need to pass this option.**
3187
+ #
3188
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3189
+ #
3190
+ # @example Request syntax with placeholder values
3191
+ #
3192
+ # resp = client.update_project({
3193
+ # project_id: "ID", # required
3194
+ # project_name: "Name", # required
3195
+ # project_description: "Description",
3196
+ # client_token: "ClientToken",
3197
+ # })
3198
+ #
3199
+ # @overload update_project(params = {})
3200
+ # @param [Hash] params ({})
3201
+ def update_project(params = {}, options = {})
3202
+ req = build_request(:update_project, params)
3203
+ req.send_request(options)
3204
+ end
3205
+
3206
+ # @!endgroup
3207
+
3208
+ # @param params ({})
3209
+ # @api private
3210
+ def build_request(operation_name, params = {})
3211
+ handlers = @handlers.for(operation_name)
3212
+ context = Seahorse::Client::RequestContext.new(
3213
+ operation_name: operation_name,
3214
+ operation: config.api.operation(operation_name),
3215
+ client: self,
3216
+ params: params,
3217
+ config: config)
3218
+ context[:gem_name] = 'aws-sdk-iotsitewise'
3219
+ context[:gem_version] = '1.0.0'
3220
+ Seahorse::Client::Request.new(handlers, context)
3221
+ end
3222
+
3223
+ # Polls an API operation until a resource enters a desired state.
3224
+ #
3225
+ # ## Basic Usage
3226
+ #
3227
+ # A waiter will call an API operation until:
3228
+ #
3229
+ # * It is successful
3230
+ # * It enters a terminal state
3231
+ # * It makes the maximum number of attempts
3232
+ #
3233
+ # In between attempts, the waiter will sleep.
3234
+ #
3235
+ # # polls in a loop, sleeping between attempts
3236
+ # client.wait_until(waiter_name, params)
3237
+ #
3238
+ # ## Configuration
3239
+ #
3240
+ # You can configure the maximum number of polling attempts, and the
3241
+ # delay (in seconds) between each polling attempt. You can pass
3242
+ # configuration as the final arguments hash.
3243
+ #
3244
+ # # poll for ~25 seconds
3245
+ # client.wait_until(waiter_name, params, {
3246
+ # max_attempts: 5,
3247
+ # delay: 5,
3248
+ # })
3249
+ #
3250
+ # ## Callbacks
3251
+ #
3252
+ # You can be notified before each polling attempt and before each
3253
+ # delay. If you throw `:success` or `:failure` from these callbacks,
3254
+ # it will terminate the waiter.
3255
+ #
3256
+ # started_at = Time.now
3257
+ # client.wait_until(waiter_name, params, {
3258
+ #
3259
+ # # disable max attempts
3260
+ # max_attempts: nil,
3261
+ #
3262
+ # # poll for 1 hour, instead of a number of attempts
3263
+ # before_wait: -> (attempts, response) do
3264
+ # throw :failure if Time.now - started_at > 3600
3265
+ # end
3266
+ # })
3267
+ #
3268
+ # ## Handling Errors
3269
+ #
3270
+ # When a waiter is unsuccessful, it will raise an error.
3271
+ # All of the failure errors extend from
3272
+ # {Aws::Waiters::Errors::WaiterFailed}.
3273
+ #
3274
+ # begin
3275
+ # client.wait_until(...)
3276
+ # rescue Aws::Waiters::Errors::WaiterFailed
3277
+ # # resource did not enter the desired state in time
3278
+ # end
3279
+ #
3280
+ # ## Valid Waiters
3281
+ #
3282
+ # The following table lists the valid waiter names, the operations they call,
3283
+ # and the default `:delay` and `:max_attempts` values.
3284
+ #
3285
+ # | waiter_name | params | :delay | :max_attempts |
3286
+ # | ---------------------- | ----------------------------- | -------- | ------------- |
3287
+ # | asset_active | {Client#describe_asset} | 3 | 20 |
3288
+ # | asset_model_active | {Client#describe_asset_model} | 3 | 20 |
3289
+ # | asset_model_not_exists | {Client#describe_asset_model} | 3 | 20 |
3290
+ # | asset_not_exists | {Client#describe_asset} | 3 | 20 |
3291
+ # | portal_active | {Client#describe_portal} | 3 | 20 |
3292
+ # | portal_not_exists | {Client#describe_portal} | 3 | 20 |
3293
+ #
3294
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
3295
+ # because the waiter has entered a state that it will not transition
3296
+ # out of, preventing success.
3297
+ #
3298
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
3299
+ # maximum number of attempts have been made, and the waiter is not
3300
+ # yet successful.
3301
+ #
3302
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
3303
+ # while polling for a resource that is not expected.
3304
+ #
3305
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
3306
+ # for an unknown state.
3307
+ #
3308
+ # @return [Boolean] Returns `true` if the waiter was successful.
3309
+ # @param [Symbol] waiter_name
3310
+ # @param [Hash] params ({})
3311
+ # @param [Hash] options ({})
3312
+ # @option options [Integer] :max_attempts
3313
+ # @option options [Integer] :delay
3314
+ # @option options [Proc] :before_attempt
3315
+ # @option options [Proc] :before_wait
3316
+ def wait_until(waiter_name, params = {}, options = {})
3317
+ w = waiter(waiter_name, options)
3318
+ yield(w.waiter) if block_given? # deprecated
3319
+ w.wait(params)
3320
+ end
3321
+
3322
+ # @api private
3323
+ # @deprecated
3324
+ def waiter_names
3325
+ waiters.keys
3326
+ end
3327
+
3328
+ private
3329
+
3330
+ # @param [Symbol] waiter_name
3331
+ # @param [Hash] options ({})
3332
+ def waiter(waiter_name, options = {})
3333
+ waiter_class = waiters[waiter_name]
3334
+ if waiter_class
3335
+ waiter_class.new(options.merge(client: self))
3336
+ else
3337
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
3338
+ end
3339
+ end
3340
+
3341
+ def waiters
3342
+ {
3343
+ asset_active: Waiters::AssetActive,
3344
+ asset_model_active: Waiters::AssetModelActive,
3345
+ asset_model_not_exists: Waiters::AssetModelNotExists,
3346
+ asset_not_exists: Waiters::AssetNotExists,
3347
+ portal_active: Waiters::PortalActive,
3348
+ portal_not_exists: Waiters::PortalNotExists
3349
+ }
3350
+ end
3351
+
3352
+ class << self
3353
+
3354
+ # @api private
3355
+ attr_reader :identifier
3356
+
3357
+ # @api private
3358
+ def errors_module
3359
+ Errors
3360
+ end
3361
+
3362
+ end
3363
+ end
3364
+ end