1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mq
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opCreateBroker = "CreateBroker"
16
17// CreateBrokerRequest generates a "aws/request.Request" representing the
18// client's request for the CreateBroker operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateBroker for more information on using the CreateBroker
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateBrokerRequest method.
33//    req, resp := client.CreateBrokerRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateBroker
41func (c *MQ) CreateBrokerRequest(input *CreateBrokerRequest) (req *request.Request, output *CreateBrokerResponse) {
42	op := &request.Operation{
43		Name:       opCreateBroker,
44		HTTPMethod: "POST",
45		HTTPPath:   "/v1/brokers",
46	}
47
48	if input == nil {
49		input = &CreateBrokerRequest{}
50	}
51
52	output = &CreateBrokerResponse{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateBroker API operation for AmazonMQ.
58//
59// Creates a broker. Note: This API is asynchronous.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AmazonMQ's
66// API operation CreateBroker for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeBadRequestException "BadRequestException"
70//   Returns information about an error.
71//
72//   * ErrCodeUnauthorizedException "UnauthorizedException"
73//   Returns information about an error.
74//
75//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
76//   Returns information about an error.
77//
78//   * ErrCodeConflictException "ConflictException"
79//   Returns information about an error.
80//
81//   * ErrCodeForbiddenException "ForbiddenException"
82//   Returns information about an error.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateBroker
85func (c *MQ) CreateBroker(input *CreateBrokerRequest) (*CreateBrokerResponse, error) {
86	req, out := c.CreateBrokerRequest(input)
87	return out, req.Send()
88}
89
90// CreateBrokerWithContext is the same as CreateBroker with the addition of
91// the ability to pass a context and additional request options.
92//
93// See CreateBroker for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *MQ) CreateBrokerWithContext(ctx aws.Context, input *CreateBrokerRequest, opts ...request.Option) (*CreateBrokerResponse, error) {
100	req, out := c.CreateBrokerRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opCreateConfiguration = "CreateConfiguration"
107
108// CreateConfigurationRequest generates a "aws/request.Request" representing the
109// client's request for the CreateConfiguration operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See CreateConfiguration for more information on using the CreateConfiguration
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the CreateConfigurationRequest method.
124//    req, resp := client.CreateConfigurationRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateConfiguration
132func (c *MQ) CreateConfigurationRequest(input *CreateConfigurationRequest) (req *request.Request, output *CreateConfigurationResponse) {
133	op := &request.Operation{
134		Name:       opCreateConfiguration,
135		HTTPMethod: "POST",
136		HTTPPath:   "/v1/configurations",
137	}
138
139	if input == nil {
140		input = &CreateConfigurationRequest{}
141	}
142
143	output = &CreateConfigurationResponse{}
144	req = c.newRequest(op, input, output)
145	return
146}
147
148// CreateConfiguration API operation for AmazonMQ.
149//
150// Creates a new configuration for the specified configuration name. Amazon
151// MQ uses the default configuration (the engine type and version).
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AmazonMQ's
158// API operation CreateConfiguration for usage and error information.
159//
160// Returned Error Codes:
161//   * ErrCodeBadRequestException "BadRequestException"
162//   Returns information about an error.
163//
164//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
165//   Returns information about an error.
166//
167//   * ErrCodeConflictException "ConflictException"
168//   Returns information about an error.
169//
170//   * ErrCodeForbiddenException "ForbiddenException"
171//   Returns information about an error.
172//
173// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateConfiguration
174func (c *MQ) CreateConfiguration(input *CreateConfigurationRequest) (*CreateConfigurationResponse, error) {
175	req, out := c.CreateConfigurationRequest(input)
176	return out, req.Send()
177}
178
179// CreateConfigurationWithContext is the same as CreateConfiguration with the addition of
180// the ability to pass a context and additional request options.
181//
182// See CreateConfiguration for details on how to use this API operation.
183//
184// The context must be non-nil and will be used for request cancellation. If
185// the context is nil a panic will occur. In the future the SDK may create
186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
187// for more information on using Contexts.
188func (c *MQ) CreateConfigurationWithContext(ctx aws.Context, input *CreateConfigurationRequest, opts ...request.Option) (*CreateConfigurationResponse, error) {
189	req, out := c.CreateConfigurationRequest(input)
190	req.SetContext(ctx)
191	req.ApplyOptions(opts...)
192	return out, req.Send()
193}
194
195const opCreateTags = "CreateTags"
196
197// CreateTagsRequest generates a "aws/request.Request" representing the
198// client's request for the CreateTags operation. The "output" return
199// value will be populated with the request's response once the request completes
200// successfully.
201//
202// Use "Send" method on the returned Request to send the API call to the service.
203// the "output" return value is not valid until after Send returns without error.
204//
205// See CreateTags for more information on using the CreateTags
206// API call, and error handling.
207//
208// This method is useful when you want to inject custom logic or configuration
209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
210//
211//
212//    // Example sending a request using the CreateTagsRequest method.
213//    req, resp := client.CreateTagsRequest(params)
214//
215//    err := req.Send()
216//    if err == nil { // resp is now filled
217//        fmt.Println(resp)
218//    }
219//
220// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateTags
221func (c *MQ) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
222	op := &request.Operation{
223		Name:       opCreateTags,
224		HTTPMethod: "POST",
225		HTTPPath:   "/v1/tags/{resource-arn}",
226	}
227
228	if input == nil {
229		input = &CreateTagsInput{}
230	}
231
232	output = &CreateTagsOutput{}
233	req = c.newRequest(op, input, output)
234	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
235	return
236}
237
238// CreateTags API operation for AmazonMQ.
239//
240// Add a tag to a resource.
241//
242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
243// with awserr.Error's Code and Message methods to get detailed information about
244// the error.
245//
246// See the AWS API reference guide for AmazonMQ's
247// API operation CreateTags for usage and error information.
248//
249// Returned Error Codes:
250//   * ErrCodeNotFoundException "NotFoundException"
251//   Returns information about an error.
252//
253//   * ErrCodeBadRequestException "BadRequestException"
254//   Returns information about an error.
255//
256//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
257//   Returns information about an error.
258//
259//   * ErrCodeForbiddenException "ForbiddenException"
260//   Returns information about an error.
261//
262// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateTags
263func (c *MQ) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
264	req, out := c.CreateTagsRequest(input)
265	return out, req.Send()
266}
267
268// CreateTagsWithContext is the same as CreateTags with the addition of
269// the ability to pass a context and additional request options.
270//
271// See CreateTags for details on how to use this API operation.
272//
273// The context must be non-nil and will be used for request cancellation. If
274// the context is nil a panic will occur. In the future the SDK may create
275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
276// for more information on using Contexts.
277func (c *MQ) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
278	req, out := c.CreateTagsRequest(input)
279	req.SetContext(ctx)
280	req.ApplyOptions(opts...)
281	return out, req.Send()
282}
283
284const opCreateUser = "CreateUser"
285
286// CreateUserRequest generates a "aws/request.Request" representing the
287// client's request for the CreateUser operation. The "output" return
288// value will be populated with the request's response once the request completes
289// successfully.
290//
291// Use "Send" method on the returned Request to send the API call to the service.
292// the "output" return value is not valid until after Send returns without error.
293//
294// See CreateUser for more information on using the CreateUser
295// API call, and error handling.
296//
297// This method is useful when you want to inject custom logic or configuration
298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
299//
300//
301//    // Example sending a request using the CreateUserRequest method.
302//    req, resp := client.CreateUserRequest(params)
303//
304//    err := req.Send()
305//    if err == nil { // resp is now filled
306//        fmt.Println(resp)
307//    }
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateUser
310func (c *MQ) CreateUserRequest(input *CreateUserRequest) (req *request.Request, output *CreateUserOutput) {
311	op := &request.Operation{
312		Name:       opCreateUser,
313		HTTPMethod: "POST",
314		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
315	}
316
317	if input == nil {
318		input = &CreateUserRequest{}
319	}
320
321	output = &CreateUserOutput{}
322	req = c.newRequest(op, input, output)
323	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
324	return
325}
326
327// CreateUser API operation for AmazonMQ.
328//
329// Creates an ActiveMQ user.
330//
331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
332// with awserr.Error's Code and Message methods to get detailed information about
333// the error.
334//
335// See the AWS API reference guide for AmazonMQ's
336// API operation CreateUser for usage and error information.
337//
338// Returned Error Codes:
339//   * ErrCodeNotFoundException "NotFoundException"
340//   Returns information about an error.
341//
342//   * ErrCodeBadRequestException "BadRequestException"
343//   Returns information about an error.
344//
345//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
346//   Returns information about an error.
347//
348//   * ErrCodeConflictException "ConflictException"
349//   Returns information about an error.
350//
351//   * ErrCodeForbiddenException "ForbiddenException"
352//   Returns information about an error.
353//
354// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/CreateUser
355func (c *MQ) CreateUser(input *CreateUserRequest) (*CreateUserOutput, error) {
356	req, out := c.CreateUserRequest(input)
357	return out, req.Send()
358}
359
360// CreateUserWithContext is the same as CreateUser with the addition of
361// the ability to pass a context and additional request options.
362//
363// See CreateUser for details on how to use this API operation.
364//
365// The context must be non-nil and will be used for request cancellation. If
366// the context is nil a panic will occur. In the future the SDK may create
367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
368// for more information on using Contexts.
369func (c *MQ) CreateUserWithContext(ctx aws.Context, input *CreateUserRequest, opts ...request.Option) (*CreateUserOutput, error) {
370	req, out := c.CreateUserRequest(input)
371	req.SetContext(ctx)
372	req.ApplyOptions(opts...)
373	return out, req.Send()
374}
375
376const opDeleteBroker = "DeleteBroker"
377
378// DeleteBrokerRequest generates a "aws/request.Request" representing the
379// client's request for the DeleteBroker operation. The "output" return
380// value will be populated with the request's response once the request completes
381// successfully.
382//
383// Use "Send" method on the returned Request to send the API call to the service.
384// the "output" return value is not valid until after Send returns without error.
385//
386// See DeleteBroker for more information on using the DeleteBroker
387// API call, and error handling.
388//
389// This method is useful when you want to inject custom logic or configuration
390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
391//
392//
393//    // Example sending a request using the DeleteBrokerRequest method.
394//    req, resp := client.DeleteBrokerRequest(params)
395//
396//    err := req.Send()
397//    if err == nil { // resp is now filled
398//        fmt.Println(resp)
399//    }
400//
401// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteBroker
402func (c *MQ) DeleteBrokerRequest(input *DeleteBrokerInput) (req *request.Request, output *DeleteBrokerResponse) {
403	op := &request.Operation{
404		Name:       opDeleteBroker,
405		HTTPMethod: "DELETE",
406		HTTPPath:   "/v1/brokers/{broker-id}",
407	}
408
409	if input == nil {
410		input = &DeleteBrokerInput{}
411	}
412
413	output = &DeleteBrokerResponse{}
414	req = c.newRequest(op, input, output)
415	return
416}
417
418// DeleteBroker API operation for AmazonMQ.
419//
420// Deletes a broker. Note: This API is asynchronous.
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for AmazonMQ's
427// API operation DeleteBroker for usage and error information.
428//
429// Returned Error Codes:
430//   * ErrCodeNotFoundException "NotFoundException"
431//   Returns information about an error.
432//
433//   * ErrCodeBadRequestException "BadRequestException"
434//   Returns information about an error.
435//
436//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
437//   Returns information about an error.
438//
439//   * ErrCodeForbiddenException "ForbiddenException"
440//   Returns information about an error.
441//
442// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteBroker
443func (c *MQ) DeleteBroker(input *DeleteBrokerInput) (*DeleteBrokerResponse, error) {
444	req, out := c.DeleteBrokerRequest(input)
445	return out, req.Send()
446}
447
448// DeleteBrokerWithContext is the same as DeleteBroker with the addition of
449// the ability to pass a context and additional request options.
450//
451// See DeleteBroker for details on how to use this API operation.
452//
453// The context must be non-nil and will be used for request cancellation. If
454// the context is nil a panic will occur. In the future the SDK may create
455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
456// for more information on using Contexts.
457func (c *MQ) DeleteBrokerWithContext(ctx aws.Context, input *DeleteBrokerInput, opts ...request.Option) (*DeleteBrokerResponse, error) {
458	req, out := c.DeleteBrokerRequest(input)
459	req.SetContext(ctx)
460	req.ApplyOptions(opts...)
461	return out, req.Send()
462}
463
464const opDeleteTags = "DeleteTags"
465
466// DeleteTagsRequest generates a "aws/request.Request" representing the
467// client's request for the DeleteTags operation. The "output" return
468// value will be populated with the request's response once the request completes
469// successfully.
470//
471// Use "Send" method on the returned Request to send the API call to the service.
472// the "output" return value is not valid until after Send returns without error.
473//
474// See DeleteTags for more information on using the DeleteTags
475// API call, and error handling.
476//
477// This method is useful when you want to inject custom logic or configuration
478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
479//
480//
481//    // Example sending a request using the DeleteTagsRequest method.
482//    req, resp := client.DeleteTagsRequest(params)
483//
484//    err := req.Send()
485//    if err == nil { // resp is now filled
486//        fmt.Println(resp)
487//    }
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteTags
490func (c *MQ) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
491	op := &request.Operation{
492		Name:       opDeleteTags,
493		HTTPMethod: "DELETE",
494		HTTPPath:   "/v1/tags/{resource-arn}",
495	}
496
497	if input == nil {
498		input = &DeleteTagsInput{}
499	}
500
501	output = &DeleteTagsOutput{}
502	req = c.newRequest(op, input, output)
503	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
504	return
505}
506
507// DeleteTags API operation for AmazonMQ.
508//
509// Removes a tag from a resource.
510//
511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
512// with awserr.Error's Code and Message methods to get detailed information about
513// the error.
514//
515// See the AWS API reference guide for AmazonMQ's
516// API operation DeleteTags for usage and error information.
517//
518// Returned Error Codes:
519//   * ErrCodeNotFoundException "NotFoundException"
520//   Returns information about an error.
521//
522//   * ErrCodeBadRequestException "BadRequestException"
523//   Returns information about an error.
524//
525//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
526//   Returns information about an error.
527//
528//   * ErrCodeForbiddenException "ForbiddenException"
529//   Returns information about an error.
530//
531// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteTags
532func (c *MQ) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
533	req, out := c.DeleteTagsRequest(input)
534	return out, req.Send()
535}
536
537// DeleteTagsWithContext is the same as DeleteTags with the addition of
538// the ability to pass a context and additional request options.
539//
540// See DeleteTags for details on how to use this API operation.
541//
542// The context must be non-nil and will be used for request cancellation. If
543// the context is nil a panic will occur. In the future the SDK may create
544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
545// for more information on using Contexts.
546func (c *MQ) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
547	req, out := c.DeleteTagsRequest(input)
548	req.SetContext(ctx)
549	req.ApplyOptions(opts...)
550	return out, req.Send()
551}
552
553const opDeleteUser = "DeleteUser"
554
555// DeleteUserRequest generates a "aws/request.Request" representing the
556// client's request for the DeleteUser operation. The "output" return
557// value will be populated with the request's response once the request completes
558// successfully.
559//
560// Use "Send" method on the returned Request to send the API call to the service.
561// the "output" return value is not valid until after Send returns without error.
562//
563// See DeleteUser for more information on using the DeleteUser
564// API call, and error handling.
565//
566// This method is useful when you want to inject custom logic or configuration
567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
568//
569//
570//    // Example sending a request using the DeleteUserRequest method.
571//    req, resp := client.DeleteUserRequest(params)
572//
573//    err := req.Send()
574//    if err == nil { // resp is now filled
575//        fmt.Println(resp)
576//    }
577//
578// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteUser
579func (c *MQ) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
580	op := &request.Operation{
581		Name:       opDeleteUser,
582		HTTPMethod: "DELETE",
583		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
584	}
585
586	if input == nil {
587		input = &DeleteUserInput{}
588	}
589
590	output = &DeleteUserOutput{}
591	req = c.newRequest(op, input, output)
592	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
593	return
594}
595
596// DeleteUser API operation for AmazonMQ.
597//
598// Deletes an ActiveMQ user.
599//
600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
601// with awserr.Error's Code and Message methods to get detailed information about
602// the error.
603//
604// See the AWS API reference guide for AmazonMQ's
605// API operation DeleteUser for usage and error information.
606//
607// Returned Error Codes:
608//   * ErrCodeNotFoundException "NotFoundException"
609//   Returns information about an error.
610//
611//   * ErrCodeBadRequestException "BadRequestException"
612//   Returns information about an error.
613//
614//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
615//   Returns information about an error.
616//
617//   * ErrCodeForbiddenException "ForbiddenException"
618//   Returns information about an error.
619//
620// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DeleteUser
621func (c *MQ) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
622	req, out := c.DeleteUserRequest(input)
623	return out, req.Send()
624}
625
626// DeleteUserWithContext is the same as DeleteUser with the addition of
627// the ability to pass a context and additional request options.
628//
629// See DeleteUser for details on how to use this API operation.
630//
631// The context must be non-nil and will be used for request cancellation. If
632// the context is nil a panic will occur. In the future the SDK may create
633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
634// for more information on using Contexts.
635func (c *MQ) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
636	req, out := c.DeleteUserRequest(input)
637	req.SetContext(ctx)
638	req.ApplyOptions(opts...)
639	return out, req.Send()
640}
641
642const opDescribeBroker = "DescribeBroker"
643
644// DescribeBrokerRequest generates a "aws/request.Request" representing the
645// client's request for the DescribeBroker operation. The "output" return
646// value will be populated with the request's response once the request completes
647// successfully.
648//
649// Use "Send" method on the returned Request to send the API call to the service.
650// the "output" return value is not valid until after Send returns without error.
651//
652// See DescribeBroker for more information on using the DescribeBroker
653// API call, and error handling.
654//
655// This method is useful when you want to inject custom logic or configuration
656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
657//
658//
659//    // Example sending a request using the DescribeBrokerRequest method.
660//    req, resp := client.DescribeBrokerRequest(params)
661//
662//    err := req.Send()
663//    if err == nil { // resp is now filled
664//        fmt.Println(resp)
665//    }
666//
667// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBroker
668func (c *MQ) DescribeBrokerRequest(input *DescribeBrokerInput) (req *request.Request, output *DescribeBrokerResponse) {
669	op := &request.Operation{
670		Name:       opDescribeBroker,
671		HTTPMethod: "GET",
672		HTTPPath:   "/v1/brokers/{broker-id}",
673	}
674
675	if input == nil {
676		input = &DescribeBrokerInput{}
677	}
678
679	output = &DescribeBrokerResponse{}
680	req = c.newRequest(op, input, output)
681	return
682}
683
684// DescribeBroker API operation for AmazonMQ.
685//
686// Returns information about the specified broker.
687//
688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
689// with awserr.Error's Code and Message methods to get detailed information about
690// the error.
691//
692// See the AWS API reference guide for AmazonMQ's
693// API operation DescribeBroker for usage and error information.
694//
695// Returned Error Codes:
696//   * ErrCodeNotFoundException "NotFoundException"
697//   Returns information about an error.
698//
699//   * ErrCodeBadRequestException "BadRequestException"
700//   Returns information about an error.
701//
702//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
703//   Returns information about an error.
704//
705//   * ErrCodeForbiddenException "ForbiddenException"
706//   Returns information about an error.
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBroker
709func (c *MQ) DescribeBroker(input *DescribeBrokerInput) (*DescribeBrokerResponse, error) {
710	req, out := c.DescribeBrokerRequest(input)
711	return out, req.Send()
712}
713
714// DescribeBrokerWithContext is the same as DescribeBroker with the addition of
715// the ability to pass a context and additional request options.
716//
717// See DescribeBroker for details on how to use this API operation.
718//
719// The context must be non-nil and will be used for request cancellation. If
720// the context is nil a panic will occur. In the future the SDK may create
721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
722// for more information on using Contexts.
723func (c *MQ) DescribeBrokerWithContext(ctx aws.Context, input *DescribeBrokerInput, opts ...request.Option) (*DescribeBrokerResponse, error) {
724	req, out := c.DescribeBrokerRequest(input)
725	req.SetContext(ctx)
726	req.ApplyOptions(opts...)
727	return out, req.Send()
728}
729
730const opDescribeBrokerEngineTypes = "DescribeBrokerEngineTypes"
731
732// DescribeBrokerEngineTypesRequest generates a "aws/request.Request" representing the
733// client's request for the DescribeBrokerEngineTypes operation. The "output" return
734// value will be populated with the request's response once the request completes
735// successfully.
736//
737// Use "Send" method on the returned Request to send the API call to the service.
738// the "output" return value is not valid until after Send returns without error.
739//
740// See DescribeBrokerEngineTypes for more information on using the DescribeBrokerEngineTypes
741// API call, and error handling.
742//
743// This method is useful when you want to inject custom logic or configuration
744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
745//
746//
747//    // Example sending a request using the DescribeBrokerEngineTypesRequest method.
748//    req, resp := client.DescribeBrokerEngineTypesRequest(params)
749//
750//    err := req.Send()
751//    if err == nil { // resp is now filled
752//        fmt.Println(resp)
753//    }
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerEngineTypes
756func (c *MQ) DescribeBrokerEngineTypesRequest(input *DescribeBrokerEngineTypesInput) (req *request.Request, output *DescribeBrokerEngineTypesOutput) {
757	op := &request.Operation{
758		Name:       opDescribeBrokerEngineTypes,
759		HTTPMethod: "GET",
760		HTTPPath:   "/v1/broker-engine-types",
761	}
762
763	if input == nil {
764		input = &DescribeBrokerEngineTypesInput{}
765	}
766
767	output = &DescribeBrokerEngineTypesOutput{}
768	req = c.newRequest(op, input, output)
769	return
770}
771
772// DescribeBrokerEngineTypes API operation for AmazonMQ.
773//
774// Describe available engine types and versions.
775//
776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
777// with awserr.Error's Code and Message methods to get detailed information about
778// the error.
779//
780// See the AWS API reference guide for AmazonMQ's
781// API operation DescribeBrokerEngineTypes for usage and error information.
782//
783// Returned Error Codes:
784//   * ErrCodeBadRequestException "BadRequestException"
785//   Returns information about an error.
786//
787//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
788//   Returns information about an error.
789//
790//   * ErrCodeForbiddenException "ForbiddenException"
791//   Returns information about an error.
792//
793// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerEngineTypes
794func (c *MQ) DescribeBrokerEngineTypes(input *DescribeBrokerEngineTypesInput) (*DescribeBrokerEngineTypesOutput, error) {
795	req, out := c.DescribeBrokerEngineTypesRequest(input)
796	return out, req.Send()
797}
798
799// DescribeBrokerEngineTypesWithContext is the same as DescribeBrokerEngineTypes with the addition of
800// the ability to pass a context and additional request options.
801//
802// See DescribeBrokerEngineTypes for details on how to use this API operation.
803//
804// The context must be non-nil and will be used for request cancellation. If
805// the context is nil a panic will occur. In the future the SDK may create
806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
807// for more information on using Contexts.
808func (c *MQ) DescribeBrokerEngineTypesWithContext(ctx aws.Context, input *DescribeBrokerEngineTypesInput, opts ...request.Option) (*DescribeBrokerEngineTypesOutput, error) {
809	req, out := c.DescribeBrokerEngineTypesRequest(input)
810	req.SetContext(ctx)
811	req.ApplyOptions(opts...)
812	return out, req.Send()
813}
814
815const opDescribeBrokerInstanceOptions = "DescribeBrokerInstanceOptions"
816
817// DescribeBrokerInstanceOptionsRequest generates a "aws/request.Request" representing the
818// client's request for the DescribeBrokerInstanceOptions operation. The "output" return
819// value will be populated with the request's response once the request completes
820// successfully.
821//
822// Use "Send" method on the returned Request to send the API call to the service.
823// the "output" return value is not valid until after Send returns without error.
824//
825// See DescribeBrokerInstanceOptions for more information on using the DescribeBrokerInstanceOptions
826// API call, and error handling.
827//
828// This method is useful when you want to inject custom logic or configuration
829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
830//
831//
832//    // Example sending a request using the DescribeBrokerInstanceOptionsRequest method.
833//    req, resp := client.DescribeBrokerInstanceOptionsRequest(params)
834//
835//    err := req.Send()
836//    if err == nil { // resp is now filled
837//        fmt.Println(resp)
838//    }
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerInstanceOptions
841func (c *MQ) DescribeBrokerInstanceOptionsRequest(input *DescribeBrokerInstanceOptionsInput) (req *request.Request, output *DescribeBrokerInstanceOptionsOutput) {
842	op := &request.Operation{
843		Name:       opDescribeBrokerInstanceOptions,
844		HTTPMethod: "GET",
845		HTTPPath:   "/v1/broker-instance-options",
846	}
847
848	if input == nil {
849		input = &DescribeBrokerInstanceOptionsInput{}
850	}
851
852	output = &DescribeBrokerInstanceOptionsOutput{}
853	req = c.newRequest(op, input, output)
854	return
855}
856
857// DescribeBrokerInstanceOptions API operation for AmazonMQ.
858//
859// Describe available broker instance options.
860//
861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
862// with awserr.Error's Code and Message methods to get detailed information about
863// the error.
864//
865// See the AWS API reference guide for AmazonMQ's
866// API operation DescribeBrokerInstanceOptions for usage and error information.
867//
868// Returned Error Codes:
869//   * ErrCodeBadRequestException "BadRequestException"
870//   Returns information about an error.
871//
872//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
873//   Returns information about an error.
874//
875//   * ErrCodeForbiddenException "ForbiddenException"
876//   Returns information about an error.
877//
878// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeBrokerInstanceOptions
879func (c *MQ) DescribeBrokerInstanceOptions(input *DescribeBrokerInstanceOptionsInput) (*DescribeBrokerInstanceOptionsOutput, error) {
880	req, out := c.DescribeBrokerInstanceOptionsRequest(input)
881	return out, req.Send()
882}
883
884// DescribeBrokerInstanceOptionsWithContext is the same as DescribeBrokerInstanceOptions with the addition of
885// the ability to pass a context and additional request options.
886//
887// See DescribeBrokerInstanceOptions for details on how to use this API operation.
888//
889// The context must be non-nil and will be used for request cancellation. If
890// the context is nil a panic will occur. In the future the SDK may create
891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
892// for more information on using Contexts.
893func (c *MQ) DescribeBrokerInstanceOptionsWithContext(ctx aws.Context, input *DescribeBrokerInstanceOptionsInput, opts ...request.Option) (*DescribeBrokerInstanceOptionsOutput, error) {
894	req, out := c.DescribeBrokerInstanceOptionsRequest(input)
895	req.SetContext(ctx)
896	req.ApplyOptions(opts...)
897	return out, req.Send()
898}
899
900const opDescribeConfiguration = "DescribeConfiguration"
901
902// DescribeConfigurationRequest generates a "aws/request.Request" representing the
903// client's request for the DescribeConfiguration operation. The "output" return
904// value will be populated with the request's response once the request completes
905// successfully.
906//
907// Use "Send" method on the returned Request to send the API call to the service.
908// the "output" return value is not valid until after Send returns without error.
909//
910// See DescribeConfiguration for more information on using the DescribeConfiguration
911// API call, and error handling.
912//
913// This method is useful when you want to inject custom logic or configuration
914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
915//
916//
917//    // Example sending a request using the DescribeConfigurationRequest method.
918//    req, resp := client.DescribeConfigurationRequest(params)
919//
920//    err := req.Send()
921//    if err == nil { // resp is now filled
922//        fmt.Println(resp)
923//    }
924//
925// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfiguration
926func (c *MQ) DescribeConfigurationRequest(input *DescribeConfigurationInput) (req *request.Request, output *DescribeConfigurationOutput) {
927	op := &request.Operation{
928		Name:       opDescribeConfiguration,
929		HTTPMethod: "GET",
930		HTTPPath:   "/v1/configurations/{configuration-id}",
931	}
932
933	if input == nil {
934		input = &DescribeConfigurationInput{}
935	}
936
937	output = &DescribeConfigurationOutput{}
938	req = c.newRequest(op, input, output)
939	return
940}
941
942// DescribeConfiguration API operation for AmazonMQ.
943//
944// Returns information about the specified configuration.
945//
946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
947// with awserr.Error's Code and Message methods to get detailed information about
948// the error.
949//
950// See the AWS API reference guide for AmazonMQ's
951// API operation DescribeConfiguration for usage and error information.
952//
953// Returned Error Codes:
954//   * ErrCodeNotFoundException "NotFoundException"
955//   Returns information about an error.
956//
957//   * ErrCodeBadRequestException "BadRequestException"
958//   Returns information about an error.
959//
960//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
961//   Returns information about an error.
962//
963//   * ErrCodeForbiddenException "ForbiddenException"
964//   Returns information about an error.
965//
966// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfiguration
967func (c *MQ) DescribeConfiguration(input *DescribeConfigurationInput) (*DescribeConfigurationOutput, error) {
968	req, out := c.DescribeConfigurationRequest(input)
969	return out, req.Send()
970}
971
972// DescribeConfigurationWithContext is the same as DescribeConfiguration with the addition of
973// the ability to pass a context and additional request options.
974//
975// See DescribeConfiguration for details on how to use this API operation.
976//
977// The context must be non-nil and will be used for request cancellation. If
978// the context is nil a panic will occur. In the future the SDK may create
979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
980// for more information on using Contexts.
981func (c *MQ) DescribeConfigurationWithContext(ctx aws.Context, input *DescribeConfigurationInput, opts ...request.Option) (*DescribeConfigurationOutput, error) {
982	req, out := c.DescribeConfigurationRequest(input)
983	req.SetContext(ctx)
984	req.ApplyOptions(opts...)
985	return out, req.Send()
986}
987
988const opDescribeConfigurationRevision = "DescribeConfigurationRevision"
989
990// DescribeConfigurationRevisionRequest generates a "aws/request.Request" representing the
991// client's request for the DescribeConfigurationRevision operation. The "output" return
992// value will be populated with the request's response once the request completes
993// successfully.
994//
995// Use "Send" method on the returned Request to send the API call to the service.
996// the "output" return value is not valid until after Send returns without error.
997//
998// See DescribeConfigurationRevision for more information on using the DescribeConfigurationRevision
999// API call, and error handling.
1000//
1001// This method is useful when you want to inject custom logic or configuration
1002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1003//
1004//
1005//    // Example sending a request using the DescribeConfigurationRevisionRequest method.
1006//    req, resp := client.DescribeConfigurationRevisionRequest(params)
1007//
1008//    err := req.Send()
1009//    if err == nil { // resp is now filled
1010//        fmt.Println(resp)
1011//    }
1012//
1013// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfigurationRevision
1014func (c *MQ) DescribeConfigurationRevisionRequest(input *DescribeConfigurationRevisionInput) (req *request.Request, output *DescribeConfigurationRevisionResponse) {
1015	op := &request.Operation{
1016		Name:       opDescribeConfigurationRevision,
1017		HTTPMethod: "GET",
1018		HTTPPath:   "/v1/configurations/{configuration-id}/revisions/{configuration-revision}",
1019	}
1020
1021	if input == nil {
1022		input = &DescribeConfigurationRevisionInput{}
1023	}
1024
1025	output = &DescribeConfigurationRevisionResponse{}
1026	req = c.newRequest(op, input, output)
1027	return
1028}
1029
1030// DescribeConfigurationRevision API operation for AmazonMQ.
1031//
1032// Returns the specified configuration revision for the specified configuration.
1033//
1034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1035// with awserr.Error's Code and Message methods to get detailed information about
1036// the error.
1037//
1038// See the AWS API reference guide for AmazonMQ's
1039// API operation DescribeConfigurationRevision for usage and error information.
1040//
1041// Returned Error Codes:
1042//   * ErrCodeNotFoundException "NotFoundException"
1043//   Returns information about an error.
1044//
1045//   * ErrCodeBadRequestException "BadRequestException"
1046//   Returns information about an error.
1047//
1048//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1049//   Returns information about an error.
1050//
1051//   * ErrCodeForbiddenException "ForbiddenException"
1052//   Returns information about an error.
1053//
1054// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeConfigurationRevision
1055func (c *MQ) DescribeConfigurationRevision(input *DescribeConfigurationRevisionInput) (*DescribeConfigurationRevisionResponse, error) {
1056	req, out := c.DescribeConfigurationRevisionRequest(input)
1057	return out, req.Send()
1058}
1059
1060// DescribeConfigurationRevisionWithContext is the same as DescribeConfigurationRevision with the addition of
1061// the ability to pass a context and additional request options.
1062//
1063// See DescribeConfigurationRevision for details on how to use this API operation.
1064//
1065// The context must be non-nil and will be used for request cancellation. If
1066// the context is nil a panic will occur. In the future the SDK may create
1067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1068// for more information on using Contexts.
1069func (c *MQ) DescribeConfigurationRevisionWithContext(ctx aws.Context, input *DescribeConfigurationRevisionInput, opts ...request.Option) (*DescribeConfigurationRevisionResponse, error) {
1070	req, out := c.DescribeConfigurationRevisionRequest(input)
1071	req.SetContext(ctx)
1072	req.ApplyOptions(opts...)
1073	return out, req.Send()
1074}
1075
1076const opDescribeUser = "DescribeUser"
1077
1078// DescribeUserRequest generates a "aws/request.Request" representing the
1079// client's request for the DescribeUser operation. The "output" return
1080// value will be populated with the request's response once the request completes
1081// successfully.
1082//
1083// Use "Send" method on the returned Request to send the API call to the service.
1084// the "output" return value is not valid until after Send returns without error.
1085//
1086// See DescribeUser for more information on using the DescribeUser
1087// API call, and error handling.
1088//
1089// This method is useful when you want to inject custom logic or configuration
1090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1091//
1092//
1093//    // Example sending a request using the DescribeUserRequest method.
1094//    req, resp := client.DescribeUserRequest(params)
1095//
1096//    err := req.Send()
1097//    if err == nil { // resp is now filled
1098//        fmt.Println(resp)
1099//    }
1100//
1101// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeUser
1102func (c *MQ) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserResponse) {
1103	op := &request.Operation{
1104		Name:       opDescribeUser,
1105		HTTPMethod: "GET",
1106		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
1107	}
1108
1109	if input == nil {
1110		input = &DescribeUserInput{}
1111	}
1112
1113	output = &DescribeUserResponse{}
1114	req = c.newRequest(op, input, output)
1115	return
1116}
1117
1118// DescribeUser API operation for AmazonMQ.
1119//
1120// Returns information about an ActiveMQ user.
1121//
1122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1123// with awserr.Error's Code and Message methods to get detailed information about
1124// the error.
1125//
1126// See the AWS API reference guide for AmazonMQ's
1127// API operation DescribeUser for usage and error information.
1128//
1129// Returned Error Codes:
1130//   * ErrCodeNotFoundException "NotFoundException"
1131//   Returns information about an error.
1132//
1133//   * ErrCodeBadRequestException "BadRequestException"
1134//   Returns information about an error.
1135//
1136//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1137//   Returns information about an error.
1138//
1139//   * ErrCodeForbiddenException "ForbiddenException"
1140//   Returns information about an error.
1141//
1142// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/DescribeUser
1143func (c *MQ) DescribeUser(input *DescribeUserInput) (*DescribeUserResponse, error) {
1144	req, out := c.DescribeUserRequest(input)
1145	return out, req.Send()
1146}
1147
1148// DescribeUserWithContext is the same as DescribeUser with the addition of
1149// the ability to pass a context and additional request options.
1150//
1151// See DescribeUser for details on how to use this API operation.
1152//
1153// The context must be non-nil and will be used for request cancellation. If
1154// the context is nil a panic will occur. In the future the SDK may create
1155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1156// for more information on using Contexts.
1157func (c *MQ) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserResponse, error) {
1158	req, out := c.DescribeUserRequest(input)
1159	req.SetContext(ctx)
1160	req.ApplyOptions(opts...)
1161	return out, req.Send()
1162}
1163
1164const opListBrokers = "ListBrokers"
1165
1166// ListBrokersRequest generates a "aws/request.Request" representing the
1167// client's request for the ListBrokers operation. The "output" return
1168// value will be populated with the request's response once the request completes
1169// successfully.
1170//
1171// Use "Send" method on the returned Request to send the API call to the service.
1172// the "output" return value is not valid until after Send returns without error.
1173//
1174// See ListBrokers for more information on using the ListBrokers
1175// API call, and error handling.
1176//
1177// This method is useful when you want to inject custom logic or configuration
1178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1179//
1180//
1181//    // Example sending a request using the ListBrokersRequest method.
1182//    req, resp := client.ListBrokersRequest(params)
1183//
1184//    err := req.Send()
1185//    if err == nil { // resp is now filled
1186//        fmt.Println(resp)
1187//    }
1188//
1189// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListBrokers
1190func (c *MQ) ListBrokersRequest(input *ListBrokersInput) (req *request.Request, output *ListBrokersResponse) {
1191	op := &request.Operation{
1192		Name:       opListBrokers,
1193		HTTPMethod: "GET",
1194		HTTPPath:   "/v1/brokers",
1195	}
1196
1197	if input == nil {
1198		input = &ListBrokersInput{}
1199	}
1200
1201	output = &ListBrokersResponse{}
1202	req = c.newRequest(op, input, output)
1203	return
1204}
1205
1206// ListBrokers API operation for AmazonMQ.
1207//
1208// Returns a list of all brokers.
1209//
1210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1211// with awserr.Error's Code and Message methods to get detailed information about
1212// the error.
1213//
1214// See the AWS API reference guide for AmazonMQ's
1215// API operation ListBrokers for usage and error information.
1216//
1217// Returned Error Codes:
1218//   * ErrCodeBadRequestException "BadRequestException"
1219//   Returns information about an error.
1220//
1221//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1222//   Returns information about an error.
1223//
1224//   * ErrCodeForbiddenException "ForbiddenException"
1225//   Returns information about an error.
1226//
1227// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListBrokers
1228func (c *MQ) ListBrokers(input *ListBrokersInput) (*ListBrokersResponse, error) {
1229	req, out := c.ListBrokersRequest(input)
1230	return out, req.Send()
1231}
1232
1233// ListBrokersWithContext is the same as ListBrokers with the addition of
1234// the ability to pass a context and additional request options.
1235//
1236// See ListBrokers for details on how to use this API operation.
1237//
1238// The context must be non-nil and will be used for request cancellation. If
1239// the context is nil a panic will occur. In the future the SDK may create
1240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1241// for more information on using Contexts.
1242func (c *MQ) ListBrokersWithContext(ctx aws.Context, input *ListBrokersInput, opts ...request.Option) (*ListBrokersResponse, error) {
1243	req, out := c.ListBrokersRequest(input)
1244	req.SetContext(ctx)
1245	req.ApplyOptions(opts...)
1246	return out, req.Send()
1247}
1248
1249const opListConfigurationRevisions = "ListConfigurationRevisions"
1250
1251// ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the
1252// client's request for the ListConfigurationRevisions operation. The "output" return
1253// value will be populated with the request's response once the request completes
1254// successfully.
1255//
1256// Use "Send" method on the returned Request to send the API call to the service.
1257// the "output" return value is not valid until after Send returns without error.
1258//
1259// See ListConfigurationRevisions for more information on using the ListConfigurationRevisions
1260// API call, and error handling.
1261//
1262// This method is useful when you want to inject custom logic or configuration
1263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1264//
1265//
1266//    // Example sending a request using the ListConfigurationRevisionsRequest method.
1267//    req, resp := client.ListConfigurationRevisionsRequest(params)
1268//
1269//    err := req.Send()
1270//    if err == nil { // resp is now filled
1271//        fmt.Println(resp)
1272//    }
1273//
1274// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurationRevisions
1275func (c *MQ) ListConfigurationRevisionsRequest(input *ListConfigurationRevisionsInput) (req *request.Request, output *ListConfigurationRevisionsResponse) {
1276	op := &request.Operation{
1277		Name:       opListConfigurationRevisions,
1278		HTTPMethod: "GET",
1279		HTTPPath:   "/v1/configurations/{configuration-id}/revisions",
1280	}
1281
1282	if input == nil {
1283		input = &ListConfigurationRevisionsInput{}
1284	}
1285
1286	output = &ListConfigurationRevisionsResponse{}
1287	req = c.newRequest(op, input, output)
1288	return
1289}
1290
1291// ListConfigurationRevisions API operation for AmazonMQ.
1292//
1293// Returns a list of all revisions for the specified configuration.
1294//
1295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1296// with awserr.Error's Code and Message methods to get detailed information about
1297// the error.
1298//
1299// See the AWS API reference guide for AmazonMQ's
1300// API operation ListConfigurationRevisions for usage and error information.
1301//
1302// Returned Error Codes:
1303//   * ErrCodeNotFoundException "NotFoundException"
1304//   Returns information about an error.
1305//
1306//   * ErrCodeBadRequestException "BadRequestException"
1307//   Returns information about an error.
1308//
1309//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1310//   Returns information about an error.
1311//
1312//   * ErrCodeForbiddenException "ForbiddenException"
1313//   Returns information about an error.
1314//
1315// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurationRevisions
1316func (c *MQ) ListConfigurationRevisions(input *ListConfigurationRevisionsInput) (*ListConfigurationRevisionsResponse, error) {
1317	req, out := c.ListConfigurationRevisionsRequest(input)
1318	return out, req.Send()
1319}
1320
1321// ListConfigurationRevisionsWithContext is the same as ListConfigurationRevisions with the addition of
1322// the ability to pass a context and additional request options.
1323//
1324// See ListConfigurationRevisions for details on how to use this API operation.
1325//
1326// The context must be non-nil and will be used for request cancellation. If
1327// the context is nil a panic will occur. In the future the SDK may create
1328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1329// for more information on using Contexts.
1330func (c *MQ) ListConfigurationRevisionsWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, opts ...request.Option) (*ListConfigurationRevisionsResponse, error) {
1331	req, out := c.ListConfigurationRevisionsRequest(input)
1332	req.SetContext(ctx)
1333	req.ApplyOptions(opts...)
1334	return out, req.Send()
1335}
1336
1337const opListConfigurations = "ListConfigurations"
1338
1339// ListConfigurationsRequest generates a "aws/request.Request" representing the
1340// client's request for the ListConfigurations operation. The "output" return
1341// value will be populated with the request's response once the request completes
1342// successfully.
1343//
1344// Use "Send" method on the returned Request to send the API call to the service.
1345// the "output" return value is not valid until after Send returns without error.
1346//
1347// See ListConfigurations for more information on using the ListConfigurations
1348// API call, and error handling.
1349//
1350// This method is useful when you want to inject custom logic or configuration
1351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1352//
1353//
1354//    // Example sending a request using the ListConfigurationsRequest method.
1355//    req, resp := client.ListConfigurationsRequest(params)
1356//
1357//    err := req.Send()
1358//    if err == nil { // resp is now filled
1359//        fmt.Println(resp)
1360//    }
1361//
1362// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurations
1363func (c *MQ) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsResponse) {
1364	op := &request.Operation{
1365		Name:       opListConfigurations,
1366		HTTPMethod: "GET",
1367		HTTPPath:   "/v1/configurations",
1368	}
1369
1370	if input == nil {
1371		input = &ListConfigurationsInput{}
1372	}
1373
1374	output = &ListConfigurationsResponse{}
1375	req = c.newRequest(op, input, output)
1376	return
1377}
1378
1379// ListConfigurations API operation for AmazonMQ.
1380//
1381// Returns a list of all configurations.
1382//
1383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1384// with awserr.Error's Code and Message methods to get detailed information about
1385// the error.
1386//
1387// See the AWS API reference guide for AmazonMQ's
1388// API operation ListConfigurations for usage and error information.
1389//
1390// Returned Error Codes:
1391//   * ErrCodeBadRequestException "BadRequestException"
1392//   Returns information about an error.
1393//
1394//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1395//   Returns information about an error.
1396//
1397//   * ErrCodeForbiddenException "ForbiddenException"
1398//   Returns information about an error.
1399//
1400// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListConfigurations
1401func (c *MQ) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsResponse, error) {
1402	req, out := c.ListConfigurationsRequest(input)
1403	return out, req.Send()
1404}
1405
1406// ListConfigurationsWithContext is the same as ListConfigurations with the addition of
1407// the ability to pass a context and additional request options.
1408//
1409// See ListConfigurations for details on how to use this API operation.
1410//
1411// The context must be non-nil and will be used for request cancellation. If
1412// the context is nil a panic will occur. In the future the SDK may create
1413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1414// for more information on using Contexts.
1415func (c *MQ) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsResponse, error) {
1416	req, out := c.ListConfigurationsRequest(input)
1417	req.SetContext(ctx)
1418	req.ApplyOptions(opts...)
1419	return out, req.Send()
1420}
1421
1422const opListTags = "ListTags"
1423
1424// ListTagsRequest generates a "aws/request.Request" representing the
1425// client's request for the ListTags operation. The "output" return
1426// value will be populated with the request's response once the request completes
1427// successfully.
1428//
1429// Use "Send" method on the returned Request to send the API call to the service.
1430// the "output" return value is not valid until after Send returns without error.
1431//
1432// See ListTags for more information on using the ListTags
1433// API call, and error handling.
1434//
1435// This method is useful when you want to inject custom logic or configuration
1436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1437//
1438//
1439//    // Example sending a request using the ListTagsRequest method.
1440//    req, resp := client.ListTagsRequest(params)
1441//
1442//    err := req.Send()
1443//    if err == nil { // resp is now filled
1444//        fmt.Println(resp)
1445//    }
1446//
1447// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListTags
1448func (c *MQ) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
1449	op := &request.Operation{
1450		Name:       opListTags,
1451		HTTPMethod: "GET",
1452		HTTPPath:   "/v1/tags/{resource-arn}",
1453	}
1454
1455	if input == nil {
1456		input = &ListTagsInput{}
1457	}
1458
1459	output = &ListTagsOutput{}
1460	req = c.newRequest(op, input, output)
1461	return
1462}
1463
1464// ListTags API operation for AmazonMQ.
1465//
1466// Lists tags for a resource.
1467//
1468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1469// with awserr.Error's Code and Message methods to get detailed information about
1470// the error.
1471//
1472// See the AWS API reference guide for AmazonMQ's
1473// API operation ListTags for usage and error information.
1474//
1475// Returned Error Codes:
1476//   * ErrCodeNotFoundException "NotFoundException"
1477//   Returns information about an error.
1478//
1479//   * ErrCodeBadRequestException "BadRequestException"
1480//   Returns information about an error.
1481//
1482//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1483//   Returns information about an error.
1484//
1485//   * ErrCodeForbiddenException "ForbiddenException"
1486//   Returns information about an error.
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListTags
1489func (c *MQ) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
1490	req, out := c.ListTagsRequest(input)
1491	return out, req.Send()
1492}
1493
1494// ListTagsWithContext is the same as ListTags with the addition of
1495// the ability to pass a context and additional request options.
1496//
1497// See ListTags for details on how to use this API operation.
1498//
1499// The context must be non-nil and will be used for request cancellation. If
1500// the context is nil a panic will occur. In the future the SDK may create
1501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1502// for more information on using Contexts.
1503func (c *MQ) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
1504	req, out := c.ListTagsRequest(input)
1505	req.SetContext(ctx)
1506	req.ApplyOptions(opts...)
1507	return out, req.Send()
1508}
1509
1510const opListUsers = "ListUsers"
1511
1512// ListUsersRequest generates a "aws/request.Request" representing the
1513// client's request for the ListUsers operation. The "output" return
1514// value will be populated with the request's response once the request completes
1515// successfully.
1516//
1517// Use "Send" method on the returned Request to send the API call to the service.
1518// the "output" return value is not valid until after Send returns without error.
1519//
1520// See ListUsers for more information on using the ListUsers
1521// API call, and error handling.
1522//
1523// This method is useful when you want to inject custom logic or configuration
1524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1525//
1526//
1527//    // Example sending a request using the ListUsersRequest method.
1528//    req, resp := client.ListUsersRequest(params)
1529//
1530//    err := req.Send()
1531//    if err == nil { // resp is now filled
1532//        fmt.Println(resp)
1533//    }
1534//
1535// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListUsers
1536func (c *MQ) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersResponse) {
1537	op := &request.Operation{
1538		Name:       opListUsers,
1539		HTTPMethod: "GET",
1540		HTTPPath:   "/v1/brokers/{broker-id}/users",
1541	}
1542
1543	if input == nil {
1544		input = &ListUsersInput{}
1545	}
1546
1547	output = &ListUsersResponse{}
1548	req = c.newRequest(op, input, output)
1549	return
1550}
1551
1552// ListUsers API operation for AmazonMQ.
1553//
1554// Returns a list of all ActiveMQ users.
1555//
1556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1557// with awserr.Error's Code and Message methods to get detailed information about
1558// the error.
1559//
1560// See the AWS API reference guide for AmazonMQ's
1561// API operation ListUsers for usage and error information.
1562//
1563// Returned Error Codes:
1564//   * ErrCodeNotFoundException "NotFoundException"
1565//   Returns information about an error.
1566//
1567//   * ErrCodeBadRequestException "BadRequestException"
1568//   Returns information about an error.
1569//
1570//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1571//   Returns information about an error.
1572//
1573//   * ErrCodeForbiddenException "ForbiddenException"
1574//   Returns information about an error.
1575//
1576// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/ListUsers
1577func (c *MQ) ListUsers(input *ListUsersInput) (*ListUsersResponse, error) {
1578	req, out := c.ListUsersRequest(input)
1579	return out, req.Send()
1580}
1581
1582// ListUsersWithContext is the same as ListUsers with the addition of
1583// the ability to pass a context and additional request options.
1584//
1585// See ListUsers for details on how to use this API operation.
1586//
1587// The context must be non-nil and will be used for request cancellation. If
1588// the context is nil a panic will occur. In the future the SDK may create
1589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1590// for more information on using Contexts.
1591func (c *MQ) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersResponse, error) {
1592	req, out := c.ListUsersRequest(input)
1593	req.SetContext(ctx)
1594	req.ApplyOptions(opts...)
1595	return out, req.Send()
1596}
1597
1598const opRebootBroker = "RebootBroker"
1599
1600// RebootBrokerRequest generates a "aws/request.Request" representing the
1601// client's request for the RebootBroker operation. The "output" return
1602// value will be populated with the request's response once the request completes
1603// successfully.
1604//
1605// Use "Send" method on the returned Request to send the API call to the service.
1606// the "output" return value is not valid until after Send returns without error.
1607//
1608// See RebootBroker for more information on using the RebootBroker
1609// API call, and error handling.
1610//
1611// This method is useful when you want to inject custom logic or configuration
1612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1613//
1614//
1615//    // Example sending a request using the RebootBrokerRequest method.
1616//    req, resp := client.RebootBrokerRequest(params)
1617//
1618//    err := req.Send()
1619//    if err == nil { // resp is now filled
1620//        fmt.Println(resp)
1621//    }
1622//
1623// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/RebootBroker
1624func (c *MQ) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) {
1625	op := &request.Operation{
1626		Name:       opRebootBroker,
1627		HTTPMethod: "POST",
1628		HTTPPath:   "/v1/brokers/{broker-id}/reboot",
1629	}
1630
1631	if input == nil {
1632		input = &RebootBrokerInput{}
1633	}
1634
1635	output = &RebootBrokerOutput{}
1636	req = c.newRequest(op, input, output)
1637	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1638	return
1639}
1640
1641// RebootBroker API operation for AmazonMQ.
1642//
1643// Reboots a broker. Note: This API is asynchronous.
1644//
1645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1646// with awserr.Error's Code and Message methods to get detailed information about
1647// the error.
1648//
1649// See the AWS API reference guide for AmazonMQ's
1650// API operation RebootBroker for usage and error information.
1651//
1652// Returned Error Codes:
1653//   * ErrCodeNotFoundException "NotFoundException"
1654//   Returns information about an error.
1655//
1656//   * ErrCodeBadRequestException "BadRequestException"
1657//   Returns information about an error.
1658//
1659//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1660//   Returns information about an error.
1661//
1662//   * ErrCodeForbiddenException "ForbiddenException"
1663//   Returns information about an error.
1664//
1665// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/RebootBroker
1666func (c *MQ) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) {
1667	req, out := c.RebootBrokerRequest(input)
1668	return out, req.Send()
1669}
1670
1671// RebootBrokerWithContext is the same as RebootBroker with the addition of
1672// the ability to pass a context and additional request options.
1673//
1674// See RebootBroker for details on how to use this API operation.
1675//
1676// The context must be non-nil and will be used for request cancellation. If
1677// the context is nil a panic will occur. In the future the SDK may create
1678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1679// for more information on using Contexts.
1680func (c *MQ) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) {
1681	req, out := c.RebootBrokerRequest(input)
1682	req.SetContext(ctx)
1683	req.ApplyOptions(opts...)
1684	return out, req.Send()
1685}
1686
1687const opUpdateBroker = "UpdateBroker"
1688
1689// UpdateBrokerRequest generates a "aws/request.Request" representing the
1690// client's request for the UpdateBroker operation. The "output" return
1691// value will be populated with the request's response once the request completes
1692// successfully.
1693//
1694// Use "Send" method on the returned Request to send the API call to the service.
1695// the "output" return value is not valid until after Send returns without error.
1696//
1697// See UpdateBroker for more information on using the UpdateBroker
1698// API call, and error handling.
1699//
1700// This method is useful when you want to inject custom logic or configuration
1701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1702//
1703//
1704//    // Example sending a request using the UpdateBrokerRequest method.
1705//    req, resp := client.UpdateBrokerRequest(params)
1706//
1707//    err := req.Send()
1708//    if err == nil { // resp is now filled
1709//        fmt.Println(resp)
1710//    }
1711//
1712// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateBroker
1713func (c *MQ) UpdateBrokerRequest(input *UpdateBrokerRequest) (req *request.Request, output *UpdateBrokerResponse) {
1714	op := &request.Operation{
1715		Name:       opUpdateBroker,
1716		HTTPMethod: "PUT",
1717		HTTPPath:   "/v1/brokers/{broker-id}",
1718	}
1719
1720	if input == nil {
1721		input = &UpdateBrokerRequest{}
1722	}
1723
1724	output = &UpdateBrokerResponse{}
1725	req = c.newRequest(op, input, output)
1726	return
1727}
1728
1729// UpdateBroker API operation for AmazonMQ.
1730//
1731// Adds a pending configuration change to a broker.
1732//
1733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1734// with awserr.Error's Code and Message methods to get detailed information about
1735// the error.
1736//
1737// See the AWS API reference guide for AmazonMQ's
1738// API operation UpdateBroker for usage and error information.
1739//
1740// Returned Error Codes:
1741//   * ErrCodeNotFoundException "NotFoundException"
1742//   Returns information about an error.
1743//
1744//   * ErrCodeBadRequestException "BadRequestException"
1745//   Returns information about an error.
1746//
1747//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1748//   Returns information about an error.
1749//
1750//   * ErrCodeConflictException "ConflictException"
1751//   Returns information about an error.
1752//
1753//   * ErrCodeForbiddenException "ForbiddenException"
1754//   Returns information about an error.
1755//
1756// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateBroker
1757func (c *MQ) UpdateBroker(input *UpdateBrokerRequest) (*UpdateBrokerResponse, error) {
1758	req, out := c.UpdateBrokerRequest(input)
1759	return out, req.Send()
1760}
1761
1762// UpdateBrokerWithContext is the same as UpdateBroker with the addition of
1763// the ability to pass a context and additional request options.
1764//
1765// See UpdateBroker for details on how to use this API operation.
1766//
1767// The context must be non-nil and will be used for request cancellation. If
1768// the context is nil a panic will occur. In the future the SDK may create
1769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1770// for more information on using Contexts.
1771func (c *MQ) UpdateBrokerWithContext(ctx aws.Context, input *UpdateBrokerRequest, opts ...request.Option) (*UpdateBrokerResponse, error) {
1772	req, out := c.UpdateBrokerRequest(input)
1773	req.SetContext(ctx)
1774	req.ApplyOptions(opts...)
1775	return out, req.Send()
1776}
1777
1778const opUpdateConfiguration = "UpdateConfiguration"
1779
1780// UpdateConfigurationRequest generates a "aws/request.Request" representing the
1781// client's request for the UpdateConfiguration operation. The "output" return
1782// value will be populated with the request's response once the request completes
1783// successfully.
1784//
1785// Use "Send" method on the returned Request to send the API call to the service.
1786// the "output" return value is not valid until after Send returns without error.
1787//
1788// See UpdateConfiguration for more information on using the UpdateConfiguration
1789// API call, and error handling.
1790//
1791// This method is useful when you want to inject custom logic or configuration
1792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1793//
1794//
1795//    // Example sending a request using the UpdateConfigurationRequest method.
1796//    req, resp := client.UpdateConfigurationRequest(params)
1797//
1798//    err := req.Send()
1799//    if err == nil { // resp is now filled
1800//        fmt.Println(resp)
1801//    }
1802//
1803// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateConfiguration
1804func (c *MQ) UpdateConfigurationRequest(input *UpdateConfigurationRequest) (req *request.Request, output *UpdateConfigurationResponse) {
1805	op := &request.Operation{
1806		Name:       opUpdateConfiguration,
1807		HTTPMethod: "PUT",
1808		HTTPPath:   "/v1/configurations/{configuration-id}",
1809	}
1810
1811	if input == nil {
1812		input = &UpdateConfigurationRequest{}
1813	}
1814
1815	output = &UpdateConfigurationResponse{}
1816	req = c.newRequest(op, input, output)
1817	return
1818}
1819
1820// UpdateConfiguration API operation for AmazonMQ.
1821//
1822// Updates the specified configuration.
1823//
1824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1825// with awserr.Error's Code and Message methods to get detailed information about
1826// the error.
1827//
1828// See the AWS API reference guide for AmazonMQ's
1829// API operation UpdateConfiguration for usage and error information.
1830//
1831// Returned Error Codes:
1832//   * ErrCodeNotFoundException "NotFoundException"
1833//   Returns information about an error.
1834//
1835//   * ErrCodeBadRequestException "BadRequestException"
1836//   Returns information about an error.
1837//
1838//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1839//   Returns information about an error.
1840//
1841//   * ErrCodeConflictException "ConflictException"
1842//   Returns information about an error.
1843//
1844//   * ErrCodeForbiddenException "ForbiddenException"
1845//   Returns information about an error.
1846//
1847// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateConfiguration
1848func (c *MQ) UpdateConfiguration(input *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) {
1849	req, out := c.UpdateConfigurationRequest(input)
1850	return out, req.Send()
1851}
1852
1853// UpdateConfigurationWithContext is the same as UpdateConfiguration with the addition of
1854// the ability to pass a context and additional request options.
1855//
1856// See UpdateConfiguration for details on how to use this API operation.
1857//
1858// The context must be non-nil and will be used for request cancellation. If
1859// the context is nil a panic will occur. In the future the SDK may create
1860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1861// for more information on using Contexts.
1862func (c *MQ) UpdateConfigurationWithContext(ctx aws.Context, input *UpdateConfigurationRequest, opts ...request.Option) (*UpdateConfigurationResponse, error) {
1863	req, out := c.UpdateConfigurationRequest(input)
1864	req.SetContext(ctx)
1865	req.ApplyOptions(opts...)
1866	return out, req.Send()
1867}
1868
1869const opUpdateUser = "UpdateUser"
1870
1871// UpdateUserRequest generates a "aws/request.Request" representing the
1872// client's request for the UpdateUser operation. The "output" return
1873// value will be populated with the request's response once the request completes
1874// successfully.
1875//
1876// Use "Send" method on the returned Request to send the API call to the service.
1877// the "output" return value is not valid until after Send returns without error.
1878//
1879// See UpdateUser for more information on using the UpdateUser
1880// API call, and error handling.
1881//
1882// This method is useful when you want to inject custom logic or configuration
1883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1884//
1885//
1886//    // Example sending a request using the UpdateUserRequest method.
1887//    req, resp := client.UpdateUserRequest(params)
1888//
1889//    err := req.Send()
1890//    if err == nil { // resp is now filled
1891//        fmt.Println(resp)
1892//    }
1893//
1894// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateUser
1895func (c *MQ) UpdateUserRequest(input *UpdateUserRequest) (req *request.Request, output *UpdateUserOutput) {
1896	op := &request.Operation{
1897		Name:       opUpdateUser,
1898		HTTPMethod: "PUT",
1899		HTTPPath:   "/v1/brokers/{broker-id}/users/{username}",
1900	}
1901
1902	if input == nil {
1903		input = &UpdateUserRequest{}
1904	}
1905
1906	output = &UpdateUserOutput{}
1907	req = c.newRequest(op, input, output)
1908	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1909	return
1910}
1911
1912// UpdateUser API operation for AmazonMQ.
1913//
1914// Updates the information for an ActiveMQ user.
1915//
1916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1917// with awserr.Error's Code and Message methods to get detailed information about
1918// the error.
1919//
1920// See the AWS API reference guide for AmazonMQ's
1921// API operation UpdateUser for usage and error information.
1922//
1923// Returned Error Codes:
1924//   * ErrCodeNotFoundException "NotFoundException"
1925//   Returns information about an error.
1926//
1927//   * ErrCodeBadRequestException "BadRequestException"
1928//   Returns information about an error.
1929//
1930//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1931//   Returns information about an error.
1932//
1933//   * ErrCodeConflictException "ConflictException"
1934//   Returns information about an error.
1935//
1936//   * ErrCodeForbiddenException "ForbiddenException"
1937//   Returns information about an error.
1938//
1939// See also, https://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UpdateUser
1940func (c *MQ) UpdateUser(input *UpdateUserRequest) (*UpdateUserOutput, error) {
1941	req, out := c.UpdateUserRequest(input)
1942	return out, req.Send()
1943}
1944
1945// UpdateUserWithContext is the same as UpdateUser with the addition of
1946// the ability to pass a context and additional request options.
1947//
1948// See UpdateUser for details on how to use this API operation.
1949//
1950// The context must be non-nil and will be used for request cancellation. If
1951// the context is nil a panic will occur. In the future the SDK may create
1952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1953// for more information on using Contexts.
1954func (c *MQ) UpdateUserWithContext(ctx aws.Context, input *UpdateUserRequest, opts ...request.Option) (*UpdateUserOutput, error) {
1955	req, out := c.UpdateUserRequest(input)
1956	req.SetContext(ctx)
1957	req.ApplyOptions(opts...)
1958	return out, req.Send()
1959}
1960
1961// Name of the availability zone.
1962type AvailabilityZone struct {
1963	_ struct{} `type:"structure"`
1964
1965	// Id for the availability zone.
1966	Name *string `locationName:"name" type:"string"`
1967}
1968
1969// String returns the string representation
1970func (s AvailabilityZone) String() string {
1971	return awsutil.Prettify(s)
1972}
1973
1974// GoString returns the string representation
1975func (s AvailabilityZone) GoString() string {
1976	return s.String()
1977}
1978
1979// SetName sets the Name field's value.
1980func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
1981	s.Name = &v
1982	return s
1983}
1984
1985// Types of broker engines.
1986type BrokerEngineType struct {
1987	_ struct{} `type:"structure"`
1988
1989	// The type of broker engine.
1990	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
1991
1992	// The list of engine versions.
1993	EngineVersions []*EngineVersion `locationName:"engineVersions" type:"list"`
1994}
1995
1996// String returns the string representation
1997func (s BrokerEngineType) String() string {
1998	return awsutil.Prettify(s)
1999}
2000
2001// GoString returns the string representation
2002func (s BrokerEngineType) GoString() string {
2003	return s.String()
2004}
2005
2006// SetEngineType sets the EngineType field's value.
2007func (s *BrokerEngineType) SetEngineType(v string) *BrokerEngineType {
2008	s.EngineType = &v
2009	return s
2010}
2011
2012// SetEngineVersions sets the EngineVersions field's value.
2013func (s *BrokerEngineType) SetEngineVersions(v []*EngineVersion) *BrokerEngineType {
2014	s.EngineVersions = v
2015	return s
2016}
2017
2018// Returns information about all brokers.
2019type BrokerInstance struct {
2020	_ struct{} `type:"structure"`
2021
2022	// The URL of the broker's ActiveMQ Web Console.
2023	ConsoleURL *string `locationName:"consoleURL" type:"string"`
2024
2025	// The broker's wire-level protocol endpoints.
2026	Endpoints []*string `locationName:"endpoints" type:"list"`
2027
2028	// The IP address of the Elastic Network Interface (ENI) attached to the broker.
2029	IpAddress *string `locationName:"ipAddress" type:"string"`
2030}
2031
2032// String returns the string representation
2033func (s BrokerInstance) String() string {
2034	return awsutil.Prettify(s)
2035}
2036
2037// GoString returns the string representation
2038func (s BrokerInstance) GoString() string {
2039	return s.String()
2040}
2041
2042// SetConsoleURL sets the ConsoleURL field's value.
2043func (s *BrokerInstance) SetConsoleURL(v string) *BrokerInstance {
2044	s.ConsoleURL = &v
2045	return s
2046}
2047
2048// SetEndpoints sets the Endpoints field's value.
2049func (s *BrokerInstance) SetEndpoints(v []*string) *BrokerInstance {
2050	s.Endpoints = v
2051	return s
2052}
2053
2054// SetIpAddress sets the IpAddress field's value.
2055func (s *BrokerInstance) SetIpAddress(v string) *BrokerInstance {
2056	s.IpAddress = &v
2057	return s
2058}
2059
2060// Option for host instance type.
2061type BrokerInstanceOption struct {
2062	_ struct{} `type:"structure"`
2063
2064	// The list of available az.
2065	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
2066
2067	// The type of broker engine.
2068	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2069
2070	// The type of broker instance.
2071	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
2072
2073	// The broker's storage type.
2074	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
2075
2076	// The list of supported deployment modes.
2077	SupportedDeploymentModes []*string `locationName:"supportedDeploymentModes" type:"list"`
2078
2079	// The list of supported engine versions.
2080	SupportedEngineVersions []*string `locationName:"supportedEngineVersions" type:"list"`
2081}
2082
2083// String returns the string representation
2084func (s BrokerInstanceOption) String() string {
2085	return awsutil.Prettify(s)
2086}
2087
2088// GoString returns the string representation
2089func (s BrokerInstanceOption) GoString() string {
2090	return s.String()
2091}
2092
2093// SetAvailabilityZones sets the AvailabilityZones field's value.
2094func (s *BrokerInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *BrokerInstanceOption {
2095	s.AvailabilityZones = v
2096	return s
2097}
2098
2099// SetEngineType sets the EngineType field's value.
2100func (s *BrokerInstanceOption) SetEngineType(v string) *BrokerInstanceOption {
2101	s.EngineType = &v
2102	return s
2103}
2104
2105// SetHostInstanceType sets the HostInstanceType field's value.
2106func (s *BrokerInstanceOption) SetHostInstanceType(v string) *BrokerInstanceOption {
2107	s.HostInstanceType = &v
2108	return s
2109}
2110
2111// SetStorageType sets the StorageType field's value.
2112func (s *BrokerInstanceOption) SetStorageType(v string) *BrokerInstanceOption {
2113	s.StorageType = &v
2114	return s
2115}
2116
2117// SetSupportedDeploymentModes sets the SupportedDeploymentModes field's value.
2118func (s *BrokerInstanceOption) SetSupportedDeploymentModes(v []*string) *BrokerInstanceOption {
2119	s.SupportedDeploymentModes = v
2120	return s
2121}
2122
2123// SetSupportedEngineVersions sets the SupportedEngineVersions field's value.
2124func (s *BrokerInstanceOption) SetSupportedEngineVersions(v []*string) *BrokerInstanceOption {
2125	s.SupportedEngineVersions = v
2126	return s
2127}
2128
2129// The Amazon Resource Name (ARN) of the broker.
2130type BrokerSummary struct {
2131	_ struct{} `type:"structure"`
2132
2133	// The Amazon Resource Name (ARN) of the broker.
2134	BrokerArn *string `locationName:"brokerArn" type:"string"`
2135
2136	// The unique ID that Amazon MQ generates for the broker.
2137	BrokerId *string `locationName:"brokerId" type:"string"`
2138
2139	// The name of the broker. This value must be unique in your AWS account, 1-50
2140	// characters long, must contain only letters, numbers, dashes, and underscores,
2141	// and must not contain whitespaces, brackets, wildcard characters, or special
2142	// characters.
2143	BrokerName *string `locationName:"brokerName" type:"string"`
2144
2145	// The status of the broker.
2146	BrokerState *string `locationName:"brokerState" type:"string" enum:"BrokerState"`
2147
2148	// The time when the broker was created.
2149	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
2150
2151	// Required. The deployment mode of the broker.
2152	DeploymentMode *string `locationName:"deploymentMode" type:"string" enum:"DeploymentMode"`
2153
2154	// The broker's instance type.
2155	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
2156}
2157
2158// String returns the string representation
2159func (s BrokerSummary) String() string {
2160	return awsutil.Prettify(s)
2161}
2162
2163// GoString returns the string representation
2164func (s BrokerSummary) GoString() string {
2165	return s.String()
2166}
2167
2168// SetBrokerArn sets the BrokerArn field's value.
2169func (s *BrokerSummary) SetBrokerArn(v string) *BrokerSummary {
2170	s.BrokerArn = &v
2171	return s
2172}
2173
2174// SetBrokerId sets the BrokerId field's value.
2175func (s *BrokerSummary) SetBrokerId(v string) *BrokerSummary {
2176	s.BrokerId = &v
2177	return s
2178}
2179
2180// SetBrokerName sets the BrokerName field's value.
2181func (s *BrokerSummary) SetBrokerName(v string) *BrokerSummary {
2182	s.BrokerName = &v
2183	return s
2184}
2185
2186// SetBrokerState sets the BrokerState field's value.
2187func (s *BrokerSummary) SetBrokerState(v string) *BrokerSummary {
2188	s.BrokerState = &v
2189	return s
2190}
2191
2192// SetCreated sets the Created field's value.
2193func (s *BrokerSummary) SetCreated(v time.Time) *BrokerSummary {
2194	s.Created = &v
2195	return s
2196}
2197
2198// SetDeploymentMode sets the DeploymentMode field's value.
2199func (s *BrokerSummary) SetDeploymentMode(v string) *BrokerSummary {
2200	s.DeploymentMode = &v
2201	return s
2202}
2203
2204// SetHostInstanceType sets the HostInstanceType field's value.
2205func (s *BrokerSummary) SetHostInstanceType(v string) *BrokerSummary {
2206	s.HostInstanceType = &v
2207	return s
2208}
2209
2210// Returns information about all configurations.
2211type Configuration struct {
2212	_ struct{} `type:"structure"`
2213
2214	// Required. The ARN of the configuration.
2215	Arn *string `locationName:"arn" type:"string"`
2216
2217	// Required. The date and time of the configuration revision.
2218	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
2219
2220	// Required. The description of the configuration.
2221	Description *string `locationName:"description" type:"string"`
2222
2223	// Required. The type of broker engine. Note: Currently, Amazon MQ supports
2224	// only ACTIVEMQ.
2225	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2226
2227	// Required. The version of the broker engine. For a list of supported engine
2228	// versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
2229	EngineVersion *string `locationName:"engineVersion" type:"string"`
2230
2231	// Required. The unique ID that Amazon MQ generates for the configuration.
2232	Id *string `locationName:"id" type:"string"`
2233
2234	// Required. The latest revision of the configuration.
2235	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
2236
2237	// Required. The name of the configuration. This value can contain only alphanumeric
2238	// characters, dashes, periods, underscores, and tildes (- . _ ~). This value
2239	// must be 1-150 characters long.
2240	Name *string `locationName:"name" type:"string"`
2241
2242	// The list of all tags associated with this configuration.
2243	Tags map[string]*string `locationName:"tags" type:"map"`
2244}
2245
2246// String returns the string representation
2247func (s Configuration) String() string {
2248	return awsutil.Prettify(s)
2249}
2250
2251// GoString returns the string representation
2252func (s Configuration) GoString() string {
2253	return s.String()
2254}
2255
2256// SetArn sets the Arn field's value.
2257func (s *Configuration) SetArn(v string) *Configuration {
2258	s.Arn = &v
2259	return s
2260}
2261
2262// SetCreated sets the Created field's value.
2263func (s *Configuration) SetCreated(v time.Time) *Configuration {
2264	s.Created = &v
2265	return s
2266}
2267
2268// SetDescription sets the Description field's value.
2269func (s *Configuration) SetDescription(v string) *Configuration {
2270	s.Description = &v
2271	return s
2272}
2273
2274// SetEngineType sets the EngineType field's value.
2275func (s *Configuration) SetEngineType(v string) *Configuration {
2276	s.EngineType = &v
2277	return s
2278}
2279
2280// SetEngineVersion sets the EngineVersion field's value.
2281func (s *Configuration) SetEngineVersion(v string) *Configuration {
2282	s.EngineVersion = &v
2283	return s
2284}
2285
2286// SetId sets the Id field's value.
2287func (s *Configuration) SetId(v string) *Configuration {
2288	s.Id = &v
2289	return s
2290}
2291
2292// SetLatestRevision sets the LatestRevision field's value.
2293func (s *Configuration) SetLatestRevision(v *ConfigurationRevision) *Configuration {
2294	s.LatestRevision = v
2295	return s
2296}
2297
2298// SetName sets the Name field's value.
2299func (s *Configuration) SetName(v string) *Configuration {
2300	s.Name = &v
2301	return s
2302}
2303
2304// SetTags sets the Tags field's value.
2305func (s *Configuration) SetTags(v map[string]*string) *Configuration {
2306	s.Tags = v
2307	return s
2308}
2309
2310// A list of information about the configuration.
2311type ConfigurationId struct {
2312	_ struct{} `type:"structure"`
2313
2314	// Required. The unique ID that Amazon MQ generates for the configuration.
2315	Id *string `locationName:"id" type:"string"`
2316
2317	// The revision number of the configuration.
2318	Revision *int64 `locationName:"revision" type:"integer"`
2319}
2320
2321// String returns the string representation
2322func (s ConfigurationId) String() string {
2323	return awsutil.Prettify(s)
2324}
2325
2326// GoString returns the string representation
2327func (s ConfigurationId) GoString() string {
2328	return s.String()
2329}
2330
2331// SetId sets the Id field's value.
2332func (s *ConfigurationId) SetId(v string) *ConfigurationId {
2333	s.Id = &v
2334	return s
2335}
2336
2337// SetRevision sets the Revision field's value.
2338func (s *ConfigurationId) SetRevision(v int64) *ConfigurationId {
2339	s.Revision = &v
2340	return s
2341}
2342
2343// Returns information about the specified configuration revision.
2344type ConfigurationRevision struct {
2345	_ struct{} `type:"structure"`
2346
2347	// Required. The date and time of the configuration revision.
2348	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
2349
2350	// The description of the configuration revision.
2351	Description *string `locationName:"description" type:"string"`
2352
2353	// Required. The revision number of the configuration.
2354	Revision *int64 `locationName:"revision" type:"integer"`
2355}
2356
2357// String returns the string representation
2358func (s ConfigurationRevision) String() string {
2359	return awsutil.Prettify(s)
2360}
2361
2362// GoString returns the string representation
2363func (s ConfigurationRevision) GoString() string {
2364	return s.String()
2365}
2366
2367// SetCreated sets the Created field's value.
2368func (s *ConfigurationRevision) SetCreated(v time.Time) *ConfigurationRevision {
2369	s.Created = &v
2370	return s
2371}
2372
2373// SetDescription sets the Description field's value.
2374func (s *ConfigurationRevision) SetDescription(v string) *ConfigurationRevision {
2375	s.Description = &v
2376	return s
2377}
2378
2379// SetRevision sets the Revision field's value.
2380func (s *ConfigurationRevision) SetRevision(v int64) *ConfigurationRevision {
2381	s.Revision = &v
2382	return s
2383}
2384
2385// Broker configuration information
2386type Configurations struct {
2387	_ struct{} `type:"structure"`
2388
2389	// The current configuration of the broker.
2390	Current *ConfigurationId `locationName:"current" type:"structure"`
2391
2392	// The history of configurations applied to the broker.
2393	History []*ConfigurationId `locationName:"history" type:"list"`
2394
2395	// The pending configuration of the broker.
2396	Pending *ConfigurationId `locationName:"pending" type:"structure"`
2397}
2398
2399// String returns the string representation
2400func (s Configurations) String() string {
2401	return awsutil.Prettify(s)
2402}
2403
2404// GoString returns the string representation
2405func (s Configurations) GoString() string {
2406	return s.String()
2407}
2408
2409// SetCurrent sets the Current field's value.
2410func (s *Configurations) SetCurrent(v *ConfigurationId) *Configurations {
2411	s.Current = v
2412	return s
2413}
2414
2415// SetHistory sets the History field's value.
2416func (s *Configurations) SetHistory(v []*ConfigurationId) *Configurations {
2417	s.History = v
2418	return s
2419}
2420
2421// SetPending sets the Pending field's value.
2422func (s *Configurations) SetPending(v *ConfigurationId) *Configurations {
2423	s.Pending = v
2424	return s
2425}
2426
2427type CreateBrokerRequest struct {
2428	_ struct{} `type:"structure"`
2429
2430	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
2431
2432	BrokerName *string `locationName:"brokerName" type:"string"`
2433
2434	// A list of information about the configuration.
2435	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
2436
2437	CreatorRequestId *string `locationName:"creatorRequestId" type:"string" idempotencyToken:"true"`
2438
2439	// The deployment mode of the broker.
2440	DeploymentMode *string `locationName:"deploymentMode" type:"string" enum:"DeploymentMode"`
2441
2442	// Encryption options for the broker.
2443	EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"`
2444
2445	// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.
2446	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2447
2448	EngineVersion *string `locationName:"engineVersion" type:"string"`
2449
2450	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
2451
2452	// The list of information about logs to be enabled for the specified broker.
2453	Logs *Logs `locationName:"logs" type:"structure"`
2454
2455	// The scheduled time period relative to UTC during which Amazon MQ begins to
2456	// apply pending updates or patches to the broker.
2457	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
2458
2459	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
2460
2461	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
2462
2463	// The storage type of the broker.
2464	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
2465
2466	SubnetIds []*string `locationName:"subnetIds" type:"list"`
2467
2468	Tags map[string]*string `locationName:"tags" type:"map"`
2469
2470	Users []*User `locationName:"users" type:"list"`
2471}
2472
2473// String returns the string representation
2474func (s CreateBrokerRequest) String() string {
2475	return awsutil.Prettify(s)
2476}
2477
2478// GoString returns the string representation
2479func (s CreateBrokerRequest) GoString() string {
2480	return s.String()
2481}
2482
2483// Validate inspects the fields of the type to determine if they are valid.
2484func (s *CreateBrokerRequest) Validate() error {
2485	invalidParams := request.ErrInvalidParams{Context: "CreateBrokerRequest"}
2486	if s.EncryptionOptions != nil {
2487		if err := s.EncryptionOptions.Validate(); err != nil {
2488			invalidParams.AddNested("EncryptionOptions", err.(request.ErrInvalidParams))
2489		}
2490	}
2491
2492	if invalidParams.Len() > 0 {
2493		return invalidParams
2494	}
2495	return nil
2496}
2497
2498// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
2499func (s *CreateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *CreateBrokerRequest {
2500	s.AutoMinorVersionUpgrade = &v
2501	return s
2502}
2503
2504// SetBrokerName sets the BrokerName field's value.
2505func (s *CreateBrokerRequest) SetBrokerName(v string) *CreateBrokerRequest {
2506	s.BrokerName = &v
2507	return s
2508}
2509
2510// SetConfiguration sets the Configuration field's value.
2511func (s *CreateBrokerRequest) SetConfiguration(v *ConfigurationId) *CreateBrokerRequest {
2512	s.Configuration = v
2513	return s
2514}
2515
2516// SetCreatorRequestId sets the CreatorRequestId field's value.
2517func (s *CreateBrokerRequest) SetCreatorRequestId(v string) *CreateBrokerRequest {
2518	s.CreatorRequestId = &v
2519	return s
2520}
2521
2522// SetDeploymentMode sets the DeploymentMode field's value.
2523func (s *CreateBrokerRequest) SetDeploymentMode(v string) *CreateBrokerRequest {
2524	s.DeploymentMode = &v
2525	return s
2526}
2527
2528// SetEncryptionOptions sets the EncryptionOptions field's value.
2529func (s *CreateBrokerRequest) SetEncryptionOptions(v *EncryptionOptions) *CreateBrokerRequest {
2530	s.EncryptionOptions = v
2531	return s
2532}
2533
2534// SetEngineType sets the EngineType field's value.
2535func (s *CreateBrokerRequest) SetEngineType(v string) *CreateBrokerRequest {
2536	s.EngineType = &v
2537	return s
2538}
2539
2540// SetEngineVersion sets the EngineVersion field's value.
2541func (s *CreateBrokerRequest) SetEngineVersion(v string) *CreateBrokerRequest {
2542	s.EngineVersion = &v
2543	return s
2544}
2545
2546// SetHostInstanceType sets the HostInstanceType field's value.
2547func (s *CreateBrokerRequest) SetHostInstanceType(v string) *CreateBrokerRequest {
2548	s.HostInstanceType = &v
2549	return s
2550}
2551
2552// SetLogs sets the Logs field's value.
2553func (s *CreateBrokerRequest) SetLogs(v *Logs) *CreateBrokerRequest {
2554	s.Logs = v
2555	return s
2556}
2557
2558// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
2559func (s *CreateBrokerRequest) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *CreateBrokerRequest {
2560	s.MaintenanceWindowStartTime = v
2561	return s
2562}
2563
2564// SetPubliclyAccessible sets the PubliclyAccessible field's value.
2565func (s *CreateBrokerRequest) SetPubliclyAccessible(v bool) *CreateBrokerRequest {
2566	s.PubliclyAccessible = &v
2567	return s
2568}
2569
2570// SetSecurityGroups sets the SecurityGroups field's value.
2571func (s *CreateBrokerRequest) SetSecurityGroups(v []*string) *CreateBrokerRequest {
2572	s.SecurityGroups = v
2573	return s
2574}
2575
2576// SetStorageType sets the StorageType field's value.
2577func (s *CreateBrokerRequest) SetStorageType(v string) *CreateBrokerRequest {
2578	s.StorageType = &v
2579	return s
2580}
2581
2582// SetSubnetIds sets the SubnetIds field's value.
2583func (s *CreateBrokerRequest) SetSubnetIds(v []*string) *CreateBrokerRequest {
2584	s.SubnetIds = v
2585	return s
2586}
2587
2588// SetTags sets the Tags field's value.
2589func (s *CreateBrokerRequest) SetTags(v map[string]*string) *CreateBrokerRequest {
2590	s.Tags = v
2591	return s
2592}
2593
2594// SetUsers sets the Users field's value.
2595func (s *CreateBrokerRequest) SetUsers(v []*User) *CreateBrokerRequest {
2596	s.Users = v
2597	return s
2598}
2599
2600type CreateBrokerResponse struct {
2601	_ struct{} `type:"structure"`
2602
2603	BrokerArn *string `locationName:"brokerArn" type:"string"`
2604
2605	BrokerId *string `locationName:"brokerId" type:"string"`
2606}
2607
2608// String returns the string representation
2609func (s CreateBrokerResponse) String() string {
2610	return awsutil.Prettify(s)
2611}
2612
2613// GoString returns the string representation
2614func (s CreateBrokerResponse) GoString() string {
2615	return s.String()
2616}
2617
2618// SetBrokerArn sets the BrokerArn field's value.
2619func (s *CreateBrokerResponse) SetBrokerArn(v string) *CreateBrokerResponse {
2620	s.BrokerArn = &v
2621	return s
2622}
2623
2624// SetBrokerId sets the BrokerId field's value.
2625func (s *CreateBrokerResponse) SetBrokerId(v string) *CreateBrokerResponse {
2626	s.BrokerId = &v
2627	return s
2628}
2629
2630type CreateConfigurationRequest struct {
2631	_ struct{} `type:"structure"`
2632
2633	// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.
2634	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
2635
2636	EngineVersion *string `locationName:"engineVersion" type:"string"`
2637
2638	Name *string `locationName:"name" type:"string"`
2639
2640	Tags map[string]*string `locationName:"tags" type:"map"`
2641}
2642
2643// String returns the string representation
2644func (s CreateConfigurationRequest) String() string {
2645	return awsutil.Prettify(s)
2646}
2647
2648// GoString returns the string representation
2649func (s CreateConfigurationRequest) GoString() string {
2650	return s.String()
2651}
2652
2653// SetEngineType sets the EngineType field's value.
2654func (s *CreateConfigurationRequest) SetEngineType(v string) *CreateConfigurationRequest {
2655	s.EngineType = &v
2656	return s
2657}
2658
2659// SetEngineVersion sets the EngineVersion field's value.
2660func (s *CreateConfigurationRequest) SetEngineVersion(v string) *CreateConfigurationRequest {
2661	s.EngineVersion = &v
2662	return s
2663}
2664
2665// SetName sets the Name field's value.
2666func (s *CreateConfigurationRequest) SetName(v string) *CreateConfigurationRequest {
2667	s.Name = &v
2668	return s
2669}
2670
2671// SetTags sets the Tags field's value.
2672func (s *CreateConfigurationRequest) SetTags(v map[string]*string) *CreateConfigurationRequest {
2673	s.Tags = v
2674	return s
2675}
2676
2677type CreateConfigurationResponse struct {
2678	_ struct{} `type:"structure"`
2679
2680	Arn *string `locationName:"arn" type:"string"`
2681
2682	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
2683
2684	Id *string `locationName:"id" type:"string"`
2685
2686	// Returns information about the specified configuration revision.
2687	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
2688
2689	Name *string `locationName:"name" type:"string"`
2690}
2691
2692// String returns the string representation
2693func (s CreateConfigurationResponse) String() string {
2694	return awsutil.Prettify(s)
2695}
2696
2697// GoString returns the string representation
2698func (s CreateConfigurationResponse) GoString() string {
2699	return s.String()
2700}
2701
2702// SetArn sets the Arn field's value.
2703func (s *CreateConfigurationResponse) SetArn(v string) *CreateConfigurationResponse {
2704	s.Arn = &v
2705	return s
2706}
2707
2708// SetCreated sets the Created field's value.
2709func (s *CreateConfigurationResponse) SetCreated(v time.Time) *CreateConfigurationResponse {
2710	s.Created = &v
2711	return s
2712}
2713
2714// SetId sets the Id field's value.
2715func (s *CreateConfigurationResponse) SetId(v string) *CreateConfigurationResponse {
2716	s.Id = &v
2717	return s
2718}
2719
2720// SetLatestRevision sets the LatestRevision field's value.
2721func (s *CreateConfigurationResponse) SetLatestRevision(v *ConfigurationRevision) *CreateConfigurationResponse {
2722	s.LatestRevision = v
2723	return s
2724}
2725
2726// SetName sets the Name field's value.
2727func (s *CreateConfigurationResponse) SetName(v string) *CreateConfigurationResponse {
2728	s.Name = &v
2729	return s
2730}
2731
2732type CreateTagsInput struct {
2733	_ struct{} `type:"structure"`
2734
2735	// ResourceArn is a required field
2736	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
2737
2738	Tags map[string]*string `locationName:"tags" type:"map"`
2739}
2740
2741// String returns the string representation
2742func (s CreateTagsInput) String() string {
2743	return awsutil.Prettify(s)
2744}
2745
2746// GoString returns the string representation
2747func (s CreateTagsInput) GoString() string {
2748	return s.String()
2749}
2750
2751// Validate inspects the fields of the type to determine if they are valid.
2752func (s *CreateTagsInput) Validate() error {
2753	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
2754	if s.ResourceArn == nil {
2755		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2756	}
2757	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2758		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2759	}
2760
2761	if invalidParams.Len() > 0 {
2762		return invalidParams
2763	}
2764	return nil
2765}
2766
2767// SetResourceArn sets the ResourceArn field's value.
2768func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput {
2769	s.ResourceArn = &v
2770	return s
2771}
2772
2773// SetTags sets the Tags field's value.
2774func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput {
2775	s.Tags = v
2776	return s
2777}
2778
2779type CreateTagsOutput struct {
2780	_ struct{} `type:"structure"`
2781}
2782
2783// String returns the string representation
2784func (s CreateTagsOutput) String() string {
2785	return awsutil.Prettify(s)
2786}
2787
2788// GoString returns the string representation
2789func (s CreateTagsOutput) GoString() string {
2790	return s.String()
2791}
2792
2793type CreateUserOutput struct {
2794	_ struct{} `type:"structure"`
2795}
2796
2797// String returns the string representation
2798func (s CreateUserOutput) String() string {
2799	return awsutil.Prettify(s)
2800}
2801
2802// GoString returns the string representation
2803func (s CreateUserOutput) GoString() string {
2804	return s.String()
2805}
2806
2807type CreateUserRequest struct {
2808	_ struct{} `type:"structure"`
2809
2810	// BrokerId is a required field
2811	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
2812
2813	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
2814
2815	Groups []*string `locationName:"groups" type:"list"`
2816
2817	Password *string `locationName:"password" type:"string"`
2818
2819	// Username is a required field
2820	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
2821}
2822
2823// String returns the string representation
2824func (s CreateUserRequest) String() string {
2825	return awsutil.Prettify(s)
2826}
2827
2828// GoString returns the string representation
2829func (s CreateUserRequest) GoString() string {
2830	return s.String()
2831}
2832
2833// Validate inspects the fields of the type to determine if they are valid.
2834func (s *CreateUserRequest) Validate() error {
2835	invalidParams := request.ErrInvalidParams{Context: "CreateUserRequest"}
2836	if s.BrokerId == nil {
2837		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
2838	}
2839	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
2840		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
2841	}
2842	if s.Username == nil {
2843		invalidParams.Add(request.NewErrParamRequired("Username"))
2844	}
2845	if s.Username != nil && len(*s.Username) < 1 {
2846		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
2847	}
2848
2849	if invalidParams.Len() > 0 {
2850		return invalidParams
2851	}
2852	return nil
2853}
2854
2855// SetBrokerId sets the BrokerId field's value.
2856func (s *CreateUserRequest) SetBrokerId(v string) *CreateUserRequest {
2857	s.BrokerId = &v
2858	return s
2859}
2860
2861// SetConsoleAccess sets the ConsoleAccess field's value.
2862func (s *CreateUserRequest) SetConsoleAccess(v bool) *CreateUserRequest {
2863	s.ConsoleAccess = &v
2864	return s
2865}
2866
2867// SetGroups sets the Groups field's value.
2868func (s *CreateUserRequest) SetGroups(v []*string) *CreateUserRequest {
2869	s.Groups = v
2870	return s
2871}
2872
2873// SetPassword sets the Password field's value.
2874func (s *CreateUserRequest) SetPassword(v string) *CreateUserRequest {
2875	s.Password = &v
2876	return s
2877}
2878
2879// SetUsername sets the Username field's value.
2880func (s *CreateUserRequest) SetUsername(v string) *CreateUserRequest {
2881	s.Username = &v
2882	return s
2883}
2884
2885type DeleteBrokerInput struct {
2886	_ struct{} `type:"structure"`
2887
2888	// BrokerId is a required field
2889	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
2890}
2891
2892// String returns the string representation
2893func (s DeleteBrokerInput) String() string {
2894	return awsutil.Prettify(s)
2895}
2896
2897// GoString returns the string representation
2898func (s DeleteBrokerInput) GoString() string {
2899	return s.String()
2900}
2901
2902// Validate inspects the fields of the type to determine if they are valid.
2903func (s *DeleteBrokerInput) Validate() error {
2904	invalidParams := request.ErrInvalidParams{Context: "DeleteBrokerInput"}
2905	if s.BrokerId == nil {
2906		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
2907	}
2908	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
2909		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
2910	}
2911
2912	if invalidParams.Len() > 0 {
2913		return invalidParams
2914	}
2915	return nil
2916}
2917
2918// SetBrokerId sets the BrokerId field's value.
2919func (s *DeleteBrokerInput) SetBrokerId(v string) *DeleteBrokerInput {
2920	s.BrokerId = &v
2921	return s
2922}
2923
2924type DeleteBrokerResponse struct {
2925	_ struct{} `type:"structure"`
2926
2927	BrokerId *string `locationName:"brokerId" type:"string"`
2928}
2929
2930// String returns the string representation
2931func (s DeleteBrokerResponse) String() string {
2932	return awsutil.Prettify(s)
2933}
2934
2935// GoString returns the string representation
2936func (s DeleteBrokerResponse) GoString() string {
2937	return s.String()
2938}
2939
2940// SetBrokerId sets the BrokerId field's value.
2941func (s *DeleteBrokerResponse) SetBrokerId(v string) *DeleteBrokerResponse {
2942	s.BrokerId = &v
2943	return s
2944}
2945
2946type DeleteTagsInput struct {
2947	_ struct{} `type:"structure"`
2948
2949	// ResourceArn is a required field
2950	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
2951
2952	// TagKeys is a required field
2953	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
2954}
2955
2956// String returns the string representation
2957func (s DeleteTagsInput) String() string {
2958	return awsutil.Prettify(s)
2959}
2960
2961// GoString returns the string representation
2962func (s DeleteTagsInput) GoString() string {
2963	return s.String()
2964}
2965
2966// Validate inspects the fields of the type to determine if they are valid.
2967func (s *DeleteTagsInput) Validate() error {
2968	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
2969	if s.ResourceArn == nil {
2970		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2971	}
2972	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2973		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2974	}
2975	if s.TagKeys == nil {
2976		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
2977	}
2978
2979	if invalidParams.Len() > 0 {
2980		return invalidParams
2981	}
2982	return nil
2983}
2984
2985// SetResourceArn sets the ResourceArn field's value.
2986func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput {
2987	s.ResourceArn = &v
2988	return s
2989}
2990
2991// SetTagKeys sets the TagKeys field's value.
2992func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
2993	s.TagKeys = v
2994	return s
2995}
2996
2997type DeleteTagsOutput struct {
2998	_ struct{} `type:"structure"`
2999}
3000
3001// String returns the string representation
3002func (s DeleteTagsOutput) String() string {
3003	return awsutil.Prettify(s)
3004}
3005
3006// GoString returns the string representation
3007func (s DeleteTagsOutput) GoString() string {
3008	return s.String()
3009}
3010
3011type DeleteUserInput struct {
3012	_ struct{} `type:"structure"`
3013
3014	// BrokerId is a required field
3015	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3016
3017	// Username is a required field
3018	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
3019}
3020
3021// String returns the string representation
3022func (s DeleteUserInput) String() string {
3023	return awsutil.Prettify(s)
3024}
3025
3026// GoString returns the string representation
3027func (s DeleteUserInput) GoString() string {
3028	return s.String()
3029}
3030
3031// Validate inspects the fields of the type to determine if they are valid.
3032func (s *DeleteUserInput) Validate() error {
3033	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
3034	if s.BrokerId == nil {
3035		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3036	}
3037	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3038		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3039	}
3040	if s.Username == nil {
3041		invalidParams.Add(request.NewErrParamRequired("Username"))
3042	}
3043	if s.Username != nil && len(*s.Username) < 1 {
3044		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
3045	}
3046
3047	if invalidParams.Len() > 0 {
3048		return invalidParams
3049	}
3050	return nil
3051}
3052
3053// SetBrokerId sets the BrokerId field's value.
3054func (s *DeleteUserInput) SetBrokerId(v string) *DeleteUserInput {
3055	s.BrokerId = &v
3056	return s
3057}
3058
3059// SetUsername sets the Username field's value.
3060func (s *DeleteUserInput) SetUsername(v string) *DeleteUserInput {
3061	s.Username = &v
3062	return s
3063}
3064
3065type DeleteUserOutput struct {
3066	_ struct{} `type:"structure"`
3067}
3068
3069// String returns the string representation
3070func (s DeleteUserOutput) String() string {
3071	return awsutil.Prettify(s)
3072}
3073
3074// GoString returns the string representation
3075func (s DeleteUserOutput) GoString() string {
3076	return s.String()
3077}
3078
3079type DescribeBrokerEngineTypesInput struct {
3080	_ struct{} `type:"structure"`
3081
3082	EngineType *string `location:"querystring" locationName:"engineType" type:"string"`
3083
3084	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3085
3086	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3087}
3088
3089// String returns the string representation
3090func (s DescribeBrokerEngineTypesInput) String() string {
3091	return awsutil.Prettify(s)
3092}
3093
3094// GoString returns the string representation
3095func (s DescribeBrokerEngineTypesInput) GoString() string {
3096	return s.String()
3097}
3098
3099// Validate inspects the fields of the type to determine if they are valid.
3100func (s *DescribeBrokerEngineTypesInput) Validate() error {
3101	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerEngineTypesInput"}
3102	if s.MaxResults != nil && *s.MaxResults < 1 {
3103		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3104	}
3105
3106	if invalidParams.Len() > 0 {
3107		return invalidParams
3108	}
3109	return nil
3110}
3111
3112// SetEngineType sets the EngineType field's value.
3113func (s *DescribeBrokerEngineTypesInput) SetEngineType(v string) *DescribeBrokerEngineTypesInput {
3114	s.EngineType = &v
3115	return s
3116}
3117
3118// SetMaxResults sets the MaxResults field's value.
3119func (s *DescribeBrokerEngineTypesInput) SetMaxResults(v int64) *DescribeBrokerEngineTypesInput {
3120	s.MaxResults = &v
3121	return s
3122}
3123
3124// SetNextToken sets the NextToken field's value.
3125func (s *DescribeBrokerEngineTypesInput) SetNextToken(v string) *DescribeBrokerEngineTypesInput {
3126	s.NextToken = &v
3127	return s
3128}
3129
3130type DescribeBrokerEngineTypesOutput struct {
3131	_ struct{} `type:"structure"`
3132
3133	BrokerEngineTypes []*BrokerEngineType `locationName:"brokerEngineTypes" type:"list"`
3134
3135	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
3136
3137	NextToken *string `locationName:"nextToken" type:"string"`
3138}
3139
3140// String returns the string representation
3141func (s DescribeBrokerEngineTypesOutput) String() string {
3142	return awsutil.Prettify(s)
3143}
3144
3145// GoString returns the string representation
3146func (s DescribeBrokerEngineTypesOutput) GoString() string {
3147	return s.String()
3148}
3149
3150// SetBrokerEngineTypes sets the BrokerEngineTypes field's value.
3151func (s *DescribeBrokerEngineTypesOutput) SetBrokerEngineTypes(v []*BrokerEngineType) *DescribeBrokerEngineTypesOutput {
3152	s.BrokerEngineTypes = v
3153	return s
3154}
3155
3156// SetMaxResults sets the MaxResults field's value.
3157func (s *DescribeBrokerEngineTypesOutput) SetMaxResults(v int64) *DescribeBrokerEngineTypesOutput {
3158	s.MaxResults = &v
3159	return s
3160}
3161
3162// SetNextToken sets the NextToken field's value.
3163func (s *DescribeBrokerEngineTypesOutput) SetNextToken(v string) *DescribeBrokerEngineTypesOutput {
3164	s.NextToken = &v
3165	return s
3166}
3167
3168type DescribeBrokerInput struct {
3169	_ struct{} `type:"structure"`
3170
3171	// BrokerId is a required field
3172	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3173}
3174
3175// String returns the string representation
3176func (s DescribeBrokerInput) String() string {
3177	return awsutil.Prettify(s)
3178}
3179
3180// GoString returns the string representation
3181func (s DescribeBrokerInput) GoString() string {
3182	return s.String()
3183}
3184
3185// Validate inspects the fields of the type to determine if they are valid.
3186func (s *DescribeBrokerInput) Validate() error {
3187	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerInput"}
3188	if s.BrokerId == nil {
3189		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3190	}
3191	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3192		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3193	}
3194
3195	if invalidParams.Len() > 0 {
3196		return invalidParams
3197	}
3198	return nil
3199}
3200
3201// SetBrokerId sets the BrokerId field's value.
3202func (s *DescribeBrokerInput) SetBrokerId(v string) *DescribeBrokerInput {
3203	s.BrokerId = &v
3204	return s
3205}
3206
3207type DescribeBrokerInstanceOptionsInput struct {
3208	_ struct{} `type:"structure"`
3209
3210	EngineType *string `location:"querystring" locationName:"engineType" type:"string"`
3211
3212	HostInstanceType *string `location:"querystring" locationName:"hostInstanceType" type:"string"`
3213
3214	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3215
3216	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3217
3218	StorageType *string `location:"querystring" locationName:"storageType" type:"string"`
3219}
3220
3221// String returns the string representation
3222func (s DescribeBrokerInstanceOptionsInput) String() string {
3223	return awsutil.Prettify(s)
3224}
3225
3226// GoString returns the string representation
3227func (s DescribeBrokerInstanceOptionsInput) GoString() string {
3228	return s.String()
3229}
3230
3231// Validate inspects the fields of the type to determine if they are valid.
3232func (s *DescribeBrokerInstanceOptionsInput) Validate() error {
3233	invalidParams := request.ErrInvalidParams{Context: "DescribeBrokerInstanceOptionsInput"}
3234	if s.MaxResults != nil && *s.MaxResults < 1 {
3235		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3236	}
3237
3238	if invalidParams.Len() > 0 {
3239		return invalidParams
3240	}
3241	return nil
3242}
3243
3244// SetEngineType sets the EngineType field's value.
3245func (s *DescribeBrokerInstanceOptionsInput) SetEngineType(v string) *DescribeBrokerInstanceOptionsInput {
3246	s.EngineType = &v
3247	return s
3248}
3249
3250// SetHostInstanceType sets the HostInstanceType field's value.
3251func (s *DescribeBrokerInstanceOptionsInput) SetHostInstanceType(v string) *DescribeBrokerInstanceOptionsInput {
3252	s.HostInstanceType = &v
3253	return s
3254}
3255
3256// SetMaxResults sets the MaxResults field's value.
3257func (s *DescribeBrokerInstanceOptionsInput) SetMaxResults(v int64) *DescribeBrokerInstanceOptionsInput {
3258	s.MaxResults = &v
3259	return s
3260}
3261
3262// SetNextToken sets the NextToken field's value.
3263func (s *DescribeBrokerInstanceOptionsInput) SetNextToken(v string) *DescribeBrokerInstanceOptionsInput {
3264	s.NextToken = &v
3265	return s
3266}
3267
3268// SetStorageType sets the StorageType field's value.
3269func (s *DescribeBrokerInstanceOptionsInput) SetStorageType(v string) *DescribeBrokerInstanceOptionsInput {
3270	s.StorageType = &v
3271	return s
3272}
3273
3274type DescribeBrokerInstanceOptionsOutput struct {
3275	_ struct{} `type:"structure"`
3276
3277	BrokerInstanceOptions []*BrokerInstanceOption `locationName:"brokerInstanceOptions" type:"list"`
3278
3279	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
3280
3281	NextToken *string `locationName:"nextToken" type:"string"`
3282}
3283
3284// String returns the string representation
3285func (s DescribeBrokerInstanceOptionsOutput) String() string {
3286	return awsutil.Prettify(s)
3287}
3288
3289// GoString returns the string representation
3290func (s DescribeBrokerInstanceOptionsOutput) GoString() string {
3291	return s.String()
3292}
3293
3294// SetBrokerInstanceOptions sets the BrokerInstanceOptions field's value.
3295func (s *DescribeBrokerInstanceOptionsOutput) SetBrokerInstanceOptions(v []*BrokerInstanceOption) *DescribeBrokerInstanceOptionsOutput {
3296	s.BrokerInstanceOptions = v
3297	return s
3298}
3299
3300// SetMaxResults sets the MaxResults field's value.
3301func (s *DescribeBrokerInstanceOptionsOutput) SetMaxResults(v int64) *DescribeBrokerInstanceOptionsOutput {
3302	s.MaxResults = &v
3303	return s
3304}
3305
3306// SetNextToken sets the NextToken field's value.
3307func (s *DescribeBrokerInstanceOptionsOutput) SetNextToken(v string) *DescribeBrokerInstanceOptionsOutput {
3308	s.NextToken = &v
3309	return s
3310}
3311
3312type DescribeBrokerResponse struct {
3313	_ struct{} `type:"structure"`
3314
3315	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
3316
3317	BrokerArn *string `locationName:"brokerArn" type:"string"`
3318
3319	BrokerId *string `locationName:"brokerId" type:"string"`
3320
3321	BrokerInstances []*BrokerInstance `locationName:"brokerInstances" type:"list"`
3322
3323	BrokerName *string `locationName:"brokerName" type:"string"`
3324
3325	// The status of the broker.
3326	BrokerState *string `locationName:"brokerState" type:"string" enum:"BrokerState"`
3327
3328	// Broker configuration information
3329	Configurations *Configurations `locationName:"configurations" type:"structure"`
3330
3331	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
3332
3333	// The deployment mode of the broker.
3334	DeploymentMode *string `locationName:"deploymentMode" type:"string" enum:"DeploymentMode"`
3335
3336	// Encryption options for the broker.
3337	EncryptionOptions *EncryptionOptions `locationName:"encryptionOptions" type:"structure"`
3338
3339	// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.
3340	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
3341
3342	EngineVersion *string `locationName:"engineVersion" type:"string"`
3343
3344	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
3345
3346	// The list of information about logs currently enabled and pending to be deployed
3347	// for the specified broker.
3348	Logs *LogsSummary `locationName:"logs" type:"structure"`
3349
3350	// The scheduled time period relative to UTC during which Amazon MQ begins to
3351	// apply pending updates or patches to the broker.
3352	MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"`
3353
3354	PendingEngineVersion *string `locationName:"pendingEngineVersion" type:"string"`
3355
3356	PendingHostInstanceType *string `locationName:"pendingHostInstanceType" type:"string"`
3357
3358	PendingSecurityGroups []*string `locationName:"pendingSecurityGroups" type:"list"`
3359
3360	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
3361
3362	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
3363
3364	// The storage type of the broker.
3365	StorageType *string `locationName:"storageType" type:"string" enum:"BrokerStorageType"`
3366
3367	SubnetIds []*string `locationName:"subnetIds" type:"list"`
3368
3369	Tags map[string]*string `locationName:"tags" type:"map"`
3370
3371	Users []*UserSummary `locationName:"users" type:"list"`
3372}
3373
3374// String returns the string representation
3375func (s DescribeBrokerResponse) String() string {
3376	return awsutil.Prettify(s)
3377}
3378
3379// GoString returns the string representation
3380func (s DescribeBrokerResponse) GoString() string {
3381	return s.String()
3382}
3383
3384// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
3385func (s *DescribeBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *DescribeBrokerResponse {
3386	s.AutoMinorVersionUpgrade = &v
3387	return s
3388}
3389
3390// SetBrokerArn sets the BrokerArn field's value.
3391func (s *DescribeBrokerResponse) SetBrokerArn(v string) *DescribeBrokerResponse {
3392	s.BrokerArn = &v
3393	return s
3394}
3395
3396// SetBrokerId sets the BrokerId field's value.
3397func (s *DescribeBrokerResponse) SetBrokerId(v string) *DescribeBrokerResponse {
3398	s.BrokerId = &v
3399	return s
3400}
3401
3402// SetBrokerInstances sets the BrokerInstances field's value.
3403func (s *DescribeBrokerResponse) SetBrokerInstances(v []*BrokerInstance) *DescribeBrokerResponse {
3404	s.BrokerInstances = v
3405	return s
3406}
3407
3408// SetBrokerName sets the BrokerName field's value.
3409func (s *DescribeBrokerResponse) SetBrokerName(v string) *DescribeBrokerResponse {
3410	s.BrokerName = &v
3411	return s
3412}
3413
3414// SetBrokerState sets the BrokerState field's value.
3415func (s *DescribeBrokerResponse) SetBrokerState(v string) *DescribeBrokerResponse {
3416	s.BrokerState = &v
3417	return s
3418}
3419
3420// SetConfigurations sets the Configurations field's value.
3421func (s *DescribeBrokerResponse) SetConfigurations(v *Configurations) *DescribeBrokerResponse {
3422	s.Configurations = v
3423	return s
3424}
3425
3426// SetCreated sets the Created field's value.
3427func (s *DescribeBrokerResponse) SetCreated(v time.Time) *DescribeBrokerResponse {
3428	s.Created = &v
3429	return s
3430}
3431
3432// SetDeploymentMode sets the DeploymentMode field's value.
3433func (s *DescribeBrokerResponse) SetDeploymentMode(v string) *DescribeBrokerResponse {
3434	s.DeploymentMode = &v
3435	return s
3436}
3437
3438// SetEncryptionOptions sets the EncryptionOptions field's value.
3439func (s *DescribeBrokerResponse) SetEncryptionOptions(v *EncryptionOptions) *DescribeBrokerResponse {
3440	s.EncryptionOptions = v
3441	return s
3442}
3443
3444// SetEngineType sets the EngineType field's value.
3445func (s *DescribeBrokerResponse) SetEngineType(v string) *DescribeBrokerResponse {
3446	s.EngineType = &v
3447	return s
3448}
3449
3450// SetEngineVersion sets the EngineVersion field's value.
3451func (s *DescribeBrokerResponse) SetEngineVersion(v string) *DescribeBrokerResponse {
3452	s.EngineVersion = &v
3453	return s
3454}
3455
3456// SetHostInstanceType sets the HostInstanceType field's value.
3457func (s *DescribeBrokerResponse) SetHostInstanceType(v string) *DescribeBrokerResponse {
3458	s.HostInstanceType = &v
3459	return s
3460}
3461
3462// SetLogs sets the Logs field's value.
3463func (s *DescribeBrokerResponse) SetLogs(v *LogsSummary) *DescribeBrokerResponse {
3464	s.Logs = v
3465	return s
3466}
3467
3468// SetMaintenanceWindowStartTime sets the MaintenanceWindowStartTime field's value.
3469func (s *DescribeBrokerResponse) SetMaintenanceWindowStartTime(v *WeeklyStartTime) *DescribeBrokerResponse {
3470	s.MaintenanceWindowStartTime = v
3471	return s
3472}
3473
3474// SetPendingEngineVersion sets the PendingEngineVersion field's value.
3475func (s *DescribeBrokerResponse) SetPendingEngineVersion(v string) *DescribeBrokerResponse {
3476	s.PendingEngineVersion = &v
3477	return s
3478}
3479
3480// SetPendingHostInstanceType sets the PendingHostInstanceType field's value.
3481func (s *DescribeBrokerResponse) SetPendingHostInstanceType(v string) *DescribeBrokerResponse {
3482	s.PendingHostInstanceType = &v
3483	return s
3484}
3485
3486// SetPendingSecurityGroups sets the PendingSecurityGroups field's value.
3487func (s *DescribeBrokerResponse) SetPendingSecurityGroups(v []*string) *DescribeBrokerResponse {
3488	s.PendingSecurityGroups = v
3489	return s
3490}
3491
3492// SetPubliclyAccessible sets the PubliclyAccessible field's value.
3493func (s *DescribeBrokerResponse) SetPubliclyAccessible(v bool) *DescribeBrokerResponse {
3494	s.PubliclyAccessible = &v
3495	return s
3496}
3497
3498// SetSecurityGroups sets the SecurityGroups field's value.
3499func (s *DescribeBrokerResponse) SetSecurityGroups(v []*string) *DescribeBrokerResponse {
3500	s.SecurityGroups = v
3501	return s
3502}
3503
3504// SetStorageType sets the StorageType field's value.
3505func (s *DescribeBrokerResponse) SetStorageType(v string) *DescribeBrokerResponse {
3506	s.StorageType = &v
3507	return s
3508}
3509
3510// SetSubnetIds sets the SubnetIds field's value.
3511func (s *DescribeBrokerResponse) SetSubnetIds(v []*string) *DescribeBrokerResponse {
3512	s.SubnetIds = v
3513	return s
3514}
3515
3516// SetTags sets the Tags field's value.
3517func (s *DescribeBrokerResponse) SetTags(v map[string]*string) *DescribeBrokerResponse {
3518	s.Tags = v
3519	return s
3520}
3521
3522// SetUsers sets the Users field's value.
3523func (s *DescribeBrokerResponse) SetUsers(v []*UserSummary) *DescribeBrokerResponse {
3524	s.Users = v
3525	return s
3526}
3527
3528type DescribeConfigurationInput struct {
3529	_ struct{} `type:"structure"`
3530
3531	// ConfigurationId is a required field
3532	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
3533}
3534
3535// String returns the string representation
3536func (s DescribeConfigurationInput) String() string {
3537	return awsutil.Prettify(s)
3538}
3539
3540// GoString returns the string representation
3541func (s DescribeConfigurationInput) GoString() string {
3542	return s.String()
3543}
3544
3545// Validate inspects the fields of the type to determine if they are valid.
3546func (s *DescribeConfigurationInput) Validate() error {
3547	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationInput"}
3548	if s.ConfigurationId == nil {
3549		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
3550	}
3551	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
3552		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
3553	}
3554
3555	if invalidParams.Len() > 0 {
3556		return invalidParams
3557	}
3558	return nil
3559}
3560
3561// SetConfigurationId sets the ConfigurationId field's value.
3562func (s *DescribeConfigurationInput) SetConfigurationId(v string) *DescribeConfigurationInput {
3563	s.ConfigurationId = &v
3564	return s
3565}
3566
3567type DescribeConfigurationOutput struct {
3568	_ struct{} `type:"structure"`
3569
3570	Arn *string `locationName:"arn" type:"string"`
3571
3572	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
3573
3574	Description *string `locationName:"description" type:"string"`
3575
3576	// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.
3577	EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"`
3578
3579	EngineVersion *string `locationName:"engineVersion" type:"string"`
3580
3581	Id *string `locationName:"id" type:"string"`
3582
3583	// Returns information about the specified configuration revision.
3584	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
3585
3586	Name *string `locationName:"name" type:"string"`
3587
3588	Tags map[string]*string `locationName:"tags" type:"map"`
3589}
3590
3591// String returns the string representation
3592func (s DescribeConfigurationOutput) String() string {
3593	return awsutil.Prettify(s)
3594}
3595
3596// GoString returns the string representation
3597func (s DescribeConfigurationOutput) GoString() string {
3598	return s.String()
3599}
3600
3601// SetArn sets the Arn field's value.
3602func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOutput {
3603	s.Arn = &v
3604	return s
3605}
3606
3607// SetCreated sets the Created field's value.
3608func (s *DescribeConfigurationOutput) SetCreated(v time.Time) *DescribeConfigurationOutput {
3609	s.Created = &v
3610	return s
3611}
3612
3613// SetDescription sets the Description field's value.
3614func (s *DescribeConfigurationOutput) SetDescription(v string) *DescribeConfigurationOutput {
3615	s.Description = &v
3616	return s
3617}
3618
3619// SetEngineType sets the EngineType field's value.
3620func (s *DescribeConfigurationOutput) SetEngineType(v string) *DescribeConfigurationOutput {
3621	s.EngineType = &v
3622	return s
3623}
3624
3625// SetEngineVersion sets the EngineVersion field's value.
3626func (s *DescribeConfigurationOutput) SetEngineVersion(v string) *DescribeConfigurationOutput {
3627	s.EngineVersion = &v
3628	return s
3629}
3630
3631// SetId sets the Id field's value.
3632func (s *DescribeConfigurationOutput) SetId(v string) *DescribeConfigurationOutput {
3633	s.Id = &v
3634	return s
3635}
3636
3637// SetLatestRevision sets the LatestRevision field's value.
3638func (s *DescribeConfigurationOutput) SetLatestRevision(v *ConfigurationRevision) *DescribeConfigurationOutput {
3639	s.LatestRevision = v
3640	return s
3641}
3642
3643// SetName sets the Name field's value.
3644func (s *DescribeConfigurationOutput) SetName(v string) *DescribeConfigurationOutput {
3645	s.Name = &v
3646	return s
3647}
3648
3649// SetTags sets the Tags field's value.
3650func (s *DescribeConfigurationOutput) SetTags(v map[string]*string) *DescribeConfigurationOutput {
3651	s.Tags = v
3652	return s
3653}
3654
3655type DescribeConfigurationRevisionInput struct {
3656	_ struct{} `type:"structure"`
3657
3658	// ConfigurationId is a required field
3659	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
3660
3661	// ConfigurationRevision is a required field
3662	ConfigurationRevision *string `location:"uri" locationName:"configuration-revision" type:"string" required:"true"`
3663}
3664
3665// String returns the string representation
3666func (s DescribeConfigurationRevisionInput) String() string {
3667	return awsutil.Prettify(s)
3668}
3669
3670// GoString returns the string representation
3671func (s DescribeConfigurationRevisionInput) GoString() string {
3672	return s.String()
3673}
3674
3675// Validate inspects the fields of the type to determine if they are valid.
3676func (s *DescribeConfigurationRevisionInput) Validate() error {
3677	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationRevisionInput"}
3678	if s.ConfigurationId == nil {
3679		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
3680	}
3681	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
3682		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
3683	}
3684	if s.ConfigurationRevision == nil {
3685		invalidParams.Add(request.NewErrParamRequired("ConfigurationRevision"))
3686	}
3687	if s.ConfigurationRevision != nil && len(*s.ConfigurationRevision) < 1 {
3688		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRevision", 1))
3689	}
3690
3691	if invalidParams.Len() > 0 {
3692		return invalidParams
3693	}
3694	return nil
3695}
3696
3697// SetConfigurationId sets the ConfigurationId field's value.
3698func (s *DescribeConfigurationRevisionInput) SetConfigurationId(v string) *DescribeConfigurationRevisionInput {
3699	s.ConfigurationId = &v
3700	return s
3701}
3702
3703// SetConfigurationRevision sets the ConfigurationRevision field's value.
3704func (s *DescribeConfigurationRevisionInput) SetConfigurationRevision(v string) *DescribeConfigurationRevisionInput {
3705	s.ConfigurationRevision = &v
3706	return s
3707}
3708
3709type DescribeConfigurationRevisionResponse struct {
3710	_ struct{} `type:"structure"`
3711
3712	ConfigurationId *string `locationName:"configurationId" type:"string"`
3713
3714	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
3715
3716	Data *string `locationName:"data" type:"string"`
3717
3718	Description *string `locationName:"description" type:"string"`
3719}
3720
3721// String returns the string representation
3722func (s DescribeConfigurationRevisionResponse) String() string {
3723	return awsutil.Prettify(s)
3724}
3725
3726// GoString returns the string representation
3727func (s DescribeConfigurationRevisionResponse) GoString() string {
3728	return s.String()
3729}
3730
3731// SetConfigurationId sets the ConfigurationId field's value.
3732func (s *DescribeConfigurationRevisionResponse) SetConfigurationId(v string) *DescribeConfigurationRevisionResponse {
3733	s.ConfigurationId = &v
3734	return s
3735}
3736
3737// SetCreated sets the Created field's value.
3738func (s *DescribeConfigurationRevisionResponse) SetCreated(v time.Time) *DescribeConfigurationRevisionResponse {
3739	s.Created = &v
3740	return s
3741}
3742
3743// SetData sets the Data field's value.
3744func (s *DescribeConfigurationRevisionResponse) SetData(v string) *DescribeConfigurationRevisionResponse {
3745	s.Data = &v
3746	return s
3747}
3748
3749// SetDescription sets the Description field's value.
3750func (s *DescribeConfigurationRevisionResponse) SetDescription(v string) *DescribeConfigurationRevisionResponse {
3751	s.Description = &v
3752	return s
3753}
3754
3755type DescribeUserInput struct {
3756	_ struct{} `type:"structure"`
3757
3758	// BrokerId is a required field
3759	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
3760
3761	// Username is a required field
3762	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
3763}
3764
3765// String returns the string representation
3766func (s DescribeUserInput) String() string {
3767	return awsutil.Prettify(s)
3768}
3769
3770// GoString returns the string representation
3771func (s DescribeUserInput) GoString() string {
3772	return s.String()
3773}
3774
3775// Validate inspects the fields of the type to determine if they are valid.
3776func (s *DescribeUserInput) Validate() error {
3777	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
3778	if s.BrokerId == nil {
3779		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
3780	}
3781	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
3782		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
3783	}
3784	if s.Username == nil {
3785		invalidParams.Add(request.NewErrParamRequired("Username"))
3786	}
3787	if s.Username != nil && len(*s.Username) < 1 {
3788		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
3789	}
3790
3791	if invalidParams.Len() > 0 {
3792		return invalidParams
3793	}
3794	return nil
3795}
3796
3797// SetBrokerId sets the BrokerId field's value.
3798func (s *DescribeUserInput) SetBrokerId(v string) *DescribeUserInput {
3799	s.BrokerId = &v
3800	return s
3801}
3802
3803// SetUsername sets the Username field's value.
3804func (s *DescribeUserInput) SetUsername(v string) *DescribeUserInput {
3805	s.Username = &v
3806	return s
3807}
3808
3809type DescribeUserResponse struct {
3810	_ struct{} `type:"structure"`
3811
3812	BrokerId *string `locationName:"brokerId" type:"string"`
3813
3814	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
3815
3816	Groups []*string `locationName:"groups" type:"list"`
3817
3818	// Returns information about the status of the changes pending for the ActiveMQ
3819	// user.
3820	Pending *UserPendingChanges `locationName:"pending" type:"structure"`
3821
3822	Username *string `locationName:"username" type:"string"`
3823}
3824
3825// String returns the string representation
3826func (s DescribeUserResponse) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation
3831func (s DescribeUserResponse) GoString() string {
3832	return s.String()
3833}
3834
3835// SetBrokerId sets the BrokerId field's value.
3836func (s *DescribeUserResponse) SetBrokerId(v string) *DescribeUserResponse {
3837	s.BrokerId = &v
3838	return s
3839}
3840
3841// SetConsoleAccess sets the ConsoleAccess field's value.
3842func (s *DescribeUserResponse) SetConsoleAccess(v bool) *DescribeUserResponse {
3843	s.ConsoleAccess = &v
3844	return s
3845}
3846
3847// SetGroups sets the Groups field's value.
3848func (s *DescribeUserResponse) SetGroups(v []*string) *DescribeUserResponse {
3849	s.Groups = v
3850	return s
3851}
3852
3853// SetPending sets the Pending field's value.
3854func (s *DescribeUserResponse) SetPending(v *UserPendingChanges) *DescribeUserResponse {
3855	s.Pending = v
3856	return s
3857}
3858
3859// SetUsername sets the Username field's value.
3860func (s *DescribeUserResponse) SetUsername(v string) *DescribeUserResponse {
3861	s.Username = &v
3862	return s
3863}
3864
3865// Encryption options for the broker.
3866type EncryptionOptions struct {
3867	_ struct{} `type:"structure"`
3868
3869	// The customer master key (CMK) to use for the AWS Key Management Service (KMS).
3870	// This key is used to encrypt your data at rest. If not provided, Amazon MQ
3871	// will use a default CMK to encrypt your data.
3872	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
3873
3874	// Enables the use of an AWS owned CMK using AWS Key Management Service (KMS).
3875	//
3876	// UseAwsOwnedKey is a required field
3877	UseAwsOwnedKey *bool `locationName:"useAwsOwnedKey" type:"boolean" required:"true"`
3878}
3879
3880// String returns the string representation
3881func (s EncryptionOptions) String() string {
3882	return awsutil.Prettify(s)
3883}
3884
3885// GoString returns the string representation
3886func (s EncryptionOptions) GoString() string {
3887	return s.String()
3888}
3889
3890// Validate inspects the fields of the type to determine if they are valid.
3891func (s *EncryptionOptions) Validate() error {
3892	invalidParams := request.ErrInvalidParams{Context: "EncryptionOptions"}
3893	if s.UseAwsOwnedKey == nil {
3894		invalidParams.Add(request.NewErrParamRequired("UseAwsOwnedKey"))
3895	}
3896
3897	if invalidParams.Len() > 0 {
3898		return invalidParams
3899	}
3900	return nil
3901}
3902
3903// SetKmsKeyId sets the KmsKeyId field's value.
3904func (s *EncryptionOptions) SetKmsKeyId(v string) *EncryptionOptions {
3905	s.KmsKeyId = &v
3906	return s
3907}
3908
3909// SetUseAwsOwnedKey sets the UseAwsOwnedKey field's value.
3910func (s *EncryptionOptions) SetUseAwsOwnedKey(v bool) *EncryptionOptions {
3911	s.UseAwsOwnedKey = &v
3912	return s
3913}
3914
3915// Id of the engine version.
3916type EngineVersion struct {
3917	_ struct{} `type:"structure"`
3918
3919	// Id for the version.
3920	Name *string `locationName:"name" type:"string"`
3921}
3922
3923// String returns the string representation
3924func (s EngineVersion) String() string {
3925	return awsutil.Prettify(s)
3926}
3927
3928// GoString returns the string representation
3929func (s EngineVersion) GoString() string {
3930	return s.String()
3931}
3932
3933// SetName sets the Name field's value.
3934func (s *EngineVersion) SetName(v string) *EngineVersion {
3935	s.Name = &v
3936	return s
3937}
3938
3939type ListBrokersInput struct {
3940	_ struct{} `type:"structure"`
3941
3942	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3943
3944	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
3945}
3946
3947// String returns the string representation
3948func (s ListBrokersInput) String() string {
3949	return awsutil.Prettify(s)
3950}
3951
3952// GoString returns the string representation
3953func (s ListBrokersInput) GoString() string {
3954	return s.String()
3955}
3956
3957// Validate inspects the fields of the type to determine if they are valid.
3958func (s *ListBrokersInput) Validate() error {
3959	invalidParams := request.ErrInvalidParams{Context: "ListBrokersInput"}
3960	if s.MaxResults != nil && *s.MaxResults < 1 {
3961		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3962	}
3963
3964	if invalidParams.Len() > 0 {
3965		return invalidParams
3966	}
3967	return nil
3968}
3969
3970// SetMaxResults sets the MaxResults field's value.
3971func (s *ListBrokersInput) SetMaxResults(v int64) *ListBrokersInput {
3972	s.MaxResults = &v
3973	return s
3974}
3975
3976// SetNextToken sets the NextToken field's value.
3977func (s *ListBrokersInput) SetNextToken(v string) *ListBrokersInput {
3978	s.NextToken = &v
3979	return s
3980}
3981
3982type ListBrokersResponse struct {
3983	_ struct{} `type:"structure"`
3984
3985	BrokerSummaries []*BrokerSummary `locationName:"brokerSummaries" type:"list"`
3986
3987	NextToken *string `locationName:"nextToken" type:"string"`
3988}
3989
3990// String returns the string representation
3991func (s ListBrokersResponse) String() string {
3992	return awsutil.Prettify(s)
3993}
3994
3995// GoString returns the string representation
3996func (s ListBrokersResponse) GoString() string {
3997	return s.String()
3998}
3999
4000// SetBrokerSummaries sets the BrokerSummaries field's value.
4001func (s *ListBrokersResponse) SetBrokerSummaries(v []*BrokerSummary) *ListBrokersResponse {
4002	s.BrokerSummaries = v
4003	return s
4004}
4005
4006// SetNextToken sets the NextToken field's value.
4007func (s *ListBrokersResponse) SetNextToken(v string) *ListBrokersResponse {
4008	s.NextToken = &v
4009	return s
4010}
4011
4012type ListConfigurationRevisionsInput struct {
4013	_ struct{} `type:"structure"`
4014
4015	// ConfigurationId is a required field
4016	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
4017
4018	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4019
4020	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4021}
4022
4023// String returns the string representation
4024func (s ListConfigurationRevisionsInput) String() string {
4025	return awsutil.Prettify(s)
4026}
4027
4028// GoString returns the string representation
4029func (s ListConfigurationRevisionsInput) GoString() string {
4030	return s.String()
4031}
4032
4033// Validate inspects the fields of the type to determine if they are valid.
4034func (s *ListConfigurationRevisionsInput) Validate() error {
4035	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationRevisionsInput"}
4036	if s.ConfigurationId == nil {
4037		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
4038	}
4039	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
4040		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
4041	}
4042	if s.MaxResults != nil && *s.MaxResults < 1 {
4043		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4044	}
4045
4046	if invalidParams.Len() > 0 {
4047		return invalidParams
4048	}
4049	return nil
4050}
4051
4052// SetConfigurationId sets the ConfigurationId field's value.
4053func (s *ListConfigurationRevisionsInput) SetConfigurationId(v string) *ListConfigurationRevisionsInput {
4054	s.ConfigurationId = &v
4055	return s
4056}
4057
4058// SetMaxResults sets the MaxResults field's value.
4059func (s *ListConfigurationRevisionsInput) SetMaxResults(v int64) *ListConfigurationRevisionsInput {
4060	s.MaxResults = &v
4061	return s
4062}
4063
4064// SetNextToken sets the NextToken field's value.
4065func (s *ListConfigurationRevisionsInput) SetNextToken(v string) *ListConfigurationRevisionsInput {
4066	s.NextToken = &v
4067	return s
4068}
4069
4070type ListConfigurationRevisionsResponse struct {
4071	_ struct{} `type:"structure"`
4072
4073	ConfigurationId *string `locationName:"configurationId" type:"string"`
4074
4075	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4076
4077	NextToken *string `locationName:"nextToken" type:"string"`
4078
4079	Revisions []*ConfigurationRevision `locationName:"revisions" type:"list"`
4080}
4081
4082// String returns the string representation
4083func (s ListConfigurationRevisionsResponse) String() string {
4084	return awsutil.Prettify(s)
4085}
4086
4087// GoString returns the string representation
4088func (s ListConfigurationRevisionsResponse) GoString() string {
4089	return s.String()
4090}
4091
4092// SetConfigurationId sets the ConfigurationId field's value.
4093func (s *ListConfigurationRevisionsResponse) SetConfigurationId(v string) *ListConfigurationRevisionsResponse {
4094	s.ConfigurationId = &v
4095	return s
4096}
4097
4098// SetMaxResults sets the MaxResults field's value.
4099func (s *ListConfigurationRevisionsResponse) SetMaxResults(v int64) *ListConfigurationRevisionsResponse {
4100	s.MaxResults = &v
4101	return s
4102}
4103
4104// SetNextToken sets the NextToken field's value.
4105func (s *ListConfigurationRevisionsResponse) SetNextToken(v string) *ListConfigurationRevisionsResponse {
4106	s.NextToken = &v
4107	return s
4108}
4109
4110// SetRevisions sets the Revisions field's value.
4111func (s *ListConfigurationRevisionsResponse) SetRevisions(v []*ConfigurationRevision) *ListConfigurationRevisionsResponse {
4112	s.Revisions = v
4113	return s
4114}
4115
4116type ListConfigurationsInput struct {
4117	_ struct{} `type:"structure"`
4118
4119	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4120
4121	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4122}
4123
4124// String returns the string representation
4125func (s ListConfigurationsInput) String() string {
4126	return awsutil.Prettify(s)
4127}
4128
4129// GoString returns the string representation
4130func (s ListConfigurationsInput) GoString() string {
4131	return s.String()
4132}
4133
4134// Validate inspects the fields of the type to determine if they are valid.
4135func (s *ListConfigurationsInput) Validate() error {
4136	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"}
4137	if s.MaxResults != nil && *s.MaxResults < 1 {
4138		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4139	}
4140
4141	if invalidParams.Len() > 0 {
4142		return invalidParams
4143	}
4144	return nil
4145}
4146
4147// SetMaxResults sets the MaxResults field's value.
4148func (s *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput {
4149	s.MaxResults = &v
4150	return s
4151}
4152
4153// SetNextToken sets the NextToken field's value.
4154func (s *ListConfigurationsInput) SetNextToken(v string) *ListConfigurationsInput {
4155	s.NextToken = &v
4156	return s
4157}
4158
4159type ListConfigurationsResponse struct {
4160	_ struct{} `type:"structure"`
4161
4162	Configurations []*Configuration `locationName:"configurations" type:"list"`
4163
4164	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4165
4166	NextToken *string `locationName:"nextToken" type:"string"`
4167}
4168
4169// String returns the string representation
4170func (s ListConfigurationsResponse) String() string {
4171	return awsutil.Prettify(s)
4172}
4173
4174// GoString returns the string representation
4175func (s ListConfigurationsResponse) GoString() string {
4176	return s.String()
4177}
4178
4179// SetConfigurations sets the Configurations field's value.
4180func (s *ListConfigurationsResponse) SetConfigurations(v []*Configuration) *ListConfigurationsResponse {
4181	s.Configurations = v
4182	return s
4183}
4184
4185// SetMaxResults sets the MaxResults field's value.
4186func (s *ListConfigurationsResponse) SetMaxResults(v int64) *ListConfigurationsResponse {
4187	s.MaxResults = &v
4188	return s
4189}
4190
4191// SetNextToken sets the NextToken field's value.
4192func (s *ListConfigurationsResponse) SetNextToken(v string) *ListConfigurationsResponse {
4193	s.NextToken = &v
4194	return s
4195}
4196
4197type ListTagsInput struct {
4198	_ struct{} `type:"structure"`
4199
4200	// ResourceArn is a required field
4201	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
4202}
4203
4204// String returns the string representation
4205func (s ListTagsInput) String() string {
4206	return awsutil.Prettify(s)
4207}
4208
4209// GoString returns the string representation
4210func (s ListTagsInput) GoString() string {
4211	return s.String()
4212}
4213
4214// Validate inspects the fields of the type to determine if they are valid.
4215func (s *ListTagsInput) Validate() error {
4216	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
4217	if s.ResourceArn == nil {
4218		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4219	}
4220	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4221		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4222	}
4223
4224	if invalidParams.Len() > 0 {
4225		return invalidParams
4226	}
4227	return nil
4228}
4229
4230// SetResourceArn sets the ResourceArn field's value.
4231func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
4232	s.ResourceArn = &v
4233	return s
4234}
4235
4236type ListTagsOutput struct {
4237	_ struct{} `type:"structure"`
4238
4239	Tags map[string]*string `locationName:"tags" type:"map"`
4240}
4241
4242// String returns the string representation
4243func (s ListTagsOutput) String() string {
4244	return awsutil.Prettify(s)
4245}
4246
4247// GoString returns the string representation
4248func (s ListTagsOutput) GoString() string {
4249	return s.String()
4250}
4251
4252// SetTags sets the Tags field's value.
4253func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
4254	s.Tags = v
4255	return s
4256}
4257
4258type ListUsersInput struct {
4259	_ struct{} `type:"structure"`
4260
4261	// BrokerId is a required field
4262	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
4263
4264	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4265
4266	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4267}
4268
4269// String returns the string representation
4270func (s ListUsersInput) String() string {
4271	return awsutil.Prettify(s)
4272}
4273
4274// GoString returns the string representation
4275func (s ListUsersInput) GoString() string {
4276	return s.String()
4277}
4278
4279// Validate inspects the fields of the type to determine if they are valid.
4280func (s *ListUsersInput) Validate() error {
4281	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
4282	if s.BrokerId == nil {
4283		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
4284	}
4285	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
4286		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
4287	}
4288	if s.MaxResults != nil && *s.MaxResults < 1 {
4289		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4290	}
4291
4292	if invalidParams.Len() > 0 {
4293		return invalidParams
4294	}
4295	return nil
4296}
4297
4298// SetBrokerId sets the BrokerId field's value.
4299func (s *ListUsersInput) SetBrokerId(v string) *ListUsersInput {
4300	s.BrokerId = &v
4301	return s
4302}
4303
4304// SetMaxResults sets the MaxResults field's value.
4305func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
4306	s.MaxResults = &v
4307	return s
4308}
4309
4310// SetNextToken sets the NextToken field's value.
4311func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
4312	s.NextToken = &v
4313	return s
4314}
4315
4316type ListUsersResponse struct {
4317	_ struct{} `type:"structure"`
4318
4319	BrokerId *string `locationName:"brokerId" type:"string"`
4320
4321	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
4322
4323	NextToken *string `locationName:"nextToken" type:"string"`
4324
4325	Users []*UserSummary `locationName:"users" type:"list"`
4326}
4327
4328// String returns the string representation
4329func (s ListUsersResponse) String() string {
4330	return awsutil.Prettify(s)
4331}
4332
4333// GoString returns the string representation
4334func (s ListUsersResponse) GoString() string {
4335	return s.String()
4336}
4337
4338// SetBrokerId sets the BrokerId field's value.
4339func (s *ListUsersResponse) SetBrokerId(v string) *ListUsersResponse {
4340	s.BrokerId = &v
4341	return s
4342}
4343
4344// SetMaxResults sets the MaxResults field's value.
4345func (s *ListUsersResponse) SetMaxResults(v int64) *ListUsersResponse {
4346	s.MaxResults = &v
4347	return s
4348}
4349
4350// SetNextToken sets the NextToken field's value.
4351func (s *ListUsersResponse) SetNextToken(v string) *ListUsersResponse {
4352	s.NextToken = &v
4353	return s
4354}
4355
4356// SetUsers sets the Users field's value.
4357func (s *ListUsersResponse) SetUsers(v []*UserSummary) *ListUsersResponse {
4358	s.Users = v
4359	return s
4360}
4361
4362// The list of information about logs to be enabled for the specified broker.
4363type Logs struct {
4364	_ struct{} `type:"structure"`
4365
4366	// Enables audit logging. Every user management action made using JMX or the
4367	// ActiveMQ Web Console is logged.
4368	Audit *bool `locationName:"audit" type:"boolean"`
4369
4370	// Enables general logging.
4371	General *bool `locationName:"general" type:"boolean"`
4372}
4373
4374// String returns the string representation
4375func (s Logs) String() string {
4376	return awsutil.Prettify(s)
4377}
4378
4379// GoString returns the string representation
4380func (s Logs) GoString() string {
4381	return s.String()
4382}
4383
4384// SetAudit sets the Audit field's value.
4385func (s *Logs) SetAudit(v bool) *Logs {
4386	s.Audit = &v
4387	return s
4388}
4389
4390// SetGeneral sets the General field's value.
4391func (s *Logs) SetGeneral(v bool) *Logs {
4392	s.General = &v
4393	return s
4394}
4395
4396// The list of information about logs currently enabled and pending to be deployed
4397// for the specified broker.
4398type LogsSummary struct {
4399	_ struct{} `type:"structure"`
4400
4401	// Enables audit logging. Every user management action made using JMX or the
4402	// ActiveMQ Web Console is logged.
4403	Audit *bool `locationName:"audit" type:"boolean"`
4404
4405	// The location of the CloudWatch Logs log group where audit logs are sent.
4406	AuditLogGroup *string `locationName:"auditLogGroup" type:"string"`
4407
4408	// Enables general logging.
4409	General *bool `locationName:"general" type:"boolean"`
4410
4411	// The location of the CloudWatch Logs log group where general logs are sent.
4412	GeneralLogGroup *string `locationName:"generalLogGroup" type:"string"`
4413
4414	// The list of information about logs pending to be deployed for the specified
4415	// broker.
4416	Pending *PendingLogs `locationName:"pending" type:"structure"`
4417}
4418
4419// String returns the string representation
4420func (s LogsSummary) String() string {
4421	return awsutil.Prettify(s)
4422}
4423
4424// GoString returns the string representation
4425func (s LogsSummary) GoString() string {
4426	return s.String()
4427}
4428
4429// SetAudit sets the Audit field's value.
4430func (s *LogsSummary) SetAudit(v bool) *LogsSummary {
4431	s.Audit = &v
4432	return s
4433}
4434
4435// SetAuditLogGroup sets the AuditLogGroup field's value.
4436func (s *LogsSummary) SetAuditLogGroup(v string) *LogsSummary {
4437	s.AuditLogGroup = &v
4438	return s
4439}
4440
4441// SetGeneral sets the General field's value.
4442func (s *LogsSummary) SetGeneral(v bool) *LogsSummary {
4443	s.General = &v
4444	return s
4445}
4446
4447// SetGeneralLogGroup sets the GeneralLogGroup field's value.
4448func (s *LogsSummary) SetGeneralLogGroup(v string) *LogsSummary {
4449	s.GeneralLogGroup = &v
4450	return s
4451}
4452
4453// SetPending sets the Pending field's value.
4454func (s *LogsSummary) SetPending(v *PendingLogs) *LogsSummary {
4455	s.Pending = v
4456	return s
4457}
4458
4459// The list of information about logs to be enabled for the specified broker.
4460type PendingLogs struct {
4461	_ struct{} `type:"structure"`
4462
4463	// Enables audit logging. Every user management action made using JMX or the
4464	// ActiveMQ Web Console is logged.
4465	Audit *bool `locationName:"audit" type:"boolean"`
4466
4467	// Enables general logging.
4468	General *bool `locationName:"general" type:"boolean"`
4469}
4470
4471// String returns the string representation
4472func (s PendingLogs) String() string {
4473	return awsutil.Prettify(s)
4474}
4475
4476// GoString returns the string representation
4477func (s PendingLogs) GoString() string {
4478	return s.String()
4479}
4480
4481// SetAudit sets the Audit field's value.
4482func (s *PendingLogs) SetAudit(v bool) *PendingLogs {
4483	s.Audit = &v
4484	return s
4485}
4486
4487// SetGeneral sets the General field's value.
4488func (s *PendingLogs) SetGeneral(v bool) *PendingLogs {
4489	s.General = &v
4490	return s
4491}
4492
4493type RebootBrokerInput struct {
4494	_ struct{} `type:"structure"`
4495
4496	// BrokerId is a required field
4497	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
4498}
4499
4500// String returns the string representation
4501func (s RebootBrokerInput) String() string {
4502	return awsutil.Prettify(s)
4503}
4504
4505// GoString returns the string representation
4506func (s RebootBrokerInput) GoString() string {
4507	return s.String()
4508}
4509
4510// Validate inspects the fields of the type to determine if they are valid.
4511func (s *RebootBrokerInput) Validate() error {
4512	invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"}
4513	if s.BrokerId == nil {
4514		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
4515	}
4516	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
4517		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
4518	}
4519
4520	if invalidParams.Len() > 0 {
4521		return invalidParams
4522	}
4523	return nil
4524}
4525
4526// SetBrokerId sets the BrokerId field's value.
4527func (s *RebootBrokerInput) SetBrokerId(v string) *RebootBrokerInput {
4528	s.BrokerId = &v
4529	return s
4530}
4531
4532type RebootBrokerOutput struct {
4533	_ struct{} `type:"structure"`
4534}
4535
4536// String returns the string representation
4537func (s RebootBrokerOutput) String() string {
4538	return awsutil.Prettify(s)
4539}
4540
4541// GoString returns the string representation
4542func (s RebootBrokerOutput) GoString() string {
4543	return s.String()
4544}
4545
4546// Returns information about the XML element or attribute that was sanitized
4547// in the configuration.
4548type SanitizationWarning struct {
4549	_ struct{} `type:"structure"`
4550
4551	// The name of the XML attribute that has been sanitized.
4552	AttributeName *string `locationName:"attributeName" type:"string"`
4553
4554	// The name of the XML element that has been sanitized.
4555	ElementName *string `locationName:"elementName" type:"string"`
4556
4557	// Required. The reason for which the XML elements or attributes were sanitized.
4558	Reason *string `locationName:"reason" type:"string" enum:"SanitizationWarningReason"`
4559}
4560
4561// String returns the string representation
4562func (s SanitizationWarning) String() string {
4563	return awsutil.Prettify(s)
4564}
4565
4566// GoString returns the string representation
4567func (s SanitizationWarning) GoString() string {
4568	return s.String()
4569}
4570
4571// SetAttributeName sets the AttributeName field's value.
4572func (s *SanitizationWarning) SetAttributeName(v string) *SanitizationWarning {
4573	s.AttributeName = &v
4574	return s
4575}
4576
4577// SetElementName sets the ElementName field's value.
4578func (s *SanitizationWarning) SetElementName(v string) *SanitizationWarning {
4579	s.ElementName = &v
4580	return s
4581}
4582
4583// SetReason sets the Reason field's value.
4584func (s *SanitizationWarning) SetReason(v string) *SanitizationWarning {
4585	s.Reason = &v
4586	return s
4587}
4588
4589type UpdateBrokerRequest struct {
4590	_ struct{} `type:"structure"`
4591
4592	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
4593
4594	// BrokerId is a required field
4595	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
4596
4597	// A list of information about the configuration.
4598	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
4599
4600	EngineVersion *string `locationName:"engineVersion" type:"string"`
4601
4602	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
4603
4604	// The list of information about logs to be enabled for the specified broker.
4605	Logs *Logs `locationName:"logs" type:"structure"`
4606
4607	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
4608}
4609
4610// String returns the string representation
4611func (s UpdateBrokerRequest) String() string {
4612	return awsutil.Prettify(s)
4613}
4614
4615// GoString returns the string representation
4616func (s UpdateBrokerRequest) GoString() string {
4617	return s.String()
4618}
4619
4620// Validate inspects the fields of the type to determine if they are valid.
4621func (s *UpdateBrokerRequest) Validate() error {
4622	invalidParams := request.ErrInvalidParams{Context: "UpdateBrokerRequest"}
4623	if s.BrokerId == nil {
4624		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
4625	}
4626	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
4627		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
4628	}
4629
4630	if invalidParams.Len() > 0 {
4631		return invalidParams
4632	}
4633	return nil
4634}
4635
4636// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
4637func (s *UpdateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerRequest {
4638	s.AutoMinorVersionUpgrade = &v
4639	return s
4640}
4641
4642// SetBrokerId sets the BrokerId field's value.
4643func (s *UpdateBrokerRequest) SetBrokerId(v string) *UpdateBrokerRequest {
4644	s.BrokerId = &v
4645	return s
4646}
4647
4648// SetConfiguration sets the Configuration field's value.
4649func (s *UpdateBrokerRequest) SetConfiguration(v *ConfigurationId) *UpdateBrokerRequest {
4650	s.Configuration = v
4651	return s
4652}
4653
4654// SetEngineVersion sets the EngineVersion field's value.
4655func (s *UpdateBrokerRequest) SetEngineVersion(v string) *UpdateBrokerRequest {
4656	s.EngineVersion = &v
4657	return s
4658}
4659
4660// SetHostInstanceType sets the HostInstanceType field's value.
4661func (s *UpdateBrokerRequest) SetHostInstanceType(v string) *UpdateBrokerRequest {
4662	s.HostInstanceType = &v
4663	return s
4664}
4665
4666// SetLogs sets the Logs field's value.
4667func (s *UpdateBrokerRequest) SetLogs(v *Logs) *UpdateBrokerRequest {
4668	s.Logs = v
4669	return s
4670}
4671
4672// SetSecurityGroups sets the SecurityGroups field's value.
4673func (s *UpdateBrokerRequest) SetSecurityGroups(v []*string) *UpdateBrokerRequest {
4674	s.SecurityGroups = v
4675	return s
4676}
4677
4678type UpdateBrokerResponse struct {
4679	_ struct{} `type:"structure"`
4680
4681	AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"`
4682
4683	BrokerId *string `locationName:"brokerId" type:"string"`
4684
4685	// A list of information about the configuration.
4686	Configuration *ConfigurationId `locationName:"configuration" type:"structure"`
4687
4688	EngineVersion *string `locationName:"engineVersion" type:"string"`
4689
4690	HostInstanceType *string `locationName:"hostInstanceType" type:"string"`
4691
4692	// The list of information about logs to be enabled for the specified broker.
4693	Logs *Logs `locationName:"logs" type:"structure"`
4694
4695	SecurityGroups []*string `locationName:"securityGroups" type:"list"`
4696}
4697
4698// String returns the string representation
4699func (s UpdateBrokerResponse) String() string {
4700	return awsutil.Prettify(s)
4701}
4702
4703// GoString returns the string representation
4704func (s UpdateBrokerResponse) GoString() string {
4705	return s.String()
4706}
4707
4708// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
4709func (s *UpdateBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerResponse {
4710	s.AutoMinorVersionUpgrade = &v
4711	return s
4712}
4713
4714// SetBrokerId sets the BrokerId field's value.
4715func (s *UpdateBrokerResponse) SetBrokerId(v string) *UpdateBrokerResponse {
4716	s.BrokerId = &v
4717	return s
4718}
4719
4720// SetConfiguration sets the Configuration field's value.
4721func (s *UpdateBrokerResponse) SetConfiguration(v *ConfigurationId) *UpdateBrokerResponse {
4722	s.Configuration = v
4723	return s
4724}
4725
4726// SetEngineVersion sets the EngineVersion field's value.
4727func (s *UpdateBrokerResponse) SetEngineVersion(v string) *UpdateBrokerResponse {
4728	s.EngineVersion = &v
4729	return s
4730}
4731
4732// SetHostInstanceType sets the HostInstanceType field's value.
4733func (s *UpdateBrokerResponse) SetHostInstanceType(v string) *UpdateBrokerResponse {
4734	s.HostInstanceType = &v
4735	return s
4736}
4737
4738// SetLogs sets the Logs field's value.
4739func (s *UpdateBrokerResponse) SetLogs(v *Logs) *UpdateBrokerResponse {
4740	s.Logs = v
4741	return s
4742}
4743
4744// SetSecurityGroups sets the SecurityGroups field's value.
4745func (s *UpdateBrokerResponse) SetSecurityGroups(v []*string) *UpdateBrokerResponse {
4746	s.SecurityGroups = v
4747	return s
4748}
4749
4750type UpdateConfigurationRequest struct {
4751	_ struct{} `type:"structure"`
4752
4753	// ConfigurationId is a required field
4754	ConfigurationId *string `location:"uri" locationName:"configuration-id" type:"string" required:"true"`
4755
4756	Data *string `locationName:"data" type:"string"`
4757
4758	Description *string `locationName:"description" type:"string"`
4759}
4760
4761// String returns the string representation
4762func (s UpdateConfigurationRequest) String() string {
4763	return awsutil.Prettify(s)
4764}
4765
4766// GoString returns the string representation
4767func (s UpdateConfigurationRequest) GoString() string {
4768	return s.String()
4769}
4770
4771// Validate inspects the fields of the type to determine if they are valid.
4772func (s *UpdateConfigurationRequest) Validate() error {
4773	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationRequest"}
4774	if s.ConfigurationId == nil {
4775		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
4776	}
4777	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
4778		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
4779	}
4780
4781	if invalidParams.Len() > 0 {
4782		return invalidParams
4783	}
4784	return nil
4785}
4786
4787// SetConfigurationId sets the ConfigurationId field's value.
4788func (s *UpdateConfigurationRequest) SetConfigurationId(v string) *UpdateConfigurationRequest {
4789	s.ConfigurationId = &v
4790	return s
4791}
4792
4793// SetData sets the Data field's value.
4794func (s *UpdateConfigurationRequest) SetData(v string) *UpdateConfigurationRequest {
4795	s.Data = &v
4796	return s
4797}
4798
4799// SetDescription sets the Description field's value.
4800func (s *UpdateConfigurationRequest) SetDescription(v string) *UpdateConfigurationRequest {
4801	s.Description = &v
4802	return s
4803}
4804
4805type UpdateConfigurationResponse struct {
4806	_ struct{} `type:"structure"`
4807
4808	Arn *string `locationName:"arn" type:"string"`
4809
4810	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"`
4811
4812	Id *string `locationName:"id" type:"string"`
4813
4814	// Returns information about the specified configuration revision.
4815	LatestRevision *ConfigurationRevision `locationName:"latestRevision" type:"structure"`
4816
4817	Name *string `locationName:"name" type:"string"`
4818
4819	Warnings []*SanitizationWarning `locationName:"warnings" type:"list"`
4820}
4821
4822// String returns the string representation
4823func (s UpdateConfigurationResponse) String() string {
4824	return awsutil.Prettify(s)
4825}
4826
4827// GoString returns the string representation
4828func (s UpdateConfigurationResponse) GoString() string {
4829	return s.String()
4830}
4831
4832// SetArn sets the Arn field's value.
4833func (s *UpdateConfigurationResponse) SetArn(v string) *UpdateConfigurationResponse {
4834	s.Arn = &v
4835	return s
4836}
4837
4838// SetCreated sets the Created field's value.
4839func (s *UpdateConfigurationResponse) SetCreated(v time.Time) *UpdateConfigurationResponse {
4840	s.Created = &v
4841	return s
4842}
4843
4844// SetId sets the Id field's value.
4845func (s *UpdateConfigurationResponse) SetId(v string) *UpdateConfigurationResponse {
4846	s.Id = &v
4847	return s
4848}
4849
4850// SetLatestRevision sets the LatestRevision field's value.
4851func (s *UpdateConfigurationResponse) SetLatestRevision(v *ConfigurationRevision) *UpdateConfigurationResponse {
4852	s.LatestRevision = v
4853	return s
4854}
4855
4856// SetName sets the Name field's value.
4857func (s *UpdateConfigurationResponse) SetName(v string) *UpdateConfigurationResponse {
4858	s.Name = &v
4859	return s
4860}
4861
4862// SetWarnings sets the Warnings field's value.
4863func (s *UpdateConfigurationResponse) SetWarnings(v []*SanitizationWarning) *UpdateConfigurationResponse {
4864	s.Warnings = v
4865	return s
4866}
4867
4868type UpdateUserOutput struct {
4869	_ struct{} `type:"structure"`
4870}
4871
4872// String returns the string representation
4873func (s UpdateUserOutput) String() string {
4874	return awsutil.Prettify(s)
4875}
4876
4877// GoString returns the string representation
4878func (s UpdateUserOutput) GoString() string {
4879	return s.String()
4880}
4881
4882type UpdateUserRequest struct {
4883	_ struct{} `type:"structure"`
4884
4885	// BrokerId is a required field
4886	BrokerId *string `location:"uri" locationName:"broker-id" type:"string" required:"true"`
4887
4888	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
4889
4890	Groups []*string `locationName:"groups" type:"list"`
4891
4892	Password *string `locationName:"password" type:"string"`
4893
4894	// Username is a required field
4895	Username *string `location:"uri" locationName:"username" type:"string" required:"true"`
4896}
4897
4898// String returns the string representation
4899func (s UpdateUserRequest) String() string {
4900	return awsutil.Prettify(s)
4901}
4902
4903// GoString returns the string representation
4904func (s UpdateUserRequest) GoString() string {
4905	return s.String()
4906}
4907
4908// Validate inspects the fields of the type to determine if they are valid.
4909func (s *UpdateUserRequest) Validate() error {
4910	invalidParams := request.ErrInvalidParams{Context: "UpdateUserRequest"}
4911	if s.BrokerId == nil {
4912		invalidParams.Add(request.NewErrParamRequired("BrokerId"))
4913	}
4914	if s.BrokerId != nil && len(*s.BrokerId) < 1 {
4915		invalidParams.Add(request.NewErrParamMinLen("BrokerId", 1))
4916	}
4917	if s.Username == nil {
4918		invalidParams.Add(request.NewErrParamRequired("Username"))
4919	}
4920	if s.Username != nil && len(*s.Username) < 1 {
4921		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
4922	}
4923
4924	if invalidParams.Len() > 0 {
4925		return invalidParams
4926	}
4927	return nil
4928}
4929
4930// SetBrokerId sets the BrokerId field's value.
4931func (s *UpdateUserRequest) SetBrokerId(v string) *UpdateUserRequest {
4932	s.BrokerId = &v
4933	return s
4934}
4935
4936// SetConsoleAccess sets the ConsoleAccess field's value.
4937func (s *UpdateUserRequest) SetConsoleAccess(v bool) *UpdateUserRequest {
4938	s.ConsoleAccess = &v
4939	return s
4940}
4941
4942// SetGroups sets the Groups field's value.
4943func (s *UpdateUserRequest) SetGroups(v []*string) *UpdateUserRequest {
4944	s.Groups = v
4945	return s
4946}
4947
4948// SetPassword sets the Password field's value.
4949func (s *UpdateUserRequest) SetPassword(v string) *UpdateUserRequest {
4950	s.Password = &v
4951	return s
4952}
4953
4954// SetUsername sets the Username field's value.
4955func (s *UpdateUserRequest) SetUsername(v string) *UpdateUserRequest {
4956	s.Username = &v
4957	return s
4958}
4959
4960// An ActiveMQ user associated with the broker.
4961type User struct {
4962	_ struct{} `type:"structure"`
4963
4964	// Enables access to the the ActiveMQ Web Console for the ActiveMQ user.
4965	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
4966
4967	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This
4968	// value can contain only alphanumeric characters, dashes, periods, underscores,
4969	// and tildes (- . _ ~). This value must be 2-100 characters long.
4970	Groups []*string `locationName:"groups" type:"list"`
4971
4972	// Required. The password of the ActiveMQ user. This value must be at least
4973	// 12 characters long, must contain at least 4 unique characters, and must not
4974	// contain commas.
4975	Password *string `locationName:"password" type:"string"`
4976
4977	// Required. The username of the ActiveMQ user. This value can contain only
4978	// alphanumeric characters, dashes, periods, underscores, and tildes (- . _
4979	// ~). This value must be 2-100 characters long.
4980	Username *string `locationName:"username" type:"string"`
4981}
4982
4983// String returns the string representation
4984func (s User) String() string {
4985	return awsutil.Prettify(s)
4986}
4987
4988// GoString returns the string representation
4989func (s User) GoString() string {
4990	return s.String()
4991}
4992
4993// SetConsoleAccess sets the ConsoleAccess field's value.
4994func (s *User) SetConsoleAccess(v bool) *User {
4995	s.ConsoleAccess = &v
4996	return s
4997}
4998
4999// SetGroups sets the Groups field's value.
5000func (s *User) SetGroups(v []*string) *User {
5001	s.Groups = v
5002	return s
5003}
5004
5005// SetPassword sets the Password field's value.
5006func (s *User) SetPassword(v string) *User {
5007	s.Password = &v
5008	return s
5009}
5010
5011// SetUsername sets the Username field's value.
5012func (s *User) SetUsername(v string) *User {
5013	s.Username = &v
5014	return s
5015}
5016
5017// Returns information about the status of the changes pending for the ActiveMQ
5018// user.
5019type UserPendingChanges struct {
5020	_ struct{} `type:"structure"`
5021
5022	// Enables access to the the ActiveMQ Web Console for the ActiveMQ user.
5023	ConsoleAccess *bool `locationName:"consoleAccess" type:"boolean"`
5024
5025	// The list of groups (20 maximum) to which the ActiveMQ user belongs. This
5026	// value can contain only alphanumeric characters, dashes, periods, underscores,
5027	// and tildes (- . _ ~). This value must be 2-100 characters long.
5028	Groups []*string `locationName:"groups" type:"list"`
5029
5030	// Required. The type of change pending for the ActiveMQ user.
5031	PendingChange *string `locationName:"pendingChange" type:"string" enum:"ChangeType"`
5032}
5033
5034// String returns the string representation
5035func (s UserPendingChanges) String() string {
5036	return awsutil.Prettify(s)
5037}
5038
5039// GoString returns the string representation
5040func (s UserPendingChanges) GoString() string {
5041	return s.String()
5042}
5043
5044// SetConsoleAccess sets the ConsoleAccess field's value.
5045func (s *UserPendingChanges) SetConsoleAccess(v bool) *UserPendingChanges {
5046	s.ConsoleAccess = &v
5047	return s
5048}
5049
5050// SetGroups sets the Groups field's value.
5051func (s *UserPendingChanges) SetGroups(v []*string) *UserPendingChanges {
5052	s.Groups = v
5053	return s
5054}
5055
5056// SetPendingChange sets the PendingChange field's value.
5057func (s *UserPendingChanges) SetPendingChange(v string) *UserPendingChanges {
5058	s.PendingChange = &v
5059	return s
5060}
5061
5062// Returns a list of all ActiveMQ users.
5063type UserSummary struct {
5064	_ struct{} `type:"structure"`
5065
5066	// The type of change pending for the ActiveMQ user.
5067	PendingChange *string `locationName:"pendingChange" type:"string" enum:"ChangeType"`
5068
5069	// Required. The username of the ActiveMQ user. This value can contain only
5070	// alphanumeric characters, dashes, periods, underscores, and tildes (- . _
5071	// ~). This value must be 2-100 characters long.
5072	Username *string `locationName:"username" type:"string"`
5073}
5074
5075// String returns the string representation
5076func (s UserSummary) String() string {
5077	return awsutil.Prettify(s)
5078}
5079
5080// GoString returns the string representation
5081func (s UserSummary) GoString() string {
5082	return s.String()
5083}
5084
5085// SetPendingChange sets the PendingChange field's value.
5086func (s *UserSummary) SetPendingChange(v string) *UserSummary {
5087	s.PendingChange = &v
5088	return s
5089}
5090
5091// SetUsername sets the Username field's value.
5092func (s *UserSummary) SetUsername(v string) *UserSummary {
5093	s.Username = &v
5094	return s
5095}
5096
5097// The scheduled time period relative to UTC during which Amazon MQ begins to
5098// apply pending updates or patches to the broker.
5099type WeeklyStartTime struct {
5100	_ struct{} `type:"structure"`
5101
5102	// Required. The day of the week.
5103	DayOfWeek *string `locationName:"dayOfWeek" type:"string" enum:"DayOfWeek"`
5104
5105	// Required. The time, in 24-hour format.
5106	TimeOfDay *string `locationName:"timeOfDay" type:"string"`
5107
5108	// The time zone, UTC by default, in either the Country/City format, or the
5109	// UTC offset format.
5110	TimeZone *string `locationName:"timeZone" type:"string"`
5111}
5112
5113// String returns the string representation
5114func (s WeeklyStartTime) String() string {
5115	return awsutil.Prettify(s)
5116}
5117
5118// GoString returns the string representation
5119func (s WeeklyStartTime) GoString() string {
5120	return s.String()
5121}
5122
5123// SetDayOfWeek sets the DayOfWeek field's value.
5124func (s *WeeklyStartTime) SetDayOfWeek(v string) *WeeklyStartTime {
5125	s.DayOfWeek = &v
5126	return s
5127}
5128
5129// SetTimeOfDay sets the TimeOfDay field's value.
5130func (s *WeeklyStartTime) SetTimeOfDay(v string) *WeeklyStartTime {
5131	s.TimeOfDay = &v
5132	return s
5133}
5134
5135// SetTimeZone sets the TimeZone field's value.
5136func (s *WeeklyStartTime) SetTimeZone(v string) *WeeklyStartTime {
5137	s.TimeZone = &v
5138	return s
5139}
5140
5141// The status of the broker.
5142const (
5143	// BrokerStateCreationInProgress is a BrokerState enum value
5144	BrokerStateCreationInProgress = "CREATION_IN_PROGRESS"
5145
5146	// BrokerStateCreationFailed is a BrokerState enum value
5147	BrokerStateCreationFailed = "CREATION_FAILED"
5148
5149	// BrokerStateDeletionInProgress is a BrokerState enum value
5150	BrokerStateDeletionInProgress = "DELETION_IN_PROGRESS"
5151
5152	// BrokerStateRunning is a BrokerState enum value
5153	BrokerStateRunning = "RUNNING"
5154
5155	// BrokerStateRebootInProgress is a BrokerState enum value
5156	BrokerStateRebootInProgress = "REBOOT_IN_PROGRESS"
5157)
5158
5159// The storage type of the broker.
5160const (
5161	// BrokerStorageTypeEbs is a BrokerStorageType enum value
5162	BrokerStorageTypeEbs = "EBS"
5163
5164	// BrokerStorageTypeEfs is a BrokerStorageType enum value
5165	BrokerStorageTypeEfs = "EFS"
5166)
5167
5168// The type of change pending for the ActiveMQ user.
5169const (
5170	// ChangeTypeCreate is a ChangeType enum value
5171	ChangeTypeCreate = "CREATE"
5172
5173	// ChangeTypeUpdate is a ChangeType enum value
5174	ChangeTypeUpdate = "UPDATE"
5175
5176	// ChangeTypeDelete is a ChangeType enum value
5177	ChangeTypeDelete = "DELETE"
5178)
5179
5180const (
5181	// DayOfWeekMonday is a DayOfWeek enum value
5182	DayOfWeekMonday = "MONDAY"
5183
5184	// DayOfWeekTuesday is a DayOfWeek enum value
5185	DayOfWeekTuesday = "TUESDAY"
5186
5187	// DayOfWeekWednesday is a DayOfWeek enum value
5188	DayOfWeekWednesday = "WEDNESDAY"
5189
5190	// DayOfWeekThursday is a DayOfWeek enum value
5191	DayOfWeekThursday = "THURSDAY"
5192
5193	// DayOfWeekFriday is a DayOfWeek enum value
5194	DayOfWeekFriday = "FRIDAY"
5195
5196	// DayOfWeekSaturday is a DayOfWeek enum value
5197	DayOfWeekSaturday = "SATURDAY"
5198
5199	// DayOfWeekSunday is a DayOfWeek enum value
5200	DayOfWeekSunday = "SUNDAY"
5201)
5202
5203// The deployment mode of the broker.
5204const (
5205	// DeploymentModeSingleInstance is a DeploymentMode enum value
5206	DeploymentModeSingleInstance = "SINGLE_INSTANCE"
5207
5208	// DeploymentModeActiveStandbyMultiAz is a DeploymentMode enum value
5209	DeploymentModeActiveStandbyMultiAz = "ACTIVE_STANDBY_MULTI_AZ"
5210)
5211
5212// The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.
5213const (
5214	// EngineTypeActivemq is a EngineType enum value
5215	EngineTypeActivemq = "ACTIVEMQ"
5216)
5217
5218// The reason for which the XML elements or attributes were sanitized.
5219const (
5220	// SanitizationWarningReasonDisallowedElementRemoved is a SanitizationWarningReason enum value
5221	SanitizationWarningReasonDisallowedElementRemoved = "DISALLOWED_ELEMENT_REMOVED"
5222
5223	// SanitizationWarningReasonDisallowedAttributeRemoved is a SanitizationWarningReason enum value
5224	SanitizationWarningReasonDisallowedAttributeRemoved = "DISALLOWED_ATTRIBUTE_REMOVED"
5225
5226	// SanitizationWarningReasonInvalidAttributeValueRemoved is a SanitizationWarningReason enum value
5227	SanitizationWarningReasonInvalidAttributeValueRemoved = "INVALID_ATTRIBUTE_VALUE_REMOVED"
5228)
5229