aws-sdk-workspaces 1.106.0 → 1.107.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b6ab1b839dfb776addac1dee80521dfab953b2d7f98ffd1a38a410df896cd91
4
- data.tar.gz: e5b5010a43bdca557d8474d233752acf1c737aa2b2957f76522147302e5e9e14
3
+ metadata.gz: c2bcdec1cc609943110c90ff197d5ee85b28161c2a7e7285d67fb391e2ca4b5a
4
+ data.tar.gz: d7f5d3cfbc7dcb0a8b792733ed312ac6a0a7e761188ef3f619eb9b8e8c05382a
5
5
  SHA512:
6
- metadata.gz: fc54581ffc4c5b43d0e1ff26e44fc1fb8bce4eb42e6706f621c9815a71462698555b73923c402badb51aa64ddd50b102f7454a9b9c3159fad85050d680c7f171
7
- data.tar.gz: ad129759ee064ec349c5fcbf6d3b5a675bbd8a4736f19b7a6e39c4753c9102d514a7ba993c31a2a78e59e06c842c3079b9f6a2dd4cd9b13f614ce1e649408bd1
6
+ metadata.gz: 3272e6bbcc58eb9194ffaf378ebd04592f97f730a4c5d3d10d1f50f0183837796f250e892320c2b5be4e3869ffed32053082ed1a70d610a4fadb597c088b843c
7
+ data.tar.gz: e111fe1fa3c3726c9aef7229431f1be565b5ad3467b3795442a325c6006c0d3531179fc107acdf0f18556e030cbcb63e6b3b6eadf110c22912c216a11808405a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.107.0 (2024-06-27)
5
+ ------------------
6
+
7
+ * Feature - Added support for WorkSpaces Pools.
8
+
4
9
  1.106.0 (2024-06-25)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.106.0
1
+ 1.107.0
@@ -1310,6 +1310,96 @@ module Aws::WorkSpaces
1310
1310
  req.send_request(options)
1311
1311
  end
1312
1312
 
1313
+ # Creates a pool of WorkSpaces.
1314
+ #
1315
+ # @option params [required, String] :pool_name
1316
+ # The name of the WorkSpaces pool.
1317
+ #
1318
+ # @option params [required, String] :description
1319
+ # The WorkSpaces pool description.
1320
+ #
1321
+ # @option params [required, String] :bundle_id
1322
+ # The identifier of the bundle for the WorkSpaces pool.
1323
+ #
1324
+ # @option params [required, String] :directory_id
1325
+ # The identifier of the directory for the WorkSpaces pool.
1326
+ #
1327
+ # @option params [required, Types::Capacity] :capacity
1328
+ # The user capacity of the WorkSpaces pool.
1329
+ #
1330
+ # @option params [Array<Types::Tag>] :tags
1331
+ # The tags for the WorkSpaces pool.
1332
+ #
1333
+ # @option params [Types::ApplicationSettingsRequest] :application_settings
1334
+ # Indicates the application settings of the WorkSpaces pool.
1335
+ #
1336
+ # @option params [Types::TimeoutSettings] :timeout_settings
1337
+ # Indicates the timeout settings of the WorkSpaces pool.
1338
+ #
1339
+ # @return [Types::CreateWorkspacesPoolResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1340
+ #
1341
+ # * {Types::CreateWorkspacesPoolResult#workspaces_pool #workspaces_pool} => Types::WorkspacesPool
1342
+ #
1343
+ # @example Request syntax with placeholder values
1344
+ #
1345
+ # resp = client.create_workspaces_pool({
1346
+ # pool_name: "WorkspacesPoolName", # required
1347
+ # description: "UpdateDescription", # required
1348
+ # bundle_id: "BundleId", # required
1349
+ # directory_id: "DirectoryId", # required
1350
+ # capacity: { # required
1351
+ # desired_user_sessions: 1, # required
1352
+ # },
1353
+ # tags: [
1354
+ # {
1355
+ # key: "TagKey", # required
1356
+ # value: "TagValue",
1357
+ # },
1358
+ # ],
1359
+ # application_settings: {
1360
+ # status: "DISABLED", # required, accepts DISABLED, ENABLED
1361
+ # settings_group: "SettingsGroup",
1362
+ # },
1363
+ # timeout_settings: {
1364
+ # disconnect_timeout_in_seconds: 1,
1365
+ # idle_disconnect_timeout_in_seconds: 1,
1366
+ # max_user_duration_in_seconds: 1,
1367
+ # },
1368
+ # })
1369
+ #
1370
+ # @example Response structure
1371
+ #
1372
+ # resp.workspaces_pool.pool_id #=> String
1373
+ # resp.workspaces_pool.pool_arn #=> String
1374
+ # resp.workspaces_pool.capacity_status.available_user_sessions #=> Integer
1375
+ # resp.workspaces_pool.capacity_status.desired_user_sessions #=> Integer
1376
+ # resp.workspaces_pool.capacity_status.actual_user_sessions #=> Integer
1377
+ # resp.workspaces_pool.capacity_status.active_user_sessions #=> Integer
1378
+ # resp.workspaces_pool.pool_name #=> String
1379
+ # resp.workspaces_pool.description #=> String
1380
+ # resp.workspaces_pool.state #=> String, one of "CREATING", "DELETING", "RUNNING", "STARTING", "STOPPED", "STOPPING", "UPDATING"
1381
+ # resp.workspaces_pool.created_at #=> Time
1382
+ # resp.workspaces_pool.bundle_id #=> String
1383
+ # resp.workspaces_pool.directory_id #=> String
1384
+ # resp.workspaces_pool.errors #=> Array
1385
+ # resp.workspaces_pool.errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_IS_MISSING", "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "WORKSPACES_POOL_STOPPED", "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING", "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE", "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID", "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_INVALID", "BUNDLE_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INSUFFICIENT_PERMISSIONS_ERROR", "DEFAULT_OU_IS_MISSING"
1386
+ # resp.workspaces_pool.errors[0].error_message #=> String
1387
+ # resp.workspaces_pool.application_settings.status #=> String, one of "DISABLED", "ENABLED"
1388
+ # resp.workspaces_pool.application_settings.settings_group #=> String
1389
+ # resp.workspaces_pool.application_settings.s3_bucket_name #=> String
1390
+ # resp.workspaces_pool.timeout_settings.disconnect_timeout_in_seconds #=> Integer
1391
+ # resp.workspaces_pool.timeout_settings.idle_disconnect_timeout_in_seconds #=> Integer
1392
+ # resp.workspaces_pool.timeout_settings.max_user_duration_in_seconds #=> Integer
1393
+ #
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspacesPool AWS API Documentation
1395
+ #
1396
+ # @overload create_workspaces_pool(params = {})
1397
+ # @param [Hash] params ({})
1398
+ def create_workspaces_pool(params = {}, options = {})
1399
+ req = build_request(:create_workspaces_pool, params)
1400
+ req.send_request(options)
1401
+ end
1402
+
1313
1403
  # Deletes the account link invitation.
1314
1404
  #
1315
1405
  # @option params [required, String] :link_id
@@ -2362,6 +2452,9 @@ module Aws::WorkSpaces
2362
2452
  # The identifiers of the directories. If the value is null, all
2363
2453
  # directories are retrieved.
2364
2454
  #
2455
+ # @option params [Array<String>] :workspace_directory_names
2456
+ # The names of the WorkSpace directories.
2457
+ #
2365
2458
  # @option params [Integer] :limit
2366
2459
  # The maximum number of directories to return.
2367
2460
  #
@@ -2380,6 +2473,7 @@ module Aws::WorkSpaces
2380
2473
  #
2381
2474
  # resp = client.describe_workspace_directories({
2382
2475
  # directory_ids: ["DirectoryId"],
2476
+ # workspace_directory_names: ["WorkspaceDirectoryName"],
2383
2477
  # limit: 1,
2384
2478
  # next_token: "PaginationToken",
2385
2479
  # })
@@ -2397,7 +2491,7 @@ module Aws::WorkSpaces
2397
2491
  # resp.directories[0].dns_ip_addresses[0] #=> String
2398
2492
  # resp.directories[0].customer_user_name #=> String
2399
2493
  # resp.directories[0].iam_role_id #=> String
2400
- # resp.directories[0].directory_type #=> String, one of "SIMPLE_AD", "AD_CONNECTOR"
2494
+ # resp.directories[0].directory_type #=> String, one of "SIMPLE_AD", "AD_CONNECTOR", "CUSTOMER_MANAGED"
2401
2495
  # resp.directories[0].workspace_security_group_id #=> String
2402
2496
  # resp.directories[0].state #=> String, one of "REGISTERING", "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ERROR"
2403
2497
  # resp.directories[0].workspace_creation_properties.enable_work_docs #=> Boolean
@@ -2406,6 +2500,7 @@ module Aws::WorkSpaces
2406
2500
  # resp.directories[0].workspace_creation_properties.custom_security_group_id #=> String
2407
2501
  # resp.directories[0].workspace_creation_properties.user_enabled_as_local_administrator #=> Boolean
2408
2502
  # resp.directories[0].workspace_creation_properties.enable_maintenance_mode #=> Boolean
2503
+ # resp.directories[0].workspace_creation_properties.instance_iam_role_arn #=> String
2409
2504
  # resp.directories[0].ip_group_ids #=> Array
2410
2505
  # resp.directories[0].ip_group_ids[0] #=> String
2411
2506
  # resp.directories[0].workspace_access_properties.device_type_windows #=> String, one of "ALLOW", "DENY"
@@ -2427,6 +2522,21 @@ module Aws::WorkSpaces
2427
2522
  # resp.directories[0].saml_properties.relay_state_parameter_name #=> String
2428
2523
  # resp.directories[0].certificate_based_auth_properties.status #=> String, one of "DISABLED", "ENABLED"
2429
2524
  # resp.directories[0].certificate_based_auth_properties.certificate_authority_arn #=> String
2525
+ # resp.directories[0].workspace_directory_name #=> String
2526
+ # resp.directories[0].workspace_directory_description #=> String
2527
+ # resp.directories[0].user_identity_type #=> String, one of "CUSTOMER_MANAGED", "AWS_DIRECTORY_SERVICE"
2528
+ # resp.directories[0].workspace_type #=> String, one of "PERSONAL", "POOLS"
2529
+ # resp.directories[0].active_directory_config.domain_name #=> String
2530
+ # resp.directories[0].active_directory_config.service_account_secret_arn #=> String
2531
+ # resp.directories[0].streaming_properties.streaming_experience_preferred_protocol #=> String, one of "TCP", "UDP"
2532
+ # resp.directories[0].streaming_properties.user_settings #=> Array
2533
+ # resp.directories[0].streaming_properties.user_settings[0].action #=> String, one of "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", "CLIPBOARD_COPY_TO_LOCAL_DEVICE", "PRINTING_TO_LOCAL_DEVICE", "SMART_CARD"
2534
+ # resp.directories[0].streaming_properties.user_settings[0].permission #=> String, one of "ENABLED", "DISABLED"
2535
+ # resp.directories[0].streaming_properties.user_settings[0].maximum_length #=> Integer
2536
+ # resp.directories[0].streaming_properties.storage_connectors #=> Array
2537
+ # resp.directories[0].streaming_properties.storage_connectors[0].connector_type #=> String, one of "HOME_FOLDER"
2538
+ # resp.directories[0].streaming_properties.storage_connectors[0].status #=> String, one of "ENABLED", "DISABLED"
2539
+ # resp.directories[0].error_message #=> String
2430
2540
  # resp.next_token #=> String
2431
2541
  #
2432
2542
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceDirectories AWS API Documentation
@@ -2719,6 +2829,130 @@ module Aws::WorkSpaces
2719
2829
  req.send_request(options)
2720
2830
  end
2721
2831
 
2832
+ # Retrieves a list that describes the streaming sessions for a specified
2833
+ # WorkSpaces pool.
2834
+ #
2835
+ # @option params [required, String] :pool_id
2836
+ # The identifier of the WorkSpaces pool.
2837
+ #
2838
+ # @option params [String] :user_id
2839
+ # The identifier of the user.
2840
+ #
2841
+ # @option params [Integer] :limit
2842
+ # The maximum number of items to return.
2843
+ #
2844
+ # @option params [String] :next_token
2845
+ # If you received a `NextToken` from a previous call that was paginated,
2846
+ # provide this token to receive the next set of results.
2847
+ #
2848
+ # @return [Types::DescribeWorkspacesPoolSessionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2849
+ #
2850
+ # * {Types::DescribeWorkspacesPoolSessionsResult#sessions #sessions} => Array&lt;Types::WorkspacesPoolSession&gt;
2851
+ # * {Types::DescribeWorkspacesPoolSessionsResult#next_token #next_token} => String
2852
+ #
2853
+ # @example Request syntax with placeholder values
2854
+ #
2855
+ # resp = client.describe_workspaces_pool_sessions({
2856
+ # pool_id: "WorkspacesPoolId", # required
2857
+ # user_id: "WorkspacesPoolUserId",
2858
+ # limit: 1,
2859
+ # next_token: "PaginationToken",
2860
+ # })
2861
+ #
2862
+ # @example Response structure
2863
+ #
2864
+ # resp.sessions #=> Array
2865
+ # resp.sessions[0].authentication_type #=> String, one of "SAML"
2866
+ # resp.sessions[0].connection_state #=> String, one of "CONNECTED", "NOT_CONNECTED"
2867
+ # resp.sessions[0].session_id #=> String
2868
+ # resp.sessions[0].instance_id #=> String
2869
+ # resp.sessions[0].pool_id #=> String
2870
+ # resp.sessions[0].expiration_time #=> Time
2871
+ # resp.sessions[0].network_access_configuration.eni_private_ip_address #=> String
2872
+ # resp.sessions[0].network_access_configuration.eni_id #=> String
2873
+ # resp.sessions[0].start_time #=> Time
2874
+ # resp.sessions[0].user_id #=> String
2875
+ # resp.next_token #=> String
2876
+ #
2877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspacesPoolSessions AWS API Documentation
2878
+ #
2879
+ # @overload describe_workspaces_pool_sessions(params = {})
2880
+ # @param [Hash] params ({})
2881
+ def describe_workspaces_pool_sessions(params = {}, options = {})
2882
+ req = build_request(:describe_workspaces_pool_sessions, params)
2883
+ req.send_request(options)
2884
+ end
2885
+
2886
+ # Describes the specified WorkSpaces pool.
2887
+ #
2888
+ # @option params [Array<String>] :pool_ids
2889
+ # The identifier of the WorkSpaces pool.
2890
+ #
2891
+ # @option params [Array<Types::DescribeWorkspacesPoolsFilter>] :filters
2892
+ # The filter conditions for the WorkSpaces pool to return.
2893
+ #
2894
+ # @option params [Integer] :limit
2895
+ # The maximum number of items to return.
2896
+ #
2897
+ # @option params [String] :next_token
2898
+ # If you received a `NextToken` from a previous call that was paginated,
2899
+ # provide this token to receive the next set of results.
2900
+ #
2901
+ # @return [Types::DescribeWorkspacesPoolsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2902
+ #
2903
+ # * {Types::DescribeWorkspacesPoolsResult#workspaces_pools #workspaces_pools} => Array&lt;Types::WorkspacesPool&gt;
2904
+ # * {Types::DescribeWorkspacesPoolsResult#next_token #next_token} => String
2905
+ #
2906
+ # @example Request syntax with placeholder values
2907
+ #
2908
+ # resp = client.describe_workspaces_pools({
2909
+ # pool_ids: ["WorkspacesPoolId"],
2910
+ # filters: [
2911
+ # {
2912
+ # name: "PoolName", # required, accepts PoolName
2913
+ # values: ["DescribeWorkspacesPoolsFilterValue"], # required
2914
+ # operator: "EQUALS", # required, accepts EQUALS, NOTEQUALS, CONTAINS, NOTCONTAINS
2915
+ # },
2916
+ # ],
2917
+ # limit: 1,
2918
+ # next_token: "PaginationToken",
2919
+ # })
2920
+ #
2921
+ # @example Response structure
2922
+ #
2923
+ # resp.workspaces_pools #=> Array
2924
+ # resp.workspaces_pools[0].pool_id #=> String
2925
+ # resp.workspaces_pools[0].pool_arn #=> String
2926
+ # resp.workspaces_pools[0].capacity_status.available_user_sessions #=> Integer
2927
+ # resp.workspaces_pools[0].capacity_status.desired_user_sessions #=> Integer
2928
+ # resp.workspaces_pools[0].capacity_status.actual_user_sessions #=> Integer
2929
+ # resp.workspaces_pools[0].capacity_status.active_user_sessions #=> Integer
2930
+ # resp.workspaces_pools[0].pool_name #=> String
2931
+ # resp.workspaces_pools[0].description #=> String
2932
+ # resp.workspaces_pools[0].state #=> String, one of "CREATING", "DELETING", "RUNNING", "STARTING", "STOPPED", "STOPPING", "UPDATING"
2933
+ # resp.workspaces_pools[0].created_at #=> Time
2934
+ # resp.workspaces_pools[0].bundle_id #=> String
2935
+ # resp.workspaces_pools[0].directory_id #=> String
2936
+ # resp.workspaces_pools[0].errors #=> Array
2937
+ # resp.workspaces_pools[0].errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_IS_MISSING", "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "WORKSPACES_POOL_STOPPED", "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING", "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE", "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID", "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_INVALID", "BUNDLE_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INSUFFICIENT_PERMISSIONS_ERROR", "DEFAULT_OU_IS_MISSING"
2938
+ # resp.workspaces_pools[0].errors[0].error_message #=> String
2939
+ # resp.workspaces_pools[0].application_settings.status #=> String, one of "DISABLED", "ENABLED"
2940
+ # resp.workspaces_pools[0].application_settings.settings_group #=> String
2941
+ # resp.workspaces_pools[0].application_settings.s3_bucket_name #=> String
2942
+ # resp.workspaces_pools[0].timeout_settings.disconnect_timeout_in_seconds #=> Integer
2943
+ # resp.workspaces_pools[0].timeout_settings.idle_disconnect_timeout_in_seconds #=> Integer
2944
+ # resp.workspaces_pools[0].timeout_settings.max_user_duration_in_seconds #=> Integer
2945
+ # resp.next_token #=> String
2946
+ #
2947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspacesPools AWS API Documentation
2948
+ #
2949
+ # @overload describe_workspaces_pools(params = {})
2950
+ # @param [Hash] params ({})
2951
+ def describe_workspaces_pools(params = {}, options = {})
2952
+ req = build_request(:describe_workspaces_pools, params)
2953
+ req.send_request(options)
2954
+ end
2955
+
2722
2956
  # Disassociates a connection alias from a directory. Disassociating a
2723
2957
  # connection alias disables cross-Region redirection between two
2724
2958
  # directories in different Regions. For more information, see [
@@ -3445,6 +3679,47 @@ module Aws::WorkSpaces
3445
3679
  req.send_request(options)
3446
3680
  end
3447
3681
 
3682
+ # Modifies the specified streaming properties.
3683
+ #
3684
+ # @option params [required, String] :resource_id
3685
+ # The identifier of the resource.
3686
+ #
3687
+ # @option params [Types::StreamingProperties] :streaming_properties
3688
+ # The streaming properties to configure.
3689
+ #
3690
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3691
+ #
3692
+ # @example Request syntax with placeholder values
3693
+ #
3694
+ # resp = client.modify_streaming_properties({
3695
+ # resource_id: "DirectoryId", # required
3696
+ # streaming_properties: {
3697
+ # streaming_experience_preferred_protocol: "TCP", # accepts TCP, UDP
3698
+ # user_settings: [
3699
+ # {
3700
+ # action: "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", # required, accepts CLIPBOARD_COPY_FROM_LOCAL_DEVICE, CLIPBOARD_COPY_TO_LOCAL_DEVICE, PRINTING_TO_LOCAL_DEVICE, SMART_CARD
3701
+ # permission: "ENABLED", # required, accepts ENABLED, DISABLED
3702
+ # maximum_length: 1,
3703
+ # },
3704
+ # ],
3705
+ # storage_connectors: [
3706
+ # {
3707
+ # connector_type: "HOME_FOLDER", # required, accepts HOME_FOLDER
3708
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
3709
+ # },
3710
+ # ],
3711
+ # },
3712
+ # })
3713
+ #
3714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyStreamingProperties AWS API Documentation
3715
+ #
3716
+ # @overload modify_streaming_properties(params = {})
3717
+ # @param [Hash] params ({})
3718
+ def modify_streaming_properties(params = {}, options = {})
3719
+ req = build_request(:modify_streaming_properties, params)
3720
+ req.send_request(options)
3721
+ end
3722
+
3448
3723
  # Specifies which devices and operating systems users can use to access
3449
3724
  # their WorkSpaces. For more information, see [ Control Device
3450
3725
  # Access][1].
@@ -3508,6 +3783,7 @@ module Aws::WorkSpaces
3508
3783
  # custom_security_group_id: "SecurityGroupId",
3509
3784
  # user_enabled_as_local_administrator: false,
3510
3785
  # enable_maintenance_mode: false,
3786
+ # instance_iam_role_arn: "ARN",
3511
3787
  # },
3512
3788
  # })
3513
3789
  #
@@ -3706,7 +3982,7 @@ module Aws::WorkSpaces
3706
3982
  #
3707
3983
  # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role
3708
3984
  #
3709
- # @option params [required, String] :directory_id
3985
+ # @option params [String] :directory_id
3710
3986
  # The identifier of the directory. You cannot register a directory if it
3711
3987
  # does not have a status of Active. If the directory does not have a
3712
3988
  # status of Active, you will receive an InvalidResourceStateException
@@ -3722,7 +3998,7 @@ module Aws::WorkSpaces
3722
3998
  # conditions are not met, you will receive an
3723
3999
  # OperationNotSupportedException error.
3724
4000
  #
3725
- # @option params [required, Boolean] :enable_work_docs
4001
+ # @option params [Boolean] :enable_work_docs
3726
4002
  # Indicates whether Amazon WorkDocs is enabled or disabled. If you have
3727
4003
  # enabled this parameter and WorkDocs is not available in the Region,
3728
4004
  # you will receive an OperationNotSupportedException error. Set
@@ -3746,14 +4022,33 @@ module Aws::WorkSpaces
3746
4022
  # @option params [Array<Types::Tag>] :tags
3747
4023
  # The tags associated with the directory.
3748
4024
  #
3749
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4025
+ # @option params [String] :workspace_directory_name
4026
+ # The name of the directory to register.
4027
+ #
4028
+ # @option params [String] :workspace_directory_description
4029
+ # Description of the directory to register.
4030
+ #
4031
+ # @option params [String] :user_identity_type
4032
+ # The type of identity management the user is using.
4033
+ #
4034
+ # @option params [String] :workspace_type
4035
+ # Indicates whether the directory's WorkSpace type is personal or
4036
+ # pools.
4037
+ #
4038
+ # @option params [Types::ActiveDirectoryConfig] :active_directory_config
4039
+ # The active directory config of the directory.
4040
+ #
4041
+ # @return [Types::RegisterWorkspaceDirectoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4042
+ #
4043
+ # * {Types::RegisterWorkspaceDirectoryResult#directory_id #directory_id} => String
4044
+ # * {Types::RegisterWorkspaceDirectoryResult#state #state} => String
3750
4045
  #
3751
4046
  # @example Request syntax with placeholder values
3752
4047
  #
3753
4048
  # resp = client.register_workspace_directory({
3754
- # directory_id: "DirectoryId", # required
4049
+ # directory_id: "DirectoryId",
3755
4050
  # subnet_ids: ["SubnetId"],
3756
- # enable_work_docs: false, # required
4051
+ # enable_work_docs: false,
3757
4052
  # enable_self_service: false,
3758
4053
  # tenancy: "DEDICATED", # accepts DEDICATED, SHARED
3759
4054
  # tags: [
@@ -3762,8 +4057,21 @@ module Aws::WorkSpaces
3762
4057
  # value: "TagValue",
3763
4058
  # },
3764
4059
  # ],
4060
+ # workspace_directory_name: "WorkspaceDirectoryName",
4061
+ # workspace_directory_description: "WorkspaceDirectoryDescription",
4062
+ # user_identity_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, AWS_DIRECTORY_SERVICE
4063
+ # workspace_type: "PERSONAL", # accepts PERSONAL, POOLS
4064
+ # active_directory_config: {
4065
+ # domain_name: "DomainName", # required
4066
+ # service_account_secret_arn: "SecretsManagerArn", # required
4067
+ # },
3765
4068
  # })
3766
4069
  #
4070
+ # @example Response structure
4071
+ #
4072
+ # resp.directory_id #=> String
4073
+ # resp.state #=> String, one of "REGISTERING", "REGISTERED", "DEREGISTERING", "DEREGISTERED", "ERROR"
4074
+ #
3767
4075
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RegisterWorkspaceDirectory AWS API Documentation
3768
4076
  #
3769
4077
  # @overload register_workspace_directory(params = {})
@@ -3908,6 +4216,31 @@ module Aws::WorkSpaces
3908
4216
  req.send_request(options)
3909
4217
  end
3910
4218
 
4219
+ # Starts the specified WorkSpaces pool.
4220
+ #
4221
+ # You cannot start a WorkSpace pool unless it has a running mode of
4222
+ # `AutoStop` and a state of `STOPPED`.
4223
+ #
4224
+ # @option params [required, String] :pool_id
4225
+ # The identifier of the WorkSpaces pool.
4226
+ #
4227
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4228
+ #
4229
+ # @example Request syntax with placeholder values
4230
+ #
4231
+ # resp = client.start_workspaces_pool({
4232
+ # pool_id: "WorkspacesPoolId", # required
4233
+ # })
4234
+ #
4235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StartWorkspacesPool AWS API Documentation
4236
+ #
4237
+ # @overload start_workspaces_pool(params = {})
4238
+ # @param [Hash] params ({})
4239
+ def start_workspaces_pool(params = {}, options = {})
4240
+ req = build_request(:start_workspaces_pool, params)
4241
+ req.send_request(options)
4242
+ end
4243
+
3911
4244
  # Stops the specified WorkSpaces.
3912
4245
  #
3913
4246
  # You cannot stop a WorkSpace unless it has a running mode of `AutoStop`
@@ -3946,6 +4279,32 @@ module Aws::WorkSpaces
3946
4279
  req.send_request(options)
3947
4280
  end
3948
4281
 
4282
+ # Stops the specifiedWorkSpaces pool.
4283
+ #
4284
+ # You cannot stop a WorkSpace pool unless it has a running mode of
4285
+ # `AutoStop` and a state of `AVAILABLE`, `IMPAIRED`, `UNHEALTHY`, or
4286
+ # `ERROR`.
4287
+ #
4288
+ # @option params [required, String] :pool_id
4289
+ # The identifier of the WorkSpaces pool.
4290
+ #
4291
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4292
+ #
4293
+ # @example Request syntax with placeholder values
4294
+ #
4295
+ # resp = client.stop_workspaces_pool({
4296
+ # pool_id: "WorkspacesPoolId", # required
4297
+ # })
4298
+ #
4299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StopWorkspacesPool AWS API Documentation
4300
+ #
4301
+ # @overload stop_workspaces_pool(params = {})
4302
+ # @param [Hash] params ({})
4303
+ def stop_workspaces_pool(params = {}, options = {})
4304
+ req = build_request(:stop_workspaces_pool, params)
4305
+ req.send_request(options)
4306
+ end
4307
+
3949
4308
  # Terminates the specified WorkSpaces.
3950
4309
  #
3951
4310
  # Terminating a WorkSpace is a permanent action and cannot be undone.
@@ -4015,6 +4374,50 @@ module Aws::WorkSpaces
4015
4374
  req.send_request(options)
4016
4375
  end
4017
4376
 
4377
+ # Terminates the specified WorkSpaces pool.
4378
+ #
4379
+ # @option params [required, String] :pool_id
4380
+ # The identifier of the WorkSpaces pool.
4381
+ #
4382
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4383
+ #
4384
+ # @example Request syntax with placeholder values
4385
+ #
4386
+ # resp = client.terminate_workspaces_pool({
4387
+ # pool_id: "WorkspacesPoolId", # required
4388
+ # })
4389
+ #
4390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateWorkspacesPool AWS API Documentation
4391
+ #
4392
+ # @overload terminate_workspaces_pool(params = {})
4393
+ # @param [Hash] params ({})
4394
+ def terminate_workspaces_pool(params = {}, options = {})
4395
+ req = build_request(:terminate_workspaces_pool, params)
4396
+ req.send_request(options)
4397
+ end
4398
+
4399
+ # Terminates the WorkSpaces pool session.
4400
+ #
4401
+ # @option params [required, String] :session_id
4402
+ # The identifier of the WorkSpaces pool session.
4403
+ #
4404
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4405
+ #
4406
+ # @example Request syntax with placeholder values
4407
+ #
4408
+ # resp = client.terminate_workspaces_pool_session({
4409
+ # session_id: "AmazonUuid", # required
4410
+ # })
4411
+ #
4412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateWorkspacesPoolSession AWS API Documentation
4413
+ #
4414
+ # @overload terminate_workspaces_pool_session(params = {})
4415
+ # @param [Hash] params ({})
4416
+ def terminate_workspaces_pool_session(params = {}, options = {})
4417
+ req = build_request(:terminate_workspaces_pool_session, params)
4418
+ req.send_request(options)
4419
+ end
4420
+
4018
4421
  # Updates a Amazon Connect client add-in. Use this action to update the
4019
4422
  # name and endpoint URL of a Amazon Connect client add-in.
4020
4423
  #
@@ -4240,6 +4643,87 @@ module Aws::WorkSpaces
4240
4643
  req.send_request(options)
4241
4644
  end
4242
4645
 
4646
+ # Updates the specified WorkSpaces pool.
4647
+ #
4648
+ # @option params [required, String] :pool_id
4649
+ # The identifier of the specified WorkSpaces pool to update.
4650
+ #
4651
+ # @option params [String] :description
4652
+ # Describes the specified WorkSpaces pool to update.
4653
+ #
4654
+ # @option params [String] :bundle_id
4655
+ # The identifier of the bundle.
4656
+ #
4657
+ # @option params [String] :directory_id
4658
+ # The identifier of the directory.
4659
+ #
4660
+ # @option params [Types::Capacity] :capacity
4661
+ # The desired capacity for the WorkSpaces pool.
4662
+ #
4663
+ # @option params [Types::ApplicationSettingsRequest] :application_settings
4664
+ # The persistent application settings for users in the pool.
4665
+ #
4666
+ # @option params [Types::TimeoutSettings] :timeout_settings
4667
+ # Indicates the timeout settings of the specified WorkSpaces pool.
4668
+ #
4669
+ # @return [Types::UpdateWorkspacesPoolResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4670
+ #
4671
+ # * {Types::UpdateWorkspacesPoolResult#workspaces_pool #workspaces_pool} => Types::WorkspacesPool
4672
+ #
4673
+ # @example Request syntax with placeholder values
4674
+ #
4675
+ # resp = client.update_workspaces_pool({
4676
+ # pool_id: "WorkspacesPoolId", # required
4677
+ # description: "UpdateDescription",
4678
+ # bundle_id: "BundleId",
4679
+ # directory_id: "DirectoryId",
4680
+ # capacity: {
4681
+ # desired_user_sessions: 1, # required
4682
+ # },
4683
+ # application_settings: {
4684
+ # status: "DISABLED", # required, accepts DISABLED, ENABLED
4685
+ # settings_group: "SettingsGroup",
4686
+ # },
4687
+ # timeout_settings: {
4688
+ # disconnect_timeout_in_seconds: 1,
4689
+ # idle_disconnect_timeout_in_seconds: 1,
4690
+ # max_user_duration_in_seconds: 1,
4691
+ # },
4692
+ # })
4693
+ #
4694
+ # @example Response structure
4695
+ #
4696
+ # resp.workspaces_pool.pool_id #=> String
4697
+ # resp.workspaces_pool.pool_arn #=> String
4698
+ # resp.workspaces_pool.capacity_status.available_user_sessions #=> Integer
4699
+ # resp.workspaces_pool.capacity_status.desired_user_sessions #=> Integer
4700
+ # resp.workspaces_pool.capacity_status.actual_user_sessions #=> Integer
4701
+ # resp.workspaces_pool.capacity_status.active_user_sessions #=> Integer
4702
+ # resp.workspaces_pool.pool_name #=> String
4703
+ # resp.workspaces_pool.description #=> String
4704
+ # resp.workspaces_pool.state #=> String, one of "CREATING", "DELETING", "RUNNING", "STARTING", "STOPPED", "STOPPING", "UPDATING"
4705
+ # resp.workspaces_pool.created_at #=> Time
4706
+ # resp.workspaces_pool.bundle_id #=> String
4707
+ # resp.workspaces_pool.directory_id #=> String
4708
+ # resp.workspaces_pool.errors #=> Array
4709
+ # resp.workspaces_pool.errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_IS_MISSING", "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "MACHINE_ROLE_IS_MISSING", "STS_DISABLED_IN_REGION", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION", "SECURITY_GROUPS_NOT_FOUND", "IGW_NOT_ATTACHED", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", "WORKSPACES_POOL_STOPPED", "WORKSPACES_POOL_INSTANCE_PROVISIONING_FAILURE", "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", "DOMAIN_JOIN_ERROR_ACCESS_DENIED", "DOMAIN_JOIN_ERROR_LOGON_FAILURE", "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", "DOMAIN_JOIN_ERROR_MORE_DATA", "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", "DOMAIN_JOIN_ERROR_SECRET_ACTION_PERMISSION_IS_MISSING", "DOMAIN_JOIN_ERROR_SECRET_DECRYPTION_FAILURE", "DOMAIN_JOIN_ERROR_SECRET_STATE_INVALID", "DOMAIN_JOIN_ERROR_SECRET_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_VALUE_KEY_NOT_FOUND", "DOMAIN_JOIN_ERROR_SECRET_INVALID", "BUNDLE_NOT_FOUND", "DIRECTORY_NOT_FOUND", "INSUFFICIENT_PERMISSIONS_ERROR", "DEFAULT_OU_IS_MISSING"
4710
+ # resp.workspaces_pool.errors[0].error_message #=> String
4711
+ # resp.workspaces_pool.application_settings.status #=> String, one of "DISABLED", "ENABLED"
4712
+ # resp.workspaces_pool.application_settings.settings_group #=> String
4713
+ # resp.workspaces_pool.application_settings.s3_bucket_name #=> String
4714
+ # resp.workspaces_pool.timeout_settings.disconnect_timeout_in_seconds #=> Integer
4715
+ # resp.workspaces_pool.timeout_settings.idle_disconnect_timeout_in_seconds #=> Integer
4716
+ # resp.workspaces_pool.timeout_settings.max_user_duration_in_seconds #=> Integer
4717
+ #
4718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspacesPool AWS API Documentation
4719
+ #
4720
+ # @overload update_workspaces_pool(params = {})
4721
+ # @param [Hash] params ({})
4722
+ def update_workspaces_pool(params = {}, options = {})
4723
+ req = build_request(:update_workspaces_pool, params)
4724
+ req.send_request(options)
4725
+ end
4726
+
4243
4727
  # @!endgroup
4244
4728
 
4245
4729
  # @param params ({})
@@ -4253,7 +4737,7 @@ module Aws::WorkSpaces
4253
4737
  params: params,
4254
4738
  config: config)
4255
4739
  context[:gem_name] = 'aws-sdk-workspaces'
4256
- context[:gem_version] = '1.106.0'
4740
+ context[:gem_version] = '1.107.0'
4257
4741
  Seahorse::Client::Request.new(handlers, context)
4258
4742
  end
4259
4743