aws-sdk-workspaces 1.44.0 → 1.49.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,8 +21,11 @@ module Aws::WorkSpaces
21
21
  Alias = Shapes::StringShape.new(name: 'Alias')
22
22
  Application = Shapes::StringShape.new(name: 'Application')
23
23
  ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
24
+ AssociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'AssociateConnectionAliasRequest')
25
+ AssociateConnectionAliasResult = Shapes::StructureShape.new(name: 'AssociateConnectionAliasResult')
24
26
  AssociateIpGroupsRequest = Shapes::StructureShape.new(name: 'AssociateIpGroupsRequest')
25
27
  AssociateIpGroupsResult = Shapes::StructureShape.new(name: 'AssociateIpGroupsResult')
28
+ AssociationStatus = Shapes::StringShape.new(name: 'AssociationStatus')
26
29
  AuthorizeIpRulesRequest = Shapes::StructureShape.new(name: 'AuthorizeIpRulesRequest')
27
30
  AuthorizeIpRulesResult = Shapes::StructureShape.new(name: 'AuthorizeIpRulesResult')
28
31
  AwsAccount = Shapes::StringShape.new(name: 'AwsAccount')
@@ -37,9 +40,22 @@ module Aws::WorkSpaces
37
40
  Compute = Shapes::StringShape.new(name: 'Compute')
38
41
  ComputeType = Shapes::StructureShape.new(name: 'ComputeType')
39
42
  ComputerName = Shapes::StringShape.new(name: 'ComputerName')
43
+ ConnectionAlias = Shapes::StructureShape.new(name: 'ConnectionAlias')
44
+ ConnectionAliasAssociation = Shapes::StructureShape.new(name: 'ConnectionAliasAssociation')
45
+ ConnectionAliasAssociationList = Shapes::ListShape.new(name: 'ConnectionAliasAssociationList')
46
+ ConnectionAliasId = Shapes::StringShape.new(name: 'ConnectionAliasId')
47
+ ConnectionAliasIdList = Shapes::ListShape.new(name: 'ConnectionAliasIdList')
48
+ ConnectionAliasList = Shapes::ListShape.new(name: 'ConnectionAliasList')
49
+ ConnectionAliasPermission = Shapes::StructureShape.new(name: 'ConnectionAliasPermission')
50
+ ConnectionAliasPermissions = Shapes::ListShape.new(name: 'ConnectionAliasPermissions')
51
+ ConnectionAliasState = Shapes::StringShape.new(name: 'ConnectionAliasState')
52
+ ConnectionIdentifier = Shapes::StringShape.new(name: 'ConnectionIdentifier')
40
53
  ConnectionState = Shapes::StringShape.new(name: 'ConnectionState')
54
+ ConnectionString = Shapes::StringShape.new(name: 'ConnectionString')
41
55
  CopyWorkspaceImageRequest = Shapes::StructureShape.new(name: 'CopyWorkspaceImageRequest')
42
56
  CopyWorkspaceImageResult = Shapes::StructureShape.new(name: 'CopyWorkspaceImageResult')
57
+ CreateConnectionAliasRequest = Shapes::StructureShape.new(name: 'CreateConnectionAliasRequest')
58
+ CreateConnectionAliasResult = Shapes::StructureShape.new(name: 'CreateConnectionAliasResult')
43
59
  CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
44
60
  CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
45
61
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
@@ -53,6 +69,8 @@ module Aws::WorkSpaces
53
69
  DedicatedTenancySupportResultEnum = Shapes::StringShape.new(name: 'DedicatedTenancySupportResultEnum')
54
70
  DefaultOu = Shapes::StringShape.new(name: 'DefaultOu')
55
71
  DefaultWorkspaceCreationProperties = Shapes::StructureShape.new(name: 'DefaultWorkspaceCreationProperties')
72
+ DeleteConnectionAliasRequest = Shapes::StructureShape.new(name: 'DeleteConnectionAliasRequest')
73
+ DeleteConnectionAliasResult = Shapes::StructureShape.new(name: 'DeleteConnectionAliasResult')
56
74
  DeleteIpGroupRequest = Shapes::StructureShape.new(name: 'DeleteIpGroupRequest')
57
75
  DeleteIpGroupResult = Shapes::StructureShape.new(name: 'DeleteIpGroupResult')
58
76
  DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
@@ -67,6 +85,10 @@ module Aws::WorkSpaces
67
85
  DescribeAccountResult = Shapes::StructureShape.new(name: 'DescribeAccountResult')
68
86
  DescribeClientPropertiesRequest = Shapes::StructureShape.new(name: 'DescribeClientPropertiesRequest')
69
87
  DescribeClientPropertiesResult = Shapes::StructureShape.new(name: 'DescribeClientPropertiesResult')
88
+ DescribeConnectionAliasPermissionsRequest = Shapes::StructureShape.new(name: 'DescribeConnectionAliasPermissionsRequest')
89
+ DescribeConnectionAliasPermissionsResult = Shapes::StructureShape.new(name: 'DescribeConnectionAliasPermissionsResult')
90
+ DescribeConnectionAliasesRequest = Shapes::StructureShape.new(name: 'DescribeConnectionAliasesRequest')
91
+ DescribeConnectionAliasesResult = Shapes::StructureShape.new(name: 'DescribeConnectionAliasesResult')
70
92
  DescribeIpGroupsRequest = Shapes::StructureShape.new(name: 'DescribeIpGroupsRequest')
71
93
  DescribeIpGroupsResult = Shapes::StructureShape.new(name: 'DescribeIpGroupsResult')
72
94
  DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
@@ -90,6 +112,8 @@ module Aws::WorkSpaces
90
112
  DirectoryIdList = Shapes::ListShape.new(name: 'DirectoryIdList')
91
113
  DirectoryList = Shapes::ListShape.new(name: 'DirectoryList')
92
114
  DirectoryName = Shapes::StringShape.new(name: 'DirectoryName')
115
+ DisassociateConnectionAliasRequest = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasRequest')
116
+ DisassociateConnectionAliasResult = Shapes::StructureShape.new(name: 'DisassociateConnectionAliasResult')
93
117
  DisassociateIpGroupsRequest = Shapes::StructureShape.new(name: 'DisassociateIpGroupsRequest')
94
118
  DisassociateIpGroupsResult = Shapes::StructureShape.new(name: 'DisassociateIpGroupsResult')
95
119
  DnsIpAddresses = Shapes::ListShape.new(name: 'DnsIpAddresses')
@@ -208,6 +232,8 @@ module Aws::WorkSpaces
208
232
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
209
233
  UnsupportedNetworkConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedNetworkConfigurationException')
210
234
  UnsupportedWorkspaceConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedWorkspaceConfigurationException')
235
+ UpdateConnectionAliasPermissionRequest = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionRequest')
236
+ UpdateConnectionAliasPermissionResult = Shapes::StructureShape.new(name: 'UpdateConnectionAliasPermissionResult')
211
237
  UpdateRulesOfIpGroupRequest = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupRequest')
212
238
  UpdateRulesOfIpGroupResult = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupResult')
213
239
  UpdateWorkspaceImagePermissionRequest = Shapes::StructureShape.new(name: 'UpdateWorkspaceImagePermissionRequest')
@@ -262,6 +288,13 @@ module Aws::WorkSpaces
262
288
 
263
289
  ApplicationList.member = Shapes::ShapeRef.new(shape: Application)
264
290
 
291
+ AssociateConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
292
+ AssociateConnectionAliasRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
293
+ AssociateConnectionAliasRequest.struct_class = Types::AssociateConnectionAliasRequest
294
+
295
+ AssociateConnectionAliasResult.add_member(:connection_identifier, Shapes::ShapeRef.new(shape: ConnectionIdentifier, location_name: "ConnectionIdentifier"))
296
+ AssociateConnectionAliasResult.struct_class = Types::AssociateConnectionAliasResult
297
+
265
298
  AssociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
266
299
  AssociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
267
300
  AssociateIpGroupsRequest.struct_class = Types::AssociateIpGroupsRequest
@@ -290,6 +323,31 @@ module Aws::WorkSpaces
290
323
  ComputeType.add_member(:name, Shapes::ShapeRef.new(shape: Compute, location_name: "Name"))
291
324
  ComputeType.struct_class = Types::ComputeType
292
325
 
326
+ ConnectionAlias.add_member(:connection_string, Shapes::ShapeRef.new(shape: ConnectionString, location_name: "ConnectionString"))
327
+ ConnectionAlias.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
328
+ ConnectionAlias.add_member(:state, Shapes::ShapeRef.new(shape: ConnectionAliasState, location_name: "State"))
329
+ ConnectionAlias.add_member(:owner_account_id, Shapes::ShapeRef.new(shape: AwsAccount, location_name: "OwnerAccountId"))
330
+ ConnectionAlias.add_member(:associations, Shapes::ShapeRef.new(shape: ConnectionAliasAssociationList, location_name: "Associations"))
331
+ ConnectionAlias.struct_class = Types::ConnectionAlias
332
+
333
+ ConnectionAliasAssociation.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "AssociationStatus"))
334
+ ConnectionAliasAssociation.add_member(:associated_account_id, Shapes::ShapeRef.new(shape: AwsAccount, location_name: "AssociatedAccountId"))
335
+ ConnectionAliasAssociation.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceId"))
336
+ ConnectionAliasAssociation.add_member(:connection_identifier, Shapes::ShapeRef.new(shape: ConnectionIdentifier, location_name: "ConnectionIdentifier"))
337
+ ConnectionAliasAssociation.struct_class = Types::ConnectionAliasAssociation
338
+
339
+ ConnectionAliasAssociationList.member = Shapes::ShapeRef.new(shape: ConnectionAliasAssociation)
340
+
341
+ ConnectionAliasIdList.member = Shapes::ShapeRef.new(shape: ConnectionAliasId)
342
+
343
+ ConnectionAliasList.member = Shapes::ShapeRef.new(shape: ConnectionAlias)
344
+
345
+ ConnectionAliasPermission.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccount, required: true, location_name: "SharedAccountId"))
346
+ ConnectionAliasPermission.add_member(:allow_association, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "AllowAssociation"))
347
+ ConnectionAliasPermission.struct_class = Types::ConnectionAliasPermission
348
+
349
+ ConnectionAliasPermissions.member = Shapes::ShapeRef.new(shape: ConnectionAliasPermission)
350
+
293
351
  CopyWorkspaceImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: WorkspaceImageName, required: true, location_name: "Name"))
294
352
  CopyWorkspaceImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: WorkspaceImageDescription, location_name: "Description"))
295
353
  CopyWorkspaceImageRequest.add_member(:source_image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, required: true, location_name: "SourceImageId"))
@@ -300,6 +358,13 @@ module Aws::WorkSpaces
300
358
  CopyWorkspaceImageResult.add_member(:image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, location_name: "ImageId"))
301
359
  CopyWorkspaceImageResult.struct_class = Types::CopyWorkspaceImageResult
302
360
 
361
+ CreateConnectionAliasRequest.add_member(:connection_string, Shapes::ShapeRef.new(shape: ConnectionString, required: true, location_name: "ConnectionString"))
362
+ CreateConnectionAliasRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
363
+ CreateConnectionAliasRequest.struct_class = Types::CreateConnectionAliasRequest
364
+
365
+ CreateConnectionAliasResult.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
366
+ CreateConnectionAliasResult.struct_class = Types::CreateConnectionAliasResult
367
+
303
368
  CreateIpGroupRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, required: true, location_name: "GroupName"))
304
369
  CreateIpGroupRequest.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "GroupDesc"))
305
370
  CreateIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "UserRules"))
@@ -332,6 +397,11 @@ module Aws::WorkSpaces
332
397
  DefaultWorkspaceCreationProperties.add_member(:enable_maintenance_mode, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableMaintenanceMode"))
333
398
  DefaultWorkspaceCreationProperties.struct_class = Types::DefaultWorkspaceCreationProperties
334
399
 
400
+ DeleteConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
401
+ DeleteConnectionAliasRequest.struct_class = Types::DeleteConnectionAliasRequest
402
+
403
+ DeleteConnectionAliasResult.struct_class = Types::DeleteConnectionAliasResult
404
+
335
405
  DeleteIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
336
406
  DeleteIpGroupRequest.struct_class = Types::DeleteIpGroupRequest
337
407
 
@@ -372,6 +442,26 @@ module Aws::WorkSpaces
372
442
  DescribeClientPropertiesResult.add_member(:client_properties_list, Shapes::ShapeRef.new(shape: ClientPropertiesList, location_name: "ClientPropertiesList"))
373
443
  DescribeClientPropertiesResult.struct_class = Types::DescribeClientPropertiesResult
374
444
 
445
+ DescribeConnectionAliasPermissionsRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
446
+ DescribeConnectionAliasPermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
447
+ DescribeConnectionAliasPermissionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
448
+ DescribeConnectionAliasPermissionsRequest.struct_class = Types::DescribeConnectionAliasPermissionsRequest
449
+
450
+ DescribeConnectionAliasPermissionsResult.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, location_name: "AliasId"))
451
+ DescribeConnectionAliasPermissionsResult.add_member(:connection_alias_permissions, Shapes::ShapeRef.new(shape: ConnectionAliasPermissions, location_name: "ConnectionAliasPermissions"))
452
+ DescribeConnectionAliasPermissionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
453
+ DescribeConnectionAliasPermissionsResult.struct_class = Types::DescribeConnectionAliasPermissionsResult
454
+
455
+ DescribeConnectionAliasesRequest.add_member(:alias_ids, Shapes::ShapeRef.new(shape: ConnectionAliasIdList, location_name: "AliasIds"))
456
+ DescribeConnectionAliasesRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceId"))
457
+ DescribeConnectionAliasesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
458
+ DescribeConnectionAliasesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
459
+ DescribeConnectionAliasesRequest.struct_class = Types::DescribeConnectionAliasesRequest
460
+
461
+ DescribeConnectionAliasesResult.add_member(:connection_aliases, Shapes::ShapeRef.new(shape: ConnectionAliasList, location_name: "ConnectionAliases"))
462
+ DescribeConnectionAliasesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
463
+ DescribeConnectionAliasesResult.struct_class = Types::DescribeConnectionAliasesResult
464
+
375
465
  DescribeIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, location_name: "GroupIds"))
376
466
  DescribeIpGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
377
467
  DescribeIpGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
@@ -456,6 +546,11 @@ module Aws::WorkSpaces
456
546
 
457
547
  DirectoryList.member = Shapes::ShapeRef.new(shape: WorkspaceDirectory)
458
548
 
549
+ DisassociateConnectionAliasRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
550
+ DisassociateConnectionAliasRequest.struct_class = Types::DisassociateConnectionAliasRequest
551
+
552
+ DisassociateConnectionAliasResult.struct_class = Types::DisassociateConnectionAliasResult
553
+
459
554
  DisassociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
460
555
  DisassociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
461
556
  DisassociateIpGroupsRequest.struct_class = Types::DisassociateIpGroupsRequest
@@ -721,6 +816,12 @@ module Aws::WorkSpaces
721
816
  UnsupportedWorkspaceConfigurationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
722
817
  UnsupportedWorkspaceConfigurationException.struct_class = Types::UnsupportedWorkspaceConfigurationException
723
818
 
819
+ UpdateConnectionAliasPermissionRequest.add_member(:alias_id, Shapes::ShapeRef.new(shape: ConnectionAliasId, required: true, location_name: "AliasId"))
820
+ UpdateConnectionAliasPermissionRequest.add_member(:connection_alias_permission, Shapes::ShapeRef.new(shape: ConnectionAliasPermission, required: true, location_name: "ConnectionAliasPermission"))
821
+ UpdateConnectionAliasPermissionRequest.struct_class = Types::UpdateConnectionAliasPermissionRequest
822
+
823
+ UpdateConnectionAliasPermissionResult.struct_class = Types::UpdateConnectionAliasPermissionResult
824
+
724
825
  UpdateRulesOfIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
725
826
  UpdateRulesOfIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, required: true, location_name: "UserRules"))
726
827
  UpdateRulesOfIpGroupRequest.struct_class = Types::UpdateRulesOfIpGroupRequest
@@ -876,6 +977,20 @@ module Aws::WorkSpaces
876
977
  "uid" => "workspaces-2015-04-08",
877
978
  }
878
979
 
980
+ api.add_operation(:associate_connection_alias, Seahorse::Model::Operation.new.tap do |o|
981
+ o.name = "AssociateConnectionAlias"
982
+ o.http_method = "POST"
983
+ o.http_request_uri = "/"
984
+ o.input = Shapes::ShapeRef.new(shape: AssociateConnectionAliasRequest)
985
+ o.output = Shapes::ShapeRef.new(shape: AssociateConnectionAliasResult)
986
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
987
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
988
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
989
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
990
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
991
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
992
+ end)
993
+
879
994
  api.add_operation(:associate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
880
995
  o.name = "AssociateIpGroups"
881
996
  o.http_method = "POST"
@@ -918,6 +1033,20 @@ module Aws::WorkSpaces
918
1033
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
919
1034
  end)
920
1035
 
1036
+ api.add_operation(:create_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1037
+ o.name = "CreateConnectionAlias"
1038
+ o.http_method = "POST"
1039
+ o.http_request_uri = "/"
1040
+ o.input = Shapes::ShapeRef.new(shape: CreateConnectionAliasRequest)
1041
+ o.output = Shapes::ShapeRef.new(shape: CreateConnectionAliasResult)
1042
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
1043
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1044
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1045
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
1046
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1047
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1048
+ end)
1049
+
921
1050
  api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
922
1051
  o.name = "CreateIpGroup"
923
1052
  o.http_method = "POST"
@@ -952,6 +1081,20 @@ module Aws::WorkSpaces
952
1081
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
953
1082
  end)
954
1083
 
1084
+ api.add_operation(:delete_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1085
+ o.name = "DeleteConnectionAlias"
1086
+ o.http_method = "POST"
1087
+ o.http_request_uri = "/"
1088
+ o.input = Shapes::ShapeRef.new(shape: DeleteConnectionAliasRequest)
1089
+ o.output = Shapes::ShapeRef.new(shape: DeleteConnectionAliasResult)
1090
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1091
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
1092
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1093
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1094
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1095
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1096
+ end)
1097
+
955
1098
  api.add_operation(:delete_ip_group, Seahorse::Model::Operation.new.tap do |o|
956
1099
  o.name = "DeleteIpGroup"
957
1100
  o.http_method = "POST"
@@ -1027,6 +1170,29 @@ module Aws::WorkSpaces
1027
1170
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1028
1171
  end)
1029
1172
 
1173
+ api.add_operation(:describe_connection_alias_permissions, Seahorse::Model::Operation.new.tap do |o|
1174
+ o.name = "DescribeConnectionAliasPermissions"
1175
+ o.http_method = "POST"
1176
+ o.http_request_uri = "/"
1177
+ o.input = Shapes::ShapeRef.new(shape: DescribeConnectionAliasPermissionsRequest)
1178
+ o.output = Shapes::ShapeRef.new(shape: DescribeConnectionAliasPermissionsResult)
1179
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1180
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1181
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1182
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1183
+ end)
1184
+
1185
+ api.add_operation(:describe_connection_aliases, Seahorse::Model::Operation.new.tap do |o|
1186
+ o.name = "DescribeConnectionAliases"
1187
+ o.http_method = "POST"
1188
+ o.http_request_uri = "/"
1189
+ o.input = Shapes::ShapeRef.new(shape: DescribeConnectionAliasesRequest)
1190
+ o.output = Shapes::ShapeRef.new(shape: DescribeConnectionAliasesResult)
1191
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1192
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1193
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1194
+ end)
1195
+
1030
1196
  api.add_operation(:describe_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1031
1197
  o.name = "DescribeIpGroups"
1032
1198
  o.http_method = "POST"
@@ -1130,6 +1296,19 @@ module Aws::WorkSpaces
1130
1296
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1131
1297
  end)
1132
1298
 
1299
+ api.add_operation(:disassociate_connection_alias, Seahorse::Model::Operation.new.tap do |o|
1300
+ o.name = "DisassociateConnectionAlias"
1301
+ o.http_method = "POST"
1302
+ o.http_request_uri = "/"
1303
+ o.input = Shapes::ShapeRef.new(shape: DisassociateConnectionAliasRequest)
1304
+ o.output = Shapes::ShapeRef.new(shape: DisassociateConnectionAliasResult)
1305
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1306
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1307
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1308
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1309
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1310
+ end)
1311
+
1133
1312
  api.add_operation(:disassociate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
1134
1313
  o.name = "DisassociateIpGroups"
1135
1314
  o.http_method = "POST"
@@ -1342,6 +1521,21 @@ module Aws::WorkSpaces
1342
1521
  o.output = Shapes::ShapeRef.new(shape: TerminateWorkspacesResult)
1343
1522
  end)
1344
1523
 
1524
+ api.add_operation(:update_connection_alias_permission, Seahorse::Model::Operation.new.tap do |o|
1525
+ o.name = "UpdateConnectionAliasPermission"
1526
+ o.http_method = "POST"
1527
+ o.http_request_uri = "/"
1528
+ o.input = Shapes::ShapeRef.new(shape: UpdateConnectionAliasPermissionRequest)
1529
+ o.output = Shapes::ShapeRef.new(shape: UpdateConnectionAliasPermissionResult)
1530
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1531
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1532
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
1533
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1534
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
1535
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1536
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1537
+ end)
1538
+
1345
1539
  api.add_operation(:update_rules_of_ip_group, Seahorse::Model::Operation.new.tap do |o|
1346
1540
  o.name = "UpdateRulesOfIpGroup"
1347
1541
  o.http_method = "POST"
@@ -67,6 +67,46 @@ module Aws::WorkSpaces
67
67
  include Aws::Structure
68
68
  end
69
69
 
70
+ # @note When making an API call, you may pass AssociateConnectionAliasRequest
71
+ # data as a hash:
72
+ #
73
+ # {
74
+ # alias_id: "ConnectionAliasId", # required
75
+ # resource_id: "NonEmptyString", # required
76
+ # }
77
+ #
78
+ # @!attribute [rw] alias_id
79
+ # The identifier of the connection alias.
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] resource_id
83
+ # The identifier of the directory to associate the connection alias
84
+ # with.
85
+ # @return [String]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAliasRequest AWS API Documentation
88
+ #
89
+ class AssociateConnectionAliasRequest < Struct.new(
90
+ :alias_id,
91
+ :resource_id)
92
+ SENSITIVE = []
93
+ include Aws::Structure
94
+ end
95
+
96
+ # @!attribute [rw] connection_identifier
97
+ # The identifier of the connection alias association. You use the
98
+ # connection identifier in the DNS TXT record when you're configuring
99
+ # your DNS routing policies.
100
+ # @return [String]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAliasResult AWS API Documentation
103
+ #
104
+ class AssociateConnectionAliasResult < Struct.new(
105
+ :connection_identifier)
106
+ SENSITIVE = []
107
+ include Aws::Structure
108
+ end
109
+
70
110
  # @note When making an API call, you may pass AssociateIpGroupsRequest
71
111
  # data as a hash:
72
112
  #
@@ -186,6 +226,121 @@ module Aws::WorkSpaces
186
226
  include Aws::Structure
187
227
  end
188
228
 
229
+ # Describes a connection alias. Connection aliases are used for
230
+ # cross-Region redirection. For more information, see [ Cross-Region
231
+ # Redirection for Amazon WorkSpaces][1].
232
+ #
233
+ #
234
+ #
235
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
236
+ #
237
+ # @!attribute [rw] connection_string
238
+ # The connection string specified for the connection alias. The
239
+ # connection string must be in the form of a fully qualified domain
240
+ # name (FQDN), such as `www.example.com`.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] alias_id
244
+ # The identifier of the connection alias.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] state
248
+ # The current state of the connection alias.
249
+ # @return [String]
250
+ #
251
+ # @!attribute [rw] owner_account_id
252
+ # The identifier of the AWS account that owns the connection alias.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] associations
256
+ # The association status of the connection alias.
257
+ # @return [Array<Types::ConnectionAliasAssociation>]
258
+ #
259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAlias AWS API Documentation
260
+ #
261
+ class ConnectionAlias < Struct.new(
262
+ :connection_string,
263
+ :alias_id,
264
+ :state,
265
+ :owner_account_id,
266
+ :associations)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
271
+ # Describes a connection alias association that is used for cross-Region
272
+ # redirection. For more information, see [ Cross-Region Redirection for
273
+ # Amazon WorkSpaces][1].
274
+ #
275
+ #
276
+ #
277
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
278
+ #
279
+ # @!attribute [rw] association_status
280
+ # The association status of the connection alias.
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] associated_account_id
284
+ # The identifier of the AWS account that associated the connection
285
+ # alias with a directory.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] resource_id
289
+ # The identifier of the directory associated with a connection alias.
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] connection_identifier
293
+ # The identifier of the connection alias association. You use the
294
+ # connection identifier in the DNS TXT record when you're configuring
295
+ # your DNS routing policies.
296
+ # @return [String]
297
+ #
298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAliasAssociation AWS API Documentation
299
+ #
300
+ class ConnectionAliasAssociation < Struct.new(
301
+ :association_status,
302
+ :associated_account_id,
303
+ :resource_id,
304
+ :connection_identifier)
305
+ SENSITIVE = []
306
+ include Aws::Structure
307
+ end
308
+
309
+ # Describes the permissions for a connection alias. Connection aliases
310
+ # are used for cross-Region redirection. For more information, see [
311
+ # Cross-Region Redirection for Amazon WorkSpaces][1].
312
+ #
313
+ #
314
+ #
315
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html
316
+ #
317
+ # @note When making an API call, you may pass ConnectionAliasPermission
318
+ # data as a hash:
319
+ #
320
+ # {
321
+ # shared_account_id: "AwsAccount", # required
322
+ # allow_association: false, # required
323
+ # }
324
+ #
325
+ # @!attribute [rw] shared_account_id
326
+ # The identifier of the AWS account that the connection alias is
327
+ # shared with.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] allow_association
331
+ # Indicates whether the specified AWS account is allowed to associate
332
+ # the connection alias with a directory.
333
+ # @return [Boolean]
334
+ #
335
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ConnectionAliasPermission AWS API Documentation
336
+ #
337
+ class ConnectionAliasPermission < Struct.new(
338
+ :shared_account_id,
339
+ :allow_association)
340
+ SENSITIVE = []
341
+ include Aws::Structure
342
+ end
343
+
189
344
  # @note When making an API call, you may pass CopyWorkspaceImageRequest
190
345
  # data as a hash:
191
346
  #
@@ -246,6 +401,55 @@ module Aws::WorkSpaces
246
401
  include Aws::Structure
247
402
  end
248
403
 
404
+ # @note When making an API call, you may pass CreateConnectionAliasRequest
405
+ # data as a hash:
406
+ #
407
+ # {
408
+ # connection_string: "ConnectionString", # required
409
+ # tags: [
410
+ # {
411
+ # key: "TagKey", # required
412
+ # value: "TagValue",
413
+ # },
414
+ # ],
415
+ # }
416
+ #
417
+ # @!attribute [rw] connection_string
418
+ # A connection string in the form of a fully qualified domain name
419
+ # (FQDN), such as `www.example.com`.
420
+ #
421
+ # After you create a connection string, it is always associated to
422
+ # your AWS account. You cannot recreate the same connection string
423
+ # with a different account, even if you delete all instances of it
424
+ # from the original account. The connection string is globally
425
+ # reserved for your account.
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] tags
429
+ # The tags to associate with the connection alias.
430
+ # @return [Array<Types::Tag>]
431
+ #
432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAliasRequest AWS API Documentation
433
+ #
434
+ class CreateConnectionAliasRequest < Struct.new(
435
+ :connection_string,
436
+ :tags)
437
+ SENSITIVE = []
438
+ include Aws::Structure
439
+ end
440
+
441
+ # @!attribute [rw] alias_id
442
+ # The identifier of the connection alias.
443
+ # @return [String]
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAliasResult AWS API Documentation
446
+ #
447
+ class CreateConnectionAliasResult < Struct.new(
448
+ :alias_id)
449
+ SENSITIVE = []
450
+ include Aws::Structure
451
+ end
452
+
249
453
  # @note When making an API call, you may pass CreateIpGroupRequest
250
454
  # data as a hash:
251
455
  #
@@ -321,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
@@ -1250,7 +1615,7 @@ module Aws::WorkSpaces
1250
1615
  #
1251
1616
  # {
1252
1617
  # ec2_image_id: "Ec2ImageId", # required
1253
- # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO
1618
+ # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO, BYOL_REGULAR_WSP
1254
1619
  # image_name: "WorkspaceImageName", # required
1255
1620
  # image_description: "WorkspaceImageDescription", # required
1256
1621
  # tags: [
@@ -1267,9 +1632,15 @@ module Aws::WorkSpaces
1267
1632
  # @return [String]
1268
1633
  #
1269
1634
  # @!attribute [rw] ingestion_process
1270
- # The ingestion process to be used when importing the image. For
1271
- # non-GPU-enabled bundles (bundles other than Graphics or
1272
- # GraphicsPro), specify `BYOL_REGULAR`.
1635
+ # The ingestion process to be used when importing the image, depending
1636
+ # on which protocol you want to use for your BYOL Workspace image,
1637
+ # either PCoIP or WorkSpaces Streaming Protocol (WSP). To use WSP,
1638
+ # specify a value that ends in `_WSP`. To use PCoIP, specify a value
1639
+ # that does not end in `_WSP`.
1640
+ #
1641
+ # For non-GPU-enabled bundles (bundles other than Graphics or
1642
+ # GraphicsPro), specify `BYOL_REGULAR` or `BYOL_REGULAR_WSP`,
1643
+ # depending on the protocol.
1273
1644
  # @return [String]
1274
1645
  #
1275
1646
  # @!attribute [rw] image_name
@@ -2428,6 +2799,40 @@ module Aws::WorkSpaces
2428
2799
  include Aws::Structure
2429
2800
  end
2430
2801
 
2802
+ # @note When making an API call, you may pass UpdateConnectionAliasPermissionRequest
2803
+ # data as a hash:
2804
+ #
2805
+ # {
2806
+ # alias_id: "ConnectionAliasId", # required
2807
+ # connection_alias_permission: { # required
2808
+ # shared_account_id: "AwsAccount", # required
2809
+ # allow_association: false, # required
2810
+ # },
2811
+ # }
2812
+ #
2813
+ # @!attribute [rw] alias_id
2814
+ # The identifier of the connection alias that you want to update
2815
+ # permissions for.
2816
+ # @return [String]
2817
+ #
2818
+ # @!attribute [rw] connection_alias_permission
2819
+ # Indicates whether to share or unshare the connection alias with the
2820
+ # specified AWS account.
2821
+ # @return [Types::ConnectionAliasPermission]
2822
+ #
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionRequest AWS API Documentation
2824
+ #
2825
+ class UpdateConnectionAliasPermissionRequest < Struct.new(
2826
+ :alias_id,
2827
+ :connection_alias_permission)
2828
+ SENSITIVE = []
2829
+ include Aws::Structure
2830
+ end
2831
+
2832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermissionResult AWS API Documentation
2833
+ #
2834
+ class UpdateConnectionAliasPermissionResult < Aws::EmptyStructure; end
2835
+
2431
2836
  # @note When making an API call, you may pass UpdateRulesOfIpGroupRequest
2432
2837
  # data as a hash:
2433
2838
  #
@@ -2483,6 +2888,9 @@ module Aws::WorkSpaces
2483
2888
  # @!attribute [rw] shared_account_id
2484
2889
  # The identifier of the AWS account to share or unshare the image
2485
2890
  # with.
2891
+ #
2892
+ # Before sharing the image, confirm that you are sharing to the
2893
+ # correct AWS account ID.
2486
2894
  # @return [String]
2487
2895
  #
2488
2896
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermissionRequest AWS API Documentation
@@ -2534,6 +2942,19 @@ module Aws::WorkSpaces
2534
2942
  #
2535
2943
  # @!attribute [rw] state
2536
2944
  # The operational state of the WorkSpace.
2945
+ #
2946
+ # <note markdown="1"> After a WorkSpace is terminated, the `TERMINATED` state is returned
2947
+ # only briefly before the WorkSpace directory metadata is cleaned up,
2948
+ # so this state is rarely returned. To confirm that a WorkSpace is
2949
+ # terminated, check for the WorkSpace ID by using [
2950
+ # DescribeWorkSpaces][1]. If the WorkSpace ID isn't returned, then
2951
+ # the WorkSpace has been successfully terminated.
2952
+ #
2953
+ # </note>
2954
+ #
2955
+ #
2956
+ #
2957
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html
2537
2958
  # @return [String]
2538
2959
  #
2539
2960
  # @!attribute [rw] bundle_id
@@ -2830,7 +3251,23 @@ module Aws::WorkSpaces
2830
3251
  # @return [Boolean]
2831
3252
  #
2832
3253
  # @!attribute [rw] default_ou
2833
- # The default organizational unit (OU) for your WorkSpace directories.
3254
+ # The default organizational unit (OU) for your WorkSpaces
3255
+ # directories. This string must be the full Lightweight Directory
3256
+ # Access Protocol (LDAP) distinguished name for the target domain and
3257
+ # OU. It must be in the form `"OU=value,DC=value,DC=value"`, where
3258
+ # *value* is any string of characters, and the number of domain
3259
+ # components (DCs) is two or more. For example,
3260
+ # `OU=WorkSpaces_machines,DC=machines,DC=example,DC=com`.
3261
+ #
3262
+ # * To avoid errors, certain characters in the distinguished name must
3263
+ # be escaped. For more information, see [ Distinguished Names][1] in
3264
+ # the Microsoft documentation.
3265
+ #
3266
+ # * The API doesn't validate whether the OU exists.
3267
+ #
3268
+ #
3269
+ #
3270
+ # [1]: https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names
2834
3271
  # @return [String]
2835
3272
  #
2836
3273
  # @!attribute [rw] custom_security_group_id
@@ -2913,6 +3350,16 @@ module Aws::WorkSpaces
2913
3350
  #
2914
3351
  # @!attribute [rw] state
2915
3352
  # The state of the directory's registration with Amazon WorkSpaces.
3353
+ # After a directory is deregistered, the `DEREGISTERED` state is
3354
+ # returned very briefly before the directory metadata is cleaned up,
3355
+ # so this state is rarely returned. To confirm that a directory is
3356
+ # deregistered, check for the directory ID by using [
3357
+ # DescribeWorkspaceDirectories][1]. If the directory ID isn't
3358
+ # returned, then the directory has been successfully deregistered.
3359
+ #
3360
+ #
3361
+ #
3362
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html
2916
3363
  # @return [String]
2917
3364
  #
2918
3365
  # @!attribute [rw] workspace_creation_properties