aws-sdk-workspaces 1.1.0 → 1.2.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.
@@ -14,6 +14,10 @@ module Aws::WorkSpaces
14
14
  ARN = Shapes::StringShape.new(name: 'ARN')
15
15
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
16
16
  Alias = Shapes::StringShape.new(name: 'Alias')
17
+ AssociateIpGroupsRequest = Shapes::StructureShape.new(name: 'AssociateIpGroupsRequest')
18
+ AssociateIpGroupsResult = Shapes::StructureShape.new(name: 'AssociateIpGroupsResult')
19
+ AuthorizeIpRulesRequest = Shapes::StructureShape.new(name: 'AuthorizeIpRulesRequest')
20
+ AuthorizeIpRulesResult = Shapes::StructureShape.new(name: 'AuthorizeIpRulesResult')
17
21
  BooleanObject = Shapes::BooleanShape.new(name: 'BooleanObject')
18
22
  BundleId = Shapes::StringShape.new(name: 'BundleId')
19
23
  BundleIdList = Shapes::ListShape.new(name: 'BundleIdList')
@@ -23,14 +27,20 @@ module Aws::WorkSpaces
23
27
  ComputeType = Shapes::StructureShape.new(name: 'ComputeType')
24
28
  ComputerName = Shapes::StringShape.new(name: 'ComputerName')
25
29
  ConnectionState = Shapes::StringShape.new(name: 'ConnectionState')
30
+ CreateIpGroupRequest = Shapes::StructureShape.new(name: 'CreateIpGroupRequest')
31
+ CreateIpGroupResult = Shapes::StructureShape.new(name: 'CreateIpGroupResult')
26
32
  CreateTagsRequest = Shapes::StructureShape.new(name: 'CreateTagsRequest')
27
33
  CreateTagsResult = Shapes::StructureShape.new(name: 'CreateTagsResult')
28
34
  CreateWorkspacesRequest = Shapes::StructureShape.new(name: 'CreateWorkspacesRequest')
29
35
  CreateWorkspacesResult = Shapes::StructureShape.new(name: 'CreateWorkspacesResult')
30
36
  DefaultOu = Shapes::StringShape.new(name: 'DefaultOu')
31
37
  DefaultWorkspaceCreationProperties = Shapes::StructureShape.new(name: 'DefaultWorkspaceCreationProperties')
38
+ DeleteIpGroupRequest = Shapes::StructureShape.new(name: 'DeleteIpGroupRequest')
39
+ DeleteIpGroupResult = Shapes::StructureShape.new(name: 'DeleteIpGroupResult')
32
40
  DeleteTagsRequest = Shapes::StructureShape.new(name: 'DeleteTagsRequest')
33
41
  DeleteTagsResult = Shapes::StructureShape.new(name: 'DeleteTagsResult')
42
+ DescribeIpGroupsRequest = Shapes::StructureShape.new(name: 'DescribeIpGroupsRequest')
43
+ DescribeIpGroupsResult = Shapes::StructureShape.new(name: 'DescribeIpGroupsResult')
34
44
  DescribeTagsRequest = Shapes::StructureShape.new(name: 'DescribeTagsRequest')
35
45
  DescribeTagsResult = Shapes::StructureShape.new(name: 'DescribeTagsResult')
36
46
  DescribeWorkspaceBundlesRequest = Shapes::StructureShape.new(name: 'DescribeWorkspaceBundlesRequest')
@@ -46,6 +56,8 @@ module Aws::WorkSpaces
46
56
  DirectoryIdList = Shapes::ListShape.new(name: 'DirectoryIdList')
47
57
  DirectoryList = Shapes::ListShape.new(name: 'DirectoryList')
48
58
  DirectoryName = Shapes::StringShape.new(name: 'DirectoryName')
59
+ DisassociateIpGroupsRequest = Shapes::StructureShape.new(name: 'DisassociateIpGroupsRequest')
60
+ DisassociateIpGroupsResult = Shapes::StructureShape.new(name: 'DisassociateIpGroupsResult')
49
61
  DnsIpAddresses = Shapes::ListShape.new(name: 'DnsIpAddresses')
50
62
  ErrorType = Shapes::StringShape.new(name: 'ErrorType')
51
63
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
@@ -60,6 +72,15 @@ module Aws::WorkSpaces
60
72
  InvalidParameterValuesException = Shapes::StructureShape.new(name: 'InvalidParameterValuesException')
61
73
  InvalidResourceStateException = Shapes::StructureShape.new(name: 'InvalidResourceStateException')
62
74
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
75
+ IpGroupDesc = Shapes::StringShape.new(name: 'IpGroupDesc')
76
+ IpGroupId = Shapes::StringShape.new(name: 'IpGroupId')
77
+ IpGroupIdList = Shapes::ListShape.new(name: 'IpGroupIdList')
78
+ IpGroupName = Shapes::StringShape.new(name: 'IpGroupName')
79
+ IpRevokedRuleList = Shapes::ListShape.new(name: 'IpRevokedRuleList')
80
+ IpRule = Shapes::StringShape.new(name: 'IpRule')
81
+ IpRuleDesc = Shapes::StringShape.new(name: 'IpRuleDesc')
82
+ IpRuleItem = Shapes::StructureShape.new(name: 'IpRuleItem')
83
+ IpRuleList = Shapes::ListShape.new(name: 'IpRuleList')
63
84
  Limit = Shapes::IntegerShape.new(name: 'Limit')
64
85
  ModificationResourceEnum = Shapes::StringShape.new(name: 'ModificationResourceEnum')
65
86
  ModificationState = Shapes::StructureShape.new(name: 'ModificationState')
@@ -67,8 +88,11 @@ module Aws::WorkSpaces
67
88
  ModificationStateList = Shapes::ListShape.new(name: 'ModificationStateList')
68
89
  ModifyWorkspacePropertiesRequest = Shapes::StructureShape.new(name: 'ModifyWorkspacePropertiesRequest')
69
90
  ModifyWorkspacePropertiesResult = Shapes::StructureShape.new(name: 'ModifyWorkspacePropertiesResult')
91
+ ModifyWorkspaceStateRequest = Shapes::StructureShape.new(name: 'ModifyWorkspaceStateRequest')
92
+ ModifyWorkspaceStateResult = Shapes::StructureShape.new(name: 'ModifyWorkspaceStateResult')
70
93
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
71
94
  OperationInProgressException = Shapes::StructureShape.new(name: 'OperationInProgressException')
95
+ OperationNotSupportedException = Shapes::StructureShape.new(name: 'OperationNotSupportedException')
72
96
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
73
97
  RebootRequest = Shapes::StructureShape.new(name: 'RebootRequest')
74
98
  RebootWorkspaceRequests = Shapes::ListShape.new(name: 'RebootWorkspaceRequests')
@@ -79,9 +103,14 @@ module Aws::WorkSpaces
79
103
  RebuildWorkspacesRequest = Shapes::StructureShape.new(name: 'RebuildWorkspacesRequest')
80
104
  RebuildWorkspacesResult = Shapes::StructureShape.new(name: 'RebuildWorkspacesResult')
81
105
  RegistrationCode = Shapes::StringShape.new(name: 'RegistrationCode')
106
+ ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
107
+ ResourceAssociatedException = Shapes::StructureShape.new(name: 'ResourceAssociatedException')
108
+ ResourceCreationFailedException = Shapes::StructureShape.new(name: 'ResourceCreationFailedException')
82
109
  ResourceLimitExceededException = Shapes::StructureShape.new(name: 'ResourceLimitExceededException')
83
110
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
84
111
  ResourceUnavailableException = Shapes::StructureShape.new(name: 'ResourceUnavailableException')
112
+ RevokeIpRulesRequest = Shapes::StructureShape.new(name: 'RevokeIpRulesRequest')
113
+ RevokeIpRulesResult = Shapes::StructureShape.new(name: 'RevokeIpRulesResult')
85
114
  RootStorage = Shapes::StructureShape.new(name: 'RootStorage')
86
115
  RootVolumeSizeGib = Shapes::IntegerShape.new(name: 'RootVolumeSizeGib')
87
116
  RunningMode = Shapes::StringShape.new(name: 'RunningMode')
@@ -102,12 +131,15 @@ module Aws::WorkSpaces
102
131
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
103
132
  TagList = Shapes::ListShape.new(name: 'TagList')
104
133
  TagValue = Shapes::StringShape.new(name: 'TagValue')
134
+ TargetWorkspaceState = Shapes::StringShape.new(name: 'TargetWorkspaceState')
105
135
  TerminateRequest = Shapes::StructureShape.new(name: 'TerminateRequest')
106
136
  TerminateWorkspaceRequests = Shapes::ListShape.new(name: 'TerminateWorkspaceRequests')
107
137
  TerminateWorkspacesRequest = Shapes::StructureShape.new(name: 'TerminateWorkspacesRequest')
108
138
  TerminateWorkspacesResult = Shapes::StructureShape.new(name: 'TerminateWorkspacesResult')
109
139
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
110
140
  UnsupportedWorkspaceConfigurationException = Shapes::StructureShape.new(name: 'UnsupportedWorkspaceConfigurationException')
141
+ UpdateRulesOfIpGroupRequest = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupRequest')
142
+ UpdateRulesOfIpGroupResult = Shapes::StructureShape.new(name: 'UpdateRulesOfIpGroupResult')
111
143
  UserName = Shapes::StringShape.new(name: 'UserName')
112
144
  UserStorage = Shapes::StructureShape.new(name: 'UserStorage')
113
145
  UserVolumeSizeGib = Shapes::IntegerShape.new(name: 'UserVolumeSizeGib')
@@ -127,6 +159,20 @@ module Aws::WorkSpaces
127
159
  WorkspaceRequest = Shapes::StructureShape.new(name: 'WorkspaceRequest')
128
160
  WorkspaceRequestList = Shapes::ListShape.new(name: 'WorkspaceRequestList')
129
161
  WorkspaceState = Shapes::StringShape.new(name: 'WorkspaceState')
162
+ WorkspacesIpGroup = Shapes::StructureShape.new(name: 'WorkspacesIpGroup')
163
+ WorkspacesIpGroupsList = Shapes::ListShape.new(name: 'WorkspacesIpGroupsList')
164
+
165
+ AssociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
166
+ AssociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
167
+ AssociateIpGroupsRequest.struct_class = Types::AssociateIpGroupsRequest
168
+
169
+ AssociateIpGroupsResult.struct_class = Types::AssociateIpGroupsResult
170
+
171
+ AuthorizeIpRulesRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
172
+ AuthorizeIpRulesRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, required: true, location_name: "UserRules"))
173
+ AuthorizeIpRulesRequest.struct_class = Types::AuthorizeIpRulesRequest
174
+
175
+ AuthorizeIpRulesResult.struct_class = Types::AuthorizeIpRulesResult
130
176
 
131
177
  BundleIdList.member = Shapes::ShapeRef.new(shape: BundleId)
132
178
 
@@ -135,6 +181,14 @@ module Aws::WorkSpaces
135
181
  ComputeType.add_member(:name, Shapes::ShapeRef.new(shape: Compute, location_name: "Name"))
136
182
  ComputeType.struct_class = Types::ComputeType
137
183
 
184
+ CreateIpGroupRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, required: true, location_name: "GroupName"))
185
+ CreateIpGroupRequest.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "GroupDesc"))
186
+ CreateIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "UserRules"))
187
+ CreateIpGroupRequest.struct_class = Types::CreateIpGroupRequest
188
+
189
+ CreateIpGroupResult.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, location_name: "GroupId"))
190
+ CreateIpGroupResult.struct_class = Types::CreateIpGroupResult
191
+
138
192
  CreateTagsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
139
193
  CreateTagsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
140
194
  CreateTagsRequest.struct_class = Types::CreateTagsRequest
@@ -155,12 +209,26 @@ module Aws::WorkSpaces
155
209
  DefaultWorkspaceCreationProperties.add_member(:user_enabled_as_local_administrator, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "UserEnabledAsLocalAdministrator"))
156
210
  DefaultWorkspaceCreationProperties.struct_class = Types::DefaultWorkspaceCreationProperties
157
211
 
212
+ DeleteIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
213
+ DeleteIpGroupRequest.struct_class = Types::DeleteIpGroupRequest
214
+
215
+ DeleteIpGroupResult.struct_class = Types::DeleteIpGroupResult
216
+
158
217
  DeleteTagsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
159
218
  DeleteTagsRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
160
219
  DeleteTagsRequest.struct_class = Types::DeleteTagsRequest
161
220
 
162
221
  DeleteTagsResult.struct_class = Types::DeleteTagsResult
163
222
 
223
+ DescribeIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, location_name: "GroupIds"))
224
+ DescribeIpGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
225
+ DescribeIpGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Limit, location_name: "MaxResults"))
226
+ DescribeIpGroupsRequest.struct_class = Types::DescribeIpGroupsRequest
227
+
228
+ DescribeIpGroupsResult.add_member(:result, Shapes::ShapeRef.new(shape: WorkspacesIpGroupsList, location_name: "Result"))
229
+ DescribeIpGroupsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
230
+ DescribeIpGroupsResult.struct_class = Types::DescribeIpGroupsResult
231
+
164
232
  DescribeTagsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceId"))
165
233
  DescribeTagsRequest.struct_class = Types::DescribeTagsRequest
166
234
 
@@ -208,6 +276,12 @@ module Aws::WorkSpaces
208
276
 
209
277
  DirectoryList.member = Shapes::ShapeRef.new(shape: WorkspaceDirectory)
210
278
 
279
+ DisassociateIpGroupsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
280
+ DisassociateIpGroupsRequest.add_member(:group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, required: true, location_name: "GroupIds"))
281
+ DisassociateIpGroupsRequest.struct_class = Types::DisassociateIpGroupsRequest
282
+
283
+ DisassociateIpGroupsResult.struct_class = Types::DisassociateIpGroupsResult
284
+
211
285
  DnsIpAddresses.member = Shapes::ShapeRef.new(shape: IpAddress)
212
286
 
213
287
  FailedCreateWorkspaceRequest.add_member(:workspace_request, Shapes::ShapeRef.new(shape: WorkspaceRequest, location_name: "WorkspaceRequest"))
@@ -232,6 +306,16 @@ module Aws::WorkSpaces
232
306
  FailedWorkspaceChangeRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: Description, location_name: "ErrorMessage"))
233
307
  FailedWorkspaceChangeRequest.struct_class = Types::FailedWorkspaceChangeRequest
234
308
 
309
+ IpGroupIdList.member = Shapes::ShapeRef.new(shape: IpGroupId)
310
+
311
+ IpRevokedRuleList.member = Shapes::ShapeRef.new(shape: IpRule)
312
+
313
+ IpRuleItem.add_member(:ip_rule, Shapes::ShapeRef.new(shape: IpRule, location_name: "ipRule"))
314
+ IpRuleItem.add_member(:rule_desc, Shapes::ShapeRef.new(shape: IpRuleDesc, location_name: "ruleDesc"))
315
+ IpRuleItem.struct_class = Types::IpRuleItem
316
+
317
+ IpRuleList.member = Shapes::ShapeRef.new(shape: IpRuleItem)
318
+
235
319
  ModificationState.add_member(:resource, Shapes::ShapeRef.new(shape: ModificationResourceEnum, location_name: "Resource"))
236
320
  ModificationState.add_member(:state, Shapes::ShapeRef.new(shape: ModificationStateEnum, location_name: "State"))
237
321
  ModificationState.struct_class = Types::ModificationState
@@ -244,6 +328,12 @@ module Aws::WorkSpaces
244
328
 
245
329
  ModifyWorkspacePropertiesResult.struct_class = Types::ModifyWorkspacePropertiesResult
246
330
 
331
+ ModifyWorkspaceStateRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
332
+ ModifyWorkspaceStateRequest.add_member(:workspace_state, Shapes::ShapeRef.new(shape: TargetWorkspaceState, required: true, location_name: "WorkspaceState"))
333
+ ModifyWorkspaceStateRequest.struct_class = Types::ModifyWorkspaceStateRequest
334
+
335
+ ModifyWorkspaceStateResult.struct_class = Types::ModifyWorkspaceStateResult
336
+
247
337
  RebootRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
248
338
  RebootRequest.struct_class = Types::RebootRequest
249
339
 
@@ -266,6 +356,12 @@ module Aws::WorkSpaces
266
356
  RebuildWorkspacesResult.add_member(:failed_requests, Shapes::ShapeRef.new(shape: FailedRebuildWorkspaceRequests, location_name: "FailedRequests"))
267
357
  RebuildWorkspacesResult.struct_class = Types::RebuildWorkspacesResult
268
358
 
359
+ RevokeIpRulesRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
360
+ RevokeIpRulesRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRevokedRuleList, required: true, location_name: "UserRules"))
361
+ RevokeIpRulesRequest.struct_class = Types::RevokeIpRulesRequest
362
+
363
+ RevokeIpRulesResult.struct_class = Types::RevokeIpRulesResult
364
+
269
365
  RootStorage.add_member(:capacity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Capacity"))
270
366
  RootStorage.struct_class = Types::RootStorage
271
367
 
@@ -312,6 +408,12 @@ module Aws::WorkSpaces
312
408
  TerminateWorkspacesResult.add_member(:failed_requests, Shapes::ShapeRef.new(shape: FailedTerminateWorkspaceRequests, location_name: "FailedRequests"))
313
409
  TerminateWorkspacesResult.struct_class = Types::TerminateWorkspacesResult
314
410
 
411
+ UpdateRulesOfIpGroupRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, required: true, location_name: "GroupId"))
412
+ UpdateRulesOfIpGroupRequest.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, required: true, location_name: "UserRules"))
413
+ UpdateRulesOfIpGroupRequest.struct_class = Types::UpdateRulesOfIpGroupRequest
414
+
415
+ UpdateRulesOfIpGroupResult.struct_class = Types::UpdateRulesOfIpGroupResult
416
+
315
417
  UserStorage.add_member(:capacity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Capacity"))
316
418
  UserStorage.struct_class = Types::UserStorage
317
419
 
@@ -361,6 +463,7 @@ module Aws::WorkSpaces
361
463
  WorkspaceDirectory.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "WorkspaceSecurityGroupId"))
362
464
  WorkspaceDirectory.add_member(:state, Shapes::ShapeRef.new(shape: WorkspaceDirectoryState, location_name: "State"))
363
465
  WorkspaceDirectory.add_member(:workspace_creation_properties, Shapes::ShapeRef.new(shape: DefaultWorkspaceCreationProperties, location_name: "WorkspaceCreationProperties"))
466
+ WorkspaceDirectory.add_member(:ip_group_ids, Shapes::ShapeRef.new(shape: IpGroupIdList, location_name: "ipGroupIds"))
364
467
  WorkspaceDirectory.struct_class = Types::WorkspaceDirectory
365
468
 
366
469
  WorkspaceIdList.member = Shapes::ShapeRef.new(shape: WorkspaceId)
@@ -386,6 +489,14 @@ module Aws::WorkSpaces
386
489
 
387
490
  WorkspaceRequestList.member = Shapes::ShapeRef.new(shape: WorkspaceRequest)
388
491
 
492
+ WorkspacesIpGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: IpGroupId, location_name: "groupId"))
493
+ WorkspacesIpGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: IpGroupName, location_name: "groupName"))
494
+ WorkspacesIpGroup.add_member(:group_desc, Shapes::ShapeRef.new(shape: IpGroupDesc, location_name: "groupDesc"))
495
+ WorkspacesIpGroup.add_member(:user_rules, Shapes::ShapeRef.new(shape: IpRuleList, location_name: "userRules"))
496
+ WorkspacesIpGroup.struct_class = Types::WorkspacesIpGroup
497
+
498
+ WorkspacesIpGroupsList.member = Shapes::ShapeRef.new(shape: WorkspacesIpGroup)
499
+
389
500
 
390
501
  # @api private
391
502
  API = Seahorse::Model::Api.new.tap do |api|
@@ -401,6 +512,46 @@ module Aws::WorkSpaces
401
512
  "targetPrefix" => "WorkspacesService",
402
513
  }
403
514
 
515
+ api.add_operation(:associate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
516
+ o.name = "AssociateIpGroups"
517
+ o.http_method = "POST"
518
+ o.http_request_uri = "/"
519
+ o.input = Shapes::ShapeRef.new(shape: AssociateIpGroupsRequest)
520
+ o.output = Shapes::ShapeRef.new(shape: AssociateIpGroupsResult)
521
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
522
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
523
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
524
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
525
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
526
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotSupportedException)
527
+ end)
528
+
529
+ api.add_operation(:authorize_ip_rules, Seahorse::Model::Operation.new.tap do |o|
530
+ o.name = "AuthorizeIpRules"
531
+ o.http_method = "POST"
532
+ o.http_request_uri = "/"
533
+ o.input = Shapes::ShapeRef.new(shape: AuthorizeIpRulesRequest)
534
+ o.output = Shapes::ShapeRef.new(shape: AuthorizeIpRulesResult)
535
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
536
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
537
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
538
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
539
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
540
+ end)
541
+
542
+ api.add_operation(:create_ip_group, Seahorse::Model::Operation.new.tap do |o|
543
+ o.name = "CreateIpGroup"
544
+ o.http_method = "POST"
545
+ o.http_request_uri = "/"
546
+ o.input = Shapes::ShapeRef.new(shape: CreateIpGroupRequest)
547
+ o.output = Shapes::ShapeRef.new(shape: CreateIpGroupResult)
548
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
549
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
550
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
551
+ o.errors << Shapes::ShapeRef.new(shape: ResourceCreationFailedException)
552
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
553
+ end)
554
+
404
555
  api.add_operation(:create_tags, Seahorse::Model::Operation.new.tap do |o|
405
556
  o.name = "CreateTags"
406
557
  o.http_method = "POST"
@@ -422,6 +573,18 @@ module Aws::WorkSpaces
422
573
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
423
574
  end)
424
575
 
576
+ api.add_operation(:delete_ip_group, Seahorse::Model::Operation.new.tap do |o|
577
+ o.name = "DeleteIpGroup"
578
+ o.http_method = "POST"
579
+ o.http_request_uri = "/"
580
+ o.input = Shapes::ShapeRef.new(shape: DeleteIpGroupRequest)
581
+ o.output = Shapes::ShapeRef.new(shape: DeleteIpGroupResult)
582
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
583
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
584
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAssociatedException)
585
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
586
+ end)
587
+
425
588
  api.add_operation(:delete_tags, Seahorse::Model::Operation.new.tap do |o|
426
589
  o.name = "DeleteTags"
427
590
  o.http_method = "POST"
@@ -432,6 +595,16 @@ module Aws::WorkSpaces
432
595
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
433
596
  end)
434
597
 
598
+ api.add_operation(:describe_ip_groups, Seahorse::Model::Operation.new.tap do |o|
599
+ o.name = "DescribeIpGroups"
600
+ o.http_method = "POST"
601
+ o.http_request_uri = "/"
602
+ o.input = Shapes::ShapeRef.new(shape: DescribeIpGroupsRequest)
603
+ o.output = Shapes::ShapeRef.new(shape: DescribeIpGroupsResult)
604
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
605
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
606
+ end)
607
+
435
608
  api.add_operation(:describe_tags, Seahorse::Model::Operation.new.tap do |o|
436
609
  o.name = "DescribeTags"
437
610
  o.http_method = "POST"
@@ -494,6 +667,18 @@ module Aws::WorkSpaces
494
667
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
495
668
  end)
496
669
 
670
+ api.add_operation(:disassociate_ip_groups, Seahorse::Model::Operation.new.tap do |o|
671
+ o.name = "DisassociateIpGroups"
672
+ o.http_method = "POST"
673
+ o.http_request_uri = "/"
674
+ o.input = Shapes::ShapeRef.new(shape: DisassociateIpGroupsRequest)
675
+ o.output = Shapes::ShapeRef.new(shape: DisassociateIpGroupsResult)
676
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
677
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
678
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
679
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
680
+ end)
681
+
497
682
  api.add_operation(:modify_workspace_properties, Seahorse::Model::Operation.new.tap do |o|
498
683
  o.name = "ModifyWorkspaceProperties"
499
684
  o.http_method = "POST"
@@ -509,6 +694,17 @@ module Aws::WorkSpaces
509
694
  o.errors << Shapes::ShapeRef.new(shape: ResourceUnavailableException)
510
695
  end)
511
696
 
697
+ api.add_operation(:modify_workspace_state, Seahorse::Model::Operation.new.tap do |o|
698
+ o.name = "ModifyWorkspaceState"
699
+ o.http_method = "POST"
700
+ o.http_request_uri = "/"
701
+ o.input = Shapes::ShapeRef.new(shape: ModifyWorkspaceStateRequest)
702
+ o.output = Shapes::ShapeRef.new(shape: ModifyWorkspaceStateResult)
703
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
704
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
705
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
706
+ end)
707
+
512
708
  api.add_operation(:reboot_workspaces, Seahorse::Model::Operation.new.tap do |o|
513
709
  o.name = "RebootWorkspaces"
514
710
  o.http_method = "POST"
@@ -525,6 +721,18 @@ module Aws::WorkSpaces
525
721
  o.output = Shapes::ShapeRef.new(shape: RebuildWorkspacesResult)
526
722
  end)
527
723
 
724
+ api.add_operation(:revoke_ip_rules, Seahorse::Model::Operation.new.tap do |o|
725
+ o.name = "RevokeIpRules"
726
+ o.http_method = "POST"
727
+ o.http_request_uri = "/"
728
+ o.input = Shapes::ShapeRef.new(shape: RevokeIpRulesRequest)
729
+ o.output = Shapes::ShapeRef.new(shape: RevokeIpRulesResult)
730
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
731
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
732
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
733
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
734
+ end)
735
+
528
736
  api.add_operation(:start_workspaces, Seahorse::Model::Operation.new.tap do |o|
529
737
  o.name = "StartWorkspaces"
530
738
  o.http_method = "POST"
@@ -548,6 +756,19 @@ module Aws::WorkSpaces
548
756
  o.input = Shapes::ShapeRef.new(shape: TerminateWorkspacesRequest)
549
757
  o.output = Shapes::ShapeRef.new(shape: TerminateWorkspacesResult)
550
758
  end)
759
+
760
+ api.add_operation(:update_rules_of_ip_group, Seahorse::Model::Operation.new.tap do |o|
761
+ o.name = "UpdateRulesOfIpGroup"
762
+ o.http_method = "POST"
763
+ o.http_request_uri = "/"
764
+ o.input = Shapes::ShapeRef.new(shape: UpdateRulesOfIpGroupRequest)
765
+ o.output = Shapes::ShapeRef.new(shape: UpdateRulesOfIpGroupResult)
766
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValuesException)
767
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
768
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
769
+ o.errors << Shapes::ShapeRef.new(shape: InvalidResourceStateException)
770
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
771
+ end)
551
772
  end
552
773
 
553
774
  end
@@ -8,6 +8,67 @@
8
8
  module Aws::WorkSpaces
9
9
  module Types
10
10
 
11
+ # @note When making an API call, you may pass AssociateIpGroupsRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # directory_id: "DirectoryId", # required
16
+ # group_ids: ["IpGroupId"], # required
17
+ # }
18
+ #
19
+ # @!attribute [rw] directory_id
20
+ # The ID of the directory.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] group_ids
24
+ # The IDs of one or more IP access control groups.
25
+ # @return [Array<String>]
26
+ #
27
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateIpGroupsRequest AWS API Documentation
28
+ #
29
+ class AssociateIpGroupsRequest < Struct.new(
30
+ :directory_id,
31
+ :group_ids)
32
+ include Aws::Structure
33
+ end
34
+
35
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateIpGroupsResult AWS API Documentation
36
+ #
37
+ class AssociateIpGroupsResult < Aws::EmptyStructure; end
38
+
39
+ # @note When making an API call, you may pass AuthorizeIpRulesRequest
40
+ # data as a hash:
41
+ #
42
+ # {
43
+ # group_id: "IpGroupId", # required
44
+ # user_rules: [ # required
45
+ # {
46
+ # ip_rule: "IpRule",
47
+ # rule_desc: "IpRuleDesc",
48
+ # },
49
+ # ],
50
+ # }
51
+ #
52
+ # @!attribute [rw] group_id
53
+ # The ID of the group.
54
+ # @return [String]
55
+ #
56
+ # @!attribute [rw] user_rules
57
+ # The rules to add to the group.
58
+ # @return [Array<Types::IpRuleItem>]
59
+ #
60
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AuthorizeIpRulesRequest AWS API Documentation
61
+ #
62
+ class AuthorizeIpRulesRequest < Struct.new(
63
+ :group_id,
64
+ :user_rules)
65
+ include Aws::Structure
66
+ end
67
+
68
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AuthorizeIpRulesResult AWS API Documentation
69
+ #
70
+ class AuthorizeIpRulesResult < Aws::EmptyStructure; end
71
+
11
72
  # Information about the compute type.
12
73
  #
13
74
  # @!attribute [rw] name
@@ -21,6 +82,52 @@ module Aws::WorkSpaces
21
82
  include Aws::Structure
22
83
  end
23
84
 
85
+ # @note When making an API call, you may pass CreateIpGroupRequest
86
+ # data as a hash:
87
+ #
88
+ # {
89
+ # group_name: "IpGroupName", # required
90
+ # group_desc: "IpGroupDesc",
91
+ # user_rules: [
92
+ # {
93
+ # ip_rule: "IpRule",
94
+ # rule_desc: "IpRuleDesc",
95
+ # },
96
+ # ],
97
+ # }
98
+ #
99
+ # @!attribute [rw] group_name
100
+ # The name of the group.
101
+ # @return [String]
102
+ #
103
+ # @!attribute [rw] group_desc
104
+ # The description of the group.
105
+ # @return [String]
106
+ #
107
+ # @!attribute [rw] user_rules
108
+ # The rules to add to the group.
109
+ # @return [Array<Types::IpRuleItem>]
110
+ #
111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateIpGroupRequest AWS API Documentation
112
+ #
113
+ class CreateIpGroupRequest < Struct.new(
114
+ :group_name,
115
+ :group_desc,
116
+ :user_rules)
117
+ include Aws::Structure
118
+ end
119
+
120
+ # @!attribute [rw] group_id
121
+ # The ID of the group.
122
+ # @return [String]
123
+ #
124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateIpGroupResult AWS API Documentation
125
+ #
126
+ class CreateIpGroupResult < Struct.new(
127
+ :group_id)
128
+ include Aws::Structure
129
+ end
130
+
24
131
  # @note When making an API call, you may pass CreateTagsRequest
25
132
  # data as a hash:
26
133
  #
@@ -35,11 +142,11 @@ module Aws::WorkSpaces
35
142
  # }
36
143
  #
37
144
  # @!attribute [rw] resource_id
38
- # The ID of the resource.
145
+ # The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.
39
146
  # @return [String]
40
147
  #
41
148
  # @!attribute [rw] tags
42
- # The tags. Each resource can have a maximum of 50 tags.
149
+ # The tags. Each WorkSpace can have a maximum of 50 tags.
43
150
  # @return [Array<Types::Tag>]
44
151
  #
45
152
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateTagsRequest AWS API Documentation
@@ -84,7 +191,7 @@ module Aws::WorkSpaces
84
191
  # }
85
192
  #
86
193
  # @!attribute [rw] workspaces
87
- # Information about the WorkSpaces to create.
194
+ # The WorkSpaces to create. You can specify up to 25 WorkSpaces.
88
195
  # @return [Array<Types::WorkspaceRequest>]
89
196
  #
90
197
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspacesRequest AWS API Documentation
@@ -152,6 +259,28 @@ module Aws::WorkSpaces
152
259
  include Aws::Structure
153
260
  end
154
261
 
262
+ # @note When making an API call, you may pass DeleteIpGroupRequest
263
+ # data as a hash:
264
+ #
265
+ # {
266
+ # group_id: "IpGroupId", # required
267
+ # }
268
+ #
269
+ # @!attribute [rw] group_id
270
+ # The ID of the IP access control group.
271
+ # @return [String]
272
+ #
273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteIpGroupRequest AWS API Documentation
274
+ #
275
+ class DeleteIpGroupRequest < Struct.new(
276
+ :group_id)
277
+ include Aws::Structure
278
+ end
279
+
280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteIpGroupResult AWS API Documentation
281
+ #
282
+ class DeleteIpGroupResult < Aws::EmptyStructure; end
283
+
155
284
  # @note When making an API call, you may pass DeleteTagsRequest
156
285
  # data as a hash:
157
286
  #
@@ -161,7 +290,7 @@ module Aws::WorkSpaces
161
290
  # }
162
291
  #
163
292
  # @!attribute [rw] resource_id
164
- # The ID of the resource.
293
+ # The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.
165
294
  # @return [String]
166
295
  #
167
296
  # @!attribute [rw] tag_keys
@@ -180,6 +309,55 @@ module Aws::WorkSpaces
180
309
  #
181
310
  class DeleteTagsResult < Aws::EmptyStructure; end
182
311
 
312
+ # @note When making an API call, you may pass DescribeIpGroupsRequest
313
+ # data as a hash:
314
+ #
315
+ # {
316
+ # group_ids: ["IpGroupId"],
317
+ # next_token: "PaginationToken",
318
+ # max_results: 1,
319
+ # }
320
+ #
321
+ # @!attribute [rw] group_ids
322
+ # The IDs of one or more IP access control groups.
323
+ # @return [Array<String>]
324
+ #
325
+ # @!attribute [rw] next_token
326
+ # The token for the next set of results. (You received this token from
327
+ # a previous call.)
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] max_results
331
+ # The maximum number of items to return.
332
+ # @return [Integer]
333
+ #
334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeIpGroupsRequest AWS API Documentation
335
+ #
336
+ class DescribeIpGroupsRequest < Struct.new(
337
+ :group_ids,
338
+ :next_token,
339
+ :max_results)
340
+ include Aws::Structure
341
+ end
342
+
343
+ # @!attribute [rw] result
344
+ # Information about the IP access control groups.
345
+ # @return [Array<Types::WorkspacesIpGroup>]
346
+ #
347
+ # @!attribute [rw] next_token
348
+ # The token to use to retrieve the next set of results, or null if
349
+ # there are no more results available. This token is valid for one day
350
+ # and must be used within that time frame.
351
+ # @return [String]
352
+ #
353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeIpGroupsResult AWS API Documentation
354
+ #
355
+ class DescribeIpGroupsResult < Struct.new(
356
+ :result,
357
+ :next_token)
358
+ include Aws::Structure
359
+ end
360
+
183
361
  # @note When making an API call, you may pass DescribeTagsRequest
184
362
  # data as a hash:
185
363
  #
@@ -188,7 +366,7 @@ module Aws::WorkSpaces
188
366
  # }
189
367
  #
190
368
  # @!attribute [rw] resource_id
191
- # The ID of the resource.
369
+ # The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.
192
370
  # @return [String]
193
371
  #
194
372
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeTagsRequest AWS API Documentation
@@ -316,7 +494,8 @@ module Aws::WorkSpaces
316
494
  # }
317
495
  #
318
496
  # @!attribute [rw] workspace_ids
319
- # The identifiers of the WorkSpaces.
497
+ # The identifiers of the WorkSpaces. You can specify up to 25
498
+ # WorkSpaces.
320
499
  # @return [Array<String>]
321
500
  #
322
501
  # @!attribute [rw] next_token
@@ -430,6 +609,34 @@ module Aws::WorkSpaces
430
609
  include Aws::Structure
431
610
  end
432
611
 
612
+ # @note When making an API call, you may pass DisassociateIpGroupsRequest
613
+ # data as a hash:
614
+ #
615
+ # {
616
+ # directory_id: "DirectoryId", # required
617
+ # group_ids: ["IpGroupId"], # required
618
+ # }
619
+ #
620
+ # @!attribute [rw] directory_id
621
+ # The ID of the directory.
622
+ # @return [String]
623
+ #
624
+ # @!attribute [rw] group_ids
625
+ # The IDs of one or more IP access control groups.
626
+ # @return [Array<String>]
627
+ #
628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateIpGroupsRequest AWS API Documentation
629
+ #
630
+ class DisassociateIpGroupsRequest < Struct.new(
631
+ :directory_id,
632
+ :group_ids)
633
+ include Aws::Structure
634
+ end
635
+
636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateIpGroupsResult AWS API Documentation
637
+ #
638
+ class DisassociateIpGroupsResult < Aws::EmptyStructure; end
639
+
433
640
  # Information about a WorkSpace that could not be created.
434
641
  #
435
642
  # @!attribute [rw] workspace_request
@@ -479,6 +686,32 @@ module Aws::WorkSpaces
479
686
  include Aws::Structure
480
687
  end
481
688
 
689
+ # Information about a rule for an IP access control group.
690
+ #
691
+ # @note When making an API call, you may pass IpRuleItem
692
+ # data as a hash:
693
+ #
694
+ # {
695
+ # ip_rule: "IpRule",
696
+ # rule_desc: "IpRuleDesc",
697
+ # }
698
+ #
699
+ # @!attribute [rw] ip_rule
700
+ # The IP address range, in CIDR notation.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] rule_desc
704
+ # The description.
705
+ # @return [String]
706
+ #
707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/IpRuleItem AWS API Documentation
708
+ #
709
+ class IpRuleItem < Struct.new(
710
+ :ip_rule,
711
+ :rule_desc)
712
+ include Aws::Structure
713
+ end
714
+
482
715
  # Information about a WorkSpace modification.
483
716
  #
484
717
  # @!attribute [rw] resource
@@ -531,6 +764,34 @@ module Aws::WorkSpaces
531
764
  #
532
765
  class ModifyWorkspacePropertiesResult < Aws::EmptyStructure; end
533
766
 
767
+ # @note When making an API call, you may pass ModifyWorkspaceStateRequest
768
+ # data as a hash:
769
+ #
770
+ # {
771
+ # workspace_id: "WorkspaceId", # required
772
+ # workspace_state: "AVAILABLE", # required, accepts AVAILABLE, ADMIN_MAINTENANCE
773
+ # }
774
+ #
775
+ # @!attribute [rw] workspace_id
776
+ # The ID of the WorkSpace.
777
+ # @return [String]
778
+ #
779
+ # @!attribute [rw] workspace_state
780
+ # The WorkSpace state.
781
+ # @return [String]
782
+ #
783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceStateRequest AWS API Documentation
784
+ #
785
+ class ModifyWorkspaceStateRequest < Struct.new(
786
+ :workspace_id,
787
+ :workspace_state)
788
+ include Aws::Structure
789
+ end
790
+
791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceStateResult AWS API Documentation
792
+ #
793
+ class ModifyWorkspaceStateResult < Aws::EmptyStructure; end
794
+
534
795
  # Information used to reboot a WorkSpace.
535
796
  #
536
797
  # @note When making an API call, you may pass RebootRequest
@@ -541,7 +802,7 @@ module Aws::WorkSpaces
541
802
  # }
542
803
  #
543
804
  # @!attribute [rw] workspace_id
544
- # The identifier of the WorkSpace.
805
+ # The ID of the WorkSpace.
545
806
  # @return [String]
546
807
  #
547
808
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebootRequest AWS API Documentation
@@ -563,7 +824,7 @@ module Aws::WorkSpaces
563
824
  # }
564
825
  #
565
826
  # @!attribute [rw] reboot_workspace_requests
566
- # The WorkSpaces to reboot.
827
+ # The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.
567
828
  # @return [Array<Types::RebootRequest>]
568
829
  #
569
830
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebootWorkspacesRequest AWS API Documentation
@@ -594,7 +855,7 @@ module Aws::WorkSpaces
594
855
  # }
595
856
  #
596
857
  # @!attribute [rw] workspace_id
597
- # The identifier of the WorkSpace.
858
+ # The ID of the WorkSpace.
598
859
  # @return [String]
599
860
  #
600
861
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildRequest AWS API Documentation
@@ -616,7 +877,7 @@ module Aws::WorkSpaces
616
877
  # }
617
878
  #
618
879
  # @!attribute [rw] rebuild_workspace_requests
619
- # The WorkSpaces to rebuild.
880
+ # The WorkSpace to rebuild. You can specify a single WorkSpace.
620
881
  # @return [Array<Types::RebuildRequest>]
621
882
  #
622
883
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildWorkspacesRequest AWS API Documentation
@@ -627,7 +888,7 @@ module Aws::WorkSpaces
627
888
  end
628
889
 
629
890
  # @!attribute [rw] failed_requests
630
- # Information about the WorkSpaces that could not be rebuilt.
891
+ # Information about the WorkSpace if it could not be rebuilt.
631
892
  # @return [Array<Types::FailedWorkspaceChangeRequest>]
632
893
  #
633
894
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildWorkspacesResult AWS API Documentation
@@ -637,6 +898,34 @@ module Aws::WorkSpaces
637
898
  include Aws::Structure
638
899
  end
639
900
 
901
+ # @note When making an API call, you may pass RevokeIpRulesRequest
902
+ # data as a hash:
903
+ #
904
+ # {
905
+ # group_id: "IpGroupId", # required
906
+ # user_rules: ["IpRule"], # required
907
+ # }
908
+ #
909
+ # @!attribute [rw] group_id
910
+ # The ID of the group.
911
+ # @return [String]
912
+ #
913
+ # @!attribute [rw] user_rules
914
+ # The rules to remove from the group.
915
+ # @return [Array<String>]
916
+ #
917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RevokeIpRulesRequest AWS API Documentation
918
+ #
919
+ class RevokeIpRulesRequest < Struct.new(
920
+ :group_id,
921
+ :user_rules)
922
+ include Aws::Structure
923
+ end
924
+
925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RevokeIpRulesResult AWS API Documentation
926
+ #
927
+ class RevokeIpRulesResult < Aws::EmptyStructure; end
928
+
640
929
  # Information about the root volume for a WorkSpace bundle.
641
930
  #
642
931
  # @!attribute [rw] capacity
@@ -682,7 +971,7 @@ module Aws::WorkSpaces
682
971
  # }
683
972
  #
684
973
  # @!attribute [rw] start_workspace_requests
685
- # The WorkSpaces to start.
974
+ # The WorkSpaces to start. You can specify up to 25 WorkSpaces.
686
975
  # @return [Array<Types::StartRequest>]
687
976
  #
688
977
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StartWorkspacesRequest AWS API Documentation
@@ -735,7 +1024,7 @@ module Aws::WorkSpaces
735
1024
  # }
736
1025
  #
737
1026
  # @!attribute [rw] stop_workspace_requests
738
- # The WorkSpaces to stop.
1027
+ # The WorkSpaces to stop. You can specify up to 25 WorkSpaces.
739
1028
  # @return [Array<Types::StopRequest>]
740
1029
  #
741
1030
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StopWorkspacesRequest AWS API Documentation
@@ -792,7 +1081,7 @@ module Aws::WorkSpaces
792
1081
  # }
793
1082
  #
794
1083
  # @!attribute [rw] workspace_id
795
- # The identifier of the WorkSpace.
1084
+ # The ID of the WorkSpace.
796
1085
  # @return [String]
797
1086
  #
798
1087
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateRequest AWS API Documentation
@@ -814,7 +1103,7 @@ module Aws::WorkSpaces
814
1103
  # }
815
1104
  #
816
1105
  # @!attribute [rw] terminate_workspace_requests
817
- # The WorkSpaces to terminate.
1106
+ # The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.
818
1107
  # @return [Array<Types::TerminateRequest>]
819
1108
  #
820
1109
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateWorkspacesRequest AWS API Documentation
@@ -835,6 +1124,39 @@ module Aws::WorkSpaces
835
1124
  include Aws::Structure
836
1125
  end
837
1126
 
1127
+ # @note When making an API call, you may pass UpdateRulesOfIpGroupRequest
1128
+ # data as a hash:
1129
+ #
1130
+ # {
1131
+ # group_id: "IpGroupId", # required
1132
+ # user_rules: [ # required
1133
+ # {
1134
+ # ip_rule: "IpRule",
1135
+ # rule_desc: "IpRuleDesc",
1136
+ # },
1137
+ # ],
1138
+ # }
1139
+ #
1140
+ # @!attribute [rw] group_id
1141
+ # The ID of the group.
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] user_rules
1145
+ # One or more rules.
1146
+ # @return [Array<Types::IpRuleItem>]
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateRulesOfIpGroupRequest AWS API Documentation
1149
+ #
1150
+ class UpdateRulesOfIpGroupRequest < Struct.new(
1151
+ :group_id,
1152
+ :user_rules)
1153
+ include Aws::Structure
1154
+ end
1155
+
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateRulesOfIpGroupResult AWS API Documentation
1157
+ #
1158
+ class UpdateRulesOfIpGroupResult < Aws::EmptyStructure; end
1159
+
838
1160
  # Information about the user storage for a WorkSpace bundle.
839
1161
  #
840
1162
  # @!attribute [rw] capacity
@@ -1011,8 +1333,8 @@ module Aws::WorkSpaces
1011
1333
  include Aws::Structure
1012
1334
  end
1013
1335
 
1014
- # Contains information about an AWS Directory Service directory for use
1015
- # with Amazon WorkSpaces.
1336
+ # Information about an AWS Directory Service directory for use with
1337
+ # Amazon WorkSpaces.
1016
1338
  #
1017
1339
  # @!attribute [rw] directory_id
1018
1340
  # The directory identifier.
@@ -1067,6 +1389,11 @@ module Aws::WorkSpaces
1067
1389
  # The default creation properties for all WorkSpaces in the directory.
1068
1390
  # @return [Types::DefaultWorkspaceCreationProperties]
1069
1391
  #
1392
+ # @!attribute [rw] ip_group_ids
1393
+ # The identifiers of the IP access control groups associated with the
1394
+ # directory.
1395
+ # @return [Array<String>]
1396
+ #
1070
1397
  # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/WorkspaceDirectory AWS API Documentation
1071
1398
  #
1072
1399
  class WorkspaceDirectory < Struct.new(
@@ -1081,7 +1408,8 @@ module Aws::WorkSpaces
1081
1408
  :directory_type,
1082
1409
  :workspace_security_group_id,
1083
1410
  :state,
1084
- :workspace_creation_properties)
1411
+ :workspace_creation_properties,
1412
+ :ip_group_ids)
1085
1413
  include Aws::Structure
1086
1414
  end
1087
1415
 
@@ -1217,5 +1545,33 @@ module Aws::WorkSpaces
1217
1545
  include Aws::Structure
1218
1546
  end
1219
1547
 
1548
+ # Information about an IP access control group.
1549
+ #
1550
+ # @!attribute [rw] group_id
1551
+ # The ID of the group.
1552
+ # @return [String]
1553
+ #
1554
+ # @!attribute [rw] group_name
1555
+ # The name of the group.
1556
+ # @return [String]
1557
+ #
1558
+ # @!attribute [rw] group_desc
1559
+ # The description of the group.
1560
+ # @return [String]
1561
+ #
1562
+ # @!attribute [rw] user_rules
1563
+ # The rules.
1564
+ # @return [Array<Types::IpRuleItem>]
1565
+ #
1566
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/WorkspacesIpGroup AWS API Documentation
1567
+ #
1568
+ class WorkspacesIpGroup < Struct.new(
1569
+ :group_id,
1570
+ :group_name,
1571
+ :group_desc,
1572
+ :user_rules)
1573
+ include Aws::Structure
1574
+ end
1575
+
1220
1576
  end
1221
1577
  end