aws-sdk-iottwinmaker 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2109 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:iottwinmaker)
34
+
35
+ module Aws::IoTTwinMaker
36
+ # An API client for IoTTwinMaker. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::IoTTwinMaker::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :iottwinmaker
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
102
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
103
+ # from an EC2 IMDS on an EC2 instance.
104
+ #
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
107
+ #
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
110
+ #
111
+ # When `:credentials` are not configured directly, the following
112
+ # locations will be searched for credentials:
113
+ #
114
+ # * `Aws.config[:credentials]`
115
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
116
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
117
+ # * `~/.aws/credentials`
118
+ # * `~/.aws/config`
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
125
+ #
126
+ # @option options [required, String] :region
127
+ # The AWS region to connect to. The configured `:region` is
128
+ # used to determine the service `:endpoint`. When not passed,
129
+ # a default `:region` is searched for in the following locations:
130
+ #
131
+ # * `Aws.config[:region]`
132
+ # * `ENV['AWS_REGION']`
133
+ # * `ENV['AMAZON_REGION']`
134
+ # * `ENV['AWS_DEFAULT_REGION']`
135
+ # * `~/.aws/credentials`
136
+ # * `~/.aws/config`
137
+ #
138
+ # @option options [String] :access_key_id
139
+ #
140
+ # @option options [Boolean] :active_endpoint_cache (false)
141
+ # When set to `true`, a thread polling for endpoints will be running in
142
+ # the background every 60 secs (default). Defaults to `false`.
143
+ #
144
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
145
+ # Used only in `adaptive` retry mode. When true, the request will sleep
146
+ # until there is sufficent client side capacity to retry the request.
147
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
148
+ # not retry instead of sleeping.
149
+ #
150
+ # @option options [Boolean] :client_side_monitoring (false)
151
+ # When `true`, client-side metrics will be collected for all API requests from
152
+ # this client.
153
+ #
154
+ # @option options [String] :client_side_monitoring_client_id ("")
155
+ # Allows you to provide an identifier for this client which will be attached to
156
+ # all generated client side metrics. Defaults to an empty string.
157
+ #
158
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
159
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
160
+ # side monitoring agent is running on, where client metrics will be published via UDP.
161
+ #
162
+ # @option options [Integer] :client_side_monitoring_port (31000)
163
+ # Required for publishing client metrics. The port that the client side monitoring
164
+ # agent is running on, where client metrics will be published via UDP.
165
+ #
166
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
167
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
168
+ # will use the Client Side Monitoring Agent Publisher.
169
+ #
170
+ # @option options [Boolean] :convert_params (true)
171
+ # When `true`, an attempt is made to coerce request parameters into
172
+ # the required types.
173
+ #
174
+ # @option options [Boolean] :correct_clock_skew (true)
175
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
+ # a clock skew correction and retry requests with skewed client clocks.
177
+ #
178
+ # @option options [Boolean] :disable_host_prefix_injection (false)
179
+ # Set to true to disable SDK automatically adding host prefix
180
+ # to default service endpoint when available.
181
+ #
182
+ # @option options [String] :endpoint
183
+ # The client endpoint is normally constructed from the `:region`
184
+ # option. You should only configure an `:endpoint` when connecting
185
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
186
+ #
187
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
188
+ # Used for the maximum size limit of the LRU cache storing endpoints data
189
+ # for endpoint discovery enabled operations. Defaults to 1000.
190
+ #
191
+ # @option options [Integer] :endpoint_cache_max_threads (10)
192
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
193
+ #
194
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
195
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
196
+ # Use this option to config the time interval in seconds for making
197
+ # requests fetching endpoints information. Defaults to 60 sec.
198
+ #
199
+ # @option options [Boolean] :endpoint_discovery (false)
200
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
201
+ #
202
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
+ # The log formatter.
204
+ #
205
+ # @option options [Symbol] :log_level (:info)
206
+ # The log level to send messages to the `:logger` at.
207
+ #
208
+ # @option options [Logger] :logger
209
+ # The Logger instance to send log messages to. If this option
210
+ # is not set, logging will be disabled.
211
+ #
212
+ # @option options [Integer] :max_attempts (3)
213
+ # An integer representing the maximum number attempts that will be made for
214
+ # a single request, including the initial attempt. For example,
215
+ # setting this value to 5 will result in a request being retried up to
216
+ # 4 times. Used in `standard` and `adaptive` retry modes.
217
+ #
218
+ # @option options [String] :profile ("default")
219
+ # Used when loading credentials from the shared credentials file
220
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
221
+ #
222
+ # @option options [Proc] :retry_backoff
223
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
+ # This option is only used in the `legacy` retry mode.
225
+ #
226
+ # @option options [Float] :retry_base_delay (0.3)
227
+ # The base delay in seconds used by the default backoff function. This option
228
+ # is only used in the `legacy` retry mode.
229
+ #
230
+ # @option options [Symbol] :retry_jitter (:none)
231
+ # A delay randomiser function used by the default backoff function.
232
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
233
+ # otherwise a Proc that takes and returns a number. This option is only used
234
+ # in the `legacy` retry mode.
235
+ #
236
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
237
+ #
238
+ # @option options [Integer] :retry_limit (3)
239
+ # The maximum number of times to retry failed requests. Only
240
+ # ~ 500 level server errors and certain ~ 400 level client errors
241
+ # are retried. Generally, these are throttling errors, data
242
+ # checksum errors, networking errors, timeout errors, auth errors,
243
+ # endpoint discovery, and errors from expired credentials.
244
+ # This option is only used in the `legacy` retry mode.
245
+ #
246
+ # @option options [Integer] :retry_max_delay (0)
247
+ # The maximum number of seconds to delay between retries (0 for no limit)
248
+ # used by the default backoff function. This option is only used in the
249
+ # `legacy` retry mode.
250
+ #
251
+ # @option options [String] :retry_mode ("legacy")
252
+ # Specifies which retry algorithm to use. Values are:
253
+ #
254
+ # * `legacy` - The pre-existing retry behavior. This is default value if
255
+ # no retry mode is provided.
256
+ #
257
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
258
+ # This includes support for retry quotas, which limit the number of
259
+ # unsuccessful retries a client can make.
260
+ #
261
+ # * `adaptive` - An experimental retry mode that includes all the
262
+ # functionality of `standard` mode along with automatic client side
263
+ # throttling. This is a provisional mode that may change behavior
264
+ # in the future.
265
+ #
266
+ #
267
+ # @option options [String] :secret_access_key
268
+ #
269
+ # @option options [String] :session_token
270
+ #
271
+ # @option options [Boolean] :stub_responses (false)
272
+ # Causes the client to return stubbed responses. By default
273
+ # fake responses are generated and returned. You can specify
274
+ # the response data to return or errors to raise by calling
275
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
276
+ #
277
+ # ** Please note ** When response stubbing is enabled, no HTTP
278
+ # requests are made, and retries are disabled.
279
+ #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
289
+ # @option options [Boolean] :validate_params (true)
290
+ # When `true`, request parameters are validated before
291
+ # sending the request.
292
+ #
293
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
+ # requests through. Formatted like 'http://proxy.com:123'.
295
+ #
296
+ # @option options [Float] :http_open_timeout (15) The number of
297
+ # seconds to wait when opening a HTTP session before raising a
298
+ # `Timeout::Error`.
299
+ #
300
+ # @option options [Integer] :http_read_timeout (60) The default
301
+ # number of seconds to wait for response data. This value can
302
+ # safely be set per-request on the session.
303
+ #
304
+ # @option options [Float] :http_idle_timeout (5) The number of
305
+ # seconds a connection is allowed to sit idle before it is
306
+ # considered stale. Stale connections are closed and removed
307
+ # from the pool before making a request.
308
+ #
309
+ # @option options [Float] :http_continue_timeout (1) The number of
310
+ # seconds to wait for a 100-continue response before sending the
311
+ # request body. This option has no effect unless the request has
312
+ # "Expect" header set to "100-continue". Defaults to `nil` which
313
+ # disables this behaviour. This value can safely be set per
314
+ # request on the session.
315
+ #
316
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
317
+ # HTTP debug output will be sent to the `:logger`.
318
+ #
319
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
320
+ # SSL peer certificates are verified when establishing a
321
+ # connection.
322
+ #
323
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
324
+ # certificate authority bundle file that should be used when
325
+ # verifying peer certificates. If you do not pass
326
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
327
+ # will be used if available.
328
+ #
329
+ # @option options [String] :ssl_ca_directory Full path of the
330
+ # directory that contains the unbundled SSL certificate
331
+ # authority files for verifying peer certificates. If you do
332
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
333
+ # system default will be used if available.
334
+ #
335
+ def initialize(*args)
336
+ super
337
+ end
338
+
339
+ # @!group API Operations
340
+
341
+ # Sets values for multiple time series properties.
342
+ #
343
+ # @option params [required, Array<Types::PropertyValueEntry>] :entries
344
+ # An object that maps strings to the property value entries to set. Each
345
+ # string in the mapping must be unique to this object.
346
+ #
347
+ # @option params [required, String] :workspace_id
348
+ # The ID of the workspace that contains the properties to set.
349
+ #
350
+ # @return [Types::BatchPutPropertyValuesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
351
+ #
352
+ # * {Types::BatchPutPropertyValuesResponse#error_entries #error_entries} => Array&lt;Types::BatchPutPropertyErrorEntry&gt;
353
+ #
354
+ # @example Request syntax with placeholder values
355
+ #
356
+ # resp = client.batch_put_property_values({
357
+ # entries: [ # required
358
+ # {
359
+ # entity_property_reference: { # required
360
+ # component_name: "Name",
361
+ # entity_id: "EntityId",
362
+ # external_id_property: {
363
+ # "String" => "String",
364
+ # },
365
+ # property_name: "Name", # required
366
+ # },
367
+ # property_values: [
368
+ # {
369
+ # timestamp: Time.now, # required
370
+ # value: { # required
371
+ # boolean_value: false,
372
+ # double_value: 1.0,
373
+ # expression: "Expression",
374
+ # integer_value: 1,
375
+ # list_value: [
376
+ # {
377
+ # # recursive DataValue
378
+ # },
379
+ # ],
380
+ # long_value: 1,
381
+ # map_value: {
382
+ # "String" => {
383
+ # # recursive DataValue
384
+ # },
385
+ # },
386
+ # relationship_value: {
387
+ # target_component_name: "Name",
388
+ # target_entity_id: "EntityId",
389
+ # },
390
+ # string_value: "String",
391
+ # },
392
+ # },
393
+ # ],
394
+ # },
395
+ # ],
396
+ # workspace_id: "Id", # required
397
+ # })
398
+ #
399
+ # @example Response structure
400
+ #
401
+ # resp.error_entries #=> Array
402
+ # resp.error_entries[0].errors #=> Array
403
+ # resp.error_entries[0].errors[0].entry.entity_property_reference.component_name #=> String
404
+ # resp.error_entries[0].errors[0].entry.entity_property_reference.entity_id #=> String
405
+ # resp.error_entries[0].errors[0].entry.entity_property_reference.external_id_property #=> Hash
406
+ # resp.error_entries[0].errors[0].entry.entity_property_reference.external_id_property["String"] #=> String
407
+ # resp.error_entries[0].errors[0].entry.entity_property_reference.property_name #=> String
408
+ # resp.error_entries[0].errors[0].entry.property_values #=> Array
409
+ # resp.error_entries[0].errors[0].entry.property_values[0].timestamp #=> Time
410
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.boolean_value #=> Boolean
411
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.double_value #=> Float
412
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.expression #=> String
413
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.integer_value #=> Integer
414
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.list_value #=> Array
415
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.list_value[0] #=> Types::DataValue
416
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.long_value #=> Integer
417
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.map_value #=> Hash
418
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.map_value["String"] #=> Types::DataValue
419
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.relationship_value.target_component_name #=> String
420
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.relationship_value.target_entity_id #=> String
421
+ # resp.error_entries[0].errors[0].entry.property_values[0].value.string_value #=> String
422
+ # resp.error_entries[0].errors[0].error_code #=> String
423
+ # resp.error_entries[0].errors[0].error_message #=> String
424
+ #
425
+ # @overload batch_put_property_values(params = {})
426
+ # @param [Hash] params ({})
427
+ def batch_put_property_values(params = {}, options = {})
428
+ req = build_request(:batch_put_property_values, params)
429
+ req.send_request(options)
430
+ end
431
+
432
+ # Creates a component type.
433
+ #
434
+ # TwinMaker is in public preview and is subject to change.
435
+ #
436
+ # @option params [required, String] :component_type_id
437
+ # The ID of the component type.
438
+ #
439
+ # @option params [String] :description
440
+ # The description of the component type.
441
+ #
442
+ # @option params [Array<String>] :extends_from
443
+ # Specifies the parent component type to extend.
444
+ #
445
+ # @option params [Hash<String,Types::FunctionRequest>] :functions
446
+ # An object that maps strings to the functions in the component type.
447
+ # Each string in the mapping must be unique to this object.
448
+ #
449
+ # @option params [Boolean] :is_singleton
450
+ # A Boolean value that specifies whether an entity can have more than
451
+ # one component of this type.
452
+ #
453
+ # @option params [Hash<String,Types::PropertyDefinitionRequest>] :property_definitions
454
+ # An object that maps strings to the property definitions in the
455
+ # component type. Each string in the mapping must be unique to this
456
+ # object.
457
+ #
458
+ # @option params [Hash<String,String>] :tags
459
+ # Metadata that you can use to manage the component type.
460
+ #
461
+ # @option params [required, String] :workspace_id
462
+ # The ID of the workspace that contains the component type.
463
+ #
464
+ # @return [Types::CreateComponentTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
465
+ #
466
+ # * {Types::CreateComponentTypeResponse#arn #arn} => String
467
+ # * {Types::CreateComponentTypeResponse#creation_date_time #creation_date_time} => Time
468
+ # * {Types::CreateComponentTypeResponse#state #state} => String
469
+ #
470
+ # @example Request syntax with placeholder values
471
+ #
472
+ # resp = client.create_component_type({
473
+ # component_type_id: "ComponentTypeId", # required
474
+ # description: "Description",
475
+ # extends_from: ["ComponentTypeId"],
476
+ # functions: {
477
+ # "Name" => {
478
+ # implemented_by: {
479
+ # is_native: false,
480
+ # lambda: {
481
+ # arn: "LambdaArn", # required
482
+ # },
483
+ # },
484
+ # required_properties: ["Name"],
485
+ # scope: "ENTITY", # accepts ENTITY, WORKSPACE
486
+ # },
487
+ # },
488
+ # is_singleton: false,
489
+ # property_definitions: {
490
+ # "Name" => {
491
+ # configuration: {
492
+ # "Name" => "Value",
493
+ # },
494
+ # data_type: {
495
+ # allowed_values: [
496
+ # {
497
+ # boolean_value: false,
498
+ # double_value: 1.0,
499
+ # expression: "Expression",
500
+ # integer_value: 1,
501
+ # list_value: {
502
+ # # recursive DataValueList
503
+ # },
504
+ # long_value: 1,
505
+ # map_value: {
506
+ # "String" => {
507
+ # # recursive DataValue
508
+ # },
509
+ # },
510
+ # relationship_value: {
511
+ # target_component_name: "Name",
512
+ # target_entity_id: "EntityId",
513
+ # },
514
+ # string_value: "String",
515
+ # },
516
+ # ],
517
+ # nested_type: {
518
+ # # recursive DataType
519
+ # },
520
+ # relationship: {
521
+ # relationship_type: "String",
522
+ # target_component_type_id: "ComponentTypeId",
523
+ # },
524
+ # type: "RELATIONSHIP", # required, accepts RELATIONSHIP, STRING, LONG, BOOLEAN, INTEGER, DOUBLE, LIST, MAP
525
+ # unit_of_measure: "String",
526
+ # },
527
+ # default_value: {
528
+ # boolean_value: false,
529
+ # double_value: 1.0,
530
+ # expression: "Expression",
531
+ # integer_value: 1,
532
+ # list_value: [
533
+ # {
534
+ # # recursive DataValue
535
+ # },
536
+ # ],
537
+ # long_value: 1,
538
+ # map_value: {
539
+ # "String" => {
540
+ # # recursive DataValue
541
+ # },
542
+ # },
543
+ # relationship_value: {
544
+ # target_component_name: "Name",
545
+ # target_entity_id: "EntityId",
546
+ # },
547
+ # string_value: "String",
548
+ # },
549
+ # is_external_id: false,
550
+ # is_required_in_entity: false,
551
+ # is_stored_externally: false,
552
+ # is_time_series: false,
553
+ # },
554
+ # },
555
+ # tags: {
556
+ # "TagKey" => "TagValue",
557
+ # },
558
+ # workspace_id: "Id", # required
559
+ # })
560
+ #
561
+ # @example Response structure
562
+ #
563
+ # resp.arn #=> String
564
+ # resp.creation_date_time #=> Time
565
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
566
+ #
567
+ # @overload create_component_type(params = {})
568
+ # @param [Hash] params ({})
569
+ def create_component_type(params = {}, options = {})
570
+ req = build_request(:create_component_type, params)
571
+ req.send_request(options)
572
+ end
573
+
574
+ # Creates an entity.
575
+ #
576
+ # @option params [Hash<String,Types::ComponentRequest>] :components
577
+ # An object that maps strings to the components in the entity. Each
578
+ # string in the mapping must be unique to this object.
579
+ #
580
+ # @option params [String] :description
581
+ # The description of the entity.
582
+ #
583
+ # @option params [String] :entity_id
584
+ # The ID of the entity.
585
+ #
586
+ # @option params [required, String] :entity_name
587
+ # The name of the entity.
588
+ #
589
+ # @option params [String] :parent_entity_id
590
+ # The ID of the entity's parent entity.
591
+ #
592
+ # @option params [Hash<String,String>] :tags
593
+ # Metadata that you can use to manage the entity.
594
+ #
595
+ # @option params [required, String] :workspace_id
596
+ # The ID of the workspace that contains the entity.
597
+ #
598
+ # @return [Types::CreateEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
599
+ #
600
+ # * {Types::CreateEntityResponse#arn #arn} => String
601
+ # * {Types::CreateEntityResponse#creation_date_time #creation_date_time} => Time
602
+ # * {Types::CreateEntityResponse#entity_id #entity_id} => String
603
+ # * {Types::CreateEntityResponse#state #state} => String
604
+ #
605
+ # @example Request syntax with placeholder values
606
+ #
607
+ # resp = client.create_entity({
608
+ # components: {
609
+ # "Name" => {
610
+ # component_type_id: "ComponentTypeId",
611
+ # description: "Description",
612
+ # properties: {
613
+ # "Name" => {
614
+ # definition: {
615
+ # configuration: {
616
+ # "Name" => "Value",
617
+ # },
618
+ # data_type: {
619
+ # allowed_values: [
620
+ # {
621
+ # boolean_value: false,
622
+ # double_value: 1.0,
623
+ # expression: "Expression",
624
+ # integer_value: 1,
625
+ # list_value: {
626
+ # # recursive DataValueList
627
+ # },
628
+ # long_value: 1,
629
+ # map_value: {
630
+ # "String" => {
631
+ # # recursive DataValue
632
+ # },
633
+ # },
634
+ # relationship_value: {
635
+ # target_component_name: "Name",
636
+ # target_entity_id: "EntityId",
637
+ # },
638
+ # string_value: "String",
639
+ # },
640
+ # ],
641
+ # nested_type: {
642
+ # # recursive DataType
643
+ # },
644
+ # relationship: {
645
+ # relationship_type: "String",
646
+ # target_component_type_id: "ComponentTypeId",
647
+ # },
648
+ # type: "RELATIONSHIP", # required, accepts RELATIONSHIP, STRING, LONG, BOOLEAN, INTEGER, DOUBLE, LIST, MAP
649
+ # unit_of_measure: "String",
650
+ # },
651
+ # default_value: {
652
+ # boolean_value: false,
653
+ # double_value: 1.0,
654
+ # expression: "Expression",
655
+ # integer_value: 1,
656
+ # list_value: [
657
+ # {
658
+ # # recursive DataValue
659
+ # },
660
+ # ],
661
+ # long_value: 1,
662
+ # map_value: {
663
+ # "String" => {
664
+ # # recursive DataValue
665
+ # },
666
+ # },
667
+ # relationship_value: {
668
+ # target_component_name: "Name",
669
+ # target_entity_id: "EntityId",
670
+ # },
671
+ # string_value: "String",
672
+ # },
673
+ # is_external_id: false,
674
+ # is_required_in_entity: false,
675
+ # is_stored_externally: false,
676
+ # is_time_series: false,
677
+ # },
678
+ # update_type: "UPDATE", # accepts UPDATE, DELETE
679
+ # value: {
680
+ # boolean_value: false,
681
+ # double_value: 1.0,
682
+ # expression: "Expression",
683
+ # integer_value: 1,
684
+ # list_value: [
685
+ # {
686
+ # # recursive DataValue
687
+ # },
688
+ # ],
689
+ # long_value: 1,
690
+ # map_value: {
691
+ # "String" => {
692
+ # # recursive DataValue
693
+ # },
694
+ # },
695
+ # relationship_value: {
696
+ # target_component_name: "Name",
697
+ # target_entity_id: "EntityId",
698
+ # },
699
+ # string_value: "String",
700
+ # },
701
+ # },
702
+ # },
703
+ # },
704
+ # },
705
+ # description: "Description",
706
+ # entity_id: "EntityId",
707
+ # entity_name: "EntityName", # required
708
+ # parent_entity_id: "ParentEntityId",
709
+ # tags: {
710
+ # "TagKey" => "TagValue",
711
+ # },
712
+ # workspace_id: "Id", # required
713
+ # })
714
+ #
715
+ # @example Response structure
716
+ #
717
+ # resp.arn #=> String
718
+ # resp.creation_date_time #=> Time
719
+ # resp.entity_id #=> String
720
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
721
+ #
722
+ # @overload create_entity(params = {})
723
+ # @param [Hash] params ({})
724
+ def create_entity(params = {}, options = {})
725
+ req = build_request(:create_entity, params)
726
+ req.send_request(options)
727
+ end
728
+
729
+ # Creates a scene.
730
+ #
731
+ # @option params [Array<String>] :capabilities
732
+ # A list of capabilities that the scene uses to render itself.
733
+ #
734
+ # @option params [required, String] :content_location
735
+ # The relative path that specifies the location of the content
736
+ # definition file.
737
+ #
738
+ # @option params [String] :description
739
+ # The description for this scene.
740
+ #
741
+ # @option params [required, String] :scene_id
742
+ # The ID of the scene.
743
+ #
744
+ # @option params [Hash<String,String>] :tags
745
+ # Metadata that you can use to manage the scene.
746
+ #
747
+ # @option params [required, String] :workspace_id
748
+ # The ID of the workspace that contains the scene.
749
+ #
750
+ # @return [Types::CreateSceneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
751
+ #
752
+ # * {Types::CreateSceneResponse#arn #arn} => String
753
+ # * {Types::CreateSceneResponse#creation_date_time #creation_date_time} => Time
754
+ #
755
+ # @example Request syntax with placeholder values
756
+ #
757
+ # resp = client.create_scene({
758
+ # capabilities: ["SceneCapability"],
759
+ # content_location: "S3Url", # required
760
+ # description: "Description",
761
+ # scene_id: "Id", # required
762
+ # tags: {
763
+ # "TagKey" => "TagValue",
764
+ # },
765
+ # workspace_id: "Id", # required
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.arn #=> String
771
+ # resp.creation_date_time #=> Time
772
+ #
773
+ # @overload create_scene(params = {})
774
+ # @param [Hash] params ({})
775
+ def create_scene(params = {}, options = {})
776
+ req = build_request(:create_scene, params)
777
+ req.send_request(options)
778
+ end
779
+
780
+ # Creates a workplace.
781
+ #
782
+ # @option params [String] :description
783
+ # The description of the workspace.
784
+ #
785
+ # @option params [required, String] :role
786
+ # The ARN of the execution role associated with the workspace.
787
+ #
788
+ # @option params [required, String] :s3_location
789
+ # The ARN of the S3 bucket where resources associated with the workspace
790
+ # are stored.
791
+ #
792
+ # @option params [Hash<String,String>] :tags
793
+ # Metadata that you can use to manage the workspace
794
+ #
795
+ # @option params [required, String] :workspace_id
796
+ # The ID of the workspace.
797
+ #
798
+ # @return [Types::CreateWorkspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
799
+ #
800
+ # * {Types::CreateWorkspaceResponse#arn #arn} => String
801
+ # * {Types::CreateWorkspaceResponse#creation_date_time #creation_date_time} => Time
802
+ #
803
+ # @example Request syntax with placeholder values
804
+ #
805
+ # resp = client.create_workspace({
806
+ # description: "Description",
807
+ # role: "RoleArn", # required
808
+ # s3_location: "S3Location", # required
809
+ # tags: {
810
+ # "TagKey" => "TagValue",
811
+ # },
812
+ # workspace_id: "Id", # required
813
+ # })
814
+ #
815
+ # @example Response structure
816
+ #
817
+ # resp.arn #=> String
818
+ # resp.creation_date_time #=> Time
819
+ #
820
+ # @overload create_workspace(params = {})
821
+ # @param [Hash] params ({})
822
+ def create_workspace(params = {}, options = {})
823
+ req = build_request(:create_workspace, params)
824
+ req.send_request(options)
825
+ end
826
+
827
+ # Deletes a component type.
828
+ #
829
+ # @option params [required, String] :component_type_id
830
+ # The ID of the component type to delete.
831
+ #
832
+ # @option params [required, String] :workspace_id
833
+ # The ID of the workspace that contains the component type.
834
+ #
835
+ # @return [Types::DeleteComponentTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
+ #
837
+ # * {Types::DeleteComponentTypeResponse#state #state} => String
838
+ #
839
+ # @example Request syntax with placeholder values
840
+ #
841
+ # resp = client.delete_component_type({
842
+ # component_type_id: "ComponentTypeId", # required
843
+ # workspace_id: "Id", # required
844
+ # })
845
+ #
846
+ # @example Response structure
847
+ #
848
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
849
+ #
850
+ # @overload delete_component_type(params = {})
851
+ # @param [Hash] params ({})
852
+ def delete_component_type(params = {}, options = {})
853
+ req = build_request(:delete_component_type, params)
854
+ req.send_request(options)
855
+ end
856
+
857
+ # Deletes an entity.
858
+ #
859
+ # @option params [required, String] :entity_id
860
+ # The ID of the entity to delete.
861
+ #
862
+ # @option params [Boolean] :is_recursive
863
+ # A Boolean value that specifies whether the operation deletes child
864
+ # entities.
865
+ #
866
+ # @option params [required, String] :workspace_id
867
+ # The ID of the workspace that contains the entity to delete.
868
+ #
869
+ # @return [Types::DeleteEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
870
+ #
871
+ # * {Types::DeleteEntityResponse#state #state} => String
872
+ #
873
+ # @example Request syntax with placeholder values
874
+ #
875
+ # resp = client.delete_entity({
876
+ # entity_id: "EntityId", # required
877
+ # is_recursive: false,
878
+ # workspace_id: "Id", # required
879
+ # })
880
+ #
881
+ # @example Response structure
882
+ #
883
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
884
+ #
885
+ # @overload delete_entity(params = {})
886
+ # @param [Hash] params ({})
887
+ def delete_entity(params = {}, options = {})
888
+ req = build_request(:delete_entity, params)
889
+ req.send_request(options)
890
+ end
891
+
892
+ # Deletes a scene.
893
+ #
894
+ # @option params [required, String] :scene_id
895
+ # The ID of the scene to delete.
896
+ #
897
+ # @option params [required, String] :workspace_id
898
+ # The ID of the workspace.
899
+ #
900
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
901
+ #
902
+ # @example Request syntax with placeholder values
903
+ #
904
+ # resp = client.delete_scene({
905
+ # scene_id: "Id", # required
906
+ # workspace_id: "Id", # required
907
+ # })
908
+ #
909
+ # @overload delete_scene(params = {})
910
+ # @param [Hash] params ({})
911
+ def delete_scene(params = {}, options = {})
912
+ req = build_request(:delete_scene, params)
913
+ req.send_request(options)
914
+ end
915
+
916
+ # Deletes a workspace.
917
+ #
918
+ # @option params [required, String] :workspace_id
919
+ # The ID of the workspace to delete.
920
+ #
921
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
922
+ #
923
+ # @example Request syntax with placeholder values
924
+ #
925
+ # resp = client.delete_workspace({
926
+ # workspace_id: "Id", # required
927
+ # })
928
+ #
929
+ # @overload delete_workspace(params = {})
930
+ # @param [Hash] params ({})
931
+ def delete_workspace(params = {}, options = {})
932
+ req = build_request(:delete_workspace, params)
933
+ req.send_request(options)
934
+ end
935
+
936
+ # Retrieves information about a component type.
937
+ #
938
+ # @option params [required, String] :component_type_id
939
+ # The ID of the component type.
940
+ #
941
+ # @option params [required, String] :workspace_id
942
+ # The ID of the workspace that contains the component type.
943
+ #
944
+ # @return [Types::GetComponentTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
945
+ #
946
+ # * {Types::GetComponentTypeResponse#arn #arn} => String
947
+ # * {Types::GetComponentTypeResponse#component_type_id #component_type_id} => String
948
+ # * {Types::GetComponentTypeResponse#creation_date_time #creation_date_time} => Time
949
+ # * {Types::GetComponentTypeResponse#description #description} => String
950
+ # * {Types::GetComponentTypeResponse#extends_from #extends_from} => Array&lt;String&gt;
951
+ # * {Types::GetComponentTypeResponse#functions #functions} => Hash&lt;String,Types::FunctionResponse&gt;
952
+ # * {Types::GetComponentTypeResponse#is_abstract #is_abstract} => Boolean
953
+ # * {Types::GetComponentTypeResponse#is_schema_initialized #is_schema_initialized} => Boolean
954
+ # * {Types::GetComponentTypeResponse#is_singleton #is_singleton} => Boolean
955
+ # * {Types::GetComponentTypeResponse#property_definitions #property_definitions} => Hash&lt;String,Types::PropertyDefinitionResponse&gt;
956
+ # * {Types::GetComponentTypeResponse#status #status} => Types::Status
957
+ # * {Types::GetComponentTypeResponse#update_date_time #update_date_time} => Time
958
+ # * {Types::GetComponentTypeResponse#workspace_id #workspace_id} => String
959
+ #
960
+ # @example Request syntax with placeholder values
961
+ #
962
+ # resp = client.get_component_type({
963
+ # component_type_id: "ComponentTypeId", # required
964
+ # workspace_id: "Id", # required
965
+ # })
966
+ #
967
+ # @example Response structure
968
+ #
969
+ # resp.arn #=> String
970
+ # resp.component_type_id #=> String
971
+ # resp.creation_date_time #=> Time
972
+ # resp.description #=> String
973
+ # resp.extends_from #=> Array
974
+ # resp.extends_from[0] #=> String
975
+ # resp.functions #=> Hash
976
+ # resp.functions["Name"].implemented_by.is_native #=> Boolean
977
+ # resp.functions["Name"].implemented_by.lambda.arn #=> String
978
+ # resp.functions["Name"].is_inherited #=> Boolean
979
+ # resp.functions["Name"].required_properties #=> Array
980
+ # resp.functions["Name"].required_properties[0] #=> String
981
+ # resp.functions["Name"].scope #=> String, one of "ENTITY", "WORKSPACE"
982
+ # resp.is_abstract #=> Boolean
983
+ # resp.is_schema_initialized #=> Boolean
984
+ # resp.is_singleton #=> Boolean
985
+ # resp.property_definitions #=> Hash
986
+ # resp.property_definitions["Name"].configuration #=> Hash
987
+ # resp.property_definitions["Name"].configuration["Name"] #=> String
988
+ # resp.property_definitions["Name"].data_type.allowed_values #=> Array
989
+ # resp.property_definitions["Name"].data_type.allowed_values[0].boolean_value #=> Boolean
990
+ # resp.property_definitions["Name"].data_type.allowed_values[0].double_value #=> Float
991
+ # resp.property_definitions["Name"].data_type.allowed_values[0].expression #=> String
992
+ # resp.property_definitions["Name"].data_type.allowed_values[0].integer_value #=> Integer
993
+ # resp.property_definitions["Name"].data_type.allowed_values[0].list_value #=> Types::DataValueList
994
+ # resp.property_definitions["Name"].data_type.allowed_values[0].long_value #=> Integer
995
+ # resp.property_definitions["Name"].data_type.allowed_values[0].map_value #=> Hash
996
+ # resp.property_definitions["Name"].data_type.allowed_values[0].map_value["String"] #=> Types::DataValue
997
+ # resp.property_definitions["Name"].data_type.allowed_values[0].relationship_value.target_component_name #=> String
998
+ # resp.property_definitions["Name"].data_type.allowed_values[0].relationship_value.target_entity_id #=> String
999
+ # resp.property_definitions["Name"].data_type.allowed_values[0].string_value #=> String
1000
+ # resp.property_definitions["Name"].data_type.nested_type #=> Types::DataType
1001
+ # resp.property_definitions["Name"].data_type.relationship.relationship_type #=> String
1002
+ # resp.property_definitions["Name"].data_type.relationship.target_component_type_id #=> String
1003
+ # resp.property_definitions["Name"].data_type.type #=> String, one of "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP"
1004
+ # resp.property_definitions["Name"].data_type.unit_of_measure #=> String
1005
+ # resp.property_definitions["Name"].default_value.boolean_value #=> Boolean
1006
+ # resp.property_definitions["Name"].default_value.double_value #=> Float
1007
+ # resp.property_definitions["Name"].default_value.expression #=> String
1008
+ # resp.property_definitions["Name"].default_value.integer_value #=> Integer
1009
+ # resp.property_definitions["Name"].default_value.list_value #=> Array
1010
+ # resp.property_definitions["Name"].default_value.list_value[0] #=> Types::DataValue
1011
+ # resp.property_definitions["Name"].default_value.long_value #=> Integer
1012
+ # resp.property_definitions["Name"].default_value.map_value #=> Hash
1013
+ # resp.property_definitions["Name"].default_value.map_value["String"] #=> Types::DataValue
1014
+ # resp.property_definitions["Name"].default_value.relationship_value.target_component_name #=> String
1015
+ # resp.property_definitions["Name"].default_value.relationship_value.target_entity_id #=> String
1016
+ # resp.property_definitions["Name"].default_value.string_value #=> String
1017
+ # resp.property_definitions["Name"].is_external_id #=> Boolean
1018
+ # resp.property_definitions["Name"].is_final #=> Boolean
1019
+ # resp.property_definitions["Name"].is_imported #=> Boolean
1020
+ # resp.property_definitions["Name"].is_inherited #=> Boolean
1021
+ # resp.property_definitions["Name"].is_required_in_entity #=> Boolean
1022
+ # resp.property_definitions["Name"].is_stored_externally #=> Boolean
1023
+ # resp.property_definitions["Name"].is_time_series #=> Boolean
1024
+ # resp.status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1025
+ # resp.status.error.message #=> String
1026
+ # resp.status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1027
+ # resp.update_date_time #=> Time
1028
+ # resp.workspace_id #=> String
1029
+ #
1030
+ # @overload get_component_type(params = {})
1031
+ # @param [Hash] params ({})
1032
+ def get_component_type(params = {}, options = {})
1033
+ req = build_request(:get_component_type, params)
1034
+ req.send_request(options)
1035
+ end
1036
+
1037
+ # Retrieves information about an entity.
1038
+ #
1039
+ # @option params [required, String] :entity_id
1040
+ # The ID of the entity.
1041
+ #
1042
+ # @option params [required, String] :workspace_id
1043
+ # The ID of the workspace.
1044
+ #
1045
+ # @return [Types::GetEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1046
+ #
1047
+ # * {Types::GetEntityResponse#arn #arn} => String
1048
+ # * {Types::GetEntityResponse#components #components} => Hash&lt;String,Types::ComponentResponse&gt;
1049
+ # * {Types::GetEntityResponse#creation_date_time #creation_date_time} => Time
1050
+ # * {Types::GetEntityResponse#description #description} => String
1051
+ # * {Types::GetEntityResponse#entity_id #entity_id} => String
1052
+ # * {Types::GetEntityResponse#entity_name #entity_name} => String
1053
+ # * {Types::GetEntityResponse#has_child_entities #has_child_entities} => Boolean
1054
+ # * {Types::GetEntityResponse#parent_entity_id #parent_entity_id} => String
1055
+ # * {Types::GetEntityResponse#status #status} => Types::Status
1056
+ # * {Types::GetEntityResponse#update_date_time #update_date_time} => Time
1057
+ # * {Types::GetEntityResponse#workspace_id #workspace_id} => String
1058
+ #
1059
+ # @example Request syntax with placeholder values
1060
+ #
1061
+ # resp = client.get_entity({
1062
+ # entity_id: "EntityId", # required
1063
+ # workspace_id: "Id", # required
1064
+ # })
1065
+ #
1066
+ # @example Response structure
1067
+ #
1068
+ # resp.arn #=> String
1069
+ # resp.components #=> Hash
1070
+ # resp.components["Name"].component_name #=> String
1071
+ # resp.components["Name"].component_type_id #=> String
1072
+ # resp.components["Name"].defined_in #=> String
1073
+ # resp.components["Name"].description #=> String
1074
+ # resp.components["Name"].properties #=> Hash
1075
+ # resp.components["Name"].properties["Name"].definition.configuration #=> Hash
1076
+ # resp.components["Name"].properties["Name"].definition.configuration["Name"] #=> String
1077
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values #=> Array
1078
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].boolean_value #=> Boolean
1079
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].double_value #=> Float
1080
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].expression #=> String
1081
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].integer_value #=> Integer
1082
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].list_value #=> Types::DataValueList
1083
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].long_value #=> Integer
1084
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].map_value #=> Hash
1085
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].map_value["String"] #=> Types::DataValue
1086
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].relationship_value.target_component_name #=> String
1087
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].relationship_value.target_entity_id #=> String
1088
+ # resp.components["Name"].properties["Name"].definition.data_type.allowed_values[0].string_value #=> String
1089
+ # resp.components["Name"].properties["Name"].definition.data_type.nested_type #=> Types::DataType
1090
+ # resp.components["Name"].properties["Name"].definition.data_type.relationship.relationship_type #=> String
1091
+ # resp.components["Name"].properties["Name"].definition.data_type.relationship.target_component_type_id #=> String
1092
+ # resp.components["Name"].properties["Name"].definition.data_type.type #=> String, one of "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP"
1093
+ # resp.components["Name"].properties["Name"].definition.data_type.unit_of_measure #=> String
1094
+ # resp.components["Name"].properties["Name"].definition.default_value.boolean_value #=> Boolean
1095
+ # resp.components["Name"].properties["Name"].definition.default_value.double_value #=> Float
1096
+ # resp.components["Name"].properties["Name"].definition.default_value.expression #=> String
1097
+ # resp.components["Name"].properties["Name"].definition.default_value.integer_value #=> Integer
1098
+ # resp.components["Name"].properties["Name"].definition.default_value.list_value #=> Array
1099
+ # resp.components["Name"].properties["Name"].definition.default_value.list_value[0] #=> Types::DataValue
1100
+ # resp.components["Name"].properties["Name"].definition.default_value.long_value #=> Integer
1101
+ # resp.components["Name"].properties["Name"].definition.default_value.map_value #=> Hash
1102
+ # resp.components["Name"].properties["Name"].definition.default_value.map_value["String"] #=> Types::DataValue
1103
+ # resp.components["Name"].properties["Name"].definition.default_value.relationship_value.target_component_name #=> String
1104
+ # resp.components["Name"].properties["Name"].definition.default_value.relationship_value.target_entity_id #=> String
1105
+ # resp.components["Name"].properties["Name"].definition.default_value.string_value #=> String
1106
+ # resp.components["Name"].properties["Name"].definition.is_external_id #=> Boolean
1107
+ # resp.components["Name"].properties["Name"].definition.is_final #=> Boolean
1108
+ # resp.components["Name"].properties["Name"].definition.is_imported #=> Boolean
1109
+ # resp.components["Name"].properties["Name"].definition.is_inherited #=> Boolean
1110
+ # resp.components["Name"].properties["Name"].definition.is_required_in_entity #=> Boolean
1111
+ # resp.components["Name"].properties["Name"].definition.is_stored_externally #=> Boolean
1112
+ # resp.components["Name"].properties["Name"].definition.is_time_series #=> Boolean
1113
+ # resp.components["Name"].properties["Name"].value.boolean_value #=> Boolean
1114
+ # resp.components["Name"].properties["Name"].value.double_value #=> Float
1115
+ # resp.components["Name"].properties["Name"].value.expression #=> String
1116
+ # resp.components["Name"].properties["Name"].value.integer_value #=> Integer
1117
+ # resp.components["Name"].properties["Name"].value.list_value #=> Array
1118
+ # resp.components["Name"].properties["Name"].value.list_value[0] #=> Types::DataValue
1119
+ # resp.components["Name"].properties["Name"].value.long_value #=> Integer
1120
+ # resp.components["Name"].properties["Name"].value.map_value #=> Hash
1121
+ # resp.components["Name"].properties["Name"].value.map_value["String"] #=> Types::DataValue
1122
+ # resp.components["Name"].properties["Name"].value.relationship_value.target_component_name #=> String
1123
+ # resp.components["Name"].properties["Name"].value.relationship_value.target_entity_id #=> String
1124
+ # resp.components["Name"].properties["Name"].value.string_value #=> String
1125
+ # resp.components["Name"].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1126
+ # resp.components["Name"].status.error.message #=> String
1127
+ # resp.components["Name"].status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1128
+ # resp.creation_date_time #=> Time
1129
+ # resp.description #=> String
1130
+ # resp.entity_id #=> String
1131
+ # resp.entity_name #=> String
1132
+ # resp.has_child_entities #=> Boolean
1133
+ # resp.parent_entity_id #=> String
1134
+ # resp.status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1135
+ # resp.status.error.message #=> String
1136
+ # resp.status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1137
+ # resp.update_date_time #=> Time
1138
+ # resp.workspace_id #=> String
1139
+ #
1140
+ # @overload get_entity(params = {})
1141
+ # @param [Hash] params ({})
1142
+ def get_entity(params = {}, options = {})
1143
+ req = build_request(:get_entity, params)
1144
+ req.send_request(options)
1145
+ end
1146
+
1147
+ # Gets the property values for a component, component type, entity, or
1148
+ # workspace.
1149
+ #
1150
+ # You must specify a value for either `componentName`,
1151
+ # `componentTypeId`, `entityId`, or `workspaceId`.
1152
+ #
1153
+ # @option params [String] :component_name
1154
+ # The name of the component whose property values the operation returns.
1155
+ #
1156
+ # @option params [String] :component_type_id
1157
+ # The ID of the component type whose property values the operation
1158
+ # returns.
1159
+ #
1160
+ # @option params [String] :entity_id
1161
+ # The ID of the entity whose property values the operation returns.
1162
+ #
1163
+ # @option params [required, Array<String>] :selected_properties
1164
+ # The properties whose values the operation returns.
1165
+ #
1166
+ # @option params [required, String] :workspace_id
1167
+ # The ID of the workspace whose values the operation returns.
1168
+ #
1169
+ # @return [Types::GetPropertyValueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1170
+ #
1171
+ # * {Types::GetPropertyValueResponse#property_values #property_values} => Hash&lt;String,Types::PropertyLatestValue&gt;
1172
+ #
1173
+ # @example Request syntax with placeholder values
1174
+ #
1175
+ # resp = client.get_property_value({
1176
+ # component_name: "Name",
1177
+ # component_type_id: "ComponentTypeId",
1178
+ # entity_id: "EntityId",
1179
+ # selected_properties: ["String"], # required
1180
+ # workspace_id: "Id", # required
1181
+ # })
1182
+ #
1183
+ # @example Response structure
1184
+ #
1185
+ # resp.property_values #=> Hash
1186
+ # resp.property_values["Name"].property_reference.component_name #=> String
1187
+ # resp.property_values["Name"].property_reference.entity_id #=> String
1188
+ # resp.property_values["Name"].property_reference.external_id_property #=> Hash
1189
+ # resp.property_values["Name"].property_reference.external_id_property["String"] #=> String
1190
+ # resp.property_values["Name"].property_reference.property_name #=> String
1191
+ # resp.property_values["Name"].property_value.boolean_value #=> Boolean
1192
+ # resp.property_values["Name"].property_value.double_value #=> Float
1193
+ # resp.property_values["Name"].property_value.expression #=> String
1194
+ # resp.property_values["Name"].property_value.integer_value #=> Integer
1195
+ # resp.property_values["Name"].property_value.list_value #=> Array
1196
+ # resp.property_values["Name"].property_value.list_value[0] #=> Types::DataValue
1197
+ # resp.property_values["Name"].property_value.long_value #=> Integer
1198
+ # resp.property_values["Name"].property_value.map_value #=> Hash
1199
+ # resp.property_values["Name"].property_value.map_value["String"] #=> Types::DataValue
1200
+ # resp.property_values["Name"].property_value.relationship_value.target_component_name #=> String
1201
+ # resp.property_values["Name"].property_value.relationship_value.target_entity_id #=> String
1202
+ # resp.property_values["Name"].property_value.string_value #=> String
1203
+ #
1204
+ # @overload get_property_value(params = {})
1205
+ # @param [Hash] params ({})
1206
+ def get_property_value(params = {}, options = {})
1207
+ req = build_request(:get_property_value, params)
1208
+ req.send_request(options)
1209
+ end
1210
+
1211
+ # Retrieves information about the history of a time series property
1212
+ # value for a component, component type, entity, or workspace.
1213
+ #
1214
+ # You must specify a value for `workspaceId`. For entity-specific
1215
+ # queries, specify values for `componentName` and `entityId`. For
1216
+ # cross-entity quries, specify a value for `componentTypeId`.
1217
+ #
1218
+ # @option params [String] :component_name
1219
+ # The name of the component.
1220
+ #
1221
+ # @option params [String] :component_type_id
1222
+ # The ID of the component type.
1223
+ #
1224
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_date_time
1225
+ # The date and time of the latest property value to return.
1226
+ #
1227
+ # @option params [String] :entity_id
1228
+ # The ID of the entity.
1229
+ #
1230
+ # @option params [Types::InterpolationParameters] :interpolation
1231
+ # An object that specifies the interpolation type and the interval over
1232
+ # which to interpolate data.
1233
+ #
1234
+ # @option params [Integer] :max_results
1235
+ # The maximum number of results to return.
1236
+ #
1237
+ # @option params [String] :next_token
1238
+ # The string that specifies the next page of results.
1239
+ #
1240
+ # @option params [String] :order_by_time
1241
+ # The time direction to use in the result order.
1242
+ #
1243
+ # @option params [Array<Types::PropertyFilter>] :property_filters
1244
+ # A list of objects that filter the property value history request.
1245
+ #
1246
+ # @option params [required, Array<String>] :selected_properties
1247
+ # A list of properties whose value histories the request retrieves.
1248
+ #
1249
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_date_time
1250
+ # The date and time of the earliest property value to return.
1251
+ #
1252
+ # @option params [required, String] :workspace_id
1253
+ # The ID of the workspace.
1254
+ #
1255
+ # @return [Types::GetPropertyValueHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1256
+ #
1257
+ # * {Types::GetPropertyValueHistoryResponse#next_token #next_token} => String
1258
+ # * {Types::GetPropertyValueHistoryResponse#property_values #property_values} => Array&lt;Types::PropertyValueHistory&gt;
1259
+ #
1260
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1261
+ #
1262
+ # @example Request syntax with placeholder values
1263
+ #
1264
+ # resp = client.get_property_value_history({
1265
+ # component_name: "Name",
1266
+ # component_type_id: "ComponentTypeId",
1267
+ # end_date_time: Time.now, # required
1268
+ # entity_id: "EntityId",
1269
+ # interpolation: {
1270
+ # interpolation_type: "LINEAR", # accepts LINEAR
1271
+ # interval_in_seconds: 1,
1272
+ # },
1273
+ # max_results: 1,
1274
+ # next_token: "NextToken",
1275
+ # order_by_time: "ASCENDING", # accepts ASCENDING, DESCENDING
1276
+ # property_filters: [
1277
+ # {
1278
+ # operator: "String",
1279
+ # property_name: "String",
1280
+ # value: {
1281
+ # boolean_value: false,
1282
+ # double_value: 1.0,
1283
+ # expression: "Expression",
1284
+ # integer_value: 1,
1285
+ # list_value: [
1286
+ # {
1287
+ # # recursive DataValue
1288
+ # },
1289
+ # ],
1290
+ # long_value: 1,
1291
+ # map_value: {
1292
+ # "String" => {
1293
+ # # recursive DataValue
1294
+ # },
1295
+ # },
1296
+ # relationship_value: {
1297
+ # target_component_name: "Name",
1298
+ # target_entity_id: "EntityId",
1299
+ # },
1300
+ # string_value: "String",
1301
+ # },
1302
+ # },
1303
+ # ],
1304
+ # selected_properties: ["String"], # required
1305
+ # start_date_time: Time.now, # required
1306
+ # workspace_id: "Id", # required
1307
+ # })
1308
+ #
1309
+ # @example Response structure
1310
+ #
1311
+ # resp.next_token #=> String
1312
+ # resp.property_values #=> Array
1313
+ # resp.property_values[0].entity_property_reference.component_name #=> String
1314
+ # resp.property_values[0].entity_property_reference.entity_id #=> String
1315
+ # resp.property_values[0].entity_property_reference.external_id_property #=> Hash
1316
+ # resp.property_values[0].entity_property_reference.external_id_property["String"] #=> String
1317
+ # resp.property_values[0].entity_property_reference.property_name #=> String
1318
+ # resp.property_values[0].values #=> Array
1319
+ # resp.property_values[0].values[0].timestamp #=> Time
1320
+ # resp.property_values[0].values[0].value.boolean_value #=> Boolean
1321
+ # resp.property_values[0].values[0].value.double_value #=> Float
1322
+ # resp.property_values[0].values[0].value.expression #=> String
1323
+ # resp.property_values[0].values[0].value.integer_value #=> Integer
1324
+ # resp.property_values[0].values[0].value.list_value #=> Array
1325
+ # resp.property_values[0].values[0].value.list_value[0] #=> Types::DataValue
1326
+ # resp.property_values[0].values[0].value.long_value #=> Integer
1327
+ # resp.property_values[0].values[0].value.map_value #=> Hash
1328
+ # resp.property_values[0].values[0].value.map_value["String"] #=> Types::DataValue
1329
+ # resp.property_values[0].values[0].value.relationship_value.target_component_name #=> String
1330
+ # resp.property_values[0].values[0].value.relationship_value.target_entity_id #=> String
1331
+ # resp.property_values[0].values[0].value.string_value #=> String
1332
+ #
1333
+ # @overload get_property_value_history(params = {})
1334
+ # @param [Hash] params ({})
1335
+ def get_property_value_history(params = {}, options = {})
1336
+ req = build_request(:get_property_value_history, params)
1337
+ req.send_request(options)
1338
+ end
1339
+
1340
+ # Retrieves information about a scene.
1341
+ #
1342
+ # @option params [required, String] :scene_id
1343
+ # The ID of the scene.
1344
+ #
1345
+ # @option params [required, String] :workspace_id
1346
+ # The ID of the workspace that contains the scene.
1347
+ #
1348
+ # @return [Types::GetSceneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1349
+ #
1350
+ # * {Types::GetSceneResponse#arn #arn} => String
1351
+ # * {Types::GetSceneResponse#capabilities #capabilities} => Array&lt;String&gt;
1352
+ # * {Types::GetSceneResponse#content_location #content_location} => String
1353
+ # * {Types::GetSceneResponse#creation_date_time #creation_date_time} => Time
1354
+ # * {Types::GetSceneResponse#description #description} => String
1355
+ # * {Types::GetSceneResponse#scene_id #scene_id} => String
1356
+ # * {Types::GetSceneResponse#update_date_time #update_date_time} => Time
1357
+ # * {Types::GetSceneResponse#workspace_id #workspace_id} => String
1358
+ #
1359
+ # @example Request syntax with placeholder values
1360
+ #
1361
+ # resp = client.get_scene({
1362
+ # scene_id: "Id", # required
1363
+ # workspace_id: "Id", # required
1364
+ # })
1365
+ #
1366
+ # @example Response structure
1367
+ #
1368
+ # resp.arn #=> String
1369
+ # resp.capabilities #=> Array
1370
+ # resp.capabilities[0] #=> String
1371
+ # resp.content_location #=> String
1372
+ # resp.creation_date_time #=> Time
1373
+ # resp.description #=> String
1374
+ # resp.scene_id #=> String
1375
+ # resp.update_date_time #=> Time
1376
+ # resp.workspace_id #=> String
1377
+ #
1378
+ # @overload get_scene(params = {})
1379
+ # @param [Hash] params ({})
1380
+ def get_scene(params = {}, options = {})
1381
+ req = build_request(:get_scene, params)
1382
+ req.send_request(options)
1383
+ end
1384
+
1385
+ # Retrieves information about a workspace.
1386
+ #
1387
+ # @option params [required, String] :workspace_id
1388
+ # The ID of the workspace.
1389
+ #
1390
+ # @return [Types::GetWorkspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1391
+ #
1392
+ # * {Types::GetWorkspaceResponse#arn #arn} => String
1393
+ # * {Types::GetWorkspaceResponse#creation_date_time #creation_date_time} => Time
1394
+ # * {Types::GetWorkspaceResponse#description #description} => String
1395
+ # * {Types::GetWorkspaceResponse#role #role} => String
1396
+ # * {Types::GetWorkspaceResponse#s3_location #s3_location} => String
1397
+ # * {Types::GetWorkspaceResponse#update_date_time #update_date_time} => Time
1398
+ # * {Types::GetWorkspaceResponse#workspace_id #workspace_id} => String
1399
+ #
1400
+ # @example Request syntax with placeholder values
1401
+ #
1402
+ # resp = client.get_workspace({
1403
+ # workspace_id: "IdOrArn", # required
1404
+ # })
1405
+ #
1406
+ # @example Response structure
1407
+ #
1408
+ # resp.arn #=> String
1409
+ # resp.creation_date_time #=> Time
1410
+ # resp.description #=> String
1411
+ # resp.role #=> String
1412
+ # resp.s3_location #=> String
1413
+ # resp.update_date_time #=> Time
1414
+ # resp.workspace_id #=> String
1415
+ #
1416
+ # @overload get_workspace(params = {})
1417
+ # @param [Hash] params ({})
1418
+ def get_workspace(params = {}, options = {})
1419
+ req = build_request(:get_workspace, params)
1420
+ req.send_request(options)
1421
+ end
1422
+
1423
+ # Lists all component types in a workspace.
1424
+ #
1425
+ # @option params [Array<Types::ListComponentTypesFilter>] :filters
1426
+ # A list of objects that filter the request.
1427
+ #
1428
+ # @option params [Integer] :max_results
1429
+ # The maximum number of results to display.
1430
+ #
1431
+ # @option params [String] :next_token
1432
+ # The string that specifies the next page of results.
1433
+ #
1434
+ # @option params [required, String] :workspace_id
1435
+ # The ID of the workspace.
1436
+ #
1437
+ # @return [Types::ListComponentTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1438
+ #
1439
+ # * {Types::ListComponentTypesResponse#component_type_summaries #component_type_summaries} => Array&lt;Types::ComponentTypeSummary&gt;
1440
+ # * {Types::ListComponentTypesResponse#max_results #max_results} => Integer
1441
+ # * {Types::ListComponentTypesResponse#next_token #next_token} => String
1442
+ # * {Types::ListComponentTypesResponse#workspace_id #workspace_id} => String
1443
+ #
1444
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1445
+ #
1446
+ # @example Request syntax with placeholder values
1447
+ #
1448
+ # resp = client.list_component_types({
1449
+ # filters: [
1450
+ # {
1451
+ # extends_from: "ComponentTypeId",
1452
+ # is_abstract: false,
1453
+ # namespace: "String",
1454
+ # },
1455
+ # ],
1456
+ # max_results: 1,
1457
+ # next_token: "NextToken",
1458
+ # workspace_id: "Id", # required
1459
+ # })
1460
+ #
1461
+ # @example Response structure
1462
+ #
1463
+ # resp.component_type_summaries #=> Array
1464
+ # resp.component_type_summaries[0].arn #=> String
1465
+ # resp.component_type_summaries[0].component_type_id #=> String
1466
+ # resp.component_type_summaries[0].creation_date_time #=> Time
1467
+ # resp.component_type_summaries[0].description #=> String
1468
+ # resp.component_type_summaries[0].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1469
+ # resp.component_type_summaries[0].status.error.message #=> String
1470
+ # resp.component_type_summaries[0].status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1471
+ # resp.component_type_summaries[0].update_date_time #=> Time
1472
+ # resp.max_results #=> Integer
1473
+ # resp.next_token #=> String
1474
+ # resp.workspace_id #=> String
1475
+ #
1476
+ # @overload list_component_types(params = {})
1477
+ # @param [Hash] params ({})
1478
+ def list_component_types(params = {}, options = {})
1479
+ req = build_request(:list_component_types, params)
1480
+ req.send_request(options)
1481
+ end
1482
+
1483
+ # Lists all entities in a workspace.
1484
+ #
1485
+ # @option params [Array<Types::ListEntitiesFilter>] :filters
1486
+ # A list of objects that filter the request.
1487
+ #
1488
+ # @option params [Integer] :max_results
1489
+ # The maximum number of results to display.
1490
+ #
1491
+ # @option params [String] :next_token
1492
+ # The string that specifies the next page of results.
1493
+ #
1494
+ # @option params [required, String] :workspace_id
1495
+ # The ID of the workspace.
1496
+ #
1497
+ # @return [Types::ListEntitiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1498
+ #
1499
+ # * {Types::ListEntitiesResponse#entity_summaries #entity_summaries} => Array&lt;Types::EntitySummary&gt;
1500
+ # * {Types::ListEntitiesResponse#next_token #next_token} => String
1501
+ #
1502
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1503
+ #
1504
+ # @example Request syntax with placeholder values
1505
+ #
1506
+ # resp = client.list_entities({
1507
+ # filters: [
1508
+ # {
1509
+ # component_type_id: "ComponentTypeId",
1510
+ # parent_entity_id: "ParentEntityId",
1511
+ # },
1512
+ # ],
1513
+ # max_results: 1,
1514
+ # next_token: "NextToken",
1515
+ # workspace_id: "Id", # required
1516
+ # })
1517
+ #
1518
+ # @example Response structure
1519
+ #
1520
+ # resp.entity_summaries #=> Array
1521
+ # resp.entity_summaries[0].arn #=> String
1522
+ # resp.entity_summaries[0].creation_date_time #=> Time
1523
+ # resp.entity_summaries[0].description #=> String
1524
+ # resp.entity_summaries[0].entity_id #=> String
1525
+ # resp.entity_summaries[0].entity_name #=> String
1526
+ # resp.entity_summaries[0].has_child_entities #=> Boolean
1527
+ # resp.entity_summaries[0].parent_entity_id #=> String
1528
+ # resp.entity_summaries[0].status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1529
+ # resp.entity_summaries[0].status.error.message #=> String
1530
+ # resp.entity_summaries[0].status.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1531
+ # resp.entity_summaries[0].update_date_time #=> Time
1532
+ # resp.next_token #=> String
1533
+ #
1534
+ # @overload list_entities(params = {})
1535
+ # @param [Hash] params ({})
1536
+ def list_entities(params = {}, options = {})
1537
+ req = build_request(:list_entities, params)
1538
+ req.send_request(options)
1539
+ end
1540
+
1541
+ # Lists all scenes in a workspace.
1542
+ #
1543
+ # @option params [Integer] :max_results
1544
+ # Specifies the maximum number of results to display.
1545
+ #
1546
+ # @option params [String] :next_token
1547
+ # The string that specifies the next page of results.
1548
+ #
1549
+ # @option params [required, String] :workspace_id
1550
+ # The ID of the workspace that contains the scenes.
1551
+ #
1552
+ # @return [Types::ListScenesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1553
+ #
1554
+ # * {Types::ListScenesResponse#next_token #next_token} => String
1555
+ # * {Types::ListScenesResponse#scene_summaries #scene_summaries} => Array&lt;Types::SceneSummary&gt;
1556
+ #
1557
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1558
+ #
1559
+ # @example Request syntax with placeholder values
1560
+ #
1561
+ # resp = client.list_scenes({
1562
+ # max_results: 1,
1563
+ # next_token: "NextToken",
1564
+ # workspace_id: "Id", # required
1565
+ # })
1566
+ #
1567
+ # @example Response structure
1568
+ #
1569
+ # resp.next_token #=> String
1570
+ # resp.scene_summaries #=> Array
1571
+ # resp.scene_summaries[0].arn #=> String
1572
+ # resp.scene_summaries[0].content_location #=> String
1573
+ # resp.scene_summaries[0].creation_date_time #=> Time
1574
+ # resp.scene_summaries[0].description #=> String
1575
+ # resp.scene_summaries[0].scene_id #=> String
1576
+ # resp.scene_summaries[0].update_date_time #=> Time
1577
+ #
1578
+ # @overload list_scenes(params = {})
1579
+ # @param [Hash] params ({})
1580
+ def list_scenes(params = {}, options = {})
1581
+ req = build_request(:list_scenes, params)
1582
+ req.send_request(options)
1583
+ end
1584
+
1585
+ # Lists all tags associated with a resource.
1586
+ #
1587
+ # @option params [Integer] :max_results
1588
+ # The maximum number of results to display.
1589
+ #
1590
+ # @option params [String] :next_token
1591
+ # The string that specifies the next page of results.
1592
+ #
1593
+ # @option params [required, String] :resource_arn
1594
+ # The ARN of the resource.
1595
+ #
1596
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1597
+ #
1598
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
1599
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1600
+ #
1601
+ # @example Request syntax with placeholder values
1602
+ #
1603
+ # resp = client.list_tags_for_resource({
1604
+ # max_results: 1,
1605
+ # next_token: "NextToken",
1606
+ # resource_arn: "TwinMakerArn", # required
1607
+ # })
1608
+ #
1609
+ # @example Response structure
1610
+ #
1611
+ # resp.next_token #=> String
1612
+ # resp.tags #=> Hash
1613
+ # resp.tags["TagKey"] #=> String
1614
+ #
1615
+ # @overload list_tags_for_resource(params = {})
1616
+ # @param [Hash] params ({})
1617
+ def list_tags_for_resource(params = {}, options = {})
1618
+ req = build_request(:list_tags_for_resource, params)
1619
+ req.send_request(options)
1620
+ end
1621
+
1622
+ # Retrieves information about workspaces in the current account.
1623
+ #
1624
+ # @option params [Integer] :max_results
1625
+ # The maximum number of results to display.
1626
+ #
1627
+ # @option params [String] :next_token
1628
+ # The string that specifies the next page of results.
1629
+ #
1630
+ # @return [Types::ListWorkspacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1631
+ #
1632
+ # * {Types::ListWorkspacesResponse#next_token #next_token} => String
1633
+ # * {Types::ListWorkspacesResponse#workspace_summaries #workspace_summaries} => Array&lt;Types::WorkspaceSummary&gt;
1634
+ #
1635
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1636
+ #
1637
+ # @example Request syntax with placeholder values
1638
+ #
1639
+ # resp = client.list_workspaces({
1640
+ # max_results: 1,
1641
+ # next_token: "NextToken",
1642
+ # })
1643
+ #
1644
+ # @example Response structure
1645
+ #
1646
+ # resp.next_token #=> String
1647
+ # resp.workspace_summaries #=> Array
1648
+ # resp.workspace_summaries[0].arn #=> String
1649
+ # resp.workspace_summaries[0].creation_date_time #=> Time
1650
+ # resp.workspace_summaries[0].description #=> String
1651
+ # resp.workspace_summaries[0].update_date_time #=> Time
1652
+ # resp.workspace_summaries[0].workspace_id #=> String
1653
+ #
1654
+ # @overload list_workspaces(params = {})
1655
+ # @param [Hash] params ({})
1656
+ def list_workspaces(params = {}, options = {})
1657
+ req = build_request(:list_workspaces, params)
1658
+ req.send_request(options)
1659
+ end
1660
+
1661
+ # Adds tags to a resource.
1662
+ #
1663
+ # @option params [required, String] :resource_arn
1664
+ # The ARN of the resource.
1665
+ #
1666
+ # @option params [required, Hash<String,String>] :tags
1667
+ # Metadata to add to this resource.
1668
+ #
1669
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1670
+ #
1671
+ # @example Request syntax with placeholder values
1672
+ #
1673
+ # resp = client.tag_resource({
1674
+ # resource_arn: "TwinMakerArn", # required
1675
+ # tags: { # required
1676
+ # "TagKey" => "TagValue",
1677
+ # },
1678
+ # })
1679
+ #
1680
+ # @overload tag_resource(params = {})
1681
+ # @param [Hash] params ({})
1682
+ def tag_resource(params = {}, options = {})
1683
+ req = build_request(:tag_resource, params)
1684
+ req.send_request(options)
1685
+ end
1686
+
1687
+ # Removes tags from a resource.
1688
+ #
1689
+ # @option params [required, String] :resource_arn
1690
+ # The ARN of the resource.
1691
+ #
1692
+ # @option params [required, Array<String>] :tag_keys
1693
+ # A list of tag key names to remove from the resource. You don't
1694
+ # specify the value. Both the key and its associated value are removed.
1695
+ #
1696
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1697
+ #
1698
+ # @example Request syntax with placeholder values
1699
+ #
1700
+ # resp = client.untag_resource({
1701
+ # resource_arn: "TwinMakerArn", # required
1702
+ # tag_keys: ["TagKey"], # required
1703
+ # })
1704
+ #
1705
+ # @overload untag_resource(params = {})
1706
+ # @param [Hash] params ({})
1707
+ def untag_resource(params = {}, options = {})
1708
+ req = build_request(:untag_resource, params)
1709
+ req.send_request(options)
1710
+ end
1711
+
1712
+ # Updates information in a component type.
1713
+ #
1714
+ # @option params [required, String] :component_type_id
1715
+ # The ID of the component type.
1716
+ #
1717
+ # @option params [String] :description
1718
+ # The description of the component type.
1719
+ #
1720
+ # @option params [Array<String>] :extends_from
1721
+ # Specifies the component type that this component type extends.
1722
+ #
1723
+ # @option params [Hash<String,Types::FunctionRequest>] :functions
1724
+ # An object that maps strings to the functions in the component type.
1725
+ # Each string in the mapping must be unique to this object.
1726
+ #
1727
+ # @option params [Boolean] :is_singleton
1728
+ # A Boolean value that specifies whether an entity can have more than
1729
+ # one component of this type.
1730
+ #
1731
+ # @option params [Hash<String,Types::PropertyDefinitionRequest>] :property_definitions
1732
+ # An object that maps strings to the property definitions in the
1733
+ # component type. Each string in the mapping must be unique to this
1734
+ # object.
1735
+ #
1736
+ # @option params [required, String] :workspace_id
1737
+ # The ID of the workspace that contains the component type.
1738
+ #
1739
+ # @return [Types::UpdateComponentTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1740
+ #
1741
+ # * {Types::UpdateComponentTypeResponse#arn #arn} => String
1742
+ # * {Types::UpdateComponentTypeResponse#component_type_id #component_type_id} => String
1743
+ # * {Types::UpdateComponentTypeResponse#state #state} => String
1744
+ # * {Types::UpdateComponentTypeResponse#workspace_id #workspace_id} => String
1745
+ #
1746
+ # @example Request syntax with placeholder values
1747
+ #
1748
+ # resp = client.update_component_type({
1749
+ # component_type_id: "ComponentTypeId", # required
1750
+ # description: "Description",
1751
+ # extends_from: ["ComponentTypeId"],
1752
+ # functions: {
1753
+ # "Name" => {
1754
+ # implemented_by: {
1755
+ # is_native: false,
1756
+ # lambda: {
1757
+ # arn: "LambdaArn", # required
1758
+ # },
1759
+ # },
1760
+ # required_properties: ["Name"],
1761
+ # scope: "ENTITY", # accepts ENTITY, WORKSPACE
1762
+ # },
1763
+ # },
1764
+ # is_singleton: false,
1765
+ # property_definitions: {
1766
+ # "Name" => {
1767
+ # configuration: {
1768
+ # "Name" => "Value",
1769
+ # },
1770
+ # data_type: {
1771
+ # allowed_values: [
1772
+ # {
1773
+ # boolean_value: false,
1774
+ # double_value: 1.0,
1775
+ # expression: "Expression",
1776
+ # integer_value: 1,
1777
+ # list_value: {
1778
+ # # recursive DataValueList
1779
+ # },
1780
+ # long_value: 1,
1781
+ # map_value: {
1782
+ # "String" => {
1783
+ # # recursive DataValue
1784
+ # },
1785
+ # },
1786
+ # relationship_value: {
1787
+ # target_component_name: "Name",
1788
+ # target_entity_id: "EntityId",
1789
+ # },
1790
+ # string_value: "String",
1791
+ # },
1792
+ # ],
1793
+ # nested_type: {
1794
+ # # recursive DataType
1795
+ # },
1796
+ # relationship: {
1797
+ # relationship_type: "String",
1798
+ # target_component_type_id: "ComponentTypeId",
1799
+ # },
1800
+ # type: "RELATIONSHIP", # required, accepts RELATIONSHIP, STRING, LONG, BOOLEAN, INTEGER, DOUBLE, LIST, MAP
1801
+ # unit_of_measure: "String",
1802
+ # },
1803
+ # default_value: {
1804
+ # boolean_value: false,
1805
+ # double_value: 1.0,
1806
+ # expression: "Expression",
1807
+ # integer_value: 1,
1808
+ # list_value: [
1809
+ # {
1810
+ # # recursive DataValue
1811
+ # },
1812
+ # ],
1813
+ # long_value: 1,
1814
+ # map_value: {
1815
+ # "String" => {
1816
+ # # recursive DataValue
1817
+ # },
1818
+ # },
1819
+ # relationship_value: {
1820
+ # target_component_name: "Name",
1821
+ # target_entity_id: "EntityId",
1822
+ # },
1823
+ # string_value: "String",
1824
+ # },
1825
+ # is_external_id: false,
1826
+ # is_required_in_entity: false,
1827
+ # is_stored_externally: false,
1828
+ # is_time_series: false,
1829
+ # },
1830
+ # },
1831
+ # workspace_id: "Id", # required
1832
+ # })
1833
+ #
1834
+ # @example Response structure
1835
+ #
1836
+ # resp.arn #=> String
1837
+ # resp.component_type_id #=> String
1838
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1839
+ # resp.workspace_id #=> String
1840
+ #
1841
+ # @overload update_component_type(params = {})
1842
+ # @param [Hash] params ({})
1843
+ def update_component_type(params = {}, options = {})
1844
+ req = build_request(:update_component_type, params)
1845
+ req.send_request(options)
1846
+ end
1847
+
1848
+ # Updates an entity.
1849
+ #
1850
+ # @option params [Hash<String,Types::ComponentUpdateRequest>] :component_updates
1851
+ # An object that maps strings to the component updates in the request.
1852
+ # Each string in the mapping must be unique to this object.
1853
+ #
1854
+ # @option params [String] :description
1855
+ # The description of the entity.
1856
+ #
1857
+ # @option params [required, String] :entity_id
1858
+ # The ID of the entity.
1859
+ #
1860
+ # @option params [String] :entity_name
1861
+ # The name of the entity.
1862
+ #
1863
+ # @option params [Types::ParentEntityUpdateRequest] :parent_entity_update
1864
+ # An object that describes the update request for a parent entity.
1865
+ #
1866
+ # @option params [required, String] :workspace_id
1867
+ # The ID of the workspace that contains the entity.
1868
+ #
1869
+ # @return [Types::UpdateEntityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1870
+ #
1871
+ # * {Types::UpdateEntityResponse#state #state} => String
1872
+ # * {Types::UpdateEntityResponse#update_date_time #update_date_time} => Time
1873
+ #
1874
+ # @example Request syntax with placeholder values
1875
+ #
1876
+ # resp = client.update_entity({
1877
+ # component_updates: {
1878
+ # "Name" => {
1879
+ # component_type_id: "ComponentTypeId",
1880
+ # description: "Description",
1881
+ # property_updates: {
1882
+ # "Name" => {
1883
+ # definition: {
1884
+ # configuration: {
1885
+ # "Name" => "Value",
1886
+ # },
1887
+ # data_type: {
1888
+ # allowed_values: [
1889
+ # {
1890
+ # boolean_value: false,
1891
+ # double_value: 1.0,
1892
+ # expression: "Expression",
1893
+ # integer_value: 1,
1894
+ # list_value: {
1895
+ # # recursive DataValueList
1896
+ # },
1897
+ # long_value: 1,
1898
+ # map_value: {
1899
+ # "String" => {
1900
+ # # recursive DataValue
1901
+ # },
1902
+ # },
1903
+ # relationship_value: {
1904
+ # target_component_name: "Name",
1905
+ # target_entity_id: "EntityId",
1906
+ # },
1907
+ # string_value: "String",
1908
+ # },
1909
+ # ],
1910
+ # nested_type: {
1911
+ # # recursive DataType
1912
+ # },
1913
+ # relationship: {
1914
+ # relationship_type: "String",
1915
+ # target_component_type_id: "ComponentTypeId",
1916
+ # },
1917
+ # type: "RELATIONSHIP", # required, accepts RELATIONSHIP, STRING, LONG, BOOLEAN, INTEGER, DOUBLE, LIST, MAP
1918
+ # unit_of_measure: "String",
1919
+ # },
1920
+ # default_value: {
1921
+ # boolean_value: false,
1922
+ # double_value: 1.0,
1923
+ # expression: "Expression",
1924
+ # integer_value: 1,
1925
+ # list_value: [
1926
+ # {
1927
+ # # recursive DataValue
1928
+ # },
1929
+ # ],
1930
+ # long_value: 1,
1931
+ # map_value: {
1932
+ # "String" => {
1933
+ # # recursive DataValue
1934
+ # },
1935
+ # },
1936
+ # relationship_value: {
1937
+ # target_component_name: "Name",
1938
+ # target_entity_id: "EntityId",
1939
+ # },
1940
+ # string_value: "String",
1941
+ # },
1942
+ # is_external_id: false,
1943
+ # is_required_in_entity: false,
1944
+ # is_stored_externally: false,
1945
+ # is_time_series: false,
1946
+ # },
1947
+ # update_type: "UPDATE", # accepts UPDATE, DELETE
1948
+ # value: {
1949
+ # boolean_value: false,
1950
+ # double_value: 1.0,
1951
+ # expression: "Expression",
1952
+ # integer_value: 1,
1953
+ # list_value: [
1954
+ # {
1955
+ # # recursive DataValue
1956
+ # },
1957
+ # ],
1958
+ # long_value: 1,
1959
+ # map_value: {
1960
+ # "String" => {
1961
+ # # recursive DataValue
1962
+ # },
1963
+ # },
1964
+ # relationship_value: {
1965
+ # target_component_name: "Name",
1966
+ # target_entity_id: "EntityId",
1967
+ # },
1968
+ # string_value: "String",
1969
+ # },
1970
+ # },
1971
+ # },
1972
+ # update_type: "CREATE", # accepts CREATE, UPDATE, DELETE
1973
+ # },
1974
+ # },
1975
+ # description: "Description",
1976
+ # entity_id: "EntityId", # required
1977
+ # entity_name: "EntityName",
1978
+ # parent_entity_update: {
1979
+ # parent_entity_id: "ParentEntityId",
1980
+ # update_type: "UPDATE", # required, accepts UPDATE, DELETE
1981
+ # },
1982
+ # workspace_id: "Id", # required
1983
+ # })
1984
+ #
1985
+ # @example Response structure
1986
+ #
1987
+ # resp.state #=> String, one of "CREATING", "UPDATING", "DELETING", "ACTIVE", "ERROR"
1988
+ # resp.update_date_time #=> Time
1989
+ #
1990
+ # @overload update_entity(params = {})
1991
+ # @param [Hash] params ({})
1992
+ def update_entity(params = {}, options = {})
1993
+ req = build_request(:update_entity, params)
1994
+ req.send_request(options)
1995
+ end
1996
+
1997
+ # Updates a scene.
1998
+ #
1999
+ # @option params [Array<String>] :capabilities
2000
+ # A list of capabilities that the scene uses to render.
2001
+ #
2002
+ # @option params [String] :content_location
2003
+ # The relative path that specifies the location of the content
2004
+ # definition file.
2005
+ #
2006
+ # @option params [String] :description
2007
+ # The description of this scene.
2008
+ #
2009
+ # @option params [required, String] :scene_id
2010
+ # The ID of the scene.
2011
+ #
2012
+ # @option params [required, String] :workspace_id
2013
+ # The ID of the workspace that contains the scene.
2014
+ #
2015
+ # @return [Types::UpdateSceneResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2016
+ #
2017
+ # * {Types::UpdateSceneResponse#update_date_time #update_date_time} => Time
2018
+ #
2019
+ # @example Request syntax with placeholder values
2020
+ #
2021
+ # resp = client.update_scene({
2022
+ # capabilities: ["SceneCapability"],
2023
+ # content_location: "S3Url",
2024
+ # description: "Description",
2025
+ # scene_id: "Id", # required
2026
+ # workspace_id: "Id", # required
2027
+ # })
2028
+ #
2029
+ # @example Response structure
2030
+ #
2031
+ # resp.update_date_time #=> Time
2032
+ #
2033
+ # @overload update_scene(params = {})
2034
+ # @param [Hash] params ({})
2035
+ def update_scene(params = {}, options = {})
2036
+ req = build_request(:update_scene, params)
2037
+ req.send_request(options)
2038
+ end
2039
+
2040
+ # Updates a workspace.
2041
+ #
2042
+ # @option params [String] :description
2043
+ # The description of the workspace.
2044
+ #
2045
+ # @option params [String] :role
2046
+ # The ARN of the execution role associated with the workspace.
2047
+ #
2048
+ # @option params [required, String] :workspace_id
2049
+ # The ID of the workspace.
2050
+ #
2051
+ # @return [Types::UpdateWorkspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2052
+ #
2053
+ # * {Types::UpdateWorkspaceResponse#update_date_time #update_date_time} => Time
2054
+ #
2055
+ # @example Request syntax with placeholder values
2056
+ #
2057
+ # resp = client.update_workspace({
2058
+ # description: "Description",
2059
+ # role: "RoleArn",
2060
+ # workspace_id: "Id", # required
2061
+ # })
2062
+ #
2063
+ # @example Response structure
2064
+ #
2065
+ # resp.update_date_time #=> Time
2066
+ #
2067
+ # @overload update_workspace(params = {})
2068
+ # @param [Hash] params ({})
2069
+ def update_workspace(params = {}, options = {})
2070
+ req = build_request(:update_workspace, params)
2071
+ req.send_request(options)
2072
+ end
2073
+
2074
+ # @!endgroup
2075
+
2076
+ # @param params ({})
2077
+ # @api private
2078
+ def build_request(operation_name, params = {})
2079
+ handlers = @handlers.for(operation_name)
2080
+ context = Seahorse::Client::RequestContext.new(
2081
+ operation_name: operation_name,
2082
+ operation: config.api.operation(operation_name),
2083
+ client: self,
2084
+ params: params,
2085
+ config: config)
2086
+ context[:gem_name] = 'aws-sdk-iottwinmaker'
2087
+ context[:gem_version] = '1.0.0'
2088
+ Seahorse::Client::Request.new(handlers, context)
2089
+ end
2090
+
2091
+ # @api private
2092
+ # @deprecated
2093
+ def waiter_names
2094
+ []
2095
+ end
2096
+
2097
+ class << self
2098
+
2099
+ # @api private
2100
+ attr_reader :identifier
2101
+
2102
+ # @api private
2103
+ def errors_module
2104
+ Errors
2105
+ end
2106
+
2107
+ end
2108
+ end
2109
+ end