aws-sdk-workmail 1.27.0 → 1.32.0

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