aws-sdk-iotsitewise 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ 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