aws-sdk-workspacesinstances 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,1174 @@
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'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
+
39
+ module Aws::WorkspacesInstances
40
+ # An API client for WorkspacesInstances. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::WorkspacesInstances::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 = :workspacesinstances
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::InvocationId)
76
+ add_plugin(Aws::Plugins::JsonvalueConverter)
77
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
78
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
79
+ add_plugin(Aws::Plugins::TransferEncoding)
80
+ add_plugin(Aws::Plugins::HttpChecksum)
81
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
83
+ add_plugin(Aws::Plugins::DefaultsMode)
84
+ add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
+ add_plugin(Aws::Plugins::Sign)
87
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
+ add_plugin(Aws::WorkspacesInstances::Plugins::Endpoints)
89
+
90
+ # @overload initialize(options)
91
+ # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
97
+ # @option options [required, Aws::CredentialProvider] :credentials
98
+ # Your AWS credentials. This can be an instance of any one of the
99
+ # following classes:
100
+ #
101
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
+ # credentials.
103
+ #
104
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
105
+ # shared file, such as `~/.aws/config`.
106
+ #
107
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ #
109
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
110
+ # assume a role after providing credentials via the web.
111
+ #
112
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
113
+ # access token generated from `aws login`.
114
+ #
115
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
116
+ # process that outputs to stdout.
117
+ #
118
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
119
+ # from an EC2 IMDS on an EC2 instance.
120
+ #
121
+ # * `Aws::ECSCredentials` - Used for loading credentials from
122
+ # instances running in ECS.
123
+ #
124
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
+ # from the Cognito Identity service.
126
+ #
127
+ # When `:credentials` are not configured directly, the following
128
+ # locations will be searched for credentials:
129
+ #
130
+ # * `Aws.config[:credentials]`
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
+ # * `~/.aws/credentials`
136
+ # * `~/.aws/config`
137
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
+ # are very aggressive. Construct and pass an instance of
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
+ # enable retries and extended timeouts. Instance profile credential
141
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
+ # to true.
143
+ #
144
+ # @option options [required, String] :region
145
+ # The AWS region to connect to. The configured `:region` is
146
+ # used to determine the service `:endpoint`. When not passed,
147
+ # a default `:region` is searched for in the following locations:
148
+ #
149
+ # * `Aws.config[:region]`
150
+ # * `ENV['AWS_REGION']`
151
+ # * `ENV['AMAZON_REGION']`
152
+ # * `ENV['AWS_DEFAULT_REGION']`
153
+ # * `~/.aws/credentials`
154
+ # * `~/.aws/config`
155
+ #
156
+ # @option options [String] :access_key_id
157
+ #
158
+ # @option options [String] :account_id
159
+ #
160
+ # @option options [Boolean] :active_endpoint_cache (false)
161
+ # When set to `true`, a thread polling for endpoints will be running in
162
+ # the background every 60 secs (default). Defaults to `false`.
163
+ #
164
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
165
+ # Used only in `adaptive` retry mode. When true, the request will sleep
166
+ # until there is sufficent client side capacity to retry the request.
167
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
+ # not retry instead of sleeping.
169
+ #
170
+ # @option options [Boolean] :client_side_monitoring (false)
171
+ # When `true`, client-side metrics will be collected for all API requests from
172
+ # this client.
173
+ #
174
+ # @option options [String] :client_side_monitoring_client_id ("")
175
+ # Allows you to provide an identifier for this client which will be attached to
176
+ # all generated client side metrics. Defaults to an empty string.
177
+ #
178
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
179
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
180
+ # side monitoring agent is running on, where client metrics will be published via UDP.
181
+ #
182
+ # @option options [Integer] :client_side_monitoring_port (31000)
183
+ # Required for publishing client metrics. The port that the client side monitoring
184
+ # agent is running on, where client metrics will be published via UDP.
185
+ #
186
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
187
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
188
+ # will use the Client Side Monitoring Agent Publisher.
189
+ #
190
+ # @option options [Boolean] :convert_params (true)
191
+ # When `true`, an attempt is made to coerce request parameters into
192
+ # the required types.
193
+ #
194
+ # @option options [Boolean] :correct_clock_skew (true)
195
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
196
+ # a clock skew correction and retry requests with skewed client clocks.
197
+ #
198
+ # @option options [String] :defaults_mode ("legacy")
199
+ # See {Aws::DefaultsModeConfiguration} for a list of the
200
+ # accepted modes and the configuration defaults that are included.
201
+ #
202
+ # @option options [Boolean] :disable_host_prefix_injection (false)
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
204
+ #
205
+ # @option options [Boolean] :disable_request_compression (false)
206
+ # When set to 'true' the request body will not be compressed
207
+ # for supported operations.
208
+ #
209
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
210
+ # Normally you should not configure the `:endpoint` option
211
+ # directly. This is normally constructed from the `:region`
212
+ # option. Configuring `:endpoint` is normally reserved for
213
+ # connecting to test or custom endpoints. The endpoint should
214
+ # be a URI formatted like:
215
+ #
216
+ # 'http://example.com'
217
+ # 'https://example.com'
218
+ # 'http://example.com:123'
219
+ #
220
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
221
+ # Used for the maximum size limit of the LRU cache storing endpoints data
222
+ # for endpoint discovery enabled operations. Defaults to 1000.
223
+ #
224
+ # @option options [Integer] :endpoint_cache_max_threads (10)
225
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
226
+ #
227
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
228
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
229
+ # Use this option to config the time interval in seconds for making
230
+ # requests fetching endpoints information. Defaults to 60 sec.
231
+ #
232
+ # @option options [Boolean] :endpoint_discovery (false)
233
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
234
+ #
235
+ # @option options [Boolean] :ignore_configured_endpoint_urls
236
+ # Setting to true disables use of endpoint URLs provided via environment
237
+ # variables and the shared configuration file.
238
+ #
239
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
240
+ # The log formatter.
241
+ #
242
+ # @option options [Symbol] :log_level (:info)
243
+ # The log level to send messages to the `:logger` at.
244
+ #
245
+ # @option options [Logger] :logger
246
+ # The Logger instance to send log messages to. If this option
247
+ # is not set, logging will be disabled.
248
+ #
249
+ # @option options [Integer] :max_attempts (3)
250
+ # An integer representing the maximum number attempts that will be made for
251
+ # a single request, including the initial attempt. For example,
252
+ # setting this value to 5 will result in a request being retried up to
253
+ # 4 times. Used in `standard` and `adaptive` retry modes.
254
+ #
255
+ # @option options [String] :profile ("default")
256
+ # Used when loading credentials from the shared credentials file
257
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
258
+ #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
271
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
272
+ # The minimum size in bytes that triggers compression for request
273
+ # bodies. The value must be non-negative integer value between 0
274
+ # and 10485780 bytes inclusive.
275
+ #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
287
+ # @option options [Proc] :retry_backoff
288
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
289
+ # This option is only used in the `legacy` retry mode.
290
+ #
291
+ # @option options [Float] :retry_base_delay (0.3)
292
+ # The base delay in seconds used by the default backoff function. This option
293
+ # is only used in the `legacy` retry mode.
294
+ #
295
+ # @option options [Symbol] :retry_jitter (:none)
296
+ # A delay randomiser function used by the default backoff function.
297
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
298
+ # otherwise a Proc that takes and returns a number. This option is only used
299
+ # in the `legacy` retry mode.
300
+ #
301
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
302
+ #
303
+ # @option options [Integer] :retry_limit (3)
304
+ # The maximum number of times to retry failed requests. Only
305
+ # ~ 500 level server errors and certain ~ 400 level client errors
306
+ # are retried. Generally, these are throttling errors, data
307
+ # checksum errors, networking errors, timeout errors, auth errors,
308
+ # endpoint discovery, and errors from expired credentials.
309
+ # This option is only used in the `legacy` retry mode.
310
+ #
311
+ # @option options [Integer] :retry_max_delay (0)
312
+ # The maximum number of seconds to delay between retries (0 for no limit)
313
+ # used by the default backoff function. This option is only used in the
314
+ # `legacy` retry mode.
315
+ #
316
+ # @option options [String] :retry_mode ("legacy")
317
+ # Specifies which retry algorithm to use. Values are:
318
+ #
319
+ # * `legacy` - The pre-existing retry behavior. This is default value if
320
+ # no retry mode is provided.
321
+ #
322
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
323
+ # This includes support for retry quotas, which limit the number of
324
+ # unsuccessful retries a client can make.
325
+ #
326
+ # * `adaptive` - An experimental retry mode that includes all the
327
+ # functionality of `standard` mode along with automatic client side
328
+ # throttling. This is a provisional mode that may change behavior
329
+ # in the future.
330
+ #
331
+ # @option options [String] :sdk_ua_app_id
332
+ # A unique and opaque application ID that is appended to the
333
+ # User-Agent header as app/sdk_ua_app_id. It should have a
334
+ # maximum length of 50. This variable is sourced from environment
335
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
336
+ #
337
+ # @option options [String] :secret_access_key
338
+ #
339
+ # @option options [String] :session_token
340
+ #
341
+ # @option options [Array] :sigv4a_signing_region_set
342
+ # A list of regions that should be signed with SigV4a signing. When
343
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
344
+ # in the following locations:
345
+ #
346
+ # * `Aws.config[:sigv4a_signing_region_set]`
347
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
348
+ # * `~/.aws/config`
349
+ #
350
+ # @option options [Boolean] :simple_json (false)
351
+ # Disables request parameter conversion, validation, and formatting.
352
+ # Also disables response data type conversions. The request parameters
353
+ # hash must be formatted exactly as the API expects.This option is useful
354
+ # when you want to ensure the highest level of performance by avoiding
355
+ # overhead of walking request parameters and response data structures.
356
+ #
357
+ # @option options [Boolean] :stub_responses (false)
358
+ # Causes the client to return stubbed responses. By default
359
+ # fake responses are generated and returned. You can specify
360
+ # the response data to return or errors to raise by calling
361
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
362
+ #
363
+ # ** Please note ** When response stubbing is enabled, no HTTP
364
+ # requests are made, and retries are disabled.
365
+ #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
376
+ # @option options [Aws::TokenProvider] :token_provider
377
+ # A Bearer Token Provider. This can be an instance of any one of the
378
+ # following classes:
379
+ #
380
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
+ # tokens.
382
+ #
383
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
384
+ # access token generated from `aws login`.
385
+ #
386
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
387
+ # will be used to search for tokens configured for your profile in shared configuration files.
388
+ #
389
+ # @option options [Boolean] :use_dualstack_endpoint
390
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
391
+ # will be used if available.
392
+ #
393
+ # @option options [Boolean] :use_fips_endpoint
394
+ # When set to `true`, fips compatible endpoints will be used if available.
395
+ # When a `fips` region is used, the region is normalized and this config
396
+ # is set to `true`.
397
+ #
398
+ # @option options [Boolean] :validate_params (true)
399
+ # When `true`, request parameters are validated before
400
+ # sending the request.
401
+ #
402
+ # @option options [Aws::WorkspacesInstances::EndpointProvider] :endpoint_provider
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::WorkspacesInstances::EndpointParameters`.
406
+ #
407
+ # @option options [Float] :http_continue_timeout (1)
408
+ # The number of seconds to wait for a 100-continue response before sending the
409
+ # request body. This option has no effect unless the request has "Expect"
410
+ # header set to "100-continue". Defaults to `nil` which disables this
411
+ # behaviour. This value can safely be set per request on the session.
412
+ #
413
+ # @option options [Float] :http_idle_timeout (5)
414
+ # The number of seconds a connection is allowed to sit idle before it
415
+ # is considered stale. Stale connections are closed and removed from the
416
+ # pool before making a request.
417
+ #
418
+ # @option options [Float] :http_open_timeout (15)
419
+ # The default number of seconds to wait for response data.
420
+ # This value can safely be set per-request on the session.
421
+ #
422
+ # @option options [URI::HTTP,String] :http_proxy
423
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
424
+ #
425
+ # @option options [Float] :http_read_timeout (60)
426
+ # The default number of seconds to wait for response data.
427
+ # This value can safely be set per-request on the session.
428
+ #
429
+ # @option options [Boolean] :http_wire_trace (false)
430
+ # When `true`, HTTP debug output will be sent to the `:logger`.
431
+ #
432
+ # @option options [Proc] :on_chunk_received
433
+ # When a Proc object is provided, it will be used as callback when each chunk
434
+ # of the response body is received. It provides three arguments: the chunk,
435
+ # the number of bytes received, and the total number of
436
+ # bytes in the response (or nil if the server did not send a `content-length`).
437
+ #
438
+ # @option options [Proc] :on_chunk_sent
439
+ # When a Proc object is provided, it will be used as callback when each chunk
440
+ # of the request body is sent. It provides three arguments: the chunk,
441
+ # the number of bytes read from the body, and the total number of
442
+ # bytes in the body.
443
+ #
444
+ # @option options [Boolean] :raise_response_errors (true)
445
+ # When `true`, response errors are raised.
446
+ #
447
+ # @option options [String] :ssl_ca_bundle
448
+ # Full path to the SSL certificate authority bundle file that should be used when
449
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
450
+ # `:ssl_ca_directory` the the system default will be used if available.
451
+ #
452
+ # @option options [String] :ssl_ca_directory
453
+ # Full path of the directory that contains the unbundled SSL certificate
454
+ # authority files for verifying peer certificates. If you do
455
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
456
+ # default will be used if available.
457
+ #
458
+ # @option options [String] :ssl_ca_store
459
+ # Sets the X509::Store to verify peer certificate.
460
+ #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
467
+ # @option options [Float] :ssl_timeout
468
+ # Sets the SSL timeout in seconds
469
+ #
470
+ # @option options [Boolean] :ssl_verify_peer (true)
471
+ # When `true`, SSL peer certificates are verified when establishing a connection.
472
+ #
473
+ def initialize(*args)
474
+ super
475
+ end
476
+
477
+ # @!group API Operations
478
+
479
+ # Attaches a volume to a WorkSpace Instance.
480
+ #
481
+ # @option params [required, String] :workspace_instance_id
482
+ # WorkSpace Instance to attach volume to.
483
+ #
484
+ # @option params [required, String] :volume_id
485
+ # Volume to be attached.
486
+ #
487
+ # @option params [required, String] :device
488
+ # Device path for volume attachment.
489
+ #
490
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
491
+ #
492
+ # @example Request syntax with placeholder values
493
+ #
494
+ # resp = client.associate_volume({
495
+ # workspace_instance_id: "WorkspaceInstanceId", # required
496
+ # volume_id: "VolumeId", # required
497
+ # device: "DeviceName", # required
498
+ # })
499
+ #
500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/AssociateVolume AWS API Documentation
501
+ #
502
+ # @overload associate_volume(params = {})
503
+ # @param [Hash] params ({})
504
+ def associate_volume(params = {}, options = {})
505
+ req = build_request(:associate_volume, params)
506
+ req.send_request(options)
507
+ end
508
+
509
+ # Creates a new volume for WorkSpace Instances.
510
+ #
511
+ # @option params [required, String] :availability_zone
512
+ # Availability zone for the volume.
513
+ #
514
+ # @option params [String] :client_token
515
+ # Unique token to prevent duplicate volume creation.
516
+ #
517
+ # **A suitable default value is auto-generated.** You should normally
518
+ # not need to pass this option.**
519
+ #
520
+ # @option params [Boolean] :encrypted
521
+ # Indicates if the volume should be encrypted.
522
+ #
523
+ # @option params [Integer] :iops
524
+ # Input/output operations per second for the volume.
525
+ #
526
+ # @option params [String] :kms_key_id
527
+ # KMS key for volume encryption.
528
+ #
529
+ # @option params [Integer] :size_in_gb
530
+ # Volume size in gigabytes.
531
+ #
532
+ # @option params [String] :snapshot_id
533
+ # Source snapshot for volume creation.
534
+ #
535
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
536
+ # Metadata tags for the volume.
537
+ #
538
+ # @option params [Integer] :throughput
539
+ # Volume throughput performance.
540
+ #
541
+ # @option params [String] :volume_type
542
+ # Type of EBS volume.
543
+ #
544
+ # @return [Types::CreateVolumeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
+ #
546
+ # * {Types::CreateVolumeResponse#volume_id #volume_id} => String
547
+ #
548
+ # @example Request syntax with placeholder values
549
+ #
550
+ # resp = client.create_volume({
551
+ # availability_zone: "String64", # required
552
+ # client_token: "ClientToken",
553
+ # encrypted: false,
554
+ # iops: 1,
555
+ # kms_key_id: "KmsKeyId",
556
+ # size_in_gb: 1,
557
+ # snapshot_id: "SnapshotId",
558
+ # tag_specifications: [
559
+ # {
560
+ # resource_type: "instance", # accepts instance, volume, spot-instances-request, network-interface
561
+ # tags: [
562
+ # {
563
+ # key: "TagKey",
564
+ # value: "TagValue",
565
+ # },
566
+ # ],
567
+ # },
568
+ # ],
569
+ # throughput: 1,
570
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
571
+ # })
572
+ #
573
+ # @example Response structure
574
+ #
575
+ # resp.volume_id #=> String
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateVolume AWS API Documentation
578
+ #
579
+ # @overload create_volume(params = {})
580
+ # @param [Hash] params ({})
581
+ def create_volume(params = {}, options = {})
582
+ req = build_request(:create_volume, params)
583
+ req.send_request(options)
584
+ end
585
+
586
+ # Launches a new WorkSpace Instance with specified configuration
587
+ # parameters, enabling programmatic workspace deployment.
588
+ #
589
+ # @option params [String] :client_token
590
+ # Unique token to ensure idempotent instance creation, preventing
591
+ # duplicate workspace launches.
592
+ #
593
+ # **A suitable default value is auto-generated.** You should normally
594
+ # not need to pass this option.**
595
+ #
596
+ # @option params [Array<Types::Tag>] :tags
597
+ # Optional metadata tags for categorizing and managing WorkSpaces
598
+ # Instances.
599
+ #
600
+ # @option params [required, Types::ManagedInstanceRequest] :managed_instance
601
+ # Comprehensive configuration settings for the WorkSpaces Instance,
602
+ # including network, compute, and storage parameters.
603
+ #
604
+ # @return [Types::CreateWorkspaceInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
605
+ #
606
+ # * {Types::CreateWorkspaceInstanceResponse#workspace_instance_id #workspace_instance_id} => String
607
+ #
608
+ # @example Request syntax with placeholder values
609
+ #
610
+ # resp = client.create_workspace_instance({
611
+ # client_token: "ClientToken",
612
+ # tags: [
613
+ # {
614
+ # key: "TagKey",
615
+ # value: "TagValue",
616
+ # },
617
+ # ],
618
+ # managed_instance: { # required
619
+ # block_device_mappings: [
620
+ # {
621
+ # device_name: "DeviceName",
622
+ # ebs: {
623
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
624
+ # encrypted: false,
625
+ # kms_key_id: "KmsKeyId",
626
+ # iops: 1,
627
+ # throughput: 1,
628
+ # volume_size: 1,
629
+ # },
630
+ # no_device: "DeviceName",
631
+ # virtual_name: "VirtualName",
632
+ # },
633
+ # ],
634
+ # capacity_reservation_specification: {
635
+ # capacity_reservation_preference: "capacity-reservations-only", # accepts capacity-reservations-only, open, none
636
+ # capacity_reservation_target: {
637
+ # capacity_reservation_id: "String128",
638
+ # capacity_reservation_resource_group_arn: "ARN",
639
+ # },
640
+ # },
641
+ # cpu_options: {
642
+ # amd_sev_snp: "enabled", # accepts enabled, disabled
643
+ # core_count: 1,
644
+ # threads_per_core: 1,
645
+ # },
646
+ # credit_specification: {
647
+ # cpu_credits: "standard", # accepts standard, unlimited
648
+ # },
649
+ # disable_api_stop: false,
650
+ # ebs_optimized: false,
651
+ # enable_primary_ipv_6: false,
652
+ # enclave_options: {
653
+ # enabled: false,
654
+ # },
655
+ # hibernation_options: {
656
+ # configured: false,
657
+ # },
658
+ # iam_instance_profile: {
659
+ # arn: "ARN",
660
+ # name: "String64",
661
+ # },
662
+ # image_id: "ImageId",
663
+ # instance_market_options: {
664
+ # market_type: "spot", # accepts spot, capacity-block
665
+ # spot_options: {
666
+ # block_duration_minutes: 1,
667
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop
668
+ # max_price: "String64",
669
+ # spot_instance_type: "one-time", # accepts one-time, persistent
670
+ # valid_until_utc: Time.now,
671
+ # },
672
+ # },
673
+ # instance_type: "InstanceType",
674
+ # ipv_6_addresses: [
675
+ # {
676
+ # ipv_6_address: "Ipv6Address",
677
+ # is_primary_ipv_6: false,
678
+ # },
679
+ # ],
680
+ # ipv_6_address_count: 1,
681
+ # kernel_id: "String128",
682
+ # key_name: "String64",
683
+ # license_specifications: [
684
+ # {
685
+ # license_configuration_arn: "ARN",
686
+ # },
687
+ # ],
688
+ # maintenance_options: {
689
+ # auto_recovery: "disabled", # accepts disabled, default
690
+ # },
691
+ # metadata_options: {
692
+ # http_endpoint: "enabled", # accepts enabled, disabled
693
+ # http_protocol_ipv_6: "enabled", # accepts enabled, disabled
694
+ # http_put_response_hop_limit: 1,
695
+ # http_tokens: "optional", # accepts optional, required
696
+ # instance_metadata_tags: "enabled", # accepts enabled, disabled
697
+ # },
698
+ # monitoring: {
699
+ # enabled: false,
700
+ # },
701
+ # network_interfaces: [
702
+ # {
703
+ # associate_carrier_ip_address: false,
704
+ # associate_public_ip_address: false,
705
+ # connection_tracking_specification: {
706
+ # tcp_established_timeout: 1,
707
+ # udp_stream_timeout: 1,
708
+ # udp_timeout: 1,
709
+ # },
710
+ # description: "Description",
711
+ # device_index: 1,
712
+ # ena_srd_specification: {
713
+ # ena_srd_enabled: false,
714
+ # ena_srd_udp_specification: {
715
+ # ena_srd_udp_enabled: false,
716
+ # },
717
+ # },
718
+ # interface_type: "interface", # accepts interface, efa, efa-only
719
+ # ipv_4_prefixes: [
720
+ # {
721
+ # ipv_4_prefix: "Ipv4Prefix",
722
+ # },
723
+ # ],
724
+ # ipv_4_prefix_count: 1,
725
+ # ipv_6_address_count: 1,
726
+ # ipv_6_addresses: [
727
+ # {
728
+ # ipv_6_address: "Ipv6Address",
729
+ # is_primary_ipv_6: false,
730
+ # },
731
+ # ],
732
+ # ipv_6_prefixes: [
733
+ # {
734
+ # ipv_6_prefix: "Ipv6Prefix",
735
+ # },
736
+ # ],
737
+ # ipv_6_prefix_count: 1,
738
+ # network_card_index: 1,
739
+ # network_interface_id: "NetworkInterfaceId",
740
+ # primary_ipv_6: false,
741
+ # private_ip_address: "Ipv4Address",
742
+ # private_ip_addresses: [
743
+ # {
744
+ # primary: false,
745
+ # private_ip_address: "Ipv4Address",
746
+ # },
747
+ # ],
748
+ # secondary_private_ip_address_count: 1,
749
+ # groups: ["SecurityGroupId"],
750
+ # subnet_id: "SubnetId",
751
+ # },
752
+ # ],
753
+ # network_performance_options: {
754
+ # bandwidth_weighting: "default", # accepts default, vpc-1, ebs-1
755
+ # },
756
+ # placement: {
757
+ # affinity: "String64",
758
+ # availability_zone: "AvailabilityZone",
759
+ # group_id: "PlacementGroupId",
760
+ # group_name: "String64",
761
+ # host_id: "HostId",
762
+ # host_resource_group_arn: "ARN",
763
+ # partition_number: 1,
764
+ # tenancy: "default", # accepts default, dedicated, host
765
+ # },
766
+ # private_dns_name_options: {
767
+ # hostname_type: "ip-name", # accepts ip-name, resource-name
768
+ # enable_resource_name_dns_a_record: false,
769
+ # enable_resource_name_dns_aaaa_record: false,
770
+ # },
771
+ # private_ip_address: "Ipv4Address",
772
+ # ramdisk_id: "String128",
773
+ # security_group_ids: ["SecurityGroupId"],
774
+ # security_groups: ["SecurityGroupName"],
775
+ # subnet_id: "SubnetId",
776
+ # tag_specifications: [
777
+ # {
778
+ # resource_type: "instance", # accepts instance, volume, spot-instances-request, network-interface
779
+ # tags: [
780
+ # {
781
+ # key: "TagKey",
782
+ # value: "TagValue",
783
+ # },
784
+ # ],
785
+ # },
786
+ # ],
787
+ # user_data: "UserData",
788
+ # },
789
+ # })
790
+ #
791
+ # @example Response structure
792
+ #
793
+ # resp.workspace_instance_id #=> String
794
+ #
795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/CreateWorkspaceInstance AWS API Documentation
796
+ #
797
+ # @overload create_workspace_instance(params = {})
798
+ # @param [Hash] params ({})
799
+ def create_workspace_instance(params = {}, options = {})
800
+ req = build_request(:create_workspace_instance, params)
801
+ req.send_request(options)
802
+ end
803
+
804
+ # Deletes a specified volume.
805
+ #
806
+ # @option params [required, String] :volume_id
807
+ # Identifier of the volume to delete.
808
+ #
809
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
810
+ #
811
+ # @example Request syntax with placeholder values
812
+ #
813
+ # resp = client.delete_volume({
814
+ # volume_id: "VolumeId", # required
815
+ # })
816
+ #
817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteVolume AWS API Documentation
818
+ #
819
+ # @overload delete_volume(params = {})
820
+ # @param [Hash] params ({})
821
+ def delete_volume(params = {}, options = {})
822
+ req = build_request(:delete_volume, params)
823
+ req.send_request(options)
824
+ end
825
+
826
+ # Deletes the specified WorkSpace
827
+ #
828
+ # @option params [required, String] :workspace_instance_id
829
+ # Unique identifier of the WorkSpaces Instance targeted for deletion.
830
+ #
831
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
832
+ #
833
+ # @example Request syntax with placeholder values
834
+ #
835
+ # resp = client.delete_workspace_instance({
836
+ # workspace_instance_id: "WorkspaceInstanceId", # required
837
+ # })
838
+ #
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DeleteWorkspaceInstance AWS API Documentation
840
+ #
841
+ # @overload delete_workspace_instance(params = {})
842
+ # @param [Hash] params ({})
843
+ def delete_workspace_instance(params = {}, options = {})
844
+ req = build_request(:delete_workspace_instance, params)
845
+ req.send_request(options)
846
+ end
847
+
848
+ # Detaches a volume from a WorkSpace Instance.
849
+ #
850
+ # @option params [required, String] :workspace_instance_id
851
+ # WorkSpace Instance to detach volume from.
852
+ #
853
+ # @option params [required, String] :volume_id
854
+ # Volume to be detached.
855
+ #
856
+ # @option params [String] :device
857
+ # Device path of volume to detach.
858
+ #
859
+ # @option params [String] :disassociate_mode
860
+ # Mode for volume detachment.
861
+ #
862
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
863
+ #
864
+ # @example Request syntax with placeholder values
865
+ #
866
+ # resp = client.disassociate_volume({
867
+ # workspace_instance_id: "WorkspaceInstanceId", # required
868
+ # volume_id: "VolumeId", # required
869
+ # device: "DeviceName",
870
+ # disassociate_mode: "FORCE", # accepts FORCE, NO_FORCE
871
+ # })
872
+ #
873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/DisassociateVolume AWS API Documentation
874
+ #
875
+ # @overload disassociate_volume(params = {})
876
+ # @param [Hash] params ({})
877
+ def disassociate_volume(params = {}, options = {})
878
+ req = build_request(:disassociate_volume, params)
879
+ req.send_request(options)
880
+ end
881
+
882
+ # Retrieves detailed information about a specific WorkSpace Instance.
883
+ #
884
+ # @option params [required, String] :workspace_instance_id
885
+ # Unique identifier of the WorkSpace Instance to retrieve.
886
+ #
887
+ # @return [Types::GetWorkspaceInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
888
+ #
889
+ # * {Types::GetWorkspaceInstanceResponse#workspace_instance_errors #workspace_instance_errors} => Array&lt;Types::WorkspaceInstanceError&gt;
890
+ # * {Types::GetWorkspaceInstanceResponse#ec2_instance_errors #ec2_instance_errors} => Array&lt;Types::EC2InstanceError&gt;
891
+ # * {Types::GetWorkspaceInstanceResponse#provision_state #provision_state} => String
892
+ # * {Types::GetWorkspaceInstanceResponse#workspace_instance_id #workspace_instance_id} => String
893
+ # * {Types::GetWorkspaceInstanceResponse#ec2_managed_instance #ec2_managed_instance} => Types::EC2ManagedInstance
894
+ #
895
+ # @example Request syntax with placeholder values
896
+ #
897
+ # resp = client.get_workspace_instance({
898
+ # workspace_instance_id: "WorkspaceInstanceId", # required
899
+ # })
900
+ #
901
+ # @example Response structure
902
+ #
903
+ # resp.workspace_instance_errors #=> Array
904
+ # resp.workspace_instance_errors[0].error_code #=> String
905
+ # resp.workspace_instance_errors[0].error_message #=> String
906
+ # resp.ec2_instance_errors #=> Array
907
+ # resp.ec2_instance_errors[0].ec2_error_code #=> String
908
+ # resp.ec2_instance_errors[0].ec2_exception_type #=> String
909
+ # resp.ec2_instance_errors[0].ec2_error_message #=> String
910
+ # resp.provision_state #=> String, one of "ALLOCATING", "ALLOCATED", "DEALLOCATING", "DEALLOCATED", "ERROR_ALLOCATING", "ERROR_DEALLOCATING"
911
+ # resp.workspace_instance_id #=> String
912
+ # resp.ec2_managed_instance.instance_id #=> String
913
+ #
914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/GetWorkspaceInstance AWS API Documentation
915
+ #
916
+ # @overload get_workspace_instance(params = {})
917
+ # @param [Hash] params ({})
918
+ def get_workspace_instance(params = {}, options = {})
919
+ req = build_request(:get_workspace_instance, params)
920
+ req.send_request(options)
921
+ end
922
+
923
+ # Retrieves a list of instance types supported by Amazon WorkSpaces
924
+ # Instances, enabling precise workspace infrastructure configuration.
925
+ #
926
+ # @option params [Integer] :max_results
927
+ # Maximum number of instance types to return in a single API call.
928
+ # Enables pagination of instance type results.
929
+ #
930
+ # @option params [String] :next_token
931
+ # Pagination token for retrieving subsequent pages of instance type
932
+ # results.
933
+ #
934
+ # @return [Types::ListInstanceTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
935
+ #
936
+ # * {Types::ListInstanceTypesResponse#instance_types #instance_types} => Array&lt;Types::InstanceTypeInfo&gt;
937
+ # * {Types::ListInstanceTypesResponse#next_token #next_token} => String
938
+ #
939
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.list_instance_types({
944
+ # max_results: 1,
945
+ # next_token: "NextToken",
946
+ # })
947
+ #
948
+ # @example Response structure
949
+ #
950
+ # resp.instance_types #=> Array
951
+ # resp.instance_types[0].instance_type #=> String
952
+ # resp.next_token #=> String
953
+ #
954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListInstanceTypes AWS API Documentation
955
+ #
956
+ # @overload list_instance_types(params = {})
957
+ # @param [Hash] params ({})
958
+ def list_instance_types(params = {}, options = {})
959
+ req = build_request(:list_instance_types, params)
960
+ req.send_request(options)
961
+ end
962
+
963
+ # Retrieves a list of AWS regions supported by Amazon WorkSpaces
964
+ # Instances, enabling region discovery for workspace deployments.
965
+ #
966
+ # @option params [Integer] :max_results
967
+ # Maximum number of regions to return in a single API call. Enables
968
+ # pagination of region results.
969
+ #
970
+ # @option params [String] :next_token
971
+ # Pagination token for retrieving subsequent pages of region results.
972
+ #
973
+ # @return [Types::ListRegionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
974
+ #
975
+ # * {Types::ListRegionsResponse#regions #regions} => Array&lt;Types::Region&gt;
976
+ # * {Types::ListRegionsResponse#next_token #next_token} => String
977
+ #
978
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.list_regions({
983
+ # max_results: 1,
984
+ # next_token: "NextToken",
985
+ # })
986
+ #
987
+ # @example Response structure
988
+ #
989
+ # resp.regions #=> Array
990
+ # resp.regions[0].region_name #=> String
991
+ # resp.next_token #=> String
992
+ #
993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListRegions AWS API Documentation
994
+ #
995
+ # @overload list_regions(params = {})
996
+ # @param [Hash] params ({})
997
+ def list_regions(params = {}, options = {})
998
+ req = build_request(:list_regions, params)
999
+ req.send_request(options)
1000
+ end
1001
+
1002
+ # Retrieves tags for a WorkSpace Instance.
1003
+ #
1004
+ # @option params [required, String] :workspace_instance_id
1005
+ # Unique identifier of the WorkSpace Instance.
1006
+ #
1007
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1008
+ #
1009
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1010
+ #
1011
+ # @example Request syntax with placeholder values
1012
+ #
1013
+ # resp = client.list_tags_for_resource({
1014
+ # workspace_instance_id: "WorkspaceInstanceId", # required
1015
+ # })
1016
+ #
1017
+ # @example Response structure
1018
+ #
1019
+ # resp.tags #=> Array
1020
+ # resp.tags[0].key #=> String
1021
+ # resp.tags[0].value #=> String
1022
+ #
1023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListTagsForResource AWS API Documentation
1024
+ #
1025
+ # @overload list_tags_for_resource(params = {})
1026
+ # @param [Hash] params ({})
1027
+ def list_tags_for_resource(params = {}, options = {})
1028
+ req = build_request(:list_tags_for_resource, params)
1029
+ req.send_request(options)
1030
+ end
1031
+
1032
+ # Retrieves a collection of WorkSpaces Instances based on specified
1033
+ # filters.
1034
+ #
1035
+ # @option params [Array<String>] :provision_states
1036
+ # Filter WorkSpaces Instances by their current provisioning states.
1037
+ #
1038
+ # @option params [Integer] :max_results
1039
+ # Maximum number of WorkSpaces Instances to return in a single response.
1040
+ #
1041
+ # @option params [String] :next_token
1042
+ # Pagination token for retrieving subsequent pages of WorkSpaces
1043
+ # Instances.
1044
+ #
1045
+ # @return [Types::ListWorkspaceInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1046
+ #
1047
+ # * {Types::ListWorkspaceInstancesResponse#workspace_instances #workspace_instances} => Array&lt;Types::WorkspaceInstance&gt;
1048
+ # * {Types::ListWorkspaceInstancesResponse#next_token #next_token} => String
1049
+ #
1050
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1051
+ #
1052
+ # @example Request syntax with placeholder values
1053
+ #
1054
+ # resp = client.list_workspace_instances({
1055
+ # provision_states: ["ALLOCATING"], # accepts ALLOCATING, ALLOCATED, DEALLOCATING, DEALLOCATED, ERROR_ALLOCATING, ERROR_DEALLOCATING
1056
+ # max_results: 1,
1057
+ # next_token: "NextToken",
1058
+ # })
1059
+ #
1060
+ # @example Response structure
1061
+ #
1062
+ # resp.workspace_instances #=> Array
1063
+ # resp.workspace_instances[0].provision_state #=> String, one of "ALLOCATING", "ALLOCATED", "DEALLOCATING", "DEALLOCATED", "ERROR_ALLOCATING", "ERROR_DEALLOCATING"
1064
+ # resp.workspace_instances[0].workspace_instance_id #=> String
1065
+ # resp.workspace_instances[0].ec2_managed_instance.instance_id #=> String
1066
+ # resp.next_token #=> String
1067
+ #
1068
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/ListWorkspaceInstances AWS API Documentation
1069
+ #
1070
+ # @overload list_workspace_instances(params = {})
1071
+ # @param [Hash] params ({})
1072
+ def list_workspace_instances(params = {}, options = {})
1073
+ req = build_request(:list_workspace_instances, params)
1074
+ req.send_request(options)
1075
+ end
1076
+
1077
+ # Adds tags to a WorkSpace Instance.
1078
+ #
1079
+ # @option params [required, String] :workspace_instance_id
1080
+ # Unique identifier of the WorkSpace Instance to tag.
1081
+ #
1082
+ # @option params [required, Array<Types::Tag>] :tags
1083
+ # Tags to be added to the WorkSpace Instance.
1084
+ #
1085
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1086
+ #
1087
+ # @example Request syntax with placeholder values
1088
+ #
1089
+ # resp = client.tag_resource({
1090
+ # workspace_instance_id: "WorkspaceInstanceId", # required
1091
+ # tags: [ # required
1092
+ # {
1093
+ # key: "TagKey",
1094
+ # value: "TagValue",
1095
+ # },
1096
+ # ],
1097
+ # })
1098
+ #
1099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/TagResource AWS API Documentation
1100
+ #
1101
+ # @overload tag_resource(params = {})
1102
+ # @param [Hash] params ({})
1103
+ def tag_resource(params = {}, options = {})
1104
+ req = build_request(:tag_resource, params)
1105
+ req.send_request(options)
1106
+ end
1107
+
1108
+ # Removes tags from a WorkSpace Instance.
1109
+ #
1110
+ # @option params [required, String] :workspace_instance_id
1111
+ # Unique identifier of the WorkSpace Instance to untag.
1112
+ #
1113
+ # @option params [required, Array<String>] :tag_keys
1114
+ # Keys of tags to be removed.
1115
+ #
1116
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1117
+ #
1118
+ # @example Request syntax with placeholder values
1119
+ #
1120
+ # resp = client.untag_resource({
1121
+ # workspace_instance_id: "WorkspaceInstanceId", # required
1122
+ # tag_keys: ["TagKey"], # required
1123
+ # })
1124
+ #
1125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-instances-2022-07-26/UntagResource AWS API Documentation
1126
+ #
1127
+ # @overload untag_resource(params = {})
1128
+ # @param [Hash] params ({})
1129
+ def untag_resource(params = {}, options = {})
1130
+ req = build_request(:untag_resource, params)
1131
+ req.send_request(options)
1132
+ end
1133
+
1134
+ # @!endgroup
1135
+
1136
+ # @param params ({})
1137
+ # @api private
1138
+ def build_request(operation_name, params = {})
1139
+ handlers = @handlers.for(operation_name)
1140
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1141
+ Aws::Telemetry.module_to_tracer_name('Aws::WorkspacesInstances')
1142
+ )
1143
+ context = Seahorse::Client::RequestContext.new(
1144
+ operation_name: operation_name,
1145
+ operation: config.api.operation(operation_name),
1146
+ client: self,
1147
+ params: params,
1148
+ config: config,
1149
+ tracer: tracer
1150
+ )
1151
+ context[:gem_name] = 'aws-sdk-workspacesinstances'
1152
+ context[:gem_version] = '1.0.0'
1153
+ Seahorse::Client::Request.new(handlers, context)
1154
+ end
1155
+
1156
+ # @api private
1157
+ # @deprecated
1158
+ def waiter_names
1159
+ []
1160
+ end
1161
+
1162
+ class << self
1163
+
1164
+ # @api private
1165
+ attr_reader :identifier
1166
+
1167
+ # @api private
1168
+ def errors_module
1169
+ Errors
1170
+ end
1171
+
1172
+ end
1173
+ end
1174
+ end