aws-sdk-workspaces 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
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