aws-sdk-workspaces 1.76.0 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ced20f21794e37aaa1d4d5e4beeef4ccfb17249611dec81129a7b77ed4e4722f
4
- data.tar.gz: c8f312881dcc9439aee9b98f75c74ec366976e97c0d11ea2f4ebc4dcc3b35cf1
3
+ metadata.gz: b0e084ad9ab2ceb8e458b40f7138885d5c53c89ef35ebc63ed9cf1967335f0c1
4
+ data.tar.gz: '0142083898dafcc207d270369d8e6e1bf8d081350268544271abfe3e190e7285'
5
5
  SHA512:
6
- metadata.gz: d360ffc7257bef159e99aafce795e648c3f8c79ab2dbf3afc275df3b5d6a6757897c831380de1f216e3c0a91622c64c08d47c95456147efd3648b38dfb843627
7
- data.tar.gz: 31902a4ec491a5c595ebfc8e2c11052450a728e7c8cf2718fba568ef7a080ece69f1aba07c6bfd5ada4072b13975119c669d2cad3b8aadcf533faf5e95e33e09
6
+ metadata.gz: a6713a0a85f7018e99b0319ce7eb50440e596f5e53c8b4c34532dbdc78dd693fb1bbd0206f7a49f2f503a543f0a8ba776a05bb298be4623455b60deb1141a131
7
+ data.tar.gz: c69bee443267085552f374a18f8ee73a85fa4c5e6d57d4dc8671b8d4bb0bb33cdaa04aec5b914bbfbf604d3cb0a2d3396725a1115d137de36997f62350af4259
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.78.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.77.0 (2022-11-17)
12
+ ------------------
13
+
14
+ * Feature - The release introduces CreateStandbyWorkspaces, an API that allows you to create standby WorkSpaces associated with a primary WorkSpace in another Region. DescribeWorkspaces now includes related WorkSpaces properties. DescribeWorkspaceBundles and CreateWorkspaceBundle now return more bundle details.
15
+
4
16
  1.76.0 (2022-11-15)
5
17
  ------------------
6
18
 
@@ -440,4 +452,4 @@ Unreleased Changes
440
452
  1.0.0.rc1 (2016-12-05)
441
453
  ------------------
442
454
 
443
- * Feature - Initial preview release of the `aws-sdk-workspaces` gem.
455
+ * Feature - Initial preview release of the `aws-sdk-workspaces` gem.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.76.0
1
+ 1.78.0
@@ -708,6 +708,64 @@ module Aws::WorkSpaces
708
708
  req.send_request(options)
709
709
  end
710
710
 
711
+ # Creates a Standby WorkSpace in a secondary region.
712
+ #
713
+ # @option params [required, String] :primary_region
714
+ # The Region of the primary WorkSpace.
715
+ #
716
+ # @option params [required, Array<Types::StandbyWorkspace>] :standby_workspaces
717
+ # Information about the Standby WorkSpace to be created.
718
+ #
719
+ # @return [Types::CreateStandbyWorkspacesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
720
+ #
721
+ # * {Types::CreateStandbyWorkspacesResult#failed_standby_requests #failed_standby_requests} => Array&lt;Types::FailedCreateStandbyWorkspacesRequest&gt;
722
+ # * {Types::CreateStandbyWorkspacesResult#pending_standby_requests #pending_standby_requests} => Array&lt;Types::PendingCreateStandbyWorkspacesRequest&gt;
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ #
726
+ # resp = client.create_standby_workspaces({
727
+ # primary_region: "Region", # required
728
+ # standby_workspaces: [ # required
729
+ # {
730
+ # primary_workspace_id: "WorkspaceId", # required
731
+ # volume_encryption_key: "VolumeEncryptionKey",
732
+ # directory_id: "DirectoryId", # required
733
+ # tags: [
734
+ # {
735
+ # key: "TagKey", # required
736
+ # value: "TagValue",
737
+ # },
738
+ # ],
739
+ # },
740
+ # ],
741
+ # })
742
+ #
743
+ # @example Response structure
744
+ #
745
+ # resp.failed_standby_requests #=> Array
746
+ # resp.failed_standby_requests[0].standby_workspace_request.primary_workspace_id #=> String
747
+ # resp.failed_standby_requests[0].standby_workspace_request.volume_encryption_key #=> String
748
+ # resp.failed_standby_requests[0].standby_workspace_request.directory_id #=> String
749
+ # resp.failed_standby_requests[0].standby_workspace_request.tags #=> Array
750
+ # resp.failed_standby_requests[0].standby_workspace_request.tags[0].key #=> String
751
+ # resp.failed_standby_requests[0].standby_workspace_request.tags[0].value #=> String
752
+ # resp.failed_standby_requests[0].error_code #=> String
753
+ # resp.failed_standby_requests[0].error_message #=> String
754
+ # resp.pending_standby_requests #=> Array
755
+ # resp.pending_standby_requests[0].user_name #=> String
756
+ # resp.pending_standby_requests[0].directory_id #=> String
757
+ # resp.pending_standby_requests[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "RESTORING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
758
+ # resp.pending_standby_requests[0].workspace_id #=> String
759
+ #
760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateStandbyWorkspaces AWS API Documentation
761
+ #
762
+ # @overload create_standby_workspaces(params = {})
763
+ # @param [Hash] params ({})
764
+ def create_standby_workspaces(params = {}, options = {})
765
+ req = build_request(:create_standby_workspaces, params)
766
+ req.send_request(options)
767
+ end
768
+
711
769
  # Creates the specified tags for the specified WorkSpaces resource.
712
770
  #
713
771
  # @option params [required, String] :resource_id
@@ -888,6 +946,8 @@ module Aws::WorkSpaces
888
946
  # resp.workspace_bundle.compute_type.name #=> String, one of "VALUE", "STANDARD", "PERFORMANCE", "POWER", "GRAPHICS", "POWERPRO", "GRAPHICSPRO", "GRAPHICS_G4DN", "GRAPHICSPRO_G4DN"
889
947
  # resp.workspace_bundle.last_updated_time #=> Time
890
948
  # resp.workspace_bundle.creation_time #=> Time
949
+ # resp.workspace_bundle.state #=> String, one of "AVAILABLE", "PENDING", "ERROR"
950
+ # resp.workspace_bundle.bundle_type #=> String, one of "REGULAR", "STANDBY"
891
951
  #
892
952
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaceBundle AWS API Documentation
893
953
  #
@@ -1056,6 +1116,11 @@ module Aws::WorkSpaces
1056
1116
  # resp.pending_requests[0].modification_states #=> Array
1057
1117
  # resp.pending_requests[0].modification_states[0].resource #=> String, one of "ROOT_VOLUME", "USER_VOLUME", "COMPUTE_TYPE"
1058
1118
  # resp.pending_requests[0].modification_states[0].state #=> String, one of "UPDATE_INITIATED", "UPDATE_IN_PROGRESS"
1119
+ # resp.pending_requests[0].related_workspaces #=> Array
1120
+ # resp.pending_requests[0].related_workspaces[0].workspace_id #=> String
1121
+ # resp.pending_requests[0].related_workspaces[0].region #=> String
1122
+ # resp.pending_requests[0].related_workspaces[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "RESTORING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
1123
+ # resp.pending_requests[0].related_workspaces[0].type #=> String, one of "PRIMARY", "STANDBY"
1059
1124
  #
1060
1125
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaces AWS API Documentation
1061
1126
  #
@@ -1772,6 +1837,8 @@ module Aws::WorkSpaces
1772
1837
  # resp.bundles[0].compute_type.name #=> String, one of "VALUE", "STANDARD", "PERFORMANCE", "POWER", "GRAPHICS", "POWERPRO", "GRAPHICSPRO", "GRAPHICS_G4DN", "GRAPHICSPRO_G4DN"
1773
1838
  # resp.bundles[0].last_updated_time #=> Time
1774
1839
  # resp.bundles[0].creation_time #=> Time
1840
+ # resp.bundles[0].state #=> String, one of "AVAILABLE", "PENDING", "ERROR"
1841
+ # resp.bundles[0].bundle_type #=> String, one of "REGULAR", "STANDBY"
1775
1842
  # resp.next_token #=> String
1776
1843
  #
1777
1844
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceBundles AWS API Documentation
@@ -2076,6 +2143,11 @@ module Aws::WorkSpaces
2076
2143
  # resp.workspaces[0].modification_states #=> Array
2077
2144
  # resp.workspaces[0].modification_states[0].resource #=> String, one of "ROOT_VOLUME", "USER_VOLUME", "COMPUTE_TYPE"
2078
2145
  # resp.workspaces[0].modification_states[0].state #=> String, one of "UPDATE_INITIATED", "UPDATE_IN_PROGRESS"
2146
+ # resp.workspaces[0].related_workspaces #=> Array
2147
+ # resp.workspaces[0].related_workspaces[0].workspace_id #=> String
2148
+ # resp.workspaces[0].related_workspaces[0].region #=> String
2149
+ # resp.workspaces[0].related_workspaces[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "RESTORING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
2150
+ # resp.workspaces[0].related_workspaces[0].type #=> String, one of "PRIMARY", "STANDBY"
2079
2151
  # resp.next_token #=> String
2080
2152
  #
2081
2153
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaces AWS API Documentation
@@ -3499,7 +3571,7 @@ module Aws::WorkSpaces
3499
3571
  params: params,
3500
3572
  config: config)
3501
3573
  context[:gem_name] = 'aws-sdk-workspaces'
3502
- context[:gem_version] = '1.76.0'
3574
+ context[:gem_version] = '1.78.0'
3503
3575
  Seahorse::Client::Request.new(handlers, context)
3504
3576
  end
3505
3577
 
@@ -37,6 +37,7 @@ module Aws::WorkSpaces
37
37
  BundleIdList = Shapes::ListShape.new(name: 'BundleIdList')
38
38
  BundleList = Shapes::ListShape.new(name: 'BundleList')
39
39
  BundleOwner = Shapes::StringShape.new(name: 'BundleOwner')
40
+ BundleType = Shapes::StringShape.new(name: 'BundleType')
40
41
  CertificateAuthorityArn = Shapes::StringShape.new(name: 'CertificateAuthorityArn')
41
42
  CertificateBasedAuthProperties = Shapes::StructureShape.new(name: 'CertificateBasedAuthProperties')
42
43
  CertificateBasedAuthStatusEnum = Shapes::StringShape.new(name: 'CertificateBasedAuthStatusEnum')
@@ -74,6 +75,8 @@ module Aws::WorkSpaces
74
75
  CreateConnectionAliasResult = Shapes::StructureShape.new(name: 'CreateConnectionAliasResult')
75
76
  CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
76
77
  CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
78
+ CreateStandbyWorkspacesRequest = Shapes::StructureShape.new(name: 'CreateStandbyWorkspacesRequest')
79
+ CreateStandbyWorkspacesResult = Shapes::StructureShape.new(name: 'CreateStandbyWorkspacesResult')
77
80
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
78
81
  CreateTagsResult = Shapes::StructureShape.new(name: 'CreateTagsResult')
79
82
  CreateUpdatedWorkspaceImageRequest = Shapes::StructureShape.new(name: 'CreateUpdatedWorkspaceImageRequest')
@@ -160,6 +163,8 @@ module Aws::WorkSpaces
160
163
  ErrorType = Shapes::StringShape.new(name: 'ErrorType')
161
164
  ExceptionErrorCode = Shapes::StringShape.new(name: 'ExceptionErrorCode')
162
165
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
166
+ FailedCreateStandbyWorkspacesRequest = Shapes::StructureShape.new(name: 'FailedCreateStandbyWorkspacesRequest')
167
+ FailedCreateStandbyWorkspacesRequestList = Shapes::ListShape.new(name: 'FailedCreateStandbyWorkspacesRequestList')
163
168
  FailedCreateWorkspaceRequest = Shapes::StructureShape.new(name: 'FailedCreateWorkspaceRequest')
164
169
  FailedCreateWorkspaceRequests = Shapes::ListShape.new(name: 'FailedCreateWorkspaceRequests')
165
170
  FailedRebootWorkspaceRequests = Shapes::ListShape.new(name: 'FailedRebootWorkspaceRequests')
@@ -229,6 +234,8 @@ module Aws::WorkSpaces
229
234
  OperationInProgressException = Shapes::StructureShape.new(name: 'OperationInProgressException')
230
235
  OperationNotSupportedException = Shapes::StructureShape.new(name: 'OperationNotSupportedException')
231
236
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
237
+ PendingCreateStandbyWorkspacesRequest = Shapes::StructureShape.new(name: 'PendingCreateStandbyWorkspacesRequest')
238
+ PendingCreateStandbyWorkspacesRequestList = Shapes::ListShape.new(name: 'PendingCreateStandbyWorkspacesRequestList')
232
239
  Protocol = Shapes::StringShape.new(name: 'Protocol')
233
240
  ProtocolList = Shapes::ListShape.new(name: 'ProtocolList')
234
241
  RebootRequest = Shapes::StructureShape.new(name: 'RebootRequest')
@@ -244,6 +251,8 @@ module Aws::WorkSpaces
244
251
  RegisterWorkspaceDirectoryRequest = Shapes::StructureShape.new(name: 'RegisterWorkspaceDirectoryRequest')
245
252
  RegisterWorkspaceDirectoryResult = Shapes::StructureShape.new(name: 'RegisterWorkspaceDirectoryResult')
246
253
  RegistrationCode = Shapes::StringShape.new(name: 'RegistrationCode')
254
+ RelatedWorkspaceProperties = Shapes::StructureShape.new(name: 'RelatedWorkspaceProperties')
255
+ RelatedWorkspaces = Shapes::ListShape.new(name: 'RelatedWorkspaces')
247
256
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
248
257
  ResourceAssociatedException = Shapes::StructureShape.new(name: 'ResourceAssociatedException')
249
258
  ResourceCreationFailedException = Shapes::StructureShape.new(name: 'ResourceCreationFailedException')
@@ -266,6 +275,9 @@ module Aws::WorkSpaces
266
275
  SelfservicePermissions = Shapes::StructureShape.new(name: 'SelfservicePermissions')
267
276
  Snapshot = Shapes::StructureShape.new(name: 'Snapshot')
268
277
  SnapshotList = Shapes::ListShape.new(name: 'SnapshotList')
278
+ StandbyWorkspace = Shapes::StructureShape.new(name: 'StandbyWorkspace')
279
+ StandbyWorkspaceRelationshipType = Shapes::StringShape.new(name: 'StandbyWorkspaceRelationshipType')
280
+ StandbyWorkspacesList = Shapes::ListShape.new(name: 'StandbyWorkspacesList')
269
281
  StartRequest = Shapes::StructureShape.new(name: 'StartRequest')
270
282
  StartWorkspaceRequests = Shapes::ListShape.new(name: 'StartWorkspaceRequests')
271
283
  StartWorkspacesRequest = Shapes::StructureShape.new(name: 'StartWorkspacesRequest')
@@ -311,6 +323,7 @@ module Aws::WorkSpaces
311
323
  WorkspaceBundle = Shapes::StructureShape.new(name: 'WorkspaceBundle')
312
324
  WorkspaceBundleDescription = Shapes::StringShape.new(name: 'WorkspaceBundleDescription')
313
325
  WorkspaceBundleName = Shapes::StringShape.new(name: 'WorkspaceBundleName')
326
+ WorkspaceBundleState = Shapes::StringShape.new(name: 'WorkspaceBundleState')
314
327
  WorkspaceConnectionStatus = Shapes::StructureShape.new(name: 'WorkspaceConnectionStatus')
315
328
  WorkspaceConnectionStatusList = Shapes::ListShape.new(name: 'WorkspaceConnectionStatusList')
316
329
  WorkspaceCreationProperties = Shapes::StructureShape.new(name: 'WorkspaceCreationProperties')
@@ -463,6 +476,14 @@ module Aws::WorkSpaces
463
476
  CreateIpGroupResult.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, location_name: "GroupId"))
464
477
  CreateIpGroupResult.struct_class = Types::CreateIpGroupResult
465
478
 
479
+ CreateStandbyWorkspacesRequest.add_member(:primary_region, Shapes::ShapeRef.new(shape: Region, required: true, location_name: "PrimaryRegion"))
480
+ CreateStandbyWorkspacesRequest.add_member(:standby_workspaces, Shapes::ShapeRef.new(shape: StandbyWorkspacesList, required: true, location_name: "StandbyWorkspaces"))
481
+ CreateStandbyWorkspacesRequest.struct_class = Types::CreateStandbyWorkspacesRequest
482
+
483
+ CreateStandbyWorkspacesResult.add_member(:failed_standby_requests, Shapes::ShapeRef.new(shape: FailedCreateStandbyWorkspacesRequestList, location_name: "FailedStandbyRequests"))
484
+ CreateStandbyWorkspacesResult.add_member(:pending_standby_requests, Shapes::ShapeRef.new(shape: PendingCreateStandbyWorkspacesRequestList, location_name: "PendingStandbyRequests"))
485
+ CreateStandbyWorkspacesResult.struct_class = Types::CreateStandbyWorkspacesResult
486
+
466
487
  CreateTagsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
467
488
  CreateTagsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
468
489
  CreateTagsRequest.struct_class = Types::CreateTagsRequest
@@ -740,6 +761,13 @@ module Aws::WorkSpaces
740
761
 
741
762
  DnsIpAddresses.member = Shapes::ShapeRef.new(shape: IpAddress)
742
763
 
764
+ FailedCreateStandbyWorkspacesRequest.add_member(:standby_workspace_request, Shapes::ShapeRef.new(shape: StandbyWorkspace, location_name: "StandbyWorkspaceRequest"))
765
+ FailedCreateStandbyWorkspacesRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: WorkspaceErrorCode, location_name: "ErrorCode"))
766
+ FailedCreateStandbyWorkspacesRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: Description, location_name: "ErrorMessage"))
767
+ FailedCreateStandbyWorkspacesRequest.struct_class = Types::FailedCreateStandbyWorkspacesRequest
768
+
769
+ FailedCreateStandbyWorkspacesRequestList.member = Shapes::ShapeRef.new(shape: FailedCreateStandbyWorkspacesRequest)
770
+
743
771
  FailedCreateWorkspaceRequest.add_member(:workspace_request, Shapes::ShapeRef.new(shape: WorkspaceRequest, location_name: "WorkspaceRequest"))
744
772
  FailedCreateWorkspaceRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorType, location_name: "ErrorCode"))
745
773
  FailedCreateWorkspaceRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: Description, location_name: "ErrorMessage"))
@@ -921,6 +949,14 @@ module Aws::WorkSpaces
921
949
  OperationNotSupportedException.add_member(:reason, Shapes::ShapeRef.new(shape: ExceptionErrorCode, location_name: "reason"))
922
950
  OperationNotSupportedException.struct_class = Types::OperationNotSupportedException
923
951
 
952
+ PendingCreateStandbyWorkspacesRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, location_name: "UserName"))
953
+ PendingCreateStandbyWorkspacesRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "DirectoryId"))
954
+ PendingCreateStandbyWorkspacesRequest.add_member(:state, Shapes::ShapeRef.new(shape: WorkspaceState, location_name: "State"))
955
+ PendingCreateStandbyWorkspacesRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, location_name: "WorkspaceId"))
956
+ PendingCreateStandbyWorkspacesRequest.struct_class = Types::PendingCreateStandbyWorkspacesRequest
957
+
958
+ PendingCreateStandbyWorkspacesRequestList.member = Shapes::ShapeRef.new(shape: PendingCreateStandbyWorkspacesRequest)
959
+
924
960
  ProtocolList.member = Shapes::ShapeRef.new(shape: Protocol)
925
961
 
926
962
  RebootRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
@@ -955,6 +991,14 @@ module Aws::WorkSpaces
955
991
 
956
992
  RegisterWorkspaceDirectoryResult.struct_class = Types::RegisterWorkspaceDirectoryResult
957
993
 
994
+ RelatedWorkspaceProperties.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, location_name: "WorkspaceId"))
995
+ RelatedWorkspaceProperties.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "Region"))
996
+ RelatedWorkspaceProperties.add_member(:state, Shapes::ShapeRef.new(shape: WorkspaceState, location_name: "State"))
997
+ RelatedWorkspaceProperties.add_member(:type, Shapes::ShapeRef.new(shape: StandbyWorkspaceRelationshipType, location_name: "Type"))
998
+ RelatedWorkspaceProperties.struct_class = Types::RelatedWorkspaceProperties
999
+
1000
+ RelatedWorkspaces.member = Shapes::ShapeRef.new(shape: RelatedWorkspaceProperties)
1001
+
958
1002
  ResourceAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "message"))
959
1003
  ResourceAlreadyExistsException.struct_class = Types::ResourceAlreadyExistsException
960
1004
 
@@ -1008,6 +1052,14 @@ module Aws::WorkSpaces
1008
1052
 
1009
1053
  SnapshotList.member = Shapes::ShapeRef.new(shape: Snapshot)
1010
1054
 
1055
+ StandbyWorkspace.add_member(:primary_workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "PrimaryWorkspaceId"))
1056
+ StandbyWorkspace.add_member(:volume_encryption_key, Shapes::ShapeRef.new(shape: VolumeEncryptionKey, location_name: "VolumeEncryptionKey"))
1057
+ StandbyWorkspace.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
1058
+ StandbyWorkspace.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1059
+ StandbyWorkspace.struct_class = Types::StandbyWorkspace
1060
+
1061
+ StandbyWorkspacesList.member = Shapes::ShapeRef.new(shape: StandbyWorkspace)
1062
+
1011
1063
  StartRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, location_name: "WorkspaceId"))
1012
1064
  StartRequest.struct_class = Types::StartRequest
1013
1065
 
@@ -1112,6 +1164,7 @@ module Aws::WorkSpaces
1112
1164
  Workspace.add_member(:root_volume_encryption_enabled, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "RootVolumeEncryptionEnabled"))
1113
1165
  Workspace.add_member(:workspace_properties, Shapes::ShapeRef.new(shape: WorkspaceProperties, location_name: "WorkspaceProperties"))
1114
1166
  Workspace.add_member(:modification_states, Shapes::ShapeRef.new(shape: ModificationStateList, location_name: "ModificationStates"))
1167
+ Workspace.add_member(:related_workspaces, Shapes::ShapeRef.new(shape: RelatedWorkspaces, location_name: "RelatedWorkspaces"))
1115
1168
  Workspace.struct_class = Types::Workspace
1116
1169
 
1117
1170
  WorkspaceAccessProperties.add_member(:device_type_windows, Shapes::ShapeRef.new(shape: AccessPropertyValue, location_name: "DeviceTypeWindows"))
@@ -1134,6 +1187,8 @@ module Aws::WorkSpaces
1134
1187
  WorkspaceBundle.add_member(:compute_type, Shapes::ShapeRef.new(shape: ComputeType, location_name: "ComputeType"))
1135
1188
  WorkspaceBundle.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedTime"))
1136
1189
  WorkspaceBundle.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime"))
1190
+ WorkspaceBundle.add_member(:state, Shapes::ShapeRef.new(shape: WorkspaceBundleState, location_name: "State"))
1191
+ WorkspaceBundle.add_member(:bundle_type, Shapes::ShapeRef.new(shape: BundleType, location_name: "BundleType"))
1137
1192
  WorkspaceBundle.struct_class = Types::WorkspaceBundle
1138
1193
 
1139
1194
  WorkspaceConnectionStatus.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, location_name: "WorkspaceId"))
@@ -1338,6 +1393,19 @@ module Aws::WorkSpaces
1338
1393
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1339
1394
  end)
1340
1395
 
1396
+ api.add_operation(:create_standby_workspaces, Seahorse::Model::Operation.new.tap do |o|
1397
+ o.name = "CreateStandbyWorkspaces"
1398
+ o.http_method = "POST"
1399
+ o.http_request_uri = "/"
1400
+ o.input = Shapes::ShapeRef.new(shape: CreateStandbyWorkspacesRequest)
1401
+ o.output = Shapes::ShapeRef.new(shape: CreateStandbyWorkspacesResult)
1402
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1403
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1404
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1405
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1406
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
1407
+ end)
1408
+
1341
1409
  api.add_operation(:create_tags, Seahorse::Model::Operation.new.tap do |o|
1342
1410
  o.name = "CreateTags"
1343
1411
  o.http_method = "POST"
@@ -1854,6 +1922,7 @@ module Aws::WorkSpaces
1854
1922
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1855
1923
  o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
1856
1924
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1925
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1857
1926
  end)
1858
1927
 
1859
1928
  api.add_operation(:reboot_workspaces, Seahorse::Model::Operation.new.tap do |o|
@@ -1862,6 +1931,7 @@ module Aws::WorkSpaces
1862
1931
  o.http_request_uri = "/"
1863
1932
  o.input = Shapes::ShapeRef.new(shape: RebootWorkspacesRequest)
1864
1933
  o.output = Shapes::ShapeRef.new(shape: RebootWorkspacesResult)
1934
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1865
1935
  end)
1866
1936
 
1867
1937
  api.add_operation(:rebuild_workspaces, Seahorse::Model::Operation.new.tap do |o|
@@ -1870,6 +1940,7 @@ module Aws::WorkSpaces
1870
1940
  o.http_request_uri = "/"
1871
1941
  o.input = Shapes::ShapeRef.new(shape: RebuildWorkspacesRequest)
1872
1942
  o.output = Shapes::ShapeRef.new(shape: RebuildWorkspacesResult)
1943
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1873
1944
  end)
1874
1945
 
1875
1946
  api.add_operation(:register_workspace_directory, Seahorse::Model::Operation.new.tap do |o|
@@ -1897,6 +1968,7 @@ module Aws::WorkSpaces
1897
1968
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1898
1969
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1899
1970
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1971
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1900
1972
  end)
1901
1973
 
1902
1974
  api.add_operation(:revoke_ip_rules, Seahorse::Model::Operation.new.tap do |o|
@@ -1984,6 +2056,7 @@ module Aws::WorkSpaces
1984
2056
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1985
2057
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1986
2058
  o.errors << Shapes::ShapeRef.new(shape: ResourceUnavailableException)
2059
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
1987
2060
  end)
1988
2061
 
1989
2062
  api.add_operation(:update_workspace_image_permission, Seahorse::Model::Operation.new.tap do |o|
@@ -9,104 +9,43 @@
9
9
 
10
10
  module Aws::WorkSpaces
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://workspaces-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://workspaces-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://workspaces.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://workspaces.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL3dvcmtzcGFjZXMtZmlwcy57UmVnaW9ufS57
77
- UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
78
- aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
79
- Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
80
- ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
81
- dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
82
- IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
83
- SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
84
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
85
- biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
86
- fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
87
- eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
88
- ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
89
- YWNlcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4
90
- fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
91
- b2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
92
- ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
93
- SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
94
- Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
95
- LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
96
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
97
- ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
98
- cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
99
- eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly93
100
- b3Jrc3BhY2VzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
101
- RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
102
- cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
103
- dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
104
- b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
105
- ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
106
- YWNlcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
107
- cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
108
- fV19XX0=
109
-
110
- JSON
111
50
  end
112
51
  end
@@ -109,6 +109,20 @@ module Aws::WorkSpaces
109
109
  end
110
110
  end
111
111
 
112
+ class CreateStandbyWorkspaces
113
+ def self.build(context)
114
+ unless context.config.regional_endpoint
115
+ endpoint = context.config.endpoint.to_s
116
+ end
117
+ Aws::WorkSpaces::EndpointParameters.new(
118
+ region: context.config.region,
119
+ use_dual_stack: context.config.use_dualstack_endpoint,
120
+ use_fips: context.config.use_fips_endpoint,
121
+ endpoint: endpoint,
122
+ )
123
+ end
124
+ end
125
+
112
126
  class CreateTags
113
127
  def self.build(context)
114
128
  unless context.config.regional_endpoint
@@ -70,6 +70,8 @@ module Aws::WorkSpaces
70
70
  Aws::WorkSpaces::Endpoints::CreateConnectionAlias.build(context)
71
71
  when :create_ip_group
72
72
  Aws::WorkSpaces::Endpoints::CreateIpGroup.build(context)
73
+ when :create_standby_workspaces
74
+ Aws::WorkSpaces::Endpoints::CreateStandbyWorkspaces.build(context)
73
75
  when :create_tags
74
76
  Aws::WorkSpaces::Endpoints::CreateTags.build(context)
75
77
  when :create_updated_workspace_image