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 rule that a simulated user matches.
189type MobileDeviceAccessMatchedRule struct {
190
191	// Identifier of the rule that a simulated user matches.
192	MobileDeviceAccessRuleId *string
193
194	// Name of a rule that a simulated user matches.
195	Name *string
196}
197
198// A rule that controls access to mobile devices for an Amazon WorkMail group.
199type MobileDeviceAccessRule struct {
200
201	// The date and time at which an access rule was created.
202	DateCreated *time.Time
203
204	// The date and time at which an access rule was modified.
205	DateModified *time.Time
206
207	// The description of a mobile access rule.
208	Description *string
209
210	// Device models that a rule will match.
211	DeviceModels []string
212
213	// Device operating systems that a rule will match.
214	DeviceOperatingSystems []string
215
216	// Device types that a rule will match.
217	DeviceTypes []string
218
219	// Device user agents that a rule will match.
220	DeviceUserAgents []string
221
222	// The effect of the rule when it matches. Allowed values are ALLOW or DENY.
223	Effect MobileDeviceAccessRuleEffect
224
225	// The ID assigned to a mobile access rule.
226	MobileDeviceAccessRuleId *string
227
228	// The name of a mobile access rule.
229	Name *string
230
231	// Device models that a rule will not match. All other device models will match.
232	NotDeviceModels []string
233
234	// Device operating systems that a rule will not match. All other device types will
235	// match.
236	NotDeviceOperatingSystems []string
237
238	// Device types that a rule will not match. All other device types will match.
239	NotDeviceTypes []string
240
241	// Device user agents that a rule will not match. All other device user agents will
242	// match.
243	NotDeviceUserAgents []string
244}
245
246// The representation of an organization.
247type OrganizationSummary struct {
248
249	// The alias associated with the organization.
250	Alias *string
251
252	// The default email domain associated with the organization.
253	DefaultMailDomain *string
254
255	// The error message associated with the organization. It is only present if
256	// unexpected behavior has occurred with regards to the organization. It provides
257	// insight or solutions regarding unexpected behavior.
258	ErrorMessage *string
259
260	// The identifier associated with the organization.
261	OrganizationId *string
262
263	// The state associated with the organization.
264	State *string
265}
266
267// Permission granted to a user, group, or resource to access a certain aspect of
268// another user, group, or resource mailbox.
269type Permission struct {
270
271	// The identifier of the user, group, or resource to which the permissions are
272	// granted.
273	//
274	// This member is required.
275	GranteeId *string
276
277	// The type of user, group, or resource referred to in GranteeId.
278	//
279	// This member is required.
280	GranteeType MemberType
281
282	// The permissions granted to the grantee. SEND_AS allows the grantee to send email
283	// as the owner of the mailbox (the grantee is not mentioned on these emails).
284	// SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the
285	// mailbox (the grantee is not mentioned as the physical sender of these emails).
286	// FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other
287	// folder-level permissions set on the mailbox.
288	//
289	// This member is required.
290	PermissionValues []PermissionType
291}
292
293// The representation of a resource.
294type Resource struct {
295
296	// The date indicating when the resource was disabled from Amazon WorkMail use.
297	DisabledDate *time.Time
298
299	// The email of the resource.
300	Email *string
301
302	// The date indicating when the resource was enabled for Amazon WorkMail use.
303	EnabledDate *time.Time
304
305	// The identifier of the resource.
306	Id *string
307
308	// The name of the resource.
309	Name *string
310
311	// The state of the resource, which can be ENABLED, DISABLED, or DELETED.
312	State EntityState
313
314	// The type of the resource: equipment or room.
315	Type ResourceType
316}
317
318// Describes a tag applied to a resource.
319type Tag struct {
320
321	// The key of the tag.
322	//
323	// This member is required.
324	Key *string
325
326	// The value of the tag.
327	//
328	// This member is required.
329	Value *string
330}
331
332// The representation of an Amazon WorkMail user.
333type User struct {
334
335	// The date indicating when the user was disabled from Amazon WorkMail use.
336	DisabledDate *time.Time
337
338	// The display name of the user.
339	DisplayName *string
340
341	// The email of the user.
342	Email *string
343
344	// The date indicating when the user was enabled for Amazon WorkMail use.
345	EnabledDate *time.Time
346
347	// The identifier of the user.
348	Id *string
349
350	// The name of the user.
351	Name *string
352
353	// The state of the user, which can be ENABLED, DISABLED, or DELETED.
354	State EntityState
355
356	// The role of the user.
357	UserRole UserRole
358}
359