aws-sdk-workspaces 1.44.0 → 1.45.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fac17d0b167c49bec19e531e40e6a2ab085810a9d35b830cc4ecab3aa837c79
4
- data.tar.gz: f4308faae963abb54234b0c9f8cad2313df2ce59fed271219a17998b6cb92330
3
+ metadata.gz: 01a36cdced3b1651804df88a7742535394b50d96ae58a404f13f4eca8f1d5698
4
+ data.tar.gz: e30a892c2b627d2aef368c3c096a973ecb10c344e0b6a624407883a6008429b7
5
5
  SHA512:
6
- metadata.gz: c1e9ce90af4494d7de57dbc2f85db5a22d4935d565f1c1bf97fae146e2946c0202ce4405735e9398e6fbcf80ae8ac453e66ce012d5f33fd4b3bcc4a73a96b973
7
- data.tar.gz: 9283bc500645f5198d9136ea7a15b3f3c8df9e9e433a0f56751b2c05d8ed2ad55281466f199b83c14a622b6ce5e0581f5e60ebcafd7c7c99036505a19fac5d31
6
+ metadata.gz: edf61f4ae0ec37860dcde375e0c42e0b08a7aec561767fc85e94aa14231de52ea34156cb62d417f12abde3a6978e64281bd6161dead80823759405c44c943a2d
7
+ data.tar.gz: 0a628e7a28a115e28c115de319054faf3c4362893e6da4cc027e8741dd0904a1b30a917a6d4b7e88f90bf5169c7b8d62a016842a8d526d34f02cb44a8cbdb8af
@@ -27,7 +27,7 @@ require_relative 'aws-sdk-workspaces/customizations'
27
27
  # structure.
28
28
  #
29
29
  # work_spaces = Aws::WorkSpaces::Client.new
30
- # resp = work_spaces.associate_ip_groups(params)
30
+ # resp = work_spaces.associate_connection_alias(params)
31
31
  #
32
32
  # See {Client} for more information.
33
33
  #
@@ -47,6 +47,6 @@ require_relative 'aws-sdk-workspaces/customizations'
47
47
  # @!group service
48
48
  module Aws::WorkSpaces
49
49
 
50
- GEM_VERSION = '1.44.0'
50
+ GEM_VERSION = '1.45.0'
51
51
 
52
52
  end
@@ -337,6 +337,52 @@ module Aws::WorkSpaces
337
337
 
338
338
  # @!group API Operations
339
339
 
340
+ # Associates the specified connection alias with the specified directory
341
+ # to enable cross-Region redirection. For more information, see [
342
+ # Cross-Region Redirection for Amazon WorkSpaces][1].
343
+ #
344
+ # <note markdown="1"> Before performing this operation, call [ DescribeConnectionAliases][2]
345
+ # to make sure that the current state of the connection alias is
346
+ # `CREATED`.
347
+ #
348
+ # </note>
349
+ #
350
+ #
351
+ #
352
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
353
+ # [2]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html
354
+ #
355
+ # @option params [required, String] :alias_id
356
+ # The identifier of the connection alias.
357
+ #
358
+ # @option params [required, String] :resource_id
359
+ # The identifier of the directory to associate the connection alias
360
+ # with.
361
+ #
362
+ # @return [Types::AssociateConnectionAliasResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
363
+ #
364
+ # * {Types::AssociateConnectionAliasResult#connection_identifier #connection_identifier} => String
365
+ #
366
+ # @example Request syntax with placeholder values
367
+ #
368
+ # resp = client.associate_connection_alias({
369
+ # alias_id: "ConnectionAliasId", # required
370
+ # resource_id: "NonEmptyString", # required
371
+ # })
372
+ #
373
+ # @example Response structure
374
+ #
375
+ # resp.connection_identifier #=> String
376
+ #
377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAlias AWS API Documentation
378
+ #
379
+ # @overload associate_connection_alias(params = {})
380
+ # @param [Hash] params ({})
381
+ def associate_connection_alias(params = {}, options = {})
382
+ req = build_request(:associate_connection_alias, params)
383
+ req.send_request(options)
384
+ end
385
+
340
386
  # Associates the specified IP access control group with the specified
341
387
  # directory.
342
388
  #
@@ -448,6 +494,56 @@ module Aws::WorkSpaces
448
494
  req.send_request(options)
449
495
  end
450
496
 
497
+ # Creates the specified connection alias for use with cross-Region
498
+ # redirection. For more information, see [ Cross-Region Redirection for
499
+ # Amazon WorkSpaces][1].
500
+ #
501
+ #
502
+ #
503
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
504
+ #
505
+ # @option params [required, String] :connection_string
506
+ # A connection string in the form of a fully qualified domain name
507
+ # (FQDN), such as `www.example.com`.
508
+ #
509
+ # After you create a connection string, it is always associated to your
510
+ # AWS account. You cannot recreate the same connection string with a
511
+ # different account, even if you delete all instances of it from the
512
+ # original account. The connection string is globally reserved for your
513
+ # account.
514
+ #
515
+ # @option params [Array<Types::Tag>] :tags
516
+ # The tags to associate with the connection alias.
517
+ #
518
+ # @return [Types::CreateConnectionAliasResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
519
+ #
520
+ # * {Types::CreateConnectionAliasResult#alias_id #alias_id} => String
521
+ #
522
+ # @example Request syntax with placeholder values
523
+ #
524
+ # resp = client.create_connection_alias({
525
+ # connection_string: "ConnectionString", # required
526
+ # tags: [
527
+ # {
528
+ # key: "TagKey", # required
529
+ # value: "TagValue",
530
+ # },
531
+ # ],
532
+ # })
533
+ #
534
+ # @example Response structure
535
+ #
536
+ # resp.alias_id #=> String
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAlias AWS API Documentation
539
+ #
540
+ # @overload create_connection_alias(params = {})
541
+ # @param [Hash] params ({})
542
+ def create_connection_alias(params = {}, options = {})
543
+ req = build_request(:create_connection_alias, params)
544
+ req.send_request(options)
545
+ end
546
+
451
547
  # Creates an IP access control group.
452
548
  #
453
549
  # An IP access control group provides you with the ability to control
@@ -517,7 +613,7 @@ module Aws::WorkSpaces
517
613
  # @option params [required, String] :resource_id
518
614
  # The identifier of the WorkSpaces resource. The supported resource
519
615
  # types are WorkSpaces, registered directories, images, custom bundles,
520
- # and IP access control groups.
616
+ # IP access control groups, and connection aliases.
521
617
  #
522
618
  # @option params [required, Array<Types::Tag>] :tags
523
619
  # The tags. Each WorkSpaces resource can have a maximum of 50 tags. If
@@ -639,6 +735,49 @@ module Aws::WorkSpaces
639
735
  req.send_request(options)
640
736
  end
641
737
 
738
+ # Deletes the specified connection alias. For more information, see [
739
+ # Cross-Region Redirection for Amazon WorkSpaces][1].
740
+ #
741
+ # **If you will no longer be using a fully qualified domain name (FQDN)
742
+ # as the registration code for your WorkSpaces users, you must take
743
+ # certain precautions to prevent potential security issues.** For more
744
+ # information, see [ Security Considerations if You Stop Using
745
+ # Cross-Region Redirection][2].
746
+ #
747
+ # <note markdown="1"> To delete a connection alias that has been shared, the shared account
748
+ # must first disassociate the connection alias from any directories it
749
+ # has been associated with. Then you must unshare the connection alias
750
+ # from the account it has been shared with. You can delete a connection
751
+ # alias only after it is no longer shared with any accounts or
752
+ # associated with any directories.
753
+ #
754
+ # </note>
755
+ #
756
+ #
757
+ #
758
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
759
+ # [2]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html#cross-region-redirection-security-considerations
760
+ #
761
+ # @option params [required, String] :alias_id
762
+ # The identifier of the connection alias to delete.
763
+ #
764
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
765
+ #
766
+ # @example Request syntax with placeholder values
767
+ #
768
+ # resp = client.delete_connection_alias({
769
+ # alias_id: "ConnectionAliasId", # required
770
+ # })
771
+ #
772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAlias AWS API Documentation
773
+ #
774
+ # @overload delete_connection_alias(params = {})
775
+ # @param [Hash] params ({})
776
+ def delete_connection_alias(params = {}, options = {})
777
+ req = build_request(:delete_connection_alias, params)
778
+ req.send_request(options)
779
+ end
780
+
642
781
  # Deletes the specified IP access control group.
643
782
  #
644
783
  # You cannot delete an IP access control group that is associated with a
@@ -669,7 +808,7 @@ module Aws::WorkSpaces
669
808
  # @option params [required, String] :resource_id
670
809
  # The identifier of the WorkSpaces resource. The supported resource
671
810
  # types are WorkSpaces, registered directories, images, custom bundles,
672
- # and IP access control groups.
811
+ # IP access control groups, and connection aliases.
673
812
  #
674
813
  # @option params [required, Array<String>] :tag_keys
675
814
  # The tag keys.
@@ -835,6 +974,114 @@ module Aws::WorkSpaces
835
974
  req.send_request(options)
836
975
  end
837
976
 
977
+ # Describes the permissions that the owner of a connection alias has
978
+ # granted to another AWS account for the specified connection alias. For
979
+ # more information, see [ Cross-Region Redirection for Amazon
980
+ # WorkSpaces][1].
981
+ #
982
+ #
983
+ #
984
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
985
+ #
986
+ # @option params [required, String] :alias_id
987
+ # The identifier of the connection alias.
988
+ #
989
+ # @option params [String] :next_token
990
+ # If you received a `NextToken` from a previous call that was paginated,
991
+ # provide this token to receive the next set of results.
992
+ #
993
+ # @option params [Integer] :max_results
994
+ # The maximum number of results to return.
995
+ #
996
+ # @return [Types::DescribeConnectionAliasPermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
997
+ #
998
+ # * {Types::DescribeConnectionAliasPermissionsResult#alias_id #alias_id} => String
999
+ # * {Types::DescribeConnectionAliasPermissionsResult#connection_alias_permissions #connection_alias_permissions} => Array&lt;Types::ConnectionAliasPermission&gt;
1000
+ # * {Types::DescribeConnectionAliasPermissionsResult#next_token #next_token} => String
1001
+ #
1002
+ # @example Request syntax with placeholder values
1003
+ #
1004
+ # resp = client.describe_connection_alias_permissions({
1005
+ # alias_id: "ConnectionAliasId", # required
1006
+ # next_token: "PaginationToken",
1007
+ # max_results: 1,
1008
+ # })
1009
+ #
1010
+ # @example Response structure
1011
+ #
1012
+ # resp.alias_id #=> String
1013
+ # resp.connection_alias_permissions #=> Array
1014
+ # resp.connection_alias_permissions[0].shared_account_id #=> String
1015
+ # resp.connection_alias_permissions[0].allow_association #=> Boolean
1016
+ # resp.next_token #=> String
1017
+ #
1018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissions AWS API Documentation
1019
+ #
1020
+ # @overload describe_connection_alias_permissions(params = {})
1021
+ # @param [Hash] params ({})
1022
+ def describe_connection_alias_permissions(params = {}, options = {})
1023
+ req = build_request(:describe_connection_alias_permissions, params)
1024
+ req.send_request(options)
1025
+ end
1026
+
1027
+ # Retrieves a list that describes the connection aliases used for
1028
+ # cross-Region redirection. For more information, see [ Cross-Region
1029
+ # Redirection for Amazon WorkSpaces][1].
1030
+ #
1031
+ #
1032
+ #
1033
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
1034
+ #
1035
+ # @option params [Array<String>] :alias_ids
1036
+ # The identifiers of the connection aliases to describe.
1037
+ #
1038
+ # @option params [String] :resource_id
1039
+ # The identifier of the directory associated with the connection alias.
1040
+ #
1041
+ # @option params [Integer] :limit
1042
+ # The maximum number of connection aliases to return.
1043
+ #
1044
+ # @option params [String] :next_token
1045
+ # If you received a `NextToken` from a previous call that was paginated,
1046
+ # provide this token to receive the next set of results.
1047
+ #
1048
+ # @return [Types::DescribeConnectionAliasesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1049
+ #
1050
+ # * {Types::DescribeConnectionAliasesResult#connection_aliases #connection_aliases} => Array&lt;Types::ConnectionAlias&gt;
1051
+ # * {Types::DescribeConnectionAliasesResult#next_token #next_token} => String
1052
+ #
1053
+ # @example Request syntax with placeholder values
1054
+ #
1055
+ # resp = client.describe_connection_aliases({
1056
+ # alias_ids: ["ConnectionAliasId"],
1057
+ # resource_id: "NonEmptyString",
1058
+ # limit: 1,
1059
+ # next_token: "PaginationToken",
1060
+ # })
1061
+ #
1062
+ # @example Response structure
1063
+ #
1064
+ # resp.connection_aliases #=> Array
1065
+ # resp.connection_aliases[0].connection_string #=> String
1066
+ # resp.connection_aliases[0].alias_id #=> String
1067
+ # resp.connection_aliases[0].state #=> String, one of "CREATING", "CREATED", "DELETING"
1068
+ # resp.connection_aliases[0].owner_account_id #=> String
1069
+ # resp.connection_aliases[0].associations #=> Array
1070
+ # resp.connection_aliases[0].associations[0].association_status #=> String, one of "NOT_ASSOCIATED", "ASSOCIATED_WITH_OWNER_ACCOUNT", "ASSOCIATED_WITH_SHARED_ACCOUNT", "PENDING_ASSOCIATION", "PENDING_DISASSOCIATION"
1071
+ # resp.connection_aliases[0].associations[0].associated_account_id #=> String
1072
+ # resp.connection_aliases[0].associations[0].resource_id #=> String
1073
+ # resp.connection_aliases[0].associations[0].connection_identifier #=> String
1074
+ # resp.next_token #=> String
1075
+ #
1076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliases AWS API Documentation
1077
+ #
1078
+ # @overload describe_connection_aliases(params = {})
1079
+ # @param [Hash] params ({})
1080
+ def describe_connection_aliases(params = {}, options = {})
1081
+ req = build_request(:describe_connection_aliases, params)
1082
+ req.send_request(options)
1083
+ end
1084
+
838
1085
  # Describes one or more of your IP access control groups.
839
1086
  #
840
1087
  # @option params [Array<String>] :group_ids
@@ -885,7 +1132,7 @@ module Aws::WorkSpaces
885
1132
  # @option params [required, String] :resource_id
886
1133
  # The identifier of the WorkSpaces resource. The supported resource
887
1134
  # types are WorkSpaces, registered directories, images, custom bundles,
888
- # and IP access control groups.
1135
+ # IP access control groups, and connection aliases.
889
1136
  #
890
1137
  # @return [Types::DescribeTagsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
891
1138
  #
@@ -1304,6 +1551,42 @@ module Aws::WorkSpaces
1304
1551
  req.send_request(options)
1305
1552
  end
1306
1553
 
1554
+ # Disassociates a connection alias from a directory. Disassociating a
1555
+ # connection alias disables cross-Region redirection between two
1556
+ # directories in different AWS Regions. For more information, see [
1557
+ # Cross-Region Redirection for Amazon WorkSpaces][1].
1558
+ #
1559
+ # <note markdown="1"> Before performing this operation, call [ DescribeConnectionAliases][2]
1560
+ # to make sure that the current state of the connection alias is
1561
+ # `CREATED`.
1562
+ #
1563
+ # </note>
1564
+ #
1565
+ #
1566
+ #
1567
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
1568
+ # [2]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html
1569
+ #
1570
+ # @option params [required, String] :alias_id
1571
+ # The identifier of the connection alias to disassociate.
1572
+ #
1573
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1574
+ #
1575
+ # @example Request syntax with placeholder values
1576
+ #
1577
+ # resp = client.disassociate_connection_alias({
1578
+ # alias_id: "ConnectionAliasId", # required
1579
+ # })
1580
+ #
1581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAlias AWS API Documentation
1582
+ #
1583
+ # @overload disassociate_connection_alias(params = {})
1584
+ # @param [Hash] params ({})
1585
+ def disassociate_connection_alias(params = {}, options = {})
1586
+ req = build_request(:disassociate_connection_alias, params)
1587
+ req.send_request(options)
1588
+ end
1589
+
1307
1590
  # Disassociates the specified IP access control group from the specified
1308
1591
  # directory.
1309
1592
  #
@@ -1332,8 +1615,8 @@ module Aws::WorkSpaces
1332
1615
  end
1333
1616
 
1334
1617
  # Imports the specified Windows 10 Bring Your Own License (BYOL) image
1335
- # into Amazon WorkSpaces. The image must be an already licensed EC2
1336
- # image that is in your AWS account, and you must own the image. For
1618
+ # into Amazon WorkSpaces. The image must be an already licensed Amazon
1619
+ # EC2 image that is in your AWS account, and you must own the image. For
1337
1620
  # more information about creating BYOL images, see [ Bring Your Own
1338
1621
  # Windows Desktop Licenses][1].
1339
1622
  #
@@ -2097,6 +2380,61 @@ module Aws::WorkSpaces
2097
2380
  req.send_request(options)
2098
2381
  end
2099
2382
 
2383
+ # Shares or unshares a connection alias with one account by specifying
2384
+ # whether that account has permission to associate the connection alias
2385
+ # with a directory. If the association permission is granted, the
2386
+ # connection alias is shared with that account. If the association
2387
+ # permission is revoked, the connection alias is unshared with the
2388
+ # account. For more information, see [ Cross-Region Redirection for
2389
+ # Amazon WorkSpaces][1].
2390
+ #
2391
+ # <note markdown="1"> * Before performing this operation, call [
2392
+ # DescribeConnectionAliases][2] to make sure that the current state of
2393
+ # the connection alias is `CREATED`.
2394
+ #
2395
+ # * To delete a connection alias that has been shared, the shared
2396
+ # account must first disassociate the connection alias from any
2397
+ # directories it has been associated with. Then you must unshare the
2398
+ # connection alias from the account it has been shared with. You can
2399
+ # delete a connection alias only after it is no longer shared with any
2400
+ # accounts or associated with any directories.
2401
+ #
2402
+ # </note>
2403
+ #
2404
+ #
2405
+ #
2406
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
2407
+ # [2]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html
2408
+ #
2409
+ # @option params [required, String] :alias_id
2410
+ # The identifier of the connection alias that you want to update
2411
+ # permissions for.
2412
+ #
2413
+ # @option params [required, Types::ConnectionAliasPermission] :connection_alias_permission
2414
+ # Indicates whether to share or unshare the connection alias with the
2415
+ # specified AWS account.
2416
+ #
2417
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2418
+ #
2419
+ # @example Request syntax with placeholder values
2420
+ #
2421
+ # resp = client.update_connection_alias_permission({
2422
+ # alias_id: "ConnectionAliasId", # required
2423
+ # connection_alias_permission: { # required
2424
+ # shared_account_id: "AwsAccount", # required
2425
+ # allow_association: false, # required
2426
+ # },
2427
+ # })
2428
+ #
2429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermission AWS API Documentation
2430
+ #
2431
+ # @overload update_connection_alias_permission(params = {})
2432
+ # @param [Hash] params ({})
2433
+ def update_connection_alias_permission(params = {}, options = {})
2434
+ req = build_request(:update_connection_alias_permission, params)
2435
+ req.send_request(options)
2436
+ end
2437
+
2100
2438
  # Replaces the current rules of the specified IP access control group
2101
2439
  # with the specified rules.
2102
2440
  #
@@ -2187,7 +2525,7 @@ module Aws::WorkSpaces
2187
2525
  params: params,
2188
2526
  config: config)
2189
2527
  context[:gem_name] = 'aws-sdk-workspaces'
2190
- context[:gem_version] = '1.44.0'
2528
+ context[:gem_version] = '1.45.0'
2191
2529
  Seahorse::Client::Request.new(handlers, context)
2192
2530
  end
2193
2531
 
@@ -21,8 +21,11 @@ module Aws::WorkSpaces
21
21
  Alias = Shapes::StringShape.new(name: 'Alias')
22
22
  Application = Shapes::StringShape.new(name: 'Application')
23
23
  ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
24
+ AssociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'AssociateConnectionAliasRequest')
25
+ AssociateConnectionAliasResult = Shapes::StructureShape.new(name: 'AssociateConnectionAliasResult')
24
26
  AssociateIpGroupsRequest = Shapes::StructureShape.new(name: 'AssociateIpGroupsRequest')
25
27
  AssociateIpGroupsResult = Shapes::StructureShape.new(name: 'AssociateIpGroupsResult')
28
+ AssociationStatus = Shapes::StringShape.new(name: 'AssociationStatus')
26
29
  AuthorizeIpRulesRequest = Shapes::StructureShape.new(name: 'AuthorizeIpRulesRequest')
27
30
  AuthorizeIpRulesResult = Shapes::StructureShape.new(name: 'AuthorizeIpRulesResult')
28
31
  AwsAccount = Shapes::StringShape.new(name: 'AwsAccount')
@@ -37,9 +40,22 @@ module Aws::WorkSpaces
37
40
  Compute = Shapes::StringShape.new(name: 'Compute')
38
41
  ComputeType = Shapes::StructureShape.new(name: 'ComputeType')
39
42
  ComputerName = Shapes::StringShape.new(name: 'ComputerName')
43
+ ConnectionAlias = Shapes::StructureShape.new(name: 'ConnectionAlias')
44
+ ConnectionAliasAssociation = Shapes::StructureShape.new(name: 'ConnectionAliasAssociation')
45
+ ConnectionAliasAssociationList = Shapes::ListShape.new(name: 'ConnectionAliasAssociationList')
46
+ ConnectionAliasId = Shapes::StringShape.new(name: 'ConnectionAliasId')
47
+ ConnectionAliasIdList = Shapes::ListShape.new(name: 'ConnectionAliasIdList')
48
+ ConnectionAliasList = Shapes::ListShape.new(name: 'ConnectionAliasList')
49
+ ConnectionAliasPermission = Shapes::StructureShape.new(name: 'ConnectionAliasPermission')
50
+ ConnectionAliasPermissions = Shapes::ListShape.new(name: 'ConnectionAliasPermissions')
51
+ ConnectionAliasState = Shapes::StringShape.new(name: 'ConnectionAliasState')
52
+ ConnectionIdentifier = Shapes::StringShape.new(name: 'ConnectionIdentifier')
40
53
  ConnectionState = Shapes::StringShape.new(name: 'ConnectionState')
54
+ ConnectionString = Shapes::StringShape.new(name: 'ConnectionString')
41
55
  CopyWorkspaceImageRequest = Shapes::StructureShape.new(name: 'CopyWorkspaceImageRequest')
42
56
  CopyWorkspaceImageResult = Shapes::StructureShape.new(name: 'CopyWorkspaceImageResult')
57
+ CreateConnectionAliasRequest = Shapes::StructureShape.new(name: 'CreateConnectionAliasRequest')
58
+ CreateConnectionAliasResult = Shapes::StructureShape.new(name: 'CreateConnectionAliasResult')
43
59
  CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
44
60
  CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
45
61
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
@@ -53,6 +69,8 @@ module Aws::WorkSpaces
53
69
  DedicatedTenancySupportResultEnum = Shapes::StringShape.new(name: 'DedicatedTenancySupportResultEnum')
54
70
  DefaultOu = Shapes::StringShape.new(name: 'DefaultOu')
55
71
  DefaultWorkspaceCreationProperties = Shapes::StructureShape.new(name: 'DefaultWorkspaceCreationProperties')
72
+ DeleteConnectionAliasRequest = Shapes::StructureShape.new(name: 'DeleteConnectionAliasRequest')
73
+ DeleteConnectionAliasResult = Shapes::StructureShape.new(name: 'DeleteConnectionAliasResult')
56
74
  DeleteIpGroupRequest = Shapes::StructureShape.new(name: 'DeleteIpGroupRequest')
57
75
  DeleteIpGroupResult = Shapes::StructureShape.new(name: 'DeleteIpGroupResult')
58
76
  DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
@@ -67,6 +85,10 @@ module Aws::WorkSpaces
67
85
  DescribeAccountResult = Shapes::StructureShape.new(name: 'DescribeAccountResult')
68
86
  DescribeClientPropertiesRequest = Shapes::StructureShape.new(name: 'DescribeClientPropertiesRequest')
69
87
  DescribeClientPropertiesResult = Shapes::StructureShape.new(name: 'DescribeClientPropertiesResult')
88
+ DescribeConnectionAliasPermissionsRequest = Shapes::StructureShape.new(name: 'DescribeConnectionAliasPermissionsRequest')
89
+ DescribeConnectionAliasPermissionsResult = Shapes::StructureShape.new(name: 'DescribeConnectionAliasPermissionsResult')
90
+ DescribeConnectionAliasesRequest = Shapes::StructureShape.new(name: 'DescribeConnectionAliasesRequest')
91
+ DescribeConnectionAliasesResult = Shapes::StructureShape.new(name: 'DescribeConnectionAliasesResult')
70
92
  DescribeIpGroupsRequest = Shapes::StructureShape.new(name: 'DescribeIpGroupsRequest')
71
93
  DescribeIpGroupsResult = Shapes::StructureShape.new(name: 'DescribeIpGroupsResult')
72
94
  DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
@@ -90,6 +112,8 @@ module Aws::WorkSpaces
90
112
  DirectoryIdList = Shapes::ListShape.new(name: 'DirectoryIdList')
91
113
  DirectoryList = Shapes::ListShape.new(name: 'DirectoryList')
92
114
  DirectoryName = Shapes::StringShape.new(name: 'DirectoryName')
115
+ DisassociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasRequest')
116
+ DisassociateConnectionAliasResult = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasResult')
93
117
  DisassociateIpGroupsRequest = Shapes::StructureShape.new(name: 'DisassociateIpGroupsRequest')
94
118
  DisassociateIpGroupsResult = Shapes::StructureShape.new(name: 'DisassociateIpGroupsResult')
95
119
  DnsIpAddresses = Shapes::ListShape.new(name: 'DnsIpAddresses')
@@ -208,6 +232,8 @@ module Aws::WorkSpaces
208
232
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
209
233
  UnsupportedNetworkConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedNetworkConfigurationException')
210
234
  UnsupportedWorkspaceConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedWorkspaceConfigurationException')
235
+ UpdateConnectionAliasPermissionRequest = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionRequest')
236
+ UpdateConnectionAliasPermissionResult = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionResult')
211
237
  UpdateRulesOfIpGroupRequest = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupRequest')
212
238
  UpdateRulesOfIpGroupResult = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupResult')
213
239
  UpdateWorkspaceImagePermissionRequest = Shapes::StructureShape.new(name: 'UpdateWorkspaceImagePermissionRequest')
@@ -262,6 +288,13 @@ module Aws::WorkSpaces
262
288
 
263
289
  ApplicationList.member = Shapes::ShapeRef.new(shape: Application)
264
290
 
291
+ AssociateConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
292
+ AssociateConnectionAliasRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
293
+ AssociateConnectionAliasRequest.struct_class = Types::AssociateConnectionAliasRequest
294
+
295
+ AssociateConnectionAliasResult.add_member(:connection_identifier, Shapes::ShapeRef.new(shape: ConnectionIdentifier, location_name: "ConnectionIdentifier"))
296
+ AssociateConnectionAliasResult.struct_class = Types::AssociateConnectionAliasResult
297
+
265
298
  AssociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
266
299
  AssociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
267
300
  AssociateIpGroupsRequest.struct_class = Types::AssociateIpGroupsRequest
@@ -290,6 +323,31 @@ module Aws::WorkSpaces
290
323
  ComputeType.add_member(:name, Shapes::ShapeRef.new(shape: Compute, location_name: "Name"))
291
324
  ComputeType.struct_class = Types::ComputeType
292
325
 
326
+ ConnectionAlias.add_member(:connection_string, Shapes::ShapeRef.new(shape: ConnectionString, location_name: "ConnectionString"))
327
+ ConnectionAlias.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
328
+ ConnectionAlias.add_member(:state, Shapes::ShapeRef.new(shape: ConnectionAliasState, location_name: "State"))
329
+ ConnectionAlias.add_member(:owner_account_id, Shapes::ShapeRef.new(shape: AwsAccount, location_name: "OwnerAccountId"))
330
+ ConnectionAlias.add_member(:associations, Shapes::ShapeRef.new(shape: ConnectionAliasAssociationList, location_name: "Associations"))
331
+ ConnectionAlias.struct_class = Types::ConnectionAlias
332
+
333
+ ConnectionAliasAssociation.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "AssociationStatus"))
334
+ ConnectionAliasAssociation.add_member(:associated_account_id, Shapes::ShapeRef.new(shape: AwsAccount, location_name: "AssociatedAccountId"))
335
+ ConnectionAliasAssociation.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceId"))
336
+ ConnectionAliasAssociation.add_member(:connection_identifier, Shapes::ShapeRef.new(shape: ConnectionIdentifier, location_name: "ConnectionIdentifier"))
337
+ ConnectionAliasAssociation.struct_class = Types::ConnectionAliasAssociation
338
+
339
+ ConnectionAliasAssociationList.member = Shapes::ShapeRef.new(shape: ConnectionAliasAssociation)
340
+
341
+ ConnectionAliasIdList.member = Shapes::ShapeRef.new(shape: ConnectionAliasId)
342
+
343
+ ConnectionAliasList.member = Shapes::ShapeRef.new(shape: ConnectionAlias)
344
+
345
+ ConnectionAliasPermission.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccount, required: true, location_name: "SharedAccountId"))
346
+ ConnectionAliasPermission.add_member(:allow_association, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "AllowAssociation"))
347
+ ConnectionAliasPermission.struct_class = Types::ConnectionAliasPermission
348
+
349
+ ConnectionAliasPermissions.member = Shapes::ShapeRef.new(shape: ConnectionAliasPermission)
350
+
293
351
  CopyWorkspaceImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: WorkspaceImageName, required: true, location_name: "Name"))
294
352
  CopyWorkspaceImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: WorkspaceImageDescription, location_name: "Description"))
295
353
  CopyWorkspaceImageRequest.add_member(:source_image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, required: true, location_name: "SourceImageId"))
@@ -300,6 +358,13 @@ module Aws::WorkSpaces
300
358
  CopyWorkspaceImageResult.add_member(:image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, location_name: "ImageId"))
301
359
  CopyWorkspaceImageResult.struct_class = Types::CopyWorkspaceImageResult
302
360
 
361
+ CreateConnectionAliasRequest.add_member(:connection_string, Shapes::ShapeRef.new(shape: ConnectionString, required: true, location_name: "ConnectionString"))
362
+ CreateConnectionAliasRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
363
+ CreateConnectionAliasRequest.struct_class = Types::CreateConnectionAliasRequest
364
+
365
+ CreateConnectionAliasResult.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
366
+ CreateConnectionAliasResult.struct_class = Types::CreateConnectionAliasResult
367
+
303
368
  CreateIpGroupRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, required: true, location_name: "GroupName"))
304
369
  CreateIpGroupRequest.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "GroupDesc"))
305
370
  CreateIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "UserRules"))
@@ -332,6 +397,11 @@ module Aws::WorkSpaces
332
397
  DefaultWorkspaceCreationProperties.add_member(:enable_maintenance_mode, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableMaintenanceMode"))
333
398
  DefaultWorkspaceCreationProperties.struct_class = Types::DefaultWorkspaceCreationProperties
334
399
 
400
+ DeleteConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
401
+ DeleteConnectionAliasRequest.struct_class = Types::DeleteConnectionAliasRequest
402
+
403
+ DeleteConnectionAliasResult.struct_class = Types::DeleteConnectionAliasResult
404
+
335
405
  DeleteIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
336
406
  DeleteIpGroupRequest.struct_class = Types::DeleteIpGroupRequest
337
407
 
@@ -372,6 +442,26 @@ module Aws::WorkSpaces
372
442
  DescribeClientPropertiesResult.add_member(:client_properties_list, Shapes::ShapeRef.new(shape: ClientPropertiesList, location_name: "ClientPropertiesList"))
373
443
  DescribeClientPropertiesResult.struct_class = Types::DescribeClientPropertiesResult
374
444
 
445
+ DescribeConnectionAliasPermissionsRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
446
+ DescribeConnectionAliasPermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
447
+ DescribeConnectionAliasPermissionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
448
+ DescribeConnectionAliasPermissionsRequest.struct_class = Types::DescribeConnectionAliasPermissionsRequest
449
+
450
+ DescribeConnectionAliasPermissionsResult.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
451
+ DescribeConnectionAliasPermissionsResult.add_member(:connection_alias_permissions, Shapes::ShapeRef.new(shape: ConnectionAliasPermissions, location_name: "ConnectionAliasPermissions"))
452
+ DescribeConnectionAliasPermissionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
453
+ DescribeConnectionAliasPermissionsResult.struct_class = Types::DescribeConnectionAliasPermissionsResult
454
+
455
+ DescribeConnectionAliasesRequest.add_member(:alias_ids, Shapes::ShapeRef.new(shape: ConnectionAliasIdList, location_name: "AliasIds"))
456
+ DescribeConnectionAliasesRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceId"))
457
+ DescribeConnectionAliasesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
458
+ DescribeConnectionAliasesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
459
+ DescribeConnectionAliasesRequest.struct_class = Types::DescribeConnectionAliasesRequest
460
+
461
+ DescribeConnectionAliasesResult.add_member(:connection_aliases, Shapes::ShapeRef.new(shape: ConnectionAliasList, location_name: "ConnectionAliases"))
462
+ DescribeConnectionAliasesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
463
+ DescribeConnectionAliasesResult.struct_class = Types::DescribeConnectionAliasesResult
464
+
375
465
  DescribeIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, location_name: "GroupIds"))
376
466
  DescribeIpGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
377
467
  DescribeIpGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
@@ -456,6 +546,11 @@ module Aws::WorkSpaces
456
546
 
457
547
  DirectoryList.member = Shapes::ShapeRef.new(shape: WorkspaceDirectory)
458
548
 
549
+ DisassociateConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
550
+ DisassociateConnectionAliasRequest.struct_class = Types::DisassociateConnectionAliasRequest
551
+
552
+ DisassociateConnectionAliasResult.struct_class = Types::DisassociateConnectionAliasResult
553
+
459
554
  DisassociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
460
555
  DisassociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
461
556
  DisassociateIpGroupsRequest.struct_class = Types::DisassociateIpGroupsRequest
@@ -721,6 +816,12 @@ module Aws::WorkSpaces
721
816
  UnsupportedWorkspaceConfigurationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
722
817
  UnsupportedWorkspaceConfigurationException.struct_class = Types::UnsupportedWorkspaceConfigurationException
723
818
 
819
+ UpdateConnectionAliasPermissionRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
820
+ UpdateConnectionAliasPermissionRequest.add_member(:connection_alias_permission, Shapes::ShapeRef.new(shape: ConnectionAliasPermission, required: true, location_name: "ConnectionAliasPermission"))
821
+ UpdateConnectionAliasPermissionRequest.struct_class = Types::UpdateConnectionAliasPermissionRequest
822
+
823
+ UpdateConnectionAliasPermissionResult.struct_class = Types::UpdateConnectionAliasPermissionResult
824
+
724
825
  UpdateRulesOfIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
725
826
  UpdateRulesOfIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, required: true, location_name: "UserRules"))
726
827
  UpdateRulesOfIpGroupRequest.struct_class = Types::UpdateRulesOfIpGroupRequest
@@ -876,6 +977,20 @@ module Aws::WorkSpaces
876
977
  "uid" => "workspaces-2015-04-08",
877
978
  }
878
979
 
980
+ api.add_operation(:associate_connection_alias, Seahorse::Model::Operation.new.tap do |o|
981
+ o.name = "AssociateConnectionAlias"
982
+ o.http_method = "POST"
983
+ o.http_request_uri = "/"
984
+ o.input = Shapes::ShapeRef.new(shape: AssociateConnectionAliasRequest)
985
+ o.output = Shapes::ShapeRef.new(shape: AssociateConnectionAliasResult)
986
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
987
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
988
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
989
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
990
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
991
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
992
+ end)
993
+
879
994
  api.add_operation(:associate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
880
995
  o.name = "AssociateIpGroups"
881
996
  o.http_method = "POST"
@@ -918,6 +1033,20 @@ module Aws::WorkSpaces
918
1033
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
919
1034
  end)
920
1035
 
1036
+ api.add_operation(:create_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1037
+ o.name = "CreateConnectionAlias"
1038
+ o.http_method = "POST"
1039
+ o.http_request_uri = "/"
1040
+ o.input = Shapes::ShapeRef.new(shape: CreateConnectionAliasRequest)
1041
+ o.output = Shapes::ShapeRef.new(shape: CreateConnectionAliasResult)
1042
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
1043
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1044
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1045
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
1046
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1047
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1048
+ end)
1049
+
921
1050
  api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
922
1051
  o.name = "CreateIpGroup"
923
1052
  o.http_method = "POST"
@@ -952,6 +1081,20 @@ module Aws::WorkSpaces
952
1081
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
953
1082
  end)
954
1083
 
1084
+ api.add_operation(:delete_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1085
+ o.name = "DeleteConnectionAlias"
1086
+ o.http_method = "POST"
1087
+ o.http_request_uri = "/"
1088
+ o.input = Shapes::ShapeRef.new(shape: DeleteConnectionAliasRequest)
1089
+ o.output = Shapes::ShapeRef.new(shape: DeleteConnectionAliasResult)
1090
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1091
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
1092
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1093
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1094
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1095
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1096
+ end)
1097
+
955
1098
  api.add_operation(:delete_ip_group, Seahorse::Model::Operation.new.tap do |o|
956
1099
  o.name = "DeleteIpGroup"
957
1100
  o.http_method = "POST"
@@ -1027,6 +1170,29 @@ module Aws::WorkSpaces
1027
1170
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1028
1171
  end)
1029
1172
 
1173
+ api.add_operation(:describe_connection_alias_permissions, Seahorse::Model::Operation.new.tap do |o|
1174
+ o.name = "DescribeConnectionAliasPermissions"
1175
+ o.http_method = "POST"
1176
+ o.http_request_uri = "/"
1177
+ o.input = Shapes::ShapeRef.new(shape: DescribeConnectionAliasPermissionsRequest)
1178
+ o.output = Shapes::ShapeRef.new(shape: DescribeConnectionAliasPermissionsResult)
1179
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1180
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1181
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1182
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1183
+ end)
1184
+
1185
+ api.add_operation(:describe_connection_aliases, Seahorse::Model::Operation.new.tap do |o|
1186
+ o.name = "DescribeConnectionAliases"
1187
+ o.http_method = "POST"
1188
+ o.http_request_uri = "/"
1189
+ o.input = Shapes::ShapeRef.new(shape: DescribeConnectionAliasesRequest)
1190
+ o.output = Shapes::ShapeRef.new(shape: DescribeConnectionAliasesResult)
1191
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1192
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1193
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1194
+ end)
1195
+
1030
1196
  api.add_operation(:describe_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1031
1197
  o.name = "DescribeIpGroups"
1032
1198
  o.http_method = "POST"
@@ -1130,6 +1296,19 @@ module Aws::WorkSpaces
1130
1296
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1131
1297
  end)
1132
1298
 
1299
+ api.add_operation(:disassociate_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1300
+ o.name = "DisassociateConnectionAlias"
1301
+ o.http_method = "POST"
1302
+ o.http_request_uri = "/"
1303
+ o.input = Shapes::ShapeRef.new(shape: DisassociateConnectionAliasRequest)
1304
+ o.output = Shapes::ShapeRef.new(shape: DisassociateConnectionAliasResult)
1305
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1306
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1307
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1308
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1309
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1310
+ end)
1311
+
1133
1312
  api.add_operation(:disassociate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1134
1313
  o.name = "DisassociateIpGroups"
1135
1314
  o.http_method = "POST"
@@ -1342,6 +1521,21 @@ module Aws::WorkSpaces
1342
1521
  o.output = Shapes::ShapeRef.new(shape: TerminateWorkspacesResult)
1343
1522
  end)
1344
1523
 
1524
+ api.add_operation(:update_connection_alias_permission, Seahorse::Model::Operation.new.tap do |o|
1525
+ o.name = "UpdateConnectionAliasPermission"
1526
+ o.http_method = "POST"
1527
+ o.http_request_uri = "/"
1528
+ o.input = Shapes::ShapeRef.new(shape: UpdateConnectionAliasPermissionRequest)
1529
+ o.output = Shapes::ShapeRef.new(shape: UpdateConnectionAliasPermissionResult)
1530
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1531
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1532
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
1533
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1534
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
1535
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1536
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1537
+ end)
1538
+
1345
1539
  api.add_operation(:update_rules_of_ip_group, Seahorse::Model::Operation.new.tap do |o|
1346
1540
  o.name = "UpdateRulesOfIpGroup"
1347
1541
  o.http_method = "POST"
@@ -67,6 +67,46 @@ module Aws::WorkSpaces
67
67
  include Aws::Structure
68
68
  end
69
69
 
70
+ # @note When making an API call, you may pass AssociateConnectionAliasRequest
71
+ # data as a hash:
72
+ #
73
+ # {
74
+ # alias_id: "ConnectionAliasId", # required
75
+ # resource_id: "NonEmptyString", # required
76
+ # }
77
+ #
78
+ # @!attribute [rw] alias_id
79
+ # The identifier of the connection alias.
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] resource_id
83
+ # The identifier of the directory to associate the connection alias
84
+ # with.
85
+ # @return [String]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAliasRequest AWS API Documentation
88
+ #
89
+ class AssociateConnectionAliasRequest < Struct.new(
90
+ :alias_id,
91
+ :resource_id)
92
+ SENSITIVE = []
93
+ include Aws::Structure
94
+ end
95
+
96
+ # @!attribute [rw] connection_identifier
97
+ # The identifier of the connection alias association. You use the
98
+ # connection identifier in the DNS TXT record when you're configuring
99
+ # your DNS routing policies.
100
+ # @return [String]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAliasResult AWS API Documentation
103
+ #
104
+ class AssociateConnectionAliasResult < Struct.new(
105
+ :connection_identifier)
106
+ SENSITIVE = []
107
+ include Aws::Structure
108
+ end
109
+
70
110
  # @note When making an API call, you may pass AssociateIpGroupsRequest
71
111
  # data as a hash:
72
112
  #
@@ -186,6 +226,121 @@ module Aws::WorkSpaces
186
226
  include Aws::Structure
187
227
  end
188
228
 
229
+ # Describes a connection alias. Connection aliases are used for
230
+ # cross-Region redirection. For more information, see [ Cross-Region
231
+ # Redirection for Amazon WorkSpaces][1].
232
+ #
233
+ #
234
+ #
235
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
236
+ #
237
+ # @!attribute [rw] connection_string
238
+ # The connection string specified for the connection alias. The
239
+ # connection string must be in the form of a fully qualified domain
240
+ # name (FQDN), such as `www.example.com`.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] alias_id
244
+ # The identifier of the connection alias.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] state
248
+ # The current state of the connection alias.
249
+ # @return [String]
250
+ #
251
+ # @!attribute [rw] owner_account_id
252
+ # The identifier of the AWS account that owns the connection alias.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] associations
256
+ # The association status of the connection alias.
257
+ # @return [Array<Types::ConnectionAliasAssociation>]
258
+ #
259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAlias AWS API Documentation
260
+ #
261
+ class ConnectionAlias < Struct.new(
262
+ :connection_string,
263
+ :alias_id,
264
+ :state,
265
+ :owner_account_id,
266
+ :associations)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
271
+ # Describes a connection alias association that is used for cross-Region
272
+ # redirection. For more information, see [ Cross-Region Redirection for
273
+ # Amazon WorkSpaces][1].
274
+ #
275
+ #
276
+ #
277
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
278
+ #
279
+ # @!attribute [rw] association_status
280
+ # The association status of the connection alias.
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] associated_account_id
284
+ # The identifier of the AWS account that associated the connection
285
+ # alias with a directory.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] resource_id
289
+ # The identifier of the directory associated with a connection alias.
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] connection_identifier
293
+ # The identifier of the connection alias association. You use the
294
+ # connection identifier in the DNS TXT record when you're configuring
295
+ # your DNS routing policies.
296
+ # @return [String]
297
+ #
298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAliasAssociation AWS API Documentation
299
+ #
300
+ class ConnectionAliasAssociation < Struct.new(
301
+ :association_status,
302
+ :associated_account_id,
303
+ :resource_id,
304
+ :connection_identifier)
305
+ SENSITIVE = []
306
+ include Aws::Structure
307
+ end
308
+
309
+ # Describes the permissions for a connection alias. Connection aliases
310
+ # are used for cross-Region redirection. For more information, see [
311
+ # Cross-Region Redirection for Amazon WorkSpaces][1].
312
+ #
313
+ #
314
+ #
315
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
316
+ #
317
+ # @note When making an API call, you may pass ConnectionAliasPermission
318
+ # data as a hash:
319
+ #
320
+ # {
321
+ # shared_account_id: "AwsAccount", # required
322
+ # allow_association: false, # required
323
+ # }
324
+ #
325
+ # @!attribute [rw] shared_account_id
326
+ # The identifier of the AWS account that the connection alias is
327
+ # shared with.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] allow_association
331
+ # Indicates whether the specified AWS account is allowed to associate
332
+ # the connection alias with a directory.
333
+ # @return [Boolean]
334
+ #
335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAliasPermission AWS API Documentation
336
+ #
337
+ class ConnectionAliasPermission < Struct.new(
338
+ :shared_account_id,
339
+ :allow_association)
340
+ SENSITIVE = []
341
+ include Aws::Structure
342
+ end
343
+
189
344
  # @note When making an API call, you may pass CopyWorkspaceImageRequest
190
345
  # data as a hash:
191
346
  #
@@ -246,6 +401,55 @@ module Aws::WorkSpaces
246
401
  include Aws::Structure
247
402
  end
248
403
 
404
+ # @note When making an API call, you may pass CreateConnectionAliasRequest
405
+ # data as a hash:
406
+ #
407
+ # {
408
+ # connection_string: "ConnectionString", # required
409
+ # tags: [
410
+ # {
411
+ # key: "TagKey", # required
412
+ # value: "TagValue",
413
+ # },
414
+ # ],
415
+ # }
416
+ #
417
+ # @!attribute [rw] connection_string
418
+ # A connection string in the form of a fully qualified domain name
419
+ # (FQDN), such as `www.example.com`.
420
+ #
421
+ # After you create a connection string, it is always associated to
422
+ # your AWS account. You cannot recreate the same connection string
423
+ # with a different account, even if you delete all instances of it
424
+ # from the original account. The connection string is globally
425
+ # reserved for your account.
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] tags
429
+ # The tags to associate with the connection alias.
430
+ # @return [Array<Types::Tag>]
431
+ #
432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAliasRequest AWS API Documentation
433
+ #
434
+ class CreateConnectionAliasRequest < Struct.new(
435
+ :connection_string,
436
+ :tags)
437
+ SENSITIVE = []
438
+ include Aws::Structure
439
+ end
440
+
441
+ # @!attribute [rw] alias_id
442
+ # The identifier of the connection alias.
443
+ # @return [String]
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAliasResult AWS API Documentation
446
+ #
447
+ class CreateConnectionAliasResult < Struct.new(
448
+ :alias_id)
449
+ SENSITIVE = []
450
+ include Aws::Structure
451
+ end
452
+
249
453
  # @note When making an API call, you may pass CreateIpGroupRequest
250
454
  # data as a hash:
251
455
  #
@@ -321,7 +525,7 @@ module Aws::WorkSpaces
321
525
  # @!attribute [rw] resource_id
322
526
  # The identifier of the WorkSpaces resource. The supported resource
323
527
  # types are WorkSpaces, registered directories, images, custom
324
- # bundles, and IP access control groups.
528
+ # bundles, IP access control groups, and connection aliases.
325
529
  # @return [String]
326
530
  #
327
531
  # @!attribute [rw] tags
@@ -478,6 +682,29 @@ module Aws::WorkSpaces
478
682
  include Aws::Structure
479
683
  end
480
684
 
685
+ # @note When making an API call, you may pass DeleteConnectionAliasRequest
686
+ # data as a hash:
687
+ #
688
+ # {
689
+ # alias_id: "ConnectionAliasId", # required
690
+ # }
691
+ #
692
+ # @!attribute [rw] alias_id
693
+ # The identifier of the connection alias to delete.
694
+ # @return [String]
695
+ #
696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAliasRequest AWS API Documentation
697
+ #
698
+ class DeleteConnectionAliasRequest < Struct.new(
699
+ :alias_id)
700
+ SENSITIVE = []
701
+ include Aws::Structure
702
+ end
703
+
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAliasResult AWS API Documentation
705
+ #
706
+ class DeleteConnectionAliasResult < Aws::EmptyStructure; end
707
+
481
708
  # @note When making an API call, you may pass DeleteIpGroupRequest
482
709
  # data as a hash:
483
710
  #
@@ -512,7 +739,7 @@ module Aws::WorkSpaces
512
739
  # @!attribute [rw] resource_id
513
740
  # The identifier of the WorkSpaces resource. The supported resource
514
741
  # types are WorkSpaces, registered directories, images, custom
515
- # bundles, and IP access control groups.
742
+ # bundles, IP access control groups, and connection aliases.
516
743
  # @return [String]
517
744
  #
518
745
  # @!attribute [rw] tag_keys
@@ -679,6 +906,118 @@ module Aws::WorkSpaces
679
906
  include Aws::Structure
680
907
  end
681
908
 
909
+ # @note When making an API call, you may pass DescribeConnectionAliasPermissionsRequest
910
+ # data as a hash:
911
+ #
912
+ # {
913
+ # alias_id: "ConnectionAliasId", # required
914
+ # next_token: "PaginationToken",
915
+ # max_results: 1,
916
+ # }
917
+ #
918
+ # @!attribute [rw] alias_id
919
+ # The identifier of the connection alias.
920
+ # @return [String]
921
+ #
922
+ # @!attribute [rw] next_token
923
+ # If you received a `NextToken` from a previous call that was
924
+ # paginated, provide this token to receive the next set of results.
925
+ # @return [String]
926
+ #
927
+ # @!attribute [rw] max_results
928
+ # The maximum number of results to return.
929
+ # @return [Integer]
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissionsRequest AWS API Documentation
932
+ #
933
+ class DescribeConnectionAliasPermissionsRequest < Struct.new(
934
+ :alias_id,
935
+ :next_token,
936
+ :max_results)
937
+ SENSITIVE = []
938
+ include Aws::Structure
939
+ end
940
+
941
+ # @!attribute [rw] alias_id
942
+ # The identifier of the connection alias.
943
+ # @return [String]
944
+ #
945
+ # @!attribute [rw] connection_alias_permissions
946
+ # The permissions associated with a connection alias.
947
+ # @return [Array<Types::ConnectionAliasPermission>]
948
+ #
949
+ # @!attribute [rw] next_token
950
+ # The token to use to retrieve the next set of results, or null if no
951
+ # more results are available.
952
+ # @return [String]
953
+ #
954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissionsResult AWS API Documentation
955
+ #
956
+ class DescribeConnectionAliasPermissionsResult < Struct.new(
957
+ :alias_id,
958
+ :connection_alias_permissions,
959
+ :next_token)
960
+ SENSITIVE = []
961
+ include Aws::Structure
962
+ end
963
+
964
+ # @note When making an API call, you may pass DescribeConnectionAliasesRequest
965
+ # data as a hash:
966
+ #
967
+ # {
968
+ # alias_ids: ["ConnectionAliasId"],
969
+ # resource_id: "NonEmptyString",
970
+ # limit: 1,
971
+ # next_token: "PaginationToken",
972
+ # }
973
+ #
974
+ # @!attribute [rw] alias_ids
975
+ # The identifiers of the connection aliases to describe.
976
+ # @return [Array<String>]
977
+ #
978
+ # @!attribute [rw] resource_id
979
+ # The identifier of the directory associated with the connection
980
+ # alias.
981
+ # @return [String]
982
+ #
983
+ # @!attribute [rw] limit
984
+ # The maximum number of connection aliases to return.
985
+ # @return [Integer]
986
+ #
987
+ # @!attribute [rw] next_token
988
+ # If you received a `NextToken` from a previous call that was
989
+ # paginated, provide this token to receive the next set of results.
990
+ # @return [String]
991
+ #
992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasesRequest AWS API Documentation
993
+ #
994
+ class DescribeConnectionAliasesRequest < Struct.new(
995
+ :alias_ids,
996
+ :resource_id,
997
+ :limit,
998
+ :next_token)
999
+ SENSITIVE = []
1000
+ include Aws::Structure
1001
+ end
1002
+
1003
+ # @!attribute [rw] connection_aliases
1004
+ # Information about the specified connection aliases.
1005
+ # @return [Array<Types::ConnectionAlias>]
1006
+ #
1007
+ # @!attribute [rw] next_token
1008
+ # The token to use to retrieve the next set of results, or null if no
1009
+ # more results are available.
1010
+ # @return [String]
1011
+ #
1012
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasesResult AWS API Documentation
1013
+ #
1014
+ class DescribeConnectionAliasesResult < Struct.new(
1015
+ :connection_aliases,
1016
+ :next_token)
1017
+ SENSITIVE = []
1018
+ include Aws::Structure
1019
+ end
1020
+
682
1021
  # @note When making an API call, you may pass DescribeIpGroupsRequest
683
1022
  # data as a hash:
684
1023
  #
@@ -739,7 +1078,7 @@ module Aws::WorkSpaces
739
1078
  # @!attribute [rw] resource_id
740
1079
  # The identifier of the WorkSpaces resource. The supported resource
741
1080
  # types are WorkSpaces, registered directories, images, custom
742
- # bundles, and IP access control groups.
1081
+ # bundles, IP access control groups, and connection aliases.
743
1082
  # @return [String]
744
1083
  #
745
1084
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeTagsRequest AWS API Documentation
@@ -1147,6 +1486,29 @@ module Aws::WorkSpaces
1147
1486
  include Aws::Structure
1148
1487
  end
1149
1488
 
1489
+ # @note When making an API call, you may pass DisassociateConnectionAliasRequest
1490
+ # data as a hash:
1491
+ #
1492
+ # {
1493
+ # alias_id: "ConnectionAliasId", # required
1494
+ # }
1495
+ #
1496
+ # @!attribute [rw] alias_id
1497
+ # The identifier of the connection alias to disassociate.
1498
+ # @return [String]
1499
+ #
1500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAliasRequest AWS API Documentation
1501
+ #
1502
+ class DisassociateConnectionAliasRequest < Struct.new(
1503
+ :alias_id)
1504
+ SENSITIVE = []
1505
+ include Aws::Structure
1506
+ end
1507
+
1508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAliasResult AWS API Documentation
1509
+ #
1510
+ class DisassociateConnectionAliasResult < Aws::EmptyStructure; end
1511
+
1150
1512
  # @note When making an API call, you may pass DisassociateIpGroupsRequest
1151
1513
  # data as a hash:
1152
1514
  #
@@ -2428,6 +2790,40 @@ module Aws::WorkSpaces
2428
2790
  include Aws::Structure
2429
2791
  end
2430
2792
 
2793
+ # @note When making an API call, you may pass UpdateConnectionAliasPermissionRequest
2794
+ # data as a hash:
2795
+ #
2796
+ # {
2797
+ # alias_id: "ConnectionAliasId", # required
2798
+ # connection_alias_permission: { # required
2799
+ # shared_account_id: "AwsAccount", # required
2800
+ # allow_association: false, # required
2801
+ # },
2802
+ # }
2803
+ #
2804
+ # @!attribute [rw] alias_id
2805
+ # The identifier of the connection alias that you want to update
2806
+ # permissions for.
2807
+ # @return [String]
2808
+ #
2809
+ # @!attribute [rw] connection_alias_permission
2810
+ # Indicates whether to share or unshare the connection alias with the
2811
+ # specified AWS account.
2812
+ # @return [Types::ConnectionAliasPermission]
2813
+ #
2814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionRequest AWS API Documentation
2815
+ #
2816
+ class UpdateConnectionAliasPermissionRequest < Struct.new(
2817
+ :alias_id,
2818
+ :connection_alias_permission)
2819
+ SENSITIVE = []
2820
+ include Aws::Structure
2821
+ end
2822
+
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionResult AWS API Documentation
2824
+ #
2825
+ class UpdateConnectionAliasPermissionResult < Aws::EmptyStructure; end
2826
+
2431
2827
  # @note When making an API call, you may pass UpdateRulesOfIpGroupRequest
2432
2828
  # data as a hash:
2433
2829
  #
@@ -2830,7 +3226,23 @@ module Aws::WorkSpaces
2830
3226
  # @return [Boolean]
2831
3227
  #
2832
3228
  # @!attribute [rw] default_ou
2833
- # The default organizational unit (OU) for your WorkSpace directories.
3229
+ # The default organizational unit (OU) for your WorkSpaces
3230
+ # directories. This string must be the full Lightweight Directory
3231
+ # Access Protocol (LDAP) distinguished name for the target domain and
3232
+ # OU. It must be in the form `"OU=value,DC=value,DC=value"`, where
3233
+ # *value* is any string of characters, and the number of domain
3234
+ # components (DCs) is two or more. For example,
3235
+ # `OU=WorkSpaces_machines,DC=machines,DC=example,DC=com`.
3236
+ #
3237
+ # * To avoid errors, certain characters in the distinguished name must
3238
+ # be escaped. For more information, see [ Distinguished Names][1] in
3239
+ # the Microsoft documentation.
3240
+ #
3241
+ # * The API doesn't validate whether the OU exists.
3242
+ #
3243
+ #
3244
+ #
3245
+ # [1]: https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names
2834
3246
  # @return [String]
2835
3247
  #
2836
3248
  # @!attribute [rw] custom_security_group_id
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-workspaces
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.44.0
4
+ version: 1.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-04 00:00:00.000000000 Z
11
+ date: 2020-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core