aws-sdk-workspaces 1.41.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,8 +19,13 @@ module Aws::WorkSpaces
19
19
  AccountModification = Shapes::StructureShape.new(name: 'AccountModification')
20
20
  AccountModificationList = Shapes::ListShape.new(name: 'AccountModificationList')
21
21
  Alias = Shapes::StringShape.new(name: 'Alias')
22
+ Application = Shapes::StringShape.new(name: 'Application')
23
+ ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
24
+ AssociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'AssociateConnectionAliasRequest')
25
+ AssociateConnectionAliasResult = Shapes::StructureShape.new(name: 'AssociateConnectionAliasResult')
22
26
  AssociateIpGroupsRequest = Shapes::StructureShape.new(name: 'AssociateIpGroupsRequest')
23
27
  AssociateIpGroupsResult = Shapes::StructureShape.new(name: 'AssociateIpGroupsResult')
28
+ AssociationStatus = Shapes::StringShape.new(name: 'AssociationStatus')
24
29
  AuthorizeIpRulesRequest = Shapes::StructureShape.new(name: 'AuthorizeIpRulesRequest')
25
30
  AuthorizeIpRulesResult = Shapes::StructureShape.new(name: 'AuthorizeIpRulesResult')
26
31
  AwsAccount = Shapes::StringShape.new(name: 'AwsAccount')
@@ -35,9 +40,22 @@ module Aws::WorkSpaces
35
40
  Compute = Shapes::StringShape.new(name: 'Compute')
36
41
  ComputeType = Shapes::StructureShape.new(name: 'ComputeType')
37
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')
38
53
  ConnectionState = Shapes::StringShape.new(name: 'ConnectionState')
54
+ ConnectionString = Shapes::StringShape.new(name: 'ConnectionString')
39
55
  CopyWorkspaceImageRequest = Shapes::StructureShape.new(name: 'CopyWorkspaceImageRequest')
40
56
  CopyWorkspaceImageResult = Shapes::StructureShape.new(name: 'CopyWorkspaceImageResult')
57
+ CreateConnectionAliasRequest = Shapes::StructureShape.new(name: 'CreateConnectionAliasRequest')
58
+ CreateConnectionAliasResult = Shapes::StructureShape.new(name: 'CreateConnectionAliasResult')
41
59
  CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
42
60
  CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
43
61
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
@@ -51,6 +69,8 @@ module Aws::WorkSpaces
51
69
  DedicatedTenancySupportResultEnum = Shapes::StringShape.new(name: 'DedicatedTenancySupportResultEnum')
52
70
  DefaultOu = Shapes::StringShape.new(name: 'DefaultOu')
53
71
  DefaultWorkspaceCreationProperties = Shapes::StructureShape.new(name: 'DefaultWorkspaceCreationProperties')
72
+ DeleteConnectionAliasRequest = Shapes::StructureShape.new(name: 'DeleteConnectionAliasRequest')
73
+ DeleteConnectionAliasResult = Shapes::StructureShape.new(name: 'DeleteConnectionAliasResult')
54
74
  DeleteIpGroupRequest = Shapes::StructureShape.new(name: 'DeleteIpGroupRequest')
55
75
  DeleteIpGroupResult = Shapes::StructureShape.new(name: 'DeleteIpGroupResult')
56
76
  DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
@@ -65,6 +85,10 @@ module Aws::WorkSpaces
65
85
  DescribeAccountResult = Shapes::StructureShape.new(name: 'DescribeAccountResult')
66
86
  DescribeClientPropertiesRequest = Shapes::StructureShape.new(name: 'DescribeClientPropertiesRequest')
67
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')
68
92
  DescribeIpGroupsRequest = Shapes::StructureShape.new(name: 'DescribeIpGroupsRequest')
69
93
  DescribeIpGroupsResult = Shapes::StructureShape.new(name: 'DescribeIpGroupsResult')
70
94
  DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
@@ -88,6 +112,8 @@ module Aws::WorkSpaces
88
112
  DirectoryIdList = Shapes::ListShape.new(name: 'DirectoryIdList')
89
113
  DirectoryList = Shapes::ListShape.new(name: 'DirectoryList')
90
114
  DirectoryName = Shapes::StringShape.new(name: 'DirectoryName')
115
+ DisassociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasRequest')
116
+ DisassociateConnectionAliasResult = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasResult')
91
117
  DisassociateIpGroupsRequest = Shapes::StructureShape.new(name: 'DisassociateIpGroupsRequest')
92
118
  DisassociateIpGroupsResult = Shapes::StructureShape.new(name: 'DisassociateIpGroupsResult')
93
119
  DnsIpAddresses = Shapes::ListShape.new(name: 'DnsIpAddresses')
@@ -206,6 +232,8 @@ module Aws::WorkSpaces
206
232
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
207
233
  UnsupportedNetworkConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedNetworkConfigurationException')
208
234
  UnsupportedWorkspaceConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedWorkspaceConfigurationException')
235
+ UpdateConnectionAliasPermissionRequest = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionRequest')
236
+ UpdateConnectionAliasPermissionResult = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionResult')
209
237
  UpdateRulesOfIpGroupRequest = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupRequest')
210
238
  UpdateRulesOfIpGroupResult = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupResult')
211
239
  UpdateWorkspaceImagePermissionRequest = Shapes::StructureShape.new(name: 'UpdateWorkspaceImagePermissionRequest')
@@ -258,6 +286,15 @@ module Aws::WorkSpaces
258
286
 
259
287
  AccountModificationList.member = Shapes::ShapeRef.new(shape: AccountModification)
260
288
 
289
+ ApplicationList.member = Shapes::ShapeRef.new(shape: Application)
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
+
261
298
  AssociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
262
299
  AssociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
263
300
  AssociateIpGroupsRequest.struct_class = Types::AssociateIpGroupsRequest
@@ -286,6 +323,31 @@ module Aws::WorkSpaces
286
323
  ComputeType.add_member(:name, Shapes::ShapeRef.new(shape: Compute, location_name: "Name"))
287
324
  ComputeType.struct_class = Types::ComputeType
288
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
+
289
351
  CopyWorkspaceImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: WorkspaceImageName, required: true, location_name: "Name"))
290
352
  CopyWorkspaceImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: WorkspaceImageDescription, location_name: "Description"))
291
353
  CopyWorkspaceImageRequest.add_member(:source_image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, required: true, location_name: "SourceImageId"))
@@ -296,6 +358,13 @@ module Aws::WorkSpaces
296
358
  CopyWorkspaceImageResult.add_member(:image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, location_name: "ImageId"))
297
359
  CopyWorkspaceImageResult.struct_class = Types::CopyWorkspaceImageResult
298
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
+
299
368
  CreateIpGroupRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, required: true, location_name: "GroupName"))
300
369
  CreateIpGroupRequest.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "GroupDesc"))
301
370
  CreateIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "UserRules"))
@@ -328,6 +397,11 @@ module Aws::WorkSpaces
328
397
  DefaultWorkspaceCreationProperties.add_member(:enable_maintenance_mode, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableMaintenanceMode"))
329
398
  DefaultWorkspaceCreationProperties.struct_class = Types::DefaultWorkspaceCreationProperties
330
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
+
331
405
  DeleteIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
332
406
  DeleteIpGroupRequest.struct_class = Types::DeleteIpGroupRequest
333
407
 
@@ -368,6 +442,26 @@ module Aws::WorkSpaces
368
442
  DescribeClientPropertiesResult.add_member(:client_properties_list, Shapes::ShapeRef.new(shape: ClientPropertiesList, location_name: "ClientPropertiesList"))
369
443
  DescribeClientPropertiesResult.struct_class = Types::DescribeClientPropertiesResult
370
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
+
371
465
  DescribeIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, location_name: "GroupIds"))
372
466
  DescribeIpGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
373
467
  DescribeIpGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
@@ -452,6 +546,11 @@ module Aws::WorkSpaces
452
546
 
453
547
  DirectoryList.member = Shapes::ShapeRef.new(shape: WorkspaceDirectory)
454
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
+
455
554
  DisassociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
456
555
  DisassociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
457
556
  DisassociateIpGroupsRequest.struct_class = Types::DisassociateIpGroupsRequest
@@ -492,6 +591,7 @@ module Aws::WorkSpaces
492
591
  ImportWorkspaceImageRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: WorkspaceImageName, required: true, location_name: "ImageName"))
493
592
  ImportWorkspaceImageRequest.add_member(:image_description, Shapes::ShapeRef.new(shape: WorkspaceImageDescription, required: true, location_name: "ImageDescription"))
494
593
  ImportWorkspaceImageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
594
+ ImportWorkspaceImageRequest.add_member(:applications, Shapes::ShapeRef.new(shape: ApplicationList, location_name: "Applications"))
495
595
  ImportWorkspaceImageRequest.struct_class = Types::ImportWorkspaceImageRequest
496
596
 
497
597
  ImportWorkspaceImageResult.add_member(:image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, location_name: "ImageId"))
@@ -716,6 +816,12 @@ module Aws::WorkSpaces
716
816
  UnsupportedWorkspaceConfigurationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
717
817
  UnsupportedWorkspaceConfigurationException.struct_class = Types::UnsupportedWorkspaceConfigurationException
718
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
+
719
825
  UpdateRulesOfIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
720
826
  UpdateRulesOfIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, required: true, location_name: "UserRules"))
721
827
  UpdateRulesOfIpGroupRequest.struct_class = Types::UpdateRulesOfIpGroupRequest
@@ -777,6 +883,7 @@ module Aws::WorkSpaces
777
883
 
778
884
  WorkspaceConnectionStatusList.member = Shapes::ShapeRef.new(shape: WorkspaceConnectionStatus)
779
885
 
886
+ WorkspaceCreationProperties.add_member(:enable_work_docs, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableWorkDocs"))
780
887
  WorkspaceCreationProperties.add_member(:enable_internet_access, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableInternetAccess"))
781
888
  WorkspaceCreationProperties.add_member(:default_ou, Shapes::ShapeRef.new(shape: DefaultOu, location_name: "DefaultOu"))
782
889
  WorkspaceCreationProperties.add_member(:custom_security_group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "CustomSecurityGroupId"))
@@ -870,6 +977,20 @@ module Aws::WorkSpaces
870
977
  "uid" => "workspaces-2015-04-08",
871
978
  }
872
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
+
873
994
  api.add_operation(:associate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
874
995
  o.name = "AssociateIpGroups"
875
996
  o.http_method = "POST"
@@ -912,6 +1033,20 @@ module Aws::WorkSpaces
912
1033
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
913
1034
  end)
914
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
+
915
1050
  api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
916
1051
  o.name = "CreateIpGroup"
917
1052
  o.http_method = "POST"
@@ -946,6 +1081,20 @@ module Aws::WorkSpaces
946
1081
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
947
1082
  end)
948
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
+
949
1098
  api.add_operation(:delete_ip_group, Seahorse::Model::Operation.new.tap do |o|
950
1099
  o.name = "DeleteIpGroup"
951
1100
  o.http_method = "POST"
@@ -1021,6 +1170,29 @@ module Aws::WorkSpaces
1021
1170
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1022
1171
  end)
1023
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
+
1024
1196
  api.add_operation(:describe_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1025
1197
  o.name = "DescribeIpGroups"
1026
1198
  o.http_method = "POST"
@@ -1124,6 +1296,19 @@ module Aws::WorkSpaces
1124
1296
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1125
1297
  end)
1126
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
+
1127
1312
  api.add_operation(:disassociate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1128
1313
  o.name = "DisassociateIpGroups"
1129
1314
  o.http_method = "POST"
@@ -1228,6 +1413,7 @@ module Aws::WorkSpaces
1228
1413
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1229
1414
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1230
1415
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1416
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1231
1417
  end)
1232
1418
 
1233
1419
  api.add_operation(:modify_workspace_properties, Seahorse::Model::Operation.new.tap do |o|
@@ -1335,6 +1521,21 @@ module Aws::WorkSpaces
1335
1521
  o.output = Shapes::ShapeRef.new(shape: TerminateWorkspacesResult)
1336
1522
  end)
1337
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
+
1338
1539
  api.add_operation(:update_rules_of_ip_group, Seahorse::Model::Operation.new.tap do |o|
1339
1540
  o.name = "UpdateRulesOfIpGroup"
1340
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
  #
@@ -1259,6 +1621,7 @@ module Aws::WorkSpaces
1259
1621
  # value: "TagValue",
1260
1622
  # },
1261
1623
  # ],
1624
+ # applications: ["Microsoft_Office_2016"], # accepts Microsoft_Office_2016, Microsoft_Office_2019
1262
1625
  # }
1263
1626
  #
1264
1627
  # @!attribute [rw] ec2_image_id
@@ -1266,7 +1629,9 @@ module Aws::WorkSpaces
1266
1629
  # @return [String]
1267
1630
  #
1268
1631
  # @!attribute [rw] ingestion_process
1269
- # The ingestion process to be used when importing the image.
1632
+ # The ingestion process to be used when importing the image. For
1633
+ # non-GPU-enabled bundles (bundles other than Graphics or
1634
+ # GraphicsPro), specify `BYOL_REGULAR`.
1270
1635
  # @return [String]
1271
1636
  #
1272
1637
  # @!attribute [rw] image_name
@@ -1281,6 +1646,22 @@ module Aws::WorkSpaces
1281
1646
  # The tags. Each WorkSpaces resource can have a maximum of 50 tags.
1282
1647
  # @return [Array<Types::Tag>]
1283
1648
  #
1649
+ # @!attribute [rw] applications
1650
+ # If specified, the version of Microsoft Office to subscribe to. Valid
1651
+ # only for Windows 10 BYOL images. For more information about
1652
+ # subscribing to Office for BYOL images, see [ Bring Your Own Windows
1653
+ # Desktop Licenses][1].
1654
+ #
1655
+ # <note markdown="1"> Although this parameter is an array, only one item is allowed at
1656
+ # this time.
1657
+ #
1658
+ # </note>
1659
+ #
1660
+ #
1661
+ #
1662
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html
1663
+ # @return [Array<String>]
1664
+ #
1284
1665
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ImportWorkspaceImageRequest AWS API Documentation
1285
1666
  #
1286
1667
  class ImportWorkspaceImageRequest < Struct.new(
@@ -1288,7 +1669,8 @@ module Aws::WorkSpaces
1288
1669
  :ingestion_process,
1289
1670
  :image_name,
1290
1671
  :image_description,
1291
- :tags)
1672
+ :tags,
1673
+ :applications)
1292
1674
  SENSITIVE = []
1293
1675
  include Aws::Structure
1294
1676
  end
@@ -1620,6 +2002,7 @@ module Aws::WorkSpaces
1620
2002
  # {
1621
2003
  # resource_id: "DirectoryId", # required
1622
2004
  # workspace_creation_properties: { # required
2005
+ # enable_work_docs: false,
1623
2006
  # enable_internet_access: false,
1624
2007
  # default_ou: "DefaultOu",
1625
2008
  # custom_security_group_id: "SecurityGroupId",
@@ -2407,6 +2790,40 @@ module Aws::WorkSpaces
2407
2790
  include Aws::Structure
2408
2791
  end
2409
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
+
2410
2827
  # @note When making an API call, you may pass UpdateRulesOfIpGroupRequest
2411
2828
  # data as a hash:
2412
2829
  #
@@ -2533,7 +2950,13 @@ module Aws::WorkSpaces
2533
2950
  # @return [String]
2534
2951
  #
2535
2952
  # @!attribute [rw] computer_name
2536
- # The name of the WorkSpace, as seen by the operating system.
2953
+ # The name of the WorkSpace, as seen by the operating system. The
2954
+ # format of this name varies. For more information, see [ Launch a
2955
+ # WorkSpace][1].
2956
+ #
2957
+ #
2958
+ #
2959
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspaces-tutorials.html
2537
2960
  # @return [String]
2538
2961
  #
2539
2962
  # @!attribute [rw] volume_encryption_key
@@ -2766,6 +3189,7 @@ module Aws::WorkSpaces
2766
3189
  # data as a hash:
2767
3190
  #
2768
3191
  # {
3192
+ # enable_work_docs: false,
2769
3193
  # enable_internet_access: false,
2770
3194
  # default_ou: "DefaultOu",
2771
3195
  # custom_security_group_id: "SecurityGroupId",
@@ -2773,12 +3197,52 @@ module Aws::WorkSpaces
2773
3197
  # enable_maintenance_mode: false,
2774
3198
  # }
2775
3199
  #
3200
+ # @!attribute [rw] enable_work_docs
3201
+ # Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
3202
+ #
3203
+ # <note markdown="1"> If WorkDocs is already enabled for a WorkSpaces directory and you
3204
+ # disable it, new WorkSpaces launched in the directory will not have
3205
+ # WorkDocs enabled. However, WorkDocs remains enabled for any existing
3206
+ # WorkSpaces, unless you either disable users' access to WorkDocs or
3207
+ # you delete the WorkDocs site. To disable users' access to WorkDocs,
3208
+ # see [Disabling Users][1] in the *Amazon WorkDocs Administration
3209
+ # Guide*. To delete a WorkDocs site, see [Deleting a Site][2] in the
3210
+ # *Amazon WorkDocs Administration Guide*.
3211
+ #
3212
+ # If you enable WorkDocs on a directory that already has existing
3213
+ # WorkSpaces, the existing WorkSpaces and any new WorkSpaces that are
3214
+ # launched in the directory will have WorkDocs enabled.
3215
+ #
3216
+ # </note>
3217
+ #
3218
+ #
3219
+ #
3220
+ # [1]: https://docs.aws.amazon.com/workdocs/latest/adminguide/inactive-user.html
3221
+ # [2]: https://docs.aws.amazon.com/workdocs/latest/adminguide/manage-sites.html
3222
+ # @return [Boolean]
3223
+ #
2776
3224
  # @!attribute [rw] enable_internet_access
2777
3225
  # Indicates whether internet access is enabled for your WorkSpaces.
2778
3226
  # @return [Boolean]
2779
3227
  #
2780
3228
  # @!attribute [rw] default_ou
2781
- # 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
2782
3246
  # @return [String]
2783
3247
  #
2784
3248
  # @!attribute [rw] custom_security_group_id
@@ -2802,6 +3266,7 @@ module Aws::WorkSpaces
2802
3266
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/WorkspaceCreationProperties AWS API Documentation
2803
3267
  #
2804
3268
  class WorkspaceCreationProperties < Struct.new(
3269
+ :enable_work_docs,
2805
3270
  :enable_internet_access,
2806
3271
  :default_ou,
2807
3272
  :custom_security_group_id,