aws-sdk-workspacesthinclient 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,1268 @@
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/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:workspacesthinclient)
38
+
39
+ module Aws::WorkSpacesThinClient
40
+ # An API client for WorkSpacesThinClient. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::WorkSpacesThinClient::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :workspacesthinclient
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::WorkSpacesThinClient::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::WorkSpacesThinClient::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::WorkSpacesThinClient::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Creates an environment for your thin client devices.
392
+ #
393
+ # @option params [String] :name
394
+ # The name for the environment.
395
+ #
396
+ # @option params [required, String] :desktop_arn
397
+ # The Amazon Resource Name (ARN) of the desktop to stream from Amazon
398
+ # WorkSpaces, WorkSpaces Web, or AppStream 2.0.
399
+ #
400
+ # @option params [String] :desktop_endpoint
401
+ # The URL for the identity provider login (only for environments that
402
+ # use AppStream 2.0).
403
+ #
404
+ # @option params [String] :software_set_update_schedule
405
+ # An option to define if software updates should be applied within a
406
+ # maintenance window.
407
+ #
408
+ # @option params [Types::MaintenanceWindow] :maintenance_window
409
+ # A specification for a time window to apply software updates.
410
+ #
411
+ # @option params [String] :software_set_update_mode
412
+ # An option to define which software updates to apply.
413
+ #
414
+ # @option params [String] :desired_software_set_id
415
+ # The ID of the software set to apply.
416
+ #
417
+ # @option params [String] :kms_key_arn
418
+ # The Amazon Resource Name (ARN) of the Key Management Service key to
419
+ # use to encrypt the environment.
420
+ #
421
+ # @option params [String] :client_token
422
+ # Specifies a unique, case-sensitive identifier that you provide to
423
+ # ensure the idempotency of the request. This lets you safely retry the
424
+ # request without accidentally performing the same operation a second
425
+ # time. Passing the same value to a later call to an operation requires
426
+ # that you also pass the same value for all other parameters. We
427
+ # recommend that you use a [UUID type of value][1].
428
+ #
429
+ # If you don't provide this value, then Amazon Web Services generates a
430
+ # random one for you.
431
+ #
432
+ # If you retry the operation with the same `ClientToken`, but with
433
+ # different parameters, the retry fails with an
434
+ # `IdempotentParameterMismatch` error.
435
+ #
436
+ # **A suitable default value is auto-generated.** You should normally
437
+ # not need to pass this option.**
438
+ #
439
+ #
440
+ #
441
+ # [1]: https://wikipedia.org/wiki/Universally_unique_identifier
442
+ #
443
+ # @option params [Hash<String,String>] :tags
444
+ # A map of the key-value pairs of the tag or tags to assign to the
445
+ # resource.
446
+ #
447
+ # @return [Types::CreateEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
+ #
449
+ # * {Types::CreateEnvironmentResponse#environment #environment} => Types::EnvironmentSummary
450
+ #
451
+ # @example Request syntax with placeholder values
452
+ #
453
+ # resp = client.create_environment({
454
+ # name: "EnvironmentName",
455
+ # desktop_arn: "Arn", # required
456
+ # desktop_endpoint: "DesktopEndpoint",
457
+ # software_set_update_schedule: "USE_MAINTENANCE_WINDOW", # accepts USE_MAINTENANCE_WINDOW, APPLY_IMMEDIATELY
458
+ # maintenance_window: {
459
+ # type: "SYSTEM", # accepts SYSTEM, CUSTOM
460
+ # start_time_hour: 1,
461
+ # start_time_minute: 1,
462
+ # end_time_hour: 1,
463
+ # end_time_minute: 1,
464
+ # days_of_the_week: ["MONDAY"], # accepts MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
465
+ # apply_time_of: "UTC", # accepts UTC, DEVICE
466
+ # },
467
+ # software_set_update_mode: "USE_LATEST", # accepts USE_LATEST, USE_DESIRED
468
+ # desired_software_set_id: "SoftwareSetId",
469
+ # kms_key_arn: "KmsKeyArn",
470
+ # client_token: "ClientToken",
471
+ # tags: {
472
+ # "String" => "String",
473
+ # },
474
+ # })
475
+ #
476
+ # @example Response structure
477
+ #
478
+ # resp.environment.id #=> String
479
+ # resp.environment.name #=> String
480
+ # resp.environment.desktop_arn #=> String
481
+ # resp.environment.desktop_endpoint #=> String
482
+ # resp.environment.desktop_type #=> String, one of "workspaces", "appstream", "workspaces-web"
483
+ # resp.environment.activation_code #=> String
484
+ # resp.environment.software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
485
+ # resp.environment.maintenance_window.type #=> String, one of "SYSTEM", "CUSTOM"
486
+ # resp.environment.maintenance_window.start_time_hour #=> Integer
487
+ # resp.environment.maintenance_window.start_time_minute #=> Integer
488
+ # resp.environment.maintenance_window.end_time_hour #=> Integer
489
+ # resp.environment.maintenance_window.end_time_minute #=> Integer
490
+ # resp.environment.maintenance_window.days_of_the_week #=> Array
491
+ # resp.environment.maintenance_window.days_of_the_week[0] #=> String, one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"
492
+ # resp.environment.maintenance_window.apply_time_of #=> String, one of "UTC", "DEVICE"
493
+ # resp.environment.software_set_update_mode #=> String, one of "USE_LATEST", "USE_DESIRED"
494
+ # resp.environment.desired_software_set_id #=> String
495
+ # resp.environment.pending_software_set_id #=> String
496
+ # resp.environment.created_at #=> Time
497
+ # resp.environment.updated_at #=> Time
498
+ # resp.environment.arn #=> String
499
+ # resp.environment.tags.resource_arn #=> String
500
+ # resp.environment.tags.internal_id #=> String
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/CreateEnvironment AWS API Documentation
503
+ #
504
+ # @overload create_environment(params = {})
505
+ # @param [Hash] params ({})
506
+ def create_environment(params = {}, options = {})
507
+ req = build_request(:create_environment, params)
508
+ req.send_request(options)
509
+ end
510
+
511
+ # Deletes a thin client device.
512
+ #
513
+ # @option params [required, String] :id
514
+ # The ID of the device to delete.
515
+ #
516
+ # @option params [String] :client_token
517
+ # Specifies a unique, case-sensitive identifier that you provide to
518
+ # ensure the idempotency of the request. This lets you safely retry the
519
+ # request without accidentally performing the same operation a second
520
+ # time. Passing the same value to a later call to an operation requires
521
+ # that you also pass the same value for all other parameters. We
522
+ # recommend that you use a [UUID type of value][1].
523
+ #
524
+ # If you don't provide this value, then Amazon Web Services generates a
525
+ # random one for you.
526
+ #
527
+ # If you retry the operation with the same `ClientToken`, but with
528
+ # different parameters, the retry fails with an
529
+ # `IdempotentParameterMismatch` error.
530
+ #
531
+ # **A suitable default value is auto-generated.** You should normally
532
+ # not need to pass this option.**
533
+ #
534
+ #
535
+ #
536
+ # [1]: https://wikipedia.org/wiki/Universally_unique_identifier
537
+ #
538
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
539
+ #
540
+ # @example Request syntax with placeholder values
541
+ #
542
+ # resp = client.delete_device({
543
+ # id: "DeviceId", # required
544
+ # client_token: "ClientToken",
545
+ # })
546
+ #
547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/DeleteDevice AWS API Documentation
548
+ #
549
+ # @overload delete_device(params = {})
550
+ # @param [Hash] params ({})
551
+ def delete_device(params = {}, options = {})
552
+ req = build_request(:delete_device, params)
553
+ req.send_request(options)
554
+ end
555
+
556
+ # Deletes an environment.
557
+ #
558
+ # @option params [required, String] :id
559
+ # The ID of the environment to delete.
560
+ #
561
+ # @option params [String] :client_token
562
+ # Specifies a unique, case-sensitive identifier that you provide to
563
+ # ensure the idempotency of the request. This lets you safely retry the
564
+ # request without accidentally performing the same operation a second
565
+ # time. Passing the same value to a later call to an operation requires
566
+ # that you also pass the same value for all other parameters. We
567
+ # recommend that you use a [UUID type of value][1].
568
+ #
569
+ # If you don't provide this value, then Amazon Web Services generates a
570
+ # random one for you.
571
+ #
572
+ # If you retry the operation with the same `ClientToken`, but with
573
+ # different parameters, the retry fails with an
574
+ # `IdempotentParameterMismatch` error.
575
+ #
576
+ # **A suitable default value is auto-generated.** You should normally
577
+ # not need to pass this option.**
578
+ #
579
+ #
580
+ #
581
+ # [1]: https://wikipedia.org/wiki/Universally_unique_identifier
582
+ #
583
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
584
+ #
585
+ # @example Request syntax with placeholder values
586
+ #
587
+ # resp = client.delete_environment({
588
+ # id: "EnvironmentId", # required
589
+ # client_token: "ClientToken",
590
+ # })
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/DeleteEnvironment AWS API Documentation
593
+ #
594
+ # @overload delete_environment(params = {})
595
+ # @param [Hash] params ({})
596
+ def delete_environment(params = {}, options = {})
597
+ req = build_request(:delete_environment, params)
598
+ req.send_request(options)
599
+ end
600
+
601
+ # Deregisters a thin client device.
602
+ #
603
+ # @option params [required, String] :id
604
+ # The ID of the device to deregister.
605
+ #
606
+ # @option params [String] :target_device_status
607
+ # The desired new status for the device.
608
+ #
609
+ # @option params [String] :client_token
610
+ # Specifies a unique, case-sensitive identifier that you provide to
611
+ # ensure the idempotency of the request. This lets you safely retry the
612
+ # request without accidentally performing the same operation a second
613
+ # time. Passing the same value to a later call to an operation requires
614
+ # that you also pass the same value for all other parameters. We
615
+ # recommend that you use a [UUID type of value][1].
616
+ #
617
+ # If you don't provide this value, then Amazon Web Services generates a
618
+ # random one for you.
619
+ #
620
+ # If you retry the operation with the same `ClientToken`, but with
621
+ # different parameters, the retry fails with an
622
+ # `IdempotentParameterMismatch` error.
623
+ #
624
+ # **A suitable default value is auto-generated.** You should normally
625
+ # not need to pass this option.**
626
+ #
627
+ #
628
+ #
629
+ # [1]: https://wikipedia.org/wiki/Universally_unique_identifier
630
+ #
631
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
632
+ #
633
+ # @example Request syntax with placeholder values
634
+ #
635
+ # resp = client.deregister_device({
636
+ # id: "DeviceId", # required
637
+ # target_device_status: "DEREGISTERED", # accepts DEREGISTERED, ARCHIVED
638
+ # client_token: "ClientToken",
639
+ # })
640
+ #
641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/DeregisterDevice AWS API Documentation
642
+ #
643
+ # @overload deregister_device(params = {})
644
+ # @param [Hash] params ({})
645
+ def deregister_device(params = {}, options = {})
646
+ req = build_request(:deregister_device, params)
647
+ req.send_request(options)
648
+ end
649
+
650
+ # Returns information for a thin client device.
651
+ #
652
+ # @option params [required, String] :id
653
+ # The ID of the device for which to return information.
654
+ #
655
+ # @return [Types::GetDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
656
+ #
657
+ # * {Types::GetDeviceResponse#device #device} => Types::Device
658
+ #
659
+ # @example Request syntax with placeholder values
660
+ #
661
+ # resp = client.get_device({
662
+ # id: "DeviceId", # required
663
+ # })
664
+ #
665
+ # @example Response structure
666
+ #
667
+ # resp.device.id #=> String
668
+ # resp.device.serial_number #=> String
669
+ # resp.device.name #=> String
670
+ # resp.device.model #=> String
671
+ # resp.device.environment_id #=> String
672
+ # resp.device.status #=> String, one of "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ARCHIVED"
673
+ # resp.device.current_software_set_id #=> String
674
+ # resp.device.current_software_set_version #=> String
675
+ # resp.device.desired_software_set_id #=> String
676
+ # resp.device.pending_software_set_id #=> String
677
+ # resp.device.pending_software_set_version #=> String
678
+ # resp.device.software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
679
+ # resp.device.software_set_compliance_status #=> String, one of "NONE", "COMPLIANT", "NOT_COMPLIANT"
680
+ # resp.device.software_set_update_status #=> String, one of "AVAILABLE", "IN_PROGRESS", "UP_TO_DATE"
681
+ # resp.device.last_connected_at #=> Time
682
+ # resp.device.last_posture_at #=> Time
683
+ # resp.device.created_at #=> Time
684
+ # resp.device.updated_at #=> Time
685
+ # resp.device.arn #=> String
686
+ # resp.device.kms_key_arn #=> String
687
+ # resp.device.tags.resource_arn #=> String
688
+ # resp.device.tags.internal_id #=> String
689
+ #
690
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/GetDevice AWS API Documentation
691
+ #
692
+ # @overload get_device(params = {})
693
+ # @param [Hash] params ({})
694
+ def get_device(params = {}, options = {})
695
+ req = build_request(:get_device, params)
696
+ req.send_request(options)
697
+ end
698
+
699
+ # Returns information for an environment.
700
+ #
701
+ # @option params [required, String] :id
702
+ # The ID of the environment for which to return information.
703
+ #
704
+ # @return [Types::GetEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
705
+ #
706
+ # * {Types::GetEnvironmentResponse#environment #environment} => Types::Environment
707
+ #
708
+ # @example Request syntax with placeholder values
709
+ #
710
+ # resp = client.get_environment({
711
+ # id: "EnvironmentId", # required
712
+ # })
713
+ #
714
+ # @example Response structure
715
+ #
716
+ # resp.environment.id #=> String
717
+ # resp.environment.name #=> String
718
+ # resp.environment.desktop_arn #=> String
719
+ # resp.environment.desktop_endpoint #=> String
720
+ # resp.environment.desktop_type #=> String, one of "workspaces", "appstream", "workspaces-web"
721
+ # resp.environment.activation_code #=> String
722
+ # resp.environment.registered_devices_count #=> Integer
723
+ # resp.environment.software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
724
+ # resp.environment.maintenance_window.type #=> String, one of "SYSTEM", "CUSTOM"
725
+ # resp.environment.maintenance_window.start_time_hour #=> Integer
726
+ # resp.environment.maintenance_window.start_time_minute #=> Integer
727
+ # resp.environment.maintenance_window.end_time_hour #=> Integer
728
+ # resp.environment.maintenance_window.end_time_minute #=> Integer
729
+ # resp.environment.maintenance_window.days_of_the_week #=> Array
730
+ # resp.environment.maintenance_window.days_of_the_week[0] #=> String, one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"
731
+ # resp.environment.maintenance_window.apply_time_of #=> String, one of "UTC", "DEVICE"
732
+ # resp.environment.software_set_update_mode #=> String, one of "USE_LATEST", "USE_DESIRED"
733
+ # resp.environment.desired_software_set_id #=> String
734
+ # resp.environment.pending_software_set_id #=> String
735
+ # resp.environment.pending_software_set_version #=> String
736
+ # resp.environment.software_set_compliance_status #=> String, one of "NO_REGISTERED_DEVICES", "COMPLIANT", "NOT_COMPLIANT"
737
+ # resp.environment.created_at #=> Time
738
+ # resp.environment.updated_at #=> Time
739
+ # resp.environment.arn #=> String
740
+ # resp.environment.kms_key_arn #=> String
741
+ # resp.environment.tags.resource_arn #=> String
742
+ # resp.environment.tags.internal_id #=> String
743
+ #
744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/GetEnvironment AWS API Documentation
745
+ #
746
+ # @overload get_environment(params = {})
747
+ # @param [Hash] params ({})
748
+ def get_environment(params = {}, options = {})
749
+ req = build_request(:get_environment, params)
750
+ req.send_request(options)
751
+ end
752
+
753
+ # Returns information for a software set.
754
+ #
755
+ # @option params [required, String] :id
756
+ # The ID of the software set for which to return information.
757
+ #
758
+ # @return [Types::GetSoftwareSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
759
+ #
760
+ # * {Types::GetSoftwareSetResponse#software_set #software_set} => Types::SoftwareSet
761
+ #
762
+ # @example Request syntax with placeholder values
763
+ #
764
+ # resp = client.get_software_set({
765
+ # id: "SoftwareSetId", # required
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.software_set.id #=> String
771
+ # resp.software_set.version #=> String
772
+ # resp.software_set.released_at #=> Time
773
+ # resp.software_set.supported_until #=> Time
774
+ # resp.software_set.validation_status #=> String, one of "VALIDATED", "NOT_VALIDATED"
775
+ # resp.software_set.software #=> Array
776
+ # resp.software_set.software[0].name #=> String
777
+ # resp.software_set.software[0].version #=> String
778
+ # resp.software_set.arn #=> String
779
+ #
780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/GetSoftwareSet AWS API Documentation
781
+ #
782
+ # @overload get_software_set(params = {})
783
+ # @param [Hash] params ({})
784
+ def get_software_set(params = {}, options = {})
785
+ req = build_request(:get_software_set, params)
786
+ req.send_request(options)
787
+ end
788
+
789
+ # Returns a list of thin client devices.
790
+ #
791
+ # @option params [String] :next_token
792
+ # If `nextToken` is returned, there are more results available. The
793
+ # value of `nextToken` is a unique pagination token for each page. Make
794
+ # the call again using the returned token to retrieve the next page.
795
+ # Keep all other arguments unchanged. Each pagination token expires
796
+ # after 24 hours. Using an expired pagination token will return an *HTTP
797
+ # 400 InvalidToken error*.
798
+ #
799
+ # @option params [Integer] :max_results
800
+ # The maximum number of results that are returned per call. You can use
801
+ # `nextToken` to obtain further pages of results.
802
+ #
803
+ # This is only an upper limit. The actual number of results returned per
804
+ # call might be fewer than the specified maximum.
805
+ #
806
+ # @return [Types::ListDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
807
+ #
808
+ # * {Types::ListDevicesResponse#devices #devices} => Array&lt;Types::DeviceSummary&gt;
809
+ # * {Types::ListDevicesResponse#next_token #next_token} => String
810
+ #
811
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
812
+ #
813
+ # @example Request syntax with placeholder values
814
+ #
815
+ # resp = client.list_devices({
816
+ # next_token: "PaginationToken",
817
+ # max_results: 1,
818
+ # })
819
+ #
820
+ # @example Response structure
821
+ #
822
+ # resp.devices #=> Array
823
+ # resp.devices[0].id #=> String
824
+ # resp.devices[0].serial_number #=> String
825
+ # resp.devices[0].name #=> String
826
+ # resp.devices[0].model #=> String
827
+ # resp.devices[0].environment_id #=> String
828
+ # resp.devices[0].status #=> String, one of "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ARCHIVED"
829
+ # resp.devices[0].current_software_set_id #=> String
830
+ # resp.devices[0].desired_software_set_id #=> String
831
+ # resp.devices[0].pending_software_set_id #=> String
832
+ # resp.devices[0].software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
833
+ # resp.devices[0].last_connected_at #=> Time
834
+ # resp.devices[0].last_posture_at #=> Time
835
+ # resp.devices[0].created_at #=> Time
836
+ # resp.devices[0].updated_at #=> Time
837
+ # resp.devices[0].arn #=> String
838
+ # resp.devices[0].tags.resource_arn #=> String
839
+ # resp.devices[0].tags.internal_id #=> String
840
+ # resp.next_token #=> String
841
+ #
842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/ListDevices AWS API Documentation
843
+ #
844
+ # @overload list_devices(params = {})
845
+ # @param [Hash] params ({})
846
+ def list_devices(params = {}, options = {})
847
+ req = build_request(:list_devices, params)
848
+ req.send_request(options)
849
+ end
850
+
851
+ # Returns a list of environments.
852
+ #
853
+ # @option params [String] :next_token
854
+ # If `nextToken` is returned, there are more results available. The
855
+ # value of `nextToken` is a unique pagination token for each page. Make
856
+ # the call again using the returned token to retrieve the next page.
857
+ # Keep all other arguments unchanged. Each pagination token expires
858
+ # after 24 hours. Using an expired pagination token will return an *HTTP
859
+ # 400 InvalidToken error*.
860
+ #
861
+ # @option params [Integer] :max_results
862
+ # The maximum number of results that are returned per call. You can use
863
+ # `nextToken` to obtain further pages of results.
864
+ #
865
+ # This is only an upper limit. The actual number of results returned per
866
+ # call might be fewer than the specified maximum.
867
+ #
868
+ # @return [Types::ListEnvironmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
869
+ #
870
+ # * {Types::ListEnvironmentsResponse#environments #environments} => Array&lt;Types::EnvironmentSummary&gt;
871
+ # * {Types::ListEnvironmentsResponse#next_token #next_token} => String
872
+ #
873
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
874
+ #
875
+ # @example Request syntax with placeholder values
876
+ #
877
+ # resp = client.list_environments({
878
+ # next_token: "PaginationToken",
879
+ # max_results: 1,
880
+ # })
881
+ #
882
+ # @example Response structure
883
+ #
884
+ # resp.environments #=> Array
885
+ # resp.environments[0].id #=> String
886
+ # resp.environments[0].name #=> String
887
+ # resp.environments[0].desktop_arn #=> String
888
+ # resp.environments[0].desktop_endpoint #=> String
889
+ # resp.environments[0].desktop_type #=> String, one of "workspaces", "appstream", "workspaces-web"
890
+ # resp.environments[0].activation_code #=> String
891
+ # resp.environments[0].software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
892
+ # resp.environments[0].maintenance_window.type #=> String, one of "SYSTEM", "CUSTOM"
893
+ # resp.environments[0].maintenance_window.start_time_hour #=> Integer
894
+ # resp.environments[0].maintenance_window.start_time_minute #=> Integer
895
+ # resp.environments[0].maintenance_window.end_time_hour #=> Integer
896
+ # resp.environments[0].maintenance_window.end_time_minute #=> Integer
897
+ # resp.environments[0].maintenance_window.days_of_the_week #=> Array
898
+ # resp.environments[0].maintenance_window.days_of_the_week[0] #=> String, one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"
899
+ # resp.environments[0].maintenance_window.apply_time_of #=> String, one of "UTC", "DEVICE"
900
+ # resp.environments[0].software_set_update_mode #=> String, one of "USE_LATEST", "USE_DESIRED"
901
+ # resp.environments[0].desired_software_set_id #=> String
902
+ # resp.environments[0].pending_software_set_id #=> String
903
+ # resp.environments[0].created_at #=> Time
904
+ # resp.environments[0].updated_at #=> Time
905
+ # resp.environments[0].arn #=> String
906
+ # resp.environments[0].tags.resource_arn #=> String
907
+ # resp.environments[0].tags.internal_id #=> String
908
+ # resp.next_token #=> String
909
+ #
910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/ListEnvironments AWS API Documentation
911
+ #
912
+ # @overload list_environments(params = {})
913
+ # @param [Hash] params ({})
914
+ def list_environments(params = {}, options = {})
915
+ req = build_request(:list_environments, params)
916
+ req.send_request(options)
917
+ end
918
+
919
+ # Returns a list of software sets.
920
+ #
921
+ # @option params [String] :next_token
922
+ # If `nextToken` is returned, there are more results available. The
923
+ # value of `nextToken` is a unique pagination token for each page. Make
924
+ # the call again using the returned token to retrieve the next page.
925
+ # Keep all other arguments unchanged. Each pagination token expires
926
+ # after 24 hours. Using an expired pagination token will return an *HTTP
927
+ # 400 InvalidToken error*.
928
+ #
929
+ # @option params [Integer] :max_results
930
+ # The maximum number of results that are returned per call. You can use
931
+ # `nextToken` to obtain further pages of results.
932
+ #
933
+ # This is only an upper limit. The actual number of results returned per
934
+ # call might be fewer than the specified maximum.
935
+ #
936
+ # @return [Types::ListSoftwareSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
937
+ #
938
+ # * {Types::ListSoftwareSetsResponse#software_sets #software_sets} => Array&lt;Types::SoftwareSetSummary&gt;
939
+ # * {Types::ListSoftwareSetsResponse#next_token #next_token} => String
940
+ #
941
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
942
+ #
943
+ # @example Request syntax with placeholder values
944
+ #
945
+ # resp = client.list_software_sets({
946
+ # next_token: "PaginationToken",
947
+ # max_results: 1,
948
+ # })
949
+ #
950
+ # @example Response structure
951
+ #
952
+ # resp.software_sets #=> Array
953
+ # resp.software_sets[0].id #=> String
954
+ # resp.software_sets[0].version #=> String
955
+ # resp.software_sets[0].released_at #=> Time
956
+ # resp.software_sets[0].supported_until #=> Time
957
+ # resp.software_sets[0].validation_status #=> String, one of "VALIDATED", "NOT_VALIDATED"
958
+ # resp.software_sets[0].arn #=> String
959
+ # resp.next_token #=> String
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/ListSoftwareSets AWS API Documentation
962
+ #
963
+ # @overload list_software_sets(params = {})
964
+ # @param [Hash] params ({})
965
+ def list_software_sets(params = {}, options = {})
966
+ req = build_request(:list_software_sets, params)
967
+ req.send_request(options)
968
+ end
969
+
970
+ # Returns a list of tags for a resource.
971
+ #
972
+ # @option params [required, String] :resource_arn
973
+ # The Amazon Resource Name (ARN) of the resource for which you want to
974
+ # retrieve tags.
975
+ #
976
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
977
+ #
978
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.list_tags_for_resource({
983
+ # resource_arn: "String", # required
984
+ # })
985
+ #
986
+ # @example Response structure
987
+ #
988
+ # resp.tags #=> Hash
989
+ # resp.tags["String"] #=> String
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/ListTagsForResource AWS API Documentation
992
+ #
993
+ # @overload list_tags_for_resource(params = {})
994
+ # @param [Hash] params ({})
995
+ def list_tags_for_resource(params = {}, options = {})
996
+ req = build_request(:list_tags_for_resource, params)
997
+ req.send_request(options)
998
+ end
999
+
1000
+ # Assigns one or more tags (key-value pairs) to the specified resource.
1001
+ #
1002
+ # @option params [required, String] :resource_arn
1003
+ # The Amazon Resource Name (ARN) of the resource that you want to tag.
1004
+ #
1005
+ # @option params [required, Hash<String,String>] :tags
1006
+ # A map of the key-value pairs of the tag or tags to assign to the
1007
+ # resource.
1008
+ #
1009
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1010
+ #
1011
+ # @example Request syntax with placeholder values
1012
+ #
1013
+ # resp = client.tag_resource({
1014
+ # resource_arn: "String", # required
1015
+ # tags: { # required
1016
+ # "String" => "String",
1017
+ # },
1018
+ # })
1019
+ #
1020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/TagResource AWS API Documentation
1021
+ #
1022
+ # @overload tag_resource(params = {})
1023
+ # @param [Hash] params ({})
1024
+ def tag_resource(params = {}, options = {})
1025
+ req = build_request(:tag_resource, params)
1026
+ req.send_request(options)
1027
+ end
1028
+
1029
+ # Removes a tag or tags from a resource.
1030
+ #
1031
+ # @option params [required, String] :resource_arn
1032
+ # The Amazon Resource Name (ARN) of the resource that you want to untag.
1033
+ #
1034
+ # @option params [required, Array<String>] :tag_keys
1035
+ # The keys of the key-value pairs for the tag or tags you want to remove
1036
+ # from the specified resource.
1037
+ #
1038
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1039
+ #
1040
+ # @example Request syntax with placeholder values
1041
+ #
1042
+ # resp = client.untag_resource({
1043
+ # resource_arn: "String", # required
1044
+ # tag_keys: ["String"], # required
1045
+ # })
1046
+ #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/UntagResource AWS API Documentation
1048
+ #
1049
+ # @overload untag_resource(params = {})
1050
+ # @param [Hash] params ({})
1051
+ def untag_resource(params = {}, options = {})
1052
+ req = build_request(:untag_resource, params)
1053
+ req.send_request(options)
1054
+ end
1055
+
1056
+ # Updates a thin client device.
1057
+ #
1058
+ # @option params [required, String] :id
1059
+ # The ID of the device to update.
1060
+ #
1061
+ # @option params [String] :name
1062
+ # The name of the device to update.
1063
+ #
1064
+ # @option params [String] :desired_software_set_id
1065
+ # The ID of the software set to apply.
1066
+ #
1067
+ # @option params [String] :software_set_update_schedule
1068
+ # An option to define if software updates should be applied within a
1069
+ # maintenance window.
1070
+ #
1071
+ # @option params [String] :kms_key_arn
1072
+ # The Amazon Resource Name (ARN) of the Key Management Service key to
1073
+ # use for the update.
1074
+ #
1075
+ # @return [Types::UpdateDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1076
+ #
1077
+ # * {Types::UpdateDeviceResponse#device #device} => Types::DeviceSummary
1078
+ #
1079
+ # @example Request syntax with placeholder values
1080
+ #
1081
+ # resp = client.update_device({
1082
+ # id: "DeviceId", # required
1083
+ # name: "DeviceName",
1084
+ # desired_software_set_id: "SoftwareSetId",
1085
+ # software_set_update_schedule: "USE_MAINTENANCE_WINDOW", # accepts USE_MAINTENANCE_WINDOW, APPLY_IMMEDIATELY
1086
+ # kms_key_arn: "KmsKeyArn",
1087
+ # })
1088
+ #
1089
+ # @example Response structure
1090
+ #
1091
+ # resp.device.id #=> String
1092
+ # resp.device.serial_number #=> String
1093
+ # resp.device.name #=> String
1094
+ # resp.device.model #=> String
1095
+ # resp.device.environment_id #=> String
1096
+ # resp.device.status #=> String, one of "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ARCHIVED"
1097
+ # resp.device.current_software_set_id #=> String
1098
+ # resp.device.desired_software_set_id #=> String
1099
+ # resp.device.pending_software_set_id #=> String
1100
+ # resp.device.software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
1101
+ # resp.device.last_connected_at #=> Time
1102
+ # resp.device.last_posture_at #=> Time
1103
+ # resp.device.created_at #=> Time
1104
+ # resp.device.updated_at #=> Time
1105
+ # resp.device.arn #=> String
1106
+ # resp.device.tags.resource_arn #=> String
1107
+ # resp.device.tags.internal_id #=> String
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/UpdateDevice AWS API Documentation
1110
+ #
1111
+ # @overload update_device(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def update_device(params = {}, options = {})
1114
+ req = build_request(:update_device, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
1118
+ # Updates an environment.
1119
+ #
1120
+ # @option params [required, String] :id
1121
+ # The ID of the environment to update.
1122
+ #
1123
+ # @option params [String] :name
1124
+ # The name of the environment to update.
1125
+ #
1126
+ # @option params [String] :desktop_arn
1127
+ # The Amazon Resource Name (ARN) of the desktop to stream from Amazon
1128
+ # WorkSpaces, WorkSpaces Web, or AppStream 2.0.
1129
+ #
1130
+ # @option params [String] :desktop_endpoint
1131
+ # The URL for the identity provider login (only for environments that
1132
+ # use AppStream 2.0).
1133
+ #
1134
+ # @option params [String] :software_set_update_schedule
1135
+ # An option to define if software updates should be applied within a
1136
+ # maintenance window.
1137
+ #
1138
+ # @option params [Types::MaintenanceWindow] :maintenance_window
1139
+ # A specification for a time window to apply software updates.
1140
+ #
1141
+ # @option params [String] :software_set_update_mode
1142
+ # An option to define which software updates to apply.
1143
+ #
1144
+ # @option params [String] :desired_software_set_id
1145
+ # The ID of the software set to apply.
1146
+ #
1147
+ # @return [Types::UpdateEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1148
+ #
1149
+ # * {Types::UpdateEnvironmentResponse#environment #environment} => Types::EnvironmentSummary
1150
+ #
1151
+ # @example Request syntax with placeholder values
1152
+ #
1153
+ # resp = client.update_environment({
1154
+ # id: "EnvironmentId", # required
1155
+ # name: "EnvironmentName",
1156
+ # desktop_arn: "Arn",
1157
+ # desktop_endpoint: "DesktopEndpoint",
1158
+ # software_set_update_schedule: "USE_MAINTENANCE_WINDOW", # accepts USE_MAINTENANCE_WINDOW, APPLY_IMMEDIATELY
1159
+ # maintenance_window: {
1160
+ # type: "SYSTEM", # accepts SYSTEM, CUSTOM
1161
+ # start_time_hour: 1,
1162
+ # start_time_minute: 1,
1163
+ # end_time_hour: 1,
1164
+ # end_time_minute: 1,
1165
+ # days_of_the_week: ["MONDAY"], # accepts MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
1166
+ # apply_time_of: "UTC", # accepts UTC, DEVICE
1167
+ # },
1168
+ # software_set_update_mode: "USE_LATEST", # accepts USE_LATEST, USE_DESIRED
1169
+ # desired_software_set_id: "SoftwareSetIdOrEmptyString",
1170
+ # })
1171
+ #
1172
+ # @example Response structure
1173
+ #
1174
+ # resp.environment.id #=> String
1175
+ # resp.environment.name #=> String
1176
+ # resp.environment.desktop_arn #=> String
1177
+ # resp.environment.desktop_endpoint #=> String
1178
+ # resp.environment.desktop_type #=> String, one of "workspaces", "appstream", "workspaces-web"
1179
+ # resp.environment.activation_code #=> String
1180
+ # resp.environment.software_set_update_schedule #=> String, one of "USE_MAINTENANCE_WINDOW", "APPLY_IMMEDIATELY"
1181
+ # resp.environment.maintenance_window.type #=> String, one of "SYSTEM", "CUSTOM"
1182
+ # resp.environment.maintenance_window.start_time_hour #=> Integer
1183
+ # resp.environment.maintenance_window.start_time_minute #=> Integer
1184
+ # resp.environment.maintenance_window.end_time_hour #=> Integer
1185
+ # resp.environment.maintenance_window.end_time_minute #=> Integer
1186
+ # resp.environment.maintenance_window.days_of_the_week #=> Array
1187
+ # resp.environment.maintenance_window.days_of_the_week[0] #=> String, one of "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"
1188
+ # resp.environment.maintenance_window.apply_time_of #=> String, one of "UTC", "DEVICE"
1189
+ # resp.environment.software_set_update_mode #=> String, one of "USE_LATEST", "USE_DESIRED"
1190
+ # resp.environment.desired_software_set_id #=> String
1191
+ # resp.environment.pending_software_set_id #=> String
1192
+ # resp.environment.created_at #=> Time
1193
+ # resp.environment.updated_at #=> Time
1194
+ # resp.environment.arn #=> String
1195
+ # resp.environment.tags.resource_arn #=> String
1196
+ # resp.environment.tags.internal_id #=> String
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/UpdateEnvironment AWS API Documentation
1199
+ #
1200
+ # @overload update_environment(params = {})
1201
+ # @param [Hash] params ({})
1202
+ def update_environment(params = {}, options = {})
1203
+ req = build_request(:update_environment, params)
1204
+ req.send_request(options)
1205
+ end
1206
+
1207
+ # Updates a software set.
1208
+ #
1209
+ # @option params [required, String] :id
1210
+ # The ID of the software set to update.
1211
+ #
1212
+ # @option params [required, String] :validation_status
1213
+ # An option to define if the software set has been validated.
1214
+ #
1215
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1216
+ #
1217
+ # @example Request syntax with placeholder values
1218
+ #
1219
+ # resp = client.update_software_set({
1220
+ # id: "SoftwareSetId", # required
1221
+ # validation_status: "VALIDATED", # required, accepts VALIDATED, NOT_VALIDATED
1222
+ # })
1223
+ #
1224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-thin-client-2023-08-22/UpdateSoftwareSet AWS API Documentation
1225
+ #
1226
+ # @overload update_software_set(params = {})
1227
+ # @param [Hash] params ({})
1228
+ def update_software_set(params = {}, options = {})
1229
+ req = build_request(:update_software_set, params)
1230
+ req.send_request(options)
1231
+ end
1232
+
1233
+ # @!endgroup
1234
+
1235
+ # @param params ({})
1236
+ # @api private
1237
+ def build_request(operation_name, params = {})
1238
+ handlers = @handlers.for(operation_name)
1239
+ context = Seahorse::Client::RequestContext.new(
1240
+ operation_name: operation_name,
1241
+ operation: config.api.operation(operation_name),
1242
+ client: self,
1243
+ params: params,
1244
+ config: config)
1245
+ context[:gem_name] = 'aws-sdk-workspacesthinclient'
1246
+ context[:gem_version] = '1.0.0'
1247
+ Seahorse::Client::Request.new(handlers, context)
1248
+ end
1249
+
1250
+ # @api private
1251
+ # @deprecated
1252
+ def waiter_names
1253
+ []
1254
+ end
1255
+
1256
+ class << self
1257
+
1258
+ # @api private
1259
+ attr_reader :identifier
1260
+
1261
+ # @api private
1262
+ def errors_module
1263
+ Errors
1264
+ end
1265
+
1266
+ end
1267
+ end
1268
+ end