1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// A rule that controls access to an Amazon WorkMail organization.
10type AccessControlRule struct {
11
12	// Access protocol actions to include in the rule. Valid values include ActiveSync,
13	// AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.
14	Actions []string
15
16	// The date that the rule was created.
17	DateCreated *time.Time
18
19	// The date that the rule was modified.
20	DateModified *time.Time
21
22	// The rule description.
23	Description *string
24
25	// The rule effect.
26	Effect AccessControlRuleEffect
27
28	// IPv4 CIDR ranges to include in the rule.
29	IpRanges []string
30
31	// The rule name.
32	Name *string
33
34	// Access protocol actions to exclude from the rule. Valid values include
35	// ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.
36	NotActions []string
37
38	// IPv4 CIDR ranges to exclude from the rule.
39	NotIpRanges []string
40
41	// User IDs to exclude from the rule.
42	NotUserIds []string
43
44	// User IDs to include in the rule.
45	UserIds []string
46}
47
48// At least one delegate must be associated to the resource to disable automatic
49// replies from the resource.
50type BookingOptions struct {
51
52	// The resource's ability to automatically reply to requests. If disabled,
53	// delegates must be associated to the resource.
54	AutoAcceptRequests bool
55
56	// The resource's ability to automatically decline any conflicting requests.
57	AutoDeclineConflictingRequests bool
58
59	// The resource's ability to automatically decline any recurring requests.
60	AutoDeclineRecurringRequests bool
61}
62
63// The name of the attribute, which is one of the values defined in the
64// UserAttribute enumeration.
65type Delegate struct {
66
67	// The identifier for the user or group associated as the resource's delegate.
68	//
69	// This member is required.
70	Id *string
71
72	// The type of the delegate: user or group.
73	//
74	// This member is required.
75	Type MemberType
76}
77
78// The domain to associate with an Amazon WorkMail organization. When you configure
79// a domain hosted in Amazon Route 53 (Route 53), all recommended DNS records are
80// added to the organization when you create it. For more information, see Adding a
81// domain (https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html)
82// in the Amazon WorkMail Administrator Guide.
83type Domain struct {
84
85	// The fully qualified domain name.
86	DomainName *string
87
88	// The hosted zone ID for a domain hosted in Route 53. Required when configuring a
89	// domain hosted in Route 53.
90	HostedZoneId *string
91}
92
93// The configuration applied to an organization's folders by its retention policy.
94type FolderConfiguration struct {
95
96	// The action to take on the folder contents at the end of the folder configuration
97	// period.
98	//
99	// This member is required.
100	Action RetentionAction
101
102	// The folder name.
103	//
104	// This member is required.
105	Name FolderName
106
107	// The period of time at which the folder configuration action is applied.
108	Period *int32
109}
110
111// The representation of an Amazon WorkMail group.
112type Group struct {
113
114	// The date indicating when the group was disabled from Amazon WorkMail use.
115	DisabledDate *time.Time
116
117	// The email of the group.
118	Email *string
119
120	// The date indicating when the group was enabled for Amazon WorkMail use.
121	EnabledDate *time.Time
122
123	// The identifier of the group.
124	Id *string
125
126	// The name of the group.
127	Name *string
128
129	// The state of the group, which can be ENABLED, DISABLED, or DELETED.
130	State EntityState
131}
132
133// The details of a mailbox export job, including the user or resource ID
134// associated with the mailbox and the S3 bucket that the mailbox contents are
135// exported to.
136type MailboxExportJob struct {
137
138	// The mailbox export job description.
139	Description *string
140
141	// The mailbox export job end timestamp.
142	EndTime *time.Time
143
144	// The identifier of the user or resource associated with the mailbox.
145	EntityId *string
146
147	// The estimated progress of the mailbox export job, in percentage points.
148	EstimatedProgress int32
149
150	// The identifier of the mailbox export job.
151	JobId *string
152
153	// The name of the S3 bucket.
154	S3BucketName *string
155
156	// The path to the S3 bucket and file that the mailbox export job exports to.
157	S3Path *string
158
159	// The mailbox export job start timestamp.
160	StartTime *time.Time
161
162	// The state of the mailbox export job.
163	State MailboxExportJobState
164}
165
166// The representation of a user or group.
167type Member struct {
168
169	// The date indicating when the member was disabled from Amazon WorkMail use.
170	DisabledDate *time.Time
171
172	// The date indicating when the member was enabled for Amazon WorkMail use.
173	EnabledDate *time.Time
174
175	// The identifier of the member.
176	Id *string
177
178	// The name of the member.
179	Name *string
180
181	// The state of the member, which can be ENABLED, DISABLED, or DELETED.
182	State EntityState
183
184	// A member can be a user or group.
185	Type MemberType
186}
187
188// The representation of an organization.
189type OrganizationSummary struct {
190
191	// The alias associated with the organization.
192	Alias *string
193
194	// The default email domain associated with the organization.
195	DefaultMailDomain *string
196
197	// The error message associated with the organization. It is only present if
198	// unexpected behavior has occurred with regards to the organization. It provides
199	// insight or solutions regarding unexpected behavior.
200	ErrorMessage *string
201
202	// The identifier associated with the organization.
203	OrganizationId *string
204
205	// The state associated with the organization.
206	State *string
207}
208
209// Permission granted to a user, group, or resource to access a certain aspect of
210// another user, group, or resource mailbox.
211type Permission struct {
212
213	// The identifier of the user, group, or resource to which the permissions are
214	// granted.
215	//
216	// This member is required.
217	GranteeId *string
218
219	// The type of user, group, or resource referred to in GranteeId.
220	//
221	// This member is required.
222	GranteeType MemberType
223
224	// The permissions granted to the grantee. SEND_AS allows the grantee to send email
225	// as the owner of the mailbox (the grantee is not mentioned on these emails).
226	// SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the
227	// mailbox (the grantee is not mentioned as the physical sender of these emails).
228	// FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other
229	// folder-level permissions set on the mailbox.
230	//
231	// This member is required.
232	PermissionValues []PermissionType
233}
234
235// The representation of a resource.
236type Resource struct {
237
238	// The date indicating when the resource was disabled from Amazon WorkMail use.
239	DisabledDate *time.Time
240
241	// The email of the resource.
242	Email *string
243
244	// The date indicating when the resource was enabled for Amazon WorkMail use.
245	EnabledDate *time.Time
246
247	// The identifier of the resource.
248	Id *string
249
250	// The name of the resource.
251	Name *string
252
253	// The state of the resource, which can be ENABLED, DISABLED, or DELETED.
254	State EntityState
255
256	// The type of the resource: equipment or room.
257	Type ResourceType
258}
259
260// Describes a tag applied to a resource.
261type Tag struct {
262
263	// The key of the tag.
264	//
265	// This member is required.
266	Key *string
267
268	// The value of the tag.
269	//
270	// This member is required.
271	Value *string
272}
273
274// The representation of an Amazon WorkMail user.
275type User struct {
276
277	// The date indicating when the user was disabled from Amazon WorkMail use.
278	DisabledDate *time.Time
279
280	// The display name of the user.
281	DisplayName *string
282
283	// The email of the user.
284	Email *string
285
286	// The date indicating when the user was enabled for Amazon WorkMail use.
287	EnabledDate *time.Time
288
289	// The identifier of the user.
290	Id *string
291
292	// The name of the user.
293	Name *string
294
295	// The state of the user, which can be ENABLED, DISABLED, or DELETED.
296	State EntityState
297
298	// The role of the user.
299	UserRole UserRole
300}
301