1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mq
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCreateBroker = "CreateBroker"
17
18// CreateBrokerRequest generates a "aws/request.Request" representing the
19// client's request for the CreateBroker operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateBroker for more information on using the CreateBroker
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateBrokerRequest method.
34//    req, resp := client.CreateBrokerRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateBroker
42func (c *MQ) CreateBrokerRequest(input *CreateBrokerRequest) (req *request.Request, output *CreateBrokerResponse) {
43	op := &request.Operation{
44		Name:       opCreateBroker,
45		HTTPMethod: "POST",
46		HTTPPath:   "/v1/brokers",
47	}
48
49	if input == nil {
50		input = &CreateBrokerRequest{}
51	}
52
53	output = &CreateBrokerResponse{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateBroker API operation for AmazonMQ.
59//
60// Creates a broker. Note: This API is asynchronous.
61//
62// To create a broker, you must either use the AmazonMQFullAccess IAM policy
63// or include the following EC2 permissions in your IAM policy.
64//
65//    * ec2:CreateNetworkInterface This permission is required to allow Amazon
66//    MQ to create an elastic network interface (ENI) on behalf of your account.
67//
68//    * ec2:CreateNetworkInterfacePermission This permission is required to
69//    attach the ENI to the broker instance.
70//
71//    * ec2:DeleteNetworkInterface
72//
73//    * ec2:DeleteNetworkInterfacePermission
74//
75//    * ec2:DetachNetworkInterface
76//
77//    * ec2:DescribeInternetGateways
78//
79//    * ec2:DescribeNetworkInterfaces
80//
81//    * ec2:DescribeNetworkInterfacePermissions
82//
83//    * ec2:DescribeRouteTables
84//
85//    * ec2:DescribeSecurityGroups
86//
87//    * ec2:DescribeSubnets
88//
89//    * ec2:DescribeVpcs
90//
91// For more information, see Create an IAM User and Get Your AWS Credentials
92// (https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/amazon-mq-setting-up.html#create-iam-user)
93// and Never Modify or Delete the Amazon MQ Elastic Network Interface (https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/connecting-to-amazon-mq.html#never-modify-delete-elastic-network-interface)
94// in the Amazon MQ Developer Guide.
95//
96// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
97// with awserr.Error's Code and Message methods to get detailed information about
98// the error.
99//
100// See the AWS API reference guide for AmazonMQ's
101// API operation CreateBroker for usage and error information.
102//
103// Returned Error Types:
104//   * BadRequestException
105//   Returns information about an error.
106//
107//   * UnauthorizedException
108//   Returns information about an error.
109//
110//   * InternalServerErrorException
111//   Returns information about an error.
112//
113//   * ConflictException
114//   Returns information about an error.
115//
116//   * ForbiddenException
117//   Returns information about an error.
118//
119// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateBroker
120func (c *MQ) CreateBroker(input *CreateBrokerRequest) (*CreateBrokerResponse, error) {
121	req, out := c.CreateBrokerRequest(input)
122	return out, req.Send()
123}
124
125// CreateBrokerWithContext is the same as CreateBroker with the addition of
126// the ability to pass a context and additional request options.
127//
128// See CreateBroker for details on how to use this API operation.
129//
130// The context must be non-nil and will be used for request cancellation. If
131// the context is nil a panic will occur. In the future the SDK may create
132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
133// for more information on using Contexts.
134func (c *MQ) CreateBrokerWithContext(ctx aws.Context, input *CreateBrokerRequest, opts ...request.Option) (*CreateBrokerResponse, error) {
135	req, out := c.CreateBrokerRequest(input)
136	req.SetContext(ctx)
137	req.ApplyOptions(opts...)
138	return out, req.Send()
139}
140
141const opCreateConfiguration = "CreateConfiguration"
142
143// CreateConfigurationRequest generates a "aws/request.Request" representing the
144// client's request for the CreateConfiguration operation. The "output" return
145// value will be populated with the request's response once the request completes
146// successfully.
147//
148// Use "Send" method on the returned Request to send the API call to the service.
149// the "output" return value is not valid until after Send returns without error.
150//
151// See CreateConfiguration for more information on using the CreateConfiguration
152// API call, and error handling.
153//
154// This method is useful when you want to inject custom logic or configuration
155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
156//
157//
158//    // Example sending a request using the CreateConfigurationRequest method.
159//    req, resp := client.CreateConfigurationRequest(params)
160//
161//    err := req.Send()
162//    if err == nil { // resp is now filled
163//        fmt.Println(resp)
164//    }
165//
166// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateConfiguration
167func (c *MQ) CreateConfigurationRequest(input *CreateConfigurationRequest) (req *request.Request, output *CreateConfigurationResponse) {
168	op := &request.Operation{
169		Name:       opCreateConfiguration,
170		HTTPMethod: "POST",
171		HTTPPath:   "/v1/configurations",
172	}
173
174	if input == nil {
175		input = &CreateConfigurationRequest{}
176	}
177
178	output = &CreateConfigurationResponse{}
179	req = c.newRequest(op, input, output)
180	return
181}
182
183// CreateConfiguration API operation for AmazonMQ.
184//
185// Creates a new configuration for the specified configuration name. Amazon
186// MQ uses the default configuration (the engine type and version).
187//
188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
189// with awserr.Error's Code and Message methods to get detailed information about
190// the error.
191//
192// See the AWS API reference guide for AmazonMQ's
193// API operation CreateConfiguration for usage and error information.
194//
195// Returned Error Types:
196//   * BadRequestException
197//   Returns information about an error.
198//
199//   * InternalServerErrorException
200//   Returns information about an error.
201//
202//   * ConflictException
203//   Returns information about an error.
204//
205//   * ForbiddenException
206//   Returns information about an error.
207//
208// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateConfiguration
209func (c *MQ) CreateConfiguration(input *CreateConfigurationRequest) (*CreateConfigurationResponse, error) {
210	req, out := c.CreateConfigurationRequest(input)
211	return out, req.Send()
212}
213
214// CreateConfigurationWithContext is the same as CreateConfiguration with the addition of
215// the ability to pass a context and additional request options.
216//
217// See CreateConfiguration for details on how to use this API operation.
218//
219// The context must be non-nil and will be used for request cancellation. If
220// the context is nil a panic will occur. In the future the SDK may create
221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
222// for more information on using Contexts.
223func (c *MQ) CreateConfigurationWithContext(ctx aws.Context, input *CreateConfigurationRequest, opts ...request.Option) (*CreateConfigurationResponse, error) {
224	req, out := c.CreateConfigurationRequest(input)
225	req.SetContext(ctx)
226	req.ApplyOptions(opts...)
227	return out, req.Send()
228}
229
230const opCreateTags = "CreateTags"
231
232// CreateTagsRequest generates a "aws/request.Request" representing the
233// client's request for the CreateTags operation. The "output" return
234// value will be populated with the request's response once the request completes
235// successfully.
236//
237// Use "Send" method on the returned Request to send the API call to the service.
238// the "output" return value is not valid until after Send returns without error.
239//
240// See CreateTags for more information on using the CreateTags
241// API call, and error handling.
242//
243// This method is useful when you want to inject custom logic or configuration
244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
245//
246//
247//    // Example sending a request using the CreateTagsRequest method.
248//    req, resp := client.CreateTagsRequest(params)
249//
250//    err := req.Send()
251//    if err == nil { // resp is now filled
252//        fmt.Println(resp)
253//    }
254//
255// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateTags
256func (c *MQ) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
257	op := &request.Operation{
258		Name:       opCreateTags,
259		HTTPMethod: "POST",
260		HTTPPath:   "/v1/tags/{resource-arn}",
261	}
262
263	if input == nil {
264		input = &CreateTagsInput{}
265	}
266
267	output = &CreateTagsOutput{}
268	req = c.newRequest(op, input, output)
269	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
270	return
271}
272
273// CreateTags API operation for AmazonMQ.
274//
275// Add a tag to a resource.
276//
277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
278// with awserr.Error's Code and Message methods to get detailed information about
279// the error.
280//
281// See the AWS API reference guide for AmazonMQ's
282// API operation CreateTags for usage and error information.
283//
284// Returned Error Types:
285//   * NotFoundException
286//   Returns information about an error.
287//
288//   * BadRequestException
289//   Returns information about an error.
290//
291//   * InternalServerErrorException
292//   Returns information about an error.
293//
294//   * ForbiddenException
295//   Returns information about an error.
296//
297// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateTags
298func (c *MQ) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
299	req, out := c.CreateTagsRequest(input)
300	return out, req.Send()
301}
302
303// CreateTagsWithContext is the same as CreateTags with the addition of
304// the ability to pass a context and additional request options.
305//
306// See CreateTags for details on how to use this API operation.
307//
308// The context must be non-nil and will be used for request cancellation. If
309// the context is nil a panic will occur. In the future the SDK may create
310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
311// for more information on using Contexts.
312func (c *MQ) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
313	req, out := c.CreateTagsRequest(input)
314	req.SetContext(ctx)
315	req.ApplyOptions(opts...)
316	return out, req.Send()
317}
318
319const opCreateUser = "CreateUser"
320
321// CreateUserRequest generates a "aws/request.Request" representing the
322// client's request for the CreateUser operation. The "output" return
323// value will be populated with the request's response once the request completes
324// successfully.
325//
326// Use "Send" method on the returned Request to send the API call to the service.
327// the "output" return value is not valid until after Send returns without error.
328//
329// See CreateUser for more information on using the CreateUser
330// API call, and error handling.
331//
332// This method is useful when you want to inject custom logic or configuration
333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
334//
335//
336//    // Example sending a request using the CreateUserRequest method.
337//    req, resp := client.CreateUserRequest(params)
338//
339//    err := req.Send()
340//    if err == nil { // resp is now filled
341//        fmt.Println(resp)
342//    }
343//
344// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateUser
345func (c *MQ) CreateUserRequest(input *CreateUserRequest) (req *request.Request, output *CreateUserOutput) {
346	op := &request.Operation{
347		Name:       opCreateUser,
348		HTTPMethod: "POST",
349		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
350	}
351
352	if input == nil {
353		input = &CreateUserRequest{}
354	}
355
356	output = &CreateUserOutput{}
357	req = c.newRequest(op, input, output)
358	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
359	return
360}
361
362// CreateUser API operation for AmazonMQ.
363//
364// Creates an ActiveMQ user.
365//
366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
367// with awserr.Error's Code and Message methods to get detailed information about
368// the error.
369//
370// See the AWS API reference guide for AmazonMQ's
371// API operation CreateUser for usage and error information.
372//
373// Returned Error Types:
374//   * NotFoundException
375//   Returns information about an error.
376//
377//   * BadRequestException
378//   Returns information about an error.
379//
380//   * InternalServerErrorException
381//   Returns information about an error.
382//
383//   * ConflictException
384//   Returns information about an error.
385//
386//   * ForbiddenException
387//   Returns information about an error.
388//
389// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateUser
390func (c *MQ) CreateUser(input *CreateUserRequest) (*CreateUserOutput, error) {
391	req, out := c.CreateUserRequest(input)
392	return out, req.Send()
393}
394
395// CreateUserWithContext is the same as CreateUser with the addition of
396// the ability to pass a context and additional request options.
397//
398// See CreateUser for details on how to use this API operation.
399//
400// The context must be non-nil and will be used for request cancellation. If
401// the context is nil a panic will occur. In the future the SDK may create
402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
403// for more information on using Contexts.
404func (c *MQ) CreateUserWithContext(ctx aws.Context, input *CreateUserRequest, opts ...request.Option) (*CreateUserOutput, error) {
405	req, out := c.CreateUserRequest(input)
406	req.SetContext(ctx)
407	req.ApplyOptions(opts...)
408	return out, req.Send()
409}
410
411const opDeleteBroker = "DeleteBroker"
412
413// DeleteBrokerRequest generates a "aws/request.Request" representing the
414// client's request for the DeleteBroker operation. The "output" return
415// value will be populated with the request's response once the request completes
416// successfully.
417//
418// Use "Send" method on the returned Request to send the API call to the service.
419// the "output" return value is not valid until after Send returns without error.
420//
421// See DeleteBroker for more information on using the DeleteBroker
422// API call, and error handling.
423//
424// This method is useful when you want to inject custom logic or configuration
425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
426//
427//
428//    // Example sending a request using the DeleteBrokerRequest method.
429//    req, resp := client.DeleteBrokerRequest(params)
430//
431//    err := req.Send()
432//    if err == nil { // resp is now filled
433//        fmt.Println(resp)
434//    }
435//
436// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteBroker
437func (c *MQ) DeleteBrokerRequest(input *DeleteBrokerInput) (req *request.Request, output *DeleteBrokerResponse) {
438	op := &request.Operation{
439		Name:       opDeleteBroker,
440		HTTPMethod: "DELETE",
441		HTTPPath:   "/v1/brokers/{broker-id}",
442	}
443
444	if input == nil {
445		input = &DeleteBrokerInput{}
446	}
447
448	output = &DeleteBrokerResponse{}
449	req = c.newRequest(op, input, output)
450	return
451}
452
453// DeleteBroker API operation for AmazonMQ.
454//
455// Deletes a broker. Note: This API is asynchronous.
456//
457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
458// with awserr.Error's Code and Message methods to get detailed information about
459// the error.
460//
461// See the AWS API reference guide for AmazonMQ's
462// API operation DeleteBroker for usage and error information.
463//
464// Returned Error Types:
465//   * NotFoundException
466//   Returns information about an error.
467//
468//   * BadRequestException
469//   Returns information about an error.
470//
471//   * InternalServerErrorException
472//   Returns information about an error.
473//
474//   * ForbiddenException
475//   Returns information about an error.
476//
477// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteBroker
478func (c *MQ) DeleteBroker(input *DeleteBrokerInput) (*DeleteBrokerResponse, error) {
479	req, out := c.DeleteBrokerRequest(input)
480	return out, req.Send()
481}
482
483// DeleteBrokerWithContext is the same as DeleteBroker with the addition of
484// the ability to pass a context and additional request options.
485//
486// See DeleteBroker for details on how to use this API operation.
487//
488// The context must be non-nil and will be used for request cancellation. If
489// the context is nil a panic will occur. In the future the SDK may create
490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
491// for more information on using Contexts.
492func (c *MQ) DeleteBrokerWithContext(ctx aws.Context, input *DeleteBrokerInput, opts ...request.Option) (*DeleteBrokerResponse, error) {
493	req, out := c.DeleteBrokerRequest(input)
494	req.SetContext(ctx)
495	req.ApplyOptions(opts...)
496	return out, req.Send()
497}
498
499const opDeleteTags = "DeleteTags"
500
501// DeleteTagsRequest generates a "aws/request.Request" representing the
502// client's request for the DeleteTags operation. The "output" return
503// value will be populated with the request's response once the request completes
504// successfully.
505//
506// Use "Send" method on the returned Request to send the API call to the service.
507// the "output" return value is not valid until after Send returns without error.
508//
509// See DeleteTags for more information on using the DeleteTags
510// API call, and error handling.
511//
512// This method is useful when you want to inject custom logic or configuration
513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
514//
515//
516//    // Example sending a request using the DeleteTagsRequest method.
517//    req, resp := client.DeleteTagsRequest(params)
518//
519//    err := req.Send()
520//    if err == nil { // resp is now filled
521//        fmt.Println(resp)
522//    }
523//
524// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteTags
525func (c *MQ) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
526	op := &request.Operation{
527		Name:       opDeleteTags,
528		HTTPMethod: "DELETE",
529		HTTPPath:   "/v1/tags/{resource-arn}",
530	}
531
532	if input == nil {
533		input = &DeleteTagsInput{}
534	}
535
536	output = &DeleteTagsOutput{}
537	req = c.newRequest(op, input, output)
538	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
539	return
540}
541
542// DeleteTags API operation for AmazonMQ.
543//
544// Removes a tag from a resource.
545//
546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
547// with awserr.Error's Code and Message methods to get detailed information about
548// the error.
549//
550// See the AWS API reference guide for AmazonMQ's
551// API operation DeleteTags for usage and error information.
552//
553// Returned Error Types:
554//   * NotFoundException
555//   Returns information about an error.
556//
557//   * BadRequestException
558//   Returns information about an error.
559//
560//   * InternalServerErrorException
561//   Returns information about an error.
562//
563//   * ForbiddenException
564//   Returns information about an error.
565//
566// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteTags
567func (c *MQ) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
568	req, out := c.DeleteTagsRequest(input)
569	return out, req.Send()
570}
571
572// DeleteTagsWithContext is the same as DeleteTags with the addition of
573// the ability to pass a context and additional request options.
574//
575// See DeleteTags for details on how to use this API operation.
576//
577// The context must be non-nil and will be used for request cancellation. If
578// the context is nil a panic will occur. In the future the SDK may create
579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
580// for more information on using Contexts.
581func (c *MQ) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
582	req, out := c.DeleteTagsRequest(input)
583	req.SetContext(ctx)
584	req.ApplyOptions(opts...)
585	return out, req.Send()
586}
587
588const opDeleteUser = "DeleteUser"
589
590// DeleteUserRequest generates a "aws/request.Request" representing the
591// client's request for the DeleteUser operation. The "output" return
592// value will be populated with the request's response once the request completes
593// successfully.
594//
595// Use "Send" method on the returned Request to send the API call to the service.
596// the "output" return value is not valid until after Send returns without error.
597//
598// See DeleteUser for more information on using the DeleteUser
599// API call, and error handling.
600//
601// This method is useful when you want to inject custom logic or configuration
602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
603//
604//
605//    // Example sending a request using the DeleteUserRequest method.
606//    req, resp := client.DeleteUserRequest(params)
607//
608//    err := req.Send()
609//    if err == nil { // resp is now filled
610//        fmt.Println(resp)
611//    }
612//
613// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteUser
614func (c *MQ) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
615	op := &request.Operation{
616		Name:       opDeleteUser,
617		HTTPMethod: "DELETE",
618		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
619	}
620
621	if input == nil {
622		input = &DeleteUserInput{}
623	}
624
625	output = &DeleteUserOutput{}
626	req = c.newRequest(op, input, output)
627	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
628	return
629}
630
631// DeleteUser API operation for AmazonMQ.
632//
633// Deletes an ActiveMQ user.
634//
635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
636// with awserr.Error's Code and Message methods to get detailed information about
637// the error.
638//
639// See the AWS API reference guide for AmazonMQ's
640// API operation DeleteUser for usage and error information.
641//
642// Returned Error Types:
643//   * NotFoundException
644//   Returns information about an error.
645//
646//   * BadRequestException
647//   Returns information about an error.
648//
649//   * InternalServerErrorException
650//   Returns information about an error.
651//
652//   * ForbiddenException
653//   Returns information about an error.
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteUser
656func (c *MQ) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
657	req, out := c.DeleteUserRequest(input)
658	return out, req.Send()
659}
660
661// DeleteUserWithContext is the same as DeleteUser with the addition of
662// the ability to pass a context and additional request options.
663//
664// See DeleteUser for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *MQ) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
671	req, out := c.DeleteUserRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677const opDescribeBroker = "DescribeBroker"
678
679// DescribeBrokerRequest generates a "aws/request.Request" representing the
680// client's request for the DescribeBroker operation. The "output" return
681// value will be populated with the request's response once the request completes
682// successfully.
683//
684// Use "Send" method on the returned Request to send the API call to the service.
685// the "output" return value is not valid until after Send returns without error.
686//
687// See DescribeBroker for more information on using the DescribeBroker
688// API call, and error handling.
689//
690// This method is useful when you want to inject custom logic or configuration
691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
692//
693//
694//    // Example sending a request using the DescribeBrokerRequest method.
695//    req, resp := client.DescribeBrokerRequest(params)
696//
697//    err := req.Send()
698//    if err == nil { // resp is now filled
699//        fmt.Println(resp)
700//    }
701//
702// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBroker
703func (c *MQ) DescribeBrokerRequest(input *DescribeBrokerInput) (req *request.Request, output *DescribeBrokerResponse) {
704	op := &request.Operation{
705		Name:       opDescribeBroker,
706		HTTPMethod: "GET",
707		HTTPPath:   "/v1/brokers/{broker-id}",
708	}
709
710	if input == nil {
711		input = &DescribeBrokerInput{}
712	}
713
714	output = &DescribeBrokerResponse{}
715	req = c.newRequest(op, input, output)
716	return
717}
718
719// DescribeBroker API operation for AmazonMQ.
720//
721// Returns information about the specified broker.
722//
723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
724// with awserr.Error's Code and Message methods to get detailed information about
725// the error.
726//
727// See the AWS API reference guide for AmazonMQ's
728// API operation DescribeBroker for usage and error information.
729//
730// Returned Error Types:
731//   * NotFoundException
732//   Returns information about an error.
733//
734//   * BadRequestException
735//   Returns information about an error.
736//
737//   * InternalServerErrorException
738//   Returns information about an error.
739//
740//   * ForbiddenException
741//   Returns information about an error.
742//
743// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBroker
744func (c *MQ) DescribeBroker(input *DescribeBrokerInput) (*DescribeBrokerResponse, error) {
745	req, out := c.DescribeBrokerRequest(input)
746	return out, req.Send()
747}
748
749// DescribeBrokerWithContext is the same as DescribeBroker with the addition of
750// the ability to pass a context and additional request options.
751//
752// See DescribeBroker for details on how to use this API operation.
753//
754// The context must be non-nil and will be used for request cancellation. If
755// the context is nil a panic will occur. In the future the SDK may create
756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
757// for more information on using Contexts.
758func (c *MQ) DescribeBrokerWithContext(ctx aws.Context, input *DescribeBrokerInput, opts ...request.Option) (*DescribeBrokerResponse, error) {
759	req, out := c.DescribeBrokerRequest(input)
760	req.SetContext(ctx)
761	req.ApplyOptions(opts...)
762	return out, req.Send()
763}
764
765const opDescribeBrokerEngineTypes = "DescribeBrokerEngineTypes"
766
767// DescribeBrokerEngineTypesRequest generates a "aws/request.Request" representing the
768// client's request for the DescribeBrokerEngineTypes operation. The "output" return
769// value will be populated with the request's response once the request completes
770// successfully.
771//
772// Use "Send" method on the returned Request to send the API call to the service.
773// the "output" return value is not valid until after Send returns without error.
774//
775// See DescribeBrokerEngineTypes for more information on using the DescribeBrokerEngineTypes
776// API call, and error handling.
777//
778// This method is useful when you want to inject custom logic or configuration
779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
780//
781//
782//    // Example sending a request using the DescribeBrokerEngineTypesRequest method.
783//    req, resp := client.DescribeBrokerEngineTypesRequest(params)
784//
785//    err := req.Send()
786//    if err == nil { // resp is now filled
787//        fmt.Println(resp)
788//    }
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerEngineTypes
791func (c *MQ) DescribeBrokerEngineTypesRequest(input *DescribeBrokerEngineTypesInput) (req *request.Request, output *DescribeBrokerEngineTypesOutput) {
792	op := &request.Operation{
793		Name:       opDescribeBrokerEngineTypes,
794		HTTPMethod: "GET",
795		HTTPPath:   "/v1/broker-engine-types",
796	}
797
798	if input == nil {
799		input = &DescribeBrokerEngineTypesInput{}
800	}
801
802	output = &DescribeBrokerEngineTypesOutput{}
803	req = c.newRequest(op, input, output)
804	return
805}
806
807// DescribeBrokerEngineTypes API operation for AmazonMQ.
808//
809// Describe available engine types and versions.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for AmazonMQ's
816// API operation DescribeBrokerEngineTypes for usage and error information.
817//
818// Returned Error Types:
819//   * BadRequestException
820//   Returns information about an error.
821//
822//   * InternalServerErrorException
823//   Returns information about an error.
824//
825//   * ForbiddenException
826//   Returns information about an error.
827//
828// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerEngineTypes
829func (c *MQ) DescribeBrokerEngineTypes(input *DescribeBrokerEngineTypesInput) (*DescribeBrokerEngineTypesOutput, error) {
830	req, out := c.DescribeBrokerEngineTypesRequest(input)
831	return out, req.Send()
832}
833
834// DescribeBrokerEngineTypesWithContext is the same as DescribeBrokerEngineTypes with the addition of
835// the ability to pass a context and additional request options.
836//
837// See DescribeBrokerEngineTypes for details on how to use this API operation.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *MQ) DescribeBrokerEngineTypesWithContext(ctx aws.Context, input *DescribeBrokerEngineTypesInput, opts ...request.Option) (*DescribeBrokerEngineTypesOutput, error) {
844	req, out := c.DescribeBrokerEngineTypesRequest(input)
845	req.SetContext(ctx)
846	req.ApplyOptions(opts...)
847	return out, req.Send()
848}
849
850const opDescribeBrokerInstanceOptions = "DescribeBrokerInstanceOptions"
851
852// DescribeBrokerInstanceOptionsRequest generates a "aws/request.Request" representing the
853// client's request for the DescribeBrokerInstanceOptions operation. The "output" return
854// value will be populated with the request's response once the request completes
855// successfully.
856//
857// Use "Send" method on the returned Request to send the API call to the service.
858// the "output" return value is not valid until after Send returns without error.
859//
860// See DescribeBrokerInstanceOptions for more information on using the DescribeBrokerInstanceOptions
861// API call, and error handling.
862//
863// This method is useful when you want to inject custom logic or configuration
864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
865//
866//
867//    // Example sending a request using the DescribeBrokerInstanceOptionsRequest method.
868//    req, resp := client.DescribeBrokerInstanceOptionsRequest(params)
869//
870//    err := req.Send()
871//    if err == nil { // resp is now filled
872//        fmt.Println(resp)
873//    }
874//
875// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerInstanceOptions
876func (c *MQ) DescribeBrokerInstanceOptionsRequest(input *DescribeBrokerInstanceOptionsInput) (req *request.Request, output *DescribeBrokerInstanceOptionsOutput) {
877	op := &request.Operation{
878		Name:       opDescribeBrokerInstanceOptions,
879		HTTPMethod: "GET",
880		HTTPPath:   "/v1/broker-instance-options",
881	}
882
883	if input == nil {
884		input = &DescribeBrokerInstanceOptionsInput{}
885	}
886
887	output = &DescribeBrokerInstanceOptionsOutput{}
888	req = c.newRequest(op, input, output)
889	return
890}
891
892// DescribeBrokerInstanceOptions API operation for AmazonMQ.
893//
894// Describe available broker instance options.
895//
896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
897// with awserr.Error's Code and Message methods to get detailed information about
898// the error.
899//
900// See the AWS API reference guide for AmazonMQ's
901// API operation DescribeBrokerInstanceOptions for usage and error information.
902//
903// Returned Error Types:
904//   * BadRequestException
905//   Returns information about an error.
906//
907//   * InternalServerErrorException
908//   Returns information about an error.
909//
910//   * ForbiddenException
911//   Returns information about an error.
912//
913// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerInstanceOptions
914func (c *MQ) DescribeBrokerInstanceOptions(input *DescribeBrokerInstanceOptionsInput) (*DescribeBrokerInstanceOptionsOutput, error) {
915	req, out := c.DescribeBrokerInstanceOptionsRequest(input)
916	return out, req.Send()
917}
918
919// DescribeBrokerInstanceOptionsWithContext is the same as DescribeBrokerInstanceOptions with the addition of
920// the ability to pass a context and additional request options.
921//
922// See DescribeBrokerInstanceOptions for details on how to use this API operation.
923//
924// The context must be non-nil and will be used for request cancellation. If
925// the context is nil a panic will occur. In the future the SDK may create
926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
927// for more information on using Contexts.
928func (c *MQ) DescribeBrokerInstanceOptionsWithContext(ctx aws.Context, input *DescribeBrokerInstanceOptionsInput, opts ...request.Option) (*DescribeBrokerInstanceOptionsOutput, error) {
929	req, out := c.DescribeBrokerInstanceOptionsRequest(input)
930	req.SetContext(ctx)
931	req.ApplyOptions(opts...)
932	return out, req.Send()
933}
934
935const opDescribeConfiguration = "DescribeConfiguration"
936
937// DescribeConfigurationRequest generates a "aws/request.Request" representing the
938// client's request for the DescribeConfiguration operation. The "output" return
939// value will be populated with the request's response once the request completes
940// successfully.
941//
942// Use "Send" method on the returned Request to send the API call to the service.
943// the "output" return value is not valid until after Send returns without error.
944//
945// See DescribeConfiguration for more information on using the DescribeConfiguration
946// API call, and error handling.
947//
948// This method is useful when you want to inject custom logic or configuration
949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
950//
951//
952//    // Example sending a request using the DescribeConfigurationRequest method.
953//    req, resp := client.DescribeConfigurationRequest(params)
954//
955//    err := req.Send()
956//    if err == nil { // resp is now filled
957//        fmt.Println(resp)
958//    }
959//
960// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfiguration
961func (c *MQ) DescribeConfigurationRequest(input *DescribeConfigurationInput) (req *request.Request, output *DescribeConfigurationOutput) {
962	op := &request.Operation{
963		Name:       opDescribeConfiguration,
964		HTTPMethod: "GET",
965		HTTPPath:   "/v1/configurations/{configuration-id}",
966	}
967
968	if input == nil {
969		input = &DescribeConfigurationInput{}
970	}
971
972	output = &DescribeConfigurationOutput{}
973	req = c.newRequest(op, input, output)
974	return
975}
976
977// DescribeConfiguration API operation for AmazonMQ.
978//
979// Returns information about the specified configuration.
980//
981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
982// with awserr.Error's Code and Message methods to get detailed information about
983// the error.
984//
985// See the AWS API reference guide for AmazonMQ's
986// API operation DescribeConfiguration for usage and error information.
987//
988// Returned Error Types:
989//   * NotFoundException
990//   Returns information about an error.
991//
992//   * BadRequestException
993//   Returns information about an error.
994//
995//   * InternalServerErrorException
996//   Returns information about an error.
997//
998//   * ForbiddenException
999//   Returns information about an error.
1000//
1001// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfiguration
1002func (c *MQ) DescribeConfiguration(input *DescribeConfigurationInput) (*DescribeConfigurationOutput, error) {
1003	req, out := c.DescribeConfigurationRequest(input)
1004	return out, req.Send()
1005}
1006
1007// DescribeConfigurationWithContext is the same as DescribeConfiguration with the addition of
1008// the ability to pass a context and additional request options.
1009//
1010// See DescribeConfiguration for details on how to use this API operation.
1011//
1012// The context must be non-nil and will be used for request cancellation. If
1013// the context is nil a panic will occur. In the future the SDK may create
1014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1015// for more information on using Contexts.
1016func (c *MQ) DescribeConfigurationWithContext(ctx aws.Context, input *DescribeConfigurationInput, opts ...request.Option) (*DescribeConfigurationOutput, error) {
1017	req, out := c.DescribeConfigurationRequest(input)
1018	req.SetContext(ctx)
1019	req.ApplyOptions(opts...)
1020	return out, req.Send()
1021}
1022
1023const opDescribeConfigurationRevision = "DescribeConfigurationRevision"
1024
1025// DescribeConfigurationRevisionRequest generates a "aws/request.Request" representing the
1026// client's request for the DescribeConfigurationRevision operation. The "output" return
1027// value will be populated with the request's response once the request completes
1028// successfully.
1029//
1030// Use "Send" method on the returned Request to send the API call to the service.
1031// the "output" return value is not valid until after Send returns without error.
1032//
1033// See DescribeConfigurationRevision for more information on using the DescribeConfigurationRevision
1034// API call, and error handling.
1035//
1036// This method is useful when you want to inject custom logic or configuration
1037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1038//
1039//
1040//    // Example sending a request using the DescribeConfigurationRevisionRequest method.
1041//    req, resp := client.DescribeConfigurationRevisionRequest(params)
1042//
1043//    err := req.Send()
1044//    if err == nil { // resp is now filled
1045//        fmt.Println(resp)
1046//    }
1047//
1048// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfigurationRevision
1049func (c *MQ) DescribeConfigurationRevisionRequest(input *DescribeConfigurationRevisionInput) (req *request.Request, output *DescribeConfigurationRevisionResponse) {
1050	op := &request.Operation{
1051		Name:       opDescribeConfigurationRevision,
1052		HTTPMethod: "GET",
1053		HTTPPath:   "/v1/configurations/{configuration-id}/revisions/{configuration-revision}",
1054	}
1055
1056	if input == nil {
1057		input = &DescribeConfigurationRevisionInput{}
1058	}
1059
1060	output = &DescribeConfigurationRevisionResponse{}
1061	req = c.newRequest(op, input, output)
1062	return
1063}
1064
1065// DescribeConfigurationRevision API operation for AmazonMQ.
1066//
1067// Returns the specified configuration revision for the specified configuration.
1068//
1069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1070// with awserr.Error's Code and Message methods to get detailed information about
1071// the error.
1072//
1073// See the AWS API reference guide for AmazonMQ's
1074// API operation DescribeConfigurationRevision for usage and error information.
1075//
1076// Returned Error Types:
1077//   * NotFoundException
1078//   Returns information about an error.
1079//
1080//   * BadRequestException
1081//   Returns information about an error.
1082//
1083//   * InternalServerErrorException
1084//   Returns information about an error.
1085//
1086//   * ForbiddenException
1087//   Returns information about an error.
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfigurationRevision
1090func (c *MQ) DescribeConfigurationRevision(input *DescribeConfigurationRevisionInput) (*DescribeConfigurationRevisionResponse, error) {
1091	req, out := c.DescribeConfigurationRevisionRequest(input)
1092	return out, req.Send()
1093}
1094
1095// DescribeConfigurationRevisionWithContext is the same as DescribeConfigurationRevision with the addition of
1096// the ability to pass a context and additional request options.
1097//
1098// See DescribeConfigurationRevision for details on how to use this API operation.
1099//
1100// The context must be non-nil and will be used for request cancellation. If
1101// the context is nil a panic will occur. In the future the SDK may create
1102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1103// for more information on using Contexts.
1104func (c *MQ) DescribeConfigurationRevisionWithContext(ctx aws.Context, input *DescribeConfigurationRevisionInput, opts ...request.Option) (*DescribeConfigurationRevisionResponse, error) {
1105	req, out := c.DescribeConfigurationRevisionRequest(input)
1106	req.SetContext(ctx)
1107	req.ApplyOptions(opts...)
1108	return out, req.Send()
1109}
1110
1111const opDescribeUser = "DescribeUser"
1112
1113// DescribeUserRequest generates a "aws/request.Request" representing the
1114// client's request for the DescribeUser operation. The "output" return
1115// value will be populated with the request's response once the request completes
1116// successfully.
1117//
1118// Use "Send" method on the returned Request to send the API call to the service.
1119// the "output" return value is not valid until after Send returns without error.
1120//
1121// See DescribeUser for more information on using the DescribeUser
1122// API call, and error handling.
1123//
1124// This method is useful when you want to inject custom logic or configuration
1125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1126//
1127//
1128//    // Example sending a request using the DescribeUserRequest method.
1129//    req, resp := client.DescribeUserRequest(params)
1130//
1131//    err := req.Send()
1132//    if err == nil { // resp is now filled
1133//        fmt.Println(resp)
1134//    }
1135//
1136// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeUser
1137func (c *MQ) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserResponse) {
1138	op := &request.Operation{
1139		Name:       opDescribeUser,
1140		HTTPMethod: "GET",
1141		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
1142	}
1143
1144	if input == nil {
1145		input = &DescribeUserInput{}
1146	}
1147
1148	output = &DescribeUserResponse{}
1149	req = c.newRequest(op, input, output)
1150	return
1151}
1152
1153// DescribeUser API operation for AmazonMQ.
1154//
1155// Returns information about an ActiveMQ user.
1156//
1157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1158// with awserr.Error's Code and Message methods to get detailed information about
1159// the error.
1160//
1161// See the AWS API reference guide for AmazonMQ's
1162// API operation DescribeUser for usage and error information.
1163//
1164// Returned Error Types:
1165//   * NotFoundException
1166//   Returns information about an error.
1167//
1168//   * BadRequestException
1169//   Returns information about an error.
1170//
1171//   * InternalServerErrorException
1172//   Returns information about an error.
1173//
1174//   * ForbiddenException
1175//   Returns information about an error.
1176//
1177// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeUser
1178func (c *MQ) DescribeUser(input *DescribeUserInput) (*DescribeUserResponse, error) {
1179	req, out := c.DescribeUserRequest(input)
1180	return out, req.Send()
1181}
1182
1183// DescribeUserWithContext is the same as DescribeUser with the addition of
1184// the ability to pass a context and additional request options.
1185//
1186// See DescribeUser for details on how to use this API operation.
1187//
1188// The context must be non-nil and will be used for request cancellation. If
1189// the context is nil a panic will occur. In the future the SDK may create
1190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1191// for more information on using Contexts.
1192func (c *MQ) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserResponse, error) {
1193	req, out := c.DescribeUserRequest(input)
1194	req.SetContext(ctx)
1195	req.ApplyOptions(opts...)
1196	return out, req.Send()
1197}
1198
1199const opListBrokers = "ListBrokers"
1200
1201// ListBrokersRequest generates a "aws/request.Request" representing the
1202// client's request for the ListBrokers operation. The "output" return
1203// value will be populated with the request's response once the request completes
1204// successfully.
1205//
1206// Use "Send" method on the returned Request to send the API call to the service.
1207// the "output" return value is not valid until after Send returns without error.
1208//
1209// See ListBrokers for more information on using the ListBrokers
1210// API call, and error handling.
1211//
1212// This method is useful when you want to inject custom logic or configuration
1213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1214//
1215//
1216//    // Example sending a request using the ListBrokersRequest method.
1217//    req, resp := client.ListBrokersRequest(params)
1218//
1219//    err := req.Send()
1220//    if err == nil { // resp is now filled
1221//        fmt.Println(resp)
1222//    }
1223//
1224// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListBrokers
1225func (c *MQ) ListBrokersRequest(input *ListBrokersInput) (req *request.Request, output *ListBrokersResponse) {
1226	op := &request.Operation{
1227		Name:       opListBrokers,
1228		HTTPMethod: "GET",
1229		HTTPPath:   "/v1/brokers",
1230		Paginator: &request.Paginator{
1231			InputTokens:     []string{"NextToken"},
1232			OutputTokens:    []string{"NextToken"},
1233			LimitToken:      "MaxResults",
1234			TruncationToken: "",
1235		},
1236	}
1237
1238	if input == nil {
1239		input = &ListBrokersInput{}
1240	}
1241
1242	output = &ListBrokersResponse{}
1243	req = c.newRequest(op, input, output)
1244	return
1245}
1246
1247// ListBrokers API operation for AmazonMQ.
1248//
1249// Returns a list of all brokers.
1250//
1251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1252// with awserr.Error's Code and Message methods to get detailed information about
1253// the error.
1254//
1255// See the AWS API reference guide for AmazonMQ's
1256// API operation ListBrokers for usage and error information.
1257//
1258// Returned Error Types:
1259//   * BadRequestException
1260//   Returns information about an error.
1261//
1262//   * InternalServerErrorException
1263//   Returns information about an error.
1264//
1265//   * ForbiddenException
1266//   Returns information about an error.
1267//
1268// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListBrokers
1269func (c *MQ) ListBrokers(input *ListBrokersInput) (*ListBrokersResponse, error) {
1270	req, out := c.ListBrokersRequest(input)
1271	return out, req.Send()
1272}
1273
1274// ListBrokersWithContext is the same as ListBrokers with the addition of
1275// the ability to pass a context and additional request options.
1276//
1277// See ListBrokers for details on how to use this API operation.
1278//
1279// The context must be non-nil and will be used for request cancellation. If
1280// the context is nil a panic will occur. In the future the SDK may create
1281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1282// for more information on using Contexts.
1283func (c *MQ) ListBrokersWithContext(ctx aws.Context, input *ListBrokersInput, opts ...request.Option) (*ListBrokersResponse, error) {
1284	req, out := c.ListBrokersRequest(input)
1285	req.SetContext(ctx)
1286	req.ApplyOptions(opts...)
1287	return out, req.Send()
1288}
1289
1290// ListBrokersPages iterates over the pages of a ListBrokers operation,
1291// calling the "fn" function with the response data for each page. To stop
1292// iterating, return false from the fn function.
1293//
1294// See ListBrokers method for more information on how to use this operation.
1295//
1296// Note: This operation can generate multiple requests to a service.
1297//
1298//    // Example iterating over at most 3 pages of a ListBrokers operation.
1299//    pageNum := 0
1300//    err := client.ListBrokersPages(params,
1301//        func(page *mq.ListBrokersResponse, lastPage bool) bool {
1302//            pageNum++
1303//            fmt.Println(page)
1304//            return pageNum <= 3
1305//        })
1306//
1307func (c *MQ) ListBrokersPages(input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool) error {
1308	return c.ListBrokersPagesWithContext(aws.BackgroundContext(), input, fn)
1309}
1310
1311// ListBrokersPagesWithContext same as ListBrokersPages except
1312// it takes a Context and allows setting request options on the pages.
1313//
1314// The context must be non-nil and will be used for request cancellation. If
1315// the context is nil a panic will occur. In the future the SDK may create
1316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1317// for more information on using Contexts.
1318func (c *MQ) ListBrokersPagesWithContext(ctx aws.Context, input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool, opts ...request.Option) error {
1319	p := request.Pagination{
1320		NewRequest: func() (*request.Request, error) {
1321			var inCpy *ListBrokersInput
1322			if input != nil {
1323				tmp := *input
1324				inCpy = &tmp
1325			}
1326			req, _ := c.ListBrokersRequest(inCpy)
1327			req.SetContext(ctx)
1328			req.ApplyOptions(opts...)
1329			return req, nil
1330		},
1331	}
1332
1333	for p.Next() {
1334		if !fn(p.Page().(*ListBrokersResponse), !p.HasNextPage()) {
1335			break
1336		}
1337	}
1338
1339	return p.Err()
1340}
1341
1342const opListConfigurationRevisions = "ListConfigurationRevisions"
1343
1344// ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the
1345// client's request for the ListConfigurationRevisions operation. The "output" return
1346// value will be populated with the request's response once the request completes
1347// successfully.
1348//
1349// Use "Send" method on the returned Request to send the API call to the service.
1350// the "output" return value is not valid until after Send returns without error.
1351//
1352// See ListConfigurationRevisions for more information on using the ListConfigurationRevisions
1353// API call, and error handling.
1354//
1355// This method is useful when you want to inject custom logic or configuration
1356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1357//
1358//
1359//    // Example sending a request using the ListConfigurationRevisionsRequest method.
1360//    req, resp := client.ListConfigurationRevisionsRequest(params)
1361//
1362//    err := req.Send()
1363//    if err == nil { // resp is now filled
1364//        fmt.Println(resp)
1365//    }
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurationRevisions
1368func (c *MQ) ListConfigurationRevisionsRequest(input *ListConfigurationRevisionsInput) (req *request.Request, output *ListConfigurationRevisionsResponse) {
1369	op := &request.Operation{
1370		Name:       opListConfigurationRevisions,
1371		HTTPMethod: "GET",
1372		HTTPPath:   "/v1/configurations/{configuration-id}/revisions",
1373	}
1374
1375	if input == nil {
1376		input = &ListConfigurationRevisionsInput{}
1377	}
1378
1379	output = &ListConfigurationRevisionsResponse{}
1380	req = c.newRequest(op, input, output)
1381	return
1382}
1383
1384// ListConfigurationRevisions API operation for AmazonMQ.
1385//
1386// Returns a list of all revisions for the specified configuration.
1387//
1388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1389// with awserr.Error's Code and Message methods to get detailed information about
1390// the error.
1391//
1392// See the AWS API reference guide for AmazonMQ's
1393// API operation ListConfigurationRevisions for usage and error information.
1394//
1395// Returned Error Types:
1396//   * NotFoundException
1397//   Returns information about an error.
1398//
1399//   * BadRequestException
1400//   Returns information about an error.
1401//
1402//   * InternalServerErrorException
1403//   Returns information about an error.
1404//
1405//   * ForbiddenException
1406//   Returns information about an error.
1407//
1408// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurationRevisions
1409func (c *MQ) ListConfigurationRevisions(input *ListConfigurationRevisionsInput) (*ListConfigurationRevisionsResponse, error) {
1410	req, out := c.ListConfigurationRevisionsRequest(input)
1411	return out, req.Send()
1412}
1413
1414// ListConfigurationRevisionsWithContext is the same as ListConfigurationRevisions with the addition of
1415// the ability to pass a context and additional request options.
1416//
1417// See ListConfigurationRevisions for details on how to use this API operation.
1418//
1419// The context must be non-nil and will be used for request cancellation. If
1420// the context is nil a panic will occur. In the future the SDK may create
1421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1422// for more information on using Contexts.
1423func (c *MQ) ListConfigurationRevisionsWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, opts ...request.Option) (*ListConfigurationRevisionsResponse, error) {
1424	req, out := c.ListConfigurationRevisionsRequest(input)
1425	req.SetContext(ctx)
1426	req.ApplyOptions(opts...)
1427	return out, req.Send()
1428}
1429
1430const opListConfigurations = "ListConfigurations"
1431
1432// ListConfigurationsRequest generates a "aws/request.Request" representing the
1433// client's request for the ListConfigurations operation. The "output" return
1434// value will be populated with the request's response once the request completes
1435// successfully.
1436//
1437// Use "Send" method on the returned Request to send the API call to the service.
1438// the "output" return value is not valid until after Send returns without error.
1439//
1440// See ListConfigurations for more information on using the ListConfigurations
1441// API call, and error handling.
1442//
1443// This method is useful when you want to inject custom logic or configuration
1444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1445//
1446//
1447//    // Example sending a request using the ListConfigurationsRequest method.
1448//    req, resp := client.ListConfigurationsRequest(params)
1449//
1450//    err := req.Send()
1451//    if err == nil { // resp is now filled
1452//        fmt.Println(resp)
1453//    }
1454//
1455// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurations
1456func (c *MQ) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsResponse) {
1457	op := &request.Operation{
1458		Name:       opListConfigurations,
1459		HTTPMethod: "GET",
1460		HTTPPath:   "/v1/configurations",
1461	}
1462
1463	if input == nil {
1464		input = &ListConfigurationsInput{}
1465	}
1466
1467	output = &ListConfigurationsResponse{}
1468	req = c.newRequest(op, input, output)
1469	return
1470}
1471
1472// ListConfigurations API operation for AmazonMQ.
1473//
1474// Returns a list of all configurations.
1475//
1476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1477// with awserr.Error's Code and Message methods to get detailed information about
1478// the error.
1479//
1480// See the AWS API reference guide for AmazonMQ's
1481// API operation ListConfigurations for usage and error information.
1482//
1483// Returned Error Types:
1484//   * BadRequestException
1485//   Returns information about an error.
1486//
1487//   * InternalServerErrorException
1488//   Returns information about an error.
1489//
1490//   * ForbiddenException
1491//   Returns information about an error.
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurations
1494func (c *MQ) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsResponse, error) {
1495	req, out := c.ListConfigurationsRequest(input)
1496	return out, req.Send()
1497}
1498
1499// ListConfigurationsWithContext is the same as ListConfigurations with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See ListConfigurations for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *MQ) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsResponse, error) {
1509	req, out := c.ListConfigurationsRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opListTags = "ListTags"
1516
1517// ListTagsRequest generates a "aws/request.Request" representing the
1518// client's request for the ListTags operation. The "output" return
1519// value will be populated with the request's response once the request completes
1520// successfully.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See ListTags for more information on using the ListTags
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the ListTagsRequest method.
1533//    req, resp := client.ListTagsRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListTags
1541func (c *MQ) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
1542	op := &request.Operation{
1543		Name:       opListTags,
1544		HTTPMethod: "GET",
1545		HTTPPath:   "/v1/tags/{resource-arn}",
1546	}
1547
1548	if input == nil {
1549		input = &ListTagsInput{}
1550	}
1551
1552	output = &ListTagsOutput{}
1553	req = c.newRequest(op, input, output)
1554	return
1555}
1556
1557// ListTags API operation for AmazonMQ.
1558//
1559// Lists tags for a resource.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for AmazonMQ's
1566// API operation ListTags for usage and error information.
1567//
1568// Returned Error Types:
1569//   * NotFoundException
1570//   Returns information about an error.
1571//
1572//   * BadRequestException
1573//   Returns information about an error.
1574//
1575//   * InternalServerErrorException
1576//   Returns information about an error.
1577//
1578//   * ForbiddenException
1579//   Returns information about an error.
1580//
1581// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListTags
1582func (c *MQ) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
1583	req, out := c.ListTagsRequest(input)
1584	return out, req.Send()
1585}
1586
1587// ListTagsWithContext is the same as ListTags with the addition of
1588// the ability to pass a context and additional request options.
1589//
1590// See ListTags for details on how to use this API operation.
1591//
1592// The context must be non-nil and will be used for request cancellation. If
1593// the context is nil a panic will occur. In the future the SDK may create
1594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1595// for more information on using Contexts.
1596func (c *MQ) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
1597	req, out := c.ListTagsRequest(input)
1598	req.SetContext(ctx)
1599	req.ApplyOptions(opts...)
1600	return out, req.Send()
1601}
1602
1603const opListUsers = "ListUsers"
1604
1605// ListUsersRequest generates a "aws/request.Request" representing the
1606// client's request for the ListUsers operation. The "output" return
1607// value will be populated with the request's response once the request completes
1608// successfully.
1609//
1610// Use "Send" method on the returned Request to send the API call to the service.
1611// the "output" return value is not valid until after Send returns without error.
1612//
1613// See ListUsers for more information on using the ListUsers
1614// API call, and error handling.
1615//
1616// This method is useful when you want to inject custom logic or configuration
1617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1618//
1619//
1620//    // Example sending a request using the ListUsersRequest method.
1621//    req, resp := client.ListUsersRequest(params)
1622//
1623//    err := req.Send()
1624//    if err == nil { // resp is now filled
1625//        fmt.Println(resp)
1626//    }
1627//
1628// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListUsers
1629func (c *MQ) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersResponse) {
1630	op := &request.Operation{
1631		Name:       opListUsers,
1632		HTTPMethod: "GET",
1633		HTTPPath:   "/v1/brokers/{broker-id}/users",
1634	}
1635
1636	if input == nil {
1637		input = &ListUsersInput{}
1638	}
1639
1640	output = &ListUsersResponse{}
1641	req = c.newRequest(op, input, output)
1642	return
1643}
1644
1645// ListUsers API operation for AmazonMQ.
1646//
1647// Returns a list of all ActiveMQ users.
1648//
1649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1650// with awserr.Error's Code and Message methods to get detailed information about
1651// the error.
1652//
1653// See the AWS API reference guide for AmazonMQ's
1654// API operation ListUsers for usage and error information.
1655//
1656// Returned Error Types:
1657//   * NotFoundException
1658//   Returns information about an error.
1659//
1660//   * BadRequestException
1661//   Returns information about an error.
1662//
1663//   * InternalServerErrorException
1664//   Returns information about an error.
1665//
1666//   * ForbiddenException
1667//   Returns information about an error.
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListUsers
1670func (c *MQ) ListUsers(input *ListUsersInput) (*ListUsersResponse, error) {
1671	req, out := c.ListUsersRequest(input)
1672	return out, req.Send()
1673}
1674
1675// ListUsersWithContext is the same as ListUsers with the addition of
1676// the ability to pass a context and additional request options.
1677//
1678// See ListUsers for details on how to use this API operation.
1679//
1680// The context must be non-nil and will be used for request cancellation. If
1681// the context is nil a panic will occur. In the future the SDK may create
1682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1683// for more information on using Contexts.
1684func (c *MQ) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersResponse, error) {
1685	req, out := c.ListUsersRequest(input)
1686	req.SetContext(ctx)
1687	req.ApplyOptions(opts...)
1688	return out, req.Send()
1689}
1690
1691const opRebootBroker = "RebootBroker"
1692
1693// RebootBrokerRequest generates a "aws/request.Request" representing the
1694// client's request for the RebootBroker operation. The "output" return
1695// value will be populated with the request's response once the request completes
1696// successfully.
1697//
1698// Use "Send" method on the returned Request to send the API call to the service.
1699// the "output" return value is not valid until after Send returns without error.
1700//
1701// See RebootBroker for more information on using the RebootBroker
1702// API call, and error handling.
1703//
1704// This method is useful when you want to inject custom logic or configuration
1705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1706//
1707//
1708//    // Example sending a request using the RebootBrokerRequest method.
1709//    req, resp := client.RebootBrokerRequest(params)
1710//
1711//    err := req.Send()
1712//    if err == nil { // resp is now filled
1713//        fmt.Println(resp)
1714//    }
1715//
1716// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/RebootBroker
1717func (c *MQ) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) {
1718	op := &request.Operation{
1719		Name:       opRebootBroker,
1720		HTTPMethod: "POST",
1721		HTTPPath:   "/v1/brokers/{broker-id}/reboot",
1722	}
1723
1724	if input == nil {
1725		input = &RebootBrokerInput{}
1726	}
1727
1728	output = &RebootBrokerOutput{}
1729	req = c.newRequest(op, input, output)
1730	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1731	return
1732}
1733
1734// RebootBroker API operation for AmazonMQ.
1735//
1736// Reboots a broker. Note: This API is asynchronous.
1737//
1738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1739// with awserr.Error's Code and Message methods to get detailed information about
1740// the error.
1741//
1742// See the AWS API reference guide for AmazonMQ's
1743// API operation RebootBroker for usage and error information.
1744//
1745// Returned Error Types:
1746//   * NotFoundException
1747//   Returns information about an error.
1748//
1749//   * BadRequestException
1750//   Returns information about an error.
1751//
1752//   * InternalServerErrorException
1753//   Returns information about an error.
1754//
1755//   * ForbiddenException
1756//   Returns information about an error.
1757//
1758// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/RebootBroker
1759func (c *MQ) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) {
1760	req, out := c.RebootBrokerRequest(input)
1761	return out, req.Send()
1762}
1763
1764// RebootBrokerWithContext is the same as RebootBroker with the addition of
1765// the ability to pass a context and additional request options.
1766//
1767// See RebootBroker for details on how to use this API operation.
1768//
1769// The context must be non-nil and will be used for request cancellation. If
1770// the context is nil a panic will occur. In the future the SDK may create
1771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1772// for more information on using Contexts.
1773func (c *MQ) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) {
1774	req, out := c.RebootBrokerRequest(input)
1775	req.SetContext(ctx)
1776	req.ApplyOptions(opts...)
1777	return out, req.Send()
1778}
1779
1780const opUpdateBroker = "UpdateBroker"
1781
1782// UpdateBrokerRequest generates a "aws/request.Request" representing the
1783// client's request for the UpdateBroker operation. The "output" return
1784// value will be populated with the request's response once the request completes
1785// successfully.
1786//
1787// Use "Send" method on the returned Request to send the API call to the service.
1788// the "output" return value is not valid until after Send returns without error.
1789//
1790// See UpdateBroker for more information on using the UpdateBroker
1791// API call, and error handling.
1792//
1793// This method is useful when you want to inject custom logic or configuration
1794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1795//
1796//
1797//    // Example sending a request using the UpdateBrokerRequest method.
1798//    req, resp := client.UpdateBrokerRequest(params)
1799//
1800//    err := req.Send()
1801//    if err == nil { // resp is now filled
1802//        fmt.Println(resp)
1803//    }
1804//
1805// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateBroker
1806func (c *MQ) UpdateBrokerRequest(input *UpdateBrokerRequest) (req *request.Request, output *UpdateBrokerResponse) {
1807	op := &request.Operation{
1808		Name:       opUpdateBroker,
1809		HTTPMethod: "PUT",
1810		HTTPPath:   "/v1/brokers/{broker-id}",
1811	}
1812
1813	if input == nil {
1814		input = &UpdateBrokerRequest{}
1815	}
1816
1817	output = &UpdateBrokerResponse{}
1818	req = c.newRequest(op, input, output)
1819	return
1820}
1821
1822// UpdateBroker API operation for AmazonMQ.
1823//
1824// Adds a pending configuration change to a broker.
1825//
1826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1827// with awserr.Error's Code and Message methods to get detailed information about
1828// the error.
1829//
1830// See the AWS API reference guide for AmazonMQ's
1831// API operation UpdateBroker for usage and error information.
1832//
1833// Returned Error Types:
1834//   * NotFoundException
1835//   Returns information about an error.
1836//
1837//   * BadRequestException
1838//   Returns information about an error.
1839//
1840//   * InternalServerErrorException
1841//   Returns information about an error.
1842//
1843//   * ConflictException
1844//   Returns information about an error.
1845//
1846//   * ForbiddenException
1847//   Returns information about an error.
1848//
1849// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateBroker
1850func (c *MQ) UpdateBroker(input *UpdateBrokerRequest) (*UpdateBrokerResponse, error) {
1851	req, out := c.UpdateBrokerRequest(input)
1852	return out, req.Send()
1853}
1854
1855// UpdateBrokerWithContext is the same as UpdateBroker with the addition of
1856// the ability to pass a context and additional request options.
1857//
1858// See UpdateBroker for details on how to use this API operation.
1859//
1860// The context must be non-nil and will be used for request cancellation. If
1861// the context is nil a panic will occur. In the future the SDK may create
1862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1863// for more information on using Contexts.
1864func (c *MQ) UpdateBrokerWithContext(ctx aws.Context, input *UpdateBrokerRequest, opts ...request.Option) (*UpdateBrokerResponse, error) {
1865	req, out := c.UpdateBrokerRequest(input)
1866	req.SetContext(ctx)
1867	req.ApplyOptions(opts...)
1868	return out, req.Send()
1869}
1870
1871const opUpdateConfiguration = "UpdateConfiguration"
1872
1873// UpdateConfigurationRequest generates a "aws/request.Request" representing the
1874// client's request for the UpdateConfiguration operation. The "output" return
1875// value will be populated with the request's response once the request completes
1876// successfully.
1877//
1878// Use "Send" method on the returned Request to send the API call to the service.
1879// the "output" return value is not valid until after Send returns without error.
1880//
1881// See UpdateConfiguration for more information on using the UpdateConfiguration
1882// API call, and error handling.
1883//
1884// This method is useful when you want to inject custom logic or configuration
1885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1886//
1887//
1888//    // Example sending a request using the UpdateConfigurationRequest method.
1889//    req, resp := client.UpdateConfigurationRequest(params)
1890//
1891//    err := req.Send()
1892//    if err == nil { // resp is now filled
1893//        fmt.Println(resp)
1894//    }
1895//
1896// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateConfiguration
1897func (c *MQ) UpdateConfigurationRequest(input *UpdateConfigurationRequest) (req *request.Request, output *UpdateConfigurationResponse) {
1898	op := &request.Operation{
1899		Name:       opUpdateConfiguration,
1900		HTTPMethod: "PUT",
1901		HTTPPath:   "/v1/configurations/{configuration-id}",
1902	}
1903
1904	if input == nil {
1905		input = &UpdateConfigurationRequest{}
1906	}
1907
1908	output = &UpdateConfigurationResponse{}
1909	req = c.newRequest(op, input, output)
1910	return
1911}
1912
1913// UpdateConfiguration API operation for AmazonMQ.
1914//
1915// Updates the specified configuration.
1916//
1917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1918// with awserr.Error's Code and Message methods to get detailed information about
1919// the error.
1920//
1921// See the AWS API reference guide for AmazonMQ's
1922// API operation UpdateConfiguration for usage and error information.
1923//
1924// Returned Error Types:
1925//   * NotFoundException
1926//   Returns information about an error.
1927//
1928//   * BadRequestException
1929//   Returns information about an error.
1930//
1931//   * InternalServerErrorException
1932//   Returns information about an error.
1933//
1934//   * ConflictException
1935//   Returns information about an error.
1936//
1937//   * ForbiddenException
1938//   Returns information about an error.
1939//
1940// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateConfiguration
1941func (c *MQ) UpdateConfiguration(input *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) {
1942	req, out := c.UpdateConfigurationRequest(input)
1943	return out, req.Send()
1944}
1945
1946// UpdateConfigurationWithContext is the same as UpdateConfiguration with the addition of
1947// the ability to pass a context and additional request options.
1948//
1949// See UpdateConfiguration for details on how to use this API operation.
1950//
1951// The context must be non-nil and will be used for request cancellation. If
1952// the context is nil a panic will occur. In the future the SDK may create
1953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1954// for more information on using Contexts.
1955func (c *MQ) UpdateConfigurationWithContext(ctx aws.Context, input *UpdateConfigurationRequest, opts ...request.Option) (*UpdateConfigurationResponse, error) {
1956	req, out := c.UpdateConfigurationRequest(input)
1957	req.SetContext(ctx)
1958	req.ApplyOptions(opts...)
1959	return out, req.Send()
1960}
1961
1962const opUpdateUser = "UpdateUser"
1963
1964// UpdateUserRequest generates a "aws/request.Request" representing the
1965// client's request for the UpdateUser operation. The "output" return
1966// value will be populated with the request's response once the request completes
1967// successfully.
1968//
1969// Use "Send" method on the returned Request to send the API call to the service.
1970// the "output" return value is not valid until after Send returns without error.
1971//
1972// See UpdateUser for more information on using the UpdateUser
1973// API call, and error handling.
1974//
1975// This method is useful when you want to inject custom logic or configuration
1976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1977//
1978//
1979//    // Example sending a request using the UpdateUserRequest method.
1980//    req, resp := client.UpdateUserRequest(params)
1981//
1982//    err := req.Send()
1983//    if err == nil { // resp is now filled
1984//        fmt.Println(resp)
1985//    }
1986//
1987// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateUser
1988func (c *MQ) UpdateUserRequest(input *UpdateUserRequest) (req *request.Request, output *UpdateUserOutput) {
1989	op := &request.Operation{
1990		Name:       opUpdateUser,
1991		HTTPMethod: "PUT",
1992		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
1993	}
1994
1995	if input == nil {
1996		input = &UpdateUserRequest{}
1997	}
1998
1999	output = &UpdateUserOutput{}
2000	req = c.newRequest(op, input, output)
2001	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2002	return
2003}
2004
2005// UpdateUser API operation for AmazonMQ.
2006//
2007// Updates the information for an ActiveMQ user.
2008//
2009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2010// with awserr.Error's Code and Message methods to get detailed information about
2011// the error.
2012//
2013// See the AWS API reference guide for AmazonMQ's
2014// API operation UpdateUser for usage and error information.
2015//
2016// Returned Error Types:
2017//   * NotFoundException
2018//   Returns information about an error.
2019//
2020//   * BadRequestException
2021//   Returns information about an error.
2022//
2023//   * InternalServerErrorException
2024//   Returns information about an error.
2025//
2026//   * ConflictException
2027//   Returns information about an error.
2028//
2029//   * ForbiddenException
2030//   Returns information about an error.
2031//
2032// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateUser
2033func (c *MQ) UpdateUser(input *UpdateUserRequest) (*UpdateUserOutput, error) {
2034	req, out := c.UpdateUserRequest(input)
2035	return out, req.Send()
2036}
2037
2038// UpdateUserWithContext is the same as UpdateUser with the addition of
2039// the ability to pass a context and additional request options.
2040//
2041// See UpdateUser for details on how to use this API operation.
2042//
2043// The context must be non-nil and will be used for request cancellation. If
2044// the context is nil a panic will occur. In the future the SDK may create
2045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2046// for more information on using Contexts.
2047func (c *MQ) UpdateUserWithContext(ctx aws.Context, input *UpdateUserRequest, opts ...request.Option) (*UpdateUserOutput, error) {
2048	req, out := c.UpdateUserRequest(input)
2049	req.SetContext(ctx)
2050	req.ApplyOptions(opts...)
2051	return out, req.Send()
2052}
2053
2054// Name of the availability zone.
2055type AvailabilityZone struct {
2056	_ struct{} `type:"structure"`
2057
2058	// Id for the availability zone.
2059	Name *string `locationName:"name" type:"string"`
2060}
2061
2062// String returns the string representation
2063func (s AvailabilityZone) String() string {
2064	return awsutil.Prettify(s)
2065}
2066
2067// GoString returns the string representation
2068func (s AvailabilityZone) GoString() string {
2069	return s.String()
2070}
2071
2072// SetName sets the Name field's value.
2073func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
2074	s.Name = &v
2075	return s
2076}
2077
2078// Returns information about an error.
2079type BadRequestException struct {
2080	_            struct{}                  `type:"structure"`
2081	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2082
2083	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
2084
2085	Message_ *string `locationName:"message" type:"string"`
2086}
2087
2088// String returns the string representation
2089func (s BadRequestException) String() string {
2090	return awsutil.Prettify(s)
2091}
2092
2093// GoString returns the string representation
2094func (s BadRequestException) GoString() string {
2095	return s.String()
2096}
2097
2098func newErrorBadRequestException(v protocol.ResponseMetadata) error {
2099	return &BadRequestException{
2100		RespMetadata: v,
2101	}
2102}
2103
2104// Code returns the exception type name.
2105func (s *BadRequestException) Code() string {
2106	return "BadRequestException"
2107}
2108
2109// Message returns the exception's message.
2110func (s *BadRequestException) Message() string {
2111	if s.Message_ != nil {
2112		return *s.Message_
2113	}
2114	return ""
2115}
2116
2117// OrigErr always returns nil, satisfies awserr.Error interface.
2118func (s *BadRequestException) OrigErr() error {
2119	return nil
2120}
2121
2122func (s *BadRequestException) Error() string {
2123	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2124}
2125
2126// Status code returns the HTTP status code for the request's response error.
2127func (s *BadRequestException) StatusCode() int {
2128	return s.RespMetadata.StatusCode
2129}
2130
2131// RequestID returns the service's response RequestID for request.
2132func (s *BadRequestException) RequestID() string {
2133	return s.RespMetadata.RequestID
2134}
2135
2136// Types of broker engines.
2137type BrokerEngineType struct {
2138	_ struct{} `type:"structure"`
2139
2140	// The broker's engine type.
2141	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2142
2143	// The list of engine versions.
2144	EngineVersions []*EngineVersion `locationName:"engineVersions" type:"list"`
2145}
2146
2147// String returns the string representation
2148func (s BrokerEngineType) String() string {
2149	return awsutil.Prettify(s)
2150}
2151
2152// GoString returns the string representation
2153func (s BrokerEngineType) GoString() string {
2154	return s.String()
2155}
2156
2157// SetEngineType sets the EngineType field's value.
2158func (s *BrokerEngineType) SetEngineType(v string) *BrokerEngineType {
2159	s.EngineType = &v
2160	return s
2161}
2162
2163// SetEngineVersions sets the EngineVersions field's value.
2164func (s *BrokerEngineType) SetEngineVersions(v []*EngineVersion) *BrokerEngineType {
2165	s.EngineVersions = v
2166	return s
2167}
2168
2169// Returns information about all brokers.
2170type BrokerInstance struct {
2171	_ struct{} `type:"structure"`
2172
2173	// The brokers web console URL.
2174	ConsoleURL *string `locationName:"consoleURL" type:"string"`
2175
2176	// The broker's wire-level protocol endpoints.
2177	Endpoints []*string `locationName:"endpoints" type:"list"`
2178
2179	// The IP address of the Elastic Network Interface (ENI) attached to the broker.
2180	// Does not apply to RabbitMQ brokers.
2181	IpAddress *string `locationName:"ipAddress" type:"string"`
2182}
2183
2184// String returns the string representation
2185func (s BrokerInstance) String() string {
2186	return awsutil.Prettify(s)
2187}
2188
2189// GoString returns the string representation
2190func (s BrokerInstance) GoString() string {
2191	return s.String()
2192}
2193
2194// SetConsoleURL sets the ConsoleURL field's value.
2195func (s *BrokerInstance) SetConsoleURL(v string) *BrokerInstance {
2196	s.ConsoleURL = &v
2197	return s
2198}
2199
2200// SetEndpoints sets the Endpoints field's value.
2201func (s *BrokerInstance) SetEndpoints(v []*string) *BrokerInstance {
2202	s.Endpoints = v
2203	return s
2204}
2205
2206// SetIpAddress sets the IpAddress field's value.
2207func (s *BrokerInstance) SetIpAddress(v string) *BrokerInstance {
2208	s.IpAddress = &v
2209	return s
2210}
2211
2212// Option for host instance type.
2213type BrokerInstanceOption struct {
2214	_ struct{} `type:"structure"`
2215
2216	// The list of available az.
2217	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
2218
2219	// The broker's engine type.
2220	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2221
2222	// The broker's instance type.
2223	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
2224
2225	// The broker's storage type.
2226	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
2227
2228	// The list of supported deployment modes.
2229	SupportedDeploymentModes []*string `locationName:"supportedDeploymentModes" type:"list"`
2230
2231	// The list of supported engine versions.
2232	SupportedEngineVersions []*string `locationName:"supportedEngineVersions" type:"list"`
2233}
2234
2235// String returns the string representation
2236func (s BrokerInstanceOption) String() string {
2237	return awsutil.Prettify(s)
2238}
2239
2240// GoString returns the string representation
2241func (s BrokerInstanceOption) GoString() string {
2242	return s.String()
2243}
2244
2245// SetAvailabilityZones sets the AvailabilityZones field's value.
2246func (s *BrokerInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *BrokerInstanceOption {
2247	s.AvailabilityZones = v
2248	return s
2249}
2250
2251// SetEngineType sets the EngineType field's value.
2252func (s *BrokerInstanceOption) SetEngineType(v string) *BrokerInstanceOption {
2253	s.EngineType = &v
2254	return s
2255}
2256
2257// SetHostInstanceType sets the HostInstanceType field's value.
2258func (s *BrokerInstanceOption) SetHostInstanceType(v string) *BrokerInstanceOption {
2259	s.HostInstanceType = &v
2260	return s
2261}
2262
2263// SetStorageType sets the StorageType field's value.
2264func (s *BrokerInstanceOption) SetStorageType(v string) *BrokerInstanceOption {
2265	s.StorageType = &v
2266	return s
2267}
2268
2269// SetSupportedDeploymentModes sets the SupportedDeploymentModes field's value.
2270func (s *BrokerInstanceOption) SetSupportedDeploymentModes(v []*string) *BrokerInstanceOption {
2271	s.SupportedDeploymentModes = v
2272	return s
2273}
2274
2275// SetSupportedEngineVersions sets the SupportedEngineVersions field's value.
2276func (s *BrokerInstanceOption) SetSupportedEngineVersions(v []*string) *BrokerInstanceOption {
2277	s.SupportedEngineVersions = v
2278	return s
2279}
2280
2281// Returns information about all brokers.
2282type BrokerSummary struct {
2283	_ struct{} `type:"structure"`
2284
2285	// The broker's Amazon Resource Name (ARN).
2286	BrokerArn *string `locationName:"brokerArn" type:"string"`
2287
2288	// The unique ID that Amazon MQ generates for the broker.
2289	BrokerId *string `locationName:"brokerId" type:"string"`
2290
2291	// The broker's name. This value is unique in your AWS account, 1-50 characters
2292	// long, and containing only letters, numbers, dashes, and underscores, and
2293	// must not contain white spaces, brackets, wildcard characters, or special
2294	// characters.
2295	BrokerName *string `locationName:"brokerName" type:"string"`
2296
2297	// The broker's status.
2298	BrokerState *string `locationName:"brokerState" type:"string" enum:"BrokerState"`
2299
2300	// The time when the broker was created.
2301	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
2302
2303	// The broker's deployment mode.
2304	//
2305	// DeploymentMode is a required field
2306	DeploymentMode *string `locationName:"deploymentMode" type:"string" required:"true" enum:"DeploymentMode"`
2307
2308	// The type of broker engine.
2309	//
2310	// EngineType is a required field
2311	EngineType *string `locationName:"engineType" type:"string" required:"true" enum:"EngineType"`
2312
2313	// The broker's instance type.
2314	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
2315}
2316
2317// String returns the string representation
2318func (s BrokerSummary) String() string {
2319	return awsutil.Prettify(s)
2320}
2321
2322// GoString returns the string representation
2323func (s BrokerSummary) GoString() string {
2324	return s.String()
2325}
2326
2327// SetBrokerArn sets the BrokerArn field's value.
2328func (s *BrokerSummary) SetBrokerArn(v string) *BrokerSummary {
2329	s.BrokerArn = &v
2330	return s
2331}
2332
2333// SetBrokerId sets the BrokerId field's value.
2334func (s *BrokerSummary) SetBrokerId(v string) *BrokerSummary {
2335	s.BrokerId = &v
2336	return s
2337}
2338
2339// SetBrokerName sets the BrokerName field's value.
2340func (s *BrokerSummary) SetBrokerName(v string) *BrokerSummary {
2341	s.BrokerName = &v
2342	return s
2343}
2344
2345// SetBrokerState sets the BrokerState field's value.
2346func (s *BrokerSummary) SetBrokerState(v string) *BrokerSummary {
2347	s.BrokerState = &v
2348	return s
2349}
2350
2351// SetCreated sets the Created field's value.
2352func (s *BrokerSummary) SetCreated(v time.Time) *BrokerSummary {
2353	s.Created = &v
2354	return s
2355}
2356
2357// SetDeploymentMode sets the DeploymentMode field's value.
2358func (s *BrokerSummary) SetDeploymentMode(v string) *BrokerSummary {
2359	s.DeploymentMode = &v
2360	return s
2361}
2362
2363// SetEngineType sets the EngineType field's value.
2364func (s *BrokerSummary) SetEngineType(v string) *BrokerSummary {
2365	s.EngineType = &v
2366	return s
2367}
2368
2369// SetHostInstanceType sets the HostInstanceType field's value.
2370func (s *BrokerSummary) SetHostInstanceType(v string) *BrokerSummary {
2371	s.HostInstanceType = &v
2372	return s
2373}
2374
2375// Returns information about all configurations.
2376type Configuration struct {
2377	_ struct{} `type:"structure"`
2378
2379	// Required. The ARN of the configuration.
2380	//
2381	// Arn is a required field
2382	Arn *string `locationName:"arn" type:"string" required:"true"`
2383
2384	// Optional. The authentication strategy associated with the configuration.
2385	// The default is SIMPLE.
2386	//
2387	// AuthenticationStrategy is a required field
2388	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" required:"true" enum:"AuthenticationStrategy"`
2389
2390	// Required. The date and time of the configuration revision.
2391	//
2392	// Created is a required field
2393	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601" required:"true"`
2394
2395	// Required. The description of the configuration.
2396	//
2397	// Description is a required field
2398	Description *string `locationName:"description" type:"string" required:"true"`
2399
2400	// Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ
2401	// and RABBITMQ.
2402	//
2403	// EngineType is a required field
2404	EngineType *string `locationName:"engineType" type:"string" required:"true" enum:"EngineType"`
2405
2406	// Required. The broker engine's version. For a list of supported engine versions,
2407	// see, Supported engines (https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html).
2408	//
2409	// EngineVersion is a required field
2410	EngineVersion *string `locationName:"engineVersion" type:"string" required:"true"`
2411
2412	// Required. The unique ID that Amazon MQ generates for the configuration.
2413	//
2414	// Id is a required field
2415	Id *string `locationName:"id" type:"string" required:"true"`
2416
2417	// Required. The latest revision of the configuration.
2418	//
2419	// LatestRevision is a required field
2420	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure" required:"true"`
2421
2422	// Required. The name of the configuration. This value can contain only alphanumeric
2423	// characters, dashes, periods, underscores, and tildes (- . _ ~). This value
2424	// must be 1-150 characters long.
2425	//
2426	// Name is a required field
2427	Name *string `locationName:"name" type:"string" required:"true"`
2428
2429	// The list of all tags associated with this configuration.
2430	Tags map[string]*string `locationName:"tags" type:"map"`
2431}
2432
2433// String returns the string representation
2434func (s Configuration) String() string {
2435	return awsutil.Prettify(s)
2436}
2437
2438// GoString returns the string representation
2439func (s Configuration) GoString() string {
2440	return s.String()
2441}
2442
2443// SetArn sets the Arn field's value.
2444func (s *Configuration) SetArn(v string) *Configuration {
2445	s.Arn = &v
2446	return s
2447}
2448
2449// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
2450func (s *Configuration) SetAuthenticationStrategy(v string) *Configuration {
2451	s.AuthenticationStrategy = &v
2452	return s
2453}
2454
2455// SetCreated sets the Created field's value.
2456func (s *Configuration) SetCreated(v time.Time) *Configuration {
2457	s.Created = &v
2458	return s
2459}
2460
2461// SetDescription sets the Description field's value.
2462func (s *Configuration) SetDescription(v string) *Configuration {
2463	s.Description = &v
2464	return s
2465}
2466
2467// SetEngineType sets the EngineType field's value.
2468func (s *Configuration) SetEngineType(v string) *Configuration {
2469	s.EngineType = &v
2470	return s
2471}
2472
2473// SetEngineVersion sets the EngineVersion field's value.
2474func (s *Configuration) SetEngineVersion(v string) *Configuration {
2475	s.EngineVersion = &v
2476	return s
2477}
2478
2479// SetId sets the Id field's value.
2480func (s *Configuration) SetId(v string) *Configuration {
2481	s.Id = &v
2482	return s
2483}
2484
2485// SetLatestRevision sets the LatestRevision field's value.
2486func (s *Configuration) SetLatestRevision(v *ConfigurationRevision) *Configuration {
2487	s.LatestRevision = v
2488	return s
2489}
2490
2491// SetName sets the Name field's value.
2492func (s *Configuration) SetName(v string) *Configuration {
2493	s.Name = &v
2494	return s
2495}
2496
2497// SetTags sets the Tags field's value.
2498func (s *Configuration) SetTags(v map[string]*string) *Configuration {
2499	s.Tags = v
2500	return s
2501}
2502
2503// A list of information about the configuration.
2504//
2505// Does not apply to RabbitMQ brokers.
2506type ConfigurationId struct {
2507	_ struct{} `type:"structure"`
2508
2509	// Required. The unique ID that Amazon MQ generates for the configuration.
2510	//
2511	// Id is a required field
2512	Id *string `locationName:"id" type:"string" required:"true"`
2513
2514	// The revision number of the configuration.
2515	Revision *int64 `locationName:"revision" type:"integer"`
2516}
2517
2518// String returns the string representation
2519func (s ConfigurationId) String() string {
2520	return awsutil.Prettify(s)
2521}
2522
2523// GoString returns the string representation
2524func (s ConfigurationId) GoString() string {
2525	return s.String()
2526}
2527
2528// Validate inspects the fields of the type to determine if they are valid.
2529func (s *ConfigurationId) Validate() error {
2530	invalidParams := request.ErrInvalidParams{Context: "ConfigurationId"}
2531	if s.Id == nil {
2532		invalidParams.Add(request.NewErrParamRequired("Id"))
2533	}
2534
2535	if invalidParams.Len() > 0 {
2536		return invalidParams
2537	}
2538	return nil
2539}
2540
2541// SetId sets the Id field's value.
2542func (s *ConfigurationId) SetId(v string) *ConfigurationId {
2543	s.Id = &v
2544	return s
2545}
2546
2547// SetRevision sets the Revision field's value.
2548func (s *ConfigurationId) SetRevision(v int64) *ConfigurationId {
2549	s.Revision = &v
2550	return s
2551}
2552
2553// Returns information about the specified configuration revision.
2554type ConfigurationRevision struct {
2555	_ struct{} `type:"structure"`
2556
2557	// Required. The date and time of the configuration revision.
2558	//
2559	// Created is a required field
2560	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601" required:"true"`
2561
2562	// The description of the configuration revision.
2563	Description *string `locationName:"description" type:"string"`
2564
2565	// Required. The revision number of the configuration.
2566	//
2567	// Revision is a required field
2568	Revision *int64 `locationName:"revision" type:"integer" required:"true"`
2569}
2570
2571// String returns the string representation
2572func (s ConfigurationRevision) String() string {
2573	return awsutil.Prettify(s)
2574}
2575
2576// GoString returns the string representation
2577func (s ConfigurationRevision) GoString() string {
2578	return s.String()
2579}
2580
2581// SetCreated sets the Created field's value.
2582func (s *ConfigurationRevision) SetCreated(v time.Time) *ConfigurationRevision {
2583	s.Created = &v
2584	return s
2585}
2586
2587// SetDescription sets the Description field's value.
2588func (s *ConfigurationRevision) SetDescription(v string) *ConfigurationRevision {
2589	s.Description = &v
2590	return s
2591}
2592
2593// SetRevision sets the Revision field's value.
2594func (s *ConfigurationRevision) SetRevision(v int64) *ConfigurationRevision {
2595	s.Revision = &v
2596	return s
2597}
2598
2599// Broker configuration information
2600type Configurations struct {
2601	_ struct{} `type:"structure"`
2602
2603	// The broker's current configuration.
2604	Current *ConfigurationId `locationName:"current" type:"structure"`
2605
2606	// The history of configurations applied to the broker.
2607	History []*ConfigurationId `locationName:"history" type:"list"`
2608
2609	// The broker's pending configuration.
2610	Pending *ConfigurationId `locationName:"pending" type:"structure"`
2611}
2612
2613// String returns the string representation
2614func (s Configurations) String() string {
2615	return awsutil.Prettify(s)
2616}
2617
2618// GoString returns the string representation
2619func (s Configurations) GoString() string {
2620	return s.String()
2621}
2622
2623// SetCurrent sets the Current field's value.
2624func (s *Configurations) SetCurrent(v *ConfigurationId) *Configurations {
2625	s.Current = v
2626	return s
2627}
2628
2629// SetHistory sets the History field's value.
2630func (s *Configurations) SetHistory(v []*ConfigurationId) *Configurations {
2631	s.History = v
2632	return s
2633}
2634
2635// SetPending sets the Pending field's value.
2636func (s *Configurations) SetPending(v *ConfigurationId) *Configurations {
2637	s.Pending = v
2638	return s
2639}
2640
2641// Returns information about an error.
2642type ConflictException struct {
2643	_            struct{}                  `type:"structure"`
2644	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2645
2646	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
2647
2648	Message_ *string `locationName:"message" type:"string"`
2649}
2650
2651// String returns the string representation
2652func (s ConflictException) String() string {
2653	return awsutil.Prettify(s)
2654}
2655
2656// GoString returns the string representation
2657func (s ConflictException) GoString() string {
2658	return s.String()
2659}
2660
2661func newErrorConflictException(v protocol.ResponseMetadata) error {
2662	return &ConflictException{
2663		RespMetadata: v,
2664	}
2665}
2666
2667// Code returns the exception type name.
2668func (s *ConflictException) Code() string {
2669	return "ConflictException"
2670}
2671
2672// Message returns the exception's message.
2673func (s *ConflictException) Message() string {
2674	if s.Message_ != nil {
2675		return *s.Message_
2676	}
2677	return ""
2678}
2679
2680// OrigErr always returns nil, satisfies awserr.Error interface.
2681func (s *ConflictException) OrigErr() error {
2682	return nil
2683}
2684
2685func (s *ConflictException) Error() string {
2686	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2687}
2688
2689// Status code returns the HTTP status code for the request's response error.
2690func (s *ConflictException) StatusCode() int {
2691	return s.RespMetadata.StatusCode
2692}
2693
2694// RequestID returns the service's response RequestID for request.
2695func (s *ConflictException) RequestID() string {
2696	return s.RespMetadata.RequestID
2697}
2698
2699type CreateBrokerRequest struct {
2700	_ struct{} `type:"structure"`
2701
2702	// Optional. The authentication strategy used to secure the broker. The default
2703	// is SIMPLE.
2704	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
2705
2706	// AutoMinorVersionUpgrade is a required field
2707	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean" required:"true"`
2708
2709	// BrokerName is a required field
2710	BrokerName *string `locationName:"brokerName" type:"string" required:"true"`
2711
2712	// A list of information about the configuration.
2713	//
2714	// Does not apply to RabbitMQ brokers.
2715	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
2716
2717	CreatorRequestId *string `locationName:"creatorRequestId" type:"string" idempotencyToken:"true"`
2718
2719	// The broker's deployment mode.
2720	//
2721	// DeploymentMode is a required field
2722	DeploymentMode *string `locationName:"deploymentMode" type:"string" required:"true" enum:"DeploymentMode"`
2723
2724	// Does not apply to RabbitMQ brokers.
2725	//
2726	// Encryption options for the broker.
2727	EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"`
2728
2729	// The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.
2730	//
2731	// EngineType is a required field
2732	EngineType *string `locationName:"engineType" type:"string" required:"true" enum:"EngineType"`
2733
2734	// EngineVersion is a required field
2735	EngineVersion *string `locationName:"engineVersion" type:"string" required:"true"`
2736
2737	// HostInstanceType is a required field
2738	HostInstanceType *string `locationName:"hostInstanceType" type:"string" required:"true"`
2739
2740	// Optional. The metadata of the LDAP server used to authenticate and authorize
2741	// connections to the broker.
2742	//
2743	// Does not apply to RabbitMQ brokers.
2744	LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"`
2745
2746	// The list of information about logs to be enabled for the specified broker.
2747	Logs *Logs `locationName:"logs" type:"structure"`
2748
2749	// The scheduled time period relative to UTC during which Amazon MQ begins to
2750	// apply pending updates or patches to the broker.
2751	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
2752
2753	// PubliclyAccessible is a required field
2754	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean" required:"true"`
2755
2756	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
2757
2758	// The broker's storage type.
2759	//
2760	// EFS is not supported for RabbitMQ engine type.
2761	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
2762
2763	SubnetIds []*string `locationName:"subnetIds" type:"list"`
2764
2765	Tags map[string]*string `locationName:"tags" type:"map"`
2766
2767	// Users is a required field
2768	Users []*User `locationName:"users" type:"list" required:"true"`
2769}
2770
2771// String returns the string representation
2772func (s CreateBrokerRequest) String() string {
2773	return awsutil.Prettify(s)
2774}
2775
2776// GoString returns the string representation
2777func (s CreateBrokerRequest) GoString() string {
2778	return s.String()
2779}
2780
2781// Validate inspects the fields of the type to determine if they are valid.
2782func (s *CreateBrokerRequest) Validate() error {
2783	invalidParams := request.ErrInvalidParams{Context: "CreateBrokerRequest"}
2784	if s.AutoMinorVersionUpgrade == nil {
2785		invalidParams.Add(request.NewErrParamRequired("AutoMinorVersionUpgrade"))
2786	}
2787	if s.BrokerName == nil {
2788		invalidParams.Add(request.NewErrParamRequired("BrokerName"))
2789	}
2790	if s.DeploymentMode == nil {
2791		invalidParams.Add(request.NewErrParamRequired("DeploymentMode"))
2792	}
2793	if s.EngineType == nil {
2794		invalidParams.Add(request.NewErrParamRequired("EngineType"))
2795	}
2796	if s.EngineVersion == nil {
2797		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
2798	}
2799	if s.HostInstanceType == nil {
2800		invalidParams.Add(request.NewErrParamRequired("HostInstanceType"))
2801	}
2802	if s.PubliclyAccessible == nil {
2803		invalidParams.Add(request.NewErrParamRequired("PubliclyAccessible"))
2804	}
2805	if s.Users == nil {
2806		invalidParams.Add(request.NewErrParamRequired("Users"))
2807	}
2808	if s.Configuration != nil {
2809		if err := s.Configuration.Validate(); err != nil {
2810			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
2811		}
2812	}
2813	if s.EncryptionOptions != nil {
2814		if err := s.EncryptionOptions.Validate(); err != nil {
2815			invalidParams.AddNested("EncryptionOptions", err.(request.ErrInvalidParams))
2816		}
2817	}
2818	if s.LdapServerMetadata != nil {
2819		if err := s.LdapServerMetadata.Validate(); err != nil {
2820			invalidParams.AddNested("LdapServerMetadata", err.(request.ErrInvalidParams))
2821		}
2822	}
2823	if s.MaintenanceWindowStartTime != nil {
2824		if err := s.MaintenanceWindowStartTime.Validate(); err != nil {
2825			invalidParams.AddNested("MaintenanceWindowStartTime", err.(request.ErrInvalidParams))
2826		}
2827	}
2828	if s.Users != nil {
2829		for i, v := range s.Users {
2830			if v == nil {
2831				continue
2832			}
2833			if err := v.Validate(); err != nil {
2834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Users", i), err.(request.ErrInvalidParams))
2835			}
2836		}
2837	}
2838
2839	if invalidParams.Len() > 0 {
2840		return invalidParams
2841	}
2842	return nil
2843}
2844
2845// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
2846func (s *CreateBrokerRequest) SetAuthenticationStrategy(v string) *CreateBrokerRequest {
2847	s.AuthenticationStrategy = &v
2848	return s
2849}
2850
2851// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
2852func (s *CreateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *CreateBrokerRequest {
2853	s.AutoMinorVersionUpgrade = &v
2854	return s
2855}
2856
2857// SetBrokerName sets the BrokerName field's value.
2858func (s *CreateBrokerRequest) SetBrokerName(v string) *CreateBrokerRequest {
2859	s.BrokerName = &v
2860	return s
2861}
2862
2863// SetConfiguration sets the Configuration field's value.
2864func (s *CreateBrokerRequest) SetConfiguration(v *ConfigurationId) *CreateBrokerRequest {
2865	s.Configuration = v
2866	return s
2867}
2868
2869// SetCreatorRequestId sets the CreatorRequestId field's value.
2870func (s *CreateBrokerRequest) SetCreatorRequestId(v string) *CreateBrokerRequest {
2871	s.CreatorRequestId = &v
2872	return s
2873}
2874
2875// SetDeploymentMode sets the DeploymentMode field's value.
2876func (s *CreateBrokerRequest) SetDeploymentMode(v string) *CreateBrokerRequest {
2877	s.DeploymentMode = &v
2878	return s
2879}
2880
2881// SetEncryptionOptions sets the EncryptionOptions field's value.
2882func (s *CreateBrokerRequest) SetEncryptionOptions(v *EncryptionOptions) *CreateBrokerRequest {
2883	s.EncryptionOptions = v
2884	return s
2885}
2886
2887// SetEngineType sets the EngineType field's value.
2888func (s *CreateBrokerRequest) SetEngineType(v string) *CreateBrokerRequest {
2889	s.EngineType = &v
2890	return s
2891}
2892
2893// SetEngineVersion sets the EngineVersion field's value.
2894func (s *CreateBrokerRequest) SetEngineVersion(v string) *CreateBrokerRequest {
2895	s.EngineVersion = &v
2896	return s
2897}
2898
2899// SetHostInstanceType sets the HostInstanceType field's value.
2900func (s *CreateBrokerRequest) SetHostInstanceType(v string) *CreateBrokerRequest {
2901	s.HostInstanceType = &v
2902	return s
2903}
2904
2905// SetLdapServerMetadata sets the LdapServerMetadata field's value.
2906func (s *CreateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *CreateBrokerRequest {
2907	s.LdapServerMetadata = v
2908	return s
2909}
2910
2911// SetLogs sets the Logs field's value.
2912func (s *CreateBrokerRequest) SetLogs(v *Logs) *CreateBrokerRequest {
2913	s.Logs = v
2914	return s
2915}
2916
2917// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
2918func (s *CreateBrokerRequest) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *CreateBrokerRequest {
2919	s.MaintenanceWindowStartTime = v
2920	return s
2921}
2922
2923// SetPubliclyAccessible sets the PubliclyAccessible field's value.
2924func (s *CreateBrokerRequest) SetPubliclyAccessible(v bool) *CreateBrokerRequest {
2925	s.PubliclyAccessible = &v
2926	return s
2927}
2928
2929// SetSecurityGroups sets the SecurityGroups field's value.
2930func (s *CreateBrokerRequest) SetSecurityGroups(v []*string) *CreateBrokerRequest {
2931	s.SecurityGroups = v
2932	return s
2933}
2934
2935// SetStorageType sets the StorageType field's value.
2936func (s *CreateBrokerRequest) SetStorageType(v string) *CreateBrokerRequest {
2937	s.StorageType = &v
2938	return s
2939}
2940
2941// SetSubnetIds sets the SubnetIds field's value.
2942func (s *CreateBrokerRequest) SetSubnetIds(v []*string) *CreateBrokerRequest {
2943	s.SubnetIds = v
2944	return s
2945}
2946
2947// SetTags sets the Tags field's value.
2948func (s *CreateBrokerRequest) SetTags(v map[string]*string) *CreateBrokerRequest {
2949	s.Tags = v
2950	return s
2951}
2952
2953// SetUsers sets the Users field's value.
2954func (s *CreateBrokerRequest) SetUsers(v []*User) *CreateBrokerRequest {
2955	s.Users = v
2956	return s
2957}
2958
2959type CreateBrokerResponse struct {
2960	_ struct{} `type:"structure"`
2961
2962	BrokerArn *string `locationName:"brokerArn" type:"string"`
2963
2964	BrokerId *string `locationName:"brokerId" type:"string"`
2965}
2966
2967// String returns the string representation
2968func (s CreateBrokerResponse) String() string {
2969	return awsutil.Prettify(s)
2970}
2971
2972// GoString returns the string representation
2973func (s CreateBrokerResponse) GoString() string {
2974	return s.String()
2975}
2976
2977// SetBrokerArn sets the BrokerArn field's value.
2978func (s *CreateBrokerResponse) SetBrokerArn(v string) *CreateBrokerResponse {
2979	s.BrokerArn = &v
2980	return s
2981}
2982
2983// SetBrokerId sets the BrokerId field's value.
2984func (s *CreateBrokerResponse) SetBrokerId(v string) *CreateBrokerResponse {
2985	s.BrokerId = &v
2986	return s
2987}
2988
2989type CreateConfigurationRequest struct {
2990	_ struct{} `type:"structure"`
2991
2992	// Optional. The authentication strategy used to secure the broker. The default
2993	// is SIMPLE.
2994	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
2995
2996	// The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.
2997	//
2998	// EngineType is a required field
2999	EngineType *string `locationName:"engineType" type:"string" required:"true" enum:"EngineType"`
3000
3001	// EngineVersion is a required field
3002	EngineVersion *string `locationName:"engineVersion" type:"string" required:"true"`
3003
3004	// Name is a required field
3005	Name *string `locationName:"name" type:"string" required:"true"`
3006
3007	Tags map[string]*string `locationName:"tags" type:"map"`
3008}
3009
3010// String returns the string representation
3011func (s CreateConfigurationRequest) String() string {
3012	return awsutil.Prettify(s)
3013}
3014
3015// GoString returns the string representation
3016func (s CreateConfigurationRequest) GoString() string {
3017	return s.String()
3018}
3019
3020// Validate inspects the fields of the type to determine if they are valid.
3021func (s *CreateConfigurationRequest) Validate() error {
3022	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationRequest"}
3023	if s.EngineType == nil {
3024		invalidParams.Add(request.NewErrParamRequired("EngineType"))
3025	}
3026	if s.EngineVersion == nil {
3027		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
3028	}
3029	if s.Name == nil {
3030		invalidParams.Add(request.NewErrParamRequired("Name"))
3031	}
3032
3033	if invalidParams.Len() > 0 {
3034		return invalidParams
3035	}
3036	return nil
3037}
3038
3039// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
3040func (s *CreateConfigurationRequest) SetAuthenticationStrategy(v string) *CreateConfigurationRequest {
3041	s.AuthenticationStrategy = &v
3042	return s
3043}
3044
3045// SetEngineType sets the EngineType field's value.
3046func (s *CreateConfigurationRequest) SetEngineType(v string) *CreateConfigurationRequest {
3047	s.EngineType = &v
3048	return s
3049}
3050
3051// SetEngineVersion sets the EngineVersion field's value.
3052func (s *CreateConfigurationRequest) SetEngineVersion(v string) *CreateConfigurationRequest {
3053	s.EngineVersion = &v
3054	return s
3055}
3056
3057// SetName sets the Name field's value.
3058func (s *CreateConfigurationRequest) SetName(v string) *CreateConfigurationRequest {
3059	s.Name = &v
3060	return s
3061}
3062
3063// SetTags sets the Tags field's value.
3064func (s *CreateConfigurationRequest) SetTags(v map[string]*string) *CreateConfigurationRequest {
3065	s.Tags = v
3066	return s
3067}
3068
3069type CreateConfigurationResponse struct {
3070	_ struct{} `type:"structure"`
3071
3072	Arn *string `locationName:"arn" type:"string"`
3073
3074	// Optional. The authentication strategy used to secure the broker. The default
3075	// is SIMPLE.
3076	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
3077
3078	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
3079
3080	Id *string `locationName:"id" type:"string"`
3081
3082	// Returns information about the specified configuration revision.
3083	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
3084
3085	Name *string `locationName:"name" type:"string"`
3086}
3087
3088// String returns the string representation
3089func (s CreateConfigurationResponse) String() string {
3090	return awsutil.Prettify(s)
3091}
3092
3093// GoString returns the string representation
3094func (s CreateConfigurationResponse) GoString() string {
3095	return s.String()
3096}
3097
3098// SetArn sets the Arn field's value.
3099func (s *CreateConfigurationResponse) SetArn(v string) *CreateConfigurationResponse {
3100	s.Arn = &v
3101	return s
3102}
3103
3104// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
3105func (s *CreateConfigurationResponse) SetAuthenticationStrategy(v string) *CreateConfigurationResponse {
3106	s.AuthenticationStrategy = &v
3107	return s
3108}
3109
3110// SetCreated sets the Created field's value.
3111func (s *CreateConfigurationResponse) SetCreated(v time.Time) *CreateConfigurationResponse {
3112	s.Created = &v
3113	return s
3114}
3115
3116// SetId sets the Id field's value.
3117func (s *CreateConfigurationResponse) SetId(v string) *CreateConfigurationResponse {
3118	s.Id = &v
3119	return s
3120}
3121
3122// SetLatestRevision sets the LatestRevision field's value.
3123func (s *CreateConfigurationResponse) SetLatestRevision(v *ConfigurationRevision) *CreateConfigurationResponse {
3124	s.LatestRevision = v
3125	return s
3126}
3127
3128// SetName sets the Name field's value.
3129func (s *CreateConfigurationResponse) SetName(v string) *CreateConfigurationResponse {
3130	s.Name = &v
3131	return s
3132}
3133
3134type CreateTagsInput struct {
3135	_ struct{} `type:"structure"`
3136
3137	// ResourceArn is a required field
3138	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
3139
3140	Tags map[string]*string `locationName:"tags" type:"map"`
3141}
3142
3143// String returns the string representation
3144func (s CreateTagsInput) String() string {
3145	return awsutil.Prettify(s)
3146}
3147
3148// GoString returns the string representation
3149func (s CreateTagsInput) GoString() string {
3150	return s.String()
3151}
3152
3153// Validate inspects the fields of the type to determine if they are valid.
3154func (s *CreateTagsInput) Validate() error {
3155	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
3156	if s.ResourceArn == nil {
3157		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3158	}
3159	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3160		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3161	}
3162
3163	if invalidParams.Len() > 0 {
3164		return invalidParams
3165	}
3166	return nil
3167}
3168
3169// SetResourceArn sets the ResourceArn field's value.
3170func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput {
3171	s.ResourceArn = &v
3172	return s
3173}
3174
3175// SetTags sets the Tags field's value.
3176func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput {
3177	s.Tags = v
3178	return s
3179}
3180
3181type CreateTagsOutput struct {
3182	_ struct{} `type:"structure"`
3183}
3184
3185// String returns the string representation
3186func (s CreateTagsOutput) String() string {
3187	return awsutil.Prettify(s)
3188}
3189
3190// GoString returns the string representation
3191func (s CreateTagsOutput) GoString() string {
3192	return s.String()
3193}
3194
3195type CreateUserOutput struct {
3196	_ struct{} `type:"structure"`
3197}
3198
3199// String returns the string representation
3200func (s CreateUserOutput) String() string {
3201	return awsutil.Prettify(s)
3202}
3203
3204// GoString returns the string representation
3205func (s CreateUserOutput) GoString() string {
3206	return s.String()
3207}
3208
3209type CreateUserRequest struct {
3210	_ struct{} `type:"structure"`
3211
3212	// BrokerId is a required field
3213	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3214
3215	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
3216
3217	Groups []*string `locationName:"groups" type:"list"`
3218
3219	// Password is a required field
3220	Password *string `locationName:"password" type:"string" required:"true"`
3221
3222	// Username is a required field
3223	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
3224}
3225
3226// String returns the string representation
3227func (s CreateUserRequest) String() string {
3228	return awsutil.Prettify(s)
3229}
3230
3231// GoString returns the string representation
3232func (s CreateUserRequest) GoString() string {
3233	return s.String()
3234}
3235
3236// Validate inspects the fields of the type to determine if they are valid.
3237func (s *CreateUserRequest) Validate() error {
3238	invalidParams := request.ErrInvalidParams{Context: "CreateUserRequest"}
3239	if s.BrokerId == nil {
3240		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3241	}
3242	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3243		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3244	}
3245	if s.Password == nil {
3246		invalidParams.Add(request.NewErrParamRequired("Password"))
3247	}
3248	if s.Username == nil {
3249		invalidParams.Add(request.NewErrParamRequired("Username"))
3250	}
3251	if s.Username != nil && len(*s.Username) < 1 {
3252		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
3253	}
3254
3255	if invalidParams.Len() > 0 {
3256		return invalidParams
3257	}
3258	return nil
3259}
3260
3261// SetBrokerId sets the BrokerId field's value.
3262func (s *CreateUserRequest) SetBrokerId(v string) *CreateUserRequest {
3263	s.BrokerId = &v
3264	return s
3265}
3266
3267// SetConsoleAccess sets the ConsoleAccess field's value.
3268func (s *CreateUserRequest) SetConsoleAccess(v bool) *CreateUserRequest {
3269	s.ConsoleAccess = &v
3270	return s
3271}
3272
3273// SetGroups sets the Groups field's value.
3274func (s *CreateUserRequest) SetGroups(v []*string) *CreateUserRequest {
3275	s.Groups = v
3276	return s
3277}
3278
3279// SetPassword sets the Password field's value.
3280func (s *CreateUserRequest) SetPassword(v string) *CreateUserRequest {
3281	s.Password = &v
3282	return s
3283}
3284
3285// SetUsername sets the Username field's value.
3286func (s *CreateUserRequest) SetUsername(v string) *CreateUserRequest {
3287	s.Username = &v
3288	return s
3289}
3290
3291type DeleteBrokerInput struct {
3292	_ struct{} `type:"structure"`
3293
3294	// BrokerId is a required field
3295	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3296}
3297
3298// String returns the string representation
3299func (s DeleteBrokerInput) String() string {
3300	return awsutil.Prettify(s)
3301}
3302
3303// GoString returns the string representation
3304func (s DeleteBrokerInput) GoString() string {
3305	return s.String()
3306}
3307
3308// Validate inspects the fields of the type to determine if they are valid.
3309func (s *DeleteBrokerInput) Validate() error {
3310	invalidParams := request.ErrInvalidParams{Context: "DeleteBrokerInput"}
3311	if s.BrokerId == nil {
3312		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3313	}
3314	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3315		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3316	}
3317
3318	if invalidParams.Len() > 0 {
3319		return invalidParams
3320	}
3321	return nil
3322}
3323
3324// SetBrokerId sets the BrokerId field's value.
3325func (s *DeleteBrokerInput) SetBrokerId(v string) *DeleteBrokerInput {
3326	s.BrokerId = &v
3327	return s
3328}
3329
3330type DeleteBrokerResponse struct {
3331	_ struct{} `type:"structure"`
3332
3333	BrokerId *string `locationName:"brokerId" type:"string"`
3334}
3335
3336// String returns the string representation
3337func (s DeleteBrokerResponse) String() string {
3338	return awsutil.Prettify(s)
3339}
3340
3341// GoString returns the string representation
3342func (s DeleteBrokerResponse) GoString() string {
3343	return s.String()
3344}
3345
3346// SetBrokerId sets the BrokerId field's value.
3347func (s *DeleteBrokerResponse) SetBrokerId(v string) *DeleteBrokerResponse {
3348	s.BrokerId = &v
3349	return s
3350}
3351
3352type DeleteTagsInput struct {
3353	_ struct{} `type:"structure"`
3354
3355	// ResourceArn is a required field
3356	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
3357
3358	// TagKeys is a required field
3359	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
3360}
3361
3362// String returns the string representation
3363func (s DeleteTagsInput) String() string {
3364	return awsutil.Prettify(s)
3365}
3366
3367// GoString returns the string representation
3368func (s DeleteTagsInput) GoString() string {
3369	return s.String()
3370}
3371
3372// Validate inspects the fields of the type to determine if they are valid.
3373func (s *DeleteTagsInput) Validate() error {
3374	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
3375	if s.ResourceArn == nil {
3376		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3377	}
3378	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3379		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3380	}
3381	if s.TagKeys == nil {
3382		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
3383	}
3384
3385	if invalidParams.Len() > 0 {
3386		return invalidParams
3387	}
3388	return nil
3389}
3390
3391// SetResourceArn sets the ResourceArn field's value.
3392func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput {
3393	s.ResourceArn = &v
3394	return s
3395}
3396
3397// SetTagKeys sets the TagKeys field's value.
3398func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
3399	s.TagKeys = v
3400	return s
3401}
3402
3403type DeleteTagsOutput struct {
3404	_ struct{} `type:"structure"`
3405}
3406
3407// String returns the string representation
3408func (s DeleteTagsOutput) String() string {
3409	return awsutil.Prettify(s)
3410}
3411
3412// GoString returns the string representation
3413func (s DeleteTagsOutput) GoString() string {
3414	return s.String()
3415}
3416
3417type DeleteUserInput struct {
3418	_ struct{} `type:"structure"`
3419
3420	// BrokerId is a required field
3421	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3422
3423	// Username is a required field
3424	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
3425}
3426
3427// String returns the string representation
3428func (s DeleteUserInput) String() string {
3429	return awsutil.Prettify(s)
3430}
3431
3432// GoString returns the string representation
3433func (s DeleteUserInput) GoString() string {
3434	return s.String()
3435}
3436
3437// Validate inspects the fields of the type to determine if they are valid.
3438func (s *DeleteUserInput) Validate() error {
3439	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
3440	if s.BrokerId == nil {
3441		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3442	}
3443	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3444		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3445	}
3446	if s.Username == nil {
3447		invalidParams.Add(request.NewErrParamRequired("Username"))
3448	}
3449	if s.Username != nil && len(*s.Username) < 1 {
3450		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
3451	}
3452
3453	if invalidParams.Len() > 0 {
3454		return invalidParams
3455	}
3456	return nil
3457}
3458
3459// SetBrokerId sets the BrokerId field's value.
3460func (s *DeleteUserInput) SetBrokerId(v string) *DeleteUserInput {
3461	s.BrokerId = &v
3462	return s
3463}
3464
3465// SetUsername sets the Username field's value.
3466func (s *DeleteUserInput) SetUsername(v string) *DeleteUserInput {
3467	s.Username = &v
3468	return s
3469}
3470
3471type DeleteUserOutput struct {
3472	_ struct{} `type:"structure"`
3473}
3474
3475// String returns the string representation
3476func (s DeleteUserOutput) String() string {
3477	return awsutil.Prettify(s)
3478}
3479
3480// GoString returns the string representation
3481func (s DeleteUserOutput) GoString() string {
3482	return s.String()
3483}
3484
3485type DescribeBrokerEngineTypesInput struct {
3486	_ struct{} `type:"structure"`
3487
3488	EngineType *string `location:"querystring" locationName:"engineType" type:"string"`
3489
3490	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3491
3492	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3493}
3494
3495// String returns the string representation
3496func (s DescribeBrokerEngineTypesInput) String() string {
3497	return awsutil.Prettify(s)
3498}
3499
3500// GoString returns the string representation
3501func (s DescribeBrokerEngineTypesInput) GoString() string {
3502	return s.String()
3503}
3504
3505// Validate inspects the fields of the type to determine if they are valid.
3506func (s *DescribeBrokerEngineTypesInput) Validate() error {
3507	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerEngineTypesInput"}
3508	if s.MaxResults != nil && *s.MaxResults < 1 {
3509		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3510	}
3511
3512	if invalidParams.Len() > 0 {
3513		return invalidParams
3514	}
3515	return nil
3516}
3517
3518// SetEngineType sets the EngineType field's value.
3519func (s *DescribeBrokerEngineTypesInput) SetEngineType(v string) *DescribeBrokerEngineTypesInput {
3520	s.EngineType = &v
3521	return s
3522}
3523
3524// SetMaxResults sets the MaxResults field's value.
3525func (s *DescribeBrokerEngineTypesInput) SetMaxResults(v int64) *DescribeBrokerEngineTypesInput {
3526	s.MaxResults = &v
3527	return s
3528}
3529
3530// SetNextToken sets the NextToken field's value.
3531func (s *DescribeBrokerEngineTypesInput) SetNextToken(v string) *DescribeBrokerEngineTypesInput {
3532	s.NextToken = &v
3533	return s
3534}
3535
3536type DescribeBrokerEngineTypesOutput struct {
3537	_ struct{} `type:"structure"`
3538
3539	BrokerEngineTypes []*BrokerEngineType `locationName:"brokerEngineTypes" type:"list"`
3540
3541	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
3542
3543	NextToken *string `locationName:"nextToken" type:"string"`
3544}
3545
3546// String returns the string representation
3547func (s DescribeBrokerEngineTypesOutput) String() string {
3548	return awsutil.Prettify(s)
3549}
3550
3551// GoString returns the string representation
3552func (s DescribeBrokerEngineTypesOutput) GoString() string {
3553	return s.String()
3554}
3555
3556// SetBrokerEngineTypes sets the BrokerEngineTypes field's value.
3557func (s *DescribeBrokerEngineTypesOutput) SetBrokerEngineTypes(v []*BrokerEngineType) *DescribeBrokerEngineTypesOutput {
3558	s.BrokerEngineTypes = v
3559	return s
3560}
3561
3562// SetMaxResults sets the MaxResults field's value.
3563func (s *DescribeBrokerEngineTypesOutput) SetMaxResults(v int64) *DescribeBrokerEngineTypesOutput {
3564	s.MaxResults = &v
3565	return s
3566}
3567
3568// SetNextToken sets the NextToken field's value.
3569func (s *DescribeBrokerEngineTypesOutput) SetNextToken(v string) *DescribeBrokerEngineTypesOutput {
3570	s.NextToken = &v
3571	return s
3572}
3573
3574type DescribeBrokerInput struct {
3575	_ struct{} `type:"structure"`
3576
3577	// BrokerId is a required field
3578	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3579}
3580
3581// String returns the string representation
3582func (s DescribeBrokerInput) String() string {
3583	return awsutil.Prettify(s)
3584}
3585
3586// GoString returns the string representation
3587func (s DescribeBrokerInput) GoString() string {
3588	return s.String()
3589}
3590
3591// Validate inspects the fields of the type to determine if they are valid.
3592func (s *DescribeBrokerInput) Validate() error {
3593	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerInput"}
3594	if s.BrokerId == nil {
3595		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3596	}
3597	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3598		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3599	}
3600
3601	if invalidParams.Len() > 0 {
3602		return invalidParams
3603	}
3604	return nil
3605}
3606
3607// SetBrokerId sets the BrokerId field's value.
3608func (s *DescribeBrokerInput) SetBrokerId(v string) *DescribeBrokerInput {
3609	s.BrokerId = &v
3610	return s
3611}
3612
3613type DescribeBrokerInstanceOptionsInput struct {
3614	_ struct{} `type:"structure"`
3615
3616	EngineType *string `location:"querystring" locationName:"engineType" type:"string"`
3617
3618	HostInstanceType *string `location:"querystring" locationName:"hostInstanceType" type:"string"`
3619
3620	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3621
3622	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3623
3624	StorageType *string `location:"querystring" locationName:"storageType" type:"string"`
3625}
3626
3627// String returns the string representation
3628func (s DescribeBrokerInstanceOptionsInput) String() string {
3629	return awsutil.Prettify(s)
3630}
3631
3632// GoString returns the string representation
3633func (s DescribeBrokerInstanceOptionsInput) GoString() string {
3634	return s.String()
3635}
3636
3637// Validate inspects the fields of the type to determine if they are valid.
3638func (s *DescribeBrokerInstanceOptionsInput) Validate() error {
3639	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerInstanceOptionsInput"}
3640	if s.MaxResults != nil && *s.MaxResults < 1 {
3641		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3642	}
3643
3644	if invalidParams.Len() > 0 {
3645		return invalidParams
3646	}
3647	return nil
3648}
3649
3650// SetEngineType sets the EngineType field's value.
3651func (s *DescribeBrokerInstanceOptionsInput) SetEngineType(v string) *DescribeBrokerInstanceOptionsInput {
3652	s.EngineType = &v
3653	return s
3654}
3655
3656// SetHostInstanceType sets the HostInstanceType field's value.
3657func (s *DescribeBrokerInstanceOptionsInput) SetHostInstanceType(v string) *DescribeBrokerInstanceOptionsInput {
3658	s.HostInstanceType = &v
3659	return s
3660}
3661
3662// SetMaxResults sets the MaxResults field's value.
3663func (s *DescribeBrokerInstanceOptionsInput) SetMaxResults(v int64) *DescribeBrokerInstanceOptionsInput {
3664	s.MaxResults = &v
3665	return s
3666}
3667
3668// SetNextToken sets the NextToken field's value.
3669func (s *DescribeBrokerInstanceOptionsInput) SetNextToken(v string) *DescribeBrokerInstanceOptionsInput {
3670	s.NextToken = &v
3671	return s
3672}
3673
3674// SetStorageType sets the StorageType field's value.
3675func (s *DescribeBrokerInstanceOptionsInput) SetStorageType(v string) *DescribeBrokerInstanceOptionsInput {
3676	s.StorageType = &v
3677	return s
3678}
3679
3680type DescribeBrokerInstanceOptionsOutput struct {
3681	_ struct{} `type:"structure"`
3682
3683	BrokerInstanceOptions []*BrokerInstanceOption `locationName:"brokerInstanceOptions" type:"list"`
3684
3685	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
3686
3687	NextToken *string `locationName:"nextToken" type:"string"`
3688}
3689
3690// String returns the string representation
3691func (s DescribeBrokerInstanceOptionsOutput) String() string {
3692	return awsutil.Prettify(s)
3693}
3694
3695// GoString returns the string representation
3696func (s DescribeBrokerInstanceOptionsOutput) GoString() string {
3697	return s.String()
3698}
3699
3700// SetBrokerInstanceOptions sets the BrokerInstanceOptions field's value.
3701func (s *DescribeBrokerInstanceOptionsOutput) SetBrokerInstanceOptions(v []*BrokerInstanceOption) *DescribeBrokerInstanceOptionsOutput {
3702	s.BrokerInstanceOptions = v
3703	return s
3704}
3705
3706// SetMaxResults sets the MaxResults field's value.
3707func (s *DescribeBrokerInstanceOptionsOutput) SetMaxResults(v int64) *DescribeBrokerInstanceOptionsOutput {
3708	s.MaxResults = &v
3709	return s
3710}
3711
3712// SetNextToken sets the NextToken field's value.
3713func (s *DescribeBrokerInstanceOptionsOutput) SetNextToken(v string) *DescribeBrokerInstanceOptionsOutput {
3714	s.NextToken = &v
3715	return s
3716}
3717
3718type DescribeBrokerResponse struct {
3719	_ struct{} `type:"structure"`
3720
3721	// Optional. The authentication strategy used to secure the broker. The default
3722	// is SIMPLE.
3723	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
3724
3725	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
3726
3727	BrokerArn *string `locationName:"brokerArn" type:"string"`
3728
3729	BrokerId *string `locationName:"brokerId" type:"string"`
3730
3731	BrokerInstances []*BrokerInstance `locationName:"brokerInstances" type:"list"`
3732
3733	BrokerName *string `locationName:"brokerName" type:"string"`
3734
3735	// The broker's status.
3736	BrokerState *string `locationName:"brokerState" type:"string" enum:"BrokerState"`
3737
3738	// Broker configuration information
3739	Configurations *Configurations `locationName:"configurations" type:"structure"`
3740
3741	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
3742
3743	// The broker's deployment mode.
3744	DeploymentMode *string `locationName:"deploymentMode" type:"string" enum:"DeploymentMode"`
3745
3746	// Does not apply to RabbitMQ brokers.
3747	//
3748	// Encryption options for the broker.
3749	EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"`
3750
3751	// The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.
3752	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
3753
3754	EngineVersion *string `locationName:"engineVersion" type:"string"`
3755
3756	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
3757
3758	// Optional. The metadata of the LDAP server used to authenticate and authorize
3759	// connections to the broker.
3760	LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"`
3761
3762	// The list of information about logs currently enabled and pending to be deployed
3763	// for the specified broker.
3764	Logs *LogsSummary `locationName:"logs" type:"structure"`
3765
3766	// The scheduled time period relative to UTC during which Amazon MQ begins to
3767	// apply pending updates or patches to the broker.
3768	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
3769
3770	// Optional. The authentication strategy used to secure the broker. The default
3771	// is SIMPLE.
3772	PendingAuthenticationStrategy *string `locationName:"pendingAuthenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
3773
3774	PendingEngineVersion *string `locationName:"pendingEngineVersion" type:"string"`
3775
3776	PendingHostInstanceType *string `locationName:"pendingHostInstanceType" type:"string"`
3777
3778	// Optional. The metadata of the LDAP server used to authenticate and authorize
3779	// connections to the broker.
3780	PendingLdapServerMetadata *LdapServerMetadataOutput `locationName:"pendingLdapServerMetadata" type:"structure"`
3781
3782	PendingSecurityGroups []*string `locationName:"pendingSecurityGroups" type:"list"`
3783
3784	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
3785
3786	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
3787
3788	// The broker's storage type.
3789	//
3790	// EFS is not supported for RabbitMQ engine type.
3791	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
3792
3793	SubnetIds []*string `locationName:"subnetIds" type:"list"`
3794
3795	Tags map[string]*string `locationName:"tags" type:"map"`
3796
3797	Users []*UserSummary `locationName:"users" type:"list"`
3798}
3799
3800// String returns the string representation
3801func (s DescribeBrokerResponse) String() string {
3802	return awsutil.Prettify(s)
3803}
3804
3805// GoString returns the string representation
3806func (s DescribeBrokerResponse) GoString() string {
3807	return s.String()
3808}
3809
3810// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
3811func (s *DescribeBrokerResponse) SetAuthenticationStrategy(v string) *DescribeBrokerResponse {
3812	s.AuthenticationStrategy = &v
3813	return s
3814}
3815
3816// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
3817func (s *DescribeBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *DescribeBrokerResponse {
3818	s.AutoMinorVersionUpgrade = &v
3819	return s
3820}
3821
3822// SetBrokerArn sets the BrokerArn field's value.
3823func (s *DescribeBrokerResponse) SetBrokerArn(v string) *DescribeBrokerResponse {
3824	s.BrokerArn = &v
3825	return s
3826}
3827
3828// SetBrokerId sets the BrokerId field's value.
3829func (s *DescribeBrokerResponse) SetBrokerId(v string) *DescribeBrokerResponse {
3830	s.BrokerId = &v
3831	return s
3832}
3833
3834// SetBrokerInstances sets the BrokerInstances field's value.
3835func (s *DescribeBrokerResponse) SetBrokerInstances(v []*BrokerInstance) *DescribeBrokerResponse {
3836	s.BrokerInstances = v
3837	return s
3838}
3839
3840// SetBrokerName sets the BrokerName field's value.
3841func (s *DescribeBrokerResponse) SetBrokerName(v string) *DescribeBrokerResponse {
3842	s.BrokerName = &v
3843	return s
3844}
3845
3846// SetBrokerState sets the BrokerState field's value.
3847func (s *DescribeBrokerResponse) SetBrokerState(v string) *DescribeBrokerResponse {
3848	s.BrokerState = &v
3849	return s
3850}
3851
3852// SetConfigurations sets the Configurations field's value.
3853func (s *DescribeBrokerResponse) SetConfigurations(v *Configurations) *DescribeBrokerResponse {
3854	s.Configurations = v
3855	return s
3856}
3857
3858// SetCreated sets the Created field's value.
3859func (s *DescribeBrokerResponse) SetCreated(v time.Time) *DescribeBrokerResponse {
3860	s.Created = &v
3861	return s
3862}
3863
3864// SetDeploymentMode sets the DeploymentMode field's value.
3865func (s *DescribeBrokerResponse) SetDeploymentMode(v string) *DescribeBrokerResponse {
3866	s.DeploymentMode = &v
3867	return s
3868}
3869
3870// SetEncryptionOptions sets the EncryptionOptions field's value.
3871func (s *DescribeBrokerResponse) SetEncryptionOptions(v *EncryptionOptions) *DescribeBrokerResponse {
3872	s.EncryptionOptions = v
3873	return s
3874}
3875
3876// SetEngineType sets the EngineType field's value.
3877func (s *DescribeBrokerResponse) SetEngineType(v string) *DescribeBrokerResponse {
3878	s.EngineType = &v
3879	return s
3880}
3881
3882// SetEngineVersion sets the EngineVersion field's value.
3883func (s *DescribeBrokerResponse) SetEngineVersion(v string) *DescribeBrokerResponse {
3884	s.EngineVersion = &v
3885	return s
3886}
3887
3888// SetHostInstanceType sets the HostInstanceType field's value.
3889func (s *DescribeBrokerResponse) SetHostInstanceType(v string) *DescribeBrokerResponse {
3890	s.HostInstanceType = &v
3891	return s
3892}
3893
3894// SetLdapServerMetadata sets the LdapServerMetadata field's value.
3895func (s *DescribeBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse {
3896	s.LdapServerMetadata = v
3897	return s
3898}
3899
3900// SetLogs sets the Logs field's value.
3901func (s *DescribeBrokerResponse) SetLogs(v *LogsSummary) *DescribeBrokerResponse {
3902	s.Logs = v
3903	return s
3904}
3905
3906// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
3907func (s *DescribeBrokerResponse) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *DescribeBrokerResponse {
3908	s.MaintenanceWindowStartTime = v
3909	return s
3910}
3911
3912// SetPendingAuthenticationStrategy sets the PendingAuthenticationStrategy field's value.
3913func (s *DescribeBrokerResponse) SetPendingAuthenticationStrategy(v string) *DescribeBrokerResponse {
3914	s.PendingAuthenticationStrategy = &v
3915	return s
3916}
3917
3918// SetPendingEngineVersion sets the PendingEngineVersion field's value.
3919func (s *DescribeBrokerResponse) SetPendingEngineVersion(v string) *DescribeBrokerResponse {
3920	s.PendingEngineVersion = &v
3921	return s
3922}
3923
3924// SetPendingHostInstanceType sets the PendingHostInstanceType field's value.
3925func (s *DescribeBrokerResponse) SetPendingHostInstanceType(v string) *DescribeBrokerResponse {
3926	s.PendingHostInstanceType = &v
3927	return s
3928}
3929
3930// SetPendingLdapServerMetadata sets the PendingLdapServerMetadata field's value.
3931func (s *DescribeBrokerResponse) SetPendingLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse {
3932	s.PendingLdapServerMetadata = v
3933	return s
3934}
3935
3936// SetPendingSecurityGroups sets the PendingSecurityGroups field's value.
3937func (s *DescribeBrokerResponse) SetPendingSecurityGroups(v []*string) *DescribeBrokerResponse {
3938	s.PendingSecurityGroups = v
3939	return s
3940}
3941
3942// SetPubliclyAccessible sets the PubliclyAccessible field's value.
3943func (s *DescribeBrokerResponse) SetPubliclyAccessible(v bool) *DescribeBrokerResponse {
3944	s.PubliclyAccessible = &v
3945	return s
3946}
3947
3948// SetSecurityGroups sets the SecurityGroups field's value.
3949func (s *DescribeBrokerResponse) SetSecurityGroups(v []*string) *DescribeBrokerResponse {
3950	s.SecurityGroups = v
3951	return s
3952}
3953
3954// SetStorageType sets the StorageType field's value.
3955func (s *DescribeBrokerResponse) SetStorageType(v string) *DescribeBrokerResponse {
3956	s.StorageType = &v
3957	return s
3958}
3959
3960// SetSubnetIds sets the SubnetIds field's value.
3961func (s *DescribeBrokerResponse) SetSubnetIds(v []*string) *DescribeBrokerResponse {
3962	s.SubnetIds = v
3963	return s
3964}
3965
3966// SetTags sets the Tags field's value.
3967func (s *DescribeBrokerResponse) SetTags(v map[string]*string) *DescribeBrokerResponse {
3968	s.Tags = v
3969	return s
3970}
3971
3972// SetUsers sets the Users field's value.
3973func (s *DescribeBrokerResponse) SetUsers(v []*UserSummary) *DescribeBrokerResponse {
3974	s.Users = v
3975	return s
3976}
3977
3978type DescribeConfigurationInput struct {
3979	_ struct{} `type:"structure"`
3980
3981	// ConfigurationId is a required field
3982	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
3983}
3984
3985// String returns the string representation
3986func (s DescribeConfigurationInput) String() string {
3987	return awsutil.Prettify(s)
3988}
3989
3990// GoString returns the string representation
3991func (s DescribeConfigurationInput) GoString() string {
3992	return s.String()
3993}
3994
3995// Validate inspects the fields of the type to determine if they are valid.
3996func (s *DescribeConfigurationInput) Validate() error {
3997	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationInput"}
3998	if s.ConfigurationId == nil {
3999		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
4000	}
4001	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
4002		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
4003	}
4004
4005	if invalidParams.Len() > 0 {
4006		return invalidParams
4007	}
4008	return nil
4009}
4010
4011// SetConfigurationId sets the ConfigurationId field's value.
4012func (s *DescribeConfigurationInput) SetConfigurationId(v string) *DescribeConfigurationInput {
4013	s.ConfigurationId = &v
4014	return s
4015}
4016
4017type DescribeConfigurationOutput struct {
4018	_ struct{} `type:"structure"`
4019
4020	Arn *string `locationName:"arn" type:"string"`
4021
4022	// Optional. The authentication strategy used to secure the broker. The default
4023	// is SIMPLE.
4024	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
4025
4026	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
4027
4028	Description *string `locationName:"description" type:"string"`
4029
4030	// The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.
4031	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
4032
4033	EngineVersion *string `locationName:"engineVersion" type:"string"`
4034
4035	Id *string `locationName:"id" type:"string"`
4036
4037	// Returns information about the specified configuration revision.
4038	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
4039
4040	Name *string `locationName:"name" type:"string"`
4041
4042	Tags map[string]*string `locationName:"tags" type:"map"`
4043}
4044
4045// String returns the string representation
4046func (s DescribeConfigurationOutput) String() string {
4047	return awsutil.Prettify(s)
4048}
4049
4050// GoString returns the string representation
4051func (s DescribeConfigurationOutput) GoString() string {
4052	return s.String()
4053}
4054
4055// SetArn sets the Arn field's value.
4056func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOutput {
4057	s.Arn = &v
4058	return s
4059}
4060
4061// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
4062func (s *DescribeConfigurationOutput) SetAuthenticationStrategy(v string) *DescribeConfigurationOutput {
4063	s.AuthenticationStrategy = &v
4064	return s
4065}
4066
4067// SetCreated sets the Created field's value.
4068func (s *DescribeConfigurationOutput) SetCreated(v time.Time) *DescribeConfigurationOutput {
4069	s.Created = &v
4070	return s
4071}
4072
4073// SetDescription sets the Description field's value.
4074func (s *DescribeConfigurationOutput) SetDescription(v string) *DescribeConfigurationOutput {
4075	s.Description = &v
4076	return s
4077}
4078
4079// SetEngineType sets the EngineType field's value.
4080func (s *DescribeConfigurationOutput) SetEngineType(v string) *DescribeConfigurationOutput {
4081	s.EngineType = &v
4082	return s
4083}
4084
4085// SetEngineVersion sets the EngineVersion field's value.
4086func (s *DescribeConfigurationOutput) SetEngineVersion(v string) *DescribeConfigurationOutput {
4087	s.EngineVersion = &v
4088	return s
4089}
4090
4091// SetId sets the Id field's value.
4092func (s *DescribeConfigurationOutput) SetId(v string) *DescribeConfigurationOutput {
4093	s.Id = &v
4094	return s
4095}
4096
4097// SetLatestRevision sets the LatestRevision field's value.
4098func (s *DescribeConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *DescribeConfigurationOutput {
4099	s.LatestRevision = v
4100	return s
4101}
4102
4103// SetName sets the Name field's value.
4104func (s *DescribeConfigurationOutput) SetName(v string) *DescribeConfigurationOutput {
4105	s.Name = &v
4106	return s
4107}
4108
4109// SetTags sets the Tags field's value.
4110func (s *DescribeConfigurationOutput) SetTags(v map[string]*string) *DescribeConfigurationOutput {
4111	s.Tags = v
4112	return s
4113}
4114
4115type DescribeConfigurationRevisionInput struct {
4116	_ struct{} `type:"structure"`
4117
4118	// ConfigurationId is a required field
4119	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
4120
4121	// ConfigurationRevision is a required field
4122	ConfigurationRevision *string `location:"uri" locationName:"configuration-revision" type:"string" required:"true"`
4123}
4124
4125// String returns the string representation
4126func (s DescribeConfigurationRevisionInput) String() string {
4127	return awsutil.Prettify(s)
4128}
4129
4130// GoString returns the string representation
4131func (s DescribeConfigurationRevisionInput) GoString() string {
4132	return s.String()
4133}
4134
4135// Validate inspects the fields of the type to determine if they are valid.
4136func (s *DescribeConfigurationRevisionInput) Validate() error {
4137	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationRevisionInput"}
4138	if s.ConfigurationId == nil {
4139		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
4140	}
4141	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
4142		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
4143	}
4144	if s.ConfigurationRevision == nil {
4145		invalidParams.Add(request.NewErrParamRequired("ConfigurationRevision"))
4146	}
4147	if s.ConfigurationRevision != nil && len(*s.ConfigurationRevision) < 1 {
4148		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRevision", 1))
4149	}
4150
4151	if invalidParams.Len() > 0 {
4152		return invalidParams
4153	}
4154	return nil
4155}
4156
4157// SetConfigurationId sets the ConfigurationId field's value.
4158func (s *DescribeConfigurationRevisionInput) SetConfigurationId(v string) *DescribeConfigurationRevisionInput {
4159	s.ConfigurationId = &v
4160	return s
4161}
4162
4163// SetConfigurationRevision sets the ConfigurationRevision field's value.
4164func (s *DescribeConfigurationRevisionInput) SetConfigurationRevision(v string) *DescribeConfigurationRevisionInput {
4165	s.ConfigurationRevision = &v
4166	return s
4167}
4168
4169type DescribeConfigurationRevisionResponse struct {
4170	_ struct{} `type:"structure"`
4171
4172	ConfigurationId *string `locationName:"configurationId" type:"string"`
4173
4174	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
4175
4176	Data *string `locationName:"data" type:"string"`
4177
4178	Description *string `locationName:"description" type:"string"`
4179}
4180
4181// String returns the string representation
4182func (s DescribeConfigurationRevisionResponse) String() string {
4183	return awsutil.Prettify(s)
4184}
4185
4186// GoString returns the string representation
4187func (s DescribeConfigurationRevisionResponse) GoString() string {
4188	return s.String()
4189}
4190
4191// SetConfigurationId sets the ConfigurationId field's value.
4192func (s *DescribeConfigurationRevisionResponse) SetConfigurationId(v string) *DescribeConfigurationRevisionResponse {
4193	s.ConfigurationId = &v
4194	return s
4195}
4196
4197// SetCreated sets the Created field's value.
4198func (s *DescribeConfigurationRevisionResponse) SetCreated(v time.Time) *DescribeConfigurationRevisionResponse {
4199	s.Created = &v
4200	return s
4201}
4202
4203// SetData sets the Data field's value.
4204func (s *DescribeConfigurationRevisionResponse) SetData(v string) *DescribeConfigurationRevisionResponse {
4205	s.Data = &v
4206	return s
4207}
4208
4209// SetDescription sets the Description field's value.
4210func (s *DescribeConfigurationRevisionResponse) SetDescription(v string) *DescribeConfigurationRevisionResponse {
4211	s.Description = &v
4212	return s
4213}
4214
4215type DescribeUserInput struct {
4216	_ struct{} `type:"structure"`
4217
4218	// BrokerId is a required field
4219	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
4220
4221	// Username is a required field
4222	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
4223}
4224
4225// String returns the string representation
4226func (s DescribeUserInput) String() string {
4227	return awsutil.Prettify(s)
4228}
4229
4230// GoString returns the string representation
4231func (s DescribeUserInput) GoString() string {
4232	return s.String()
4233}
4234
4235// Validate inspects the fields of the type to determine if they are valid.
4236func (s *DescribeUserInput) Validate() error {
4237	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
4238	if s.BrokerId == nil {
4239		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
4240	}
4241	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
4242		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
4243	}
4244	if s.Username == nil {
4245		invalidParams.Add(request.NewErrParamRequired("Username"))
4246	}
4247	if s.Username != nil && len(*s.Username) < 1 {
4248		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
4249	}
4250
4251	if invalidParams.Len() > 0 {
4252		return invalidParams
4253	}
4254	return nil
4255}
4256
4257// SetBrokerId sets the BrokerId field's value.
4258func (s *DescribeUserInput) SetBrokerId(v string) *DescribeUserInput {
4259	s.BrokerId = &v
4260	return s
4261}
4262
4263// SetUsername sets the Username field's value.
4264func (s *DescribeUserInput) SetUsername(v string) *DescribeUserInput {
4265	s.Username = &v
4266	return s
4267}
4268
4269type DescribeUserResponse struct {
4270	_ struct{} `type:"structure"`
4271
4272	BrokerId *string `locationName:"brokerId" type:"string"`
4273
4274	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
4275
4276	Groups []*string `locationName:"groups" type:"list"`
4277
4278	// Returns information about the status of the changes pending for the ActiveMQ
4279	// user.
4280	Pending *UserPendingChanges `locationName:"pending" type:"structure"`
4281
4282	Username *string `locationName:"username" type:"string"`
4283}
4284
4285// String returns the string representation
4286func (s DescribeUserResponse) String() string {
4287	return awsutil.Prettify(s)
4288}
4289
4290// GoString returns the string representation
4291func (s DescribeUserResponse) GoString() string {
4292	return s.String()
4293}
4294
4295// SetBrokerId sets the BrokerId field's value.
4296func (s *DescribeUserResponse) SetBrokerId(v string) *DescribeUserResponse {
4297	s.BrokerId = &v
4298	return s
4299}
4300
4301// SetConsoleAccess sets the ConsoleAccess field's value.
4302func (s *DescribeUserResponse) SetConsoleAccess(v bool) *DescribeUserResponse {
4303	s.ConsoleAccess = &v
4304	return s
4305}
4306
4307// SetGroups sets the Groups field's value.
4308func (s *DescribeUserResponse) SetGroups(v []*string) *DescribeUserResponse {
4309	s.Groups = v
4310	return s
4311}
4312
4313// SetPending sets the Pending field's value.
4314func (s *DescribeUserResponse) SetPending(v *UserPendingChanges) *DescribeUserResponse {
4315	s.Pending = v
4316	return s
4317}
4318
4319// SetUsername sets the Username field's value.
4320func (s *DescribeUserResponse) SetUsername(v string) *DescribeUserResponse {
4321	s.Username = &v
4322	return s
4323}
4324
4325// Does not apply to RabbitMQ brokers.
4326//
4327// Encryption options for the broker.
4328type EncryptionOptions struct {
4329	_ struct{} `type:"structure"`
4330
4331	// The customer master key (CMK) to use for the AWS Key Management Service (KMS).
4332	// This key is used to encrypt your data at rest. If not provided, Amazon MQ
4333	// will use a default CMK to encrypt your data.
4334	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
4335
4336	// Enables the use of an AWS owned CMK using AWS Key Management Service (KMS).
4337	// Set to true by default, if no value is provided, for example, for RabbitMQ
4338	// brokers.
4339	//
4340	// UseAwsOwnedKey is a required field
4341	UseAwsOwnedKey *bool `locationName:"useAwsOwnedKey" type:"boolean" required:"true"`
4342}
4343
4344// String returns the string representation
4345func (s EncryptionOptions) String() string {
4346	return awsutil.Prettify(s)
4347}
4348
4349// GoString returns the string representation
4350func (s EncryptionOptions) GoString() string {
4351	return s.String()
4352}
4353
4354// Validate inspects the fields of the type to determine if they are valid.
4355func (s *EncryptionOptions) Validate() error {
4356	invalidParams := request.ErrInvalidParams{Context: "EncryptionOptions"}
4357	if s.UseAwsOwnedKey == nil {
4358		invalidParams.Add(request.NewErrParamRequired("UseAwsOwnedKey"))
4359	}
4360
4361	if invalidParams.Len() > 0 {
4362		return invalidParams
4363	}
4364	return nil
4365}
4366
4367// SetKmsKeyId sets the KmsKeyId field's value.
4368func (s *EncryptionOptions) SetKmsKeyId(v string) *EncryptionOptions {
4369	s.KmsKeyId = &v
4370	return s
4371}
4372
4373// SetUseAwsOwnedKey sets the UseAwsOwnedKey field's value.
4374func (s *EncryptionOptions) SetUseAwsOwnedKey(v bool) *EncryptionOptions {
4375	s.UseAwsOwnedKey = &v
4376	return s
4377}
4378
4379// Id of the engine version.
4380type EngineVersion struct {
4381	_ struct{} `type:"structure"`
4382
4383	// Id for the version.
4384	Name *string `locationName:"name" type:"string"`
4385}
4386
4387// String returns the string representation
4388func (s EngineVersion) String() string {
4389	return awsutil.Prettify(s)
4390}
4391
4392// GoString returns the string representation
4393func (s EngineVersion) GoString() string {
4394	return s.String()
4395}
4396
4397// SetName sets the Name field's value.
4398func (s *EngineVersion) SetName(v string) *EngineVersion {
4399	s.Name = &v
4400	return s
4401}
4402
4403// Returns information about an error.
4404type ForbiddenException struct {
4405	_            struct{}                  `type:"structure"`
4406	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4407
4408	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
4409
4410	Message_ *string `locationName:"message" type:"string"`
4411}
4412
4413// String returns the string representation
4414func (s ForbiddenException) String() string {
4415	return awsutil.Prettify(s)
4416}
4417
4418// GoString returns the string representation
4419func (s ForbiddenException) GoString() string {
4420	return s.String()
4421}
4422
4423func newErrorForbiddenException(v protocol.ResponseMetadata) error {
4424	return &ForbiddenException{
4425		RespMetadata: v,
4426	}
4427}
4428
4429// Code returns the exception type name.
4430func (s *ForbiddenException) Code() string {
4431	return "ForbiddenException"
4432}
4433
4434// Message returns the exception's message.
4435func (s *ForbiddenException) Message() string {
4436	if s.Message_ != nil {
4437		return *s.Message_
4438	}
4439	return ""
4440}
4441
4442// OrigErr always returns nil, satisfies awserr.Error interface.
4443func (s *ForbiddenException) OrigErr() error {
4444	return nil
4445}
4446
4447func (s *ForbiddenException) Error() string {
4448	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4449}
4450
4451// Status code returns the HTTP status code for the request's response error.
4452func (s *ForbiddenException) StatusCode() int {
4453	return s.RespMetadata.StatusCode
4454}
4455
4456// RequestID returns the service's response RequestID for request.
4457func (s *ForbiddenException) RequestID() string {
4458	return s.RespMetadata.RequestID
4459}
4460
4461// Returns information about an error.
4462type InternalServerErrorException struct {
4463	_            struct{}                  `type:"structure"`
4464	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4465
4466	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
4467
4468	Message_ *string `locationName:"message" type:"string"`
4469}
4470
4471// String returns the string representation
4472func (s InternalServerErrorException) String() string {
4473	return awsutil.Prettify(s)
4474}
4475
4476// GoString returns the string representation
4477func (s InternalServerErrorException) GoString() string {
4478	return s.String()
4479}
4480
4481func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
4482	return &InternalServerErrorException{
4483		RespMetadata: v,
4484	}
4485}
4486
4487// Code returns the exception type name.
4488func (s *InternalServerErrorException) Code() string {
4489	return "InternalServerErrorException"
4490}
4491
4492// Message returns the exception's message.
4493func (s *InternalServerErrorException) Message() string {
4494	if s.Message_ != nil {
4495		return *s.Message_
4496	}
4497	return ""
4498}
4499
4500// OrigErr always returns nil, satisfies awserr.Error interface.
4501func (s *InternalServerErrorException) OrigErr() error {
4502	return nil
4503}
4504
4505func (s *InternalServerErrorException) Error() string {
4506	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4507}
4508
4509// Status code returns the HTTP status code for the request's response error.
4510func (s *InternalServerErrorException) StatusCode() int {
4511	return s.RespMetadata.StatusCode
4512}
4513
4514// RequestID returns the service's response RequestID for request.
4515func (s *InternalServerErrorException) RequestID() string {
4516	return s.RespMetadata.RequestID
4517}
4518
4519// Optional. The metadata of the LDAP server used to authenticate and authorize
4520// connections to the broker.
4521//
4522// Does not apply to RabbitMQ brokers.
4523type LdapServerMetadataInput struct {
4524	_ struct{} `type:"structure"`
4525
4526	// Specifies the location of the LDAP server such as AWS Directory Service for
4527	// Microsoft Active Directory . Optional failover server.
4528	//
4529	// Hosts is a required field
4530	Hosts []*string `locationName:"hosts" type:"list" required:"true"`
4531
4532	// The distinguished name of the node in the directory information tree (DIT)
4533	// to search for roles or groups. For example, ou=group, ou=corp, dc=corp, dc=example,
4534	// dc=com.
4535	//
4536	// RoleBase is a required field
4537	RoleBase *string `locationName:"roleBase" type:"string" required:"true"`
4538
4539	// Specifies the LDAP attribute that identifies the group name attribute in
4540	// the object returned from the group membership query.
4541	RoleName *string `locationName:"roleName" type:"string"`
4542
4543	// The LDAP search filter used to find roles within the roleBase. The distinguished
4544	// name of the user matched by userSearchMatching is substituted into the {0}
4545	// placeholder in the search filter. The client's username is substituted into
4546	// the {1} placeholder. For example, if you set this option to (member=uid={1})for
4547	// the user janedoe, the search filter becomes (member=uid=janedoe) after string
4548	// substitution. It matches all role entries that have a member attribute equal
4549	// to uid=janedoe under the subtree selected by the roleBase.
4550	//
4551	// RoleSearchMatching is a required field
4552	RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string" required:"true"`
4553
4554	// The directory search scope for the role. If set to true, scope is to search
4555	// the entire subtree.
4556	RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"`
4557
4558	// Service account password. A service account is an account in your LDAP server
4559	// that has access to initiate a connection. For example, cn=admin,dc=corp,
4560	// dc=example, dc=com.
4561	//
4562	// ServiceAccountPassword is a required field
4563	ServiceAccountPassword *string `locationName:"serviceAccountPassword" type:"string" required:"true"`
4564
4565	// Service account username. A service account is an account in your LDAP server
4566	// that has access to initiate a connection. For example, cn=admin,dc=corp,
4567	// dc=example, dc=com.
4568	//
4569	// ServiceAccountUsername is a required field
4570	ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string" required:"true"`
4571
4572	// Select a particular subtree of the directory information tree (DIT) to search
4573	// for user entries. The subtree is specified by a DN, which specifies the base
4574	// node of the subtree. For example, by setting this option to ou=Users,ou=corp,
4575	// dc=corp, dc=example, dc=com, the search for user entries is restricted to
4576	// the subtree beneath ou=Users, ou=corp, dc=corp, dc=example, dc=com.
4577	//
4578	// UserBase is a required field
4579	UserBase *string `locationName:"userBase" type:"string" required:"true"`
4580
4581	// Specifies the name of the LDAP attribute for the user group membership.
4582	UserRoleName *string `locationName:"userRoleName" type:"string"`
4583
4584	// The LDAP search filter used to find users within the userBase. The client's
4585	// username is substituted into the {0} placeholder in the search filter. For
4586	// example, if this option is set to (uid={0}) and the received username is
4587	// janedoe, the search filter becomes (uid=janedoe) after string substitution.
4588	// It will result in matching an entry like uid=janedoe, ou=Users,ou=corp, dc=corp,
4589	// dc=example, dc=com.
4590	//
4591	// UserSearchMatching is a required field
4592	UserSearchMatching *string `locationName:"userSearchMatching" type:"string" required:"true"`
4593
4594	// The directory search scope for the user. If set to true, scope is to search
4595	// the entire subtree.
4596	UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"`
4597}
4598
4599// String returns the string representation
4600func (s LdapServerMetadataInput) String() string {
4601	return awsutil.Prettify(s)
4602}
4603
4604// GoString returns the string representation
4605func (s LdapServerMetadataInput) GoString() string {
4606	return s.String()
4607}
4608
4609// Validate inspects the fields of the type to determine if they are valid.
4610func (s *LdapServerMetadataInput) Validate() error {
4611	invalidParams := request.ErrInvalidParams{Context: "LdapServerMetadataInput"}
4612	if s.Hosts == nil {
4613		invalidParams.Add(request.NewErrParamRequired("Hosts"))
4614	}
4615	if s.RoleBase == nil {
4616		invalidParams.Add(request.NewErrParamRequired("RoleBase"))
4617	}
4618	if s.RoleSearchMatching == nil {
4619		invalidParams.Add(request.NewErrParamRequired("RoleSearchMatching"))
4620	}
4621	if s.ServiceAccountPassword == nil {
4622		invalidParams.Add(request.NewErrParamRequired("ServiceAccountPassword"))
4623	}
4624	if s.ServiceAccountUsername == nil {
4625		invalidParams.Add(request.NewErrParamRequired("ServiceAccountUsername"))
4626	}
4627	if s.UserBase == nil {
4628		invalidParams.Add(request.NewErrParamRequired("UserBase"))
4629	}
4630	if s.UserSearchMatching == nil {
4631		invalidParams.Add(request.NewErrParamRequired("UserSearchMatching"))
4632	}
4633
4634	if invalidParams.Len() > 0 {
4635		return invalidParams
4636	}
4637	return nil
4638}
4639
4640// SetHosts sets the Hosts field's value.
4641func (s *LdapServerMetadataInput) SetHosts(v []*string) *LdapServerMetadataInput {
4642	s.Hosts = v
4643	return s
4644}
4645
4646// SetRoleBase sets the RoleBase field's value.
4647func (s *LdapServerMetadataInput) SetRoleBase(v string) *LdapServerMetadataInput {
4648	s.RoleBase = &v
4649	return s
4650}
4651
4652// SetRoleName sets the RoleName field's value.
4653func (s *LdapServerMetadataInput) SetRoleName(v string) *LdapServerMetadataInput {
4654	s.RoleName = &v
4655	return s
4656}
4657
4658// SetRoleSearchMatching sets the RoleSearchMatching field's value.
4659func (s *LdapServerMetadataInput) SetRoleSearchMatching(v string) *LdapServerMetadataInput {
4660	s.RoleSearchMatching = &v
4661	return s
4662}
4663
4664// SetRoleSearchSubtree sets the RoleSearchSubtree field's value.
4665func (s *LdapServerMetadataInput) SetRoleSearchSubtree(v bool) *LdapServerMetadataInput {
4666	s.RoleSearchSubtree = &v
4667	return s
4668}
4669
4670// SetServiceAccountPassword sets the ServiceAccountPassword field's value.
4671func (s *LdapServerMetadataInput) SetServiceAccountPassword(v string) *LdapServerMetadataInput {
4672	s.ServiceAccountPassword = &v
4673	return s
4674}
4675
4676// SetServiceAccountUsername sets the ServiceAccountUsername field's value.
4677func (s *LdapServerMetadataInput) SetServiceAccountUsername(v string) *LdapServerMetadataInput {
4678	s.ServiceAccountUsername = &v
4679	return s
4680}
4681
4682// SetUserBase sets the UserBase field's value.
4683func (s *LdapServerMetadataInput) SetUserBase(v string) *LdapServerMetadataInput {
4684	s.UserBase = &v
4685	return s
4686}
4687
4688// SetUserRoleName sets the UserRoleName field's value.
4689func (s *LdapServerMetadataInput) SetUserRoleName(v string) *LdapServerMetadataInput {
4690	s.UserRoleName = &v
4691	return s
4692}
4693
4694// SetUserSearchMatching sets the UserSearchMatching field's value.
4695func (s *LdapServerMetadataInput) SetUserSearchMatching(v string) *LdapServerMetadataInput {
4696	s.UserSearchMatching = &v
4697	return s
4698}
4699
4700// SetUserSearchSubtree sets the UserSearchSubtree field's value.
4701func (s *LdapServerMetadataInput) SetUserSearchSubtree(v bool) *LdapServerMetadataInput {
4702	s.UserSearchSubtree = &v
4703	return s
4704}
4705
4706// Optional. The metadata of the LDAP server used to authenticate and authorize
4707// connections to the broker.
4708type LdapServerMetadataOutput struct {
4709	_ struct{} `type:"structure"`
4710
4711	// Specifies the location of the LDAP server such as AWS Directory Service for
4712	// Microsoft Active Directory . Optional failover server.
4713	//
4714	// Hosts is a required field
4715	Hosts []*string `locationName:"hosts" type:"list" required:"true"`
4716
4717	// The distinguished name of the node in the directory information tree (DIT)
4718	// to search for roles or groups. For example, ou=group, ou=corp, dc=corp, dc=example,
4719	// dc=com.
4720	//
4721	// RoleBase is a required field
4722	RoleBase *string `locationName:"roleBase" type:"string" required:"true"`
4723
4724	// Specifies the LDAP attribute that identifies the group name attribute in
4725	// the object returned from the group membership query.
4726	RoleName *string `locationName:"roleName" type:"string"`
4727
4728	// The LDAP search filter used to find roles within the roleBase. The distinguished
4729	// name of the user matched by userSearchMatching is substituted into the {0}
4730	// placeholder in the search filter. The client's username is substituted into
4731	// the {1} placeholder. For example, if you set this option to (member=uid={1})for
4732	// the user janedoe, the search filter becomes (member=uid=janedoe) after string
4733	// substitution. It matches all role entries that have a member attribute equal
4734	// to uid=janedoe under the subtree selected by the roleBase.
4735	//
4736	// RoleSearchMatching is a required field
4737	RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string" required:"true"`
4738
4739	// The directory search scope for the role. If set to true, scope is to search
4740	// the entire subtree.
4741	RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"`
4742
4743	// Service account username. A service account is an account in your LDAP server
4744	// that has access to initiate a connection. For example, cn=admin,dc=corp,
4745	// dc=example, dc=com.
4746	//
4747	// ServiceAccountUsername is a required field
4748	ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string" required:"true"`
4749
4750	// Select a particular subtree of the directory information tree (DIT) to search
4751	// for user entries. The subtree is specified by a DN, which specifies the base
4752	// node of the subtree. For example, by setting this option to ou=Users,ou=corp,
4753	// dc=corp, dc=example, dc=com, the search for user entries is restricted to
4754	// the subtree beneath ou=Users, ou=corp, dc=corp, dc=example, dc=com.
4755	//
4756	// UserBase is a required field
4757	UserBase *string `locationName:"userBase" type:"string" required:"true"`
4758
4759	// Specifies the name of the LDAP attribute for the user group membership.
4760	UserRoleName *string `locationName:"userRoleName" type:"string"`
4761
4762	// The LDAP search filter used to find users within the userBase. The client's
4763	// username is substituted into the {0} placeholder in the search filter. For
4764	// example, if this option is set to (uid={0}) and the received username is
4765	// janedoe, the search filter becomes (uid=janedoe) after string substitution.
4766	// It will result in matching an entry like uid=janedoe, ou=Users,ou=corp, dc=corp,
4767	// dc=example, dc=com.
4768	//
4769	// UserSearchMatching is a required field
4770	UserSearchMatching *string `locationName:"userSearchMatching" type:"string" required:"true"`
4771
4772	// The directory search scope for the user. If set to true, scope is to search
4773	// the entire subtree.
4774	UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"`
4775}
4776
4777// String returns the string representation
4778func (s LdapServerMetadataOutput) String() string {
4779	return awsutil.Prettify(s)
4780}
4781
4782// GoString returns the string representation
4783func (s LdapServerMetadataOutput) GoString() string {
4784	return s.String()
4785}
4786
4787// SetHosts sets the Hosts field's value.
4788func (s *LdapServerMetadataOutput) SetHosts(v []*string) *LdapServerMetadataOutput {
4789	s.Hosts = v
4790	return s
4791}
4792
4793// SetRoleBase sets the RoleBase field's value.
4794func (s *LdapServerMetadataOutput) SetRoleBase(v string) *LdapServerMetadataOutput {
4795	s.RoleBase = &v
4796	return s
4797}
4798
4799// SetRoleName sets the RoleName field's value.
4800func (s *LdapServerMetadataOutput) SetRoleName(v string) *LdapServerMetadataOutput {
4801	s.RoleName = &v
4802	return s
4803}
4804
4805// SetRoleSearchMatching sets the RoleSearchMatching field's value.
4806func (s *LdapServerMetadataOutput) SetRoleSearchMatching(v string) *LdapServerMetadataOutput {
4807	s.RoleSearchMatching = &v
4808	return s
4809}
4810
4811// SetRoleSearchSubtree sets the RoleSearchSubtree field's value.
4812func (s *LdapServerMetadataOutput) SetRoleSearchSubtree(v bool) *LdapServerMetadataOutput {
4813	s.RoleSearchSubtree = &v
4814	return s
4815}
4816
4817// SetServiceAccountUsername sets the ServiceAccountUsername field's value.
4818func (s *LdapServerMetadataOutput) SetServiceAccountUsername(v string) *LdapServerMetadataOutput {
4819	s.ServiceAccountUsername = &v
4820	return s
4821}
4822
4823// SetUserBase sets the UserBase field's value.
4824func (s *LdapServerMetadataOutput) SetUserBase(v string) *LdapServerMetadataOutput {
4825	s.UserBase = &v
4826	return s
4827}
4828
4829// SetUserRoleName sets the UserRoleName field's value.
4830func (s *LdapServerMetadataOutput) SetUserRoleName(v string) *LdapServerMetadataOutput {
4831	s.UserRoleName = &v
4832	return s
4833}
4834
4835// SetUserSearchMatching sets the UserSearchMatching field's value.
4836func (s *LdapServerMetadataOutput) SetUserSearchMatching(v string) *LdapServerMetadataOutput {
4837	s.UserSearchMatching = &v
4838	return s
4839}
4840
4841// SetUserSearchSubtree sets the UserSearchSubtree field's value.
4842func (s *LdapServerMetadataOutput) SetUserSearchSubtree(v bool) *LdapServerMetadataOutput {
4843	s.UserSearchSubtree = &v
4844	return s
4845}
4846
4847type ListBrokersInput struct {
4848	_ struct{} `type:"structure"`
4849
4850	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4851
4852	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4853}
4854
4855// String returns the string representation
4856func (s ListBrokersInput) String() string {
4857	return awsutil.Prettify(s)
4858}
4859
4860// GoString returns the string representation
4861func (s ListBrokersInput) GoString() string {
4862	return s.String()
4863}
4864
4865// Validate inspects the fields of the type to determine if they are valid.
4866func (s *ListBrokersInput) Validate() error {
4867	invalidParams := request.ErrInvalidParams{Context: "ListBrokersInput"}
4868	if s.MaxResults != nil && *s.MaxResults < 1 {
4869		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4870	}
4871
4872	if invalidParams.Len() > 0 {
4873		return invalidParams
4874	}
4875	return nil
4876}
4877
4878// SetMaxResults sets the MaxResults field's value.
4879func (s *ListBrokersInput) SetMaxResults(v int64) *ListBrokersInput {
4880	s.MaxResults = &v
4881	return s
4882}
4883
4884// SetNextToken sets the NextToken field's value.
4885func (s *ListBrokersInput) SetNextToken(v string) *ListBrokersInput {
4886	s.NextToken = &v
4887	return s
4888}
4889
4890type ListBrokersResponse struct {
4891	_ struct{} `type:"structure"`
4892
4893	BrokerSummaries []*BrokerSummary `locationName:"brokerSummaries" type:"list"`
4894
4895	NextToken *string `locationName:"nextToken" type:"string"`
4896}
4897
4898// String returns the string representation
4899func (s ListBrokersResponse) String() string {
4900	return awsutil.Prettify(s)
4901}
4902
4903// GoString returns the string representation
4904func (s ListBrokersResponse) GoString() string {
4905	return s.String()
4906}
4907
4908// SetBrokerSummaries sets the BrokerSummaries field's value.
4909func (s *ListBrokersResponse) SetBrokerSummaries(v []*BrokerSummary) *ListBrokersResponse {
4910	s.BrokerSummaries = v
4911	return s
4912}
4913
4914// SetNextToken sets the NextToken field's value.
4915func (s *ListBrokersResponse) SetNextToken(v string) *ListBrokersResponse {
4916	s.NextToken = &v
4917	return s
4918}
4919
4920type ListConfigurationRevisionsInput struct {
4921	_ struct{} `type:"structure"`
4922
4923	// ConfigurationId is a required field
4924	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
4925
4926	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4927
4928	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4929}
4930
4931// String returns the string representation
4932func (s ListConfigurationRevisionsInput) String() string {
4933	return awsutil.Prettify(s)
4934}
4935
4936// GoString returns the string representation
4937func (s ListConfigurationRevisionsInput) GoString() string {
4938	return s.String()
4939}
4940
4941// Validate inspects the fields of the type to determine if they are valid.
4942func (s *ListConfigurationRevisionsInput) Validate() error {
4943	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationRevisionsInput"}
4944	if s.ConfigurationId == nil {
4945		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
4946	}
4947	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
4948		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
4949	}
4950	if s.MaxResults != nil && *s.MaxResults < 1 {
4951		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4952	}
4953
4954	if invalidParams.Len() > 0 {
4955		return invalidParams
4956	}
4957	return nil
4958}
4959
4960// SetConfigurationId sets the ConfigurationId field's value.
4961func (s *ListConfigurationRevisionsInput) SetConfigurationId(v string) *ListConfigurationRevisionsInput {
4962	s.ConfigurationId = &v
4963	return s
4964}
4965
4966// SetMaxResults sets the MaxResults field's value.
4967func (s *ListConfigurationRevisionsInput) SetMaxResults(v int64) *ListConfigurationRevisionsInput {
4968	s.MaxResults = &v
4969	return s
4970}
4971
4972// SetNextToken sets the NextToken field's value.
4973func (s *ListConfigurationRevisionsInput) SetNextToken(v string) *ListConfigurationRevisionsInput {
4974	s.NextToken = &v
4975	return s
4976}
4977
4978type ListConfigurationRevisionsResponse struct {
4979	_ struct{} `type:"structure"`
4980
4981	ConfigurationId *string `locationName:"configurationId" type:"string"`
4982
4983	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4984
4985	NextToken *string `locationName:"nextToken" type:"string"`
4986
4987	Revisions []*ConfigurationRevision `locationName:"revisions" type:"list"`
4988}
4989
4990// String returns the string representation
4991func (s ListConfigurationRevisionsResponse) String() string {
4992	return awsutil.Prettify(s)
4993}
4994
4995// GoString returns the string representation
4996func (s ListConfigurationRevisionsResponse) GoString() string {
4997	return s.String()
4998}
4999
5000// SetConfigurationId sets the ConfigurationId field's value.
5001func (s *ListConfigurationRevisionsResponse) SetConfigurationId(v string) *ListConfigurationRevisionsResponse {
5002	s.ConfigurationId = &v
5003	return s
5004}
5005
5006// SetMaxResults sets the MaxResults field's value.
5007func (s *ListConfigurationRevisionsResponse) SetMaxResults(v int64) *ListConfigurationRevisionsResponse {
5008	s.MaxResults = &v
5009	return s
5010}
5011
5012// SetNextToken sets the NextToken field's value.
5013func (s *ListConfigurationRevisionsResponse) SetNextToken(v string) *ListConfigurationRevisionsResponse {
5014	s.NextToken = &v
5015	return s
5016}
5017
5018// SetRevisions sets the Revisions field's value.
5019func (s *ListConfigurationRevisionsResponse) SetRevisions(v []*ConfigurationRevision) *ListConfigurationRevisionsResponse {
5020	s.Revisions = v
5021	return s
5022}
5023
5024type ListConfigurationsInput struct {
5025	_ struct{} `type:"structure"`
5026
5027	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5028
5029	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5030}
5031
5032// String returns the string representation
5033func (s ListConfigurationsInput) String() string {
5034	return awsutil.Prettify(s)
5035}
5036
5037// GoString returns the string representation
5038func (s ListConfigurationsInput) GoString() string {
5039	return s.String()
5040}
5041
5042// Validate inspects the fields of the type to determine if they are valid.
5043func (s *ListConfigurationsInput) Validate() error {
5044	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"}
5045	if s.MaxResults != nil && *s.MaxResults < 1 {
5046		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5047	}
5048
5049	if invalidParams.Len() > 0 {
5050		return invalidParams
5051	}
5052	return nil
5053}
5054
5055// SetMaxResults sets the MaxResults field's value.
5056func (s *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput {
5057	s.MaxResults = &v
5058	return s
5059}
5060
5061// SetNextToken sets the NextToken field's value.
5062func (s *ListConfigurationsInput) SetNextToken(v string) *ListConfigurationsInput {
5063	s.NextToken = &v
5064	return s
5065}
5066
5067type ListConfigurationsResponse struct {
5068	_ struct{} `type:"structure"`
5069
5070	Configurations []*Configuration `locationName:"configurations" type:"list"`
5071
5072	MaxResults *int64 `locationName:"maxResults" type:"integer"`
5073
5074	NextToken *string `locationName:"nextToken" type:"string"`
5075}
5076
5077// String returns the string representation
5078func (s ListConfigurationsResponse) String() string {
5079	return awsutil.Prettify(s)
5080}
5081
5082// GoString returns the string representation
5083func (s ListConfigurationsResponse) GoString() string {
5084	return s.String()
5085}
5086
5087// SetConfigurations sets the Configurations field's value.
5088func (s *ListConfigurationsResponse) SetConfigurations(v []*Configuration) *ListConfigurationsResponse {
5089	s.Configurations = v
5090	return s
5091}
5092
5093// SetMaxResults sets the MaxResults field's value.
5094func (s *ListConfigurationsResponse) SetMaxResults(v int64) *ListConfigurationsResponse {
5095	s.MaxResults = &v
5096	return s
5097}
5098
5099// SetNextToken sets the NextToken field's value.
5100func (s *ListConfigurationsResponse) SetNextToken(v string) *ListConfigurationsResponse {
5101	s.NextToken = &v
5102	return s
5103}
5104
5105type ListTagsInput struct {
5106	_ struct{} `type:"structure"`
5107
5108	// ResourceArn is a required field
5109	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
5110}
5111
5112// String returns the string representation
5113func (s ListTagsInput) String() string {
5114	return awsutil.Prettify(s)
5115}
5116
5117// GoString returns the string representation
5118func (s ListTagsInput) GoString() string {
5119	return s.String()
5120}
5121
5122// Validate inspects the fields of the type to determine if they are valid.
5123func (s *ListTagsInput) Validate() error {
5124	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
5125	if s.ResourceArn == nil {
5126		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5127	}
5128	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5129		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5130	}
5131
5132	if invalidParams.Len() > 0 {
5133		return invalidParams
5134	}
5135	return nil
5136}
5137
5138// SetResourceArn sets the ResourceArn field's value.
5139func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
5140	s.ResourceArn = &v
5141	return s
5142}
5143
5144type ListTagsOutput struct {
5145	_ struct{} `type:"structure"`
5146
5147	Tags map[string]*string `locationName:"tags" type:"map"`
5148}
5149
5150// String returns the string representation
5151func (s ListTagsOutput) String() string {
5152	return awsutil.Prettify(s)
5153}
5154
5155// GoString returns the string representation
5156func (s ListTagsOutput) GoString() string {
5157	return s.String()
5158}
5159
5160// SetTags sets the Tags field's value.
5161func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
5162	s.Tags = v
5163	return s
5164}
5165
5166type ListUsersInput struct {
5167	_ struct{} `type:"structure"`
5168
5169	// BrokerId is a required field
5170	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
5171
5172	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5173
5174	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5175}
5176
5177// String returns the string representation
5178func (s ListUsersInput) String() string {
5179	return awsutil.Prettify(s)
5180}
5181
5182// GoString returns the string representation
5183func (s ListUsersInput) GoString() string {
5184	return s.String()
5185}
5186
5187// Validate inspects the fields of the type to determine if they are valid.
5188func (s *ListUsersInput) Validate() error {
5189	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
5190	if s.BrokerId == nil {
5191		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
5192	}
5193	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
5194		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
5195	}
5196	if s.MaxResults != nil && *s.MaxResults < 1 {
5197		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5198	}
5199
5200	if invalidParams.Len() > 0 {
5201		return invalidParams
5202	}
5203	return nil
5204}
5205
5206// SetBrokerId sets the BrokerId field's value.
5207func (s *ListUsersInput) SetBrokerId(v string) *ListUsersInput {
5208	s.BrokerId = &v
5209	return s
5210}
5211
5212// SetMaxResults sets the MaxResults field's value.
5213func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
5214	s.MaxResults = &v
5215	return s
5216}
5217
5218// SetNextToken sets the NextToken field's value.
5219func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
5220	s.NextToken = &v
5221	return s
5222}
5223
5224type ListUsersResponse struct {
5225	_ struct{} `type:"structure"`
5226
5227	BrokerId *string `locationName:"brokerId" type:"string"`
5228
5229	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
5230
5231	NextToken *string `locationName:"nextToken" type:"string"`
5232
5233	Users []*UserSummary `locationName:"users" type:"list"`
5234}
5235
5236// String returns the string representation
5237func (s ListUsersResponse) String() string {
5238	return awsutil.Prettify(s)
5239}
5240
5241// GoString returns the string representation
5242func (s ListUsersResponse) GoString() string {
5243	return s.String()
5244}
5245
5246// SetBrokerId sets the BrokerId field's value.
5247func (s *ListUsersResponse) SetBrokerId(v string) *ListUsersResponse {
5248	s.BrokerId = &v
5249	return s
5250}
5251
5252// SetMaxResults sets the MaxResults field's value.
5253func (s *ListUsersResponse) SetMaxResults(v int64) *ListUsersResponse {
5254	s.MaxResults = &v
5255	return s
5256}
5257
5258// SetNextToken sets the NextToken field's value.
5259func (s *ListUsersResponse) SetNextToken(v string) *ListUsersResponse {
5260	s.NextToken = &v
5261	return s
5262}
5263
5264// SetUsers sets the Users field's value.
5265func (s *ListUsersResponse) SetUsers(v []*UserSummary) *ListUsersResponse {
5266	s.Users = v
5267	return s
5268}
5269
5270// The list of information about logs to be enabled for the specified broker.
5271type Logs struct {
5272	_ struct{} `type:"structure"`
5273
5274	// Enables audit logging. Every user management action made using JMX or the
5275	// ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.
5276	Audit *bool `locationName:"audit" type:"boolean"`
5277
5278	// Enables general logging.
5279	General *bool `locationName:"general" type:"boolean"`
5280}
5281
5282// String returns the string representation
5283func (s Logs) String() string {
5284	return awsutil.Prettify(s)
5285}
5286
5287// GoString returns the string representation
5288func (s Logs) GoString() string {
5289	return s.String()
5290}
5291
5292// SetAudit sets the Audit field's value.
5293func (s *Logs) SetAudit(v bool) *Logs {
5294	s.Audit = &v
5295	return s
5296}
5297
5298// SetGeneral sets the General field's value.
5299func (s *Logs) SetGeneral(v bool) *Logs {
5300	s.General = &v
5301	return s
5302}
5303
5304// The list of information about logs currently enabled and pending to be deployed
5305// for the specified broker.
5306type LogsSummary struct {
5307	_ struct{} `type:"structure"`
5308
5309	// Enables audit logging. Every user management action made using JMX or the
5310	// ActiveMQ Web Console is logged.
5311	Audit *bool `locationName:"audit" type:"boolean"`
5312
5313	// The location of the CloudWatch Logs log group where audit logs are sent.
5314	AuditLogGroup *string `locationName:"auditLogGroup" type:"string"`
5315
5316	// Enables general logging.
5317	//
5318	// General is a required field
5319	General *bool `locationName:"general" type:"boolean" required:"true"`
5320
5321	// The location of the CloudWatch Logs log group where general logs are sent.
5322	//
5323	// GeneralLogGroup is a required field
5324	GeneralLogGroup *string `locationName:"generalLogGroup" type:"string" required:"true"`
5325
5326	// The list of information about logs pending to be deployed for the specified
5327	// broker.
5328	Pending *PendingLogs `locationName:"pending" type:"structure"`
5329}
5330
5331// String returns the string representation
5332func (s LogsSummary) String() string {
5333	return awsutil.Prettify(s)
5334}
5335
5336// GoString returns the string representation
5337func (s LogsSummary) GoString() string {
5338	return s.String()
5339}
5340
5341// SetAudit sets the Audit field's value.
5342func (s *LogsSummary) SetAudit(v bool) *LogsSummary {
5343	s.Audit = &v
5344	return s
5345}
5346
5347// SetAuditLogGroup sets the AuditLogGroup field's value.
5348func (s *LogsSummary) SetAuditLogGroup(v string) *LogsSummary {
5349	s.AuditLogGroup = &v
5350	return s
5351}
5352
5353// SetGeneral sets the General field's value.
5354func (s *LogsSummary) SetGeneral(v bool) *LogsSummary {
5355	s.General = &v
5356	return s
5357}
5358
5359// SetGeneralLogGroup sets the GeneralLogGroup field's value.
5360func (s *LogsSummary) SetGeneralLogGroup(v string) *LogsSummary {
5361	s.GeneralLogGroup = &v
5362	return s
5363}
5364
5365// SetPending sets the Pending field's value.
5366func (s *LogsSummary) SetPending(v *PendingLogs) *LogsSummary {
5367	s.Pending = v
5368	return s
5369}
5370
5371// Returns information about an error.
5372type NotFoundException struct {
5373	_            struct{}                  `type:"structure"`
5374	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5375
5376	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
5377
5378	Message_ *string `locationName:"message" type:"string"`
5379}
5380
5381// String returns the string representation
5382func (s NotFoundException) String() string {
5383	return awsutil.Prettify(s)
5384}
5385
5386// GoString returns the string representation
5387func (s NotFoundException) GoString() string {
5388	return s.String()
5389}
5390
5391func newErrorNotFoundException(v protocol.ResponseMetadata) error {
5392	return &NotFoundException{
5393		RespMetadata: v,
5394	}
5395}
5396
5397// Code returns the exception type name.
5398func (s *NotFoundException) Code() string {
5399	return "NotFoundException"
5400}
5401
5402// Message returns the exception's message.
5403func (s *NotFoundException) Message() string {
5404	if s.Message_ != nil {
5405		return *s.Message_
5406	}
5407	return ""
5408}
5409
5410// OrigErr always returns nil, satisfies awserr.Error interface.
5411func (s *NotFoundException) OrigErr() error {
5412	return nil
5413}
5414
5415func (s *NotFoundException) Error() string {
5416	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5417}
5418
5419// Status code returns the HTTP status code for the request's response error.
5420func (s *NotFoundException) StatusCode() int {
5421	return s.RespMetadata.StatusCode
5422}
5423
5424// RequestID returns the service's response RequestID for request.
5425func (s *NotFoundException) RequestID() string {
5426	return s.RespMetadata.RequestID
5427}
5428
5429// The list of information about logs to be enabled for the specified broker.
5430type PendingLogs struct {
5431	_ struct{} `type:"structure"`
5432
5433	// Enables audit logging. Every user management action made using JMX or the
5434	// ActiveMQ Web Console is logged.
5435	Audit *bool `locationName:"audit" type:"boolean"`
5436
5437	// Enables general logging.
5438	General *bool `locationName:"general" type:"boolean"`
5439}
5440
5441// String returns the string representation
5442func (s PendingLogs) String() string {
5443	return awsutil.Prettify(s)
5444}
5445
5446// GoString returns the string representation
5447func (s PendingLogs) GoString() string {
5448	return s.String()
5449}
5450
5451// SetAudit sets the Audit field's value.
5452func (s *PendingLogs) SetAudit(v bool) *PendingLogs {
5453	s.Audit = &v
5454	return s
5455}
5456
5457// SetGeneral sets the General field's value.
5458func (s *PendingLogs) SetGeneral(v bool) *PendingLogs {
5459	s.General = &v
5460	return s
5461}
5462
5463type RebootBrokerInput struct {
5464	_ struct{} `type:"structure"`
5465
5466	// BrokerId is a required field
5467	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
5468}
5469
5470// String returns the string representation
5471func (s RebootBrokerInput) String() string {
5472	return awsutil.Prettify(s)
5473}
5474
5475// GoString returns the string representation
5476func (s RebootBrokerInput) GoString() string {
5477	return s.String()
5478}
5479
5480// Validate inspects the fields of the type to determine if they are valid.
5481func (s *RebootBrokerInput) Validate() error {
5482	invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"}
5483	if s.BrokerId == nil {
5484		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
5485	}
5486	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
5487		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
5488	}
5489
5490	if invalidParams.Len() > 0 {
5491		return invalidParams
5492	}
5493	return nil
5494}
5495
5496// SetBrokerId sets the BrokerId field's value.
5497func (s *RebootBrokerInput) SetBrokerId(v string) *RebootBrokerInput {
5498	s.BrokerId = &v
5499	return s
5500}
5501
5502type RebootBrokerOutput struct {
5503	_ struct{} `type:"structure"`
5504}
5505
5506// String returns the string representation
5507func (s RebootBrokerOutput) String() string {
5508	return awsutil.Prettify(s)
5509}
5510
5511// GoString returns the string representation
5512func (s RebootBrokerOutput) GoString() string {
5513	return s.String()
5514}
5515
5516// Returns information about the XML element or attribute that was sanitized
5517// in the configuration.
5518type SanitizationWarning struct {
5519	_ struct{} `type:"structure"`
5520
5521	// The name of the XML attribute that has been sanitized.
5522	AttributeName *string `locationName:"attributeName" type:"string"`
5523
5524	// The name of the XML element that has been sanitized.
5525	ElementName *string `locationName:"elementName" type:"string"`
5526
5527	// Required. The reason for which the XML elements or attributes were sanitized.
5528	//
5529	// Reason is a required field
5530	Reason *string `locationName:"reason" type:"string" required:"true" enum:"SanitizationWarningReason"`
5531}
5532
5533// String returns the string representation
5534func (s SanitizationWarning) String() string {
5535	return awsutil.Prettify(s)
5536}
5537
5538// GoString returns the string representation
5539func (s SanitizationWarning) GoString() string {
5540	return s.String()
5541}
5542
5543// SetAttributeName sets the AttributeName field's value.
5544func (s *SanitizationWarning) SetAttributeName(v string) *SanitizationWarning {
5545	s.AttributeName = &v
5546	return s
5547}
5548
5549// SetElementName sets the ElementName field's value.
5550func (s *SanitizationWarning) SetElementName(v string) *SanitizationWarning {
5551	s.ElementName = &v
5552	return s
5553}
5554
5555// SetReason sets the Reason field's value.
5556func (s *SanitizationWarning) SetReason(v string) *SanitizationWarning {
5557	s.Reason = &v
5558	return s
5559}
5560
5561// Returns information about an error.
5562type UnauthorizedException struct {
5563	_            struct{}                  `type:"structure"`
5564	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5565
5566	ErrorAttribute *string `locationName:"errorAttribute" type:"string"`
5567
5568	Message_ *string `locationName:"message" type:"string"`
5569}
5570
5571// String returns the string representation
5572func (s UnauthorizedException) String() string {
5573	return awsutil.Prettify(s)
5574}
5575
5576// GoString returns the string representation
5577func (s UnauthorizedException) GoString() string {
5578	return s.String()
5579}
5580
5581func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
5582	return &UnauthorizedException{
5583		RespMetadata: v,
5584	}
5585}
5586
5587// Code returns the exception type name.
5588func (s *UnauthorizedException) Code() string {
5589	return "UnauthorizedException"
5590}
5591
5592// Message returns the exception's message.
5593func (s *UnauthorizedException) Message() string {
5594	if s.Message_ != nil {
5595		return *s.Message_
5596	}
5597	return ""
5598}
5599
5600// OrigErr always returns nil, satisfies awserr.Error interface.
5601func (s *UnauthorizedException) OrigErr() error {
5602	return nil
5603}
5604
5605func (s *UnauthorizedException) Error() string {
5606	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5607}
5608
5609// Status code returns the HTTP status code for the request's response error.
5610func (s *UnauthorizedException) StatusCode() int {
5611	return s.RespMetadata.StatusCode
5612}
5613
5614// RequestID returns the service's response RequestID for request.
5615func (s *UnauthorizedException) RequestID() string {
5616	return s.RespMetadata.RequestID
5617}
5618
5619type UpdateBrokerRequest struct {
5620	_ struct{} `type:"structure"`
5621
5622	// Optional. The authentication strategy used to secure the broker. The default
5623	// is SIMPLE.
5624	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
5625
5626	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
5627
5628	// BrokerId is a required field
5629	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
5630
5631	// A list of information about the configuration.
5632	//
5633	// Does not apply to RabbitMQ brokers.
5634	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
5635
5636	EngineVersion *string `locationName:"engineVersion" type:"string"`
5637
5638	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
5639
5640	// Optional. The metadata of the LDAP server used to authenticate and authorize
5641	// connections to the broker.
5642	//
5643	// Does not apply to RabbitMQ brokers.
5644	LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"`
5645
5646	// The list of information about logs to be enabled for the specified broker.
5647	Logs *Logs `locationName:"logs" type:"structure"`
5648
5649	// The scheduled time period relative to UTC during which Amazon MQ begins to
5650	// apply pending updates or patches to the broker.
5651	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
5652
5653	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
5654}
5655
5656// String returns the string representation
5657func (s UpdateBrokerRequest) String() string {
5658	return awsutil.Prettify(s)
5659}
5660
5661// GoString returns the string representation
5662func (s UpdateBrokerRequest) GoString() string {
5663	return s.String()
5664}
5665
5666// Validate inspects the fields of the type to determine if they are valid.
5667func (s *UpdateBrokerRequest) Validate() error {
5668	invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerRequest"}
5669	if s.BrokerId == nil {
5670		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
5671	}
5672	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
5673		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
5674	}
5675	if s.Configuration != nil {
5676		if err := s.Configuration.Validate(); err != nil {
5677			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
5678		}
5679	}
5680	if s.LdapServerMetadata != nil {
5681		if err := s.LdapServerMetadata.Validate(); err != nil {
5682			invalidParams.AddNested("LdapServerMetadata", err.(request.ErrInvalidParams))
5683		}
5684	}
5685	if s.MaintenanceWindowStartTime != nil {
5686		if err := s.MaintenanceWindowStartTime.Validate(); err != nil {
5687			invalidParams.AddNested("MaintenanceWindowStartTime", err.(request.ErrInvalidParams))
5688		}
5689	}
5690
5691	if invalidParams.Len() > 0 {
5692		return invalidParams
5693	}
5694	return nil
5695}
5696
5697// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
5698func (s *UpdateBrokerRequest) SetAuthenticationStrategy(v string) *UpdateBrokerRequest {
5699	s.AuthenticationStrategy = &v
5700	return s
5701}
5702
5703// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
5704func (s *UpdateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerRequest {
5705	s.AutoMinorVersionUpgrade = &v
5706	return s
5707}
5708
5709// SetBrokerId sets the BrokerId field's value.
5710func (s *UpdateBrokerRequest) SetBrokerId(v string) *UpdateBrokerRequest {
5711	s.BrokerId = &v
5712	return s
5713}
5714
5715// SetConfiguration sets the Configuration field's value.
5716func (s *UpdateBrokerRequest) SetConfiguration(v *ConfigurationId) *UpdateBrokerRequest {
5717	s.Configuration = v
5718	return s
5719}
5720
5721// SetEngineVersion sets the EngineVersion field's value.
5722func (s *UpdateBrokerRequest) SetEngineVersion(v string) *UpdateBrokerRequest {
5723	s.EngineVersion = &v
5724	return s
5725}
5726
5727// SetHostInstanceType sets the HostInstanceType field's value.
5728func (s *UpdateBrokerRequest) SetHostInstanceType(v string) *UpdateBrokerRequest {
5729	s.HostInstanceType = &v
5730	return s
5731}
5732
5733// SetLdapServerMetadata sets the LdapServerMetadata field's value.
5734func (s *UpdateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *UpdateBrokerRequest {
5735	s.LdapServerMetadata = v
5736	return s
5737}
5738
5739// SetLogs sets the Logs field's value.
5740func (s *UpdateBrokerRequest) SetLogs(v *Logs) *UpdateBrokerRequest {
5741	s.Logs = v
5742	return s
5743}
5744
5745// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
5746func (s *UpdateBrokerRequest) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *UpdateBrokerRequest {
5747	s.MaintenanceWindowStartTime = v
5748	return s
5749}
5750
5751// SetSecurityGroups sets the SecurityGroups field's value.
5752func (s *UpdateBrokerRequest) SetSecurityGroups(v []*string) *UpdateBrokerRequest {
5753	s.SecurityGroups = v
5754	return s
5755}
5756
5757type UpdateBrokerResponse struct {
5758	_ struct{} `type:"structure"`
5759
5760	// Optional. The authentication strategy used to secure the broker. The default
5761	// is SIMPLE.
5762	AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"`
5763
5764	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
5765
5766	BrokerId *string `locationName:"brokerId" type:"string"`
5767
5768	// A list of information about the configuration.
5769	//
5770	// Does not apply to RabbitMQ brokers.
5771	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
5772
5773	EngineVersion *string `locationName:"engineVersion" type:"string"`
5774
5775	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
5776
5777	// Optional. The metadata of the LDAP server used to authenticate and authorize
5778	// connections to the broker.
5779	LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"`
5780
5781	// The list of information about logs to be enabled for the specified broker.
5782	Logs *Logs `locationName:"logs" type:"structure"`
5783
5784	// The scheduled time period relative to UTC during which Amazon MQ begins to
5785	// apply pending updates or patches to the broker.
5786	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
5787
5788	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
5789}
5790
5791// String returns the string representation
5792func (s UpdateBrokerResponse) String() string {
5793	return awsutil.Prettify(s)
5794}
5795
5796// GoString returns the string representation
5797func (s UpdateBrokerResponse) GoString() string {
5798	return s.String()
5799}
5800
5801// SetAuthenticationStrategy sets the AuthenticationStrategy field's value.
5802func (s *UpdateBrokerResponse) SetAuthenticationStrategy(v string) *UpdateBrokerResponse {
5803	s.AuthenticationStrategy = &v
5804	return s
5805}
5806
5807// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
5808func (s *UpdateBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerResponse {
5809	s.AutoMinorVersionUpgrade = &v
5810	return s
5811}
5812
5813// SetBrokerId sets the BrokerId field's value.
5814func (s *UpdateBrokerResponse) SetBrokerId(v string) *UpdateBrokerResponse {
5815	s.BrokerId = &v
5816	return s
5817}
5818
5819// SetConfiguration sets the Configuration field's value.
5820func (s *UpdateBrokerResponse) SetConfiguration(v *ConfigurationId) *UpdateBrokerResponse {
5821	s.Configuration = v
5822	return s
5823}
5824
5825// SetEngineVersion sets the EngineVersion field's value.
5826func (s *UpdateBrokerResponse) SetEngineVersion(v string) *UpdateBrokerResponse {
5827	s.EngineVersion = &v
5828	return s
5829}
5830
5831// SetHostInstanceType sets the HostInstanceType field's value.
5832func (s *UpdateBrokerResponse) SetHostInstanceType(v string) *UpdateBrokerResponse {
5833	s.HostInstanceType = &v
5834	return s
5835}
5836
5837// SetLdapServerMetadata sets the LdapServerMetadata field's value.
5838func (s *UpdateBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *UpdateBrokerResponse {
5839	s.LdapServerMetadata = v
5840	return s
5841}
5842
5843// SetLogs sets the Logs field's value.
5844func (s *UpdateBrokerResponse) SetLogs(v *Logs) *UpdateBrokerResponse {
5845	s.Logs = v
5846	return s
5847}
5848
5849// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
5850func (s *UpdateBrokerResponse) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *UpdateBrokerResponse {
5851	s.MaintenanceWindowStartTime = v
5852	return s
5853}
5854
5855// SetSecurityGroups sets the SecurityGroups field's value.
5856func (s *UpdateBrokerResponse) SetSecurityGroups(v []*string) *UpdateBrokerResponse {
5857	s.SecurityGroups = v
5858	return s
5859}
5860
5861type UpdateConfigurationRequest struct {
5862	_ struct{} `type:"structure"`
5863
5864	// ConfigurationId is a required field
5865	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
5866
5867	// Data is a required field
5868	Data *string `locationName:"data" type:"string" required:"true"`
5869
5870	Description *string `locationName:"description" type:"string"`
5871}
5872
5873// String returns the string representation
5874func (s UpdateConfigurationRequest) String() string {
5875	return awsutil.Prettify(s)
5876}
5877
5878// GoString returns the string representation
5879func (s UpdateConfigurationRequest) GoString() string {
5880	return s.String()
5881}
5882
5883// Validate inspects the fields of the type to determine if they are valid.
5884func (s *UpdateConfigurationRequest) Validate() error {
5885	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationRequest"}
5886	if s.ConfigurationId == nil {
5887		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
5888	}
5889	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
5890		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
5891	}
5892	if s.Data == nil {
5893		invalidParams.Add(request.NewErrParamRequired("Data"))
5894	}
5895
5896	if invalidParams.Len() > 0 {
5897		return invalidParams
5898	}
5899	return nil
5900}
5901
5902// SetConfigurationId sets the ConfigurationId field's value.
5903func (s *UpdateConfigurationRequest) SetConfigurationId(v string) *UpdateConfigurationRequest {
5904	s.ConfigurationId = &v
5905	return s
5906}
5907
5908// SetData sets the Data field's value.
5909func (s *UpdateConfigurationRequest) SetData(v string) *UpdateConfigurationRequest {
5910	s.Data = &v
5911	return s
5912}
5913
5914// SetDescription sets the Description field's value.
5915func (s *UpdateConfigurationRequest) SetDescription(v string) *UpdateConfigurationRequest {
5916	s.Description = &v
5917	return s
5918}
5919
5920type UpdateConfigurationResponse struct {
5921	_ struct{} `type:"structure"`
5922
5923	Arn *string `locationName:"arn" type:"string"`
5924
5925	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
5926
5927	Id *string `locationName:"id" type:"string"`
5928
5929	// Returns information about the specified configuration revision.
5930	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
5931
5932	Name *string `locationName:"name" type:"string"`
5933
5934	Warnings []*SanitizationWarning `locationName:"warnings" type:"list"`
5935}
5936
5937// String returns the string representation
5938func (s UpdateConfigurationResponse) String() string {
5939	return awsutil.Prettify(s)
5940}
5941
5942// GoString returns the string representation
5943func (s UpdateConfigurationResponse) GoString() string {
5944	return s.String()
5945}
5946
5947// SetArn sets the Arn field's value.
5948func (s *UpdateConfigurationResponse) SetArn(v string) *UpdateConfigurationResponse {
5949	s.Arn = &v
5950	return s
5951}
5952
5953// SetCreated sets the Created field's value.
5954func (s *UpdateConfigurationResponse) SetCreated(v time.Time) *UpdateConfigurationResponse {
5955	s.Created = &v
5956	return s
5957}
5958
5959// SetId sets the Id field's value.
5960func (s *UpdateConfigurationResponse) SetId(v string) *UpdateConfigurationResponse {
5961	s.Id = &v
5962	return s
5963}
5964
5965// SetLatestRevision sets the LatestRevision field's value.
5966func (s *UpdateConfigurationResponse) SetLatestRevision(v *ConfigurationRevision) *UpdateConfigurationResponse {
5967	s.LatestRevision = v
5968	return s
5969}
5970
5971// SetName sets the Name field's value.
5972func (s *UpdateConfigurationResponse) SetName(v string) *UpdateConfigurationResponse {
5973	s.Name = &v
5974	return s
5975}
5976
5977// SetWarnings sets the Warnings field's value.
5978func (s *UpdateConfigurationResponse) SetWarnings(v []*SanitizationWarning) *UpdateConfigurationResponse {
5979	s.Warnings = v
5980	return s
5981}
5982
5983type UpdateUserOutput struct {
5984	_ struct{} `type:"structure"`
5985}
5986
5987// String returns the string representation
5988func (s UpdateUserOutput) String() string {
5989	return awsutil.Prettify(s)
5990}
5991
5992// GoString returns the string representation
5993func (s UpdateUserOutput) GoString() string {
5994	return s.String()
5995}
5996
5997type UpdateUserRequest struct {
5998	_ struct{} `type:"structure"`
5999
6000	// BrokerId is a required field
6001	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
6002
6003	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
6004
6005	Groups []*string `locationName:"groups" type:"list"`
6006
6007	Password *string `locationName:"password" type:"string"`
6008
6009	// Username is a required field
6010	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
6011}
6012
6013// String returns the string representation
6014func (s UpdateUserRequest) String() string {
6015	return awsutil.Prettify(s)
6016}
6017
6018// GoString returns the string representation
6019func (s UpdateUserRequest) GoString() string {
6020	return s.String()
6021}
6022
6023// Validate inspects the fields of the type to determine if they are valid.
6024func (s *UpdateUserRequest) Validate() error {
6025	invalidParams := request.ErrInvalidParams{Context: "UpdateUserRequest"}
6026	if s.BrokerId == nil {
6027		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
6028	}
6029	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
6030		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
6031	}
6032	if s.Username == nil {
6033		invalidParams.Add(request.NewErrParamRequired("Username"))
6034	}
6035	if s.Username != nil && len(*s.Username) < 1 {
6036		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
6037	}
6038
6039	if invalidParams.Len() > 0 {
6040		return invalidParams
6041	}
6042	return nil
6043}
6044
6045// SetBrokerId sets the BrokerId field's value.
6046func (s *UpdateUserRequest) SetBrokerId(v string) *UpdateUserRequest {
6047	s.BrokerId = &v
6048	return s
6049}
6050
6051// SetConsoleAccess sets the ConsoleAccess field's value.
6052func (s *UpdateUserRequest) SetConsoleAccess(v bool) *UpdateUserRequest {
6053	s.ConsoleAccess = &v
6054	return s
6055}
6056
6057// SetGroups sets the Groups field's value.
6058func (s *UpdateUserRequest) SetGroups(v []*string) *UpdateUserRequest {
6059	s.Groups = v
6060	return s
6061}
6062
6063// SetPassword sets the Password field's value.
6064func (s *UpdateUserRequest) SetPassword(v string) *UpdateUserRequest {
6065	s.Password = &v
6066	return s
6067}
6068
6069// SetUsername sets the Username field's value.
6070func (s *UpdateUserRequest) SetUsername(v string) *UpdateUserRequest {
6071	s.Username = &v
6072	return s
6073}
6074
6075// A user associated with the broker. For RabbitMQ brokers, one and only one
6076// administrative user is accepted and created when a broker is first provisioned.
6077// All subsequent broker users are created by making RabbitMQ API calls directly
6078// to brokers or via the RabbitMQ web console.
6079type User struct {
6080	_ struct{} `type:"structure"`
6081
6082	// Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not
6083	// apply to RabbitMQ brokers.
6084	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
6085
6086	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This
6087	// value can contain only alphanumeric characters, dashes, periods, underscores,
6088	// and tildes (- . _ ~). This value must be 2-100 characters long. Does not
6089	// apply to RabbitMQ brokers.
6090	Groups []*string `locationName:"groups" type:"list"`
6091
6092	// Required. The password of the user. This value must be at least 12 characters
6093	// long, must contain at least 4 unique characters, and must not contain commas,
6094	// colons, or equal signs (,:=).
6095	//
6096	// Password is a required field
6097	Password *string `locationName:"password" type:"string" required:"true"`
6098
6099	// important>Amazon MQ for ActiveMQ For ActiveMQ brokers, this value can contain
6100	// only alphanumeric characters, dashes, periods, underscores, and tildes (-
6101	// . _ ~). This value must be 2-100 characters long./important> Amazon MQ for
6102	// RabbitMQ
6103	// For RabbitMQ brokers, this value can contain only alphanumeric characters,
6104	// dashes, periods, underscores (- . _). This value must not contain a tilde
6105	// (~) character. Amazon MQ prohibts using guest as a valid usename. This value
6106	// must be 2-100 characters long.
6107	//
6108	// Username is a required field
6109	Username *string `locationName:"username" type:"string" required:"true"`
6110}
6111
6112// String returns the string representation
6113func (s User) String() string {
6114	return awsutil.Prettify(s)
6115}
6116
6117// GoString returns the string representation
6118func (s User) GoString() string {
6119	return s.String()
6120}
6121
6122// Validate inspects the fields of the type to determine if they are valid.
6123func (s *User) Validate() error {
6124	invalidParams := request.ErrInvalidParams{Context: "User"}
6125	if s.Password == nil {
6126		invalidParams.Add(request.NewErrParamRequired("Password"))
6127	}
6128	if s.Username == nil {
6129		invalidParams.Add(request.NewErrParamRequired("Username"))
6130	}
6131
6132	if invalidParams.Len() > 0 {
6133		return invalidParams
6134	}
6135	return nil
6136}
6137
6138// SetConsoleAccess sets the ConsoleAccess field's value.
6139func (s *User) SetConsoleAccess(v bool) *User {
6140	s.ConsoleAccess = &v
6141	return s
6142}
6143
6144// SetGroups sets the Groups field's value.
6145func (s *User) SetGroups(v []*string) *User {
6146	s.Groups = v
6147	return s
6148}
6149
6150// SetPassword sets the Password field's value.
6151func (s *User) SetPassword(v string) *User {
6152	s.Password = &v
6153	return s
6154}
6155
6156// SetUsername sets the Username field's value.
6157func (s *User) SetUsername(v string) *User {
6158	s.Username = &v
6159	return s
6160}
6161
6162// Returns information about the status of the changes pending for the ActiveMQ
6163// user.
6164type UserPendingChanges struct {
6165	_ struct{} `type:"structure"`
6166
6167	// Enables access to the the ActiveMQ Web Console for the ActiveMQ user.
6168	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
6169
6170	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This
6171	// value can contain only alphanumeric characters, dashes, periods, underscores,
6172	// and tildes (- . _ ~). This value must be 2-100 characters long.
6173	Groups []*string `locationName:"groups" type:"list"`
6174
6175	// Required. The type of change pending for the ActiveMQ user.
6176	//
6177	// PendingChange is a required field
6178	PendingChange *string `locationName:"pendingChange" type:"string" required:"true" enum:"ChangeType"`
6179}
6180
6181// String returns the string representation
6182func (s UserPendingChanges) String() string {
6183	return awsutil.Prettify(s)
6184}
6185
6186// GoString returns the string representation
6187func (s UserPendingChanges) GoString() string {
6188	return s.String()
6189}
6190
6191// SetConsoleAccess sets the ConsoleAccess field's value.
6192func (s *UserPendingChanges) SetConsoleAccess(v bool) *UserPendingChanges {
6193	s.ConsoleAccess = &v
6194	return s
6195}
6196
6197// SetGroups sets the Groups field's value.
6198func (s *UserPendingChanges) SetGroups(v []*string) *UserPendingChanges {
6199	s.Groups = v
6200	return s
6201}
6202
6203// SetPendingChange sets the PendingChange field's value.
6204func (s *UserPendingChanges) SetPendingChange(v string) *UserPendingChanges {
6205	s.PendingChange = &v
6206	return s
6207}
6208
6209// Returns a list of all broker users. Does not apply to RabbitMQ brokers.
6210type UserSummary struct {
6211	_ struct{} `type:"structure"`
6212
6213	// The type of change pending for the broker user.
6214	PendingChange *string `locationName:"pendingChange" type:"string" enum:"ChangeType"`
6215
6216	// Required. The username of the broker user. This value can contain only alphanumeric
6217	// characters, dashes, periods, underscores, and tildes (- . _ ~). This value
6218	// must be 2-100 characters long.
6219	//
6220	// Username is a required field
6221	Username *string `locationName:"username" type:"string" required:"true"`
6222}
6223
6224// String returns the string representation
6225func (s UserSummary) String() string {
6226	return awsutil.Prettify(s)
6227}
6228
6229// GoString returns the string representation
6230func (s UserSummary) GoString() string {
6231	return s.String()
6232}
6233
6234// SetPendingChange sets the PendingChange field's value.
6235func (s *UserSummary) SetPendingChange(v string) *UserSummary {
6236	s.PendingChange = &v
6237	return s
6238}
6239
6240// SetUsername sets the Username field's value.
6241func (s *UserSummary) SetUsername(v string) *UserSummary {
6242	s.Username = &v
6243	return s
6244}
6245
6246// The scheduled time period relative to UTC during which Amazon MQ begins to
6247// apply pending updates or patches to the broker.
6248type WeeklyStartTime struct {
6249	_ struct{} `type:"structure"`
6250
6251	// Required. The day of the week.
6252	//
6253	// DayOfWeek is a required field
6254	DayOfWeek *string `locationName:"dayOfWeek" type:"string" required:"true" enum:"DayOfWeek"`
6255
6256	// Required. The time, in 24-hour format.
6257	//
6258	// TimeOfDay is a required field
6259	TimeOfDay *string `locationName:"timeOfDay" type:"string" required:"true"`
6260
6261	// The time zone, UTC by default, in either the Country/City format, or the
6262	// UTC offset format.
6263	TimeZone *string `locationName:"timeZone" type:"string"`
6264}
6265
6266// String returns the string representation
6267func (s WeeklyStartTime) String() string {
6268	return awsutil.Prettify(s)
6269}
6270
6271// GoString returns the string representation
6272func (s WeeklyStartTime) GoString() string {
6273	return s.String()
6274}
6275
6276// Validate inspects the fields of the type to determine if they are valid.
6277func (s *WeeklyStartTime) Validate() error {
6278	invalidParams := request.ErrInvalidParams{Context: "WeeklyStartTime"}
6279	if s.DayOfWeek == nil {
6280		invalidParams.Add(request.NewErrParamRequired("DayOfWeek"))
6281	}
6282	if s.TimeOfDay == nil {
6283		invalidParams.Add(request.NewErrParamRequired("TimeOfDay"))
6284	}
6285
6286	if invalidParams.Len() > 0 {
6287		return invalidParams
6288	}
6289	return nil
6290}
6291
6292// SetDayOfWeek sets the DayOfWeek field's value.
6293func (s *WeeklyStartTime) SetDayOfWeek(v string) *WeeklyStartTime {
6294	s.DayOfWeek = &v
6295	return s
6296}
6297
6298// SetTimeOfDay sets the TimeOfDay field's value.
6299func (s *WeeklyStartTime) SetTimeOfDay(v string) *WeeklyStartTime {
6300	s.TimeOfDay = &v
6301	return s
6302}
6303
6304// SetTimeZone sets the TimeZone field's value.
6305func (s *WeeklyStartTime) SetTimeZone(v string) *WeeklyStartTime {
6306	s.TimeZone = &v
6307	return s
6308}
6309
6310// Optional. The authentication strategy used to secure the broker. The default
6311// is SIMPLE.
6312const (
6313	// AuthenticationStrategySimple is a AuthenticationStrategy enum value
6314	AuthenticationStrategySimple = "SIMPLE"
6315
6316	// AuthenticationStrategyLdap is a AuthenticationStrategy enum value
6317	AuthenticationStrategyLdap = "LDAP"
6318)
6319
6320// AuthenticationStrategy_Values returns all elements of the AuthenticationStrategy enum
6321func AuthenticationStrategy_Values() []string {
6322	return []string{
6323		AuthenticationStrategySimple,
6324		AuthenticationStrategyLdap,
6325	}
6326}
6327
6328// The broker's status.
6329const (
6330	// BrokerStateCreationInProgress is a BrokerState enum value
6331	BrokerStateCreationInProgress = "CREATION_IN_PROGRESS"
6332
6333	// BrokerStateCreationFailed is a BrokerState enum value
6334	BrokerStateCreationFailed = "CREATION_FAILED"
6335
6336	// BrokerStateDeletionInProgress is a BrokerState enum value
6337	BrokerStateDeletionInProgress = "DELETION_IN_PROGRESS"
6338
6339	// BrokerStateRunning is a BrokerState enum value
6340	BrokerStateRunning = "RUNNING"
6341
6342	// BrokerStateRebootInProgress is a BrokerState enum value
6343	BrokerStateRebootInProgress = "REBOOT_IN_PROGRESS"
6344)
6345
6346// BrokerState_Values returns all elements of the BrokerState enum
6347func BrokerState_Values() []string {
6348	return []string{
6349		BrokerStateCreationInProgress,
6350		BrokerStateCreationFailed,
6351		BrokerStateDeletionInProgress,
6352		BrokerStateRunning,
6353		BrokerStateRebootInProgress,
6354	}
6355}
6356
6357// The broker's storage type.
6358//
6359// EFS is not supported for RabbitMQ engine type.
6360const (
6361	// BrokerStorageTypeEbs is a BrokerStorageType enum value
6362	BrokerStorageTypeEbs = "EBS"
6363
6364	// BrokerStorageTypeEfs is a BrokerStorageType enum value
6365	BrokerStorageTypeEfs = "EFS"
6366)
6367
6368// BrokerStorageType_Values returns all elements of the BrokerStorageType enum
6369func BrokerStorageType_Values() []string {
6370	return []string{
6371		BrokerStorageTypeEbs,
6372		BrokerStorageTypeEfs,
6373	}
6374}
6375
6376// The type of change pending for the ActiveMQ user.
6377const (
6378	// ChangeTypeCreate is a ChangeType enum value
6379	ChangeTypeCreate = "CREATE"
6380
6381	// ChangeTypeUpdate is a ChangeType enum value
6382	ChangeTypeUpdate = "UPDATE"
6383
6384	// ChangeTypeDelete is a ChangeType enum value
6385	ChangeTypeDelete = "DELETE"
6386)
6387
6388// ChangeType_Values returns all elements of the ChangeType enum
6389func ChangeType_Values() []string {
6390	return []string{
6391		ChangeTypeCreate,
6392		ChangeTypeUpdate,
6393		ChangeTypeDelete,
6394	}
6395}
6396
6397const (
6398	// DayOfWeekMonday is a DayOfWeek enum value
6399	DayOfWeekMonday = "MONDAY"
6400
6401	// DayOfWeekTuesday is a DayOfWeek enum value
6402	DayOfWeekTuesday = "TUESDAY"
6403
6404	// DayOfWeekWednesday is a DayOfWeek enum value
6405	DayOfWeekWednesday = "WEDNESDAY"
6406
6407	// DayOfWeekThursday is a DayOfWeek enum value
6408	DayOfWeekThursday = "THURSDAY"
6409
6410	// DayOfWeekFriday is a DayOfWeek enum value
6411	DayOfWeekFriday = "FRIDAY"
6412
6413	// DayOfWeekSaturday is a DayOfWeek enum value
6414	DayOfWeekSaturday = "SATURDAY"
6415
6416	// DayOfWeekSunday is a DayOfWeek enum value
6417	DayOfWeekSunday = "SUNDAY"
6418)
6419
6420// DayOfWeek_Values returns all elements of the DayOfWeek enum
6421func DayOfWeek_Values() []string {
6422	return []string{
6423		DayOfWeekMonday,
6424		DayOfWeekTuesday,
6425		DayOfWeekWednesday,
6426		DayOfWeekThursday,
6427		DayOfWeekFriday,
6428		DayOfWeekSaturday,
6429		DayOfWeekSunday,
6430	}
6431}
6432
6433// The broker's deployment mode.
6434const (
6435	// DeploymentModeSingleInstance is a DeploymentMode enum value
6436	DeploymentModeSingleInstance = "SINGLE_INSTANCE"
6437
6438	// DeploymentModeActiveStandbyMultiAz is a DeploymentMode enum value
6439	DeploymentModeActiveStandbyMultiAz = "ACTIVE_STANDBY_MULTI_AZ"
6440
6441	// DeploymentModeClusterMultiAz is a DeploymentMode enum value
6442	DeploymentModeClusterMultiAz = "CLUSTER_MULTI_AZ"
6443)
6444
6445// DeploymentMode_Values returns all elements of the DeploymentMode enum
6446func DeploymentMode_Values() []string {
6447	return []string{
6448		DeploymentModeSingleInstance,
6449		DeploymentModeActiveStandbyMultiAz,
6450		DeploymentModeClusterMultiAz,
6451	}
6452}
6453
6454// The type of broker engine. Amazon MQ supports ActiveMQ and RabbitMQ.
6455const (
6456	// EngineTypeActivemq is a EngineType enum value
6457	EngineTypeActivemq = "ACTIVEMQ"
6458
6459	// EngineTypeRabbitmq is a EngineType enum value
6460	EngineTypeRabbitmq = "RABBITMQ"
6461)
6462
6463// EngineType_Values returns all elements of the EngineType enum
6464func EngineType_Values() []string {
6465	return []string{
6466		EngineTypeActivemq,
6467		EngineTypeRabbitmq,
6468	}
6469}
6470
6471// The reason for which the XML elements or attributes were sanitized.
6472const (
6473	// SanitizationWarningReasonDisallowedElementRemoved is a SanitizationWarningReason enum value
6474	SanitizationWarningReasonDisallowedElementRemoved = "DISALLOWED_ELEMENT_REMOVED"
6475
6476	// SanitizationWarningReasonDisallowedAttributeRemoved is a SanitizationWarningReason enum value
6477	SanitizationWarningReasonDisallowedAttributeRemoved = "DISALLOWED_ATTRIBUTE_REMOVED"
6478
6479	// SanitizationWarningReasonInvalidAttributeValueRemoved is a SanitizationWarningReason enum value
6480	SanitizationWarningReasonInvalidAttributeValueRemoved = "INVALID_ATTRIBUTE_VALUE_REMOVED"
6481)
6482
6483// SanitizationWarningReason_Values returns all elements of the SanitizationWarningReason enum
6484func SanitizationWarningReason_Values() []string {
6485	return []string{
6486		SanitizationWarningReasonDisallowedElementRemoved,
6487		SanitizationWarningReasonDisallowedAttributeRemoved,
6488		SanitizationWarningReasonInvalidAttributeValueRemoved,
6489	}
6490}
6491