aws-sdk-workspaces 1.1.0 → 1.2.0

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