aws-sdk-workspaces 1.23.0 → 1.24.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
  SHA1:
3
- metadata.gz: 16bcd0dd0a905e3f1799aa1af8aeb543c240d63c
4
- data.tar.gz: 63d68b54fa00a1586a4c34206487f924f1ce8bdb
3
+ metadata.gz: e4a31ac898785380827c46db1257c7d6b3c107e7
4
+ data.tar.gz: b67808ddbd91080402d3ee413a48606837c70086
5
5
  SHA512:
6
- metadata.gz: 9cec40669f29973b852560344641be1302507c447c15b7ce6b8b9279586361712cd09d50b52f2d37c588d23fec7a330a709f39dfc9d69ca21e77a793f58f3727
7
- data.tar.gz: 149a487a38428e673f5e5d796bda86a37a544d3d6887e43e970fbce182cb70bdac44355d20260760f353ffa8f759b38e9e7f7f74d97deb4ba6939b5e354ff172
6
+ metadata.gz: 3086a9993d664e0346d48f8e9abbeedeb613f57cb971506f23968d1b720902572988865c7df5e48821b0c89d2290b3aab25e6199408a75a7a9a466a10b4356c6
7
+ data.tar.gz: 7d2d5def541f6f39a968d230bf270346bb33b1edfa148c7b0270abe03295eaeef2bf50bfc14fb467e02be2a28881b32f1093fbc4818a7b7a66cb6c611c7dd10a
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-workspaces/customizations'
42
42
  # @service
43
43
  module Aws::WorkSpaces
44
44
 
45
- GEM_VERSION = '1.23.0'
45
+ GEM_VERSION = '1.24.0'
46
46
 
47
47
  end
@@ -325,6 +325,56 @@ module Aws::WorkSpaces
325
325
  req.send_request(options)
326
326
  end
327
327
 
328
+ # Copies the specified image from the specified Region to the current
329
+ # Region.
330
+ #
331
+ # @option params [required, String] :name
332
+ # The name of the image.
333
+ #
334
+ # @option params [String] :description
335
+ # A description of the image.
336
+ #
337
+ # @option params [required, String] :source_image_id
338
+ # The identifier of the source image.
339
+ #
340
+ # @option params [required, String] :source_region
341
+ # The identifier of the source Region.
342
+ #
343
+ # @option params [Array<Types::Tag>] :tags
344
+ # The tags for the image.
345
+ #
346
+ # @return [Types::CopyWorkspaceImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
347
+ #
348
+ # * {Types::CopyWorkspaceImageResult#image_id #image_id} => String
349
+ #
350
+ # @example Request syntax with placeholder values
351
+ #
352
+ # resp = client.copy_workspace_image({
353
+ # name: "WorkspaceImageName", # required
354
+ # description: "WorkspaceImageDescription",
355
+ # source_image_id: "WorkspaceImageId", # required
356
+ # source_region: "Region", # required
357
+ # tags: [
358
+ # {
359
+ # key: "TagKey", # required
360
+ # value: "TagValue",
361
+ # },
362
+ # ],
363
+ # })
364
+ #
365
+ # @example Response structure
366
+ #
367
+ # resp.image_id #=> String
368
+ #
369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CopyWorkspaceImage AWS API Documentation
370
+ #
371
+ # @overload copy_workspace_image(params = {})
372
+ # @param [Hash] params ({})
373
+ def copy_workspace_image(params = {}, options = {})
374
+ req = build_request(:copy_workspace_image, params)
375
+ req.send_request(options)
376
+ end
377
+
328
378
  # Creates an IP access control group.
329
379
  #
330
380
  # An IP access control group provides you with the ability to control
@@ -487,7 +537,7 @@ module Aws::WorkSpaces
487
537
  # resp.pending_requests[0].directory_id #=> String
488
538
  # resp.pending_requests[0].user_name #=> String
489
539
  # resp.pending_requests[0].ip_address #=> String
490
- # resp.pending_requests[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
540
+ # resp.pending_requests[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "RESTORING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
491
541
  # resp.pending_requests[0].bundle_id #=> String
492
542
  # resp.pending_requests[0].subnet_id #=> String
493
543
  # resp.pending_requests[0].error_message #=> String
@@ -568,7 +618,8 @@ module Aws::WorkSpaces
568
618
  end
569
619
 
570
620
  # Deletes the specified image from your account. To delete an image, you
571
- # must first delete any bundles that are associated with the image.
621
+ # must first delete any bundles that are associated with the image and
622
+ # un-share the image if it is shared with other accounts.
572
623
  #
573
624
  # @option params [required, String] :image_id
574
625
  # The identifier of the image.
@@ -918,6 +969,38 @@ module Aws::WorkSpaces
918
969
  req.send_request(options)
919
970
  end
920
971
 
972
+ # Describes the snapshots for the specified WorkSpace.
973
+ #
974
+ # @option params [required, String] :workspace_id
975
+ # The identifier of the WorkSpace.
976
+ #
977
+ # @return [Types::DescribeWorkspaceSnapshotsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
978
+ #
979
+ # * {Types::DescribeWorkspaceSnapshotsResult#rebuild_snapshots #rebuild_snapshots} => Array&lt;Types::Snapshot&gt;
980
+ # * {Types::DescribeWorkspaceSnapshotsResult#restore_snapshots #restore_snapshots} => Array&lt;Types::Snapshot&gt;
981
+ #
982
+ # @example Request syntax with placeholder values
983
+ #
984
+ # resp = client.describe_workspace_snapshots({
985
+ # workspace_id: "WorkspaceId", # required
986
+ # })
987
+ #
988
+ # @example Response structure
989
+ #
990
+ # resp.rebuild_snapshots #=> Array
991
+ # resp.rebuild_snapshots[0].snapshot_time #=> Time
992
+ # resp.restore_snapshots #=> Array
993
+ # resp.restore_snapshots[0].snapshot_time #=> Time
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceSnapshots AWS API Documentation
996
+ #
997
+ # @overload describe_workspace_snapshots(params = {})
998
+ # @param [Hash] params ({})
999
+ def describe_workspace_snapshots(params = {}, options = {})
1000
+ req = build_request(:describe_workspace_snapshots, params)
1001
+ req.send_request(options)
1002
+ end
1003
+
921
1004
  # Describes the specified WorkSpaces.
922
1005
  #
923
1006
  # You can filter the results by using the bundle identifier, directory
@@ -975,7 +1058,7 @@ module Aws::WorkSpaces
975
1058
  # resp.workspaces[0].directory_id #=> String
976
1059
  # resp.workspaces[0].user_name #=> String
977
1060
  # resp.workspaces[0].ip_address #=> String
978
- # resp.workspaces[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
1061
+ # resp.workspaces[0].state #=> String, one of "PENDING", "AVAILABLE", "IMPAIRED", "UNHEALTHY", "REBOOTING", "STARTING", "REBUILDING", "RESTORING", "MAINTENANCE", "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", "UPDATING", "STOPPING", "STOPPED", "ERROR"
979
1062
  # resp.workspaces[0].bundle_id #=> String
980
1063
  # resp.workspaces[0].subnet_id #=> String
981
1064
  # resp.workspaces[0].error_message #=> String
@@ -1267,9 +1350,9 @@ module Aws::WorkSpaces
1267
1350
  #
1268
1351
  # To maintain a WorkSpace without being interrupted, set the WorkSpace
1269
1352
  # state to `ADMIN_MAINTENANCE`. WorkSpaces in this state do not respond
1270
- # to requests to reboot, stop, start, or rebuild. An AutoStop WorkSpace
1271
- # in this state is not stopped. Users can log into a WorkSpace in the
1272
- # `ADMIN_MAINTENANCE` state.
1353
+ # to requests to reboot, stop, start, rebuild, or restore. An AutoStop
1354
+ # WorkSpace in this state is not stopped. Users cannot log into a
1355
+ # WorkSpace in the `ADMIN_MAINTENANCE` state.
1273
1356
  #
1274
1357
  # @option params [required, String] :workspace_id
1275
1358
  # The identifier of the WorkSpace.
@@ -1389,6 +1472,47 @@ module Aws::WorkSpaces
1389
1472
  req.send_request(options)
1390
1473
  end
1391
1474
 
1475
+ # Restores the specified WorkSpace to its last known healthy state.
1476
+ #
1477
+ # You cannot restore a WorkSpace unless its state is ` AVAILABLE`,
1478
+ # `ERROR`, or `UNHEALTHY`.
1479
+ #
1480
+ # Restoring a WorkSpace is a potentially destructive action that can
1481
+ # result in the loss of data. For more information, see [Restore a
1482
+ # WorkSpace][1].
1483
+ #
1484
+ # This operation is asynchronous and returns before the WorkSpace is
1485
+ # completely restored.
1486
+ #
1487
+ #
1488
+ #
1489
+ # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/restore-workspace.html
1490
+ #
1491
+ # @option params [required, String] :workspace_id
1492
+ # The identifier of the WorkSpace.
1493
+ #
1494
+ # @option params [Boolean] :snapshot_current_volumes
1495
+ # Indicates whether to create snapshots of the root volume and user
1496
+ # volume before restoring the WorkSpace.
1497
+ #
1498
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1499
+ #
1500
+ # @example Request syntax with placeholder values
1501
+ #
1502
+ # resp = client.restore_workspace({
1503
+ # workspace_id: "WorkspaceId", # required
1504
+ # snapshot_current_volumes: false,
1505
+ # })
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspace AWS API Documentation
1508
+ #
1509
+ # @overload restore_workspace(params = {})
1510
+ # @param [Hash] params ({})
1511
+ def restore_workspace(params = {}, options = {})
1512
+ req = build_request(:restore_workspace, params)
1513
+ req.send_request(options)
1514
+ end
1515
+
1392
1516
  # Removes one or more rules from the specified IP access control group.
1393
1517
  #
1394
1518
  # @option params [required, String] :group_id
@@ -1580,7 +1704,7 @@ module Aws::WorkSpaces
1580
1704
  params: params,
1581
1705
  config: config)
1582
1706
  context[:gem_name] = 'aws-sdk-workspaces'
1583
- context[:gem_version] = '1.23.0'
1707
+ context[:gem_version] = '1.24.0'
1584
1708
  Seahorse::Client::Request.new(handlers, context)
1585
1709
  end
1586
1710
 
@@ -33,6 +33,8 @@ module Aws::WorkSpaces
33
33
  ComputeType = Shapes::StructureShape.new(name: 'ComputeType')
34
34
  ComputerName = Shapes::StringShape.new(name: 'ComputerName')
35
35
  ConnectionState = Shapes::StringShape.new(name: 'ConnectionState')
36
+ CopyWorkspaceImageRequest = Shapes::StructureShape.new(name: 'CopyWorkspaceImageRequest')
37
+ CopyWorkspaceImageResult = Shapes::StructureShape.new(name: 'CopyWorkspaceImageResult')
36
38
  CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
37
39
  CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
38
40
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
@@ -68,6 +70,8 @@ module Aws::WorkSpaces
68
70
  DescribeWorkspaceDirectoriesResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceDirectoriesResult')
69
71
  DescribeWorkspaceImagesRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceImagesRequest')
70
72
  DescribeWorkspaceImagesResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceImagesResult')
73
+ DescribeWorkspaceSnapshotsRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceSnapshotsRequest')
74
+ DescribeWorkspaceSnapshotsResult = Shapes::StructureShape.new(name: 'DescribeWorkspaceSnapshotsResult')
71
75
  DescribeWorkspacesConnectionStatusRequest = Shapes::StructureShape.new(name: 'DescribeWorkspacesConnectionStatusRequest')
72
76
  DescribeWorkspacesConnectionStatusResult = Shapes::StructureShape.new(name: 'DescribeWorkspacesConnectionStatusResult')
73
77
  DescribeWorkspacesRequest = Shapes::StructureShape.new(name: 'DescribeWorkspacesRequest')
@@ -137,6 +141,7 @@ module Aws::WorkSpaces
137
141
  RebuildWorkspacesRequest = Shapes::StructureShape.new(name: 'RebuildWorkspacesRequest')
138
142
  RebuildWorkspacesResult = Shapes::StructureShape.new(name: 'RebuildWorkspacesResult')
139
143
  ReconnectEnum = Shapes::StringShape.new(name: 'ReconnectEnum')
144
+ Region = Shapes::StringShape.new(name: 'Region')
140
145
  RegistrationCode = Shapes::StringShape.new(name: 'RegistrationCode')
141
146
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
142
147
  ResourceAssociatedException = Shapes::StructureShape.new(name: 'ResourceAssociatedException')
@@ -145,6 +150,8 @@ module Aws::WorkSpaces
145
150
  ResourceLimitExceededException = Shapes::StructureShape.new(name: 'ResourceLimitExceededException')
146
151
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
147
152
  ResourceUnavailableException = Shapes::StructureShape.new(name: 'ResourceUnavailableException')
153
+ RestoreWorkspaceRequest = Shapes::StructureShape.new(name: 'RestoreWorkspaceRequest')
154
+ RestoreWorkspaceResult = Shapes::StructureShape.new(name: 'RestoreWorkspaceResult')
148
155
  RevokeIpRulesRequest = Shapes::StructureShape.new(name: 'RevokeIpRulesRequest')
149
156
  RevokeIpRulesResult = Shapes::StructureShape.new(name: 'RevokeIpRulesResult')
150
157
  RootStorage = Shapes::StructureShape.new(name: 'RootStorage')
@@ -152,6 +159,8 @@ module Aws::WorkSpaces
152
159
  RunningMode = Shapes::StringShape.new(name: 'RunningMode')
153
160
  RunningModeAutoStopTimeoutInMinutes = Shapes::IntegerShape.new(name: 'RunningModeAutoStopTimeoutInMinutes')
154
161
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
162
+ Snapshot = Shapes::StructureShape.new(name: 'Snapshot')
163
+ SnapshotList = Shapes::ListShape.new(name: 'SnapshotList')
155
164
  StartRequest = Shapes::StructureShape.new(name: 'StartRequest')
156
165
  StartWorkspaceRequests = Shapes::ListShape.new(name: 'StartWorkspaceRequests')
157
166
  StartWorkspacesRequest = Shapes::StructureShape.new(name: 'StartWorkspacesRequest')
@@ -249,6 +258,16 @@ module Aws::WorkSpaces
249
258
  ComputeType.add_member(:name, Shapes::ShapeRef.new(shape: Compute, location_name: "Name"))
250
259
  ComputeType.struct_class = Types::ComputeType
251
260
 
261
+ CopyWorkspaceImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: WorkspaceImageName, required: true, location_name: "Name"))
262
+ CopyWorkspaceImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: WorkspaceImageDescription, location_name: "Description"))
263
+ CopyWorkspaceImageRequest.add_member(:source_image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, required: true, location_name: "SourceImageId"))
264
+ CopyWorkspaceImageRequest.add_member(:source_region, Shapes::ShapeRef.new(shape: Region, required: true, location_name: "SourceRegion"))
265
+ CopyWorkspaceImageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
266
+ CopyWorkspaceImageRequest.struct_class = Types::CopyWorkspaceImageRequest
267
+
268
+ CopyWorkspaceImageResult.add_member(:image_id, Shapes::ShapeRef.new(shape: WorkspaceImageId, location_name: "ImageId"))
269
+ CopyWorkspaceImageResult.struct_class = Types::CopyWorkspaceImageResult
270
+
252
271
  CreateIpGroupRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, required: true, location_name: "GroupName"))
253
272
  CreateIpGroupRequest.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "GroupDesc"))
254
273
  CreateIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "UserRules"))
@@ -356,6 +375,13 @@ module Aws::WorkSpaces
356
375
  DescribeWorkspaceImagesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
357
376
  DescribeWorkspaceImagesResult.struct_class = Types::DescribeWorkspaceImagesResult
358
377
 
378
+ DescribeWorkspaceSnapshotsRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
379
+ DescribeWorkspaceSnapshotsRequest.struct_class = Types::DescribeWorkspaceSnapshotsRequest
380
+
381
+ DescribeWorkspaceSnapshotsResult.add_member(:rebuild_snapshots, Shapes::ShapeRef.new(shape: SnapshotList, location_name: "RebuildSnapshots"))
382
+ DescribeWorkspaceSnapshotsResult.add_member(:restore_snapshots, Shapes::ShapeRef.new(shape: SnapshotList, location_name: "RestoreSnapshots"))
383
+ DescribeWorkspaceSnapshotsResult.struct_class = Types::DescribeWorkspaceSnapshotsResult
384
+
359
385
  DescribeWorkspacesConnectionStatusRequest.add_member(:workspace_ids, Shapes::ShapeRef.new(shape: WorkspaceIdList, location_name: "WorkspaceIds"))
360
386
  DescribeWorkspacesConnectionStatusRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
361
387
  DescribeWorkspacesConnectionStatusRequest.struct_class = Types::DescribeWorkspacesConnectionStatusRequest
@@ -529,6 +555,12 @@ module Aws::WorkSpaces
529
555
  ResourceUnavailableException.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceId"))
530
556
  ResourceUnavailableException.struct_class = Types::ResourceUnavailableException
531
557
 
558
+ RestoreWorkspaceRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
559
+ RestoreWorkspaceRequest.add_member(:snapshot_current_volumes, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "SnapshotCurrentVolumes"))
560
+ RestoreWorkspaceRequest.struct_class = Types::RestoreWorkspaceRequest
561
+
562
+ RestoreWorkspaceResult.struct_class = Types::RestoreWorkspaceResult
563
+
532
564
  RevokeIpRulesRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
533
565
  RevokeIpRulesRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRevokedRuleList, required: true, location_name: "UserRules"))
534
566
  RevokeIpRulesRequest.struct_class = Types::RevokeIpRulesRequest
@@ -538,6 +570,11 @@ module Aws::WorkSpaces
538
570
  RootStorage.add_member(:capacity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Capacity"))
539
571
  RootStorage.struct_class = Types::RootStorage
540
572
 
573
+ Snapshot.add_member(:snapshot_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "SnapshotTime"))
574
+ Snapshot.struct_class = Types::Snapshot
575
+
576
+ SnapshotList.member = Shapes::ShapeRef.new(shape: Snapshot)
577
+
541
578
  StartRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, location_name: "WorkspaceId"))
542
579
  StartRequest.struct_class = Types::StartRequest
543
580
 
@@ -732,6 +769,21 @@ module Aws::WorkSpaces
732
769
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
733
770
  end)
734
771
 
772
+ api.add_operation(:copy_workspace_image, Seahorse::Model::Operation.new.tap do |o|
773
+ o.name = "CopyWorkspaceImage"
774
+ o.http_method = "POST"
775
+ o.http_request_uri = "/"
776
+ o.input = Shapes::ShapeRef.new(shape: CopyWorkspaceImageRequest)
777
+ o.output = Shapes::ShapeRef.new(shape: CopyWorkspaceImageResult)
778
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
779
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
780
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
781
+ o.errors << Shapes::ShapeRef.new(shape: ResourceUnavailableException)
782
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
783
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
784
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
785
+ end)
786
+
735
787
  api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
736
788
  o.name = "CreateIpGroup"
737
789
  o.http_method = "POST"
@@ -884,6 +936,17 @@ module Aws::WorkSpaces
884
936
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
885
937
  end)
886
938
 
939
+ api.add_operation(:describe_workspace_snapshots, Seahorse::Model::Operation.new.tap do |o|
940
+ o.name = "DescribeWorkspaceSnapshots"
941
+ o.http_method = "POST"
942
+ o.http_request_uri = "/"
943
+ o.input = Shapes::ShapeRef.new(shape: DescribeWorkspaceSnapshotsRequest)
944
+ o.output = Shapes::ShapeRef.new(shape: DescribeWorkspaceSnapshotsResult)
945
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
946
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
947
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
948
+ end)
949
+
887
950
  api.add_operation(:describe_workspaces, Seahorse::Model::Operation.new.tap do |o|
888
951
  o.name = "DescribeWorkspaces"
889
952
  o.http_method = "POST"
@@ -1011,6 +1074,17 @@ module Aws::WorkSpaces
1011
1074
  o.output = Shapes::ShapeRef.new(shape: RebuildWorkspacesResult)
1012
1075
  end)
1013
1076
 
1077
+ api.add_operation(:restore_workspace, Seahorse::Model::Operation.new.tap do |o|
1078
+ o.name = "RestoreWorkspace"
1079
+ o.http_method = "POST"
1080
+ o.http_request_uri = "/"
1081
+ o.input = Shapes::ShapeRef.new(shape: RestoreWorkspaceRequest)
1082
+ o.output = Shapes::ShapeRef.new(shape: RestoreWorkspaceResult)
1083
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
1084
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1085
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1086
+ end)
1087
+
1014
1088
  api.add_operation(:revoke_ip_rules, Seahorse::Model::Operation.new.tap do |o|
1015
1089
  o.name = "RevokeIpRules"
1016
1090
  o.http_method = "POST"
@@ -177,6 +177,64 @@ module Aws::WorkSpaces
177
177
  include Aws::Structure
178
178
  end
179
179
 
180
+ # @note When making an API call, you may pass CopyWorkspaceImageRequest
181
+ # data as a hash:
182
+ #
183
+ # {
184
+ # name: "WorkspaceImageName", # required
185
+ # description: "WorkspaceImageDescription",
186
+ # source_image_id: "WorkspaceImageId", # required
187
+ # source_region: "Region", # required
188
+ # tags: [
189
+ # {
190
+ # key: "TagKey", # required
191
+ # value: "TagValue",
192
+ # },
193
+ # ],
194
+ # }
195
+ #
196
+ # @!attribute [rw] name
197
+ # The name of the image.
198
+ # @return [String]
199
+ #
200
+ # @!attribute [rw] description
201
+ # A description of the image.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] source_image_id
205
+ # The identifier of the source image.
206
+ # @return [String]
207
+ #
208
+ # @!attribute [rw] source_region
209
+ # The identifier of the source Region.
210
+ # @return [String]
211
+ #
212
+ # @!attribute [rw] tags
213
+ # The tags for the image.
214
+ # @return [Array<Types::Tag>]
215
+ #
216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CopyWorkspaceImageRequest AWS API Documentation
217
+ #
218
+ class CopyWorkspaceImageRequest < Struct.new(
219
+ :name,
220
+ :description,
221
+ :source_image_id,
222
+ :source_region,
223
+ :tags)
224
+ include Aws::Structure
225
+ end
226
+
227
+ # @!attribute [rw] image_id
228
+ # The identifier of the image.
229
+ # @return [String]
230
+ #
231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CopyWorkspaceImageResult AWS API Documentation
232
+ #
233
+ class CopyWorkspaceImageResult < Struct.new(
234
+ :image_id)
235
+ include Aws::Structure
236
+ end
237
+
180
238
  # @note When making an API call, you may pass CreateIpGroupRequest
181
239
  # data as a hash:
182
240
  #
@@ -758,6 +816,43 @@ module Aws::WorkSpaces
758
816
  include Aws::Structure
759
817
  end
760
818
 
819
+ # @note When making an API call, you may pass DescribeWorkspaceSnapshotsRequest
820
+ # data as a hash:
821
+ #
822
+ # {
823
+ # workspace_id: "WorkspaceId", # required
824
+ # }
825
+ #
826
+ # @!attribute [rw] workspace_id
827
+ # The identifier of the WorkSpace.
828
+ # @return [String]
829
+ #
830
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceSnapshotsRequest AWS API Documentation
831
+ #
832
+ class DescribeWorkspaceSnapshotsRequest < Struct.new(
833
+ :workspace_id)
834
+ include Aws::Structure
835
+ end
836
+
837
+ # @!attribute [rw] rebuild_snapshots
838
+ # Information about the snapshots that can be used to rebuild a
839
+ # WorkSpace. These snapshots include the root volume.
840
+ # @return [Array<Types::Snapshot>]
841
+ #
842
+ # @!attribute [rw] restore_snapshots
843
+ # Information about the snapshots that can be used to restore a
844
+ # WorkSpace. These snapshots include both the root volume and the user
845
+ # volume.
846
+ # @return [Array<Types::Snapshot>]
847
+ #
848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceSnapshotsResult AWS API Documentation
849
+ #
850
+ class DescribeWorkspaceSnapshotsResult < Struct.new(
851
+ :rebuild_snapshots,
852
+ :restore_snapshots)
853
+ include Aws::Structure
854
+ end
855
+
761
856
  # @note When making an API call, you may pass DescribeWorkspacesConnectionStatusRequest
762
857
  # data as a hash:
763
858
  #
@@ -1497,6 +1592,35 @@ module Aws::WorkSpaces
1497
1592
  include Aws::Structure
1498
1593
  end
1499
1594
 
1595
+ # @note When making an API call, you may pass RestoreWorkspaceRequest
1596
+ # data as a hash:
1597
+ #
1598
+ # {
1599
+ # workspace_id: "WorkspaceId", # required
1600
+ # snapshot_current_volumes: false,
1601
+ # }
1602
+ #
1603
+ # @!attribute [rw] workspace_id
1604
+ # The identifier of the WorkSpace.
1605
+ # @return [String]
1606
+ #
1607
+ # @!attribute [rw] snapshot_current_volumes
1608
+ # Indicates whether to create snapshots of the root volume and user
1609
+ # volume before restoring the WorkSpace.
1610
+ # @return [Boolean]
1611
+ #
1612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspaceRequest AWS API Documentation
1613
+ #
1614
+ class RestoreWorkspaceRequest < Struct.new(
1615
+ :workspace_id,
1616
+ :snapshot_current_volumes)
1617
+ include Aws::Structure
1618
+ end
1619
+
1620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspaceResult AWS API Documentation
1621
+ #
1622
+ class RestoreWorkspaceResult < Aws::EmptyStructure; end
1623
+
1500
1624
  # @note When making an API call, you may pass RevokeIpRulesRequest
1501
1625
  # data as a hash:
1502
1626
  #
@@ -1538,6 +1662,19 @@ module Aws::WorkSpaces
1538
1662
  include Aws::Structure
1539
1663
  end
1540
1664
 
1665
+ # Describes a snapshot.
1666
+ #
1667
+ # @!attribute [rw] snapshot_time
1668
+ # The time when the snapshot was created.
1669
+ # @return [Time]
1670
+ #
1671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/Snapshot AWS API Documentation
1672
+ #
1673
+ class Snapshot < Struct.new(
1674
+ :snapshot_time)
1675
+ include Aws::Structure
1676
+ end
1677
+
1541
1678
  # Information used to start a WorkSpace.
1542
1679
  #
1543
1680
  # @note When making an API call, you may pass StartRequest
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-workspaces
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.0
4
+ version: 1.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-17 00:00:00.000000000 Z
11
+ date: 2019-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core