1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Name of the availability zone.
10type AvailabilityZone struct {
11
12	// Id for the availability zone.
13	Name *string
14}
15
16// Types of broker engines.
17type BrokerEngineType struct {
18
19	// The type of broker engine.
20	EngineType EngineType
21
22	// The list of engine versions.
23	EngineVersions []EngineVersion
24}
25
26// Returns information about all brokers.
27type BrokerInstance struct {
28
29	// The URL of the broker's Web Console.
30	ConsoleURL *string
31
32	// The broker's wire-level protocol endpoints.
33	Endpoints []string
34
35	// The IP address of the Elastic Network Interface (ENI) attached to the broker.
36	// Does not apply to RabbitMQ brokers
37	IpAddress *string
38}
39
40// Option for host instance type.
41type BrokerInstanceOption struct {
42
43	// The list of available az.
44	AvailabilityZones []AvailabilityZone
45
46	// The type of broker engine.
47	EngineType EngineType
48
49	// The type of broker instance.
50	HostInstanceType *string
51
52	// The broker's storage type.
53	StorageType BrokerStorageType
54
55	// The list of supported deployment modes.
56	SupportedDeploymentModes []DeploymentMode
57
58	// The list of supported engine versions.
59	SupportedEngineVersions []string
60}
61
62// The Amazon Resource Name (ARN) of the broker.
63type BrokerSummary struct {
64
65	// The Amazon Resource Name (ARN) of the broker.
66	BrokerArn *string
67
68	// The unique ID that Amazon MQ generates for the broker.
69	BrokerId *string
70
71	// The name of the broker. This value must be unique in your AWS account, 1-50
72	// characters long, must contain only letters, numbers, dashes, and underscores,
73	// and must not contain whitespaces, brackets, wildcard characters, or special
74	// characters.
75	BrokerName *string
76
77	// The status of the broker.
78	BrokerState BrokerState
79
80	// The time when the broker was created.
81	Created *time.Time
82
83	// Required. The deployment mode of the broker.
84	DeploymentMode DeploymentMode
85
86	// Required. The type of broker engine.
87	EngineType EngineType
88
89	// The broker's instance type.
90	HostInstanceType *string
91}
92
93// Returns information about all configurations.
94type Configuration struct {
95
96	// Required. The ARN of the configuration.
97	Arn *string
98
99	// The authentication strategy associated with the configuration.
100	AuthenticationStrategy AuthenticationStrategy
101
102	// Required. The date and time of the configuration revision.
103	Created *time.Time
104
105	// Required. The description of the configuration.
106	Description *string
107
108	// Required. The type of broker engine. Note: Currently, Amazon MQ supports
109	// ACTIVEMQ and RABBITMQ.
110	EngineType EngineType
111
112	// Required. The version of the broker engine. For a list of supported engine
113	// versions, see
114	// https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
115	EngineVersion *string
116
117	// Required. The unique ID that Amazon MQ generates for the configuration.
118	Id *string
119
120	// Required. The latest revision of the configuration.
121	LatestRevision *ConfigurationRevision
122
123	// Required. The name of the configuration. This value can contain only
124	// alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
125	// This value must be 1-150 characters long.
126	Name *string
127
128	// The list of all tags associated with this configuration.
129	Tags map[string]string
130}
131
132// A list of information about the configuration. Does not apply to RabbitMQ
133// brokers.
134type ConfigurationId struct {
135
136	// Required. The unique ID that Amazon MQ generates for the configuration.
137	Id *string
138
139	// The revision number of the configuration.
140	Revision int32
141}
142
143// Returns information about the specified configuration revision.
144type ConfigurationRevision struct {
145
146	// Required. The date and time of the configuration revision.
147	Created *time.Time
148
149	// The description of the configuration revision.
150	Description *string
151
152	// Required. The revision number of the configuration.
153	Revision int32
154}
155
156// Broker configuration information
157type Configurations struct {
158
159	// The current configuration of the broker.
160	Current *ConfigurationId
161
162	// The history of configurations applied to the broker.
163	History []ConfigurationId
164
165	// The pending configuration of the broker.
166	Pending *ConfigurationId
167}
168
169// Encryption options for the broker.
170type EncryptionOptions struct {
171
172	// Enables the use of an AWS owned CMK using AWS Key Management Service (KMS).
173	//
174	// This member is required.
175	UseAwsOwnedKey bool
176
177	// The symmetric customer master key (CMK) to use for the AWS Key Management
178	// Service (KMS). This key is used to encrypt your data at rest. If not provided,
179	// Amazon MQ will use a default CMK to encrypt your data.
180	KmsKeyId *string
181}
182
183// Id of the engine version.
184type EngineVersion struct {
185
186	// Id for the version.
187	Name *string
188}
189
190// The metadata of the LDAP server used to authenticate and authorize connections
191// to the broker.
192type LdapServerMetadataInput struct {
193
194	// Fully qualified domain name of the LDAP server. Optional failover server.
195	Hosts []string
196
197	// Fully qualified name of the directory to search for a user’s groups.
198	RoleBase *string
199
200	// Specifies the LDAP attribute that identifies the group name attribute in the
201	// object returned from the group membership query.
202	RoleName *string
203
204	// The search criteria for groups.
205	RoleSearchMatching *string
206
207	// The directory search scope for the role. If set to true, scope is to search the
208	// entire sub-tree.
209	RoleSearchSubtree bool
210
211	// Service account password.
212	ServiceAccountPassword *string
213
214	// Service account username.
215	ServiceAccountUsername *string
216
217	// Fully qualified name of the directory where you want to search for users.
218	UserBase *string
219
220	// Specifies the name of the LDAP attribute for the user group membership.
221	UserRoleName *string
222
223	// The search criteria for users.
224	UserSearchMatching *string
225
226	// The directory search scope for the user. If set to true, scope is to search the
227	// entire sub-tree.
228	UserSearchSubtree bool
229}
230
231// The metadata of the LDAP server used to authenticate and authorize connections
232// to the broker.
233type LdapServerMetadataOutput struct {
234
235	// Fully qualified domain name of the LDAP server. Optional failover server.
236	Hosts []string
237
238	// Fully qualified name of the directory to search for a user’s groups.
239	RoleBase *string
240
241	// Specifies the LDAP attribute that identifies the group name attribute in the
242	// object returned from the group membership query.
243	RoleName *string
244
245	// The search criteria for groups.
246	RoleSearchMatching *string
247
248	// The directory search scope for the role. If set to true, scope is to search the
249	// entire sub-tree.
250	RoleSearchSubtree bool
251
252	// Service account username.
253	ServiceAccountUsername *string
254
255	// Fully qualified name of the directory where you want to search for users.
256	UserBase *string
257
258	// Specifies the name of the LDAP attribute for the user group membership.
259	UserRoleName *string
260
261	// The search criteria for users.
262	UserSearchMatching *string
263
264	// The directory search scope for the user. If set to true, scope is to search the
265	// entire sub-tree.
266	UserSearchSubtree bool
267}
268
269// The list of information about logs to be enabled for the specified broker.
270type Logs struct {
271
272	// Enables audit logging. Every user management action made using JMX or the
273	// ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.
274	Audit bool
275
276	// Enables general logging.
277	General bool
278}
279
280// The list of information about logs currently enabled and pending to be deployed
281// for the specified broker.
282type LogsSummary struct {
283
284	// Enables audit logging. Every user management action made using JMX or the
285	// ActiveMQ Web Console is logged.
286	Audit bool
287
288	// The location of the CloudWatch Logs log group where audit logs are sent.
289	AuditLogGroup *string
290
291	// Enables general logging.
292	General bool
293
294	// The location of the CloudWatch Logs log group where general logs are sent.
295	GeneralLogGroup *string
296
297	// The list of information about logs pending to be deployed for the specified
298	// broker.
299	Pending *PendingLogs
300}
301
302// The list of information about logs to be enabled for the specified broker.
303type PendingLogs struct {
304
305	// Enables audit logging. Every user management action made using JMX or the
306	// ActiveMQ Web Console is logged.
307	Audit bool
308
309	// Enables general logging.
310	General bool
311}
312
313// Returns information about the XML element or attribute that was sanitized in the
314// configuration.
315type SanitizationWarning struct {
316
317	// The name of the XML attribute that has been sanitized.
318	AttributeName *string
319
320	// The name of the XML element that has been sanitized.
321	ElementName *string
322
323	// Required. The reason for which the XML elements or attributes were sanitized.
324	Reason SanitizationWarningReason
325}
326
327// A user associated with the broker.
328type User struct {
329
330	// Enables access to the ActiveMQ Web Console for the ActiveMQ user (Does not apply
331	// to RabbitMQ brokers).
332	ConsoleAccess bool
333
334	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This value
335	// can contain only alphanumeric characters, dashes, periods, underscores, and
336	// tildes (- . _ ~). This value must be 2-100 characters long.
337	Groups []string
338
339	// Required. The password of the broker user. This value must be at least 12
340	// characters long, must contain at least 4 unique characters, and must not contain
341	// commas.
342	Password *string
343
344	// Required. The username of the broker user. This value can contain only
345	// alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
346	// This value must be 2-100 characters long.
347	Username *string
348}
349
350// Returns information about the status of the changes pending for the ActiveMQ
351// user.
352type UserPendingChanges struct {
353
354	// Enables access to the the ActiveMQ Web Console for the ActiveMQ user.
355	ConsoleAccess bool
356
357	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This value
358	// can contain only alphanumeric characters, dashes, periods, underscores, and
359	// tildes (- . _ ~). This value must be 2-100 characters long.
360	Groups []string
361
362	// Required. The type of change pending for the ActiveMQ user.
363	PendingChange ChangeType
364}
365
366// Returns a list of all broker users.
367type UserSummary struct {
368
369	// The type of change pending for the broker user.
370	PendingChange ChangeType
371
372	// Required. The username of the broker user. This value can contain only
373	// alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
374	// This value must be 2-100 characters long.
375	Username *string
376}
377
378// The scheduled time period relative to UTC during which Amazon MQ begins to apply
379// pending updates or patches to the broker.
380type WeeklyStartTime struct {
381
382	// Required. The day of the week.
383	DayOfWeek DayOfWeek
384
385	// Required. The time, in 24-hour format.
386	TimeOfDay *string
387
388	// The time zone, UTC by default, in either the Country/City format, or the UTC
389	// offset format.
390	TimeZone *string
391}
392