aws-sdk-workspaces 1.43.0 → 1.48.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.
@@ -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
@@ -871,6 +977,20 @@ module Aws::WorkSpaces
871
977
  "uid" => "workspaces-2015-04-08",
872
978
  }
873
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
+
874
994
  api.add_operation(:associate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
875
995
  o.name = "AssociateIpGroups"
876
996
  o.http_method = "POST"
@@ -913,6 +1033,20 @@ module Aws::WorkSpaces
913
1033
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
914
1034
  end)
915
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
+
916
1050
  api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
917
1051
  o.name = "CreateIpGroup"
918
1052
  o.http_method = "POST"
@@ -947,6 +1081,20 @@ module Aws::WorkSpaces
947
1081
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
948
1082
  end)
949
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
+
950
1098
  api.add_operation(:delete_ip_group, Seahorse::Model::Operation.new.tap do |o|
951
1099
  o.name = "DeleteIpGroup"
952
1100
  o.http_method = "POST"
@@ -1022,6 +1170,29 @@ module Aws::WorkSpaces
1022
1170
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1023
1171
  end)
1024
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
+
1025
1196
  api.add_operation(:describe_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1026
1197
  o.name = "DescribeIpGroups"
1027
1198
  o.http_method = "POST"
@@ -1125,6 +1296,19 @@ module Aws::WorkSpaces
1125
1296
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1126
1297
  end)
1127
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
+
1128
1312
  api.add_operation(:disassociate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1129
1313
  o.name = "DisassociateIpGroups"
1130
1314
  o.http_method = "POST"
@@ -1337,6 +1521,21 @@ module Aws::WorkSpaces
1337
1521
  o.output = Shapes::ShapeRef.new(shape: TerminateWorkspacesResult)
1338
1522
  end)
1339
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
+
1340
1539
  api.add_operation(:update_rules_of_ip_group, Seahorse::Model::Operation.new.tap do |o|
1341
1540
  o.name = "UpdateRulesOfIpGroup"
1342
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,13 +525,11 @@ 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
328
- # The tags. Each WorkSpaces resource can have a maximum of 50 tags. If
329
- # you want to add new tags to a set of existing tags, you must submit
330
- # all of the existing tags along with the new ones.
532
+ # The tags. Each WorkSpaces resource can have a maximum of 50 tags.
331
533
  # @return [Array<Types::Tag>]
332
534
  #
333
535
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateTagsRequest AWS API Documentation
@@ -478,6 +680,29 @@ module Aws::WorkSpaces
478
680
  include Aws::Structure
479
681
  end
480
682
 
683
+ # @note When making an API call, you may pass DeleteConnectionAliasRequest
684
+ # data as a hash:
685
+ #
686
+ # {
687
+ # alias_id: "ConnectionAliasId", # required
688
+ # }
689
+ #
690
+ # @!attribute [rw] alias_id
691
+ # The identifier of the connection alias to delete.
692
+ # @return [String]
693
+ #
694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAliasRequest AWS API Documentation
695
+ #
696
+ class DeleteConnectionAliasRequest < Struct.new(
697
+ :alias_id)
698
+ SENSITIVE = []
699
+ include Aws::Structure
700
+ end
701
+
702
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAliasResult AWS API Documentation
703
+ #
704
+ class DeleteConnectionAliasResult < Aws::EmptyStructure; end
705
+
481
706
  # @note When making an API call, you may pass DeleteIpGroupRequest
482
707
  # data as a hash:
483
708
  #
@@ -512,7 +737,7 @@ module Aws::WorkSpaces
512
737
  # @!attribute [rw] resource_id
513
738
  # The identifier of the WorkSpaces resource. The supported resource
514
739
  # types are WorkSpaces, registered directories, images, custom
515
- # bundles, and IP access control groups.
740
+ # bundles, IP access control groups, and connection aliases.
516
741
  # @return [String]
517
742
  #
518
743
  # @!attribute [rw] tag_keys
@@ -679,6 +904,118 @@ module Aws::WorkSpaces
679
904
  include Aws::Structure
680
905
  end
681
906
 
907
+ # @note When making an API call, you may pass DescribeConnectionAliasPermissionsRequest
908
+ # data as a hash:
909
+ #
910
+ # {
911
+ # alias_id: "ConnectionAliasId", # required
912
+ # next_token: "PaginationToken",
913
+ # max_results: 1,
914
+ # }
915
+ #
916
+ # @!attribute [rw] alias_id
917
+ # The identifier of the connection alias.
918
+ # @return [String]
919
+ #
920
+ # @!attribute [rw] next_token
921
+ # If you received a `NextToken` from a previous call that was
922
+ # paginated, provide this token to receive the next set of results.
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] max_results
926
+ # The maximum number of results to return.
927
+ # @return [Integer]
928
+ #
929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissionsRequest AWS API Documentation
930
+ #
931
+ class DescribeConnectionAliasPermissionsRequest < Struct.new(
932
+ :alias_id,
933
+ :next_token,
934
+ :max_results)
935
+ SENSITIVE = []
936
+ include Aws::Structure
937
+ end
938
+
939
+ # @!attribute [rw] alias_id
940
+ # The identifier of the connection alias.
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] connection_alias_permissions
944
+ # The permissions associated with a connection alias.
945
+ # @return [Array<Types::ConnectionAliasPermission>]
946
+ #
947
+ # @!attribute [rw] next_token
948
+ # The token to use to retrieve the next set of results, or null if no
949
+ # more results are available.
950
+ # @return [String]
951
+ #
952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissionsResult AWS API Documentation
953
+ #
954
+ class DescribeConnectionAliasPermissionsResult < Struct.new(
955
+ :alias_id,
956
+ :connection_alias_permissions,
957
+ :next_token)
958
+ SENSITIVE = []
959
+ include Aws::Structure
960
+ end
961
+
962
+ # @note When making an API call, you may pass DescribeConnectionAliasesRequest
963
+ # data as a hash:
964
+ #
965
+ # {
966
+ # alias_ids: ["ConnectionAliasId"],
967
+ # resource_id: "NonEmptyString",
968
+ # limit: 1,
969
+ # next_token: "PaginationToken",
970
+ # }
971
+ #
972
+ # @!attribute [rw] alias_ids
973
+ # The identifiers of the connection aliases to describe.
974
+ # @return [Array<String>]
975
+ #
976
+ # @!attribute [rw] resource_id
977
+ # The identifier of the directory associated with the connection
978
+ # alias.
979
+ # @return [String]
980
+ #
981
+ # @!attribute [rw] limit
982
+ # The maximum number of connection aliases to return.
983
+ # @return [Integer]
984
+ #
985
+ # @!attribute [rw] next_token
986
+ # If you received a `NextToken` from a previous call that was
987
+ # paginated, provide this token to receive the next set of results.
988
+ # @return [String]
989
+ #
990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasesRequest AWS API Documentation
991
+ #
992
+ class DescribeConnectionAliasesRequest < Struct.new(
993
+ :alias_ids,
994
+ :resource_id,
995
+ :limit,
996
+ :next_token)
997
+ SENSITIVE = []
998
+ include Aws::Structure
999
+ end
1000
+
1001
+ # @!attribute [rw] connection_aliases
1002
+ # Information about the specified connection aliases.
1003
+ # @return [Array<Types::ConnectionAlias>]
1004
+ #
1005
+ # @!attribute [rw] next_token
1006
+ # The token to use to retrieve the next set of results, or null if no
1007
+ # more results are available.
1008
+ # @return [String]
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasesResult AWS API Documentation
1011
+ #
1012
+ class DescribeConnectionAliasesResult < Struct.new(
1013
+ :connection_aliases,
1014
+ :next_token)
1015
+ SENSITIVE = []
1016
+ include Aws::Structure
1017
+ end
1018
+
682
1019
  # @note When making an API call, you may pass DescribeIpGroupsRequest
683
1020
  # data as a hash:
684
1021
  #
@@ -739,7 +1076,7 @@ module Aws::WorkSpaces
739
1076
  # @!attribute [rw] resource_id
740
1077
  # The identifier of the WorkSpaces resource. The supported resource
741
1078
  # types are WorkSpaces, registered directories, images, custom
742
- # bundles, and IP access control groups.
1079
+ # bundles, IP access control groups, and connection aliases.
743
1080
  # @return [String]
744
1081
  #
745
1082
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeTagsRequest AWS API Documentation
@@ -1147,6 +1484,29 @@ module Aws::WorkSpaces
1147
1484
  include Aws::Structure
1148
1485
  end
1149
1486
 
1487
+ # @note When making an API call, you may pass DisassociateConnectionAliasRequest
1488
+ # data as a hash:
1489
+ #
1490
+ # {
1491
+ # alias_id: "ConnectionAliasId", # required
1492
+ # }
1493
+ #
1494
+ # @!attribute [rw] alias_id
1495
+ # The identifier of the connection alias to disassociate.
1496
+ # @return [String]
1497
+ #
1498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAliasRequest AWS API Documentation
1499
+ #
1500
+ class DisassociateConnectionAliasRequest < Struct.new(
1501
+ :alias_id)
1502
+ SENSITIVE = []
1503
+ include Aws::Structure
1504
+ end
1505
+
1506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAliasResult AWS API Documentation
1507
+ #
1508
+ class DisassociateConnectionAliasResult < Aws::EmptyStructure; end
1509
+
1150
1510
  # @note When making an API call, you may pass DisassociateIpGroupsRequest
1151
1511
  # data as a hash:
1152
1512
  #
@@ -1230,7 +1590,12 @@ module Aws::WorkSpaces
1230
1590
  end
1231
1591
 
1232
1592
  # Describes the AWS accounts that have been granted permission to use a
1233
- # shared image.
1593
+ # shared image. For more information about sharing images, see [ Share
1594
+ # or Unshare a Custom WorkSpaces Image][1].
1595
+ #
1596
+ #
1597
+ #
1598
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html
1234
1599
  #
1235
1600
  # @!attribute [rw] shared_account_id
1236
1601
  # The identifier of the AWS account that an image has been shared
@@ -1259,6 +1624,7 @@ module Aws::WorkSpaces
1259
1624
  # value: "TagValue",
1260
1625
  # },
1261
1626
  # ],
1627
+ # applications: ["Microsoft_Office_2016"], # accepts Microsoft_Office_2016, Microsoft_Office_2019
1262
1628
  # }
1263
1629
  #
1264
1630
  # @!attribute [rw] ec2_image_id
@@ -1266,7 +1632,9 @@ module Aws::WorkSpaces
1266
1632
  # @return [String]
1267
1633
  #
1268
1634
  # @!attribute [rw] ingestion_process
1269
- # The ingestion process to be used when importing the image.
1635
+ # The ingestion process to be used when importing the image. For
1636
+ # non-GPU-enabled bundles (bundles other than Graphics or
1637
+ # GraphicsPro), specify `BYOL_REGULAR`.
1270
1638
  # @return [String]
1271
1639
  #
1272
1640
  # @!attribute [rw] image_name
@@ -1281,6 +1649,22 @@ module Aws::WorkSpaces
1281
1649
  # The tags. Each WorkSpaces resource can have a maximum of 50 tags.
1282
1650
  # @return [Array<Types::Tag>]
1283
1651
  #
1652
+ # @!attribute [rw] applications
1653
+ # If specified, the version of Microsoft Office to subscribe to. Valid
1654
+ # only for Windows 10 BYOL images. For more information about
1655
+ # subscribing to Office for BYOL images, see [ Bring Your Own Windows
1656
+ # Desktop Licenses][1].
1657
+ #
1658
+ # <note markdown="1"> Although this parameter is an array, only one item is allowed at
1659
+ # this time.
1660
+ #
1661
+ # </note>
1662
+ #
1663
+ #
1664
+ #
1665
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html
1666
+ # @return [Array<String>]
1667
+ #
1284
1668
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ImportWorkspaceImageRequest AWS API Documentation
1285
1669
  #
1286
1670
  class ImportWorkspaceImageRequest < Struct.new(
@@ -1288,7 +1672,8 @@ module Aws::WorkSpaces
1288
1672
  :ingestion_process,
1289
1673
  :image_name,
1290
1674
  :image_description,
1291
- :tags)
1675
+ :tags,
1676
+ :applications)
1292
1677
  SENSITIVE = []
1293
1678
  include Aws::Structure
1294
1679
  end
@@ -2408,6 +2793,40 @@ module Aws::WorkSpaces
2408
2793
  include Aws::Structure
2409
2794
  end
2410
2795
 
2796
+ # @note When making an API call, you may pass UpdateConnectionAliasPermissionRequest
2797
+ # data as a hash:
2798
+ #
2799
+ # {
2800
+ # alias_id: "ConnectionAliasId", # required
2801
+ # connection_alias_permission: { # required
2802
+ # shared_account_id: "AwsAccount", # required
2803
+ # allow_association: false, # required
2804
+ # },
2805
+ # }
2806
+ #
2807
+ # @!attribute [rw] alias_id
2808
+ # The identifier of the connection alias that you want to update
2809
+ # permissions for.
2810
+ # @return [String]
2811
+ #
2812
+ # @!attribute [rw] connection_alias_permission
2813
+ # Indicates whether to share or unshare the connection alias with the
2814
+ # specified AWS account.
2815
+ # @return [Types::ConnectionAliasPermission]
2816
+ #
2817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionRequest AWS API Documentation
2818
+ #
2819
+ class UpdateConnectionAliasPermissionRequest < Struct.new(
2820
+ :alias_id,
2821
+ :connection_alias_permission)
2822
+ SENSITIVE = []
2823
+ include Aws::Structure
2824
+ end
2825
+
2826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionResult AWS API Documentation
2827
+ #
2828
+ class UpdateConnectionAliasPermissionResult < Aws::EmptyStructure; end
2829
+
2411
2830
  # @note When making an API call, you may pass UpdateRulesOfIpGroupRequest
2412
2831
  # data as a hash:
2413
2832
  #
@@ -2463,6 +2882,9 @@ module Aws::WorkSpaces
2463
2882
  # @!attribute [rw] shared_account_id
2464
2883
  # The identifier of the AWS account to share or unshare the image
2465
2884
  # with.
2885
+ #
2886
+ # Before sharing the image, confirm that you are sharing to the
2887
+ # correct AWS account ID.
2466
2888
  # @return [String]
2467
2889
  #
2468
2890
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermissionRequest AWS API Documentation
@@ -2514,6 +2936,19 @@ module Aws::WorkSpaces
2514
2936
  #
2515
2937
  # @!attribute [rw] state
2516
2938
  # The operational state of the WorkSpace.
2939
+ #
2940
+ # <note markdown="1"> After a WorkSpace is terminated, the `TERMINATED` state is returned
2941
+ # only briefly before the WorkSpace directory metadata is cleaned up,
2942
+ # so this state is rarely returned. To confirm that a WorkSpace is
2943
+ # terminated, check for the WorkSpace ID by using [
2944
+ # DescribeWorkSpaces][1]. If the WorkSpace ID isn't returned, then
2945
+ # the WorkSpace has been successfully terminated.
2946
+ #
2947
+ # </note>
2948
+ #
2949
+ #
2950
+ #
2951
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html
2517
2952
  # @return [String]
2518
2953
  #
2519
2954
  # @!attribute [rw] bundle_id
@@ -2810,7 +3245,23 @@ module Aws::WorkSpaces
2810
3245
  # @return [Boolean]
2811
3246
  #
2812
3247
  # @!attribute [rw] default_ou
2813
- # The default organizational unit (OU) for your WorkSpace directories.
3248
+ # The default organizational unit (OU) for your WorkSpaces
3249
+ # directories. This string must be the full Lightweight Directory
3250
+ # Access Protocol (LDAP) distinguished name for the target domain and
3251
+ # OU. It must be in the form `"OU=value,DC=value,DC=value"`, where
3252
+ # *value* is any string of characters, and the number of domain
3253
+ # components (DCs) is two or more. For example,
3254
+ # `OU=WorkSpaces_machines,DC=machines,DC=example,DC=com`.
3255
+ #
3256
+ # * To avoid errors, certain characters in the distinguished name must
3257
+ # be escaped. For more information, see [ Distinguished Names][1] in
3258
+ # the Microsoft documentation.
3259
+ #
3260
+ # * The API doesn't validate whether the OU exists.
3261
+ #
3262
+ #
3263
+ #
3264
+ # [1]: https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names
2814
3265
  # @return [String]
2815
3266
  #
2816
3267
  # @!attribute [rw] custom_security_group_id
@@ -2893,6 +3344,16 @@ module Aws::WorkSpaces
2893
3344
  #
2894
3345
  # @!attribute [rw] state
2895
3346
  # The state of the directory's registration with Amazon WorkSpaces.
3347
+ # After a directory is deregistered, the `DEREGISTERED` state is
3348
+ # returned very briefly before the directory metadata is cleaned up,
3349
+ # so this state is rarely returned. To confirm that a directory is
3350
+ # deregistered, check for the directory ID by using [
3351
+ # DescribeWorkspaceDirectories][1]. If the directory ID isn't
3352
+ # returned, then the directory has been successfully deregistered.
3353
+ #
3354
+ #
3355
+ #
3356
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html
2896
3357
  # @return [String]
2897
3358
  #
2898
3359
  # @!attribute [rw] workspace_creation_properties