aws-sdk-workmail 1.27.0 → 1.32.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.
@@ -29,10 +29,14 @@ module Aws::WorkMail
29
29
  AssociateMemberToGroupResponse = Shapes::StructureShape.new(name: 'AssociateMemberToGroupResponse')
30
30
  BookingOptions = Shapes::StructureShape.new(name: 'BookingOptions')
31
31
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
32
+ CancelMailboxExportJobRequest = Shapes::StructureShape.new(name: 'CancelMailboxExportJobRequest')
33
+ CancelMailboxExportJobResponse = Shapes::StructureShape.new(name: 'CancelMailboxExportJobResponse')
32
34
  CreateAliasRequest = Shapes::StructureShape.new(name: 'CreateAliasRequest')
33
35
  CreateAliasResponse = Shapes::StructureShape.new(name: 'CreateAliasResponse')
34
36
  CreateGroupRequest = Shapes::StructureShape.new(name: 'CreateGroupRequest')
35
37
  CreateGroupResponse = Shapes::StructureShape.new(name: 'CreateGroupResponse')
38
+ CreateOrganizationRequest = Shapes::StructureShape.new(name: 'CreateOrganizationRequest')
39
+ CreateOrganizationResponse = Shapes::StructureShape.new(name: 'CreateOrganizationResponse')
36
40
  CreateResourceRequest = Shapes::StructureShape.new(name: 'CreateResourceRequest')
37
41
  CreateResourceResponse = Shapes::StructureShape.new(name: 'CreateResourceResponse')
38
42
  CreateUserRequest = Shapes::StructureShape.new(name: 'CreateUserRequest')
@@ -46,6 +50,8 @@ module Aws::WorkMail
46
50
  DeleteGroupResponse = Shapes::StructureShape.new(name: 'DeleteGroupResponse')
47
51
  DeleteMailboxPermissionsRequest = Shapes::StructureShape.new(name: 'DeleteMailboxPermissionsRequest')
48
52
  DeleteMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'DeleteMailboxPermissionsResponse')
53
+ DeleteOrganizationRequest = Shapes::StructureShape.new(name: 'DeleteOrganizationRequest')
54
+ DeleteOrganizationResponse = Shapes::StructureShape.new(name: 'DeleteOrganizationResponse')
49
55
  DeleteResourceRequest = Shapes::StructureShape.new(name: 'DeleteResourceRequest')
50
56
  DeleteResourceResponse = Shapes::StructureShape.new(name: 'DeleteResourceResponse')
51
57
  DeleteRetentionPolicyRequest = Shapes::StructureShape.new(name: 'DeleteRetentionPolicyRequest')
@@ -56,18 +62,26 @@ module Aws::WorkMail
56
62
  DeregisterFromWorkMailResponse = Shapes::StructureShape.new(name: 'DeregisterFromWorkMailResponse')
57
63
  DescribeGroupRequest = Shapes::StructureShape.new(name: 'DescribeGroupRequest')
58
64
  DescribeGroupResponse = Shapes::StructureShape.new(name: 'DescribeGroupResponse')
65
+ DescribeMailboxExportJobRequest = Shapes::StructureShape.new(name: 'DescribeMailboxExportJobRequest')
66
+ DescribeMailboxExportJobResponse = Shapes::StructureShape.new(name: 'DescribeMailboxExportJobResponse')
59
67
  DescribeOrganizationRequest = Shapes::StructureShape.new(name: 'DescribeOrganizationRequest')
60
68
  DescribeOrganizationResponse = Shapes::StructureShape.new(name: 'DescribeOrganizationResponse')
61
69
  DescribeResourceRequest = Shapes::StructureShape.new(name: 'DescribeResourceRequest')
62
70
  DescribeResourceResponse = Shapes::StructureShape.new(name: 'DescribeResourceResponse')
63
71
  DescribeUserRequest = Shapes::StructureShape.new(name: 'DescribeUserRequest')
64
72
  DescribeUserResponse = Shapes::StructureShape.new(name: 'DescribeUserResponse')
73
+ Description = Shapes::StringShape.new(name: 'Description')
74
+ DirectoryId = Shapes::StringShape.new(name: 'DirectoryId')
75
+ DirectoryInUseException = Shapes::StructureShape.new(name: 'DirectoryInUseException')
65
76
  DirectoryServiceAuthenticationFailedException = Shapes::StructureShape.new(name: 'DirectoryServiceAuthenticationFailedException')
66
77
  DirectoryUnavailableException = Shapes::StructureShape.new(name: 'DirectoryUnavailableException')
67
78
  DisassociateDelegateFromResourceRequest = Shapes::StructureShape.new(name: 'DisassociateDelegateFromResourceRequest')
68
79
  DisassociateDelegateFromResourceResponse = Shapes::StructureShape.new(name: 'DisassociateDelegateFromResourceResponse')
69
80
  DisassociateMemberFromGroupRequest = Shapes::StructureShape.new(name: 'DisassociateMemberFromGroupRequest')
70
81
  DisassociateMemberFromGroupResponse = Shapes::StructureShape.new(name: 'DisassociateMemberFromGroupResponse')
82
+ Domain = Shapes::StructureShape.new(name: 'Domain')
83
+ DomainName = Shapes::StringShape.new(name: 'DomainName')
84
+ Domains = Shapes::ListShape.new(name: 'Domains')
71
85
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
72
86
  EmailAddressInUseException = Shapes::StructureShape.new(name: 'EmailAddressInUseException')
73
87
  EntityAlreadyRegisteredException = Shapes::StructureShape.new(name: 'EntityAlreadyRegisteredException')
@@ -86,12 +100,16 @@ module Aws::WorkMail
86
100
  Group = Shapes::StructureShape.new(name: 'Group')
87
101
  GroupName = Shapes::StringShape.new(name: 'GroupName')
88
102
  Groups = Shapes::ListShape.new(name: 'Groups')
103
+ HostedZoneId = Shapes::StringShape.new(name: 'HostedZoneId')
104
+ IdempotencyClientToken = Shapes::StringShape.new(name: 'IdempotencyClientToken')
89
105
  InvalidConfigurationException = Shapes::StructureShape.new(name: 'InvalidConfigurationException')
90
106
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
91
107
  InvalidPasswordException = Shapes::StructureShape.new(name: 'InvalidPasswordException')
92
108
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
93
109
  IpRange = Shapes::StringShape.new(name: 'IpRange')
94
110
  IpRangeList = Shapes::ListShape.new(name: 'IpRangeList')
111
+ Jobs = Shapes::ListShape.new(name: 'Jobs')
112
+ KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
95
113
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
96
114
  ListAccessControlRulesRequest = Shapes::StructureShape.new(name: 'ListAccessControlRulesRequest')
97
115
  ListAccessControlRulesResponse = Shapes::StructureShape.new(name: 'ListAccessControlRulesResponse')
@@ -101,6 +119,8 @@ module Aws::WorkMail
101
119
  ListGroupMembersResponse = Shapes::StructureShape.new(name: 'ListGroupMembersResponse')
102
120
  ListGroupsRequest = Shapes::StructureShape.new(name: 'ListGroupsRequest')
103
121
  ListGroupsResponse = Shapes::StructureShape.new(name: 'ListGroupsResponse')
122
+ ListMailboxExportJobsRequest = Shapes::StructureShape.new(name: 'ListMailboxExportJobsRequest')
123
+ ListMailboxExportJobsResponse = Shapes::StructureShape.new(name: 'ListMailboxExportJobsResponse')
104
124
  ListMailboxPermissionsRequest = Shapes::StructureShape.new(name: 'ListMailboxPermissionsRequest')
105
125
  ListMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'ListMailboxPermissionsResponse')
106
126
  ListOrganizationsRequest = Shapes::StructureShape.new(name: 'ListOrganizationsRequest')
@@ -115,6 +135,10 @@ module Aws::WorkMail
115
135
  ListUsersResponse = Shapes::StructureShape.new(name: 'ListUsersResponse')
116
136
  MailDomainNotFoundException = Shapes::StructureShape.new(name: 'MailDomainNotFoundException')
117
137
  MailDomainStateException = Shapes::StructureShape.new(name: 'MailDomainStateException')
138
+ MailboxExportErrorInfo = Shapes::StringShape.new(name: 'MailboxExportErrorInfo')
139
+ MailboxExportJob = Shapes::StructureShape.new(name: 'MailboxExportJob')
140
+ MailboxExportJobId = Shapes::StringShape.new(name: 'MailboxExportJobId')
141
+ MailboxExportJobState = Shapes::StringShape.new(name: 'MailboxExportJobState')
118
142
  MailboxQuota = Shapes::IntegerShape.new(name: 'MailboxQuota')
119
143
  MailboxSize = Shapes::FloatShape.new(name: 'MailboxSize')
120
144
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -130,6 +154,7 @@ module Aws::WorkMail
130
154
  OrganizationSummaries = Shapes::ListShape.new(name: 'OrganizationSummaries')
131
155
  OrganizationSummary = Shapes::StructureShape.new(name: 'OrganizationSummary')
132
156
  Password = Shapes::StringShape.new(name: 'Password')
157
+ Percentage = Shapes::IntegerShape.new(name: 'Percentage')
133
158
  Permission = Shapes::StructureShape.new(name: 'Permission')
134
159
  PermissionType = Shapes::StringShape.new(name: 'PermissionType')
135
160
  PermissionValues = Shapes::ListShape.new(name: 'PermissionValues')
@@ -155,7 +180,12 @@ module Aws::WorkMail
155
180
  Resources = Shapes::ListShape.new(name: 'Resources')
156
181
  RetentionAction = Shapes::StringShape.new(name: 'RetentionAction')
157
182
  RetentionPeriod = Shapes::IntegerShape.new(name: 'RetentionPeriod')
183
+ RoleArn = Shapes::StringShape.new(name: 'RoleArn')
184
+ S3BucketName = Shapes::StringShape.new(name: 'S3BucketName')
185
+ S3ObjectKey = Shapes::StringShape.new(name: 'S3ObjectKey')
158
186
  ShortString = Shapes::StringShape.new(name: 'ShortString')
187
+ StartMailboxExportJobRequest = Shapes::StructureShape.new(name: 'StartMailboxExportJobRequest')
188
+ StartMailboxExportJobResponse = Shapes::StructureShape.new(name: 'StartMailboxExportJobResponse')
159
189
  String = Shapes::StringShape.new(name: 'String')
160
190
  Tag = Shapes::StructureShape.new(name: 'Tag')
161
191
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -222,6 +252,13 @@ module Aws::WorkMail
222
252
  BookingOptions.add_member(:auto_decline_conflicting_requests, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoDeclineConflictingRequests"))
223
253
  BookingOptions.struct_class = Types::BookingOptions
224
254
 
255
+ CancelMailboxExportJobRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, required: true, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
256
+ CancelMailboxExportJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: MailboxExportJobId, required: true, location_name: "JobId"))
257
+ CancelMailboxExportJobRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
258
+ CancelMailboxExportJobRequest.struct_class = Types::CancelMailboxExportJobRequest
259
+
260
+ CancelMailboxExportJobResponse.struct_class = Types::CancelMailboxExportJobResponse
261
+
225
262
  CreateAliasRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
226
263
  CreateAliasRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
227
264
  CreateAliasRequest.add_member(:alias, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "Alias"))
@@ -236,6 +273,17 @@ module Aws::WorkMail
236
273
  CreateGroupResponse.add_member(:group_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, location_name: "GroupId"))
237
274
  CreateGroupResponse.struct_class = Types::CreateGroupResponse
238
275
 
276
+ CreateOrganizationRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "DirectoryId"))
277
+ CreateOrganizationRequest.add_member(:alias, Shapes::ShapeRef.new(shape: OrganizationName, required: true, location_name: "Alias"))
278
+ CreateOrganizationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
279
+ CreateOrganizationRequest.add_member(:domains, Shapes::ShapeRef.new(shape: Domains, location_name: "Domains"))
280
+ CreateOrganizationRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
281
+ CreateOrganizationRequest.add_member(:enable_interoperability, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableInteroperability"))
282
+ CreateOrganizationRequest.struct_class = Types::CreateOrganizationRequest
283
+
284
+ CreateOrganizationResponse.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
285
+ CreateOrganizationResponse.struct_class = Types::CreateOrganizationResponse
286
+
239
287
  CreateResourceRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
240
288
  CreateResourceRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "Name"))
241
289
  CreateResourceRequest.add_member(:type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "Type"))
@@ -283,6 +331,15 @@ module Aws::WorkMail
283
331
 
284
332
  DeleteMailboxPermissionsResponse.struct_class = Types::DeleteMailboxPermissionsResponse
285
333
 
334
+ DeleteOrganizationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
335
+ DeleteOrganizationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
336
+ DeleteOrganizationRequest.add_member(:delete_directory, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "DeleteDirectory"))
337
+ DeleteOrganizationRequest.struct_class = Types::DeleteOrganizationRequest
338
+
339
+ DeleteOrganizationResponse.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
340
+ DeleteOrganizationResponse.add_member(:state, Shapes::ShapeRef.new(shape: String, location_name: "State"))
341
+ DeleteOrganizationResponse.struct_class = Types::DeleteOrganizationResponse
342
+
286
343
  DeleteResourceRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
287
344
  DeleteResourceRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
288
345
  DeleteResourceRequest.struct_class = Types::DeleteResourceRequest
@@ -319,6 +376,24 @@ module Aws::WorkMail
319
376
  DescribeGroupResponse.add_member(:disabled_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DisabledDate"))
320
377
  DescribeGroupResponse.struct_class = Types::DescribeGroupResponse
321
378
 
379
+ DescribeMailboxExportJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: MailboxExportJobId, required: true, location_name: "JobId"))
380
+ DescribeMailboxExportJobRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
381
+ DescribeMailboxExportJobRequest.struct_class = Types::DescribeMailboxExportJobRequest
382
+
383
+ DescribeMailboxExportJobResponse.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, location_name: "EntityId"))
384
+ DescribeMailboxExportJobResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
385
+ DescribeMailboxExportJobResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn"))
386
+ DescribeMailboxExportJobResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
387
+ DescribeMailboxExportJobResponse.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, location_name: "S3BucketName"))
388
+ DescribeMailboxExportJobResponse.add_member(:s3_prefix, Shapes::ShapeRef.new(shape: S3ObjectKey, location_name: "S3Prefix"))
389
+ DescribeMailboxExportJobResponse.add_member(:s3_path, Shapes::ShapeRef.new(shape: S3ObjectKey, location_name: "S3Path"))
390
+ DescribeMailboxExportJobResponse.add_member(:estimated_progress, Shapes::ShapeRef.new(shape: Percentage, location_name: "EstimatedProgress"))
391
+ DescribeMailboxExportJobResponse.add_member(:state, Shapes::ShapeRef.new(shape: MailboxExportJobState, location_name: "State"))
392
+ DescribeMailboxExportJobResponse.add_member(:error_info, Shapes::ShapeRef.new(shape: MailboxExportErrorInfo, location_name: "ErrorInfo"))
393
+ DescribeMailboxExportJobResponse.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
394
+ DescribeMailboxExportJobResponse.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTime"))
395
+ DescribeMailboxExportJobResponse.struct_class = Types::DescribeMailboxExportJobResponse
396
+
322
397
  DescribeOrganizationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
323
398
  DescribeOrganizationRequest.struct_class = Types::DescribeOrganizationRequest
324
399
 
@@ -361,6 +436,9 @@ module Aws::WorkMail
361
436
  DescribeUserResponse.add_member(:disabled_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DisabledDate"))
362
437
  DescribeUserResponse.struct_class = Types::DescribeUserResponse
363
438
 
439
+ DirectoryInUseException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
440
+ DirectoryInUseException.struct_class = Types::DirectoryInUseException
441
+
364
442
  DirectoryServiceAuthenticationFailedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
365
443
  DirectoryServiceAuthenticationFailedException.struct_class = Types::DirectoryServiceAuthenticationFailedException
366
444
 
@@ -381,6 +459,12 @@ module Aws::WorkMail
381
459
 
382
460
  DisassociateMemberFromGroupResponse.struct_class = Types::DisassociateMemberFromGroupResponse
383
461
 
462
+ Domain.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, location_name: "DomainName"))
463
+ Domain.add_member(:hosted_zone_id, Shapes::ShapeRef.new(shape: HostedZoneId, location_name: "HostedZoneId"))
464
+ Domain.struct_class = Types::Domain
465
+
466
+ Domains.member = Shapes::ShapeRef.new(shape: Domain)
467
+
384
468
  EmailAddressInUseException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
385
469
  EmailAddressInUseException.struct_class = Types::EmailAddressInUseException
386
470
 
@@ -448,6 +532,8 @@ module Aws::WorkMail
448
532
 
449
533
  IpRangeList.member = Shapes::ShapeRef.new(shape: IpRange)
450
534
 
535
+ Jobs.member = Shapes::ShapeRef.new(shape: MailboxExportJob)
536
+
451
537
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
452
538
  LimitExceededException.struct_class = Types::LimitExceededException
453
539
 
@@ -486,6 +572,15 @@ module Aws::WorkMail
486
572
  ListGroupsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
487
573
  ListGroupsResponse.struct_class = Types::ListGroupsResponse
488
574
 
575
+ ListMailboxExportJobsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
576
+ ListMailboxExportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
577
+ ListMailboxExportJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
578
+ ListMailboxExportJobsRequest.struct_class = Types::ListMailboxExportJobsRequest
579
+
580
+ ListMailboxExportJobsResponse.add_member(:jobs, Shapes::ShapeRef.new(shape: Jobs, location_name: "Jobs"))
581
+ ListMailboxExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
582
+ ListMailboxExportJobsResponse.struct_class = Types::ListMailboxExportJobsResponse
583
+
489
584
  ListMailboxPermissionsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
490
585
  ListMailboxPermissionsRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
491
586
  ListMailboxPermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -544,6 +639,17 @@ module Aws::WorkMail
544
639
  MailDomainStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
545
640
  MailDomainStateException.struct_class = Types::MailDomainStateException
546
641
 
642
+ MailboxExportJob.add_member(:job_id, Shapes::ShapeRef.new(shape: MailboxExportJobId, location_name: "JobId"))
643
+ MailboxExportJob.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, location_name: "EntityId"))
644
+ MailboxExportJob.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
645
+ MailboxExportJob.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, location_name: "S3BucketName"))
646
+ MailboxExportJob.add_member(:s3_path, Shapes::ShapeRef.new(shape: S3ObjectKey, location_name: "S3Path"))
647
+ MailboxExportJob.add_member(:estimated_progress, Shapes::ShapeRef.new(shape: Percentage, location_name: "EstimatedProgress"))
648
+ MailboxExportJob.add_member(:state, Shapes::ShapeRef.new(shape: MailboxExportJobState, location_name: "State"))
649
+ MailboxExportJob.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
650
+ MailboxExportJob.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTime"))
651
+ MailboxExportJob.struct_class = Types::MailboxExportJob
652
+
547
653
  Member.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "Id"))
548
654
  Member.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
549
655
  Member.add_member(:type, Shapes::ShapeRef.new(shape: MemberType, location_name: "Type"))
@@ -567,6 +673,7 @@ module Aws::WorkMail
567
673
 
568
674
  OrganizationSummary.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
569
675
  OrganizationSummary.add_member(:alias, Shapes::ShapeRef.new(shape: OrganizationName, location_name: "Alias"))
676
+ OrganizationSummary.add_member(:default_mail_domain, Shapes::ShapeRef.new(shape: DomainName, location_name: "DefaultMailDomain"))
570
677
  OrganizationSummary.add_member(:error_message, Shapes::ShapeRef.new(shape: String, location_name: "ErrorMessage"))
571
678
  OrganizationSummary.add_member(:state, Shapes::ShapeRef.new(shape: String, location_name: "State"))
572
679
  OrganizationSummary.struct_class = Types::OrganizationSummary
@@ -644,6 +751,19 @@ module Aws::WorkMail
644
751
 
645
752
  Resources.member = Shapes::ShapeRef.new(shape: Resource)
646
753
 
754
+ StartMailboxExportJobRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, required: true, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
755
+ StartMailboxExportJobRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
756
+ StartMailboxExportJobRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
757
+ StartMailboxExportJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
758
+ StartMailboxExportJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "RoleArn"))
759
+ StartMailboxExportJobRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, required: true, location_name: "KmsKeyArn"))
760
+ StartMailboxExportJobRequest.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, required: true, location_name: "S3BucketName"))
761
+ StartMailboxExportJobRequest.add_member(:s3_prefix, Shapes::ShapeRef.new(shape: S3ObjectKey, required: true, location_name: "S3Prefix"))
762
+ StartMailboxExportJobRequest.struct_class = Types::StartMailboxExportJobRequest
763
+
764
+ StartMailboxExportJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: MailboxExportJobId, location_name: "JobId"))
765
+ StartMailboxExportJobResponse.struct_class = Types::StartMailboxExportJobResponse
766
+
647
767
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
648
768
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
649
769
  Tag.struct_class = Types::Tag
@@ -753,6 +873,18 @@ module Aws::WorkMail
753
873
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
754
874
  end)
755
875
 
876
+ api.add_operation(:cancel_mailbox_export_job, Seahorse::Model::Operation.new.tap do |o|
877
+ o.name = "CancelMailboxExportJob"
878
+ o.http_method = "POST"
879
+ o.http_request_uri = "/"
880
+ o.input = Shapes::ShapeRef.new(shape: CancelMailboxExportJobRequest)
881
+ o.output = Shapes::ShapeRef.new(shape: CancelMailboxExportJobResponse)
882
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
883
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
884
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
885
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
886
+ end)
887
+
756
888
  api.add_operation(:create_alias, Seahorse::Model::Operation.new.tap do |o|
757
889
  o.name = "CreateAlias"
758
890
  o.http_method = "POST"
@@ -786,6 +918,19 @@ module Aws::WorkMail
786
918
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
787
919
  end)
788
920
 
921
+ api.add_operation(:create_organization, Seahorse::Model::Operation.new.tap do |o|
922
+ o.name = "CreateOrganization"
923
+ o.http_method = "POST"
924
+ o.http_request_uri = "/"
925
+ o.input = Shapes::ShapeRef.new(shape: CreateOrganizationRequest)
926
+ o.output = Shapes::ShapeRef.new(shape: CreateOrganizationResponse)
927
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
928
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryInUseException)
929
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryUnavailableException)
930
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
931
+ o.errors << Shapes::ShapeRef.new(shape: NameAvailabilityException)
932
+ end)
933
+
789
934
  api.add_operation(:create_resource, Seahorse::Model::Operation.new.tap do |o|
790
935
  o.name = "CreateResource"
791
936
  o.http_method = "POST"
@@ -869,6 +1014,17 @@ module Aws::WorkMail
869
1014
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
870
1015
  end)
871
1016
 
1017
+ api.add_operation(:delete_organization, Seahorse::Model::Operation.new.tap do |o|
1018
+ o.name = "DeleteOrganization"
1019
+ o.http_method = "POST"
1020
+ o.http_request_uri = "/"
1021
+ o.input = Shapes::ShapeRef.new(shape: DeleteOrganizationRequest)
1022
+ o.output = Shapes::ShapeRef.new(shape: DeleteOrganizationResponse)
1023
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1024
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1025
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1026
+ end)
1027
+
872
1028
  api.add_operation(:delete_resource, Seahorse::Model::Operation.new.tap do |o|
873
1029
  o.name = "DeleteResource"
874
1030
  o.http_method = "POST"
@@ -932,6 +1088,18 @@ module Aws::WorkMail
932
1088
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
933
1089
  end)
934
1090
 
1091
+ api.add_operation(:describe_mailbox_export_job, Seahorse::Model::Operation.new.tap do |o|
1092
+ o.name = "DescribeMailboxExportJob"
1093
+ o.http_method = "POST"
1094
+ o.http_request_uri = "/"
1095
+ o.input = Shapes::ShapeRef.new(shape: DescribeMailboxExportJobRequest)
1096
+ o.output = Shapes::ShapeRef.new(shape: DescribeMailboxExportJobResponse)
1097
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1098
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1099
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1100
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1101
+ end)
1102
+
935
1103
  api.add_operation(:describe_organization, Seahorse::Model::Operation.new.tap do |o|
936
1104
  o.name = "DescribeOrganization"
937
1105
  o.http_method = "POST"
@@ -1096,6 +1264,23 @@ module Aws::WorkMail
1096
1264
  )
1097
1265
  end)
1098
1266
 
1267
+ api.add_operation(:list_mailbox_export_jobs, Seahorse::Model::Operation.new.tap do |o|
1268
+ o.name = "ListMailboxExportJobs"
1269
+ o.http_method = "POST"
1270
+ o.http_request_uri = "/"
1271
+ o.input = Shapes::ShapeRef.new(shape: ListMailboxExportJobsRequest)
1272
+ o.output = Shapes::ShapeRef.new(shape: ListMailboxExportJobsResponse)
1273
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1274
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1275
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1276
+ o[:pager] = Aws::Pager.new(
1277
+ limit_key: "max_results",
1278
+ tokens: {
1279
+ "next_token" => "next_token"
1280
+ }
1281
+ )
1282
+ end)
1283
+
1099
1284
  api.add_operation(:list_mailbox_permissions, Seahorse::Model::Operation.new.tap do |o|
1100
1285
  o.name = "ListMailboxPermissions"
1101
1286
  o.http_method = "POST"
@@ -1265,6 +1450,19 @@ module Aws::WorkMail
1265
1450
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1266
1451
  end)
1267
1452
 
1453
+ api.add_operation(:start_mailbox_export_job, Seahorse::Model::Operation.new.tap do |o|
1454
+ o.name = "StartMailboxExportJob"
1455
+ o.http_method = "POST"
1456
+ o.http_request_uri = "/"
1457
+ o.input = Shapes::ShapeRef.new(shape: StartMailboxExportJobRequest)
1458
+ o.output = Shapes::ShapeRef.new(shape: StartMailboxExportJobResponse)
1459
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1460
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1461
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1462
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1463
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1464
+ end)
1465
+
1268
1466
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1269
1467
  o.name = "TagResource"
1270
1468
  o.http_method = "POST"
@@ -27,6 +27,7 @@ module Aws::WorkMail
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {DirectoryInUseException}
30
31
  # * {DirectoryServiceAuthenticationFailedException}
31
32
  # * {DirectoryUnavailableException}
32
33
  # * {EmailAddressInUseException}
@@ -53,6 +54,21 @@ module Aws::WorkMail
53
54
 
54
55
  extend Aws::Errors::DynamicErrors
55
56
 
57
+ class DirectoryInUseException < ServiceError
58
+
59
+ # @param [Seahorse::Client::RequestContext] context
60
+ # @param [String] message
61
+ # @param [Aws::WorkMail::Types::DirectoryInUseException] data
62
+ def initialize(context, message, data = Aws::EmptyStructure.new)
63
+ super(context, message, data)
64
+ end
65
+
66
+ # @return [String]
67
+ def message
68
+ @message || @data[:message]
69
+ end
70
+ end
71
+
56
72
  class DirectoryServiceAuthenticationFailedException < ServiceError
57
73
 
58
74
  # @param [Seahorse::Client::RequestContext] context
@@ -185,6 +185,44 @@ module Aws::WorkMail
185
185
  include Aws::Structure
186
186
  end
187
187
 
188
+ # @note When making an API call, you may pass CancelMailboxExportJobRequest
189
+ # data as a hash:
190
+ #
191
+ # {
192
+ # client_token: "IdempotencyClientToken", # required
193
+ # job_id: "MailboxExportJobId", # required
194
+ # organization_id: "OrganizationId", # required
195
+ # }
196
+ #
197
+ # @!attribute [rw] client_token
198
+ # The idempotency token for the client request.
199
+ #
200
+ # **A suitable default value is auto-generated.** You should normally
201
+ # not need to pass this option.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] job_id
205
+ # The job ID.
206
+ # @return [String]
207
+ #
208
+ # @!attribute [rw] organization_id
209
+ # The organization ID.
210
+ # @return [String]
211
+ #
212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CancelMailboxExportJobRequest AWS API Documentation
213
+ #
214
+ class CancelMailboxExportJobRequest < Struct.new(
215
+ :client_token,
216
+ :job_id,
217
+ :organization_id)
218
+ SENSITIVE = []
219
+ include Aws::Structure
220
+ end
221
+
222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CancelMailboxExportJobResponse AWS API Documentation
223
+ #
224
+ class CancelMailboxExportJobResponse < Aws::EmptyStructure; end
225
+
188
226
  # @note When making an API call, you may pass CreateAliasRequest
189
227
  # data as a hash:
190
228
  #
@@ -257,6 +295,78 @@ module Aws::WorkMail
257
295
  include Aws::Structure
258
296
  end
259
297
 
298
+ # @note When making an API call, you may pass CreateOrganizationRequest
299
+ # data as a hash:
300
+ #
301
+ # {
302
+ # directory_id: "DirectoryId",
303
+ # alias: "OrganizationName", # required
304
+ # client_token: "IdempotencyClientToken",
305
+ # domains: [
306
+ # {
307
+ # domain_name: "DomainName",
308
+ # hosted_zone_id: "HostedZoneId",
309
+ # },
310
+ # ],
311
+ # kms_key_arn: "KmsKeyArn",
312
+ # enable_interoperability: false,
313
+ # }
314
+ #
315
+ # @!attribute [rw] directory_id
316
+ # The AWS Directory Service directory ID.
317
+ # @return [String]
318
+ #
319
+ # @!attribute [rw] alias
320
+ # The organization alias.
321
+ # @return [String]
322
+ #
323
+ # @!attribute [rw] client_token
324
+ # The idempotency token associated with the request.
325
+ #
326
+ # **A suitable default value is auto-generated.** You should normally
327
+ # not need to pass this option.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] domains
331
+ # The email domains to associate with the organization.
332
+ # @return [Array<Types::Domain>]
333
+ #
334
+ # @!attribute [rw] kms_key_arn
335
+ # The Amazon Resource Name (ARN) of a customer managed master key from
336
+ # AWS KMS.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] enable_interoperability
340
+ # When `true`, allows organization interoperability between Amazon
341
+ # WorkMail and Microsoft Exchange. Can only be set to `true` if an AD
342
+ # Connector directory ID is included in the request.
343
+ # @return [Boolean]
344
+ #
345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganizationRequest AWS API Documentation
346
+ #
347
+ class CreateOrganizationRequest < Struct.new(
348
+ :directory_id,
349
+ :alias,
350
+ :client_token,
351
+ :domains,
352
+ :kms_key_arn,
353
+ :enable_interoperability)
354
+ SENSITIVE = []
355
+ include Aws::Structure
356
+ end
357
+
358
+ # @!attribute [rw] organization_id
359
+ # The organization ID.
360
+ # @return [String]
361
+ #
362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganizationResponse AWS API Documentation
363
+ #
364
+ class CreateOrganizationResponse < Struct.new(
365
+ :organization_id)
366
+ SENSITIVE = []
367
+ include Aws::Structure
368
+ end
369
+
260
370
  # @note When making an API call, you may pass CreateResourceRequest
261
371
  # data as a hash:
262
372
  #
@@ -484,7 +594,7 @@ module Aws::WorkMail
484
594
  # @return [String]
485
595
  #
486
596
  # @!attribute [rw] entity_id
487
- # The identifier of the member (user or group)that owns the mailbox.
597
+ # The identifier of the member (user or group) that owns the mailbox.
488
598
  # @return [String]
489
599
  #
490
600
  # @!attribute [rw] grantee_id
@@ -506,6 +616,58 @@ module Aws::WorkMail
506
616
  #
507
617
  class DeleteMailboxPermissionsResponse < Aws::EmptyStructure; end
508
618
 
619
+ # @note When making an API call, you may pass DeleteOrganizationRequest
620
+ # data as a hash:
621
+ #
622
+ # {
623
+ # client_token: "IdempotencyClientToken",
624
+ # organization_id: "OrganizationId", # required
625
+ # delete_directory: false, # required
626
+ # }
627
+ #
628
+ # @!attribute [rw] client_token
629
+ # The idempotency token associated with the request.
630
+ #
631
+ # **A suitable default value is auto-generated.** You should normally
632
+ # not need to pass this option.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] organization_id
636
+ # The organization ID.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] delete_directory
640
+ # If true, deletes the AWS Directory Service directory associated with
641
+ # the organization.
642
+ # @return [Boolean]
643
+ #
644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteOrganizationRequest AWS API Documentation
645
+ #
646
+ class DeleteOrganizationRequest < Struct.new(
647
+ :client_token,
648
+ :organization_id,
649
+ :delete_directory)
650
+ SENSITIVE = []
651
+ include Aws::Structure
652
+ end
653
+
654
+ # @!attribute [rw] organization_id
655
+ # The organization ID.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] state
659
+ # The state of the organization.
660
+ # @return [String]
661
+ #
662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteOrganizationResponse AWS API Documentation
663
+ #
664
+ class DeleteOrganizationResponse < Struct.new(
665
+ :organization_id,
666
+ :state)
667
+ SENSITIVE = []
668
+ include Aws::Structure
669
+ end
670
+
509
671
  # @note When making an API call, you may pass DeleteResourceRequest
510
672
  # data as a hash:
511
673
  #
@@ -689,6 +851,103 @@ module Aws::WorkMail
689
851
  include Aws::Structure
690
852
  end
691
853
 
854
+ # @note When making an API call, you may pass DescribeMailboxExportJobRequest
855
+ # data as a hash:
856
+ #
857
+ # {
858
+ # job_id: "MailboxExportJobId", # required
859
+ # organization_id: "OrganizationId", # required
860
+ # }
861
+ #
862
+ # @!attribute [rw] job_id
863
+ # The mailbox export job ID.
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] organization_id
867
+ # The organization ID.
868
+ # @return [String]
869
+ #
870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeMailboxExportJobRequest AWS API Documentation
871
+ #
872
+ class DescribeMailboxExportJobRequest < Struct.new(
873
+ :job_id,
874
+ :organization_id)
875
+ SENSITIVE = []
876
+ include Aws::Structure
877
+ end
878
+
879
+ # @!attribute [rw] entity_id
880
+ # The identifier of the user or resource associated with the mailbox.
881
+ # @return [String]
882
+ #
883
+ # @!attribute [rw] description
884
+ # The mailbox export job description.
885
+ # @return [String]
886
+ #
887
+ # @!attribute [rw] role_arn
888
+ # The ARN of the AWS Identity and Access Management (IAM) role that
889
+ # grants write permission to the Amazon Simple Storage Service (Amazon
890
+ # S3) bucket.
891
+ # @return [String]
892
+ #
893
+ # @!attribute [rw] kms_key_arn
894
+ # The Amazon Resource Name (ARN) of the symmetric AWS Key Management
895
+ # Service (AWS KMS) key that encrypts the exported mailbox content.
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] s3_bucket_name
899
+ # The name of the S3 bucket.
900
+ # @return [String]
901
+ #
902
+ # @!attribute [rw] s3_prefix
903
+ # The S3 bucket prefix.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] s3_path
907
+ # The path to the S3 bucket and file that the mailbox export job is
908
+ # exporting to.
909
+ # @return [String]
910
+ #
911
+ # @!attribute [rw] estimated_progress
912
+ # The estimated progress of the mailbox export job, in percentage
913
+ # points.
914
+ # @return [Integer]
915
+ #
916
+ # @!attribute [rw] state
917
+ # The state of the mailbox export job.
918
+ # @return [String]
919
+ #
920
+ # @!attribute [rw] error_info
921
+ # Error information for failed mailbox export jobs.
922
+ # @return [String]
923
+ #
924
+ # @!attribute [rw] start_time
925
+ # The mailbox export job start timestamp.
926
+ # @return [Time]
927
+ #
928
+ # @!attribute [rw] end_time
929
+ # The mailbox export job end timestamp.
930
+ # @return [Time]
931
+ #
932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeMailboxExportJobResponse AWS API Documentation
933
+ #
934
+ class DescribeMailboxExportJobResponse < Struct.new(
935
+ :entity_id,
936
+ :description,
937
+ :role_arn,
938
+ :kms_key_arn,
939
+ :s3_bucket_name,
940
+ :s3_prefix,
941
+ :s3_path,
942
+ :estimated_progress,
943
+ :state,
944
+ :error_info,
945
+ :start_time,
946
+ :end_time)
947
+ SENSITIVE = []
948
+ include Aws::Structure
949
+ end
950
+
692
951
  # @note When making an API call, you may pass DescribeOrganizationRequest
693
952
  # data as a hash:
694
953
  #
@@ -920,6 +1179,20 @@ module Aws::WorkMail
920
1179
  include Aws::Structure
921
1180
  end
922
1181
 
1182
+ # The directory is already in use by another WorkMail organization in
1183
+ # the same account and Region.
1184
+ #
1185
+ # @!attribute [rw] message
1186
+ # @return [String]
1187
+ #
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DirectoryInUseException AWS API Documentation
1189
+ #
1190
+ class DirectoryInUseException < Struct.new(
1191
+ :message)
1192
+ SENSITIVE = []
1193
+ include Aws::Structure
1194
+ end
1195
+
923
1196
  # The directory service doesn't recognize the credentials supplied by
924
1197
  # WorkMail.
925
1198
  #
@@ -934,8 +1207,8 @@ module Aws::WorkMail
934
1207
  include Aws::Structure
935
1208
  end
936
1209
 
937
- # The directory on which you are trying to perform operations isn't
938
- # available.
1210
+ # The directory is unavailable. It might be located in another Region or
1211
+ # deleted.
939
1212
  #
940
1213
  # @!attribute [rw] message
941
1214
  # @return [String]
@@ -1020,6 +1293,43 @@ module Aws::WorkMail
1020
1293
  #
1021
1294
  class DisassociateMemberFromGroupResponse < Aws::EmptyStructure; end
1022
1295
 
1296
+ # The domain to associate with an Amazon WorkMail organization.
1297
+ #
1298
+ # When you configure a domain hosted in Amazon Route 53 (Route 53), all
1299
+ # recommended DNS records are added to the organization when you create
1300
+ # it. For more information, see [Adding a domain][1] in the *Amazon
1301
+ # WorkMail Administrator Guide*.
1302
+ #
1303
+ #
1304
+ #
1305
+ # [1]: https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html
1306
+ #
1307
+ # @note When making an API call, you may pass Domain
1308
+ # data as a hash:
1309
+ #
1310
+ # {
1311
+ # domain_name: "DomainName",
1312
+ # hosted_zone_id: "HostedZoneId",
1313
+ # }
1314
+ #
1315
+ # @!attribute [rw] domain_name
1316
+ # The fully qualified domain name.
1317
+ # @return [String]
1318
+ #
1319
+ # @!attribute [rw] hosted_zone_id
1320
+ # The hosted zone ID for a domain hosted in Route 53. Required when
1321
+ # configuring a domain hosted in Route 53.
1322
+ # @return [String]
1323
+ #
1324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/Domain AWS API Documentation
1325
+ #
1326
+ class Domain < Struct.new(
1327
+ :domain_name,
1328
+ :hosted_zone_id)
1329
+ SENSITIVE = []
1330
+ include Aws::Structure
1331
+ end
1332
+
1023
1333
  # The email address that you're trying to assign is already created for
1024
1334
  # a different user, group, or resource.
1025
1335
  #
@@ -1549,6 +1859,54 @@ module Aws::WorkMail
1549
1859
  include Aws::Structure
1550
1860
  end
1551
1861
 
1862
+ # @note When making an API call, you may pass ListMailboxExportJobsRequest
1863
+ # data as a hash:
1864
+ #
1865
+ # {
1866
+ # organization_id: "OrganizationId", # required
1867
+ # next_token: "NextToken",
1868
+ # max_results: 1,
1869
+ # }
1870
+ #
1871
+ # @!attribute [rw] organization_id
1872
+ # The organization ID.
1873
+ # @return [String]
1874
+ #
1875
+ # @!attribute [rw] next_token
1876
+ # The token to use to retrieve the next page of results.
1877
+ # @return [String]
1878
+ #
1879
+ # @!attribute [rw] max_results
1880
+ # The maximum number of results to return in a single call.
1881
+ # @return [Integer]
1882
+ #
1883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobsRequest AWS API Documentation
1884
+ #
1885
+ class ListMailboxExportJobsRequest < Struct.new(
1886
+ :organization_id,
1887
+ :next_token,
1888
+ :max_results)
1889
+ SENSITIVE = []
1890
+ include Aws::Structure
1891
+ end
1892
+
1893
+ # @!attribute [rw] jobs
1894
+ # The mailbox export job details.
1895
+ # @return [Array<Types::MailboxExportJob>]
1896
+ #
1897
+ # @!attribute [rw] next_token
1898
+ # The token to use to retrieve the next page of results.
1899
+ # @return [String]
1900
+ #
1901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobsResponse AWS API Documentation
1902
+ #
1903
+ class ListMailboxExportJobsResponse < Struct.new(
1904
+ :jobs,
1905
+ :next_token)
1906
+ SENSITIVE = []
1907
+ include Aws::Structure
1908
+ end
1909
+
1552
1910
  # @note When making an API call, you may pass ListMailboxPermissionsRequest
1553
1911
  # data as a hash:
1554
1912
  #
@@ -1870,6 +2228,64 @@ module Aws::WorkMail
1870
2228
  include Aws::Structure
1871
2229
  end
1872
2230
 
2231
+ # The details of a mailbox export job, including the user or resource ID
2232
+ # associated with the mailbox and the S3 bucket that the mailbox
2233
+ # contents are exported to.
2234
+ #
2235
+ # @!attribute [rw] job_id
2236
+ # The identifier of the mailbox export job.
2237
+ # @return [String]
2238
+ #
2239
+ # @!attribute [rw] entity_id
2240
+ # The identifier of the user or resource associated with the mailbox.
2241
+ # @return [String]
2242
+ #
2243
+ # @!attribute [rw] description
2244
+ # The mailbox export job description.
2245
+ # @return [String]
2246
+ #
2247
+ # @!attribute [rw] s3_bucket_name
2248
+ # The name of the S3 bucket.
2249
+ # @return [String]
2250
+ #
2251
+ # @!attribute [rw] s3_path
2252
+ # The path to the S3 bucket and file that the mailbox export job
2253
+ # exports to.
2254
+ # @return [String]
2255
+ #
2256
+ # @!attribute [rw] estimated_progress
2257
+ # The estimated progress of the mailbox export job, in percentage
2258
+ # points.
2259
+ # @return [Integer]
2260
+ #
2261
+ # @!attribute [rw] state
2262
+ # The state of the mailbox export job.
2263
+ # @return [String]
2264
+ #
2265
+ # @!attribute [rw] start_time
2266
+ # The mailbox export job start timestamp.
2267
+ # @return [Time]
2268
+ #
2269
+ # @!attribute [rw] end_time
2270
+ # The mailbox export job end timestamp.
2271
+ # @return [Time]
2272
+ #
2273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/MailboxExportJob AWS API Documentation
2274
+ #
2275
+ class MailboxExportJob < Struct.new(
2276
+ :job_id,
2277
+ :entity_id,
2278
+ :description,
2279
+ :s3_bucket_name,
2280
+ :s3_path,
2281
+ :estimated_progress,
2282
+ :state,
2283
+ :start_time,
2284
+ :end_time)
2285
+ SENSITIVE = []
2286
+ include Aws::Structure
2287
+ end
2288
+
1873
2289
  # The representation of a user or group.
1874
2290
  #
1875
2291
  # @!attribute [rw] id
@@ -1938,8 +2354,8 @@ module Aws::WorkMail
1938
2354
  include Aws::Structure
1939
2355
  end
1940
2356
 
1941
- # The organization must have a valid state (Active or Synchronizing) to
1942
- # perform certain operations on the organization or its members.
2357
+ # The organization must have a valid state to perform certain operations
2358
+ # on the organization or its members.
1943
2359
  #
1944
2360
  # @!attribute [rw] message
1945
2361
  # @return [String]
@@ -1962,6 +2378,10 @@ module Aws::WorkMail
1962
2378
  # The alias associated with the organization.
1963
2379
  # @return [String]
1964
2380
  #
2381
+ # @!attribute [rw] default_mail_domain
2382
+ # The default email domain associated with the organization.
2383
+ # @return [String]
2384
+ #
1965
2385
  # @!attribute [rw] error_message
1966
2386
  # The error message associated with the organization. It is only
1967
2387
  # present if unexpected behavior has occurred with regards to the
@@ -1978,6 +2398,7 @@ module Aws::WorkMail
1978
2398
  class OrganizationSummary < Struct.new(
1979
2399
  :organization_id,
1980
2400
  :alias,
2401
+ :default_mail_domain,
1981
2402
  :error_message,
1982
2403
  :state)
1983
2404
  SENSITIVE = []
@@ -2192,7 +2613,7 @@ module Aws::WorkMail
2192
2613
  :name,
2193
2614
  :description,
2194
2615
  :folder_configurations)
2195
- SENSITIVE = []
2616
+ SENSITIVE = [:description]
2196
2617
  include Aws::Structure
2197
2618
  end
2198
2619
 
@@ -2345,6 +2766,84 @@ module Aws::WorkMail
2345
2766
  include Aws::Structure
2346
2767
  end
2347
2768
 
2769
+ # @note When making an API call, you may pass StartMailboxExportJobRequest
2770
+ # data as a hash:
2771
+ #
2772
+ # {
2773
+ # client_token: "IdempotencyClientToken", # required
2774
+ # organization_id: "OrganizationId", # required
2775
+ # entity_id: "WorkMailIdentifier", # required
2776
+ # description: "Description",
2777
+ # role_arn: "RoleArn", # required
2778
+ # kms_key_arn: "KmsKeyArn", # required
2779
+ # s3_bucket_name: "S3BucketName", # required
2780
+ # s3_prefix: "S3ObjectKey", # required
2781
+ # }
2782
+ #
2783
+ # @!attribute [rw] client_token
2784
+ # The idempotency token for the client request.
2785
+ #
2786
+ # **A suitable default value is auto-generated.** You should normally
2787
+ # not need to pass this option.
2788
+ # @return [String]
2789
+ #
2790
+ # @!attribute [rw] organization_id
2791
+ # The identifier associated with the organization.
2792
+ # @return [String]
2793
+ #
2794
+ # @!attribute [rw] entity_id
2795
+ # The identifier of the user or resource associated with the mailbox.
2796
+ # @return [String]
2797
+ #
2798
+ # @!attribute [rw] description
2799
+ # The mailbox export job description.
2800
+ # @return [String]
2801
+ #
2802
+ # @!attribute [rw] role_arn
2803
+ # The ARN of the AWS Identity and Access Management (IAM) role that
2804
+ # grants write permission to the S3 bucket.
2805
+ # @return [String]
2806
+ #
2807
+ # @!attribute [rw] kms_key_arn
2808
+ # The Amazon Resource Name (ARN) of the symmetric AWS Key Management
2809
+ # Service (AWS KMS) key that encrypts the exported mailbox content.
2810
+ # @return [String]
2811
+ #
2812
+ # @!attribute [rw] s3_bucket_name
2813
+ # The name of the S3 bucket.
2814
+ # @return [String]
2815
+ #
2816
+ # @!attribute [rw] s3_prefix
2817
+ # The S3 bucket prefix.
2818
+ # @return [String]
2819
+ #
2820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/StartMailboxExportJobRequest AWS API Documentation
2821
+ #
2822
+ class StartMailboxExportJobRequest < Struct.new(
2823
+ :client_token,
2824
+ :organization_id,
2825
+ :entity_id,
2826
+ :description,
2827
+ :role_arn,
2828
+ :kms_key_arn,
2829
+ :s3_bucket_name,
2830
+ :s3_prefix)
2831
+ SENSITIVE = []
2832
+ include Aws::Structure
2833
+ end
2834
+
2835
+ # @!attribute [rw] job_id
2836
+ # The job ID.
2837
+ # @return [String]
2838
+ #
2839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/StartMailboxExportJobResponse AWS API Documentation
2840
+ #
2841
+ class StartMailboxExportJobResponse < Struct.new(
2842
+ :job_id)
2843
+ SENSITIVE = []
2844
+ include Aws::Structure
2845
+ end
2846
+
2348
2847
  # Describes a tag applied to a resource.
2349
2848
  #
2350
2849
  # @note When making an API call, you may pass Tag