1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package cloudwatchevents
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opActivateEventSource = "ActivateEventSource"
17
18// ActivateEventSourceRequest generates a "aws/request.Request" representing the
19// client's request for the ActivateEventSource operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See ActivateEventSource for more information on using the ActivateEventSource
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the ActivateEventSourceRequest method.
34//    req, resp := client.ActivateEventSourceRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ActivateEventSource
42func (c *CloudWatchEvents) ActivateEventSourceRequest(input *ActivateEventSourceInput) (req *request.Request, output *ActivateEventSourceOutput) {
43	op := &request.Operation{
44		Name:       opActivateEventSource,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &ActivateEventSourceInput{}
51	}
52
53	output = &ActivateEventSourceOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// ActivateEventSource API operation for Amazon CloudWatch Events.
60//
61// Activates a partner event source that has been deactivated. Once activated,
62// your matching event bus will start receiving events from the event source.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon CloudWatch Events's
69// API operation ActivateEventSource for usage and error information.
70//
71// Returned Error Types:
72//   * ResourceNotFoundException
73//   An entity that you specified does not exist.
74//
75//   * ConcurrentModificationException
76//   There is concurrent modification on a rule, target, archive, or replay.
77//
78//   * InvalidStateException
79//   The specified state is not a valid state for an event source.
80//
81//   * InternalException
82//   This exception occurs due to unexpected causes.
83//
84//   * OperationDisabledException
85//   The operation you are attempting is not available in this region.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ActivateEventSource
88func (c *CloudWatchEvents) ActivateEventSource(input *ActivateEventSourceInput) (*ActivateEventSourceOutput, error) {
89	req, out := c.ActivateEventSourceRequest(input)
90	return out, req.Send()
91}
92
93// ActivateEventSourceWithContext is the same as ActivateEventSource with the addition of
94// the ability to pass a context and additional request options.
95//
96// See ActivateEventSource for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *CloudWatchEvents) ActivateEventSourceWithContext(ctx aws.Context, input *ActivateEventSourceInput, opts ...request.Option) (*ActivateEventSourceOutput, error) {
103	req, out := c.ActivateEventSourceRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opCancelReplay = "CancelReplay"
110
111// CancelReplayRequest generates a "aws/request.Request" representing the
112// client's request for the CancelReplay operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See CancelReplay for more information on using the CancelReplay
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the CancelReplayRequest method.
127//    req, resp := client.CancelReplayRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CancelReplay
135func (c *CloudWatchEvents) CancelReplayRequest(input *CancelReplayInput) (req *request.Request, output *CancelReplayOutput) {
136	op := &request.Operation{
137		Name:       opCancelReplay,
138		HTTPMethod: "POST",
139		HTTPPath:   "/",
140	}
141
142	if input == nil {
143		input = &CancelReplayInput{}
144	}
145
146	output = &CancelReplayOutput{}
147	req = c.newRequest(op, input, output)
148	return
149}
150
151// CancelReplay API operation for Amazon CloudWatch Events.
152//
153// Cancels the specified replay.
154//
155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
156// with awserr.Error's Code and Message methods to get detailed information about
157// the error.
158//
159// See the AWS API reference guide for Amazon CloudWatch Events's
160// API operation CancelReplay for usage and error information.
161//
162// Returned Error Types:
163//   * ResourceNotFoundException
164//   An entity that you specified does not exist.
165//
166//   * ConcurrentModificationException
167//   There is concurrent modification on a rule, target, archive, or replay.
168//
169//   * IllegalStatusException
170//   An error occurred because a replay can be canceled only when the state is
171//   Running or Starting.
172//
173//   * InternalException
174//   This exception occurs due to unexpected causes.
175//
176// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CancelReplay
177func (c *CloudWatchEvents) CancelReplay(input *CancelReplayInput) (*CancelReplayOutput, error) {
178	req, out := c.CancelReplayRequest(input)
179	return out, req.Send()
180}
181
182// CancelReplayWithContext is the same as CancelReplay with the addition of
183// the ability to pass a context and additional request options.
184//
185// See CancelReplay for details on how to use this API operation.
186//
187// The context must be non-nil and will be used for request cancellation. If
188// the context is nil a panic will occur. In the future the SDK may create
189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
190// for more information on using Contexts.
191func (c *CloudWatchEvents) CancelReplayWithContext(ctx aws.Context, input *CancelReplayInput, opts ...request.Option) (*CancelReplayOutput, error) {
192	req, out := c.CancelReplayRequest(input)
193	req.SetContext(ctx)
194	req.ApplyOptions(opts...)
195	return out, req.Send()
196}
197
198const opCreateApiDestination = "CreateApiDestination"
199
200// CreateApiDestinationRequest generates a "aws/request.Request" representing the
201// client's request for the CreateApiDestination operation. The "output" return
202// value will be populated with the request's response once the request completes
203// successfully.
204//
205// Use "Send" method on the returned Request to send the API call to the service.
206// the "output" return value is not valid until after Send returns without error.
207//
208// See CreateApiDestination for more information on using the CreateApiDestination
209// API call, and error handling.
210//
211// This method is useful when you want to inject custom logic or configuration
212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
213//
214//
215//    // Example sending a request using the CreateApiDestinationRequest method.
216//    req, resp := client.CreateApiDestinationRequest(params)
217//
218//    err := req.Send()
219//    if err == nil { // resp is now filled
220//        fmt.Println(resp)
221//    }
222//
223// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateApiDestination
224func (c *CloudWatchEvents) CreateApiDestinationRequest(input *CreateApiDestinationInput) (req *request.Request, output *CreateApiDestinationOutput) {
225	op := &request.Operation{
226		Name:       opCreateApiDestination,
227		HTTPMethod: "POST",
228		HTTPPath:   "/",
229	}
230
231	if input == nil {
232		input = &CreateApiDestinationInput{}
233	}
234
235	output = &CreateApiDestinationOutput{}
236	req = c.newRequest(op, input, output)
237	return
238}
239
240// CreateApiDestination API operation for Amazon CloudWatch Events.
241//
242// Creates an API destination, which is an HTTP invocation endpoint configured
243// as a target for events.
244//
245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
246// with awserr.Error's Code and Message methods to get detailed information about
247// the error.
248//
249// See the AWS API reference guide for Amazon CloudWatch Events's
250// API operation CreateApiDestination for usage and error information.
251//
252// Returned Error Types:
253//   * ResourceAlreadyExistsException
254//   The resource you are trying to create already exists.
255//
256//   * ResourceNotFoundException
257//   An entity that you specified does not exist.
258//
259//   * LimitExceededException
260//   The request failed because it attempted to create resource beyond the allowed
261//   service quota.
262//
263//   * InternalException
264//   This exception occurs due to unexpected causes.
265//
266// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateApiDestination
267func (c *CloudWatchEvents) CreateApiDestination(input *CreateApiDestinationInput) (*CreateApiDestinationOutput, error) {
268	req, out := c.CreateApiDestinationRequest(input)
269	return out, req.Send()
270}
271
272// CreateApiDestinationWithContext is the same as CreateApiDestination with the addition of
273// the ability to pass a context and additional request options.
274//
275// See CreateApiDestination for details on how to use this API operation.
276//
277// The context must be non-nil and will be used for request cancellation. If
278// the context is nil a panic will occur. In the future the SDK may create
279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
280// for more information on using Contexts.
281func (c *CloudWatchEvents) CreateApiDestinationWithContext(ctx aws.Context, input *CreateApiDestinationInput, opts ...request.Option) (*CreateApiDestinationOutput, error) {
282	req, out := c.CreateApiDestinationRequest(input)
283	req.SetContext(ctx)
284	req.ApplyOptions(opts...)
285	return out, req.Send()
286}
287
288const opCreateArchive = "CreateArchive"
289
290// CreateArchiveRequest generates a "aws/request.Request" representing the
291// client's request for the CreateArchive operation. The "output" return
292// value will be populated with the request's response once the request completes
293// successfully.
294//
295// Use "Send" method on the returned Request to send the API call to the service.
296// the "output" return value is not valid until after Send returns without error.
297//
298// See CreateArchive for more information on using the CreateArchive
299// API call, and error handling.
300//
301// This method is useful when you want to inject custom logic or configuration
302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
303//
304//
305//    // Example sending a request using the CreateArchiveRequest method.
306//    req, resp := client.CreateArchiveRequest(params)
307//
308//    err := req.Send()
309//    if err == nil { // resp is now filled
310//        fmt.Println(resp)
311//    }
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateArchive
314func (c *CloudWatchEvents) CreateArchiveRequest(input *CreateArchiveInput) (req *request.Request, output *CreateArchiveOutput) {
315	op := &request.Operation{
316		Name:       opCreateArchive,
317		HTTPMethod: "POST",
318		HTTPPath:   "/",
319	}
320
321	if input == nil {
322		input = &CreateArchiveInput{}
323	}
324
325	output = &CreateArchiveOutput{}
326	req = c.newRequest(op, input, output)
327	return
328}
329
330// CreateArchive API operation for Amazon CloudWatch Events.
331//
332// Creates an archive of events with the specified settings. When you create
333// an archive, incoming events might not immediately start being sent to the
334// archive. Allow a short period of time for changes to take effect. If you
335// do not specify a pattern to filter events sent to the archive, all events
336// are sent to the archive except replayed events. Replayed events are not sent
337// to an archive.
338//
339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
340// with awserr.Error's Code and Message methods to get detailed information about
341// the error.
342//
343// See the AWS API reference guide for Amazon CloudWatch Events's
344// API operation CreateArchive for usage and error information.
345//
346// Returned Error Types:
347//   * ConcurrentModificationException
348//   There is concurrent modification on a rule, target, archive, or replay.
349//
350//   * ResourceAlreadyExistsException
351//   The resource you are trying to create already exists.
352//
353//   * ResourceNotFoundException
354//   An entity that you specified does not exist.
355//
356//   * InternalException
357//   This exception occurs due to unexpected causes.
358//
359//   * LimitExceededException
360//   The request failed because it attempted to create resource beyond the allowed
361//   service quota.
362//
363//   * InvalidEventPatternException
364//   The event pattern is not valid.
365//
366// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateArchive
367func (c *CloudWatchEvents) CreateArchive(input *CreateArchiveInput) (*CreateArchiveOutput, error) {
368	req, out := c.CreateArchiveRequest(input)
369	return out, req.Send()
370}
371
372// CreateArchiveWithContext is the same as CreateArchive with the addition of
373// the ability to pass a context and additional request options.
374//
375// See CreateArchive for details on how to use this API operation.
376//
377// The context must be non-nil and will be used for request cancellation. If
378// the context is nil a panic will occur. In the future the SDK may create
379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
380// for more information on using Contexts.
381func (c *CloudWatchEvents) CreateArchiveWithContext(ctx aws.Context, input *CreateArchiveInput, opts ...request.Option) (*CreateArchiveOutput, error) {
382	req, out := c.CreateArchiveRequest(input)
383	req.SetContext(ctx)
384	req.ApplyOptions(opts...)
385	return out, req.Send()
386}
387
388const opCreateConnection = "CreateConnection"
389
390// CreateConnectionRequest generates a "aws/request.Request" representing the
391// client's request for the CreateConnection operation. The "output" return
392// value will be populated with the request's response once the request completes
393// successfully.
394//
395// Use "Send" method on the returned Request to send the API call to the service.
396// the "output" return value is not valid until after Send returns without error.
397//
398// See CreateConnection for more information on using the CreateConnection
399// API call, and error handling.
400//
401// This method is useful when you want to inject custom logic or configuration
402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
403//
404//
405//    // Example sending a request using the CreateConnectionRequest method.
406//    req, resp := client.CreateConnectionRequest(params)
407//
408//    err := req.Send()
409//    if err == nil { // resp is now filled
410//        fmt.Println(resp)
411//    }
412//
413// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateConnection
414func (c *CloudWatchEvents) CreateConnectionRequest(input *CreateConnectionInput) (req *request.Request, output *CreateConnectionOutput) {
415	op := &request.Operation{
416		Name:       opCreateConnection,
417		HTTPMethod: "POST",
418		HTTPPath:   "/",
419	}
420
421	if input == nil {
422		input = &CreateConnectionInput{}
423	}
424
425	output = &CreateConnectionOutput{}
426	req = c.newRequest(op, input, output)
427	return
428}
429
430// CreateConnection API operation for Amazon CloudWatch Events.
431//
432// Creates a connection. A connection defines the authorization type and credentials
433// to use for authorization with an API destination HTTP endpoint.
434//
435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
436// with awserr.Error's Code and Message methods to get detailed information about
437// the error.
438//
439// See the AWS API reference guide for Amazon CloudWatch Events's
440// API operation CreateConnection for usage and error information.
441//
442// Returned Error Types:
443//   * ResourceAlreadyExistsException
444//   The resource you are trying to create already exists.
445//
446//   * LimitExceededException
447//   The request failed because it attempted to create resource beyond the allowed
448//   service quota.
449//
450//   * InternalException
451//   This exception occurs due to unexpected causes.
452//
453// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateConnection
454func (c *CloudWatchEvents) CreateConnection(input *CreateConnectionInput) (*CreateConnectionOutput, error) {
455	req, out := c.CreateConnectionRequest(input)
456	return out, req.Send()
457}
458
459// CreateConnectionWithContext is the same as CreateConnection with the addition of
460// the ability to pass a context and additional request options.
461//
462// See CreateConnection for details on how to use this API operation.
463//
464// The context must be non-nil and will be used for request cancellation. If
465// the context is nil a panic will occur. In the future the SDK may create
466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
467// for more information on using Contexts.
468func (c *CloudWatchEvents) CreateConnectionWithContext(ctx aws.Context, input *CreateConnectionInput, opts ...request.Option) (*CreateConnectionOutput, error) {
469	req, out := c.CreateConnectionRequest(input)
470	req.SetContext(ctx)
471	req.ApplyOptions(opts...)
472	return out, req.Send()
473}
474
475const opCreateEventBus = "CreateEventBus"
476
477// CreateEventBusRequest generates a "aws/request.Request" representing the
478// client's request for the CreateEventBus operation. The "output" return
479// value will be populated with the request's response once the request completes
480// successfully.
481//
482// Use "Send" method on the returned Request to send the API call to the service.
483// the "output" return value is not valid until after Send returns without error.
484//
485// See CreateEventBus for more information on using the CreateEventBus
486// API call, and error handling.
487//
488// This method is useful when you want to inject custom logic or configuration
489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
490//
491//
492//    // Example sending a request using the CreateEventBusRequest method.
493//    req, resp := client.CreateEventBusRequest(params)
494//
495//    err := req.Send()
496//    if err == nil { // resp is now filled
497//        fmt.Println(resp)
498//    }
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateEventBus
501func (c *CloudWatchEvents) CreateEventBusRequest(input *CreateEventBusInput) (req *request.Request, output *CreateEventBusOutput) {
502	op := &request.Operation{
503		Name:       opCreateEventBus,
504		HTTPMethod: "POST",
505		HTTPPath:   "/",
506	}
507
508	if input == nil {
509		input = &CreateEventBusInput{}
510	}
511
512	output = &CreateEventBusOutput{}
513	req = c.newRequest(op, input, output)
514	return
515}
516
517// CreateEventBus API operation for Amazon CloudWatch Events.
518//
519// Creates a new event bus within your account. This can be a custom event bus
520// which you can use to receive events from your custom applications and services,
521// or it can be a partner event bus which can be matched to a partner event
522// source.
523//
524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
525// with awserr.Error's Code and Message methods to get detailed information about
526// the error.
527//
528// See the AWS API reference guide for Amazon CloudWatch Events's
529// API operation CreateEventBus for usage and error information.
530//
531// Returned Error Types:
532//   * ResourceAlreadyExistsException
533//   The resource you are trying to create already exists.
534//
535//   * ResourceNotFoundException
536//   An entity that you specified does not exist.
537//
538//   * InvalidStateException
539//   The specified state is not a valid state for an event source.
540//
541//   * InternalException
542//   This exception occurs due to unexpected causes.
543//
544//   * ConcurrentModificationException
545//   There is concurrent modification on a rule, target, archive, or replay.
546//
547//   * LimitExceededException
548//   The request failed because it attempted to create resource beyond the allowed
549//   service quota.
550//
551//   * OperationDisabledException
552//   The operation you are attempting is not available in this region.
553//
554// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateEventBus
555func (c *CloudWatchEvents) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) {
556	req, out := c.CreateEventBusRequest(input)
557	return out, req.Send()
558}
559
560// CreateEventBusWithContext is the same as CreateEventBus with the addition of
561// the ability to pass a context and additional request options.
562//
563// See CreateEventBus for details on how to use this API operation.
564//
565// The context must be non-nil and will be used for request cancellation. If
566// the context is nil a panic will occur. In the future the SDK may create
567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
568// for more information on using Contexts.
569func (c *CloudWatchEvents) CreateEventBusWithContext(ctx aws.Context, input *CreateEventBusInput, opts ...request.Option) (*CreateEventBusOutput, error) {
570	req, out := c.CreateEventBusRequest(input)
571	req.SetContext(ctx)
572	req.ApplyOptions(opts...)
573	return out, req.Send()
574}
575
576const opCreatePartnerEventSource = "CreatePartnerEventSource"
577
578// CreatePartnerEventSourceRequest generates a "aws/request.Request" representing the
579// client's request for the CreatePartnerEventSource operation. The "output" return
580// value will be populated with the request's response once the request completes
581// successfully.
582//
583// Use "Send" method on the returned Request to send the API call to the service.
584// the "output" return value is not valid until after Send returns without error.
585//
586// See CreatePartnerEventSource for more information on using the CreatePartnerEventSource
587// API call, and error handling.
588//
589// This method is useful when you want to inject custom logic or configuration
590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
591//
592//
593//    // Example sending a request using the CreatePartnerEventSourceRequest method.
594//    req, resp := client.CreatePartnerEventSourceRequest(params)
595//
596//    err := req.Send()
597//    if err == nil { // resp is now filled
598//        fmt.Println(resp)
599//    }
600//
601// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreatePartnerEventSource
602func (c *CloudWatchEvents) CreatePartnerEventSourceRequest(input *CreatePartnerEventSourceInput) (req *request.Request, output *CreatePartnerEventSourceOutput) {
603	op := &request.Operation{
604		Name:       opCreatePartnerEventSource,
605		HTTPMethod: "POST",
606		HTTPPath:   "/",
607	}
608
609	if input == nil {
610		input = &CreatePartnerEventSourceInput{}
611	}
612
613	output = &CreatePartnerEventSourceOutput{}
614	req = c.newRequest(op, input, output)
615	return
616}
617
618// CreatePartnerEventSource API operation for Amazon CloudWatch Events.
619//
620// Called by an SaaS partner to create a partner event source. This operation
621// is not used by Amazon Web Services customers.
622//
623// Each partner event source can be used by one Amazon Web Services account
624// to create a matching partner event bus in that Amazon Web Services account.
625// A SaaS partner must create one partner event source for each Amazon Web Services
626// account that wants to receive those event types.
627//
628// A partner event source creates events based on resources within the SaaS
629// partner's service or application.
630//
631// An Amazon Web Services account that creates a partner event bus that matches
632// the partner event source can use that event bus to receive events from the
633// partner, and then process them using Amazon Web Services Events rules and
634// targets.
635//
636// Partner event source names follow this format:
637//
638// partner_name/event_namespace/event_name
639//
640// partner_name is determined during partner registration and identifies the
641// partner to Amazon Web Services customers. event_namespace is determined by
642// the partner and is a way for the partner to categorize their events. event_name
643// is determined by the partner, and should uniquely identify an event-generating
644// resource within the partner system. The combination of event_namespace and
645// event_name should help Amazon Web Services customers decide whether to create
646// an event bus to receive these events.
647//
648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
649// with awserr.Error's Code and Message methods to get detailed information about
650// the error.
651//
652// See the AWS API reference guide for Amazon CloudWatch Events's
653// API operation CreatePartnerEventSource for usage and error information.
654//
655// Returned Error Types:
656//   * ResourceAlreadyExistsException
657//   The resource you are trying to create already exists.
658//
659//   * InternalException
660//   This exception occurs due to unexpected causes.
661//
662//   * ConcurrentModificationException
663//   There is concurrent modification on a rule, target, archive, or replay.
664//
665//   * LimitExceededException
666//   The request failed because it attempted to create resource beyond the allowed
667//   service quota.
668//
669//   * OperationDisabledException
670//   The operation you are attempting is not available in this region.
671//
672// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreatePartnerEventSource
673func (c *CloudWatchEvents) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) {
674	req, out := c.CreatePartnerEventSourceRequest(input)
675	return out, req.Send()
676}
677
678// CreatePartnerEventSourceWithContext is the same as CreatePartnerEventSource with the addition of
679// the ability to pass a context and additional request options.
680//
681// See CreatePartnerEventSource for details on how to use this API operation.
682//
683// The context must be non-nil and will be used for request cancellation. If
684// the context is nil a panic will occur. In the future the SDK may create
685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
686// for more information on using Contexts.
687func (c *CloudWatchEvents) CreatePartnerEventSourceWithContext(ctx aws.Context, input *CreatePartnerEventSourceInput, opts ...request.Option) (*CreatePartnerEventSourceOutput, error) {
688	req, out := c.CreatePartnerEventSourceRequest(input)
689	req.SetContext(ctx)
690	req.ApplyOptions(opts...)
691	return out, req.Send()
692}
693
694const opDeactivateEventSource = "DeactivateEventSource"
695
696// DeactivateEventSourceRequest generates a "aws/request.Request" representing the
697// client's request for the DeactivateEventSource operation. The "output" return
698// value will be populated with the request's response once the request completes
699// successfully.
700//
701// Use "Send" method on the returned Request to send the API call to the service.
702// the "output" return value is not valid until after Send returns without error.
703//
704// See DeactivateEventSource for more information on using the DeactivateEventSource
705// API call, and error handling.
706//
707// This method is useful when you want to inject custom logic or configuration
708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
709//
710//
711//    // Example sending a request using the DeactivateEventSourceRequest method.
712//    req, resp := client.DeactivateEventSourceRequest(params)
713//
714//    err := req.Send()
715//    if err == nil { // resp is now filled
716//        fmt.Println(resp)
717//    }
718//
719// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeactivateEventSource
720func (c *CloudWatchEvents) DeactivateEventSourceRequest(input *DeactivateEventSourceInput) (req *request.Request, output *DeactivateEventSourceOutput) {
721	op := &request.Operation{
722		Name:       opDeactivateEventSource,
723		HTTPMethod: "POST",
724		HTTPPath:   "/",
725	}
726
727	if input == nil {
728		input = &DeactivateEventSourceInput{}
729	}
730
731	output = &DeactivateEventSourceOutput{}
732	req = c.newRequest(op, input, output)
733	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
734	return
735}
736
737// DeactivateEventSource API operation for Amazon CloudWatch Events.
738//
739// You can use this operation to temporarily stop receiving events from the
740// specified partner event source. The matching event bus is not deleted.
741//
742// When you deactivate a partner event source, the source goes into PENDING
743// state. If it remains in PENDING state for more than two weeks, it is deleted.
744//
745// To activate a deactivated partner event source, use ActivateEventSource (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ActivateEventSource.html).
746//
747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
748// with awserr.Error's Code and Message methods to get detailed information about
749// the error.
750//
751// See the AWS API reference guide for Amazon CloudWatch Events's
752// API operation DeactivateEventSource for usage and error information.
753//
754// Returned Error Types:
755//   * ResourceNotFoundException
756//   An entity that you specified does not exist.
757//
758//   * ConcurrentModificationException
759//   There is concurrent modification on a rule, target, archive, or replay.
760//
761//   * InvalidStateException
762//   The specified state is not a valid state for an event source.
763//
764//   * InternalException
765//   This exception occurs due to unexpected causes.
766//
767//   * OperationDisabledException
768//   The operation you are attempting is not available in this region.
769//
770// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeactivateEventSource
771func (c *CloudWatchEvents) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) {
772	req, out := c.DeactivateEventSourceRequest(input)
773	return out, req.Send()
774}
775
776// DeactivateEventSourceWithContext is the same as DeactivateEventSource with the addition of
777// the ability to pass a context and additional request options.
778//
779// See DeactivateEventSource for details on how to use this API operation.
780//
781// The context must be non-nil and will be used for request cancellation. If
782// the context is nil a panic will occur. In the future the SDK may create
783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
784// for more information on using Contexts.
785func (c *CloudWatchEvents) DeactivateEventSourceWithContext(ctx aws.Context, input *DeactivateEventSourceInput, opts ...request.Option) (*DeactivateEventSourceOutput, error) {
786	req, out := c.DeactivateEventSourceRequest(input)
787	req.SetContext(ctx)
788	req.ApplyOptions(opts...)
789	return out, req.Send()
790}
791
792const opDeauthorizeConnection = "DeauthorizeConnection"
793
794// DeauthorizeConnectionRequest generates a "aws/request.Request" representing the
795// client's request for the DeauthorizeConnection operation. The "output" return
796// value will be populated with the request's response once the request completes
797// successfully.
798//
799// Use "Send" method on the returned Request to send the API call to the service.
800// the "output" return value is not valid until after Send returns without error.
801//
802// See DeauthorizeConnection for more information on using the DeauthorizeConnection
803// API call, and error handling.
804//
805// This method is useful when you want to inject custom logic or configuration
806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
807//
808//
809//    // Example sending a request using the DeauthorizeConnectionRequest method.
810//    req, resp := client.DeauthorizeConnectionRequest(params)
811//
812//    err := req.Send()
813//    if err == nil { // resp is now filled
814//        fmt.Println(resp)
815//    }
816//
817// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeauthorizeConnection
818func (c *CloudWatchEvents) DeauthorizeConnectionRequest(input *DeauthorizeConnectionInput) (req *request.Request, output *DeauthorizeConnectionOutput) {
819	op := &request.Operation{
820		Name:       opDeauthorizeConnection,
821		HTTPMethod: "POST",
822		HTTPPath:   "/",
823	}
824
825	if input == nil {
826		input = &DeauthorizeConnectionInput{}
827	}
828
829	output = &DeauthorizeConnectionOutput{}
830	req = c.newRequest(op, input, output)
831	return
832}
833
834// DeauthorizeConnection API operation for Amazon CloudWatch Events.
835//
836// Removes all authorization parameters from the connection. This lets you remove
837// the secret from the connection so you can reuse it without having to create
838// a new connection.
839//
840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
841// with awserr.Error's Code and Message methods to get detailed information about
842// the error.
843//
844// See the AWS API reference guide for Amazon CloudWatch Events's
845// API operation DeauthorizeConnection for usage and error information.
846//
847// Returned Error Types:
848//   * ConcurrentModificationException
849//   There is concurrent modification on a rule, target, archive, or replay.
850//
851//   * ResourceNotFoundException
852//   An entity that you specified does not exist.
853//
854//   * InternalException
855//   This exception occurs due to unexpected causes.
856//
857// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeauthorizeConnection
858func (c *CloudWatchEvents) DeauthorizeConnection(input *DeauthorizeConnectionInput) (*DeauthorizeConnectionOutput, error) {
859	req, out := c.DeauthorizeConnectionRequest(input)
860	return out, req.Send()
861}
862
863// DeauthorizeConnectionWithContext is the same as DeauthorizeConnection with the addition of
864// the ability to pass a context and additional request options.
865//
866// See DeauthorizeConnection for details on how to use this API operation.
867//
868// The context must be non-nil and will be used for request cancellation. If
869// the context is nil a panic will occur. In the future the SDK may create
870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
871// for more information on using Contexts.
872func (c *CloudWatchEvents) DeauthorizeConnectionWithContext(ctx aws.Context, input *DeauthorizeConnectionInput, opts ...request.Option) (*DeauthorizeConnectionOutput, error) {
873	req, out := c.DeauthorizeConnectionRequest(input)
874	req.SetContext(ctx)
875	req.ApplyOptions(opts...)
876	return out, req.Send()
877}
878
879const opDeleteApiDestination = "DeleteApiDestination"
880
881// DeleteApiDestinationRequest generates a "aws/request.Request" representing the
882// client's request for the DeleteApiDestination operation. The "output" return
883// value will be populated with the request's response once the request completes
884// successfully.
885//
886// Use "Send" method on the returned Request to send the API call to the service.
887// the "output" return value is not valid until after Send returns without error.
888//
889// See DeleteApiDestination for more information on using the DeleteApiDestination
890// API call, and error handling.
891//
892// This method is useful when you want to inject custom logic or configuration
893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
894//
895//
896//    // Example sending a request using the DeleteApiDestinationRequest method.
897//    req, resp := client.DeleteApiDestinationRequest(params)
898//
899//    err := req.Send()
900//    if err == nil { // resp is now filled
901//        fmt.Println(resp)
902//    }
903//
904// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteApiDestination
905func (c *CloudWatchEvents) DeleteApiDestinationRequest(input *DeleteApiDestinationInput) (req *request.Request, output *DeleteApiDestinationOutput) {
906	op := &request.Operation{
907		Name:       opDeleteApiDestination,
908		HTTPMethod: "POST",
909		HTTPPath:   "/",
910	}
911
912	if input == nil {
913		input = &DeleteApiDestinationInput{}
914	}
915
916	output = &DeleteApiDestinationOutput{}
917	req = c.newRequest(op, input, output)
918	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
919	return
920}
921
922// DeleteApiDestination API operation for Amazon CloudWatch Events.
923//
924// Deletes the specified API destination.
925//
926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
927// with awserr.Error's Code and Message methods to get detailed information about
928// the error.
929//
930// See the AWS API reference guide for Amazon CloudWatch Events's
931// API operation DeleteApiDestination for usage and error information.
932//
933// Returned Error Types:
934//   * ConcurrentModificationException
935//   There is concurrent modification on a rule, target, archive, or replay.
936//
937//   * ResourceNotFoundException
938//   An entity that you specified does not exist.
939//
940//   * InternalException
941//   This exception occurs due to unexpected causes.
942//
943// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteApiDestination
944func (c *CloudWatchEvents) DeleteApiDestination(input *DeleteApiDestinationInput) (*DeleteApiDestinationOutput, error) {
945	req, out := c.DeleteApiDestinationRequest(input)
946	return out, req.Send()
947}
948
949// DeleteApiDestinationWithContext is the same as DeleteApiDestination with the addition of
950// the ability to pass a context and additional request options.
951//
952// See DeleteApiDestination for details on how to use this API operation.
953//
954// The context must be non-nil and will be used for request cancellation. If
955// the context is nil a panic will occur. In the future the SDK may create
956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
957// for more information on using Contexts.
958func (c *CloudWatchEvents) DeleteApiDestinationWithContext(ctx aws.Context, input *DeleteApiDestinationInput, opts ...request.Option) (*DeleteApiDestinationOutput, error) {
959	req, out := c.DeleteApiDestinationRequest(input)
960	req.SetContext(ctx)
961	req.ApplyOptions(opts...)
962	return out, req.Send()
963}
964
965const opDeleteArchive = "DeleteArchive"
966
967// DeleteArchiveRequest generates a "aws/request.Request" representing the
968// client's request for the DeleteArchive operation. The "output" return
969// value will be populated with the request's response once the request completes
970// successfully.
971//
972// Use "Send" method on the returned Request to send the API call to the service.
973// the "output" return value is not valid until after Send returns without error.
974//
975// See DeleteArchive for more information on using the DeleteArchive
976// API call, and error handling.
977//
978// This method is useful when you want to inject custom logic or configuration
979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
980//
981//
982//    // Example sending a request using the DeleteArchiveRequest method.
983//    req, resp := client.DeleteArchiveRequest(params)
984//
985//    err := req.Send()
986//    if err == nil { // resp is now filled
987//        fmt.Println(resp)
988//    }
989//
990// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteArchive
991func (c *CloudWatchEvents) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) {
992	op := &request.Operation{
993		Name:       opDeleteArchive,
994		HTTPMethod: "POST",
995		HTTPPath:   "/",
996	}
997
998	if input == nil {
999		input = &DeleteArchiveInput{}
1000	}
1001
1002	output = &DeleteArchiveOutput{}
1003	req = c.newRequest(op, input, output)
1004	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1005	return
1006}
1007
1008// DeleteArchive API operation for Amazon CloudWatch Events.
1009//
1010// Deletes the specified archive.
1011//
1012// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1013// with awserr.Error's Code and Message methods to get detailed information about
1014// the error.
1015//
1016// See the AWS API reference guide for Amazon CloudWatch Events's
1017// API operation DeleteArchive for usage and error information.
1018//
1019// Returned Error Types:
1020//   * ConcurrentModificationException
1021//   There is concurrent modification on a rule, target, archive, or replay.
1022//
1023//   * ResourceNotFoundException
1024//   An entity that you specified does not exist.
1025//
1026//   * InternalException
1027//   This exception occurs due to unexpected causes.
1028//
1029// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteArchive
1030func (c *CloudWatchEvents) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) {
1031	req, out := c.DeleteArchiveRequest(input)
1032	return out, req.Send()
1033}
1034
1035// DeleteArchiveWithContext is the same as DeleteArchive with the addition of
1036// the ability to pass a context and additional request options.
1037//
1038// See DeleteArchive for details on how to use this API operation.
1039//
1040// The context must be non-nil and will be used for request cancellation. If
1041// the context is nil a panic will occur. In the future the SDK may create
1042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1043// for more information on using Contexts.
1044func (c *CloudWatchEvents) DeleteArchiveWithContext(ctx aws.Context, input *DeleteArchiveInput, opts ...request.Option) (*DeleteArchiveOutput, error) {
1045	req, out := c.DeleteArchiveRequest(input)
1046	req.SetContext(ctx)
1047	req.ApplyOptions(opts...)
1048	return out, req.Send()
1049}
1050
1051const opDeleteConnection = "DeleteConnection"
1052
1053// DeleteConnectionRequest generates a "aws/request.Request" representing the
1054// client's request for the DeleteConnection operation. The "output" return
1055// value will be populated with the request's response once the request completes
1056// successfully.
1057//
1058// Use "Send" method on the returned Request to send the API call to the service.
1059// the "output" return value is not valid until after Send returns without error.
1060//
1061// See DeleteConnection for more information on using the DeleteConnection
1062// API call, and error handling.
1063//
1064// This method is useful when you want to inject custom logic or configuration
1065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1066//
1067//
1068//    // Example sending a request using the DeleteConnectionRequest method.
1069//    req, resp := client.DeleteConnectionRequest(params)
1070//
1071//    err := req.Send()
1072//    if err == nil { // resp is now filled
1073//        fmt.Println(resp)
1074//    }
1075//
1076// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteConnection
1077func (c *CloudWatchEvents) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *DeleteConnectionOutput) {
1078	op := &request.Operation{
1079		Name:       opDeleteConnection,
1080		HTTPMethod: "POST",
1081		HTTPPath:   "/",
1082	}
1083
1084	if input == nil {
1085		input = &DeleteConnectionInput{}
1086	}
1087
1088	output = &DeleteConnectionOutput{}
1089	req = c.newRequest(op, input, output)
1090	return
1091}
1092
1093// DeleteConnection API operation for Amazon CloudWatch Events.
1094//
1095// Deletes a connection.
1096//
1097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1098// with awserr.Error's Code and Message methods to get detailed information about
1099// the error.
1100//
1101// See the AWS API reference guide for Amazon CloudWatch Events's
1102// API operation DeleteConnection for usage and error information.
1103//
1104// Returned Error Types:
1105//   * ConcurrentModificationException
1106//   There is concurrent modification on a rule, target, archive, or replay.
1107//
1108//   * ResourceNotFoundException
1109//   An entity that you specified does not exist.
1110//
1111//   * InternalException
1112//   This exception occurs due to unexpected causes.
1113//
1114// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteConnection
1115func (c *CloudWatchEvents) DeleteConnection(input *DeleteConnectionInput) (*DeleteConnectionOutput, error) {
1116	req, out := c.DeleteConnectionRequest(input)
1117	return out, req.Send()
1118}
1119
1120// DeleteConnectionWithContext is the same as DeleteConnection with the addition of
1121// the ability to pass a context and additional request options.
1122//
1123// See DeleteConnection for details on how to use this API operation.
1124//
1125// The context must be non-nil and will be used for request cancellation. If
1126// the context is nil a panic will occur. In the future the SDK may create
1127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1128// for more information on using Contexts.
1129func (c *CloudWatchEvents) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*DeleteConnectionOutput, error) {
1130	req, out := c.DeleteConnectionRequest(input)
1131	req.SetContext(ctx)
1132	req.ApplyOptions(opts...)
1133	return out, req.Send()
1134}
1135
1136const opDeleteEventBus = "DeleteEventBus"
1137
1138// DeleteEventBusRequest generates a "aws/request.Request" representing the
1139// client's request for the DeleteEventBus operation. The "output" return
1140// value will be populated with the request's response once the request completes
1141// successfully.
1142//
1143// Use "Send" method on the returned Request to send the API call to the service.
1144// the "output" return value is not valid until after Send returns without error.
1145//
1146// See DeleteEventBus for more information on using the DeleteEventBus
1147// API call, and error handling.
1148//
1149// This method is useful when you want to inject custom logic or configuration
1150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1151//
1152//
1153//    // Example sending a request using the DeleteEventBusRequest method.
1154//    req, resp := client.DeleteEventBusRequest(params)
1155//
1156//    err := req.Send()
1157//    if err == nil { // resp is now filled
1158//        fmt.Println(resp)
1159//    }
1160//
1161// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteEventBus
1162func (c *CloudWatchEvents) DeleteEventBusRequest(input *DeleteEventBusInput) (req *request.Request, output *DeleteEventBusOutput) {
1163	op := &request.Operation{
1164		Name:       opDeleteEventBus,
1165		HTTPMethod: "POST",
1166		HTTPPath:   "/",
1167	}
1168
1169	if input == nil {
1170		input = &DeleteEventBusInput{}
1171	}
1172
1173	output = &DeleteEventBusOutput{}
1174	req = c.newRequest(op, input, output)
1175	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1176	return
1177}
1178
1179// DeleteEventBus API operation for Amazon CloudWatch Events.
1180//
1181// Deletes the specified custom event bus or partner event bus. All rules associated
1182// with this event bus need to be deleted. You can't delete your account's default
1183// event bus.
1184//
1185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1186// with awserr.Error's Code and Message methods to get detailed information about
1187// the error.
1188//
1189// See the AWS API reference guide for Amazon CloudWatch Events's
1190// API operation DeleteEventBus for usage and error information.
1191//
1192// Returned Error Types:
1193//   * InternalException
1194//   This exception occurs due to unexpected causes.
1195//
1196//   * ConcurrentModificationException
1197//   There is concurrent modification on a rule, target, archive, or replay.
1198//
1199// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteEventBus
1200func (c *CloudWatchEvents) DeleteEventBus(input *DeleteEventBusInput) (*DeleteEventBusOutput, error) {
1201	req, out := c.DeleteEventBusRequest(input)
1202	return out, req.Send()
1203}
1204
1205// DeleteEventBusWithContext is the same as DeleteEventBus with the addition of
1206// the ability to pass a context and additional request options.
1207//
1208// See DeleteEventBus for details on how to use this API operation.
1209//
1210// The context must be non-nil and will be used for request cancellation. If
1211// the context is nil a panic will occur. In the future the SDK may create
1212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1213// for more information on using Contexts.
1214func (c *CloudWatchEvents) DeleteEventBusWithContext(ctx aws.Context, input *DeleteEventBusInput, opts ...request.Option) (*DeleteEventBusOutput, error) {
1215	req, out := c.DeleteEventBusRequest(input)
1216	req.SetContext(ctx)
1217	req.ApplyOptions(opts...)
1218	return out, req.Send()
1219}
1220
1221const opDeletePartnerEventSource = "DeletePartnerEventSource"
1222
1223// DeletePartnerEventSourceRequest generates a "aws/request.Request" representing the
1224// client's request for the DeletePartnerEventSource operation. The "output" return
1225// value will be populated with the request's response once the request completes
1226// successfully.
1227//
1228// Use "Send" method on the returned Request to send the API call to the service.
1229// the "output" return value is not valid until after Send returns without error.
1230//
1231// See DeletePartnerEventSource for more information on using the DeletePartnerEventSource
1232// API call, and error handling.
1233//
1234// This method is useful when you want to inject custom logic or configuration
1235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1236//
1237//
1238//    // Example sending a request using the DeletePartnerEventSourceRequest method.
1239//    req, resp := client.DeletePartnerEventSourceRequest(params)
1240//
1241//    err := req.Send()
1242//    if err == nil { // resp is now filled
1243//        fmt.Println(resp)
1244//    }
1245//
1246// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeletePartnerEventSource
1247func (c *CloudWatchEvents) DeletePartnerEventSourceRequest(input *DeletePartnerEventSourceInput) (req *request.Request, output *DeletePartnerEventSourceOutput) {
1248	op := &request.Operation{
1249		Name:       opDeletePartnerEventSource,
1250		HTTPMethod: "POST",
1251		HTTPPath:   "/",
1252	}
1253
1254	if input == nil {
1255		input = &DeletePartnerEventSourceInput{}
1256	}
1257
1258	output = &DeletePartnerEventSourceOutput{}
1259	req = c.newRequest(op, input, output)
1260	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1261	return
1262}
1263
1264// DeletePartnerEventSource API operation for Amazon CloudWatch Events.
1265//
1266// This operation is used by SaaS partners to delete a partner event source.
1267// This operation is not used by Amazon Web Services customers.
1268//
1269// When you delete an event source, the status of the corresponding partner
1270// event bus in the Amazon Web Services customer account becomes DELETED.
1271//
1272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1273// with awserr.Error's Code and Message methods to get detailed information about
1274// the error.
1275//
1276// See the AWS API reference guide for Amazon CloudWatch Events's
1277// API operation DeletePartnerEventSource for usage and error information.
1278//
1279// Returned Error Types:
1280//   * InternalException
1281//   This exception occurs due to unexpected causes.
1282//
1283//   * ConcurrentModificationException
1284//   There is concurrent modification on a rule, target, archive, or replay.
1285//
1286//   * OperationDisabledException
1287//   The operation you are attempting is not available in this region.
1288//
1289// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeletePartnerEventSource
1290func (c *CloudWatchEvents) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) {
1291	req, out := c.DeletePartnerEventSourceRequest(input)
1292	return out, req.Send()
1293}
1294
1295// DeletePartnerEventSourceWithContext is the same as DeletePartnerEventSource with the addition of
1296// the ability to pass a context and additional request options.
1297//
1298// See DeletePartnerEventSource for details on how to use this API operation.
1299//
1300// The context must be non-nil and will be used for request cancellation. If
1301// the context is nil a panic will occur. In the future the SDK may create
1302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1303// for more information on using Contexts.
1304func (c *CloudWatchEvents) DeletePartnerEventSourceWithContext(ctx aws.Context, input *DeletePartnerEventSourceInput, opts ...request.Option) (*DeletePartnerEventSourceOutput, error) {
1305	req, out := c.DeletePartnerEventSourceRequest(input)
1306	req.SetContext(ctx)
1307	req.ApplyOptions(opts...)
1308	return out, req.Send()
1309}
1310
1311const opDeleteRule = "DeleteRule"
1312
1313// DeleteRuleRequest generates a "aws/request.Request" representing the
1314// client's request for the DeleteRule operation. The "output" return
1315// value will be populated with the request's response once the request completes
1316// successfully.
1317//
1318// Use "Send" method on the returned Request to send the API call to the service.
1319// the "output" return value is not valid until after Send returns without error.
1320//
1321// See DeleteRule for more information on using the DeleteRule
1322// API call, and error handling.
1323//
1324// This method is useful when you want to inject custom logic or configuration
1325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1326//
1327//
1328//    // Example sending a request using the DeleteRuleRequest method.
1329//    req, resp := client.DeleteRuleRequest(params)
1330//
1331//    err := req.Send()
1332//    if err == nil { // resp is now filled
1333//        fmt.Println(resp)
1334//    }
1335//
1336// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteRule
1337func (c *CloudWatchEvents) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
1338	op := &request.Operation{
1339		Name:       opDeleteRule,
1340		HTTPMethod: "POST",
1341		HTTPPath:   "/",
1342	}
1343
1344	if input == nil {
1345		input = &DeleteRuleInput{}
1346	}
1347
1348	output = &DeleteRuleOutput{}
1349	req = c.newRequest(op, input, output)
1350	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1351	return
1352}
1353
1354// DeleteRule API operation for Amazon CloudWatch Events.
1355//
1356// Deletes the specified rule.
1357//
1358// Before you can delete the rule, you must remove all targets, using RemoveTargets
1359// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemoveTargets.html).
1360//
1361// When you delete a rule, incoming events might continue to match to the deleted
1362// rule. Allow a short period of time for changes to take effect.
1363//
1364// If you call delete rule multiple times for the same rule, all calls will
1365// succeed. When you call delete rule for a non-existent custom eventbus, ResourceNotFoundException
1366// is returned.
1367//
1368// Managed rules are rules created and managed by another Amazon Web Services
1369// service on your behalf. These rules are created by those other Amazon Web
1370// Services services to support functionality in those services. You can delete
1371// these rules using the Force option, but you should do so only if you are
1372// sure the other service is not still using that rule.
1373//
1374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1375// with awserr.Error's Code and Message methods to get detailed information about
1376// the error.
1377//
1378// See the AWS API reference guide for Amazon CloudWatch Events's
1379// API operation DeleteRule for usage and error information.
1380//
1381// Returned Error Types:
1382//   * ConcurrentModificationException
1383//   There is concurrent modification on a rule, target, archive, or replay.
1384//
1385//   * ManagedRuleException
1386//   This rule was created by an Amazon Web Services service on behalf of your
1387//   account. It is managed by that service. If you see this error in response
1388//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
1389//   calls to delete the rule or remove targets from the rule. You cannot modify
1390//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
1391//   TagResource, or UntagResource.
1392//
1393//   * InternalException
1394//   This exception occurs due to unexpected causes.
1395//
1396//   * ResourceNotFoundException
1397//   An entity that you specified does not exist.
1398//
1399// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeleteRule
1400func (c *CloudWatchEvents) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
1401	req, out := c.DeleteRuleRequest(input)
1402	return out, req.Send()
1403}
1404
1405// DeleteRuleWithContext is the same as DeleteRule with the addition of
1406// the ability to pass a context and additional request options.
1407//
1408// See DeleteRule for details on how to use this API operation.
1409//
1410// The context must be non-nil and will be used for request cancellation. If
1411// the context is nil a panic will occur. In the future the SDK may create
1412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1413// for more information on using Contexts.
1414func (c *CloudWatchEvents) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) {
1415	req, out := c.DeleteRuleRequest(input)
1416	req.SetContext(ctx)
1417	req.ApplyOptions(opts...)
1418	return out, req.Send()
1419}
1420
1421const opDescribeApiDestination = "DescribeApiDestination"
1422
1423// DescribeApiDestinationRequest generates a "aws/request.Request" representing the
1424// client's request for the DescribeApiDestination operation. The "output" return
1425// value will be populated with the request's response once the request completes
1426// successfully.
1427//
1428// Use "Send" method on the returned Request to send the API call to the service.
1429// the "output" return value is not valid until after Send returns without error.
1430//
1431// See DescribeApiDestination for more information on using the DescribeApiDestination
1432// API call, and error handling.
1433//
1434// This method is useful when you want to inject custom logic or configuration
1435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1436//
1437//
1438//    // Example sending a request using the DescribeApiDestinationRequest method.
1439//    req, resp := client.DescribeApiDestinationRequest(params)
1440//
1441//    err := req.Send()
1442//    if err == nil { // resp is now filled
1443//        fmt.Println(resp)
1444//    }
1445//
1446// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeApiDestination
1447func (c *CloudWatchEvents) DescribeApiDestinationRequest(input *DescribeApiDestinationInput) (req *request.Request, output *DescribeApiDestinationOutput) {
1448	op := &request.Operation{
1449		Name:       opDescribeApiDestination,
1450		HTTPMethod: "POST",
1451		HTTPPath:   "/",
1452	}
1453
1454	if input == nil {
1455		input = &DescribeApiDestinationInput{}
1456	}
1457
1458	output = &DescribeApiDestinationOutput{}
1459	req = c.newRequest(op, input, output)
1460	return
1461}
1462
1463// DescribeApiDestination API operation for Amazon CloudWatch Events.
1464//
1465// Retrieves details about an API destination.
1466//
1467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1468// with awserr.Error's Code and Message methods to get detailed information about
1469// the error.
1470//
1471// See the AWS API reference guide for Amazon CloudWatch Events's
1472// API operation DescribeApiDestination for usage and error information.
1473//
1474// Returned Error Types:
1475//   * ResourceNotFoundException
1476//   An entity that you specified does not exist.
1477//
1478//   * InternalException
1479//   This exception occurs due to unexpected causes.
1480//
1481// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeApiDestination
1482func (c *CloudWatchEvents) DescribeApiDestination(input *DescribeApiDestinationInput) (*DescribeApiDestinationOutput, error) {
1483	req, out := c.DescribeApiDestinationRequest(input)
1484	return out, req.Send()
1485}
1486
1487// DescribeApiDestinationWithContext is the same as DescribeApiDestination with the addition of
1488// the ability to pass a context and additional request options.
1489//
1490// See DescribeApiDestination for details on how to use this API operation.
1491//
1492// The context must be non-nil and will be used for request cancellation. If
1493// the context is nil a panic will occur. In the future the SDK may create
1494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1495// for more information on using Contexts.
1496func (c *CloudWatchEvents) DescribeApiDestinationWithContext(ctx aws.Context, input *DescribeApiDestinationInput, opts ...request.Option) (*DescribeApiDestinationOutput, error) {
1497	req, out := c.DescribeApiDestinationRequest(input)
1498	req.SetContext(ctx)
1499	req.ApplyOptions(opts...)
1500	return out, req.Send()
1501}
1502
1503const opDescribeArchive = "DescribeArchive"
1504
1505// DescribeArchiveRequest generates a "aws/request.Request" representing the
1506// client's request for the DescribeArchive operation. The "output" return
1507// value will be populated with the request's response once the request completes
1508// successfully.
1509//
1510// Use "Send" method on the returned Request to send the API call to the service.
1511// the "output" return value is not valid until after Send returns without error.
1512//
1513// See DescribeArchive for more information on using the DescribeArchive
1514// API call, and error handling.
1515//
1516// This method is useful when you want to inject custom logic or configuration
1517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1518//
1519//
1520//    // Example sending a request using the DescribeArchiveRequest method.
1521//    req, resp := client.DescribeArchiveRequest(params)
1522//
1523//    err := req.Send()
1524//    if err == nil { // resp is now filled
1525//        fmt.Println(resp)
1526//    }
1527//
1528// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeArchive
1529func (c *CloudWatchEvents) DescribeArchiveRequest(input *DescribeArchiveInput) (req *request.Request, output *DescribeArchiveOutput) {
1530	op := &request.Operation{
1531		Name:       opDescribeArchive,
1532		HTTPMethod: "POST",
1533		HTTPPath:   "/",
1534	}
1535
1536	if input == nil {
1537		input = &DescribeArchiveInput{}
1538	}
1539
1540	output = &DescribeArchiveOutput{}
1541	req = c.newRequest(op, input, output)
1542	return
1543}
1544
1545// DescribeArchive API operation for Amazon CloudWatch Events.
1546//
1547// Retrieves details about an archive.
1548//
1549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1550// with awserr.Error's Code and Message methods to get detailed information about
1551// the error.
1552//
1553// See the AWS API reference guide for Amazon CloudWatch Events's
1554// API operation DescribeArchive for usage and error information.
1555//
1556// Returned Error Types:
1557//   * ResourceAlreadyExistsException
1558//   The resource you are trying to create already exists.
1559//
1560//   * ResourceNotFoundException
1561//   An entity that you specified does not exist.
1562//
1563//   * InternalException
1564//   This exception occurs due to unexpected causes.
1565//
1566// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeArchive
1567func (c *CloudWatchEvents) DescribeArchive(input *DescribeArchiveInput) (*DescribeArchiveOutput, error) {
1568	req, out := c.DescribeArchiveRequest(input)
1569	return out, req.Send()
1570}
1571
1572// DescribeArchiveWithContext is the same as DescribeArchive with the addition of
1573// the ability to pass a context and additional request options.
1574//
1575// See DescribeArchive for details on how to use this API operation.
1576//
1577// The context must be non-nil and will be used for request cancellation. If
1578// the context is nil a panic will occur. In the future the SDK may create
1579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1580// for more information on using Contexts.
1581func (c *CloudWatchEvents) DescribeArchiveWithContext(ctx aws.Context, input *DescribeArchiveInput, opts ...request.Option) (*DescribeArchiveOutput, error) {
1582	req, out := c.DescribeArchiveRequest(input)
1583	req.SetContext(ctx)
1584	req.ApplyOptions(opts...)
1585	return out, req.Send()
1586}
1587
1588const opDescribeConnection = "DescribeConnection"
1589
1590// DescribeConnectionRequest generates a "aws/request.Request" representing the
1591// client's request for the DescribeConnection operation. The "output" return
1592// value will be populated with the request's response once the request completes
1593// successfully.
1594//
1595// Use "Send" method on the returned Request to send the API call to the service.
1596// the "output" return value is not valid until after Send returns without error.
1597//
1598// See DescribeConnection for more information on using the DescribeConnection
1599// API call, and error handling.
1600//
1601// This method is useful when you want to inject custom logic or configuration
1602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1603//
1604//
1605//    // Example sending a request using the DescribeConnectionRequest method.
1606//    req, resp := client.DescribeConnectionRequest(params)
1607//
1608//    err := req.Send()
1609//    if err == nil { // resp is now filled
1610//        fmt.Println(resp)
1611//    }
1612//
1613// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeConnection
1614func (c *CloudWatchEvents) DescribeConnectionRequest(input *DescribeConnectionInput) (req *request.Request, output *DescribeConnectionOutput) {
1615	op := &request.Operation{
1616		Name:       opDescribeConnection,
1617		HTTPMethod: "POST",
1618		HTTPPath:   "/",
1619	}
1620
1621	if input == nil {
1622		input = &DescribeConnectionInput{}
1623	}
1624
1625	output = &DescribeConnectionOutput{}
1626	req = c.newRequest(op, input, output)
1627	return
1628}
1629
1630// DescribeConnection API operation for Amazon CloudWatch Events.
1631//
1632// Retrieves details about a connection.
1633//
1634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1635// with awserr.Error's Code and Message methods to get detailed information about
1636// the error.
1637//
1638// See the AWS API reference guide for Amazon CloudWatch Events's
1639// API operation DescribeConnection for usage and error information.
1640//
1641// Returned Error Types:
1642//   * ResourceNotFoundException
1643//   An entity that you specified does not exist.
1644//
1645//   * InternalException
1646//   This exception occurs due to unexpected causes.
1647//
1648// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeConnection
1649func (c *CloudWatchEvents) DescribeConnection(input *DescribeConnectionInput) (*DescribeConnectionOutput, error) {
1650	req, out := c.DescribeConnectionRequest(input)
1651	return out, req.Send()
1652}
1653
1654// DescribeConnectionWithContext is the same as DescribeConnection with the addition of
1655// the ability to pass a context and additional request options.
1656//
1657// See DescribeConnection for details on how to use this API operation.
1658//
1659// The context must be non-nil and will be used for request cancellation. If
1660// the context is nil a panic will occur. In the future the SDK may create
1661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1662// for more information on using Contexts.
1663func (c *CloudWatchEvents) DescribeConnectionWithContext(ctx aws.Context, input *DescribeConnectionInput, opts ...request.Option) (*DescribeConnectionOutput, error) {
1664	req, out := c.DescribeConnectionRequest(input)
1665	req.SetContext(ctx)
1666	req.ApplyOptions(opts...)
1667	return out, req.Send()
1668}
1669
1670const opDescribeEventBus = "DescribeEventBus"
1671
1672// DescribeEventBusRequest generates a "aws/request.Request" representing the
1673// client's request for the DescribeEventBus operation. The "output" return
1674// value will be populated with the request's response once the request completes
1675// successfully.
1676//
1677// Use "Send" method on the returned Request to send the API call to the service.
1678// the "output" return value is not valid until after Send returns without error.
1679//
1680// See DescribeEventBus for more information on using the DescribeEventBus
1681// API call, and error handling.
1682//
1683// This method is useful when you want to inject custom logic or configuration
1684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1685//
1686//
1687//    // Example sending a request using the DescribeEventBusRequest method.
1688//    req, resp := client.DescribeEventBusRequest(params)
1689//
1690//    err := req.Send()
1691//    if err == nil { // resp is now filled
1692//        fmt.Println(resp)
1693//    }
1694//
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventBus
1696func (c *CloudWatchEvents) DescribeEventBusRequest(input *DescribeEventBusInput) (req *request.Request, output *DescribeEventBusOutput) {
1697	op := &request.Operation{
1698		Name:       opDescribeEventBus,
1699		HTTPMethod: "POST",
1700		HTTPPath:   "/",
1701	}
1702
1703	if input == nil {
1704		input = &DescribeEventBusInput{}
1705	}
1706
1707	output = &DescribeEventBusOutput{}
1708	req = c.newRequest(op, input, output)
1709	return
1710}
1711
1712// DescribeEventBus API operation for Amazon CloudWatch Events.
1713//
1714// Displays details about an event bus in your account. This can include the
1715// external Amazon Web Services accounts that are permitted to write events
1716// to your default event bus, and the associated policy. For custom event buses
1717// and partner event buses, it displays the name, ARN, policy, state, and creation
1718// time.
1719//
1720// To enable your account to receive events from other accounts on its default
1721// event bus, use PutPermission (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html).
1722//
1723// For more information about partner event buses, see CreateEventBus (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateEventBus.html).
1724//
1725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1726// with awserr.Error's Code and Message methods to get detailed information about
1727// the error.
1728//
1729// See the AWS API reference guide for Amazon CloudWatch Events's
1730// API operation DescribeEventBus for usage and error information.
1731//
1732// Returned Error Types:
1733//   * ResourceNotFoundException
1734//   An entity that you specified does not exist.
1735//
1736//   * InternalException
1737//   This exception occurs due to unexpected causes.
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventBus
1740func (c *CloudWatchEvents) DescribeEventBus(input *DescribeEventBusInput) (*DescribeEventBusOutput, error) {
1741	req, out := c.DescribeEventBusRequest(input)
1742	return out, req.Send()
1743}
1744
1745// DescribeEventBusWithContext is the same as DescribeEventBus with the addition of
1746// the ability to pass a context and additional request options.
1747//
1748// See DescribeEventBus for details on how to use this API operation.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *CloudWatchEvents) DescribeEventBusWithContext(ctx aws.Context, input *DescribeEventBusInput, opts ...request.Option) (*DescribeEventBusOutput, error) {
1755	req, out := c.DescribeEventBusRequest(input)
1756	req.SetContext(ctx)
1757	req.ApplyOptions(opts...)
1758	return out, req.Send()
1759}
1760
1761const opDescribeEventSource = "DescribeEventSource"
1762
1763// DescribeEventSourceRequest generates a "aws/request.Request" representing the
1764// client's request for the DescribeEventSource operation. The "output" return
1765// value will be populated with the request's response once the request completes
1766// successfully.
1767//
1768// Use "Send" method on the returned Request to send the API call to the service.
1769// the "output" return value is not valid until after Send returns without error.
1770//
1771// See DescribeEventSource for more information on using the DescribeEventSource
1772// API call, and error handling.
1773//
1774// This method is useful when you want to inject custom logic or configuration
1775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1776//
1777//
1778//    // Example sending a request using the DescribeEventSourceRequest method.
1779//    req, resp := client.DescribeEventSourceRequest(params)
1780//
1781//    err := req.Send()
1782//    if err == nil { // resp is now filled
1783//        fmt.Println(resp)
1784//    }
1785//
1786// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventSource
1787func (c *CloudWatchEvents) DescribeEventSourceRequest(input *DescribeEventSourceInput) (req *request.Request, output *DescribeEventSourceOutput) {
1788	op := &request.Operation{
1789		Name:       opDescribeEventSource,
1790		HTTPMethod: "POST",
1791		HTTPPath:   "/",
1792	}
1793
1794	if input == nil {
1795		input = &DescribeEventSourceInput{}
1796	}
1797
1798	output = &DescribeEventSourceOutput{}
1799	req = c.newRequest(op, input, output)
1800	return
1801}
1802
1803// DescribeEventSource API operation for Amazon CloudWatch Events.
1804//
1805// This operation lists details about a partner event source that is shared
1806// with your account.
1807//
1808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1809// with awserr.Error's Code and Message methods to get detailed information about
1810// the error.
1811//
1812// See the AWS API reference guide for Amazon CloudWatch Events's
1813// API operation DescribeEventSource for usage and error information.
1814//
1815// Returned Error Types:
1816//   * ResourceNotFoundException
1817//   An entity that you specified does not exist.
1818//
1819//   * InternalException
1820//   This exception occurs due to unexpected causes.
1821//
1822//   * OperationDisabledException
1823//   The operation you are attempting is not available in this region.
1824//
1825// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventSource
1826func (c *CloudWatchEvents) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) {
1827	req, out := c.DescribeEventSourceRequest(input)
1828	return out, req.Send()
1829}
1830
1831// DescribeEventSourceWithContext is the same as DescribeEventSource with the addition of
1832// the ability to pass a context and additional request options.
1833//
1834// See DescribeEventSource for details on how to use this API operation.
1835//
1836// The context must be non-nil and will be used for request cancellation. If
1837// the context is nil a panic will occur. In the future the SDK may create
1838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1839// for more information on using Contexts.
1840func (c *CloudWatchEvents) DescribeEventSourceWithContext(ctx aws.Context, input *DescribeEventSourceInput, opts ...request.Option) (*DescribeEventSourceOutput, error) {
1841	req, out := c.DescribeEventSourceRequest(input)
1842	req.SetContext(ctx)
1843	req.ApplyOptions(opts...)
1844	return out, req.Send()
1845}
1846
1847const opDescribePartnerEventSource = "DescribePartnerEventSource"
1848
1849// DescribePartnerEventSourceRequest generates a "aws/request.Request" representing the
1850// client's request for the DescribePartnerEventSource operation. The "output" return
1851// value will be populated with the request's response once the request completes
1852// successfully.
1853//
1854// Use "Send" method on the returned Request to send the API call to the service.
1855// the "output" return value is not valid until after Send returns without error.
1856//
1857// See DescribePartnerEventSource for more information on using the DescribePartnerEventSource
1858// API call, and error handling.
1859//
1860// This method is useful when you want to inject custom logic or configuration
1861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1862//
1863//
1864//    // Example sending a request using the DescribePartnerEventSourceRequest method.
1865//    req, resp := client.DescribePartnerEventSourceRequest(params)
1866//
1867//    err := req.Send()
1868//    if err == nil { // resp is now filled
1869//        fmt.Println(resp)
1870//    }
1871//
1872// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribePartnerEventSource
1873func (c *CloudWatchEvents) DescribePartnerEventSourceRequest(input *DescribePartnerEventSourceInput) (req *request.Request, output *DescribePartnerEventSourceOutput) {
1874	op := &request.Operation{
1875		Name:       opDescribePartnerEventSource,
1876		HTTPMethod: "POST",
1877		HTTPPath:   "/",
1878	}
1879
1880	if input == nil {
1881		input = &DescribePartnerEventSourceInput{}
1882	}
1883
1884	output = &DescribePartnerEventSourceOutput{}
1885	req = c.newRequest(op, input, output)
1886	return
1887}
1888
1889// DescribePartnerEventSource API operation for Amazon CloudWatch Events.
1890//
1891// An SaaS partner can use this operation to list details about a partner event
1892// source that they have created. Amazon Web Services customers do not use this
1893// operation. Instead, Amazon Web Services customers can use DescribeEventSource
1894// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeEventSource.html)
1895// to see details about a partner event source that is shared with them.
1896//
1897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1898// with awserr.Error's Code and Message methods to get detailed information about
1899// the error.
1900//
1901// See the AWS API reference guide for Amazon CloudWatch Events's
1902// API operation DescribePartnerEventSource for usage and error information.
1903//
1904// Returned Error Types:
1905//   * ResourceNotFoundException
1906//   An entity that you specified does not exist.
1907//
1908//   * InternalException
1909//   This exception occurs due to unexpected causes.
1910//
1911//   * OperationDisabledException
1912//   The operation you are attempting is not available in this region.
1913//
1914// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribePartnerEventSource
1915func (c *CloudWatchEvents) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) {
1916	req, out := c.DescribePartnerEventSourceRequest(input)
1917	return out, req.Send()
1918}
1919
1920// DescribePartnerEventSourceWithContext is the same as DescribePartnerEventSource with the addition of
1921// the ability to pass a context and additional request options.
1922//
1923// See DescribePartnerEventSource for details on how to use this API operation.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *CloudWatchEvents) DescribePartnerEventSourceWithContext(ctx aws.Context, input *DescribePartnerEventSourceInput, opts ...request.Option) (*DescribePartnerEventSourceOutput, error) {
1930	req, out := c.DescribePartnerEventSourceRequest(input)
1931	req.SetContext(ctx)
1932	req.ApplyOptions(opts...)
1933	return out, req.Send()
1934}
1935
1936const opDescribeReplay = "DescribeReplay"
1937
1938// DescribeReplayRequest generates a "aws/request.Request" representing the
1939// client's request for the DescribeReplay operation. The "output" return
1940// value will be populated with the request's response once the request completes
1941// successfully.
1942//
1943// Use "Send" method on the returned Request to send the API call to the service.
1944// the "output" return value is not valid until after Send returns without error.
1945//
1946// See DescribeReplay for more information on using the DescribeReplay
1947// API call, and error handling.
1948//
1949// This method is useful when you want to inject custom logic or configuration
1950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1951//
1952//
1953//    // Example sending a request using the DescribeReplayRequest method.
1954//    req, resp := client.DescribeReplayRequest(params)
1955//
1956//    err := req.Send()
1957//    if err == nil { // resp is now filled
1958//        fmt.Println(resp)
1959//    }
1960//
1961// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeReplay
1962func (c *CloudWatchEvents) DescribeReplayRequest(input *DescribeReplayInput) (req *request.Request, output *DescribeReplayOutput) {
1963	op := &request.Operation{
1964		Name:       opDescribeReplay,
1965		HTTPMethod: "POST",
1966		HTTPPath:   "/",
1967	}
1968
1969	if input == nil {
1970		input = &DescribeReplayInput{}
1971	}
1972
1973	output = &DescribeReplayOutput{}
1974	req = c.newRequest(op, input, output)
1975	return
1976}
1977
1978// DescribeReplay API operation for Amazon CloudWatch Events.
1979//
1980// Retrieves details about a replay. Use DescribeReplay to determine the progress
1981// of a running replay. A replay processes events to replay based on the time
1982// in the event, and replays them using 1 minute intervals. If you use StartReplay
1983// and specify an EventStartTime and an EventEndTime that covers a 20 minute
1984// time range, the events are replayed from the first minute of that 20 minute
1985// range first. Then the events from the second minute are replayed. You can
1986// use DescribeReplay to determine the progress of a replay. The value returned
1987// for EventLastReplayedTime indicates the time within the specified time range
1988// associated with the last event replayed.
1989//
1990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1991// with awserr.Error's Code and Message methods to get detailed information about
1992// the error.
1993//
1994// See the AWS API reference guide for Amazon CloudWatch Events's
1995// API operation DescribeReplay for usage and error information.
1996//
1997// Returned Error Types:
1998//   * ResourceNotFoundException
1999//   An entity that you specified does not exist.
2000//
2001//   * InternalException
2002//   This exception occurs due to unexpected causes.
2003//
2004// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeReplay
2005func (c *CloudWatchEvents) DescribeReplay(input *DescribeReplayInput) (*DescribeReplayOutput, error) {
2006	req, out := c.DescribeReplayRequest(input)
2007	return out, req.Send()
2008}
2009
2010// DescribeReplayWithContext is the same as DescribeReplay with the addition of
2011// the ability to pass a context and additional request options.
2012//
2013// See DescribeReplay for details on how to use this API operation.
2014//
2015// The context must be non-nil and will be used for request cancellation. If
2016// the context is nil a panic will occur. In the future the SDK may create
2017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2018// for more information on using Contexts.
2019func (c *CloudWatchEvents) DescribeReplayWithContext(ctx aws.Context, input *DescribeReplayInput, opts ...request.Option) (*DescribeReplayOutput, error) {
2020	req, out := c.DescribeReplayRequest(input)
2021	req.SetContext(ctx)
2022	req.ApplyOptions(opts...)
2023	return out, req.Send()
2024}
2025
2026const opDescribeRule = "DescribeRule"
2027
2028// DescribeRuleRequest generates a "aws/request.Request" representing the
2029// client's request for the DescribeRule operation. The "output" return
2030// value will be populated with the request's response once the request completes
2031// successfully.
2032//
2033// Use "Send" method on the returned Request to send the API call to the service.
2034// the "output" return value is not valid until after Send returns without error.
2035//
2036// See DescribeRule for more information on using the DescribeRule
2037// API call, and error handling.
2038//
2039// This method is useful when you want to inject custom logic or configuration
2040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2041//
2042//
2043//    // Example sending a request using the DescribeRuleRequest method.
2044//    req, resp := client.DescribeRuleRequest(params)
2045//
2046//    err := req.Send()
2047//    if err == nil { // resp is now filled
2048//        fmt.Println(resp)
2049//    }
2050//
2051// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeRule
2052func (c *CloudWatchEvents) DescribeRuleRequest(input *DescribeRuleInput) (req *request.Request, output *DescribeRuleOutput) {
2053	op := &request.Operation{
2054		Name:       opDescribeRule,
2055		HTTPMethod: "POST",
2056		HTTPPath:   "/",
2057	}
2058
2059	if input == nil {
2060		input = &DescribeRuleInput{}
2061	}
2062
2063	output = &DescribeRuleOutput{}
2064	req = c.newRequest(op, input, output)
2065	return
2066}
2067
2068// DescribeRule API operation for Amazon CloudWatch Events.
2069//
2070// Describes the specified rule.
2071//
2072// DescribeRule does not list the targets of a rule. To see the targets associated
2073// with a rule, use ListTargetsByRule (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html).
2074//
2075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2076// with awserr.Error's Code and Message methods to get detailed information about
2077// the error.
2078//
2079// See the AWS API reference guide for Amazon CloudWatch Events's
2080// API operation DescribeRule for usage and error information.
2081//
2082// Returned Error Types:
2083//   * ResourceNotFoundException
2084//   An entity that you specified does not exist.
2085//
2086//   * InternalException
2087//   This exception occurs due to unexpected causes.
2088//
2089// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeRule
2090func (c *CloudWatchEvents) DescribeRule(input *DescribeRuleInput) (*DescribeRuleOutput, error) {
2091	req, out := c.DescribeRuleRequest(input)
2092	return out, req.Send()
2093}
2094
2095// DescribeRuleWithContext is the same as DescribeRule with the addition of
2096// the ability to pass a context and additional request options.
2097//
2098// See DescribeRule for details on how to use this API operation.
2099//
2100// The context must be non-nil and will be used for request cancellation. If
2101// the context is nil a panic will occur. In the future the SDK may create
2102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2103// for more information on using Contexts.
2104func (c *CloudWatchEvents) DescribeRuleWithContext(ctx aws.Context, input *DescribeRuleInput, opts ...request.Option) (*DescribeRuleOutput, error) {
2105	req, out := c.DescribeRuleRequest(input)
2106	req.SetContext(ctx)
2107	req.ApplyOptions(opts...)
2108	return out, req.Send()
2109}
2110
2111const opDisableRule = "DisableRule"
2112
2113// DisableRuleRequest generates a "aws/request.Request" representing the
2114// client's request for the DisableRule operation. The "output" return
2115// value will be populated with the request's response once the request completes
2116// successfully.
2117//
2118// Use "Send" method on the returned Request to send the API call to the service.
2119// the "output" return value is not valid until after Send returns without error.
2120//
2121// See DisableRule for more information on using the DisableRule
2122// API call, and error handling.
2123//
2124// This method is useful when you want to inject custom logic or configuration
2125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2126//
2127//
2128//    // Example sending a request using the DisableRuleRequest method.
2129//    req, resp := client.DisableRuleRequest(params)
2130//
2131//    err := req.Send()
2132//    if err == nil { // resp is now filled
2133//        fmt.Println(resp)
2134//    }
2135//
2136// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DisableRule
2137func (c *CloudWatchEvents) DisableRuleRequest(input *DisableRuleInput) (req *request.Request, output *DisableRuleOutput) {
2138	op := &request.Operation{
2139		Name:       opDisableRule,
2140		HTTPMethod: "POST",
2141		HTTPPath:   "/",
2142	}
2143
2144	if input == nil {
2145		input = &DisableRuleInput{}
2146	}
2147
2148	output = &DisableRuleOutput{}
2149	req = c.newRequest(op, input, output)
2150	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2151	return
2152}
2153
2154// DisableRule API operation for Amazon CloudWatch Events.
2155//
2156// Disables the specified rule. A disabled rule won't match any events, and
2157// won't self-trigger if it has a schedule expression.
2158//
2159// When you disable a rule, incoming events might continue to match to the disabled
2160// rule. Allow a short period of time for changes to take effect.
2161//
2162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2163// with awserr.Error's Code and Message methods to get detailed information about
2164// the error.
2165//
2166// See the AWS API reference guide for Amazon CloudWatch Events's
2167// API operation DisableRule for usage and error information.
2168//
2169// Returned Error Types:
2170//   * ResourceNotFoundException
2171//   An entity that you specified does not exist.
2172//
2173//   * ConcurrentModificationException
2174//   There is concurrent modification on a rule, target, archive, or replay.
2175//
2176//   * ManagedRuleException
2177//   This rule was created by an Amazon Web Services service on behalf of your
2178//   account. It is managed by that service. If you see this error in response
2179//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
2180//   calls to delete the rule or remove targets from the rule. You cannot modify
2181//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
2182//   TagResource, or UntagResource.
2183//
2184//   * InternalException
2185//   This exception occurs due to unexpected causes.
2186//
2187// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DisableRule
2188func (c *CloudWatchEvents) DisableRule(input *DisableRuleInput) (*DisableRuleOutput, error) {
2189	req, out := c.DisableRuleRequest(input)
2190	return out, req.Send()
2191}
2192
2193// DisableRuleWithContext is the same as DisableRule with the addition of
2194// the ability to pass a context and additional request options.
2195//
2196// See DisableRule for details on how to use this API operation.
2197//
2198// The context must be non-nil and will be used for request cancellation. If
2199// the context is nil a panic will occur. In the future the SDK may create
2200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2201// for more information on using Contexts.
2202func (c *CloudWatchEvents) DisableRuleWithContext(ctx aws.Context, input *DisableRuleInput, opts ...request.Option) (*DisableRuleOutput, error) {
2203	req, out := c.DisableRuleRequest(input)
2204	req.SetContext(ctx)
2205	req.ApplyOptions(opts...)
2206	return out, req.Send()
2207}
2208
2209const opEnableRule = "EnableRule"
2210
2211// EnableRuleRequest generates a "aws/request.Request" representing the
2212// client's request for the EnableRule operation. The "output" return
2213// value will be populated with the request's response once the request completes
2214// successfully.
2215//
2216// Use "Send" method on the returned Request to send the API call to the service.
2217// the "output" return value is not valid until after Send returns without error.
2218//
2219// See EnableRule for more information on using the EnableRule
2220// API call, and error handling.
2221//
2222// This method is useful when you want to inject custom logic or configuration
2223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2224//
2225//
2226//    // Example sending a request using the EnableRuleRequest method.
2227//    req, resp := client.EnableRuleRequest(params)
2228//
2229//    err := req.Send()
2230//    if err == nil { // resp is now filled
2231//        fmt.Println(resp)
2232//    }
2233//
2234// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/EnableRule
2235func (c *CloudWatchEvents) EnableRuleRequest(input *EnableRuleInput) (req *request.Request, output *EnableRuleOutput) {
2236	op := &request.Operation{
2237		Name:       opEnableRule,
2238		HTTPMethod: "POST",
2239		HTTPPath:   "/",
2240	}
2241
2242	if input == nil {
2243		input = &EnableRuleInput{}
2244	}
2245
2246	output = &EnableRuleOutput{}
2247	req = c.newRequest(op, input, output)
2248	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2249	return
2250}
2251
2252// EnableRule API operation for Amazon CloudWatch Events.
2253//
2254// Enables the specified rule. If the rule does not exist, the operation fails.
2255//
2256// When you enable a rule, incoming events might not immediately start matching
2257// to a newly enabled rule. Allow a short period of time for changes to take
2258// effect.
2259//
2260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2261// with awserr.Error's Code and Message methods to get detailed information about
2262// the error.
2263//
2264// See the AWS API reference guide for Amazon CloudWatch Events's
2265// API operation EnableRule for usage and error information.
2266//
2267// Returned Error Types:
2268//   * ResourceNotFoundException
2269//   An entity that you specified does not exist.
2270//
2271//   * ConcurrentModificationException
2272//   There is concurrent modification on a rule, target, archive, or replay.
2273//
2274//   * ManagedRuleException
2275//   This rule was created by an Amazon Web Services service on behalf of your
2276//   account. It is managed by that service. If you see this error in response
2277//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
2278//   calls to delete the rule or remove targets from the rule. You cannot modify
2279//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
2280//   TagResource, or UntagResource.
2281//
2282//   * InternalException
2283//   This exception occurs due to unexpected causes.
2284//
2285// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/EnableRule
2286func (c *CloudWatchEvents) EnableRule(input *EnableRuleInput) (*EnableRuleOutput, error) {
2287	req, out := c.EnableRuleRequest(input)
2288	return out, req.Send()
2289}
2290
2291// EnableRuleWithContext is the same as EnableRule with the addition of
2292// the ability to pass a context and additional request options.
2293//
2294// See EnableRule for details on how to use this API operation.
2295//
2296// The context must be non-nil and will be used for request cancellation. If
2297// the context is nil a panic will occur. In the future the SDK may create
2298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2299// for more information on using Contexts.
2300func (c *CloudWatchEvents) EnableRuleWithContext(ctx aws.Context, input *EnableRuleInput, opts ...request.Option) (*EnableRuleOutput, error) {
2301	req, out := c.EnableRuleRequest(input)
2302	req.SetContext(ctx)
2303	req.ApplyOptions(opts...)
2304	return out, req.Send()
2305}
2306
2307const opListApiDestinations = "ListApiDestinations"
2308
2309// ListApiDestinationsRequest generates a "aws/request.Request" representing the
2310// client's request for the ListApiDestinations operation. The "output" return
2311// value will be populated with the request's response once the request completes
2312// successfully.
2313//
2314// Use "Send" method on the returned Request to send the API call to the service.
2315// the "output" return value is not valid until after Send returns without error.
2316//
2317// See ListApiDestinations for more information on using the ListApiDestinations
2318// API call, and error handling.
2319//
2320// This method is useful when you want to inject custom logic or configuration
2321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2322//
2323//
2324//    // Example sending a request using the ListApiDestinationsRequest method.
2325//    req, resp := client.ListApiDestinationsRequest(params)
2326//
2327//    err := req.Send()
2328//    if err == nil { // resp is now filled
2329//        fmt.Println(resp)
2330//    }
2331//
2332// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListApiDestinations
2333func (c *CloudWatchEvents) ListApiDestinationsRequest(input *ListApiDestinationsInput) (req *request.Request, output *ListApiDestinationsOutput) {
2334	op := &request.Operation{
2335		Name:       opListApiDestinations,
2336		HTTPMethod: "POST",
2337		HTTPPath:   "/",
2338	}
2339
2340	if input == nil {
2341		input = &ListApiDestinationsInput{}
2342	}
2343
2344	output = &ListApiDestinationsOutput{}
2345	req = c.newRequest(op, input, output)
2346	return
2347}
2348
2349// ListApiDestinations API operation for Amazon CloudWatch Events.
2350//
2351// Retrieves a list of API destination in the account in the current Region.
2352//
2353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2354// with awserr.Error's Code and Message methods to get detailed information about
2355// the error.
2356//
2357// See the AWS API reference guide for Amazon CloudWatch Events's
2358// API operation ListApiDestinations for usage and error information.
2359//
2360// Returned Error Types:
2361//   * InternalException
2362//   This exception occurs due to unexpected causes.
2363//
2364// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListApiDestinations
2365func (c *CloudWatchEvents) ListApiDestinations(input *ListApiDestinationsInput) (*ListApiDestinationsOutput, error) {
2366	req, out := c.ListApiDestinationsRequest(input)
2367	return out, req.Send()
2368}
2369
2370// ListApiDestinationsWithContext is the same as ListApiDestinations with the addition of
2371// the ability to pass a context and additional request options.
2372//
2373// See ListApiDestinations for details on how to use this API operation.
2374//
2375// The context must be non-nil and will be used for request cancellation. If
2376// the context is nil a panic will occur. In the future the SDK may create
2377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2378// for more information on using Contexts.
2379func (c *CloudWatchEvents) ListApiDestinationsWithContext(ctx aws.Context, input *ListApiDestinationsInput, opts ...request.Option) (*ListApiDestinationsOutput, error) {
2380	req, out := c.ListApiDestinationsRequest(input)
2381	req.SetContext(ctx)
2382	req.ApplyOptions(opts...)
2383	return out, req.Send()
2384}
2385
2386const opListArchives = "ListArchives"
2387
2388// ListArchivesRequest generates a "aws/request.Request" representing the
2389// client's request for the ListArchives operation. The "output" return
2390// value will be populated with the request's response once the request completes
2391// successfully.
2392//
2393// Use "Send" method on the returned Request to send the API call to the service.
2394// the "output" return value is not valid until after Send returns without error.
2395//
2396// See ListArchives for more information on using the ListArchives
2397// API call, and error handling.
2398//
2399// This method is useful when you want to inject custom logic or configuration
2400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2401//
2402//
2403//    // Example sending a request using the ListArchivesRequest method.
2404//    req, resp := client.ListArchivesRequest(params)
2405//
2406//    err := req.Send()
2407//    if err == nil { // resp is now filled
2408//        fmt.Println(resp)
2409//    }
2410//
2411// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListArchives
2412func (c *CloudWatchEvents) ListArchivesRequest(input *ListArchivesInput) (req *request.Request, output *ListArchivesOutput) {
2413	op := &request.Operation{
2414		Name:       opListArchives,
2415		HTTPMethod: "POST",
2416		HTTPPath:   "/",
2417	}
2418
2419	if input == nil {
2420		input = &ListArchivesInput{}
2421	}
2422
2423	output = &ListArchivesOutput{}
2424	req = c.newRequest(op, input, output)
2425	return
2426}
2427
2428// ListArchives API operation for Amazon CloudWatch Events.
2429//
2430// Lists your archives. You can either list all the archives or you can provide
2431// a prefix to match to the archive names. Filter parameters are exclusive.
2432//
2433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2434// with awserr.Error's Code and Message methods to get detailed information about
2435// the error.
2436//
2437// See the AWS API reference guide for Amazon CloudWatch Events's
2438// API operation ListArchives for usage and error information.
2439//
2440// Returned Error Types:
2441//   * ResourceNotFoundException
2442//   An entity that you specified does not exist.
2443//
2444//   * InternalException
2445//   This exception occurs due to unexpected causes.
2446//
2447// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListArchives
2448func (c *CloudWatchEvents) ListArchives(input *ListArchivesInput) (*ListArchivesOutput, error) {
2449	req, out := c.ListArchivesRequest(input)
2450	return out, req.Send()
2451}
2452
2453// ListArchivesWithContext is the same as ListArchives with the addition of
2454// the ability to pass a context and additional request options.
2455//
2456// See ListArchives for details on how to use this API operation.
2457//
2458// The context must be non-nil and will be used for request cancellation. If
2459// the context is nil a panic will occur. In the future the SDK may create
2460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2461// for more information on using Contexts.
2462func (c *CloudWatchEvents) ListArchivesWithContext(ctx aws.Context, input *ListArchivesInput, opts ...request.Option) (*ListArchivesOutput, error) {
2463	req, out := c.ListArchivesRequest(input)
2464	req.SetContext(ctx)
2465	req.ApplyOptions(opts...)
2466	return out, req.Send()
2467}
2468
2469const opListConnections = "ListConnections"
2470
2471// ListConnectionsRequest generates a "aws/request.Request" representing the
2472// client's request for the ListConnections operation. The "output" return
2473// value will be populated with the request's response once the request completes
2474// successfully.
2475//
2476// Use "Send" method on the returned Request to send the API call to the service.
2477// the "output" return value is not valid until after Send returns without error.
2478//
2479// See ListConnections for more information on using the ListConnections
2480// API call, and error handling.
2481//
2482// This method is useful when you want to inject custom logic or configuration
2483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2484//
2485//
2486//    // Example sending a request using the ListConnectionsRequest method.
2487//    req, resp := client.ListConnectionsRequest(params)
2488//
2489//    err := req.Send()
2490//    if err == nil { // resp is now filled
2491//        fmt.Println(resp)
2492//    }
2493//
2494// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListConnections
2495func (c *CloudWatchEvents) ListConnectionsRequest(input *ListConnectionsInput) (req *request.Request, output *ListConnectionsOutput) {
2496	op := &request.Operation{
2497		Name:       opListConnections,
2498		HTTPMethod: "POST",
2499		HTTPPath:   "/",
2500	}
2501
2502	if input == nil {
2503		input = &ListConnectionsInput{}
2504	}
2505
2506	output = &ListConnectionsOutput{}
2507	req = c.newRequest(op, input, output)
2508	return
2509}
2510
2511// ListConnections API operation for Amazon CloudWatch Events.
2512//
2513// Retrieves a list of connections from the account.
2514//
2515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2516// with awserr.Error's Code and Message methods to get detailed information about
2517// the error.
2518//
2519// See the AWS API reference guide for Amazon CloudWatch Events's
2520// API operation ListConnections for usage and error information.
2521//
2522// Returned Error Types:
2523//   * InternalException
2524//   This exception occurs due to unexpected causes.
2525//
2526// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListConnections
2527func (c *CloudWatchEvents) ListConnections(input *ListConnectionsInput) (*ListConnectionsOutput, error) {
2528	req, out := c.ListConnectionsRequest(input)
2529	return out, req.Send()
2530}
2531
2532// ListConnectionsWithContext is the same as ListConnections with the addition of
2533// the ability to pass a context and additional request options.
2534//
2535// See ListConnections for details on how to use this API operation.
2536//
2537// The context must be non-nil and will be used for request cancellation. If
2538// the context is nil a panic will occur. In the future the SDK may create
2539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2540// for more information on using Contexts.
2541func (c *CloudWatchEvents) ListConnectionsWithContext(ctx aws.Context, input *ListConnectionsInput, opts ...request.Option) (*ListConnectionsOutput, error) {
2542	req, out := c.ListConnectionsRequest(input)
2543	req.SetContext(ctx)
2544	req.ApplyOptions(opts...)
2545	return out, req.Send()
2546}
2547
2548const opListEventBuses = "ListEventBuses"
2549
2550// ListEventBusesRequest generates a "aws/request.Request" representing the
2551// client's request for the ListEventBuses operation. The "output" return
2552// value will be populated with the request's response once the request completes
2553// successfully.
2554//
2555// Use "Send" method on the returned Request to send the API call to the service.
2556// the "output" return value is not valid until after Send returns without error.
2557//
2558// See ListEventBuses for more information on using the ListEventBuses
2559// API call, and error handling.
2560//
2561// This method is useful when you want to inject custom logic or configuration
2562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2563//
2564//
2565//    // Example sending a request using the ListEventBusesRequest method.
2566//    req, resp := client.ListEventBusesRequest(params)
2567//
2568//    err := req.Send()
2569//    if err == nil { // resp is now filled
2570//        fmt.Println(resp)
2571//    }
2572//
2573// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventBuses
2574func (c *CloudWatchEvents) ListEventBusesRequest(input *ListEventBusesInput) (req *request.Request, output *ListEventBusesOutput) {
2575	op := &request.Operation{
2576		Name:       opListEventBuses,
2577		HTTPMethod: "POST",
2578		HTTPPath:   "/",
2579	}
2580
2581	if input == nil {
2582		input = &ListEventBusesInput{}
2583	}
2584
2585	output = &ListEventBusesOutput{}
2586	req = c.newRequest(op, input, output)
2587	return
2588}
2589
2590// ListEventBuses API operation for Amazon CloudWatch Events.
2591//
2592// Lists all the event buses in your account, including the default event bus,
2593// custom event buses, and partner event buses.
2594//
2595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2596// with awserr.Error's Code and Message methods to get detailed information about
2597// the error.
2598//
2599// See the AWS API reference guide for Amazon CloudWatch Events's
2600// API operation ListEventBuses for usage and error information.
2601//
2602// Returned Error Types:
2603//   * InternalException
2604//   This exception occurs due to unexpected causes.
2605//
2606// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventBuses
2607func (c *CloudWatchEvents) ListEventBuses(input *ListEventBusesInput) (*ListEventBusesOutput, error) {
2608	req, out := c.ListEventBusesRequest(input)
2609	return out, req.Send()
2610}
2611
2612// ListEventBusesWithContext is the same as ListEventBuses with the addition of
2613// the ability to pass a context and additional request options.
2614//
2615// See ListEventBuses for details on how to use this API operation.
2616//
2617// The context must be non-nil and will be used for request cancellation. If
2618// the context is nil a panic will occur. In the future the SDK may create
2619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2620// for more information on using Contexts.
2621func (c *CloudWatchEvents) ListEventBusesWithContext(ctx aws.Context, input *ListEventBusesInput, opts ...request.Option) (*ListEventBusesOutput, error) {
2622	req, out := c.ListEventBusesRequest(input)
2623	req.SetContext(ctx)
2624	req.ApplyOptions(opts...)
2625	return out, req.Send()
2626}
2627
2628const opListEventSources = "ListEventSources"
2629
2630// ListEventSourcesRequest generates a "aws/request.Request" representing the
2631// client's request for the ListEventSources operation. The "output" return
2632// value will be populated with the request's response once the request completes
2633// successfully.
2634//
2635// Use "Send" method on the returned Request to send the API call to the service.
2636// the "output" return value is not valid until after Send returns without error.
2637//
2638// See ListEventSources for more information on using the ListEventSources
2639// API call, and error handling.
2640//
2641// This method is useful when you want to inject custom logic or configuration
2642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2643//
2644//
2645//    // Example sending a request using the ListEventSourcesRequest method.
2646//    req, resp := client.ListEventSourcesRequest(params)
2647//
2648//    err := req.Send()
2649//    if err == nil { // resp is now filled
2650//        fmt.Println(resp)
2651//    }
2652//
2653// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventSources
2654func (c *CloudWatchEvents) ListEventSourcesRequest(input *ListEventSourcesInput) (req *request.Request, output *ListEventSourcesOutput) {
2655	op := &request.Operation{
2656		Name:       opListEventSources,
2657		HTTPMethod: "POST",
2658		HTTPPath:   "/",
2659	}
2660
2661	if input == nil {
2662		input = &ListEventSourcesInput{}
2663	}
2664
2665	output = &ListEventSourcesOutput{}
2666	req = c.newRequest(op, input, output)
2667	return
2668}
2669
2670// ListEventSources API operation for Amazon CloudWatch Events.
2671//
2672// You can use this to see all the partner event sources that have been shared
2673// with your Amazon Web Services account. For more information about partner
2674// event sources, see CreateEventBus (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateEventBus.html).
2675//
2676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2677// with awserr.Error's Code and Message methods to get detailed information about
2678// the error.
2679//
2680// See the AWS API reference guide for Amazon CloudWatch Events's
2681// API operation ListEventSources for usage and error information.
2682//
2683// Returned Error Types:
2684//   * InternalException
2685//   This exception occurs due to unexpected causes.
2686//
2687//   * OperationDisabledException
2688//   The operation you are attempting is not available in this region.
2689//
2690// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventSources
2691func (c *CloudWatchEvents) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) {
2692	req, out := c.ListEventSourcesRequest(input)
2693	return out, req.Send()
2694}
2695
2696// ListEventSourcesWithContext is the same as ListEventSources with the addition of
2697// the ability to pass a context and additional request options.
2698//
2699// See ListEventSources for details on how to use this API operation.
2700//
2701// The context must be non-nil and will be used for request cancellation. If
2702// the context is nil a panic will occur. In the future the SDK may create
2703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2704// for more information on using Contexts.
2705func (c *CloudWatchEvents) ListEventSourcesWithContext(ctx aws.Context, input *ListEventSourcesInput, opts ...request.Option) (*ListEventSourcesOutput, error) {
2706	req, out := c.ListEventSourcesRequest(input)
2707	req.SetContext(ctx)
2708	req.ApplyOptions(opts...)
2709	return out, req.Send()
2710}
2711
2712const opListPartnerEventSourceAccounts = "ListPartnerEventSourceAccounts"
2713
2714// ListPartnerEventSourceAccountsRequest generates a "aws/request.Request" representing the
2715// client's request for the ListPartnerEventSourceAccounts operation. The "output" return
2716// value will be populated with the request's response once the request completes
2717// successfully.
2718//
2719// Use "Send" method on the returned Request to send the API call to the service.
2720// the "output" return value is not valid until after Send returns without error.
2721//
2722// See ListPartnerEventSourceAccounts for more information on using the ListPartnerEventSourceAccounts
2723// API call, and error handling.
2724//
2725// This method is useful when you want to inject custom logic or configuration
2726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2727//
2728//
2729//    // Example sending a request using the ListPartnerEventSourceAccountsRequest method.
2730//    req, resp := client.ListPartnerEventSourceAccountsRequest(params)
2731//
2732//    err := req.Send()
2733//    if err == nil { // resp is now filled
2734//        fmt.Println(resp)
2735//    }
2736//
2737// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSourceAccounts
2738func (c *CloudWatchEvents) ListPartnerEventSourceAccountsRequest(input *ListPartnerEventSourceAccountsInput) (req *request.Request, output *ListPartnerEventSourceAccountsOutput) {
2739	op := &request.Operation{
2740		Name:       opListPartnerEventSourceAccounts,
2741		HTTPMethod: "POST",
2742		HTTPPath:   "/",
2743	}
2744
2745	if input == nil {
2746		input = &ListPartnerEventSourceAccountsInput{}
2747	}
2748
2749	output = &ListPartnerEventSourceAccountsOutput{}
2750	req = c.newRequest(op, input, output)
2751	return
2752}
2753
2754// ListPartnerEventSourceAccounts API operation for Amazon CloudWatch Events.
2755//
2756// An SaaS partner can use this operation to display the Amazon Web Services
2757// account ID that a particular partner event source name is associated with.
2758// This operation is not used by Amazon Web Services customers.
2759//
2760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2761// with awserr.Error's Code and Message methods to get detailed information about
2762// the error.
2763//
2764// See the AWS API reference guide for Amazon CloudWatch Events's
2765// API operation ListPartnerEventSourceAccounts for usage and error information.
2766//
2767// Returned Error Types:
2768//   * ResourceNotFoundException
2769//   An entity that you specified does not exist.
2770//
2771//   * InternalException
2772//   This exception occurs due to unexpected causes.
2773//
2774//   * OperationDisabledException
2775//   The operation you are attempting is not available in this region.
2776//
2777// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSourceAccounts
2778func (c *CloudWatchEvents) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) {
2779	req, out := c.ListPartnerEventSourceAccountsRequest(input)
2780	return out, req.Send()
2781}
2782
2783// ListPartnerEventSourceAccountsWithContext is the same as ListPartnerEventSourceAccounts with the addition of
2784// the ability to pass a context and additional request options.
2785//
2786// See ListPartnerEventSourceAccounts for details on how to use this API operation.
2787//
2788// The context must be non-nil and will be used for request cancellation. If
2789// the context is nil a panic will occur. In the future the SDK may create
2790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2791// for more information on using Contexts.
2792func (c *CloudWatchEvents) ListPartnerEventSourceAccountsWithContext(ctx aws.Context, input *ListPartnerEventSourceAccountsInput, opts ...request.Option) (*ListPartnerEventSourceAccountsOutput, error) {
2793	req, out := c.ListPartnerEventSourceAccountsRequest(input)
2794	req.SetContext(ctx)
2795	req.ApplyOptions(opts...)
2796	return out, req.Send()
2797}
2798
2799const opListPartnerEventSources = "ListPartnerEventSources"
2800
2801// ListPartnerEventSourcesRequest generates a "aws/request.Request" representing the
2802// client's request for the ListPartnerEventSources operation. The "output" return
2803// value will be populated with the request's response once the request completes
2804// successfully.
2805//
2806// Use "Send" method on the returned Request to send the API call to the service.
2807// the "output" return value is not valid until after Send returns without error.
2808//
2809// See ListPartnerEventSources for more information on using the ListPartnerEventSources
2810// API call, and error handling.
2811//
2812// This method is useful when you want to inject custom logic or configuration
2813// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2814//
2815//
2816//    // Example sending a request using the ListPartnerEventSourcesRequest method.
2817//    req, resp := client.ListPartnerEventSourcesRequest(params)
2818//
2819//    err := req.Send()
2820//    if err == nil { // resp is now filled
2821//        fmt.Println(resp)
2822//    }
2823//
2824// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSources
2825func (c *CloudWatchEvents) ListPartnerEventSourcesRequest(input *ListPartnerEventSourcesInput) (req *request.Request, output *ListPartnerEventSourcesOutput) {
2826	op := &request.Operation{
2827		Name:       opListPartnerEventSources,
2828		HTTPMethod: "POST",
2829		HTTPPath:   "/",
2830	}
2831
2832	if input == nil {
2833		input = &ListPartnerEventSourcesInput{}
2834	}
2835
2836	output = &ListPartnerEventSourcesOutput{}
2837	req = c.newRequest(op, input, output)
2838	return
2839}
2840
2841// ListPartnerEventSources API operation for Amazon CloudWatch Events.
2842//
2843// An SaaS partner can use this operation to list all the partner event source
2844// names that they have created. This operation is not used by Amazon Web Services
2845// customers.
2846//
2847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2848// with awserr.Error's Code and Message methods to get detailed information about
2849// the error.
2850//
2851// See the AWS API reference guide for Amazon CloudWatch Events's
2852// API operation ListPartnerEventSources for usage and error information.
2853//
2854// Returned Error Types:
2855//   * InternalException
2856//   This exception occurs due to unexpected causes.
2857//
2858//   * OperationDisabledException
2859//   The operation you are attempting is not available in this region.
2860//
2861// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSources
2862func (c *CloudWatchEvents) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) {
2863	req, out := c.ListPartnerEventSourcesRequest(input)
2864	return out, req.Send()
2865}
2866
2867// ListPartnerEventSourcesWithContext is the same as ListPartnerEventSources with the addition of
2868// the ability to pass a context and additional request options.
2869//
2870// See ListPartnerEventSources for details on how to use this API operation.
2871//
2872// The context must be non-nil and will be used for request cancellation. If
2873// the context is nil a panic will occur. In the future the SDK may create
2874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2875// for more information on using Contexts.
2876func (c *CloudWatchEvents) ListPartnerEventSourcesWithContext(ctx aws.Context, input *ListPartnerEventSourcesInput, opts ...request.Option) (*ListPartnerEventSourcesOutput, error) {
2877	req, out := c.ListPartnerEventSourcesRequest(input)
2878	req.SetContext(ctx)
2879	req.ApplyOptions(opts...)
2880	return out, req.Send()
2881}
2882
2883const opListReplays = "ListReplays"
2884
2885// ListReplaysRequest generates a "aws/request.Request" representing the
2886// client's request for the ListReplays operation. The "output" return
2887// value will be populated with the request's response once the request completes
2888// successfully.
2889//
2890// Use "Send" method on the returned Request to send the API call to the service.
2891// the "output" return value is not valid until after Send returns without error.
2892//
2893// See ListReplays for more information on using the ListReplays
2894// API call, and error handling.
2895//
2896// This method is useful when you want to inject custom logic or configuration
2897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2898//
2899//
2900//    // Example sending a request using the ListReplaysRequest method.
2901//    req, resp := client.ListReplaysRequest(params)
2902//
2903//    err := req.Send()
2904//    if err == nil { // resp is now filled
2905//        fmt.Println(resp)
2906//    }
2907//
2908// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListReplays
2909func (c *CloudWatchEvents) ListReplaysRequest(input *ListReplaysInput) (req *request.Request, output *ListReplaysOutput) {
2910	op := &request.Operation{
2911		Name:       opListReplays,
2912		HTTPMethod: "POST",
2913		HTTPPath:   "/",
2914	}
2915
2916	if input == nil {
2917		input = &ListReplaysInput{}
2918	}
2919
2920	output = &ListReplaysOutput{}
2921	req = c.newRequest(op, input, output)
2922	return
2923}
2924
2925// ListReplays API operation for Amazon CloudWatch Events.
2926//
2927// Lists your replays. You can either list all the replays or you can provide
2928// a prefix to match to the replay names. Filter parameters are exclusive.
2929//
2930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2931// with awserr.Error's Code and Message methods to get detailed information about
2932// the error.
2933//
2934// See the AWS API reference guide for Amazon CloudWatch Events's
2935// API operation ListReplays for usage and error information.
2936//
2937// Returned Error Types:
2938//   * InternalException
2939//   This exception occurs due to unexpected causes.
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListReplays
2942func (c *CloudWatchEvents) ListReplays(input *ListReplaysInput) (*ListReplaysOutput, error) {
2943	req, out := c.ListReplaysRequest(input)
2944	return out, req.Send()
2945}
2946
2947// ListReplaysWithContext is the same as ListReplays with the addition of
2948// the ability to pass a context and additional request options.
2949//
2950// See ListReplays for details on how to use this API operation.
2951//
2952// The context must be non-nil and will be used for request cancellation. If
2953// the context is nil a panic will occur. In the future the SDK may create
2954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2955// for more information on using Contexts.
2956func (c *CloudWatchEvents) ListReplaysWithContext(ctx aws.Context, input *ListReplaysInput, opts ...request.Option) (*ListReplaysOutput, error) {
2957	req, out := c.ListReplaysRequest(input)
2958	req.SetContext(ctx)
2959	req.ApplyOptions(opts...)
2960	return out, req.Send()
2961}
2962
2963const opListRuleNamesByTarget = "ListRuleNamesByTarget"
2964
2965// ListRuleNamesByTargetRequest generates a "aws/request.Request" representing the
2966// client's request for the ListRuleNamesByTarget operation. The "output" return
2967// value will be populated with the request's response once the request completes
2968// successfully.
2969//
2970// Use "Send" method on the returned Request to send the API call to the service.
2971// the "output" return value is not valid until after Send returns without error.
2972//
2973// See ListRuleNamesByTarget for more information on using the ListRuleNamesByTarget
2974// API call, and error handling.
2975//
2976// This method is useful when you want to inject custom logic or configuration
2977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2978//
2979//
2980//    // Example sending a request using the ListRuleNamesByTargetRequest method.
2981//    req, resp := client.ListRuleNamesByTargetRequest(params)
2982//
2983//    err := req.Send()
2984//    if err == nil { // resp is now filled
2985//        fmt.Println(resp)
2986//    }
2987//
2988// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListRuleNamesByTarget
2989func (c *CloudWatchEvents) ListRuleNamesByTargetRequest(input *ListRuleNamesByTargetInput) (req *request.Request, output *ListRuleNamesByTargetOutput) {
2990	op := &request.Operation{
2991		Name:       opListRuleNamesByTarget,
2992		HTTPMethod: "POST",
2993		HTTPPath:   "/",
2994	}
2995
2996	if input == nil {
2997		input = &ListRuleNamesByTargetInput{}
2998	}
2999
3000	output = &ListRuleNamesByTargetOutput{}
3001	req = c.newRequest(op, input, output)
3002	return
3003}
3004
3005// ListRuleNamesByTarget API operation for Amazon CloudWatch Events.
3006//
3007// Lists the rules for the specified target. You can see which of the rules
3008// in Amazon EventBridge can invoke a specific target in your account.
3009//
3010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3011// with awserr.Error's Code and Message methods to get detailed information about
3012// the error.
3013//
3014// See the AWS API reference guide for Amazon CloudWatch Events's
3015// API operation ListRuleNamesByTarget for usage and error information.
3016//
3017// Returned Error Types:
3018//   * InternalException
3019//   This exception occurs due to unexpected causes.
3020//
3021//   * ResourceNotFoundException
3022//   An entity that you specified does not exist.
3023//
3024// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListRuleNamesByTarget
3025func (c *CloudWatchEvents) ListRuleNamesByTarget(input *ListRuleNamesByTargetInput) (*ListRuleNamesByTargetOutput, error) {
3026	req, out := c.ListRuleNamesByTargetRequest(input)
3027	return out, req.Send()
3028}
3029
3030// ListRuleNamesByTargetWithContext is the same as ListRuleNamesByTarget with the addition of
3031// the ability to pass a context and additional request options.
3032//
3033// See ListRuleNamesByTarget for details on how to use this API operation.
3034//
3035// The context must be non-nil and will be used for request cancellation. If
3036// the context is nil a panic will occur. In the future the SDK may create
3037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3038// for more information on using Contexts.
3039func (c *CloudWatchEvents) ListRuleNamesByTargetWithContext(ctx aws.Context, input *ListRuleNamesByTargetInput, opts ...request.Option) (*ListRuleNamesByTargetOutput, error) {
3040	req, out := c.ListRuleNamesByTargetRequest(input)
3041	req.SetContext(ctx)
3042	req.ApplyOptions(opts...)
3043	return out, req.Send()
3044}
3045
3046const opListRules = "ListRules"
3047
3048// ListRulesRequest generates a "aws/request.Request" representing the
3049// client's request for the ListRules operation. The "output" return
3050// value will be populated with the request's response once the request completes
3051// successfully.
3052//
3053// Use "Send" method on the returned Request to send the API call to the service.
3054// the "output" return value is not valid until after Send returns without error.
3055//
3056// See ListRules for more information on using the ListRules
3057// API call, and error handling.
3058//
3059// This method is useful when you want to inject custom logic or configuration
3060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3061//
3062//
3063//    // Example sending a request using the ListRulesRequest method.
3064//    req, resp := client.ListRulesRequest(params)
3065//
3066//    err := req.Send()
3067//    if err == nil { // resp is now filled
3068//        fmt.Println(resp)
3069//    }
3070//
3071// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListRules
3072func (c *CloudWatchEvents) ListRulesRequest(input *ListRulesInput) (req *request.Request, output *ListRulesOutput) {
3073	op := &request.Operation{
3074		Name:       opListRules,
3075		HTTPMethod: "POST",
3076		HTTPPath:   "/",
3077	}
3078
3079	if input == nil {
3080		input = &ListRulesInput{}
3081	}
3082
3083	output = &ListRulesOutput{}
3084	req = c.newRequest(op, input, output)
3085	return
3086}
3087
3088// ListRules API operation for Amazon CloudWatch Events.
3089//
3090// Lists your Amazon EventBridge rules. You can either list all the rules or
3091// you can provide a prefix to match to the rule names.
3092//
3093// ListRules does not list the targets of a rule. To see the targets associated
3094// with a rule, use ListTargetsByRule (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html).
3095//
3096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3097// with awserr.Error's Code and Message methods to get detailed information about
3098// the error.
3099//
3100// See the AWS API reference guide for Amazon CloudWatch Events's
3101// API operation ListRules for usage and error information.
3102//
3103// Returned Error Types:
3104//   * InternalException
3105//   This exception occurs due to unexpected causes.
3106//
3107//   * ResourceNotFoundException
3108//   An entity that you specified does not exist.
3109//
3110// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListRules
3111func (c *CloudWatchEvents) ListRules(input *ListRulesInput) (*ListRulesOutput, error) {
3112	req, out := c.ListRulesRequest(input)
3113	return out, req.Send()
3114}
3115
3116// ListRulesWithContext is the same as ListRules with the addition of
3117// the ability to pass a context and additional request options.
3118//
3119// See ListRules for details on how to use this API operation.
3120//
3121// The context must be non-nil and will be used for request cancellation. If
3122// the context is nil a panic will occur. In the future the SDK may create
3123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3124// for more information on using Contexts.
3125func (c *CloudWatchEvents) ListRulesWithContext(ctx aws.Context, input *ListRulesInput, opts ...request.Option) (*ListRulesOutput, error) {
3126	req, out := c.ListRulesRequest(input)
3127	req.SetContext(ctx)
3128	req.ApplyOptions(opts...)
3129	return out, req.Send()
3130}
3131
3132const opListTagsForResource = "ListTagsForResource"
3133
3134// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3135// client's request for the ListTagsForResource operation. The "output" return
3136// value will be populated with the request's response once the request completes
3137// successfully.
3138//
3139// Use "Send" method on the returned Request to send the API call to the service.
3140// the "output" return value is not valid until after Send returns without error.
3141//
3142// See ListTagsForResource for more information on using the ListTagsForResource
3143// API call, and error handling.
3144//
3145// This method is useful when you want to inject custom logic or configuration
3146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3147//
3148//
3149//    // Example sending a request using the ListTagsForResourceRequest method.
3150//    req, resp := client.ListTagsForResourceRequest(params)
3151//
3152//    err := req.Send()
3153//    if err == nil { // resp is now filled
3154//        fmt.Println(resp)
3155//    }
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListTagsForResource
3158func (c *CloudWatchEvents) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3159	op := &request.Operation{
3160		Name:       opListTagsForResource,
3161		HTTPMethod: "POST",
3162		HTTPPath:   "/",
3163	}
3164
3165	if input == nil {
3166		input = &ListTagsForResourceInput{}
3167	}
3168
3169	output = &ListTagsForResourceOutput{}
3170	req = c.newRequest(op, input, output)
3171	return
3172}
3173
3174// ListTagsForResource API operation for Amazon CloudWatch Events.
3175//
3176// Displays the tags associated with an EventBridge resource. In EventBridge,
3177// rules and event buses can be tagged.
3178//
3179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3180// with awserr.Error's Code and Message methods to get detailed information about
3181// the error.
3182//
3183// See the AWS API reference guide for Amazon CloudWatch Events's
3184// API operation ListTagsForResource for usage and error information.
3185//
3186// Returned Error Types:
3187//   * ResourceNotFoundException
3188//   An entity that you specified does not exist.
3189//
3190//   * InternalException
3191//   This exception occurs due to unexpected causes.
3192//
3193// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListTagsForResource
3194func (c *CloudWatchEvents) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3195	req, out := c.ListTagsForResourceRequest(input)
3196	return out, req.Send()
3197}
3198
3199// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3200// the ability to pass a context and additional request options.
3201//
3202// See ListTagsForResource for details on how to use this API operation.
3203//
3204// The context must be non-nil and will be used for request cancellation. If
3205// the context is nil a panic will occur. In the future the SDK may create
3206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3207// for more information on using Contexts.
3208func (c *CloudWatchEvents) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3209	req, out := c.ListTagsForResourceRequest(input)
3210	req.SetContext(ctx)
3211	req.ApplyOptions(opts...)
3212	return out, req.Send()
3213}
3214
3215const opListTargetsByRule = "ListTargetsByRule"
3216
3217// ListTargetsByRuleRequest generates a "aws/request.Request" representing the
3218// client's request for the ListTargetsByRule operation. The "output" return
3219// value will be populated with the request's response once the request completes
3220// successfully.
3221//
3222// Use "Send" method on the returned Request to send the API call to the service.
3223// the "output" return value is not valid until after Send returns without error.
3224//
3225// See ListTargetsByRule for more information on using the ListTargetsByRule
3226// API call, and error handling.
3227//
3228// This method is useful when you want to inject custom logic or configuration
3229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3230//
3231//
3232//    // Example sending a request using the ListTargetsByRuleRequest method.
3233//    req, resp := client.ListTargetsByRuleRequest(params)
3234//
3235//    err := req.Send()
3236//    if err == nil { // resp is now filled
3237//        fmt.Println(resp)
3238//    }
3239//
3240// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListTargetsByRule
3241func (c *CloudWatchEvents) ListTargetsByRuleRequest(input *ListTargetsByRuleInput) (req *request.Request, output *ListTargetsByRuleOutput) {
3242	op := &request.Operation{
3243		Name:       opListTargetsByRule,
3244		HTTPMethod: "POST",
3245		HTTPPath:   "/",
3246	}
3247
3248	if input == nil {
3249		input = &ListTargetsByRuleInput{}
3250	}
3251
3252	output = &ListTargetsByRuleOutput{}
3253	req = c.newRequest(op, input, output)
3254	return
3255}
3256
3257// ListTargetsByRule API operation for Amazon CloudWatch Events.
3258//
3259// Lists the targets assigned to the specified rule.
3260//
3261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3262// with awserr.Error's Code and Message methods to get detailed information about
3263// the error.
3264//
3265// See the AWS API reference guide for Amazon CloudWatch Events's
3266// API operation ListTargetsByRule for usage and error information.
3267//
3268// Returned Error Types:
3269//   * ResourceNotFoundException
3270//   An entity that you specified does not exist.
3271//
3272//   * InternalException
3273//   This exception occurs due to unexpected causes.
3274//
3275// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListTargetsByRule
3276func (c *CloudWatchEvents) ListTargetsByRule(input *ListTargetsByRuleInput) (*ListTargetsByRuleOutput, error) {
3277	req, out := c.ListTargetsByRuleRequest(input)
3278	return out, req.Send()
3279}
3280
3281// ListTargetsByRuleWithContext is the same as ListTargetsByRule with the addition of
3282// the ability to pass a context and additional request options.
3283//
3284// See ListTargetsByRule for details on how to use this API operation.
3285//
3286// The context must be non-nil and will be used for request cancellation. If
3287// the context is nil a panic will occur. In the future the SDK may create
3288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3289// for more information on using Contexts.
3290func (c *CloudWatchEvents) ListTargetsByRuleWithContext(ctx aws.Context, input *ListTargetsByRuleInput, opts ...request.Option) (*ListTargetsByRuleOutput, error) {
3291	req, out := c.ListTargetsByRuleRequest(input)
3292	req.SetContext(ctx)
3293	req.ApplyOptions(opts...)
3294	return out, req.Send()
3295}
3296
3297const opPutEvents = "PutEvents"
3298
3299// PutEventsRequest generates a "aws/request.Request" representing the
3300// client's request for the PutEvents operation. The "output" return
3301// value will be populated with the request's response once the request completes
3302// successfully.
3303//
3304// Use "Send" method on the returned Request to send the API call to the service.
3305// the "output" return value is not valid until after Send returns without error.
3306//
3307// See PutEvents for more information on using the PutEvents
3308// API call, and error handling.
3309//
3310// This method is useful when you want to inject custom logic or configuration
3311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3312//
3313//
3314//    // Example sending a request using the PutEventsRequest method.
3315//    req, resp := client.PutEventsRequest(params)
3316//
3317//    err := req.Send()
3318//    if err == nil { // resp is now filled
3319//        fmt.Println(resp)
3320//    }
3321//
3322// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutEvents
3323func (c *CloudWatchEvents) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
3324	op := &request.Operation{
3325		Name:       opPutEvents,
3326		HTTPMethod: "POST",
3327		HTTPPath:   "/",
3328	}
3329
3330	if input == nil {
3331		input = &PutEventsInput{}
3332	}
3333
3334	output = &PutEventsOutput{}
3335	req = c.newRequest(op, input, output)
3336	return
3337}
3338
3339// PutEvents API operation for Amazon CloudWatch Events.
3340//
3341// Sends custom events to Amazon EventBridge so that they can be matched to
3342// rules.
3343//
3344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3345// with awserr.Error's Code and Message methods to get detailed information about
3346// the error.
3347//
3348// See the AWS API reference guide for Amazon CloudWatch Events's
3349// API operation PutEvents for usage and error information.
3350//
3351// Returned Error Types:
3352//   * InternalException
3353//   This exception occurs due to unexpected causes.
3354//
3355// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutEvents
3356func (c *CloudWatchEvents) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
3357	req, out := c.PutEventsRequest(input)
3358	return out, req.Send()
3359}
3360
3361// PutEventsWithContext is the same as PutEvents with the addition of
3362// the ability to pass a context and additional request options.
3363//
3364// See PutEvents for details on how to use this API operation.
3365//
3366// The context must be non-nil and will be used for request cancellation. If
3367// the context is nil a panic will occur. In the future the SDK may create
3368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3369// for more information on using Contexts.
3370func (c *CloudWatchEvents) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
3371	req, out := c.PutEventsRequest(input)
3372	req.SetContext(ctx)
3373	req.ApplyOptions(opts...)
3374	return out, req.Send()
3375}
3376
3377const opPutPartnerEvents = "PutPartnerEvents"
3378
3379// PutPartnerEventsRequest generates a "aws/request.Request" representing the
3380// client's request for the PutPartnerEvents operation. The "output" return
3381// value will be populated with the request's response once the request completes
3382// successfully.
3383//
3384// Use "Send" method on the returned Request to send the API call to the service.
3385// the "output" return value is not valid until after Send returns without error.
3386//
3387// See PutPartnerEvents for more information on using the PutPartnerEvents
3388// API call, and error handling.
3389//
3390// This method is useful when you want to inject custom logic or configuration
3391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3392//
3393//
3394//    // Example sending a request using the PutPartnerEventsRequest method.
3395//    req, resp := client.PutPartnerEventsRequest(params)
3396//
3397//    err := req.Send()
3398//    if err == nil { // resp is now filled
3399//        fmt.Println(resp)
3400//    }
3401//
3402// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPartnerEvents
3403func (c *CloudWatchEvents) PutPartnerEventsRequest(input *PutPartnerEventsInput) (req *request.Request, output *PutPartnerEventsOutput) {
3404	op := &request.Operation{
3405		Name:       opPutPartnerEvents,
3406		HTTPMethod: "POST",
3407		HTTPPath:   "/",
3408	}
3409
3410	if input == nil {
3411		input = &PutPartnerEventsInput{}
3412	}
3413
3414	output = &PutPartnerEventsOutput{}
3415	req = c.newRequest(op, input, output)
3416	return
3417}
3418
3419// PutPartnerEvents API operation for Amazon CloudWatch Events.
3420//
3421// This is used by SaaS partners to write events to a customer's partner event
3422// bus. Amazon Web Services customers do not use this operation.
3423//
3424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3425// with awserr.Error's Code and Message methods to get detailed information about
3426// the error.
3427//
3428// See the AWS API reference guide for Amazon CloudWatch Events's
3429// API operation PutPartnerEvents for usage and error information.
3430//
3431// Returned Error Types:
3432//   * InternalException
3433//   This exception occurs due to unexpected causes.
3434//
3435//   * OperationDisabledException
3436//   The operation you are attempting is not available in this region.
3437//
3438// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPartnerEvents
3439func (c *CloudWatchEvents) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) {
3440	req, out := c.PutPartnerEventsRequest(input)
3441	return out, req.Send()
3442}
3443
3444// PutPartnerEventsWithContext is the same as PutPartnerEvents with the addition of
3445// the ability to pass a context and additional request options.
3446//
3447// See PutPartnerEvents for details on how to use this API operation.
3448//
3449// The context must be non-nil and will be used for request cancellation. If
3450// the context is nil a panic will occur. In the future the SDK may create
3451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3452// for more information on using Contexts.
3453func (c *CloudWatchEvents) PutPartnerEventsWithContext(ctx aws.Context, input *PutPartnerEventsInput, opts ...request.Option) (*PutPartnerEventsOutput, error) {
3454	req, out := c.PutPartnerEventsRequest(input)
3455	req.SetContext(ctx)
3456	req.ApplyOptions(opts...)
3457	return out, req.Send()
3458}
3459
3460const opPutPermission = "PutPermission"
3461
3462// PutPermissionRequest generates a "aws/request.Request" representing the
3463// client's request for the PutPermission operation. The "output" return
3464// value will be populated with the request's response once the request completes
3465// successfully.
3466//
3467// Use "Send" method on the returned Request to send the API call to the service.
3468// the "output" return value is not valid until after Send returns without error.
3469//
3470// See PutPermission for more information on using the PutPermission
3471// API call, and error handling.
3472//
3473// This method is useful when you want to inject custom logic or configuration
3474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3475//
3476//
3477//    // Example sending a request using the PutPermissionRequest method.
3478//    req, resp := client.PutPermissionRequest(params)
3479//
3480//    err := req.Send()
3481//    if err == nil { // resp is now filled
3482//        fmt.Println(resp)
3483//    }
3484//
3485// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPermission
3486func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req *request.Request, output *PutPermissionOutput) {
3487	op := &request.Operation{
3488		Name:       opPutPermission,
3489		HTTPMethod: "POST",
3490		HTTPPath:   "/",
3491	}
3492
3493	if input == nil {
3494		input = &PutPermissionInput{}
3495	}
3496
3497	output = &PutPermissionOutput{}
3498	req = c.newRequest(op, input, output)
3499	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3500	return
3501}
3502
3503// PutPermission API operation for Amazon CloudWatch Events.
3504//
3505// Running PutPermission permits the specified Amazon Web Services account or
3506// Amazon Web Services organization to put events to the specified event bus.
3507// Amazon EventBridge (CloudWatch Events) rules in your account are triggered
3508// by these events arriving to an event bus in your account.
3509//
3510// For another account to send events to your account, that external account
3511// must have an EventBridge rule with your account's event bus as a target.
3512//
3513// To enable multiple Amazon Web Services accounts to put events to your event
3514// bus, run PutPermission once for each of these accounts. Or, if all the accounts
3515// are members of the same Amazon Web Services organization, you can run PutPermission
3516// once specifying Principal as "*" and specifying the Amazon Web Services organization
3517// ID in Condition, to grant permissions to all accounts in that organization.
3518//
3519// If you grant permissions using an organization, then accounts in that organization
3520// must specify a RoleArn with proper permissions when they use PutTarget to
3521// add your account's event bus as a target. For more information, see Sending
3522// and Receiving Events Between Amazon Web Services Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
3523// in the Amazon EventBridge User Guide.
3524//
3525// The permission policy on the event bus cannot exceed 10 KB in size.
3526//
3527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3528// with awserr.Error's Code and Message methods to get detailed information about
3529// the error.
3530//
3531// See the AWS API reference guide for Amazon CloudWatch Events's
3532// API operation PutPermission for usage and error information.
3533//
3534// Returned Error Types:
3535//   * ResourceNotFoundException
3536//   An entity that you specified does not exist.
3537//
3538//   * PolicyLengthExceededException
3539//   The event bus policy is too long. For more information, see the limits.
3540//
3541//   * InternalException
3542//   This exception occurs due to unexpected causes.
3543//
3544//   * ConcurrentModificationException
3545//   There is concurrent modification on a rule, target, archive, or replay.
3546//
3547//   * OperationDisabledException
3548//   The operation you are attempting is not available in this region.
3549//
3550// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPermission
3551func (c *CloudWatchEvents) PutPermission(input *PutPermissionInput) (*PutPermissionOutput, error) {
3552	req, out := c.PutPermissionRequest(input)
3553	return out, req.Send()
3554}
3555
3556// PutPermissionWithContext is the same as PutPermission with the addition of
3557// the ability to pass a context and additional request options.
3558//
3559// See PutPermission for details on how to use this API operation.
3560//
3561// The context must be non-nil and will be used for request cancellation. If
3562// the context is nil a panic will occur. In the future the SDK may create
3563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3564// for more information on using Contexts.
3565func (c *CloudWatchEvents) PutPermissionWithContext(ctx aws.Context, input *PutPermissionInput, opts ...request.Option) (*PutPermissionOutput, error) {
3566	req, out := c.PutPermissionRequest(input)
3567	req.SetContext(ctx)
3568	req.ApplyOptions(opts...)
3569	return out, req.Send()
3570}
3571
3572const opPutRule = "PutRule"
3573
3574// PutRuleRequest generates a "aws/request.Request" representing the
3575// client's request for the PutRule operation. The "output" return
3576// value will be populated with the request's response once the request completes
3577// successfully.
3578//
3579// Use "Send" method on the returned Request to send the API call to the service.
3580// the "output" return value is not valid until after Send returns without error.
3581//
3582// See PutRule for more information on using the PutRule
3583// API call, and error handling.
3584//
3585// This method is useful when you want to inject custom logic or configuration
3586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3587//
3588//
3589//    // Example sending a request using the PutRuleRequest method.
3590//    req, resp := client.PutRuleRequest(params)
3591//
3592//    err := req.Send()
3593//    if err == nil { // resp is now filled
3594//        fmt.Println(resp)
3595//    }
3596//
3597// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutRule
3598func (c *CloudWatchEvents) PutRuleRequest(input *PutRuleInput) (req *request.Request, output *PutRuleOutput) {
3599	op := &request.Operation{
3600		Name:       opPutRule,
3601		HTTPMethod: "POST",
3602		HTTPPath:   "/",
3603	}
3604
3605	if input == nil {
3606		input = &PutRuleInput{}
3607	}
3608
3609	output = &PutRuleOutput{}
3610	req = c.newRequest(op, input, output)
3611	return
3612}
3613
3614// PutRule API operation for Amazon CloudWatch Events.
3615//
3616// Creates or updates the specified rule. Rules are enabled by default, or based
3617// on value of the state. You can disable a rule using DisableRule (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html).
3618//
3619// A single rule watches for events from a single event bus. Events generated
3620// by Amazon Web Services services go to your account's default event bus. Events
3621// generated by SaaS partner services or applications go to the matching partner
3622// event bus. If you have custom applications or services, you can specify whether
3623// their events go to your default event bus or a custom event bus that you
3624// have created. For more information, see CreateEventBus (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateEventBus.html).
3625//
3626// If you are updating an existing rule, the rule is replaced with what you
3627// specify in this PutRule command. If you omit arguments in PutRule, the old
3628// values for those arguments are not kept. Instead, they are replaced with
3629// null values.
3630//
3631// When you create or update a rule, incoming events might not immediately start
3632// matching to new or updated rules. Allow a short period of time for changes
3633// to take effect.
3634//
3635// A rule must contain at least an EventPattern or ScheduleExpression. Rules
3636// with EventPatterns are triggered when a matching event is observed. Rules
3637// with ScheduleExpressions self-trigger based on the given schedule. A rule
3638// can have both an EventPattern and a ScheduleExpression, in which case the
3639// rule triggers on matching events as well as on a schedule.
3640//
3641// When you initially create a rule, you can optionally assign one or more tags
3642// to the rule. Tags can help you organize and categorize your resources. You
3643// can also use them to scope user permissions, by granting a user permission
3644// to access or change only rules with certain tag values. To use the PutRule
3645// operation and assign tags, you must have both the events:PutRule and events:TagResource
3646// permissions.
3647//
3648// If you are updating an existing rule, any tags you specify in the PutRule
3649// operation are ignored. To update the tags of an existing rule, use TagResource
3650// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_TagResource.html)
3651// and UntagResource (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UntagResource.html).
3652//
3653// Most services in Amazon Web Services treat : or / as the same character in
3654// Amazon Resource Names (ARNs). However, EventBridge uses an exact match in
3655// event patterns and rules. Be sure to use the correct ARN characters when
3656// creating event patterns so that they match the ARN syntax in the event you
3657// want to match.
3658//
3659// In EventBridge, it is possible to create rules that lead to infinite loops,
3660// where a rule is fired repeatedly. For example, a rule might detect that ACLs
3661// have changed on an S3 bucket, and trigger software to change them to the
3662// desired state. If the rule is not written carefully, the subsequent change
3663// to the ACLs fires the rule again, creating an infinite loop.
3664//
3665// To prevent this, write the rules so that the triggered actions do not re-fire
3666// the same rule. For example, your rule could fire only if ACLs are found to
3667// be in a bad state, instead of after any change.
3668//
3669// An infinite loop can quickly cause higher than expected charges. We recommend
3670// that you use budgeting, which alerts you when charges exceed your specified
3671// limit. For more information, see Managing Your Costs with Budgets (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html).
3672//
3673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3674// with awserr.Error's Code and Message methods to get detailed information about
3675// the error.
3676//
3677// See the AWS API reference guide for Amazon CloudWatch Events's
3678// API operation PutRule for usage and error information.
3679//
3680// Returned Error Types:
3681//   * InvalidEventPatternException
3682//   The event pattern is not valid.
3683//
3684//   * LimitExceededException
3685//   The request failed because it attempted to create resource beyond the allowed
3686//   service quota.
3687//
3688//   * ConcurrentModificationException
3689//   There is concurrent modification on a rule, target, archive, or replay.
3690//
3691//   * ManagedRuleException
3692//   This rule was created by an Amazon Web Services service on behalf of your
3693//   account. It is managed by that service. If you see this error in response
3694//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
3695//   calls to delete the rule or remove targets from the rule. You cannot modify
3696//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
3697//   TagResource, or UntagResource.
3698//
3699//   * InternalException
3700//   This exception occurs due to unexpected causes.
3701//
3702//   * ResourceNotFoundException
3703//   An entity that you specified does not exist.
3704//
3705// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutRule
3706func (c *CloudWatchEvents) PutRule(input *PutRuleInput) (*PutRuleOutput, error) {
3707	req, out := c.PutRuleRequest(input)
3708	return out, req.Send()
3709}
3710
3711// PutRuleWithContext is the same as PutRule with the addition of
3712// the ability to pass a context and additional request options.
3713//
3714// See PutRule for details on how to use this API operation.
3715//
3716// The context must be non-nil and will be used for request cancellation. If
3717// the context is nil a panic will occur. In the future the SDK may create
3718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3719// for more information on using Contexts.
3720func (c *CloudWatchEvents) PutRuleWithContext(ctx aws.Context, input *PutRuleInput, opts ...request.Option) (*PutRuleOutput, error) {
3721	req, out := c.PutRuleRequest(input)
3722	req.SetContext(ctx)
3723	req.ApplyOptions(opts...)
3724	return out, req.Send()
3725}
3726
3727const opPutTargets = "PutTargets"
3728
3729// PutTargetsRequest generates a "aws/request.Request" representing the
3730// client's request for the PutTargets operation. The "output" return
3731// value will be populated with the request's response once the request completes
3732// successfully.
3733//
3734// Use "Send" method on the returned Request to send the API call to the service.
3735// the "output" return value is not valid until after Send returns without error.
3736//
3737// See PutTargets for more information on using the PutTargets
3738// API call, and error handling.
3739//
3740// This method is useful when you want to inject custom logic or configuration
3741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3742//
3743//
3744//    // Example sending a request using the PutTargetsRequest method.
3745//    req, resp := client.PutTargetsRequest(params)
3746//
3747//    err := req.Send()
3748//    if err == nil { // resp is now filled
3749//        fmt.Println(resp)
3750//    }
3751//
3752// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutTargets
3753func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *request.Request, output *PutTargetsOutput) {
3754	op := &request.Operation{
3755		Name:       opPutTargets,
3756		HTTPMethod: "POST",
3757		HTTPPath:   "/",
3758	}
3759
3760	if input == nil {
3761		input = &PutTargetsInput{}
3762	}
3763
3764	output = &PutTargetsOutput{}
3765	req = c.newRequest(op, input, output)
3766	return
3767}
3768
3769// PutTargets API operation for Amazon CloudWatch Events.
3770//
3771// Adds the specified targets to the specified rule, or updates the targets
3772// if they are already associated with the rule.
3773//
3774// Targets are the resources that are invoked when a rule is triggered.
3775//
3776// You can configure the following as targets for Events:
3777//
3778//    * API destination (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html)
3779//
3780//    * Amazon API Gateway REST API endpoints
3781//
3782//    * API Gateway
3783//
3784//    * Batch job queue
3785//
3786//    * CloudWatch Logs group
3787//
3788//    * CodeBuild project
3789//
3790//    * CodePipeline
3791//
3792//    * Amazon EC2 CreateSnapshot API call
3793//
3794//    * Amazon EC2 RebootInstances API call
3795//
3796//    * Amazon EC2 StopInstances API call
3797//
3798//    * Amazon EC2 TerminateInstances API call
3799//
3800//    * Amazon ECS tasks
3801//
3802//    * Event bus in a different Amazon Web Services account or Region. You
3803//    can use an event bus in the US East (N. Virginia) us-east-1, US West (Oregon)
3804//    us-west-2, or Europe (Ireland) eu-west-1 Regions as a target for a rule.
3805//
3806//    * Firehose delivery stream (Kinesis Data Firehose)
3807//
3808//    * Inspector assessment template (Amazon Inspector)
3809//
3810//    * Kinesis stream (Kinesis Data Stream)
3811//
3812//    * Lambda function
3813//
3814//    * Redshift clusters (Data API statement execution)
3815//
3816//    * Amazon SNS topic
3817//
3818//    * Amazon SQS queues (includes FIFO queues
3819//
3820//    * SSM Automation
3821//
3822//    * SSM OpsItem
3823//
3824//    * SSM Run Command
3825//
3826//    * Step Functions state machines
3827//
3828// Creating rules with built-in targets is supported only in the Management
3829// Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances
3830// API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.
3831//
3832// For some target types, PutTargets provides target-specific parameters. If
3833// the target is a Kinesis data stream, you can optionally specify which shard
3834// the event goes to by using the KinesisParameters argument. To invoke a command
3835// on multiple EC2 instances with one rule, you can use the RunCommandParameters
3836// field.
3837//
3838// To be able to make API calls against the resources that you own, Amazon EventBridge
3839// needs the appropriate permissions. For Lambda and Amazon SNS resources, EventBridge
3840// relies on resource-based policies. For EC2 instances, Kinesis Data Streams,
3841// Step Functions state machines and API Gateway REST APIs, EventBridge relies
3842// on IAM roles that you specify in the RoleARN argument in PutTargets. For
3843// more information, see Authentication and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
3844// in the Amazon EventBridge User Guide.
3845//
3846// If another Amazon Web Services account is in the same region and has granted
3847// you permission (using PutPermission), you can send events to that account.
3848// Set that account's event bus as a target of the rules in your account. To
3849// send the matched events to the other account, specify that account's event
3850// bus as the Arn value when you run PutTargets. If your account sends events
3851// to another account, your account is charged for each sent event. Each event
3852// sent to another account is charged as a custom event. The account receiving
3853// the event is not charged. For more information, see Amazon EventBridge Pricing
3854// (http://aws.amazon.com/eventbridge/pricing/).
3855//
3856// Input, InputPath, and InputTransformer are not available with PutTarget if
3857// the target is an event bus of a different Amazon Web Services account.
3858//
3859// If you are setting the event bus of another account as the target, and that
3860// account granted permission to your account through an organization instead
3861// of directly by the account ID, then you must specify a RoleArn with proper
3862// permissions in the Target structure. For more information, see Sending and
3863// Receiving Events Between Amazon Web Services Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
3864// in the Amazon EventBridge User Guide.
3865//
3866// For more information about enabling cross-account events, see PutPermission
3867// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html).
3868//
3869// Input, InputPath, and InputTransformer are mutually exclusive and optional
3870// parameters of a target. When a rule is triggered due to a matched event:
3871//
3872//    * If none of the following arguments are specified for a target, then
3873//    the entire event is passed to the target in JSON format (unless the target
3874//    is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from
3875//    the event is passed to the target).
3876//
3877//    * If Input is specified in the form of valid JSON, then the matched event
3878//    is overridden with this constant.
3879//
3880//    * If InputPath is specified in the form of JSONPath (for example, $.detail),
3881//    then only the part of the event specified in the path is passed to the
3882//    target (for example, only the detail part of the event is passed).
3883//
3884//    * If InputTransformer is specified, then one or more specified JSONPaths
3885//    are extracted from the event and used as values in a template that you
3886//    specify as the input to the target.
3887//
3888// When you specify InputPath or InputTransformer, you must use JSON dot notation,
3889// not bracket notation.
3890//
3891// When you add targets to a rule and the associated rule triggers soon after,
3892// new or updated targets might not be immediately invoked. Allow a short period
3893// of time for changes to take effect.
3894//
3895// This action can partially fail if too many requests are made at the same
3896// time. If that happens, FailedEntryCount is non-zero in the response and each
3897// entry in FailedEntries provides the ID of the failed target and the error
3898// code.
3899//
3900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3901// with awserr.Error's Code and Message methods to get detailed information about
3902// the error.
3903//
3904// See the AWS API reference guide for Amazon CloudWatch Events's
3905// API operation PutTargets for usage and error information.
3906//
3907// Returned Error Types:
3908//   * ResourceNotFoundException
3909//   An entity that you specified does not exist.
3910//
3911//   * ConcurrentModificationException
3912//   There is concurrent modification on a rule, target, archive, or replay.
3913//
3914//   * LimitExceededException
3915//   The request failed because it attempted to create resource beyond the allowed
3916//   service quota.
3917//
3918//   * ManagedRuleException
3919//   This rule was created by an Amazon Web Services service on behalf of your
3920//   account. It is managed by that service. If you see this error in response
3921//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
3922//   calls to delete the rule or remove targets from the rule. You cannot modify
3923//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
3924//   TagResource, or UntagResource.
3925//
3926//   * InternalException
3927//   This exception occurs due to unexpected causes.
3928//
3929// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutTargets
3930func (c *CloudWatchEvents) PutTargets(input *PutTargetsInput) (*PutTargetsOutput, error) {
3931	req, out := c.PutTargetsRequest(input)
3932	return out, req.Send()
3933}
3934
3935// PutTargetsWithContext is the same as PutTargets with the addition of
3936// the ability to pass a context and additional request options.
3937//
3938// See PutTargets for details on how to use this API operation.
3939//
3940// The context must be non-nil and will be used for request cancellation. If
3941// the context is nil a panic will occur. In the future the SDK may create
3942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3943// for more information on using Contexts.
3944func (c *CloudWatchEvents) PutTargetsWithContext(ctx aws.Context, input *PutTargetsInput, opts ...request.Option) (*PutTargetsOutput, error) {
3945	req, out := c.PutTargetsRequest(input)
3946	req.SetContext(ctx)
3947	req.ApplyOptions(opts...)
3948	return out, req.Send()
3949}
3950
3951const opRemovePermission = "RemovePermission"
3952
3953// RemovePermissionRequest generates a "aws/request.Request" representing the
3954// client's request for the RemovePermission operation. The "output" return
3955// value will be populated with the request's response once the request completes
3956// successfully.
3957//
3958// Use "Send" method on the returned Request to send the API call to the service.
3959// the "output" return value is not valid until after Send returns without error.
3960//
3961// See RemovePermission for more information on using the RemovePermission
3962// API call, and error handling.
3963//
3964// This method is useful when you want to inject custom logic or configuration
3965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3966//
3967//
3968//    // Example sending a request using the RemovePermissionRequest method.
3969//    req, resp := client.RemovePermissionRequest(params)
3970//
3971//    err := req.Send()
3972//    if err == nil { // resp is now filled
3973//        fmt.Println(resp)
3974//    }
3975//
3976// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemovePermission
3977func (c *CloudWatchEvents) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) {
3978	op := &request.Operation{
3979		Name:       opRemovePermission,
3980		HTTPMethod: "POST",
3981		HTTPPath:   "/",
3982	}
3983
3984	if input == nil {
3985		input = &RemovePermissionInput{}
3986	}
3987
3988	output = &RemovePermissionOutput{}
3989	req = c.newRequest(op, input, output)
3990	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3991	return
3992}
3993
3994// RemovePermission API operation for Amazon CloudWatch Events.
3995//
3996// Revokes the permission of another Amazon Web Services account to be able
3997// to put events to the specified event bus. Specify the account to revoke by
3998// the StatementId value that you associated with the account when you granted
3999// it permission with PutPermission. You can find the StatementId by using DescribeEventBus
4000// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeEventBus.html).
4001//
4002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4003// with awserr.Error's Code and Message methods to get detailed information about
4004// the error.
4005//
4006// See the AWS API reference guide for Amazon CloudWatch Events's
4007// API operation RemovePermission for usage and error information.
4008//
4009// Returned Error Types:
4010//   * ResourceNotFoundException
4011//   An entity that you specified does not exist.
4012//
4013//   * InternalException
4014//   This exception occurs due to unexpected causes.
4015//
4016//   * ConcurrentModificationException
4017//   There is concurrent modification on a rule, target, archive, or replay.
4018//
4019//   * OperationDisabledException
4020//   The operation you are attempting is not available in this region.
4021//
4022// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemovePermission
4023func (c *CloudWatchEvents) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) {
4024	req, out := c.RemovePermissionRequest(input)
4025	return out, req.Send()
4026}
4027
4028// RemovePermissionWithContext is the same as RemovePermission with the addition of
4029// the ability to pass a context and additional request options.
4030//
4031// See RemovePermission for details on how to use this API operation.
4032//
4033// The context must be non-nil and will be used for request cancellation. If
4034// the context is nil a panic will occur. In the future the SDK may create
4035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4036// for more information on using Contexts.
4037func (c *CloudWatchEvents) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) {
4038	req, out := c.RemovePermissionRequest(input)
4039	req.SetContext(ctx)
4040	req.ApplyOptions(opts...)
4041	return out, req.Send()
4042}
4043
4044const opRemoveTargets = "RemoveTargets"
4045
4046// RemoveTargetsRequest generates a "aws/request.Request" representing the
4047// client's request for the RemoveTargets operation. The "output" return
4048// value will be populated with the request's response once the request completes
4049// successfully.
4050//
4051// Use "Send" method on the returned Request to send the API call to the service.
4052// the "output" return value is not valid until after Send returns without error.
4053//
4054// See RemoveTargets for more information on using the RemoveTargets
4055// API call, and error handling.
4056//
4057// This method is useful when you want to inject custom logic or configuration
4058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4059//
4060//
4061//    // Example sending a request using the RemoveTargetsRequest method.
4062//    req, resp := client.RemoveTargetsRequest(params)
4063//
4064//    err := req.Send()
4065//    if err == nil { // resp is now filled
4066//        fmt.Println(resp)
4067//    }
4068//
4069// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemoveTargets
4070func (c *CloudWatchEvents) RemoveTargetsRequest(input *RemoveTargetsInput) (req *request.Request, output *RemoveTargetsOutput) {
4071	op := &request.Operation{
4072		Name:       opRemoveTargets,
4073		HTTPMethod: "POST",
4074		HTTPPath:   "/",
4075	}
4076
4077	if input == nil {
4078		input = &RemoveTargetsInput{}
4079	}
4080
4081	output = &RemoveTargetsOutput{}
4082	req = c.newRequest(op, input, output)
4083	return
4084}
4085
4086// RemoveTargets API operation for Amazon CloudWatch Events.
4087//
4088// Removes the specified targets from the specified rule. When the rule is triggered,
4089// those targets are no longer be invoked.
4090//
4091// When you remove a target, when the associated rule triggers, removed targets
4092// might continue to be invoked. Allow a short period of time for changes to
4093// take effect.
4094//
4095// This action can partially fail if too many requests are made at the same
4096// time. If that happens, FailedEntryCount is non-zero in the response and each
4097// entry in FailedEntries provides the ID of the failed target and the error
4098// code.
4099//
4100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4101// with awserr.Error's Code and Message methods to get detailed information about
4102// the error.
4103//
4104// See the AWS API reference guide for Amazon CloudWatch Events's
4105// API operation RemoveTargets for usage and error information.
4106//
4107// Returned Error Types:
4108//   * ResourceNotFoundException
4109//   An entity that you specified does not exist.
4110//
4111//   * ConcurrentModificationException
4112//   There is concurrent modification on a rule, target, archive, or replay.
4113//
4114//   * ManagedRuleException
4115//   This rule was created by an Amazon Web Services service on behalf of your
4116//   account. It is managed by that service. If you see this error in response
4117//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
4118//   calls to delete the rule or remove targets from the rule. You cannot modify
4119//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
4120//   TagResource, or UntagResource.
4121//
4122//   * InternalException
4123//   This exception occurs due to unexpected causes.
4124//
4125// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/RemoveTargets
4126func (c *CloudWatchEvents) RemoveTargets(input *RemoveTargetsInput) (*RemoveTargetsOutput, error) {
4127	req, out := c.RemoveTargetsRequest(input)
4128	return out, req.Send()
4129}
4130
4131// RemoveTargetsWithContext is the same as RemoveTargets with the addition of
4132// the ability to pass a context and additional request options.
4133//
4134// See RemoveTargets for details on how to use this API operation.
4135//
4136// The context must be non-nil and will be used for request cancellation. If
4137// the context is nil a panic will occur. In the future the SDK may create
4138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4139// for more information on using Contexts.
4140func (c *CloudWatchEvents) RemoveTargetsWithContext(ctx aws.Context, input *RemoveTargetsInput, opts ...request.Option) (*RemoveTargetsOutput, error) {
4141	req, out := c.RemoveTargetsRequest(input)
4142	req.SetContext(ctx)
4143	req.ApplyOptions(opts...)
4144	return out, req.Send()
4145}
4146
4147const opStartReplay = "StartReplay"
4148
4149// StartReplayRequest generates a "aws/request.Request" representing the
4150// client's request for the StartReplay operation. The "output" return
4151// value will be populated with the request's response once the request completes
4152// successfully.
4153//
4154// Use "Send" method on the returned Request to send the API call to the service.
4155// the "output" return value is not valid until after Send returns without error.
4156//
4157// See StartReplay for more information on using the StartReplay
4158// API call, and error handling.
4159//
4160// This method is useful when you want to inject custom logic or configuration
4161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4162//
4163//
4164//    // Example sending a request using the StartReplayRequest method.
4165//    req, resp := client.StartReplayRequest(params)
4166//
4167//    err := req.Send()
4168//    if err == nil { // resp is now filled
4169//        fmt.Println(resp)
4170//    }
4171//
4172// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/StartReplay
4173func (c *CloudWatchEvents) StartReplayRequest(input *StartReplayInput) (req *request.Request, output *StartReplayOutput) {
4174	op := &request.Operation{
4175		Name:       opStartReplay,
4176		HTTPMethod: "POST",
4177		HTTPPath:   "/",
4178	}
4179
4180	if input == nil {
4181		input = &StartReplayInput{}
4182	}
4183
4184	output = &StartReplayOutput{}
4185	req = c.newRequest(op, input, output)
4186	return
4187}
4188
4189// StartReplay API operation for Amazon CloudWatch Events.
4190//
4191// Starts the specified replay. Events are not necessarily replayed in the exact
4192// same order that they were added to the archive. A replay processes events
4193// to replay based on the time in the event, and replays them using 1 minute
4194// intervals. If you specify an EventStartTime and an EventEndTime that covers
4195// a 20 minute time range, the events are replayed from the first minute of
4196// that 20 minute range first. Then the events from the second minute are replayed.
4197// You can use DescribeReplay to determine the progress of a replay. The value
4198// returned for EventLastReplayedTime indicates the time within the specified
4199// time range associated with the last event replayed.
4200//
4201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4202// with awserr.Error's Code and Message methods to get detailed information about
4203// the error.
4204//
4205// See the AWS API reference guide for Amazon CloudWatch Events's
4206// API operation StartReplay for usage and error information.
4207//
4208// Returned Error Types:
4209//   * ResourceNotFoundException
4210//   An entity that you specified does not exist.
4211//
4212//   * ResourceAlreadyExistsException
4213//   The resource you are trying to create already exists.
4214//
4215//   * InvalidEventPatternException
4216//   The event pattern is not valid.
4217//
4218//   * LimitExceededException
4219//   The request failed because it attempted to create resource beyond the allowed
4220//   service quota.
4221//
4222//   * InternalException
4223//   This exception occurs due to unexpected causes.
4224//
4225// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/StartReplay
4226func (c *CloudWatchEvents) StartReplay(input *StartReplayInput) (*StartReplayOutput, error) {
4227	req, out := c.StartReplayRequest(input)
4228	return out, req.Send()
4229}
4230
4231// StartReplayWithContext is the same as StartReplay with the addition of
4232// the ability to pass a context and additional request options.
4233//
4234// See StartReplay for details on how to use this API operation.
4235//
4236// The context must be non-nil and will be used for request cancellation. If
4237// the context is nil a panic will occur. In the future the SDK may create
4238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4239// for more information on using Contexts.
4240func (c *CloudWatchEvents) StartReplayWithContext(ctx aws.Context, input *StartReplayInput, opts ...request.Option) (*StartReplayOutput, error) {
4241	req, out := c.StartReplayRequest(input)
4242	req.SetContext(ctx)
4243	req.ApplyOptions(opts...)
4244	return out, req.Send()
4245}
4246
4247const opTagResource = "TagResource"
4248
4249// TagResourceRequest generates a "aws/request.Request" representing the
4250// client's request for the TagResource operation. The "output" return
4251// value will be populated with the request's response once the request completes
4252// successfully.
4253//
4254// Use "Send" method on the returned Request to send the API call to the service.
4255// the "output" return value is not valid until after Send returns without error.
4256//
4257// See TagResource for more information on using the TagResource
4258// API call, and error handling.
4259//
4260// This method is useful when you want to inject custom logic or configuration
4261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4262//
4263//
4264//    // Example sending a request using the TagResourceRequest method.
4265//    req, resp := client.TagResourceRequest(params)
4266//
4267//    err := req.Send()
4268//    if err == nil { // resp is now filled
4269//        fmt.Println(resp)
4270//    }
4271//
4272// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/TagResource
4273func (c *CloudWatchEvents) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4274	op := &request.Operation{
4275		Name:       opTagResource,
4276		HTTPMethod: "POST",
4277		HTTPPath:   "/",
4278	}
4279
4280	if input == nil {
4281		input = &TagResourceInput{}
4282	}
4283
4284	output = &TagResourceOutput{}
4285	req = c.newRequest(op, input, output)
4286	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4287	return
4288}
4289
4290// TagResource API operation for Amazon CloudWatch Events.
4291//
4292// Assigns one or more tags (key-value pairs) to the specified EventBridge resource.
4293// Tags can help you organize and categorize your resources. You can also use
4294// them to scope user permissions by granting a user permission to access or
4295// change only resources with certain tag values. In EventBridge, rules and
4296// event buses can be tagged.
4297//
4298// Tags don't have any semantic meaning to Amazon Web Services and are interpreted
4299// strictly as strings of characters.
4300//
4301// You can use the TagResource action with a resource that already has tags.
4302// If you specify a new tag key, this tag is appended to the list of tags associated
4303// with the resource. If you specify a tag key that is already associated with
4304// the resource, the new tag value that you specify replaces the previous value
4305// for that tag.
4306//
4307// You can associate as many as 50 tags with a resource.
4308//
4309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4310// with awserr.Error's Code and Message methods to get detailed information about
4311// the error.
4312//
4313// See the AWS API reference guide for Amazon CloudWatch Events's
4314// API operation TagResource for usage and error information.
4315//
4316// Returned Error Types:
4317//   * ResourceNotFoundException
4318//   An entity that you specified does not exist.
4319//
4320//   * ConcurrentModificationException
4321//   There is concurrent modification on a rule, target, archive, or replay.
4322//
4323//   * InternalException
4324//   This exception occurs due to unexpected causes.
4325//
4326//   * ManagedRuleException
4327//   This rule was created by an Amazon Web Services service on behalf of your
4328//   account. It is managed by that service. If you see this error in response
4329//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
4330//   calls to delete the rule or remove targets from the rule. You cannot modify
4331//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
4332//   TagResource, or UntagResource.
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/TagResource
4335func (c *CloudWatchEvents) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4336	req, out := c.TagResourceRequest(input)
4337	return out, req.Send()
4338}
4339
4340// TagResourceWithContext is the same as TagResource with the addition of
4341// the ability to pass a context and additional request options.
4342//
4343// See TagResource for details on how to use this API operation.
4344//
4345// The context must be non-nil and will be used for request cancellation. If
4346// the context is nil a panic will occur. In the future the SDK may create
4347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4348// for more information on using Contexts.
4349func (c *CloudWatchEvents) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4350	req, out := c.TagResourceRequest(input)
4351	req.SetContext(ctx)
4352	req.ApplyOptions(opts...)
4353	return out, req.Send()
4354}
4355
4356const opTestEventPattern = "TestEventPattern"
4357
4358// TestEventPatternRequest generates a "aws/request.Request" representing the
4359// client's request for the TestEventPattern operation. The "output" return
4360// value will be populated with the request's response once the request completes
4361// successfully.
4362//
4363// Use "Send" method on the returned Request to send the API call to the service.
4364// the "output" return value is not valid until after Send returns without error.
4365//
4366// See TestEventPattern for more information on using the TestEventPattern
4367// API call, and error handling.
4368//
4369// This method is useful when you want to inject custom logic or configuration
4370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4371//
4372//
4373//    // Example sending a request using the TestEventPatternRequest method.
4374//    req, resp := client.TestEventPatternRequest(params)
4375//
4376//    err := req.Send()
4377//    if err == nil { // resp is now filled
4378//        fmt.Println(resp)
4379//    }
4380//
4381// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/TestEventPattern
4382func (c *CloudWatchEvents) TestEventPatternRequest(input *TestEventPatternInput) (req *request.Request, output *TestEventPatternOutput) {
4383	op := &request.Operation{
4384		Name:       opTestEventPattern,
4385		HTTPMethod: "POST",
4386		HTTPPath:   "/",
4387	}
4388
4389	if input == nil {
4390		input = &TestEventPatternInput{}
4391	}
4392
4393	output = &TestEventPatternOutput{}
4394	req = c.newRequest(op, input, output)
4395	return
4396}
4397
4398// TestEventPattern API operation for Amazon CloudWatch Events.
4399//
4400// Tests whether the specified event pattern matches the provided event.
4401//
4402// Most services in Amazon Web Services treat : or / as the same character in
4403// Amazon Resource Names (ARNs). However, EventBridge uses an exact match in
4404// event patterns and rules. Be sure to use the correct ARN characters when
4405// creating event patterns so that they match the ARN syntax in the event you
4406// want to match.
4407//
4408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4409// with awserr.Error's Code and Message methods to get detailed information about
4410// the error.
4411//
4412// See the AWS API reference guide for Amazon CloudWatch Events's
4413// API operation TestEventPattern for usage and error information.
4414//
4415// Returned Error Types:
4416//   * InvalidEventPatternException
4417//   The event pattern is not valid.
4418//
4419//   * InternalException
4420//   This exception occurs due to unexpected causes.
4421//
4422// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/TestEventPattern
4423func (c *CloudWatchEvents) TestEventPattern(input *TestEventPatternInput) (*TestEventPatternOutput, error) {
4424	req, out := c.TestEventPatternRequest(input)
4425	return out, req.Send()
4426}
4427
4428// TestEventPatternWithContext is the same as TestEventPattern with the addition of
4429// the ability to pass a context and additional request options.
4430//
4431// See TestEventPattern for details on how to use this API operation.
4432//
4433// The context must be non-nil and will be used for request cancellation. If
4434// the context is nil a panic will occur. In the future the SDK may create
4435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4436// for more information on using Contexts.
4437func (c *CloudWatchEvents) TestEventPatternWithContext(ctx aws.Context, input *TestEventPatternInput, opts ...request.Option) (*TestEventPatternOutput, error) {
4438	req, out := c.TestEventPatternRequest(input)
4439	req.SetContext(ctx)
4440	req.ApplyOptions(opts...)
4441	return out, req.Send()
4442}
4443
4444const opUntagResource = "UntagResource"
4445
4446// UntagResourceRequest generates a "aws/request.Request" representing the
4447// client's request for the UntagResource operation. The "output" return
4448// value will be populated with the request's response once the request completes
4449// successfully.
4450//
4451// Use "Send" method on the returned Request to send the API call to the service.
4452// the "output" return value is not valid until after Send returns without error.
4453//
4454// See UntagResource for more information on using the UntagResource
4455// API call, and error handling.
4456//
4457// This method is useful when you want to inject custom logic or configuration
4458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4459//
4460//
4461//    // Example sending a request using the UntagResourceRequest method.
4462//    req, resp := client.UntagResourceRequest(params)
4463//
4464//    err := req.Send()
4465//    if err == nil { // resp is now filled
4466//        fmt.Println(resp)
4467//    }
4468//
4469// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UntagResource
4470func (c *CloudWatchEvents) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4471	op := &request.Operation{
4472		Name:       opUntagResource,
4473		HTTPMethod: "POST",
4474		HTTPPath:   "/",
4475	}
4476
4477	if input == nil {
4478		input = &UntagResourceInput{}
4479	}
4480
4481	output = &UntagResourceOutput{}
4482	req = c.newRequest(op, input, output)
4483	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4484	return
4485}
4486
4487// UntagResource API operation for Amazon CloudWatch Events.
4488//
4489// Removes one or more tags from the specified EventBridge resource. In Amazon
4490// EventBridge (CloudWatch Events), rules and event buses can be tagged.
4491//
4492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4493// with awserr.Error's Code and Message methods to get detailed information about
4494// the error.
4495//
4496// See the AWS API reference guide for Amazon CloudWatch Events's
4497// API operation UntagResource for usage and error information.
4498//
4499// Returned Error Types:
4500//   * ResourceNotFoundException
4501//   An entity that you specified does not exist.
4502//
4503//   * InternalException
4504//   This exception occurs due to unexpected causes.
4505//
4506//   * ConcurrentModificationException
4507//   There is concurrent modification on a rule, target, archive, or replay.
4508//
4509//   * ManagedRuleException
4510//   This rule was created by an Amazon Web Services service on behalf of your
4511//   account. It is managed by that service. If you see this error in response
4512//   to DeleteRule or RemoveTargets, you can use the Force parameter in those
4513//   calls to delete the rule or remove targets from the rule. You cannot modify
4514//   these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
4515//   TagResource, or UntagResource.
4516//
4517// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UntagResource
4518func (c *CloudWatchEvents) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4519	req, out := c.UntagResourceRequest(input)
4520	return out, req.Send()
4521}
4522
4523// UntagResourceWithContext is the same as UntagResource with the addition of
4524// the ability to pass a context and additional request options.
4525//
4526// See UntagResource for details on how to use this API operation.
4527//
4528// The context must be non-nil and will be used for request cancellation. If
4529// the context is nil a panic will occur. In the future the SDK may create
4530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4531// for more information on using Contexts.
4532func (c *CloudWatchEvents) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4533	req, out := c.UntagResourceRequest(input)
4534	req.SetContext(ctx)
4535	req.ApplyOptions(opts...)
4536	return out, req.Send()
4537}
4538
4539const opUpdateApiDestination = "UpdateApiDestination"
4540
4541// UpdateApiDestinationRequest generates a "aws/request.Request" representing the
4542// client's request for the UpdateApiDestination operation. The "output" return
4543// value will be populated with the request's response once the request completes
4544// successfully.
4545//
4546// Use "Send" method on the returned Request to send the API call to the service.
4547// the "output" return value is not valid until after Send returns without error.
4548//
4549// See UpdateApiDestination for more information on using the UpdateApiDestination
4550// API call, and error handling.
4551//
4552// This method is useful when you want to inject custom logic or configuration
4553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4554//
4555//
4556//    // Example sending a request using the UpdateApiDestinationRequest method.
4557//    req, resp := client.UpdateApiDestinationRequest(params)
4558//
4559//    err := req.Send()
4560//    if err == nil { // resp is now filled
4561//        fmt.Println(resp)
4562//    }
4563//
4564// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateApiDestination
4565func (c *CloudWatchEvents) UpdateApiDestinationRequest(input *UpdateApiDestinationInput) (req *request.Request, output *UpdateApiDestinationOutput) {
4566	op := &request.Operation{
4567		Name:       opUpdateApiDestination,
4568		HTTPMethod: "POST",
4569		HTTPPath:   "/",
4570	}
4571
4572	if input == nil {
4573		input = &UpdateApiDestinationInput{}
4574	}
4575
4576	output = &UpdateApiDestinationOutput{}
4577	req = c.newRequest(op, input, output)
4578	return
4579}
4580
4581// UpdateApiDestination API operation for Amazon CloudWatch Events.
4582//
4583// Updates an API destination.
4584//
4585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4586// with awserr.Error's Code and Message methods to get detailed information about
4587// the error.
4588//
4589// See the AWS API reference guide for Amazon CloudWatch Events's
4590// API operation UpdateApiDestination for usage and error information.
4591//
4592// Returned Error Types:
4593//   * ConcurrentModificationException
4594//   There is concurrent modification on a rule, target, archive, or replay.
4595//
4596//   * ResourceNotFoundException
4597//   An entity that you specified does not exist.
4598//
4599//   * InternalException
4600//   This exception occurs due to unexpected causes.
4601//
4602//   * LimitExceededException
4603//   The request failed because it attempted to create resource beyond the allowed
4604//   service quota.
4605//
4606// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateApiDestination
4607func (c *CloudWatchEvents) UpdateApiDestination(input *UpdateApiDestinationInput) (*UpdateApiDestinationOutput, error) {
4608	req, out := c.UpdateApiDestinationRequest(input)
4609	return out, req.Send()
4610}
4611
4612// UpdateApiDestinationWithContext is the same as UpdateApiDestination with the addition of
4613// the ability to pass a context and additional request options.
4614//
4615// See UpdateApiDestination for details on how to use this API operation.
4616//
4617// The context must be non-nil and will be used for request cancellation. If
4618// the context is nil a panic will occur. In the future the SDK may create
4619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4620// for more information on using Contexts.
4621func (c *CloudWatchEvents) UpdateApiDestinationWithContext(ctx aws.Context, input *UpdateApiDestinationInput, opts ...request.Option) (*UpdateApiDestinationOutput, error) {
4622	req, out := c.UpdateApiDestinationRequest(input)
4623	req.SetContext(ctx)
4624	req.ApplyOptions(opts...)
4625	return out, req.Send()
4626}
4627
4628const opUpdateArchive = "UpdateArchive"
4629
4630// UpdateArchiveRequest generates a "aws/request.Request" representing the
4631// client's request for the UpdateArchive operation. The "output" return
4632// value will be populated with the request's response once the request completes
4633// successfully.
4634//
4635// Use "Send" method on the returned Request to send the API call to the service.
4636// the "output" return value is not valid until after Send returns without error.
4637//
4638// See UpdateArchive for more information on using the UpdateArchive
4639// API call, and error handling.
4640//
4641// This method is useful when you want to inject custom logic or configuration
4642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4643//
4644//
4645//    // Example sending a request using the UpdateArchiveRequest method.
4646//    req, resp := client.UpdateArchiveRequest(params)
4647//
4648//    err := req.Send()
4649//    if err == nil { // resp is now filled
4650//        fmt.Println(resp)
4651//    }
4652//
4653// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateArchive
4654func (c *CloudWatchEvents) UpdateArchiveRequest(input *UpdateArchiveInput) (req *request.Request, output *UpdateArchiveOutput) {
4655	op := &request.Operation{
4656		Name:       opUpdateArchive,
4657		HTTPMethod: "POST",
4658		HTTPPath:   "/",
4659	}
4660
4661	if input == nil {
4662		input = &UpdateArchiveInput{}
4663	}
4664
4665	output = &UpdateArchiveOutput{}
4666	req = c.newRequest(op, input, output)
4667	return
4668}
4669
4670// UpdateArchive API operation for Amazon CloudWatch Events.
4671//
4672// Updates the specified archive.
4673//
4674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4675// with awserr.Error's Code and Message methods to get detailed information about
4676// the error.
4677//
4678// See the AWS API reference guide for Amazon CloudWatch Events's
4679// API operation UpdateArchive for usage and error information.
4680//
4681// Returned Error Types:
4682//   * ConcurrentModificationException
4683//   There is concurrent modification on a rule, target, archive, or replay.
4684//
4685//   * ResourceNotFoundException
4686//   An entity that you specified does not exist.
4687//
4688//   * InternalException
4689//   This exception occurs due to unexpected causes.
4690//
4691//   * LimitExceededException
4692//   The request failed because it attempted to create resource beyond the allowed
4693//   service quota.
4694//
4695//   * InvalidEventPatternException
4696//   The event pattern is not valid.
4697//
4698// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateArchive
4699func (c *CloudWatchEvents) UpdateArchive(input *UpdateArchiveInput) (*UpdateArchiveOutput, error) {
4700	req, out := c.UpdateArchiveRequest(input)
4701	return out, req.Send()
4702}
4703
4704// UpdateArchiveWithContext is the same as UpdateArchive with the addition of
4705// the ability to pass a context and additional request options.
4706//
4707// See UpdateArchive for details on how to use this API operation.
4708//
4709// The context must be non-nil and will be used for request cancellation. If
4710// the context is nil a panic will occur. In the future the SDK may create
4711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4712// for more information on using Contexts.
4713func (c *CloudWatchEvents) UpdateArchiveWithContext(ctx aws.Context, input *UpdateArchiveInput, opts ...request.Option) (*UpdateArchiveOutput, error) {
4714	req, out := c.UpdateArchiveRequest(input)
4715	req.SetContext(ctx)
4716	req.ApplyOptions(opts...)
4717	return out, req.Send()
4718}
4719
4720const opUpdateConnection = "UpdateConnection"
4721
4722// UpdateConnectionRequest generates a "aws/request.Request" representing the
4723// client's request for the UpdateConnection operation. The "output" return
4724// value will be populated with the request's response once the request completes
4725// successfully.
4726//
4727// Use "Send" method on the returned Request to send the API call to the service.
4728// the "output" return value is not valid until after Send returns without error.
4729//
4730// See UpdateConnection for more information on using the UpdateConnection
4731// API call, and error handling.
4732//
4733// This method is useful when you want to inject custom logic or configuration
4734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4735//
4736//
4737//    // Example sending a request using the UpdateConnectionRequest method.
4738//    req, resp := client.UpdateConnectionRequest(params)
4739//
4740//    err := req.Send()
4741//    if err == nil { // resp is now filled
4742//        fmt.Println(resp)
4743//    }
4744//
4745// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateConnection
4746func (c *CloudWatchEvents) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) {
4747	op := &request.Operation{
4748		Name:       opUpdateConnection,
4749		HTTPMethod: "POST",
4750		HTTPPath:   "/",
4751	}
4752
4753	if input == nil {
4754		input = &UpdateConnectionInput{}
4755	}
4756
4757	output = &UpdateConnectionOutput{}
4758	req = c.newRequest(op, input, output)
4759	return
4760}
4761
4762// UpdateConnection API operation for Amazon CloudWatch Events.
4763//
4764// Updates settings for a connection.
4765//
4766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4767// with awserr.Error's Code and Message methods to get detailed information about
4768// the error.
4769//
4770// See the AWS API reference guide for Amazon CloudWatch Events's
4771// API operation UpdateConnection for usage and error information.
4772//
4773// Returned Error Types:
4774//   * ConcurrentModificationException
4775//   There is concurrent modification on a rule, target, archive, or replay.
4776//
4777//   * ResourceNotFoundException
4778//   An entity that you specified does not exist.
4779//
4780//   * InternalException
4781//   This exception occurs due to unexpected causes.
4782//
4783//   * LimitExceededException
4784//   The request failed because it attempted to create resource beyond the allowed
4785//   service quota.
4786//
4787// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/UpdateConnection
4788func (c *CloudWatchEvents) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) {
4789	req, out := c.UpdateConnectionRequest(input)
4790	return out, req.Send()
4791}
4792
4793// UpdateConnectionWithContext is the same as UpdateConnection with the addition of
4794// the ability to pass a context and additional request options.
4795//
4796// See UpdateConnection for details on how to use this API operation.
4797//
4798// The context must be non-nil and will be used for request cancellation. If
4799// the context is nil a panic will occur. In the future the SDK may create
4800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4801// for more information on using Contexts.
4802func (c *CloudWatchEvents) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) {
4803	req, out := c.UpdateConnectionRequest(input)
4804	req.SetContext(ctx)
4805	req.ApplyOptions(opts...)
4806	return out, req.Send()
4807}
4808
4809type ActivateEventSourceInput struct {
4810	_ struct{} `type:"structure"`
4811
4812	// The name of the partner event source to activate.
4813	//
4814	// Name is a required field
4815	Name *string `min:"1" type:"string" required:"true"`
4816}
4817
4818// String returns the string representation.
4819//
4820// API parameter values that are decorated as "sensitive" in the API will not
4821// be included in the string output. The member name will be present, but the
4822// value will be replaced with "sensitive".
4823func (s ActivateEventSourceInput) String() string {
4824	return awsutil.Prettify(s)
4825}
4826
4827// GoString returns the string representation.
4828//
4829// API parameter values that are decorated as "sensitive" in the API will not
4830// be included in the string output. The member name will be present, but the
4831// value will be replaced with "sensitive".
4832func (s ActivateEventSourceInput) GoString() string {
4833	return s.String()
4834}
4835
4836// Validate inspects the fields of the type to determine if they are valid.
4837func (s *ActivateEventSourceInput) Validate() error {
4838	invalidParams := request.ErrInvalidParams{Context: "ActivateEventSourceInput"}
4839	if s.Name == nil {
4840		invalidParams.Add(request.NewErrParamRequired("Name"))
4841	}
4842	if s.Name != nil && len(*s.Name) < 1 {
4843		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4844	}
4845
4846	if invalidParams.Len() > 0 {
4847		return invalidParams
4848	}
4849	return nil
4850}
4851
4852// SetName sets the Name field's value.
4853func (s *ActivateEventSourceInput) SetName(v string) *ActivateEventSourceInput {
4854	s.Name = &v
4855	return s
4856}
4857
4858type ActivateEventSourceOutput struct {
4859	_ struct{} `type:"structure"`
4860}
4861
4862// String returns the string representation.
4863//
4864// API parameter values that are decorated as "sensitive" in the API will not
4865// be included in the string output. The member name will be present, but the
4866// value will be replaced with "sensitive".
4867func (s ActivateEventSourceOutput) String() string {
4868	return awsutil.Prettify(s)
4869}
4870
4871// GoString returns the string representation.
4872//
4873// API parameter values that are decorated as "sensitive" in the API will not
4874// be included in the string output. The member name will be present, but the
4875// value will be replaced with "sensitive".
4876func (s ActivateEventSourceOutput) GoString() string {
4877	return s.String()
4878}
4879
4880// Contains details about an API destination.
4881type ApiDestination struct {
4882	_ struct{} `type:"structure"`
4883
4884	// The ARN of the API destination.
4885	ApiDestinationArn *string `min:"1" type:"string"`
4886
4887	// The state of the API destination.
4888	ApiDestinationState *string `type:"string" enum:"ApiDestinationState"`
4889
4890	// The ARN of the connection specified for the API destination.
4891	ConnectionArn *string `min:"1" type:"string"`
4892
4893	// A time stamp for the time that the API destination was created.
4894	CreationTime *time.Time `type:"timestamp"`
4895
4896	// The method to use to connect to the HTTP endpoint.
4897	HttpMethod *string `type:"string" enum:"ApiDestinationHttpMethod"`
4898
4899	// The URL to the endpoint for the API destination.
4900	InvocationEndpoint *string `min:"1" type:"string"`
4901
4902	// The maximum number of invocations per second to send to the HTTP endpoint.
4903	InvocationRateLimitPerSecond *int64 `min:"1" type:"integer"`
4904
4905	// A time stamp for the time that the API destination was last modified.
4906	LastModifiedTime *time.Time `type:"timestamp"`
4907
4908	// The name of the API destination.
4909	Name *string `min:"1" type:"string"`
4910}
4911
4912// String returns the string representation.
4913//
4914// API parameter values that are decorated as "sensitive" in the API will not
4915// be included in the string output. The member name will be present, but the
4916// value will be replaced with "sensitive".
4917func (s ApiDestination) String() string {
4918	return awsutil.Prettify(s)
4919}
4920
4921// GoString returns the string representation.
4922//
4923// API parameter values that are decorated as "sensitive" in the API will not
4924// be included in the string output. The member name will be present, but the
4925// value will be replaced with "sensitive".
4926func (s ApiDestination) GoString() string {
4927	return s.String()
4928}
4929
4930// SetApiDestinationArn sets the ApiDestinationArn field's value.
4931func (s *ApiDestination) SetApiDestinationArn(v string) *ApiDestination {
4932	s.ApiDestinationArn = &v
4933	return s
4934}
4935
4936// SetApiDestinationState sets the ApiDestinationState field's value.
4937func (s *ApiDestination) SetApiDestinationState(v string) *ApiDestination {
4938	s.ApiDestinationState = &v
4939	return s
4940}
4941
4942// SetConnectionArn sets the ConnectionArn field's value.
4943func (s *ApiDestination) SetConnectionArn(v string) *ApiDestination {
4944	s.ConnectionArn = &v
4945	return s
4946}
4947
4948// SetCreationTime sets the CreationTime field's value.
4949func (s *ApiDestination) SetCreationTime(v time.Time) *ApiDestination {
4950	s.CreationTime = &v
4951	return s
4952}
4953
4954// SetHttpMethod sets the HttpMethod field's value.
4955func (s *ApiDestination) SetHttpMethod(v string) *ApiDestination {
4956	s.HttpMethod = &v
4957	return s
4958}
4959
4960// SetInvocationEndpoint sets the InvocationEndpoint field's value.
4961func (s *ApiDestination) SetInvocationEndpoint(v string) *ApiDestination {
4962	s.InvocationEndpoint = &v
4963	return s
4964}
4965
4966// SetInvocationRateLimitPerSecond sets the InvocationRateLimitPerSecond field's value.
4967func (s *ApiDestination) SetInvocationRateLimitPerSecond(v int64) *ApiDestination {
4968	s.InvocationRateLimitPerSecond = &v
4969	return s
4970}
4971
4972// SetLastModifiedTime sets the LastModifiedTime field's value.
4973func (s *ApiDestination) SetLastModifiedTime(v time.Time) *ApiDestination {
4974	s.LastModifiedTime = &v
4975	return s
4976}
4977
4978// SetName sets the Name field's value.
4979func (s *ApiDestination) SetName(v string) *ApiDestination {
4980	s.Name = &v
4981	return s
4982}
4983
4984// An Archive object that contains details about an archive.
4985type Archive struct {
4986	_ struct{} `type:"structure"`
4987
4988	// The name of the archive.
4989	ArchiveName *string `min:"1" type:"string"`
4990
4991	// The time stamp for the time that the archive was created.
4992	CreationTime *time.Time `type:"timestamp"`
4993
4994	// The number of events in the archive.
4995	EventCount *int64 `type:"long"`
4996
4997	// The ARN of the event bus associated with the archive. Only events from this
4998	// event bus are sent to the archive.
4999	EventSourceArn *string `min:"1" type:"string"`
5000
5001	// The number of days to retain events in the archive before they are deleted.
5002	RetentionDays *int64 `type:"integer"`
5003
5004	// The size of the archive, in bytes.
5005	SizeBytes *int64 `type:"long"`
5006
5007	// The current state of the archive.
5008	State *string `type:"string" enum:"ArchiveState"`
5009
5010	// A description for the reason that the archive is in the current state.
5011	StateReason *string `type:"string"`
5012}
5013
5014// String returns the string representation.
5015//
5016// API parameter values that are decorated as "sensitive" in the API will not
5017// be included in the string output. The member name will be present, but the
5018// value will be replaced with "sensitive".
5019func (s Archive) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation.
5024//
5025// API parameter values that are decorated as "sensitive" in the API will not
5026// be included in the string output. The member name will be present, but the
5027// value will be replaced with "sensitive".
5028func (s Archive) GoString() string {
5029	return s.String()
5030}
5031
5032// SetArchiveName sets the ArchiveName field's value.
5033func (s *Archive) SetArchiveName(v string) *Archive {
5034	s.ArchiveName = &v
5035	return s
5036}
5037
5038// SetCreationTime sets the CreationTime field's value.
5039func (s *Archive) SetCreationTime(v time.Time) *Archive {
5040	s.CreationTime = &v
5041	return s
5042}
5043
5044// SetEventCount sets the EventCount field's value.
5045func (s *Archive) SetEventCount(v int64) *Archive {
5046	s.EventCount = &v
5047	return s
5048}
5049
5050// SetEventSourceArn sets the EventSourceArn field's value.
5051func (s *Archive) SetEventSourceArn(v string) *Archive {
5052	s.EventSourceArn = &v
5053	return s
5054}
5055
5056// SetRetentionDays sets the RetentionDays field's value.
5057func (s *Archive) SetRetentionDays(v int64) *Archive {
5058	s.RetentionDays = &v
5059	return s
5060}
5061
5062// SetSizeBytes sets the SizeBytes field's value.
5063func (s *Archive) SetSizeBytes(v int64) *Archive {
5064	s.SizeBytes = &v
5065	return s
5066}
5067
5068// SetState sets the State field's value.
5069func (s *Archive) SetState(v string) *Archive {
5070	s.State = &v
5071	return s
5072}
5073
5074// SetStateReason sets the StateReason field's value.
5075func (s *Archive) SetStateReason(v string) *Archive {
5076	s.StateReason = &v
5077	return s
5078}
5079
5080// This structure specifies the VPC subnets and security groups for the task,
5081// and whether a public IP address is to be used. This structure is relevant
5082// only for ECS tasks that use the awsvpc network mode.
5083type AwsVpcConfiguration struct {
5084	_ struct{} `type:"structure"`
5085
5086	// Specifies whether the task's elastic network interface receives a public
5087	// IP address. You can specify ENABLED only when LaunchType in EcsParameters
5088	// is set to FARGATE.
5089	AssignPublicIp *string `type:"string" enum:"AssignPublicIp"`
5090
5091	// Specifies the security groups associated with the task. These security groups
5092	// must all be in the same VPC. You can specify as many as five security groups.
5093	// If you do not specify a security group, the default security group for the
5094	// VPC is used.
5095	SecurityGroups []*string `type:"list"`
5096
5097	// Specifies the subnets associated with the task. These subnets must all be
5098	// in the same VPC. You can specify as many as 16 subnets.
5099	//
5100	// Subnets is a required field
5101	Subnets []*string `type:"list" required:"true"`
5102}
5103
5104// String returns the string representation.
5105//
5106// API parameter values that are decorated as "sensitive" in the API will not
5107// be included in the string output. The member name will be present, but the
5108// value will be replaced with "sensitive".
5109func (s AwsVpcConfiguration) String() string {
5110	return awsutil.Prettify(s)
5111}
5112
5113// GoString returns the string representation.
5114//
5115// API parameter values that are decorated as "sensitive" in the API will not
5116// be included in the string output. The member name will be present, but the
5117// value will be replaced with "sensitive".
5118func (s AwsVpcConfiguration) GoString() string {
5119	return s.String()
5120}
5121
5122// Validate inspects the fields of the type to determine if they are valid.
5123func (s *AwsVpcConfiguration) Validate() error {
5124	invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"}
5125	if s.Subnets == nil {
5126		invalidParams.Add(request.NewErrParamRequired("Subnets"))
5127	}
5128
5129	if invalidParams.Len() > 0 {
5130		return invalidParams
5131	}
5132	return nil
5133}
5134
5135// SetAssignPublicIp sets the AssignPublicIp field's value.
5136func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration {
5137	s.AssignPublicIp = &v
5138	return s
5139}
5140
5141// SetSecurityGroups sets the SecurityGroups field's value.
5142func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration {
5143	s.SecurityGroups = v
5144	return s
5145}
5146
5147// SetSubnets sets the Subnets field's value.
5148func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration {
5149	s.Subnets = v
5150	return s
5151}
5152
5153// The array properties for the submitted job, such as the size of the array.
5154// The array size can be between 2 and 10,000. If you specify array properties
5155// for a job, it becomes an array job. This parameter is used only if the target
5156// is an Batch job.
5157type BatchArrayProperties struct {
5158	_ struct{} `type:"structure"`
5159
5160	// The size of the array, if this is an array batch job. Valid values are integers
5161	// between 2 and 10,000.
5162	Size *int64 `type:"integer"`
5163}
5164
5165// String returns the string representation.
5166//
5167// API parameter values that are decorated as "sensitive" in the API will not
5168// be included in the string output. The member name will be present, but the
5169// value will be replaced with "sensitive".
5170func (s BatchArrayProperties) String() string {
5171	return awsutil.Prettify(s)
5172}
5173
5174// GoString returns the string representation.
5175//
5176// API parameter values that are decorated as "sensitive" in the API will not
5177// be included in the string output. The member name will be present, but the
5178// value will be replaced with "sensitive".
5179func (s BatchArrayProperties) GoString() string {
5180	return s.String()
5181}
5182
5183// SetSize sets the Size field's value.
5184func (s *BatchArrayProperties) SetSize(v int64) *BatchArrayProperties {
5185	s.Size = &v
5186	return s
5187}
5188
5189// The custom parameters to be used when the target is an Batch job.
5190type BatchParameters struct {
5191	_ struct{} `type:"structure"`
5192
5193	// The array properties for the submitted job, such as the size of the array.
5194	// The array size can be between 2 and 10,000. If you specify array properties
5195	// for a job, it becomes an array job. This parameter is used only if the target
5196	// is an Batch job.
5197	ArrayProperties *BatchArrayProperties `type:"structure"`
5198
5199	// The ARN or name of the job definition to use if the event target is an Batch
5200	// job. This job definition must already exist.
5201	//
5202	// JobDefinition is a required field
5203	JobDefinition *string `type:"string" required:"true"`
5204
5205	// The name to use for this execution of the job, if the target is an Batch
5206	// job.
5207	//
5208	// JobName is a required field
5209	JobName *string `type:"string" required:"true"`
5210
5211	// The retry strategy to use for failed jobs, if the target is an Batch job.
5212	// The retry strategy is the number of times to retry the failed job execution.
5213	// Valid values are 1–10. When you specify a retry strategy here, it overrides
5214	// the retry strategy defined in the job definition.
5215	RetryStrategy *BatchRetryStrategy `type:"structure"`
5216}
5217
5218// String returns the string representation.
5219//
5220// API parameter values that are decorated as "sensitive" in the API will not
5221// be included in the string output. The member name will be present, but the
5222// value will be replaced with "sensitive".
5223func (s BatchParameters) String() string {
5224	return awsutil.Prettify(s)
5225}
5226
5227// GoString returns the string representation.
5228//
5229// API parameter values that are decorated as "sensitive" in the API will not
5230// be included in the string output. The member name will be present, but the
5231// value will be replaced with "sensitive".
5232func (s BatchParameters) GoString() string {
5233	return s.String()
5234}
5235
5236// Validate inspects the fields of the type to determine if they are valid.
5237func (s *BatchParameters) Validate() error {
5238	invalidParams := request.ErrInvalidParams{Context: "BatchParameters"}
5239	if s.JobDefinition == nil {
5240		invalidParams.Add(request.NewErrParamRequired("JobDefinition"))
5241	}
5242	if s.JobName == nil {
5243		invalidParams.Add(request.NewErrParamRequired("JobName"))
5244	}
5245
5246	if invalidParams.Len() > 0 {
5247		return invalidParams
5248	}
5249	return nil
5250}
5251
5252// SetArrayProperties sets the ArrayProperties field's value.
5253func (s *BatchParameters) SetArrayProperties(v *BatchArrayProperties) *BatchParameters {
5254	s.ArrayProperties = v
5255	return s
5256}
5257
5258// SetJobDefinition sets the JobDefinition field's value.
5259func (s *BatchParameters) SetJobDefinition(v string) *BatchParameters {
5260	s.JobDefinition = &v
5261	return s
5262}
5263
5264// SetJobName sets the JobName field's value.
5265func (s *BatchParameters) SetJobName(v string) *BatchParameters {
5266	s.JobName = &v
5267	return s
5268}
5269
5270// SetRetryStrategy sets the RetryStrategy field's value.
5271func (s *BatchParameters) SetRetryStrategy(v *BatchRetryStrategy) *BatchParameters {
5272	s.RetryStrategy = v
5273	return s
5274}
5275
5276// The retry strategy to use for failed jobs, if the target is an Batch job.
5277// If you specify a retry strategy here, it overrides the retry strategy defined
5278// in the job definition.
5279type BatchRetryStrategy struct {
5280	_ struct{} `type:"structure"`
5281
5282	// The number of times to attempt to retry, if the job fails. Valid values are
5283	// 1–10.
5284	Attempts *int64 `type:"integer"`
5285}
5286
5287// String returns the string representation.
5288//
5289// API parameter values that are decorated as "sensitive" in the API will not
5290// be included in the string output. The member name will be present, but the
5291// value will be replaced with "sensitive".
5292func (s BatchRetryStrategy) String() string {
5293	return awsutil.Prettify(s)
5294}
5295
5296// GoString returns the string representation.
5297//
5298// API parameter values that are decorated as "sensitive" in the API will not
5299// be included in the string output. The member name will be present, but the
5300// value will be replaced with "sensitive".
5301func (s BatchRetryStrategy) GoString() string {
5302	return s.String()
5303}
5304
5305// SetAttempts sets the Attempts field's value.
5306func (s *BatchRetryStrategy) SetAttempts(v int64) *BatchRetryStrategy {
5307	s.Attempts = &v
5308	return s
5309}
5310
5311type CancelReplayInput struct {
5312	_ struct{} `type:"structure"`
5313
5314	// The name of the replay to cancel.
5315	//
5316	// ReplayName is a required field
5317	ReplayName *string `min:"1" type:"string" required:"true"`
5318}
5319
5320// String returns the string representation.
5321//
5322// API parameter values that are decorated as "sensitive" in the API will not
5323// be included in the string output. The member name will be present, but the
5324// value will be replaced with "sensitive".
5325func (s CancelReplayInput) String() string {
5326	return awsutil.Prettify(s)
5327}
5328
5329// GoString returns the string representation.
5330//
5331// API parameter values that are decorated as "sensitive" in the API will not
5332// be included in the string output. The member name will be present, but the
5333// value will be replaced with "sensitive".
5334func (s CancelReplayInput) GoString() string {
5335	return s.String()
5336}
5337
5338// Validate inspects the fields of the type to determine if they are valid.
5339func (s *CancelReplayInput) Validate() error {
5340	invalidParams := request.ErrInvalidParams{Context: "CancelReplayInput"}
5341	if s.ReplayName == nil {
5342		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
5343	}
5344	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
5345		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
5346	}
5347
5348	if invalidParams.Len() > 0 {
5349		return invalidParams
5350	}
5351	return nil
5352}
5353
5354// SetReplayName sets the ReplayName field's value.
5355func (s *CancelReplayInput) SetReplayName(v string) *CancelReplayInput {
5356	s.ReplayName = &v
5357	return s
5358}
5359
5360type CancelReplayOutput struct {
5361	_ struct{} `type:"structure"`
5362
5363	// The ARN of the replay to cancel.
5364	ReplayArn *string `min:"1" type:"string"`
5365
5366	// The current state of the replay.
5367	State *string `type:"string" enum:"ReplayState"`
5368
5369	// The reason that the replay is in the current state.
5370	StateReason *string `type:"string"`
5371}
5372
5373// String returns the string representation.
5374//
5375// API parameter values that are decorated as "sensitive" in the API will not
5376// be included in the string output. The member name will be present, but the
5377// value will be replaced with "sensitive".
5378func (s CancelReplayOutput) String() string {
5379	return awsutil.Prettify(s)
5380}
5381
5382// GoString returns the string representation.
5383//
5384// API parameter values that are decorated as "sensitive" in the API will not
5385// be included in the string output. The member name will be present, but the
5386// value will be replaced with "sensitive".
5387func (s CancelReplayOutput) GoString() string {
5388	return s.String()
5389}
5390
5391// SetReplayArn sets the ReplayArn field's value.
5392func (s *CancelReplayOutput) SetReplayArn(v string) *CancelReplayOutput {
5393	s.ReplayArn = &v
5394	return s
5395}
5396
5397// SetState sets the State field's value.
5398func (s *CancelReplayOutput) SetState(v string) *CancelReplayOutput {
5399	s.State = &v
5400	return s
5401}
5402
5403// SetStateReason sets the StateReason field's value.
5404func (s *CancelReplayOutput) SetStateReason(v string) *CancelReplayOutput {
5405	s.StateReason = &v
5406	return s
5407}
5408
5409// The details of a capacity provider strategy. To learn more, see CapacityProviderStrategyItem
5410// (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html)
5411// in the Amazon ECS API Reference.
5412type CapacityProviderStrategyItem struct {
5413	_ struct{} `type:"structure"`
5414
5415	// The base value designates how many tasks, at a minimum, to run on the specified
5416	// capacity provider. Only one capacity provider in a capacity provider strategy
5417	// can have a base defined. If no value is specified, the default value of 0
5418	// is used.
5419	Base *int64 `locationName:"base" type:"integer"`
5420
5421	// The short name of the capacity provider.
5422	//
5423	// CapacityProvider is a required field
5424	CapacityProvider *string `locationName:"capacityProvider" min:"1" type:"string" required:"true"`
5425
5426	// The weight value designates the relative percentage of the total number of
5427	// tasks launched that should use the specified capacity provider. The weight
5428	// value is taken into consideration after the base value, if defined, is satisfied.
5429	Weight *int64 `locationName:"weight" type:"integer"`
5430}
5431
5432// String returns the string representation.
5433//
5434// API parameter values that are decorated as "sensitive" in the API will not
5435// be included in the string output. The member name will be present, but the
5436// value will be replaced with "sensitive".
5437func (s CapacityProviderStrategyItem) String() string {
5438	return awsutil.Prettify(s)
5439}
5440
5441// GoString returns the string representation.
5442//
5443// API parameter values that are decorated as "sensitive" in the API will not
5444// be included in the string output. The member name will be present, but the
5445// value will be replaced with "sensitive".
5446func (s CapacityProviderStrategyItem) GoString() string {
5447	return s.String()
5448}
5449
5450// Validate inspects the fields of the type to determine if they are valid.
5451func (s *CapacityProviderStrategyItem) Validate() error {
5452	invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"}
5453	if s.CapacityProvider == nil {
5454		invalidParams.Add(request.NewErrParamRequired("CapacityProvider"))
5455	}
5456	if s.CapacityProvider != nil && len(*s.CapacityProvider) < 1 {
5457		invalidParams.Add(request.NewErrParamMinLen("CapacityProvider", 1))
5458	}
5459
5460	if invalidParams.Len() > 0 {
5461		return invalidParams
5462	}
5463	return nil
5464}
5465
5466// SetBase sets the Base field's value.
5467func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem {
5468	s.Base = &v
5469	return s
5470}
5471
5472// SetCapacityProvider sets the CapacityProvider field's value.
5473func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem {
5474	s.CapacityProvider = &v
5475	return s
5476}
5477
5478// SetWeight sets the Weight field's value.
5479func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem {
5480	s.Weight = &v
5481	return s
5482}
5483
5484// There is concurrent modification on a rule, target, archive, or replay.
5485type ConcurrentModificationException struct {
5486	_            struct{}                  `type:"structure"`
5487	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5488
5489	Message_ *string `locationName:"message" type:"string"`
5490}
5491
5492// String returns the string representation.
5493//
5494// API parameter values that are decorated as "sensitive" in the API will not
5495// be included in the string output. The member name will be present, but the
5496// value will be replaced with "sensitive".
5497func (s ConcurrentModificationException) String() string {
5498	return awsutil.Prettify(s)
5499}
5500
5501// GoString returns the string representation.
5502//
5503// API parameter values that are decorated as "sensitive" in the API will not
5504// be included in the string output. The member name will be present, but the
5505// value will be replaced with "sensitive".
5506func (s ConcurrentModificationException) GoString() string {
5507	return s.String()
5508}
5509
5510func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
5511	return &ConcurrentModificationException{
5512		RespMetadata: v,
5513	}
5514}
5515
5516// Code returns the exception type name.
5517func (s *ConcurrentModificationException) Code() string {
5518	return "ConcurrentModificationException"
5519}
5520
5521// Message returns the exception's message.
5522func (s *ConcurrentModificationException) Message() string {
5523	if s.Message_ != nil {
5524		return *s.Message_
5525	}
5526	return ""
5527}
5528
5529// OrigErr always returns nil, satisfies awserr.Error interface.
5530func (s *ConcurrentModificationException) OrigErr() error {
5531	return nil
5532}
5533
5534func (s *ConcurrentModificationException) Error() string {
5535	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5536}
5537
5538// Status code returns the HTTP status code for the request's response error.
5539func (s *ConcurrentModificationException) StatusCode() int {
5540	return s.RespMetadata.StatusCode
5541}
5542
5543// RequestID returns the service's response RequestID for request.
5544func (s *ConcurrentModificationException) RequestID() string {
5545	return s.RespMetadata.RequestID
5546}
5547
5548// A JSON string which you can use to limit the event bus permissions you are
5549// granting to only accounts that fulfill the condition. Currently, the only
5550// supported condition is membership in a certain Amazon Web Services organization.
5551// The string must contain Type, Key, and Value fields. The Value field specifies
5552// the ID of the Amazon Web Services organization. Following is an example value
5553// for Condition:
5554//
5555// '{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890"}'
5556type Condition struct {
5557	_ struct{} `type:"structure"`
5558
5559	// Specifies the key for the condition. Currently the only supported key is
5560	// aws:PrincipalOrgID.
5561	//
5562	// Key is a required field
5563	Key *string `type:"string" required:"true"`
5564
5565	// Specifies the type of condition. Currently the only supported value is StringEquals.
5566	//
5567	// Type is a required field
5568	Type *string `type:"string" required:"true"`
5569
5570	// Specifies the value for the key. Currently, this must be the ID of the organization.
5571	//
5572	// Value is a required field
5573	Value *string `type:"string" required:"true"`
5574}
5575
5576// String returns the string representation.
5577//
5578// API parameter values that are decorated as "sensitive" in the API will not
5579// be included in the string output. The member name will be present, but the
5580// value will be replaced with "sensitive".
5581func (s Condition) String() string {
5582	return awsutil.Prettify(s)
5583}
5584
5585// GoString returns the string representation.
5586//
5587// API parameter values that are decorated as "sensitive" in the API will not
5588// be included in the string output. The member name will be present, but the
5589// value will be replaced with "sensitive".
5590func (s Condition) GoString() string {
5591	return s.String()
5592}
5593
5594// Validate inspects the fields of the type to determine if they are valid.
5595func (s *Condition) Validate() error {
5596	invalidParams := request.ErrInvalidParams{Context: "Condition"}
5597	if s.Key == nil {
5598		invalidParams.Add(request.NewErrParamRequired("Key"))
5599	}
5600	if s.Type == nil {
5601		invalidParams.Add(request.NewErrParamRequired("Type"))
5602	}
5603	if s.Value == nil {
5604		invalidParams.Add(request.NewErrParamRequired("Value"))
5605	}
5606
5607	if invalidParams.Len() > 0 {
5608		return invalidParams
5609	}
5610	return nil
5611}
5612
5613// SetKey sets the Key field's value.
5614func (s *Condition) SetKey(v string) *Condition {
5615	s.Key = &v
5616	return s
5617}
5618
5619// SetType sets the Type field's value.
5620func (s *Condition) SetType(v string) *Condition {
5621	s.Type = &v
5622	return s
5623}
5624
5625// SetValue sets the Value field's value.
5626func (s *Condition) SetValue(v string) *Condition {
5627	s.Value = &v
5628	return s
5629}
5630
5631// Contains information about a connection.
5632type Connection struct {
5633	_ struct{} `type:"structure"`
5634
5635	// The authorization type specified for the connection.
5636	AuthorizationType *string `type:"string" enum:"ConnectionAuthorizationType"`
5637
5638	// The ARN of the connection.
5639	ConnectionArn *string `min:"1" type:"string"`
5640
5641	// The state of the connection.
5642	ConnectionState *string `type:"string" enum:"ConnectionState"`
5643
5644	// A time stamp for the time that the connection was created.
5645	CreationTime *time.Time `type:"timestamp"`
5646
5647	// A time stamp for the time that the connection was last authorized.
5648	LastAuthorizedTime *time.Time `type:"timestamp"`
5649
5650	// A time stamp for the time that the connection was last modified.
5651	LastModifiedTime *time.Time `type:"timestamp"`
5652
5653	// The name of the connection.
5654	Name *string `min:"1" type:"string"`
5655
5656	// The reason that the connection is in the connection state.
5657	StateReason *string `type:"string"`
5658}
5659
5660// String returns the string representation.
5661//
5662// API parameter values that are decorated as "sensitive" in the API will not
5663// be included in the string output. The member name will be present, but the
5664// value will be replaced with "sensitive".
5665func (s Connection) String() string {
5666	return awsutil.Prettify(s)
5667}
5668
5669// GoString returns the string representation.
5670//
5671// API parameter values that are decorated as "sensitive" in the API will not
5672// be included in the string output. The member name will be present, but the
5673// value will be replaced with "sensitive".
5674func (s Connection) GoString() string {
5675	return s.String()
5676}
5677
5678// SetAuthorizationType sets the AuthorizationType field's value.
5679func (s *Connection) SetAuthorizationType(v string) *Connection {
5680	s.AuthorizationType = &v
5681	return s
5682}
5683
5684// SetConnectionArn sets the ConnectionArn field's value.
5685func (s *Connection) SetConnectionArn(v string) *Connection {
5686	s.ConnectionArn = &v
5687	return s
5688}
5689
5690// SetConnectionState sets the ConnectionState field's value.
5691func (s *Connection) SetConnectionState(v string) *Connection {
5692	s.ConnectionState = &v
5693	return s
5694}
5695
5696// SetCreationTime sets the CreationTime field's value.
5697func (s *Connection) SetCreationTime(v time.Time) *Connection {
5698	s.CreationTime = &v
5699	return s
5700}
5701
5702// SetLastAuthorizedTime sets the LastAuthorizedTime field's value.
5703func (s *Connection) SetLastAuthorizedTime(v time.Time) *Connection {
5704	s.LastAuthorizedTime = &v
5705	return s
5706}
5707
5708// SetLastModifiedTime sets the LastModifiedTime field's value.
5709func (s *Connection) SetLastModifiedTime(v time.Time) *Connection {
5710	s.LastModifiedTime = &v
5711	return s
5712}
5713
5714// SetName sets the Name field's value.
5715func (s *Connection) SetName(v string) *Connection {
5716	s.Name = &v
5717	return s
5718}
5719
5720// SetStateReason sets the StateReason field's value.
5721func (s *Connection) SetStateReason(v string) *Connection {
5722	s.StateReason = &v
5723	return s
5724}
5725
5726// Contains the authorization parameters for the connection if API Key is specified
5727// as the authorization type.
5728type ConnectionApiKeyAuthResponseParameters struct {
5729	_ struct{} `type:"structure"`
5730
5731	// The name of the header to use for the APIKeyValue used for authorization.
5732	ApiKeyName *string `min:"1" type:"string"`
5733}
5734
5735// String returns the string representation.
5736//
5737// API parameter values that are decorated as "sensitive" in the API will not
5738// be included in the string output. The member name will be present, but the
5739// value will be replaced with "sensitive".
5740func (s ConnectionApiKeyAuthResponseParameters) String() string {
5741	return awsutil.Prettify(s)
5742}
5743
5744// GoString returns the string representation.
5745//
5746// API parameter values that are decorated as "sensitive" in the API will not
5747// be included in the string output. The member name will be present, but the
5748// value will be replaced with "sensitive".
5749func (s ConnectionApiKeyAuthResponseParameters) GoString() string {
5750	return s.String()
5751}
5752
5753// SetApiKeyName sets the ApiKeyName field's value.
5754func (s *ConnectionApiKeyAuthResponseParameters) SetApiKeyName(v string) *ConnectionApiKeyAuthResponseParameters {
5755	s.ApiKeyName = &v
5756	return s
5757}
5758
5759// Contains the authorization parameters to use for the connection.
5760type ConnectionAuthResponseParameters struct {
5761	_ struct{} `type:"structure"`
5762
5763	// The API Key parameters to use for authorization.
5764	ApiKeyAuthParameters *ConnectionApiKeyAuthResponseParameters `type:"structure"`
5765
5766	// The authorization parameters for Basic authorization.
5767	BasicAuthParameters *ConnectionBasicAuthResponseParameters `type:"structure"`
5768
5769	// Additional parameters for the connection that are passed through with every
5770	// invocation to the HTTP endpoint.
5771	InvocationHttpParameters *ConnectionHttpParameters `type:"structure"`
5772
5773	// The OAuth parameters to use for authorization.
5774	OAuthParameters *ConnectionOAuthResponseParameters `type:"structure"`
5775}
5776
5777// String returns the string representation.
5778//
5779// API parameter values that are decorated as "sensitive" in the API will not
5780// be included in the string output. The member name will be present, but the
5781// value will be replaced with "sensitive".
5782func (s ConnectionAuthResponseParameters) String() string {
5783	return awsutil.Prettify(s)
5784}
5785
5786// GoString returns the string representation.
5787//
5788// API parameter values that are decorated as "sensitive" in the API will not
5789// be included in the string output. The member name will be present, but the
5790// value will be replaced with "sensitive".
5791func (s ConnectionAuthResponseParameters) GoString() string {
5792	return s.String()
5793}
5794
5795// SetApiKeyAuthParameters sets the ApiKeyAuthParameters field's value.
5796func (s *ConnectionAuthResponseParameters) SetApiKeyAuthParameters(v *ConnectionApiKeyAuthResponseParameters) *ConnectionAuthResponseParameters {
5797	s.ApiKeyAuthParameters = v
5798	return s
5799}
5800
5801// SetBasicAuthParameters sets the BasicAuthParameters field's value.
5802func (s *ConnectionAuthResponseParameters) SetBasicAuthParameters(v *ConnectionBasicAuthResponseParameters) *ConnectionAuthResponseParameters {
5803	s.BasicAuthParameters = v
5804	return s
5805}
5806
5807// SetInvocationHttpParameters sets the InvocationHttpParameters field's value.
5808func (s *ConnectionAuthResponseParameters) SetInvocationHttpParameters(v *ConnectionHttpParameters) *ConnectionAuthResponseParameters {
5809	s.InvocationHttpParameters = v
5810	return s
5811}
5812
5813// SetOAuthParameters sets the OAuthParameters field's value.
5814func (s *ConnectionAuthResponseParameters) SetOAuthParameters(v *ConnectionOAuthResponseParameters) *ConnectionAuthResponseParameters {
5815	s.OAuthParameters = v
5816	return s
5817}
5818
5819// Contains the authorization parameters for the connection if Basic is specified
5820// as the authorization type.
5821type ConnectionBasicAuthResponseParameters struct {
5822	_ struct{} `type:"structure"`
5823
5824	// The user name to use for Basic authorization.
5825	Username *string `min:"1" type:"string"`
5826}
5827
5828// String returns the string representation.
5829//
5830// API parameter values that are decorated as "sensitive" in the API will not
5831// be included in the string output. The member name will be present, but the
5832// value will be replaced with "sensitive".
5833func (s ConnectionBasicAuthResponseParameters) String() string {
5834	return awsutil.Prettify(s)
5835}
5836
5837// GoString returns the string representation.
5838//
5839// API parameter values that are decorated as "sensitive" in the API will not
5840// be included in the string output. The member name will be present, but the
5841// value will be replaced with "sensitive".
5842func (s ConnectionBasicAuthResponseParameters) GoString() string {
5843	return s.String()
5844}
5845
5846// SetUsername sets the Username field's value.
5847func (s *ConnectionBasicAuthResponseParameters) SetUsername(v string) *ConnectionBasicAuthResponseParameters {
5848	s.Username = &v
5849	return s
5850}
5851
5852// Additional parameter included in the body. You can include up to 100 additional
5853// body parameters per request. An event payload cannot exceed 64 KB.
5854type ConnectionBodyParameter struct {
5855	_ struct{} `type:"structure"`
5856
5857	// Specified whether the value is secret.
5858	IsValueSecret *bool `type:"boolean"`
5859
5860	// The key for the parameter.
5861	Key *string `type:"string"`
5862
5863	// The value associated with the key.
5864	Value *string `type:"string"`
5865}
5866
5867// String returns the string representation.
5868//
5869// API parameter values that are decorated as "sensitive" in the API will not
5870// be included in the string output. The member name will be present, but the
5871// value will be replaced with "sensitive".
5872func (s ConnectionBodyParameter) String() string {
5873	return awsutil.Prettify(s)
5874}
5875
5876// GoString returns the string representation.
5877//
5878// API parameter values that are decorated as "sensitive" in the API will not
5879// be included in the string output. The member name will be present, but the
5880// value will be replaced with "sensitive".
5881func (s ConnectionBodyParameter) GoString() string {
5882	return s.String()
5883}
5884
5885// SetIsValueSecret sets the IsValueSecret field's value.
5886func (s *ConnectionBodyParameter) SetIsValueSecret(v bool) *ConnectionBodyParameter {
5887	s.IsValueSecret = &v
5888	return s
5889}
5890
5891// SetKey sets the Key field's value.
5892func (s *ConnectionBodyParameter) SetKey(v string) *ConnectionBodyParameter {
5893	s.Key = &v
5894	return s
5895}
5896
5897// SetValue sets the Value field's value.
5898func (s *ConnectionBodyParameter) SetValue(v string) *ConnectionBodyParameter {
5899	s.Value = &v
5900	return s
5901}
5902
5903// Additional parameter included in the header. You can include up to 100 additional
5904// header parameters per request. An event payload cannot exceed 64 KB.
5905type ConnectionHeaderParameter struct {
5906	_ struct{} `type:"structure"`
5907
5908	// Specified whether the value is a secret.
5909	IsValueSecret *bool `type:"boolean"`
5910
5911	// The key for the parameter.
5912	Key *string `type:"string"`
5913
5914	// The value associated with the key.
5915	Value *string `type:"string"`
5916}
5917
5918// String returns the string representation.
5919//
5920// API parameter values that are decorated as "sensitive" in the API will not
5921// be included in the string output. The member name will be present, but the
5922// value will be replaced with "sensitive".
5923func (s ConnectionHeaderParameter) String() string {
5924	return awsutil.Prettify(s)
5925}
5926
5927// GoString returns the string representation.
5928//
5929// API parameter values that are decorated as "sensitive" in the API will not
5930// be included in the string output. The member name will be present, but the
5931// value will be replaced with "sensitive".
5932func (s ConnectionHeaderParameter) GoString() string {
5933	return s.String()
5934}
5935
5936// SetIsValueSecret sets the IsValueSecret field's value.
5937func (s *ConnectionHeaderParameter) SetIsValueSecret(v bool) *ConnectionHeaderParameter {
5938	s.IsValueSecret = &v
5939	return s
5940}
5941
5942// SetKey sets the Key field's value.
5943func (s *ConnectionHeaderParameter) SetKey(v string) *ConnectionHeaderParameter {
5944	s.Key = &v
5945	return s
5946}
5947
5948// SetValue sets the Value field's value.
5949func (s *ConnectionHeaderParameter) SetValue(v string) *ConnectionHeaderParameter {
5950	s.Value = &v
5951	return s
5952}
5953
5954// Contains additional parameters for the connection.
5955type ConnectionHttpParameters struct {
5956	_ struct{} `type:"structure"`
5957
5958	// Contains additional body string parameters for the connection.
5959	BodyParameters []*ConnectionBodyParameter `type:"list"`
5960
5961	// Contains additional header parameters for the connection.
5962	HeaderParameters []*ConnectionHeaderParameter `type:"list"`
5963
5964	// Contains additional query string parameters for the connection.
5965	QueryStringParameters []*ConnectionQueryStringParameter `type:"list"`
5966}
5967
5968// String returns the string representation.
5969//
5970// API parameter values that are decorated as "sensitive" in the API will not
5971// be included in the string output. The member name will be present, but the
5972// value will be replaced with "sensitive".
5973func (s ConnectionHttpParameters) String() string {
5974	return awsutil.Prettify(s)
5975}
5976
5977// GoString returns the string representation.
5978//
5979// API parameter values that are decorated as "sensitive" in the API will not
5980// be included in the string output. The member name will be present, but the
5981// value will be replaced with "sensitive".
5982func (s ConnectionHttpParameters) GoString() string {
5983	return s.String()
5984}
5985
5986// SetBodyParameters sets the BodyParameters field's value.
5987func (s *ConnectionHttpParameters) SetBodyParameters(v []*ConnectionBodyParameter) *ConnectionHttpParameters {
5988	s.BodyParameters = v
5989	return s
5990}
5991
5992// SetHeaderParameters sets the HeaderParameters field's value.
5993func (s *ConnectionHttpParameters) SetHeaderParameters(v []*ConnectionHeaderParameter) *ConnectionHttpParameters {
5994	s.HeaderParameters = v
5995	return s
5996}
5997
5998// SetQueryStringParameters sets the QueryStringParameters field's value.
5999func (s *ConnectionHttpParameters) SetQueryStringParameters(v []*ConnectionQueryStringParameter) *ConnectionHttpParameters {
6000	s.QueryStringParameters = v
6001	return s
6002}
6003
6004// Contains the client response parameters for the connection when OAuth is
6005// specified as the authorization type.
6006type ConnectionOAuthClientResponseParameters struct {
6007	_ struct{} `type:"structure"`
6008
6009	// The client ID associated with the response to the connection request.
6010	ClientID *string `min:"1" type:"string"`
6011}
6012
6013// String returns the string representation.
6014//
6015// API parameter values that are decorated as "sensitive" in the API will not
6016// be included in the string output. The member name will be present, but the
6017// value will be replaced with "sensitive".
6018func (s ConnectionOAuthClientResponseParameters) String() string {
6019	return awsutil.Prettify(s)
6020}
6021
6022// GoString returns the string representation.
6023//
6024// API parameter values that are decorated as "sensitive" in the API will not
6025// be included in the string output. The member name will be present, but the
6026// value will be replaced with "sensitive".
6027func (s ConnectionOAuthClientResponseParameters) GoString() string {
6028	return s.String()
6029}
6030
6031// SetClientID sets the ClientID field's value.
6032func (s *ConnectionOAuthClientResponseParameters) SetClientID(v string) *ConnectionOAuthClientResponseParameters {
6033	s.ClientID = &v
6034	return s
6035}
6036
6037// Contains the response parameters when OAuth is specified as the authorization
6038// type.
6039type ConnectionOAuthResponseParameters struct {
6040	_ struct{} `type:"structure"`
6041
6042	// The URL to the HTTP endpoint that authorized the request.
6043	AuthorizationEndpoint *string `min:"1" type:"string"`
6044
6045	// A ConnectionOAuthClientResponseParameters object that contains details about
6046	// the client parameters returned when OAuth is specified as the authorization
6047	// type.
6048	ClientParameters *ConnectionOAuthClientResponseParameters `type:"structure"`
6049
6050	// The method used to connect to the HTTP endpoint.
6051	HttpMethod *string `type:"string" enum:"ConnectionOAuthHttpMethod"`
6052
6053	// The additional HTTP parameters used for the OAuth authorization request.
6054	OAuthHttpParameters *ConnectionHttpParameters `type:"structure"`
6055}
6056
6057// String returns the string representation.
6058//
6059// API parameter values that are decorated as "sensitive" in the API will not
6060// be included in the string output. The member name will be present, but the
6061// value will be replaced with "sensitive".
6062func (s ConnectionOAuthResponseParameters) String() string {
6063	return awsutil.Prettify(s)
6064}
6065
6066// GoString returns the string representation.
6067//
6068// API parameter values that are decorated as "sensitive" in the API will not
6069// be included in the string output. The member name will be present, but the
6070// value will be replaced with "sensitive".
6071func (s ConnectionOAuthResponseParameters) GoString() string {
6072	return s.String()
6073}
6074
6075// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value.
6076func (s *ConnectionOAuthResponseParameters) SetAuthorizationEndpoint(v string) *ConnectionOAuthResponseParameters {
6077	s.AuthorizationEndpoint = &v
6078	return s
6079}
6080
6081// SetClientParameters sets the ClientParameters field's value.
6082func (s *ConnectionOAuthResponseParameters) SetClientParameters(v *ConnectionOAuthClientResponseParameters) *ConnectionOAuthResponseParameters {
6083	s.ClientParameters = v
6084	return s
6085}
6086
6087// SetHttpMethod sets the HttpMethod field's value.
6088func (s *ConnectionOAuthResponseParameters) SetHttpMethod(v string) *ConnectionOAuthResponseParameters {
6089	s.HttpMethod = &v
6090	return s
6091}
6092
6093// SetOAuthHttpParameters sets the OAuthHttpParameters field's value.
6094func (s *ConnectionOAuthResponseParameters) SetOAuthHttpParameters(v *ConnectionHttpParameters) *ConnectionOAuthResponseParameters {
6095	s.OAuthHttpParameters = v
6096	return s
6097}
6098
6099// Additional query string parameter for the connection. You can include up
6100// to 100 additional query string parameters per request. Each additional parameter
6101// counts towards the event payload size, which cannot exceed 64 KB.
6102type ConnectionQueryStringParameter struct {
6103	_ struct{} `type:"structure"`
6104
6105	// Specifies whether the value is secret.
6106	IsValueSecret *bool `type:"boolean"`
6107
6108	// The key for a query string parameter.
6109	Key *string `type:"string"`
6110
6111	// The value associated with the key for the query string parameter.
6112	Value *string `type:"string"`
6113}
6114
6115// String returns the string representation.
6116//
6117// API parameter values that are decorated as "sensitive" in the API will not
6118// be included in the string output. The member name will be present, but the
6119// value will be replaced with "sensitive".
6120func (s ConnectionQueryStringParameter) String() string {
6121	return awsutil.Prettify(s)
6122}
6123
6124// GoString returns the string representation.
6125//
6126// API parameter values that are decorated as "sensitive" in the API will not
6127// be included in the string output. The member name will be present, but the
6128// value will be replaced with "sensitive".
6129func (s ConnectionQueryStringParameter) GoString() string {
6130	return s.String()
6131}
6132
6133// SetIsValueSecret sets the IsValueSecret field's value.
6134func (s *ConnectionQueryStringParameter) SetIsValueSecret(v bool) *ConnectionQueryStringParameter {
6135	s.IsValueSecret = &v
6136	return s
6137}
6138
6139// SetKey sets the Key field's value.
6140func (s *ConnectionQueryStringParameter) SetKey(v string) *ConnectionQueryStringParameter {
6141	s.Key = &v
6142	return s
6143}
6144
6145// SetValue sets the Value field's value.
6146func (s *ConnectionQueryStringParameter) SetValue(v string) *ConnectionQueryStringParameter {
6147	s.Value = &v
6148	return s
6149}
6150
6151type CreateApiDestinationInput struct {
6152	_ struct{} `type:"structure"`
6153
6154	// The ARN of the connection to use for the API destination. The destination
6155	// endpoint must support the authorization type specified for the connection.
6156	//
6157	// ConnectionArn is a required field
6158	ConnectionArn *string `min:"1" type:"string" required:"true"`
6159
6160	// A description for the API destination to create.
6161	Description *string `type:"string"`
6162
6163	// The method to use for the request to the HTTP invocation endpoint.
6164	//
6165	// HttpMethod is a required field
6166	HttpMethod *string `type:"string" required:"true" enum:"ApiDestinationHttpMethod"`
6167
6168	// The URL to the HTTP invocation endpoint for the API destination.
6169	//
6170	// InvocationEndpoint is a required field
6171	InvocationEndpoint *string `min:"1" type:"string" required:"true"`
6172
6173	// The maximum number of requests per second to send to the HTTP invocation
6174	// endpoint.
6175	InvocationRateLimitPerSecond *int64 `min:"1" type:"integer"`
6176
6177	// The name for the API destination to create.
6178	//
6179	// Name is a required field
6180	Name *string `min:"1" type:"string" required:"true"`
6181}
6182
6183// String returns the string representation.
6184//
6185// API parameter values that are decorated as "sensitive" in the API will not
6186// be included in the string output. The member name will be present, but the
6187// value will be replaced with "sensitive".
6188func (s CreateApiDestinationInput) String() string {
6189	return awsutil.Prettify(s)
6190}
6191
6192// GoString returns the string representation.
6193//
6194// API parameter values that are decorated as "sensitive" in the API will not
6195// be included in the string output. The member name will be present, but the
6196// value will be replaced with "sensitive".
6197func (s CreateApiDestinationInput) GoString() string {
6198	return s.String()
6199}
6200
6201// Validate inspects the fields of the type to determine if they are valid.
6202func (s *CreateApiDestinationInput) Validate() error {
6203	invalidParams := request.ErrInvalidParams{Context: "CreateApiDestinationInput"}
6204	if s.ConnectionArn == nil {
6205		invalidParams.Add(request.NewErrParamRequired("ConnectionArn"))
6206	}
6207	if s.ConnectionArn != nil && len(*s.ConnectionArn) < 1 {
6208		invalidParams.Add(request.NewErrParamMinLen("ConnectionArn", 1))
6209	}
6210	if s.HttpMethod == nil {
6211		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
6212	}
6213	if s.InvocationEndpoint == nil {
6214		invalidParams.Add(request.NewErrParamRequired("InvocationEndpoint"))
6215	}
6216	if s.InvocationEndpoint != nil && len(*s.InvocationEndpoint) < 1 {
6217		invalidParams.Add(request.NewErrParamMinLen("InvocationEndpoint", 1))
6218	}
6219	if s.InvocationRateLimitPerSecond != nil && *s.InvocationRateLimitPerSecond < 1 {
6220		invalidParams.Add(request.NewErrParamMinValue("InvocationRateLimitPerSecond", 1))
6221	}
6222	if s.Name == nil {
6223		invalidParams.Add(request.NewErrParamRequired("Name"))
6224	}
6225	if s.Name != nil && len(*s.Name) < 1 {
6226		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6227	}
6228
6229	if invalidParams.Len() > 0 {
6230		return invalidParams
6231	}
6232	return nil
6233}
6234
6235// SetConnectionArn sets the ConnectionArn field's value.
6236func (s *CreateApiDestinationInput) SetConnectionArn(v string) *CreateApiDestinationInput {
6237	s.ConnectionArn = &v
6238	return s
6239}
6240
6241// SetDescription sets the Description field's value.
6242func (s *CreateApiDestinationInput) SetDescription(v string) *CreateApiDestinationInput {
6243	s.Description = &v
6244	return s
6245}
6246
6247// SetHttpMethod sets the HttpMethod field's value.
6248func (s *CreateApiDestinationInput) SetHttpMethod(v string) *CreateApiDestinationInput {
6249	s.HttpMethod = &v
6250	return s
6251}
6252
6253// SetInvocationEndpoint sets the InvocationEndpoint field's value.
6254func (s *CreateApiDestinationInput) SetInvocationEndpoint(v string) *CreateApiDestinationInput {
6255	s.InvocationEndpoint = &v
6256	return s
6257}
6258
6259// SetInvocationRateLimitPerSecond sets the InvocationRateLimitPerSecond field's value.
6260func (s *CreateApiDestinationInput) SetInvocationRateLimitPerSecond(v int64) *CreateApiDestinationInput {
6261	s.InvocationRateLimitPerSecond = &v
6262	return s
6263}
6264
6265// SetName sets the Name field's value.
6266func (s *CreateApiDestinationInput) SetName(v string) *CreateApiDestinationInput {
6267	s.Name = &v
6268	return s
6269}
6270
6271type CreateApiDestinationOutput struct {
6272	_ struct{} `type:"structure"`
6273
6274	// The ARN of the API destination that was created by the request.
6275	ApiDestinationArn *string `min:"1" type:"string"`
6276
6277	// The state of the API destination that was created by the request.
6278	ApiDestinationState *string `type:"string" enum:"ApiDestinationState"`
6279
6280	// A time stamp indicating the time that the API destination was created.
6281	CreationTime *time.Time `type:"timestamp"`
6282
6283	// A time stamp indicating the time that the API destination was last modified.
6284	LastModifiedTime *time.Time `type:"timestamp"`
6285}
6286
6287// String returns the string representation.
6288//
6289// API parameter values that are decorated as "sensitive" in the API will not
6290// be included in the string output. The member name will be present, but the
6291// value will be replaced with "sensitive".
6292func (s CreateApiDestinationOutput) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation.
6297//
6298// API parameter values that are decorated as "sensitive" in the API will not
6299// be included in the string output. The member name will be present, but the
6300// value will be replaced with "sensitive".
6301func (s CreateApiDestinationOutput) GoString() string {
6302	return s.String()
6303}
6304
6305// SetApiDestinationArn sets the ApiDestinationArn field's value.
6306func (s *CreateApiDestinationOutput) SetApiDestinationArn(v string) *CreateApiDestinationOutput {
6307	s.ApiDestinationArn = &v
6308	return s
6309}
6310
6311// SetApiDestinationState sets the ApiDestinationState field's value.
6312func (s *CreateApiDestinationOutput) SetApiDestinationState(v string) *CreateApiDestinationOutput {
6313	s.ApiDestinationState = &v
6314	return s
6315}
6316
6317// SetCreationTime sets the CreationTime field's value.
6318func (s *CreateApiDestinationOutput) SetCreationTime(v time.Time) *CreateApiDestinationOutput {
6319	s.CreationTime = &v
6320	return s
6321}
6322
6323// SetLastModifiedTime sets the LastModifiedTime field's value.
6324func (s *CreateApiDestinationOutput) SetLastModifiedTime(v time.Time) *CreateApiDestinationOutput {
6325	s.LastModifiedTime = &v
6326	return s
6327}
6328
6329type CreateArchiveInput struct {
6330	_ struct{} `type:"structure"`
6331
6332	// The name for the archive to create.
6333	//
6334	// ArchiveName is a required field
6335	ArchiveName *string `min:"1" type:"string" required:"true"`
6336
6337	// A description for the archive.
6338	Description *string `type:"string"`
6339
6340	// An event pattern to use to filter events sent to the archive.
6341	EventPattern *string `type:"string"`
6342
6343	// The ARN of the event bus that sends events to the archive.
6344	//
6345	// EventSourceArn is a required field
6346	EventSourceArn *string `min:"1" type:"string" required:"true"`
6347
6348	// The number of days to retain events for. Default value is 0. If set to 0,
6349	// events are retained indefinitely
6350	RetentionDays *int64 `type:"integer"`
6351}
6352
6353// String returns the string representation.
6354//
6355// API parameter values that are decorated as "sensitive" in the API will not
6356// be included in the string output. The member name will be present, but the
6357// value will be replaced with "sensitive".
6358func (s CreateArchiveInput) String() string {
6359	return awsutil.Prettify(s)
6360}
6361
6362// GoString returns the string representation.
6363//
6364// API parameter values that are decorated as "sensitive" in the API will not
6365// be included in the string output. The member name will be present, but the
6366// value will be replaced with "sensitive".
6367func (s CreateArchiveInput) GoString() string {
6368	return s.String()
6369}
6370
6371// Validate inspects the fields of the type to determine if they are valid.
6372func (s *CreateArchiveInput) Validate() error {
6373	invalidParams := request.ErrInvalidParams{Context: "CreateArchiveInput"}
6374	if s.ArchiveName == nil {
6375		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
6376	}
6377	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
6378		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
6379	}
6380	if s.EventSourceArn == nil {
6381		invalidParams.Add(request.NewErrParamRequired("EventSourceArn"))
6382	}
6383	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
6384		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
6385	}
6386
6387	if invalidParams.Len() > 0 {
6388		return invalidParams
6389	}
6390	return nil
6391}
6392
6393// SetArchiveName sets the ArchiveName field's value.
6394func (s *CreateArchiveInput) SetArchiveName(v string) *CreateArchiveInput {
6395	s.ArchiveName = &v
6396	return s
6397}
6398
6399// SetDescription sets the Description field's value.
6400func (s *CreateArchiveInput) SetDescription(v string) *CreateArchiveInput {
6401	s.Description = &v
6402	return s
6403}
6404
6405// SetEventPattern sets the EventPattern field's value.
6406func (s *CreateArchiveInput) SetEventPattern(v string) *CreateArchiveInput {
6407	s.EventPattern = &v
6408	return s
6409}
6410
6411// SetEventSourceArn sets the EventSourceArn field's value.
6412func (s *CreateArchiveInput) SetEventSourceArn(v string) *CreateArchiveInput {
6413	s.EventSourceArn = &v
6414	return s
6415}
6416
6417// SetRetentionDays sets the RetentionDays field's value.
6418func (s *CreateArchiveInput) SetRetentionDays(v int64) *CreateArchiveInput {
6419	s.RetentionDays = &v
6420	return s
6421}
6422
6423type CreateArchiveOutput struct {
6424	_ struct{} `type:"structure"`
6425
6426	// The ARN of the archive that was created.
6427	ArchiveArn *string `min:"1" type:"string"`
6428
6429	// The time at which the archive was created.
6430	CreationTime *time.Time `type:"timestamp"`
6431
6432	// The state of the archive that was created.
6433	State *string `type:"string" enum:"ArchiveState"`
6434
6435	// The reason that the archive is in the state.
6436	StateReason *string `type:"string"`
6437}
6438
6439// String returns the string representation.
6440//
6441// API parameter values that are decorated as "sensitive" in the API will not
6442// be included in the string output. The member name will be present, but the
6443// value will be replaced with "sensitive".
6444func (s CreateArchiveOutput) String() string {
6445	return awsutil.Prettify(s)
6446}
6447
6448// GoString returns the string representation.
6449//
6450// API parameter values that are decorated as "sensitive" in the API will not
6451// be included in the string output. The member name will be present, but the
6452// value will be replaced with "sensitive".
6453func (s CreateArchiveOutput) GoString() string {
6454	return s.String()
6455}
6456
6457// SetArchiveArn sets the ArchiveArn field's value.
6458func (s *CreateArchiveOutput) SetArchiveArn(v string) *CreateArchiveOutput {
6459	s.ArchiveArn = &v
6460	return s
6461}
6462
6463// SetCreationTime sets the CreationTime field's value.
6464func (s *CreateArchiveOutput) SetCreationTime(v time.Time) *CreateArchiveOutput {
6465	s.CreationTime = &v
6466	return s
6467}
6468
6469// SetState sets the State field's value.
6470func (s *CreateArchiveOutput) SetState(v string) *CreateArchiveOutput {
6471	s.State = &v
6472	return s
6473}
6474
6475// SetStateReason sets the StateReason field's value.
6476func (s *CreateArchiveOutput) SetStateReason(v string) *CreateArchiveOutput {
6477	s.StateReason = &v
6478	return s
6479}
6480
6481// Contains the API key authorization parameters for the connection.
6482type CreateConnectionApiKeyAuthRequestParameters struct {
6483	_ struct{} `type:"structure"`
6484
6485	// The name of the API key to use for authorization.
6486	//
6487	// ApiKeyName is a required field
6488	ApiKeyName *string `min:"1" type:"string" required:"true"`
6489
6490	// The value for the API key to use for authorization.
6491	//
6492	// ApiKeyValue is a required field
6493	ApiKeyValue *string `min:"1" type:"string" required:"true"`
6494}
6495
6496// String returns the string representation.
6497//
6498// API parameter values that are decorated as "sensitive" in the API will not
6499// be included in the string output. The member name will be present, but the
6500// value will be replaced with "sensitive".
6501func (s CreateConnectionApiKeyAuthRequestParameters) String() string {
6502	return awsutil.Prettify(s)
6503}
6504
6505// GoString returns the string representation.
6506//
6507// API parameter values that are decorated as "sensitive" in the API will not
6508// be included in the string output. The member name will be present, but the
6509// value will be replaced with "sensitive".
6510func (s CreateConnectionApiKeyAuthRequestParameters) GoString() string {
6511	return s.String()
6512}
6513
6514// Validate inspects the fields of the type to determine if they are valid.
6515func (s *CreateConnectionApiKeyAuthRequestParameters) Validate() error {
6516	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionApiKeyAuthRequestParameters"}
6517	if s.ApiKeyName == nil {
6518		invalidParams.Add(request.NewErrParamRequired("ApiKeyName"))
6519	}
6520	if s.ApiKeyName != nil && len(*s.ApiKeyName) < 1 {
6521		invalidParams.Add(request.NewErrParamMinLen("ApiKeyName", 1))
6522	}
6523	if s.ApiKeyValue == nil {
6524		invalidParams.Add(request.NewErrParamRequired("ApiKeyValue"))
6525	}
6526	if s.ApiKeyValue != nil && len(*s.ApiKeyValue) < 1 {
6527		invalidParams.Add(request.NewErrParamMinLen("ApiKeyValue", 1))
6528	}
6529
6530	if invalidParams.Len() > 0 {
6531		return invalidParams
6532	}
6533	return nil
6534}
6535
6536// SetApiKeyName sets the ApiKeyName field's value.
6537func (s *CreateConnectionApiKeyAuthRequestParameters) SetApiKeyName(v string) *CreateConnectionApiKeyAuthRequestParameters {
6538	s.ApiKeyName = &v
6539	return s
6540}
6541
6542// SetApiKeyValue sets the ApiKeyValue field's value.
6543func (s *CreateConnectionApiKeyAuthRequestParameters) SetApiKeyValue(v string) *CreateConnectionApiKeyAuthRequestParameters {
6544	s.ApiKeyValue = &v
6545	return s
6546}
6547
6548// Contains the authorization parameters for the connection.
6549type CreateConnectionAuthRequestParameters struct {
6550	_ struct{} `type:"structure"`
6551
6552	// A CreateConnectionApiKeyAuthRequestParameters object that contains the API
6553	// key authorization parameters to use for the connection.
6554	ApiKeyAuthParameters *CreateConnectionApiKeyAuthRequestParameters `type:"structure"`
6555
6556	// A CreateConnectionBasicAuthRequestParameters object that contains the Basic
6557	// authorization parameters to use for the connection.
6558	BasicAuthParameters *CreateConnectionBasicAuthRequestParameters `type:"structure"`
6559
6560	// A ConnectionHttpParameters object that contains the API key authorization
6561	// parameters to use for the connection. Note that if you include additional
6562	// parameters for the target of a rule via HttpParameters, including query strings,
6563	// the parameters added for the connection take precedence.
6564	InvocationHttpParameters *ConnectionHttpParameters `type:"structure"`
6565
6566	// A CreateConnectionOAuthRequestParameters object that contains the OAuth authorization
6567	// parameters to use for the connection.
6568	OAuthParameters *CreateConnectionOAuthRequestParameters `type:"structure"`
6569}
6570
6571// String returns the string representation.
6572//
6573// API parameter values that are decorated as "sensitive" in the API will not
6574// be included in the string output. The member name will be present, but the
6575// value will be replaced with "sensitive".
6576func (s CreateConnectionAuthRequestParameters) String() string {
6577	return awsutil.Prettify(s)
6578}
6579
6580// GoString returns the string representation.
6581//
6582// API parameter values that are decorated as "sensitive" in the API will not
6583// be included in the string output. The member name will be present, but the
6584// value will be replaced with "sensitive".
6585func (s CreateConnectionAuthRequestParameters) GoString() string {
6586	return s.String()
6587}
6588
6589// Validate inspects the fields of the type to determine if they are valid.
6590func (s *CreateConnectionAuthRequestParameters) Validate() error {
6591	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionAuthRequestParameters"}
6592	if s.ApiKeyAuthParameters != nil {
6593		if err := s.ApiKeyAuthParameters.Validate(); err != nil {
6594			invalidParams.AddNested("ApiKeyAuthParameters", err.(request.ErrInvalidParams))
6595		}
6596	}
6597	if s.BasicAuthParameters != nil {
6598		if err := s.BasicAuthParameters.Validate(); err != nil {
6599			invalidParams.AddNested("BasicAuthParameters", err.(request.ErrInvalidParams))
6600		}
6601	}
6602	if s.OAuthParameters != nil {
6603		if err := s.OAuthParameters.Validate(); err != nil {
6604			invalidParams.AddNested("OAuthParameters", err.(request.ErrInvalidParams))
6605		}
6606	}
6607
6608	if invalidParams.Len() > 0 {
6609		return invalidParams
6610	}
6611	return nil
6612}
6613
6614// SetApiKeyAuthParameters sets the ApiKeyAuthParameters field's value.
6615func (s *CreateConnectionAuthRequestParameters) SetApiKeyAuthParameters(v *CreateConnectionApiKeyAuthRequestParameters) *CreateConnectionAuthRequestParameters {
6616	s.ApiKeyAuthParameters = v
6617	return s
6618}
6619
6620// SetBasicAuthParameters sets the BasicAuthParameters field's value.
6621func (s *CreateConnectionAuthRequestParameters) SetBasicAuthParameters(v *CreateConnectionBasicAuthRequestParameters) *CreateConnectionAuthRequestParameters {
6622	s.BasicAuthParameters = v
6623	return s
6624}
6625
6626// SetInvocationHttpParameters sets the InvocationHttpParameters field's value.
6627func (s *CreateConnectionAuthRequestParameters) SetInvocationHttpParameters(v *ConnectionHttpParameters) *CreateConnectionAuthRequestParameters {
6628	s.InvocationHttpParameters = v
6629	return s
6630}
6631
6632// SetOAuthParameters sets the OAuthParameters field's value.
6633func (s *CreateConnectionAuthRequestParameters) SetOAuthParameters(v *CreateConnectionOAuthRequestParameters) *CreateConnectionAuthRequestParameters {
6634	s.OAuthParameters = v
6635	return s
6636}
6637
6638// Contains the Basic authorization parameters to use for the connection.
6639type CreateConnectionBasicAuthRequestParameters struct {
6640	_ struct{} `type:"structure"`
6641
6642	// The password associated with the user name to use for Basic authorization.
6643	//
6644	// Password is a required field
6645	Password *string `min:"1" type:"string" required:"true"`
6646
6647	// The user name to use for Basic authorization.
6648	//
6649	// Username is a required field
6650	Username *string `min:"1" type:"string" required:"true"`
6651}
6652
6653// String returns the string representation.
6654//
6655// API parameter values that are decorated as "sensitive" in the API will not
6656// be included in the string output. The member name will be present, but the
6657// value will be replaced with "sensitive".
6658func (s CreateConnectionBasicAuthRequestParameters) String() string {
6659	return awsutil.Prettify(s)
6660}
6661
6662// GoString returns the string representation.
6663//
6664// API parameter values that are decorated as "sensitive" in the API will not
6665// be included in the string output. The member name will be present, but the
6666// value will be replaced with "sensitive".
6667func (s CreateConnectionBasicAuthRequestParameters) GoString() string {
6668	return s.String()
6669}
6670
6671// Validate inspects the fields of the type to determine if they are valid.
6672func (s *CreateConnectionBasicAuthRequestParameters) Validate() error {
6673	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionBasicAuthRequestParameters"}
6674	if s.Password == nil {
6675		invalidParams.Add(request.NewErrParamRequired("Password"))
6676	}
6677	if s.Password != nil && len(*s.Password) < 1 {
6678		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
6679	}
6680	if s.Username == nil {
6681		invalidParams.Add(request.NewErrParamRequired("Username"))
6682	}
6683	if s.Username != nil && len(*s.Username) < 1 {
6684		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
6685	}
6686
6687	if invalidParams.Len() > 0 {
6688		return invalidParams
6689	}
6690	return nil
6691}
6692
6693// SetPassword sets the Password field's value.
6694func (s *CreateConnectionBasicAuthRequestParameters) SetPassword(v string) *CreateConnectionBasicAuthRequestParameters {
6695	s.Password = &v
6696	return s
6697}
6698
6699// SetUsername sets the Username field's value.
6700func (s *CreateConnectionBasicAuthRequestParameters) SetUsername(v string) *CreateConnectionBasicAuthRequestParameters {
6701	s.Username = &v
6702	return s
6703}
6704
6705type CreateConnectionInput struct {
6706	_ struct{} `type:"structure"`
6707
6708	// A CreateConnectionAuthRequestParameters object that contains the authorization
6709	// parameters to use to authorize with the endpoint.
6710	//
6711	// AuthParameters is a required field
6712	AuthParameters *CreateConnectionAuthRequestParameters `type:"structure" required:"true"`
6713
6714	// The type of authorization to use for the connection.
6715	//
6716	// AuthorizationType is a required field
6717	AuthorizationType *string `type:"string" required:"true" enum:"ConnectionAuthorizationType"`
6718
6719	// A description for the connection to create.
6720	Description *string `type:"string"`
6721
6722	// The name for the connection to create.
6723	//
6724	// Name is a required field
6725	Name *string `min:"1" type:"string" required:"true"`
6726}
6727
6728// String returns the string representation.
6729//
6730// API parameter values that are decorated as "sensitive" in the API will not
6731// be included in the string output. The member name will be present, but the
6732// value will be replaced with "sensitive".
6733func (s CreateConnectionInput) String() string {
6734	return awsutil.Prettify(s)
6735}
6736
6737// GoString returns the string representation.
6738//
6739// API parameter values that are decorated as "sensitive" in the API will not
6740// be included in the string output. The member name will be present, but the
6741// value will be replaced with "sensitive".
6742func (s CreateConnectionInput) GoString() string {
6743	return s.String()
6744}
6745
6746// Validate inspects the fields of the type to determine if they are valid.
6747func (s *CreateConnectionInput) Validate() error {
6748	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"}
6749	if s.AuthParameters == nil {
6750		invalidParams.Add(request.NewErrParamRequired("AuthParameters"))
6751	}
6752	if s.AuthorizationType == nil {
6753		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
6754	}
6755	if s.Name == nil {
6756		invalidParams.Add(request.NewErrParamRequired("Name"))
6757	}
6758	if s.Name != nil && len(*s.Name) < 1 {
6759		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6760	}
6761	if s.AuthParameters != nil {
6762		if err := s.AuthParameters.Validate(); err != nil {
6763			invalidParams.AddNested("AuthParameters", err.(request.ErrInvalidParams))
6764		}
6765	}
6766
6767	if invalidParams.Len() > 0 {
6768		return invalidParams
6769	}
6770	return nil
6771}
6772
6773// SetAuthParameters sets the AuthParameters field's value.
6774func (s *CreateConnectionInput) SetAuthParameters(v *CreateConnectionAuthRequestParameters) *CreateConnectionInput {
6775	s.AuthParameters = v
6776	return s
6777}
6778
6779// SetAuthorizationType sets the AuthorizationType field's value.
6780func (s *CreateConnectionInput) SetAuthorizationType(v string) *CreateConnectionInput {
6781	s.AuthorizationType = &v
6782	return s
6783}
6784
6785// SetDescription sets the Description field's value.
6786func (s *CreateConnectionInput) SetDescription(v string) *CreateConnectionInput {
6787	s.Description = &v
6788	return s
6789}
6790
6791// SetName sets the Name field's value.
6792func (s *CreateConnectionInput) SetName(v string) *CreateConnectionInput {
6793	s.Name = &v
6794	return s
6795}
6796
6797// Contains the Basic authorization parameters to use for the connection.
6798type CreateConnectionOAuthClientRequestParameters struct {
6799	_ struct{} `type:"structure"`
6800
6801	// The client ID to use for OAuth authorization for the connection.
6802	//
6803	// ClientID is a required field
6804	ClientID *string `min:"1" type:"string" required:"true"`
6805
6806	// The client secret associated with the client ID to use for OAuth authorization
6807	// for the connection.
6808	//
6809	// ClientSecret is a required field
6810	ClientSecret *string `min:"1" type:"string" required:"true"`
6811}
6812
6813// String returns the string representation.
6814//
6815// API parameter values that are decorated as "sensitive" in the API will not
6816// be included in the string output. The member name will be present, but the
6817// value will be replaced with "sensitive".
6818func (s CreateConnectionOAuthClientRequestParameters) String() string {
6819	return awsutil.Prettify(s)
6820}
6821
6822// GoString returns the string representation.
6823//
6824// API parameter values that are decorated as "sensitive" in the API will not
6825// be included in the string output. The member name will be present, but the
6826// value will be replaced with "sensitive".
6827func (s CreateConnectionOAuthClientRequestParameters) GoString() string {
6828	return s.String()
6829}
6830
6831// Validate inspects the fields of the type to determine if they are valid.
6832func (s *CreateConnectionOAuthClientRequestParameters) Validate() error {
6833	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionOAuthClientRequestParameters"}
6834	if s.ClientID == nil {
6835		invalidParams.Add(request.NewErrParamRequired("ClientID"))
6836	}
6837	if s.ClientID != nil && len(*s.ClientID) < 1 {
6838		invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
6839	}
6840	if s.ClientSecret == nil {
6841		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
6842	}
6843	if s.ClientSecret != nil && len(*s.ClientSecret) < 1 {
6844		invalidParams.Add(request.NewErrParamMinLen("ClientSecret", 1))
6845	}
6846
6847	if invalidParams.Len() > 0 {
6848		return invalidParams
6849	}
6850	return nil
6851}
6852
6853// SetClientID sets the ClientID field's value.
6854func (s *CreateConnectionOAuthClientRequestParameters) SetClientID(v string) *CreateConnectionOAuthClientRequestParameters {
6855	s.ClientID = &v
6856	return s
6857}
6858
6859// SetClientSecret sets the ClientSecret field's value.
6860func (s *CreateConnectionOAuthClientRequestParameters) SetClientSecret(v string) *CreateConnectionOAuthClientRequestParameters {
6861	s.ClientSecret = &v
6862	return s
6863}
6864
6865// Contains the OAuth authorization parameters to use for the connection.
6866type CreateConnectionOAuthRequestParameters struct {
6867	_ struct{} `type:"structure"`
6868
6869	// The URL to the authorization endpoint when OAuth is specified as the authorization
6870	// type.
6871	//
6872	// AuthorizationEndpoint is a required field
6873	AuthorizationEndpoint *string `min:"1" type:"string" required:"true"`
6874
6875	// A CreateConnectionOAuthClientRequestParameters object that contains the client
6876	// parameters for OAuth authorization.
6877	//
6878	// ClientParameters is a required field
6879	ClientParameters *CreateConnectionOAuthClientRequestParameters `type:"structure" required:"true"`
6880
6881	// The method to use for the authorization request.
6882	//
6883	// HttpMethod is a required field
6884	HttpMethod *string `type:"string" required:"true" enum:"ConnectionOAuthHttpMethod"`
6885
6886	// A ConnectionHttpParameters object that contains details about the additional
6887	// parameters to use for the connection.
6888	OAuthHttpParameters *ConnectionHttpParameters `type:"structure"`
6889}
6890
6891// String returns the string representation.
6892//
6893// API parameter values that are decorated as "sensitive" in the API will not
6894// be included in the string output. The member name will be present, but the
6895// value will be replaced with "sensitive".
6896func (s CreateConnectionOAuthRequestParameters) String() string {
6897	return awsutil.Prettify(s)
6898}
6899
6900// GoString returns the string representation.
6901//
6902// API parameter values that are decorated as "sensitive" in the API will not
6903// be included in the string output. The member name will be present, but the
6904// value will be replaced with "sensitive".
6905func (s CreateConnectionOAuthRequestParameters) GoString() string {
6906	return s.String()
6907}
6908
6909// Validate inspects the fields of the type to determine if they are valid.
6910func (s *CreateConnectionOAuthRequestParameters) Validate() error {
6911	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionOAuthRequestParameters"}
6912	if s.AuthorizationEndpoint == nil {
6913		invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint"))
6914	}
6915	if s.AuthorizationEndpoint != nil && len(*s.AuthorizationEndpoint) < 1 {
6916		invalidParams.Add(request.NewErrParamMinLen("AuthorizationEndpoint", 1))
6917	}
6918	if s.ClientParameters == nil {
6919		invalidParams.Add(request.NewErrParamRequired("ClientParameters"))
6920	}
6921	if s.HttpMethod == nil {
6922		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
6923	}
6924	if s.ClientParameters != nil {
6925		if err := s.ClientParameters.Validate(); err != nil {
6926			invalidParams.AddNested("ClientParameters", err.(request.ErrInvalidParams))
6927		}
6928	}
6929
6930	if invalidParams.Len() > 0 {
6931		return invalidParams
6932	}
6933	return nil
6934}
6935
6936// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value.
6937func (s *CreateConnectionOAuthRequestParameters) SetAuthorizationEndpoint(v string) *CreateConnectionOAuthRequestParameters {
6938	s.AuthorizationEndpoint = &v
6939	return s
6940}
6941
6942// SetClientParameters sets the ClientParameters field's value.
6943func (s *CreateConnectionOAuthRequestParameters) SetClientParameters(v *CreateConnectionOAuthClientRequestParameters) *CreateConnectionOAuthRequestParameters {
6944	s.ClientParameters = v
6945	return s
6946}
6947
6948// SetHttpMethod sets the HttpMethod field's value.
6949func (s *CreateConnectionOAuthRequestParameters) SetHttpMethod(v string) *CreateConnectionOAuthRequestParameters {
6950	s.HttpMethod = &v
6951	return s
6952}
6953
6954// SetOAuthHttpParameters sets the OAuthHttpParameters field's value.
6955func (s *CreateConnectionOAuthRequestParameters) SetOAuthHttpParameters(v *ConnectionHttpParameters) *CreateConnectionOAuthRequestParameters {
6956	s.OAuthHttpParameters = v
6957	return s
6958}
6959
6960type CreateConnectionOutput struct {
6961	_ struct{} `type:"structure"`
6962
6963	// The ARN of the connection that was created by the request.
6964	ConnectionArn *string `min:"1" type:"string"`
6965
6966	// The state of the connection that was created by the request.
6967	ConnectionState *string `type:"string" enum:"ConnectionState"`
6968
6969	// A time stamp for the time that the connection was created.
6970	CreationTime *time.Time `type:"timestamp"`
6971
6972	// A time stamp for the time that the connection was last updated.
6973	LastModifiedTime *time.Time `type:"timestamp"`
6974}
6975
6976// String returns the string representation.
6977//
6978// API parameter values that are decorated as "sensitive" in the API will not
6979// be included in the string output. The member name will be present, but the
6980// value will be replaced with "sensitive".
6981func (s CreateConnectionOutput) String() string {
6982	return awsutil.Prettify(s)
6983}
6984
6985// GoString returns the string representation.
6986//
6987// API parameter values that are decorated as "sensitive" in the API will not
6988// be included in the string output. The member name will be present, but the
6989// value will be replaced with "sensitive".
6990func (s CreateConnectionOutput) GoString() string {
6991	return s.String()
6992}
6993
6994// SetConnectionArn sets the ConnectionArn field's value.
6995func (s *CreateConnectionOutput) SetConnectionArn(v string) *CreateConnectionOutput {
6996	s.ConnectionArn = &v
6997	return s
6998}
6999
7000// SetConnectionState sets the ConnectionState field's value.
7001func (s *CreateConnectionOutput) SetConnectionState(v string) *CreateConnectionOutput {
7002	s.ConnectionState = &v
7003	return s
7004}
7005
7006// SetCreationTime sets the CreationTime field's value.
7007func (s *CreateConnectionOutput) SetCreationTime(v time.Time) *CreateConnectionOutput {
7008	s.CreationTime = &v
7009	return s
7010}
7011
7012// SetLastModifiedTime sets the LastModifiedTime field's value.
7013func (s *CreateConnectionOutput) SetLastModifiedTime(v time.Time) *CreateConnectionOutput {
7014	s.LastModifiedTime = &v
7015	return s
7016}
7017
7018type CreateEventBusInput struct {
7019	_ struct{} `type:"structure"`
7020
7021	// If you are creating a partner event bus, this specifies the partner event
7022	// source that the new event bus will be matched with.
7023	EventSourceName *string `min:"1" type:"string"`
7024
7025	// The name of the new event bus.
7026	//
7027	// Event bus names cannot contain the / character. You can't use the name default
7028	// for a custom event bus, as this name is already used for your account's default
7029	// event bus.
7030	//
7031	// If this is a partner event bus, the name must exactly match the name of the
7032	// partner event source that this event bus is matched to.
7033	//
7034	// Name is a required field
7035	Name *string `min:"1" type:"string" required:"true"`
7036
7037	// Tags to associate with the event bus.
7038	Tags []*Tag `type:"list"`
7039}
7040
7041// String returns the string representation.
7042//
7043// API parameter values that are decorated as "sensitive" in the API will not
7044// be included in the string output. The member name will be present, but the
7045// value will be replaced with "sensitive".
7046func (s CreateEventBusInput) String() string {
7047	return awsutil.Prettify(s)
7048}
7049
7050// GoString returns the string representation.
7051//
7052// API parameter values that are decorated as "sensitive" in the API will not
7053// be included in the string output. The member name will be present, but the
7054// value will be replaced with "sensitive".
7055func (s CreateEventBusInput) GoString() string {
7056	return s.String()
7057}
7058
7059// Validate inspects the fields of the type to determine if they are valid.
7060func (s *CreateEventBusInput) Validate() error {
7061	invalidParams := request.ErrInvalidParams{Context: "CreateEventBusInput"}
7062	if s.EventSourceName != nil && len(*s.EventSourceName) < 1 {
7063		invalidParams.Add(request.NewErrParamMinLen("EventSourceName", 1))
7064	}
7065	if s.Name == nil {
7066		invalidParams.Add(request.NewErrParamRequired("Name"))
7067	}
7068	if s.Name != nil && len(*s.Name) < 1 {
7069		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7070	}
7071	if s.Tags != nil {
7072		for i, v := range s.Tags {
7073			if v == nil {
7074				continue
7075			}
7076			if err := v.Validate(); err != nil {
7077				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7078			}
7079		}
7080	}
7081
7082	if invalidParams.Len() > 0 {
7083		return invalidParams
7084	}
7085	return nil
7086}
7087
7088// SetEventSourceName sets the EventSourceName field's value.
7089func (s *CreateEventBusInput) SetEventSourceName(v string) *CreateEventBusInput {
7090	s.EventSourceName = &v
7091	return s
7092}
7093
7094// SetName sets the Name field's value.
7095func (s *CreateEventBusInput) SetName(v string) *CreateEventBusInput {
7096	s.Name = &v
7097	return s
7098}
7099
7100// SetTags sets the Tags field's value.
7101func (s *CreateEventBusInput) SetTags(v []*Tag) *CreateEventBusInput {
7102	s.Tags = v
7103	return s
7104}
7105
7106type CreateEventBusOutput struct {
7107	_ struct{} `type:"structure"`
7108
7109	// The ARN of the new event bus.
7110	EventBusArn *string `type:"string"`
7111}
7112
7113// String returns the string representation.
7114//
7115// API parameter values that are decorated as "sensitive" in the API will not
7116// be included in the string output. The member name will be present, but the
7117// value will be replaced with "sensitive".
7118func (s CreateEventBusOutput) String() string {
7119	return awsutil.Prettify(s)
7120}
7121
7122// GoString returns the string representation.
7123//
7124// API parameter values that are decorated as "sensitive" in the API will not
7125// be included in the string output. The member name will be present, but the
7126// value will be replaced with "sensitive".
7127func (s CreateEventBusOutput) GoString() string {
7128	return s.String()
7129}
7130
7131// SetEventBusArn sets the EventBusArn field's value.
7132func (s *CreateEventBusOutput) SetEventBusArn(v string) *CreateEventBusOutput {
7133	s.EventBusArn = &v
7134	return s
7135}
7136
7137type CreatePartnerEventSourceInput struct {
7138	_ struct{} `type:"structure"`
7139
7140	// The Amazon Web Services account ID that is permitted to create a matching
7141	// partner event bus for this partner event source.
7142	//
7143	// Account is a required field
7144	Account *string `min:"12" type:"string" required:"true"`
7145
7146	// The name of the partner event source. This name must be unique and must be
7147	// in the format partner_name/event_namespace/event_name . The Amazon Web Services
7148	// account that wants to use this partner event source must create a partner
7149	// event bus with a name that matches the name of the partner event source.
7150	//
7151	// Name is a required field
7152	Name *string `min:"1" type:"string" required:"true"`
7153}
7154
7155// String returns the string representation.
7156//
7157// API parameter values that are decorated as "sensitive" in the API will not
7158// be included in the string output. The member name will be present, but the
7159// value will be replaced with "sensitive".
7160func (s CreatePartnerEventSourceInput) String() string {
7161	return awsutil.Prettify(s)
7162}
7163
7164// GoString returns the string representation.
7165//
7166// API parameter values that are decorated as "sensitive" in the API will not
7167// be included in the string output. The member name will be present, but the
7168// value will be replaced with "sensitive".
7169func (s CreatePartnerEventSourceInput) GoString() string {
7170	return s.String()
7171}
7172
7173// Validate inspects the fields of the type to determine if they are valid.
7174func (s *CreatePartnerEventSourceInput) Validate() error {
7175	invalidParams := request.ErrInvalidParams{Context: "CreatePartnerEventSourceInput"}
7176	if s.Account == nil {
7177		invalidParams.Add(request.NewErrParamRequired("Account"))
7178	}
7179	if s.Account != nil && len(*s.Account) < 12 {
7180		invalidParams.Add(request.NewErrParamMinLen("Account", 12))
7181	}
7182	if s.Name == nil {
7183		invalidParams.Add(request.NewErrParamRequired("Name"))
7184	}
7185	if s.Name != nil && len(*s.Name) < 1 {
7186		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7187	}
7188
7189	if invalidParams.Len() > 0 {
7190		return invalidParams
7191	}
7192	return nil
7193}
7194
7195// SetAccount sets the Account field's value.
7196func (s *CreatePartnerEventSourceInput) SetAccount(v string) *CreatePartnerEventSourceInput {
7197	s.Account = &v
7198	return s
7199}
7200
7201// SetName sets the Name field's value.
7202func (s *CreatePartnerEventSourceInput) SetName(v string) *CreatePartnerEventSourceInput {
7203	s.Name = &v
7204	return s
7205}
7206
7207type CreatePartnerEventSourceOutput struct {
7208	_ struct{} `type:"structure"`
7209
7210	// The ARN of the partner event source.
7211	EventSourceArn *string `type:"string"`
7212}
7213
7214// String returns the string representation.
7215//
7216// API parameter values that are decorated as "sensitive" in the API will not
7217// be included in the string output. The member name will be present, but the
7218// value will be replaced with "sensitive".
7219func (s CreatePartnerEventSourceOutput) String() string {
7220	return awsutil.Prettify(s)
7221}
7222
7223// GoString returns the string representation.
7224//
7225// API parameter values that are decorated as "sensitive" in the API will not
7226// be included in the string output. The member name will be present, but the
7227// value will be replaced with "sensitive".
7228func (s CreatePartnerEventSourceOutput) GoString() string {
7229	return s.String()
7230}
7231
7232// SetEventSourceArn sets the EventSourceArn field's value.
7233func (s *CreatePartnerEventSourceOutput) SetEventSourceArn(v string) *CreatePartnerEventSourceOutput {
7234	s.EventSourceArn = &v
7235	return s
7236}
7237
7238type DeactivateEventSourceInput struct {
7239	_ struct{} `type:"structure"`
7240
7241	// The name of the partner event source to deactivate.
7242	//
7243	// Name is a required field
7244	Name *string `min:"1" type:"string" required:"true"`
7245}
7246
7247// String returns the string representation.
7248//
7249// API parameter values that are decorated as "sensitive" in the API will not
7250// be included in the string output. The member name will be present, but the
7251// value will be replaced with "sensitive".
7252func (s DeactivateEventSourceInput) String() string {
7253	return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation.
7257//
7258// API parameter values that are decorated as "sensitive" in the API will not
7259// be included in the string output. The member name will be present, but the
7260// value will be replaced with "sensitive".
7261func (s DeactivateEventSourceInput) GoString() string {
7262	return s.String()
7263}
7264
7265// Validate inspects the fields of the type to determine if they are valid.
7266func (s *DeactivateEventSourceInput) Validate() error {
7267	invalidParams := request.ErrInvalidParams{Context: "DeactivateEventSourceInput"}
7268	if s.Name == nil {
7269		invalidParams.Add(request.NewErrParamRequired("Name"))
7270	}
7271	if s.Name != nil && len(*s.Name) < 1 {
7272		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7273	}
7274
7275	if invalidParams.Len() > 0 {
7276		return invalidParams
7277	}
7278	return nil
7279}
7280
7281// SetName sets the Name field's value.
7282func (s *DeactivateEventSourceInput) SetName(v string) *DeactivateEventSourceInput {
7283	s.Name = &v
7284	return s
7285}
7286
7287type DeactivateEventSourceOutput struct {
7288	_ struct{} `type:"structure"`
7289}
7290
7291// String returns the string representation.
7292//
7293// API parameter values that are decorated as "sensitive" in the API will not
7294// be included in the string output. The member name will be present, but the
7295// value will be replaced with "sensitive".
7296func (s DeactivateEventSourceOutput) String() string {
7297	return awsutil.Prettify(s)
7298}
7299
7300// GoString returns the string representation.
7301//
7302// API parameter values that are decorated as "sensitive" in the API will not
7303// be included in the string output. The member name will be present, but the
7304// value will be replaced with "sensitive".
7305func (s DeactivateEventSourceOutput) GoString() string {
7306	return s.String()
7307}
7308
7309// A DeadLetterConfig object that contains information about a dead-letter queue
7310// configuration.
7311type DeadLetterConfig struct {
7312	_ struct{} `type:"structure"`
7313
7314	// The ARN of the SQS queue specified as the target for the dead-letter queue.
7315	Arn *string `min:"1" type:"string"`
7316}
7317
7318// String returns the string representation.
7319//
7320// API parameter values that are decorated as "sensitive" in the API will not
7321// be included in the string output. The member name will be present, but the
7322// value will be replaced with "sensitive".
7323func (s DeadLetterConfig) String() string {
7324	return awsutil.Prettify(s)
7325}
7326
7327// GoString returns the string representation.
7328//
7329// API parameter values that are decorated as "sensitive" in the API will not
7330// be included in the string output. The member name will be present, but the
7331// value will be replaced with "sensitive".
7332func (s DeadLetterConfig) GoString() string {
7333	return s.String()
7334}
7335
7336// Validate inspects the fields of the type to determine if they are valid.
7337func (s *DeadLetterConfig) Validate() error {
7338	invalidParams := request.ErrInvalidParams{Context: "DeadLetterConfig"}
7339	if s.Arn != nil && len(*s.Arn) < 1 {
7340		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
7341	}
7342
7343	if invalidParams.Len() > 0 {
7344		return invalidParams
7345	}
7346	return nil
7347}
7348
7349// SetArn sets the Arn field's value.
7350func (s *DeadLetterConfig) SetArn(v string) *DeadLetterConfig {
7351	s.Arn = &v
7352	return s
7353}
7354
7355type DeauthorizeConnectionInput struct {
7356	_ struct{} `type:"structure"`
7357
7358	// The name of the connection to remove authorization from.
7359	//
7360	// Name is a required field
7361	Name *string `min:"1" type:"string" required:"true"`
7362}
7363
7364// String returns the string representation.
7365//
7366// API parameter values that are decorated as "sensitive" in the API will not
7367// be included in the string output. The member name will be present, but the
7368// value will be replaced with "sensitive".
7369func (s DeauthorizeConnectionInput) String() string {
7370	return awsutil.Prettify(s)
7371}
7372
7373// GoString returns the string representation.
7374//
7375// API parameter values that are decorated as "sensitive" in the API will not
7376// be included in the string output. The member name will be present, but the
7377// value will be replaced with "sensitive".
7378func (s DeauthorizeConnectionInput) GoString() string {
7379	return s.String()
7380}
7381
7382// Validate inspects the fields of the type to determine if they are valid.
7383func (s *DeauthorizeConnectionInput) Validate() error {
7384	invalidParams := request.ErrInvalidParams{Context: "DeauthorizeConnectionInput"}
7385	if s.Name == nil {
7386		invalidParams.Add(request.NewErrParamRequired("Name"))
7387	}
7388	if s.Name != nil && len(*s.Name) < 1 {
7389		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7390	}
7391
7392	if invalidParams.Len() > 0 {
7393		return invalidParams
7394	}
7395	return nil
7396}
7397
7398// SetName sets the Name field's value.
7399func (s *DeauthorizeConnectionInput) SetName(v string) *DeauthorizeConnectionInput {
7400	s.Name = &v
7401	return s
7402}
7403
7404type DeauthorizeConnectionOutput struct {
7405	_ struct{} `type:"structure"`
7406
7407	// The ARN of the connection that authorization was removed from.
7408	ConnectionArn *string `min:"1" type:"string"`
7409
7410	// The state of the connection.
7411	ConnectionState *string `type:"string" enum:"ConnectionState"`
7412
7413	// A time stamp for the time that the connection was created.
7414	CreationTime *time.Time `type:"timestamp"`
7415
7416	// A time stamp for the time that the connection was last authorized.
7417	LastAuthorizedTime *time.Time `type:"timestamp"`
7418
7419	// A time stamp for the time that the connection was last updated.
7420	LastModifiedTime *time.Time `type:"timestamp"`
7421}
7422
7423// String returns the string representation.
7424//
7425// API parameter values that are decorated as "sensitive" in the API will not
7426// be included in the string output. The member name will be present, but the
7427// value will be replaced with "sensitive".
7428func (s DeauthorizeConnectionOutput) String() string {
7429	return awsutil.Prettify(s)
7430}
7431
7432// GoString returns the string representation.
7433//
7434// API parameter values that are decorated as "sensitive" in the API will not
7435// be included in the string output. The member name will be present, but the
7436// value will be replaced with "sensitive".
7437func (s DeauthorizeConnectionOutput) GoString() string {
7438	return s.String()
7439}
7440
7441// SetConnectionArn sets the ConnectionArn field's value.
7442func (s *DeauthorizeConnectionOutput) SetConnectionArn(v string) *DeauthorizeConnectionOutput {
7443	s.ConnectionArn = &v
7444	return s
7445}
7446
7447// SetConnectionState sets the ConnectionState field's value.
7448func (s *DeauthorizeConnectionOutput) SetConnectionState(v string) *DeauthorizeConnectionOutput {
7449	s.ConnectionState = &v
7450	return s
7451}
7452
7453// SetCreationTime sets the CreationTime field's value.
7454func (s *DeauthorizeConnectionOutput) SetCreationTime(v time.Time) *DeauthorizeConnectionOutput {
7455	s.CreationTime = &v
7456	return s
7457}
7458
7459// SetLastAuthorizedTime sets the LastAuthorizedTime field's value.
7460func (s *DeauthorizeConnectionOutput) SetLastAuthorizedTime(v time.Time) *DeauthorizeConnectionOutput {
7461	s.LastAuthorizedTime = &v
7462	return s
7463}
7464
7465// SetLastModifiedTime sets the LastModifiedTime field's value.
7466func (s *DeauthorizeConnectionOutput) SetLastModifiedTime(v time.Time) *DeauthorizeConnectionOutput {
7467	s.LastModifiedTime = &v
7468	return s
7469}
7470
7471type DeleteApiDestinationInput struct {
7472	_ struct{} `type:"structure"`
7473
7474	// The name of the destination to delete.
7475	//
7476	// Name is a required field
7477	Name *string `min:"1" type:"string" required:"true"`
7478}
7479
7480// String returns the string representation.
7481//
7482// API parameter values that are decorated as "sensitive" in the API will not
7483// be included in the string output. The member name will be present, but the
7484// value will be replaced with "sensitive".
7485func (s DeleteApiDestinationInput) String() string {
7486	return awsutil.Prettify(s)
7487}
7488
7489// GoString returns the string representation.
7490//
7491// API parameter values that are decorated as "sensitive" in the API will not
7492// be included in the string output. The member name will be present, but the
7493// value will be replaced with "sensitive".
7494func (s DeleteApiDestinationInput) GoString() string {
7495	return s.String()
7496}
7497
7498// Validate inspects the fields of the type to determine if they are valid.
7499func (s *DeleteApiDestinationInput) Validate() error {
7500	invalidParams := request.ErrInvalidParams{Context: "DeleteApiDestinationInput"}
7501	if s.Name == nil {
7502		invalidParams.Add(request.NewErrParamRequired("Name"))
7503	}
7504	if s.Name != nil && len(*s.Name) < 1 {
7505		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7506	}
7507
7508	if invalidParams.Len() > 0 {
7509		return invalidParams
7510	}
7511	return nil
7512}
7513
7514// SetName sets the Name field's value.
7515func (s *DeleteApiDestinationInput) SetName(v string) *DeleteApiDestinationInput {
7516	s.Name = &v
7517	return s
7518}
7519
7520type DeleteApiDestinationOutput struct {
7521	_ struct{} `type:"structure"`
7522}
7523
7524// String returns the string representation.
7525//
7526// API parameter values that are decorated as "sensitive" in the API will not
7527// be included in the string output. The member name will be present, but the
7528// value will be replaced with "sensitive".
7529func (s DeleteApiDestinationOutput) String() string {
7530	return awsutil.Prettify(s)
7531}
7532
7533// GoString returns the string representation.
7534//
7535// API parameter values that are decorated as "sensitive" in the API will not
7536// be included in the string output. The member name will be present, but the
7537// value will be replaced with "sensitive".
7538func (s DeleteApiDestinationOutput) GoString() string {
7539	return s.String()
7540}
7541
7542type DeleteArchiveInput struct {
7543	_ struct{} `type:"structure"`
7544
7545	// The name of the archive to delete.
7546	//
7547	// ArchiveName is a required field
7548	ArchiveName *string `min:"1" type:"string" required:"true"`
7549}
7550
7551// String returns the string representation.
7552//
7553// API parameter values that are decorated as "sensitive" in the API will not
7554// be included in the string output. The member name will be present, but the
7555// value will be replaced with "sensitive".
7556func (s DeleteArchiveInput) String() string {
7557	return awsutil.Prettify(s)
7558}
7559
7560// GoString returns the string representation.
7561//
7562// API parameter values that are decorated as "sensitive" in the API will not
7563// be included in the string output. The member name will be present, but the
7564// value will be replaced with "sensitive".
7565func (s DeleteArchiveInput) GoString() string {
7566	return s.String()
7567}
7568
7569// Validate inspects the fields of the type to determine if they are valid.
7570func (s *DeleteArchiveInput) Validate() error {
7571	invalidParams := request.ErrInvalidParams{Context: "DeleteArchiveInput"}
7572	if s.ArchiveName == nil {
7573		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
7574	}
7575	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
7576		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
7577	}
7578
7579	if invalidParams.Len() > 0 {
7580		return invalidParams
7581	}
7582	return nil
7583}
7584
7585// SetArchiveName sets the ArchiveName field's value.
7586func (s *DeleteArchiveInput) SetArchiveName(v string) *DeleteArchiveInput {
7587	s.ArchiveName = &v
7588	return s
7589}
7590
7591type DeleteArchiveOutput struct {
7592	_ struct{} `type:"structure"`
7593}
7594
7595// String returns the string representation.
7596//
7597// API parameter values that are decorated as "sensitive" in the API will not
7598// be included in the string output. The member name will be present, but the
7599// value will be replaced with "sensitive".
7600func (s DeleteArchiveOutput) String() string {
7601	return awsutil.Prettify(s)
7602}
7603
7604// GoString returns the string representation.
7605//
7606// API parameter values that are decorated as "sensitive" in the API will not
7607// be included in the string output. The member name will be present, but the
7608// value will be replaced with "sensitive".
7609func (s DeleteArchiveOutput) GoString() string {
7610	return s.String()
7611}
7612
7613type DeleteConnectionInput struct {
7614	_ struct{} `type:"structure"`
7615
7616	// The name of the connection to delete.
7617	//
7618	// Name is a required field
7619	Name *string `min:"1" type:"string" required:"true"`
7620}
7621
7622// String returns the string representation.
7623//
7624// API parameter values that are decorated as "sensitive" in the API will not
7625// be included in the string output. The member name will be present, but the
7626// value will be replaced with "sensitive".
7627func (s DeleteConnectionInput) String() string {
7628	return awsutil.Prettify(s)
7629}
7630
7631// GoString returns the string representation.
7632//
7633// API parameter values that are decorated as "sensitive" in the API will not
7634// be included in the string output. The member name will be present, but the
7635// value will be replaced with "sensitive".
7636func (s DeleteConnectionInput) GoString() string {
7637	return s.String()
7638}
7639
7640// Validate inspects the fields of the type to determine if they are valid.
7641func (s *DeleteConnectionInput) Validate() error {
7642	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
7643	if s.Name == nil {
7644		invalidParams.Add(request.NewErrParamRequired("Name"))
7645	}
7646	if s.Name != nil && len(*s.Name) < 1 {
7647		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7648	}
7649
7650	if invalidParams.Len() > 0 {
7651		return invalidParams
7652	}
7653	return nil
7654}
7655
7656// SetName sets the Name field's value.
7657func (s *DeleteConnectionInput) SetName(v string) *DeleteConnectionInput {
7658	s.Name = &v
7659	return s
7660}
7661
7662type DeleteConnectionOutput struct {
7663	_ struct{} `type:"structure"`
7664
7665	// The ARN of the connection that was deleted.
7666	ConnectionArn *string `min:"1" type:"string"`
7667
7668	// The state of the connection before it was deleted.
7669	ConnectionState *string `type:"string" enum:"ConnectionState"`
7670
7671	// A time stamp for the time that the connection was created.
7672	CreationTime *time.Time `type:"timestamp"`
7673
7674	// A time stamp for the time that the connection was last authorized before
7675	// it wa deleted.
7676	LastAuthorizedTime *time.Time `type:"timestamp"`
7677
7678	// A time stamp for the time that the connection was last modified before it
7679	// was deleted.
7680	LastModifiedTime *time.Time `type:"timestamp"`
7681}
7682
7683// String returns the string representation.
7684//
7685// API parameter values that are decorated as "sensitive" in the API will not
7686// be included in the string output. The member name will be present, but the
7687// value will be replaced with "sensitive".
7688func (s DeleteConnectionOutput) String() string {
7689	return awsutil.Prettify(s)
7690}
7691
7692// GoString returns the string representation.
7693//
7694// API parameter values that are decorated as "sensitive" in the API will not
7695// be included in the string output. The member name will be present, but the
7696// value will be replaced with "sensitive".
7697func (s DeleteConnectionOutput) GoString() string {
7698	return s.String()
7699}
7700
7701// SetConnectionArn sets the ConnectionArn field's value.
7702func (s *DeleteConnectionOutput) SetConnectionArn(v string) *DeleteConnectionOutput {
7703	s.ConnectionArn = &v
7704	return s
7705}
7706
7707// SetConnectionState sets the ConnectionState field's value.
7708func (s *DeleteConnectionOutput) SetConnectionState(v string) *DeleteConnectionOutput {
7709	s.ConnectionState = &v
7710	return s
7711}
7712
7713// SetCreationTime sets the CreationTime field's value.
7714func (s *DeleteConnectionOutput) SetCreationTime(v time.Time) *DeleteConnectionOutput {
7715	s.CreationTime = &v
7716	return s
7717}
7718
7719// SetLastAuthorizedTime sets the LastAuthorizedTime field's value.
7720func (s *DeleteConnectionOutput) SetLastAuthorizedTime(v time.Time) *DeleteConnectionOutput {
7721	s.LastAuthorizedTime = &v
7722	return s
7723}
7724
7725// SetLastModifiedTime sets the LastModifiedTime field's value.
7726func (s *DeleteConnectionOutput) SetLastModifiedTime(v time.Time) *DeleteConnectionOutput {
7727	s.LastModifiedTime = &v
7728	return s
7729}
7730
7731type DeleteEventBusInput struct {
7732	_ struct{} `type:"structure"`
7733
7734	// The name of the event bus to delete.
7735	//
7736	// Name is a required field
7737	Name *string `min:"1" type:"string" required:"true"`
7738}
7739
7740// String returns the string representation.
7741//
7742// API parameter values that are decorated as "sensitive" in the API will not
7743// be included in the string output. The member name will be present, but the
7744// value will be replaced with "sensitive".
7745func (s DeleteEventBusInput) String() string {
7746	return awsutil.Prettify(s)
7747}
7748
7749// GoString returns the string representation.
7750//
7751// API parameter values that are decorated as "sensitive" in the API will not
7752// be included in the string output. The member name will be present, but the
7753// value will be replaced with "sensitive".
7754func (s DeleteEventBusInput) GoString() string {
7755	return s.String()
7756}
7757
7758// Validate inspects the fields of the type to determine if they are valid.
7759func (s *DeleteEventBusInput) Validate() error {
7760	invalidParams := request.ErrInvalidParams{Context: "DeleteEventBusInput"}
7761	if s.Name == nil {
7762		invalidParams.Add(request.NewErrParamRequired("Name"))
7763	}
7764	if s.Name != nil && len(*s.Name) < 1 {
7765		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7766	}
7767
7768	if invalidParams.Len() > 0 {
7769		return invalidParams
7770	}
7771	return nil
7772}
7773
7774// SetName sets the Name field's value.
7775func (s *DeleteEventBusInput) SetName(v string) *DeleteEventBusInput {
7776	s.Name = &v
7777	return s
7778}
7779
7780type DeleteEventBusOutput struct {
7781	_ struct{} `type:"structure"`
7782}
7783
7784// String returns the string representation.
7785//
7786// API parameter values that are decorated as "sensitive" in the API will not
7787// be included in the string output. The member name will be present, but the
7788// value will be replaced with "sensitive".
7789func (s DeleteEventBusOutput) String() string {
7790	return awsutil.Prettify(s)
7791}
7792
7793// GoString returns the string representation.
7794//
7795// API parameter values that are decorated as "sensitive" in the API will not
7796// be included in the string output. The member name will be present, but the
7797// value will be replaced with "sensitive".
7798func (s DeleteEventBusOutput) GoString() string {
7799	return s.String()
7800}
7801
7802type DeletePartnerEventSourceInput struct {
7803	_ struct{} `type:"structure"`
7804
7805	// The Amazon Web Services account ID of the Amazon Web Services customer that
7806	// the event source was created for.
7807	//
7808	// Account is a required field
7809	Account *string `min:"12" type:"string" required:"true"`
7810
7811	// The name of the event source to delete.
7812	//
7813	// Name is a required field
7814	Name *string `min:"1" type:"string" required:"true"`
7815}
7816
7817// String returns the string representation.
7818//
7819// API parameter values that are decorated as "sensitive" in the API will not
7820// be included in the string output. The member name will be present, but the
7821// value will be replaced with "sensitive".
7822func (s DeletePartnerEventSourceInput) String() string {
7823	return awsutil.Prettify(s)
7824}
7825
7826// GoString returns the string representation.
7827//
7828// API parameter values that are decorated as "sensitive" in the API will not
7829// be included in the string output. The member name will be present, but the
7830// value will be replaced with "sensitive".
7831func (s DeletePartnerEventSourceInput) GoString() string {
7832	return s.String()
7833}
7834
7835// Validate inspects the fields of the type to determine if they are valid.
7836func (s *DeletePartnerEventSourceInput) Validate() error {
7837	invalidParams := request.ErrInvalidParams{Context: "DeletePartnerEventSourceInput"}
7838	if s.Account == nil {
7839		invalidParams.Add(request.NewErrParamRequired("Account"))
7840	}
7841	if s.Account != nil && len(*s.Account) < 12 {
7842		invalidParams.Add(request.NewErrParamMinLen("Account", 12))
7843	}
7844	if s.Name == nil {
7845		invalidParams.Add(request.NewErrParamRequired("Name"))
7846	}
7847	if s.Name != nil && len(*s.Name) < 1 {
7848		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7849	}
7850
7851	if invalidParams.Len() > 0 {
7852		return invalidParams
7853	}
7854	return nil
7855}
7856
7857// SetAccount sets the Account field's value.
7858func (s *DeletePartnerEventSourceInput) SetAccount(v string) *DeletePartnerEventSourceInput {
7859	s.Account = &v
7860	return s
7861}
7862
7863// SetName sets the Name field's value.
7864func (s *DeletePartnerEventSourceInput) SetName(v string) *DeletePartnerEventSourceInput {
7865	s.Name = &v
7866	return s
7867}
7868
7869type DeletePartnerEventSourceOutput struct {
7870	_ struct{} `type:"structure"`
7871}
7872
7873// String returns the string representation.
7874//
7875// API parameter values that are decorated as "sensitive" in the API will not
7876// be included in the string output. The member name will be present, but the
7877// value will be replaced with "sensitive".
7878func (s DeletePartnerEventSourceOutput) String() string {
7879	return awsutil.Prettify(s)
7880}
7881
7882// GoString returns the string representation.
7883//
7884// API parameter values that are decorated as "sensitive" in the API will not
7885// be included in the string output. The member name will be present, but the
7886// value will be replaced with "sensitive".
7887func (s DeletePartnerEventSourceOutput) GoString() string {
7888	return s.String()
7889}
7890
7891type DeleteRuleInput struct {
7892	_ struct{} `type:"structure"`
7893
7894	// The name or ARN of the event bus associated with the rule. If you omit this,
7895	// the default event bus is used.
7896	EventBusName *string `min:"1" type:"string"`
7897
7898	// If this is a managed rule, created by an Amazon Web Services service on your
7899	// behalf, you must specify Force as True to delete the rule. This parameter
7900	// is ignored for rules that are not managed rules. You can check whether a
7901	// rule is a managed rule by using DescribeRule or ListRules and checking the
7902	// ManagedBy field of the response.
7903	Force *bool `type:"boolean"`
7904
7905	// The name of the rule.
7906	//
7907	// Name is a required field
7908	Name *string `min:"1" type:"string" required:"true"`
7909}
7910
7911// String returns the string representation.
7912//
7913// API parameter values that are decorated as "sensitive" in the API will not
7914// be included in the string output. The member name will be present, but the
7915// value will be replaced with "sensitive".
7916func (s DeleteRuleInput) String() string {
7917	return awsutil.Prettify(s)
7918}
7919
7920// GoString returns the string representation.
7921//
7922// API parameter values that are decorated as "sensitive" in the API will not
7923// be included in the string output. The member name will be present, but the
7924// value will be replaced with "sensitive".
7925func (s DeleteRuleInput) GoString() string {
7926	return s.String()
7927}
7928
7929// Validate inspects the fields of the type to determine if they are valid.
7930func (s *DeleteRuleInput) Validate() error {
7931	invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
7932	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
7933		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
7934	}
7935	if s.Name == nil {
7936		invalidParams.Add(request.NewErrParamRequired("Name"))
7937	}
7938	if s.Name != nil && len(*s.Name) < 1 {
7939		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7940	}
7941
7942	if invalidParams.Len() > 0 {
7943		return invalidParams
7944	}
7945	return nil
7946}
7947
7948// SetEventBusName sets the EventBusName field's value.
7949func (s *DeleteRuleInput) SetEventBusName(v string) *DeleteRuleInput {
7950	s.EventBusName = &v
7951	return s
7952}
7953
7954// SetForce sets the Force field's value.
7955func (s *DeleteRuleInput) SetForce(v bool) *DeleteRuleInput {
7956	s.Force = &v
7957	return s
7958}
7959
7960// SetName sets the Name field's value.
7961func (s *DeleteRuleInput) SetName(v string) *DeleteRuleInput {
7962	s.Name = &v
7963	return s
7964}
7965
7966type DeleteRuleOutput struct {
7967	_ struct{} `type:"structure"`
7968}
7969
7970// String returns the string representation.
7971//
7972// API parameter values that are decorated as "sensitive" in the API will not
7973// be included in the string output. The member name will be present, but the
7974// value will be replaced with "sensitive".
7975func (s DeleteRuleOutput) String() string {
7976	return awsutil.Prettify(s)
7977}
7978
7979// GoString returns the string representation.
7980//
7981// API parameter values that are decorated as "sensitive" in the API will not
7982// be included in the string output. The member name will be present, but the
7983// value will be replaced with "sensitive".
7984func (s DeleteRuleOutput) GoString() string {
7985	return s.String()
7986}
7987
7988type DescribeApiDestinationInput struct {
7989	_ struct{} `type:"structure"`
7990
7991	// The name of the API destination to retrieve.
7992	//
7993	// Name is a required field
7994	Name *string `min:"1" type:"string" required:"true"`
7995}
7996
7997// String returns the string representation.
7998//
7999// API parameter values that are decorated as "sensitive" in the API will not
8000// be included in the string output. The member name will be present, but the
8001// value will be replaced with "sensitive".
8002func (s DescribeApiDestinationInput) String() string {
8003	return awsutil.Prettify(s)
8004}
8005
8006// GoString returns the string representation.
8007//
8008// API parameter values that are decorated as "sensitive" in the API will not
8009// be included in the string output. The member name will be present, but the
8010// value will be replaced with "sensitive".
8011func (s DescribeApiDestinationInput) GoString() string {
8012	return s.String()
8013}
8014
8015// Validate inspects the fields of the type to determine if they are valid.
8016func (s *DescribeApiDestinationInput) Validate() error {
8017	invalidParams := request.ErrInvalidParams{Context: "DescribeApiDestinationInput"}
8018	if s.Name == nil {
8019		invalidParams.Add(request.NewErrParamRequired("Name"))
8020	}
8021	if s.Name != nil && len(*s.Name) < 1 {
8022		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8023	}
8024
8025	if invalidParams.Len() > 0 {
8026		return invalidParams
8027	}
8028	return nil
8029}
8030
8031// SetName sets the Name field's value.
8032func (s *DescribeApiDestinationInput) SetName(v string) *DescribeApiDestinationInput {
8033	s.Name = &v
8034	return s
8035}
8036
8037type DescribeApiDestinationOutput struct {
8038	_ struct{} `type:"structure"`
8039
8040	// The ARN of the API destination retrieved.
8041	ApiDestinationArn *string `min:"1" type:"string"`
8042
8043	// The state of the API destination retrieved.
8044	ApiDestinationState *string `type:"string" enum:"ApiDestinationState"`
8045
8046	// The ARN of the connection specified for the API destination retrieved.
8047	ConnectionArn *string `min:"1" type:"string"`
8048
8049	// A time stamp for the time that the API destination was created.
8050	CreationTime *time.Time `type:"timestamp"`
8051
8052	// The description for the API destination retrieved.
8053	Description *string `type:"string"`
8054
8055	// The method to use to connect to the HTTP endpoint.
8056	HttpMethod *string `type:"string" enum:"ApiDestinationHttpMethod"`
8057
8058	// The URL to use to connect to the HTTP endpoint.
8059	InvocationEndpoint *string `min:"1" type:"string"`
8060
8061	// The maximum number of invocations per second to specified for the API destination.
8062	// Note that if you set the invocation rate maximum to a value lower the rate
8063	// necessary to send all events received on to the destination HTTP endpoint,
8064	// some events may not be delivered within the 24-hour retry window. If you
8065	// plan to set the rate lower than the rate necessary to deliver all events,
8066	// consider using a dead-letter queue to catch events that are not delivered
8067	// within 24 hours.
8068	InvocationRateLimitPerSecond *int64 `min:"1" type:"integer"`
8069
8070	// A time stamp for the time that the API destination was last modified.
8071	LastModifiedTime *time.Time `type:"timestamp"`
8072
8073	// The name of the API destination retrieved.
8074	Name *string `min:"1" type:"string"`
8075}
8076
8077// String returns the string representation.
8078//
8079// API parameter values that are decorated as "sensitive" in the API will not
8080// be included in the string output. The member name will be present, but the
8081// value will be replaced with "sensitive".
8082func (s DescribeApiDestinationOutput) String() string {
8083	return awsutil.Prettify(s)
8084}
8085
8086// GoString returns the string representation.
8087//
8088// API parameter values that are decorated as "sensitive" in the API will not
8089// be included in the string output. The member name will be present, but the
8090// value will be replaced with "sensitive".
8091func (s DescribeApiDestinationOutput) GoString() string {
8092	return s.String()
8093}
8094
8095// SetApiDestinationArn sets the ApiDestinationArn field's value.
8096func (s *DescribeApiDestinationOutput) SetApiDestinationArn(v string) *DescribeApiDestinationOutput {
8097	s.ApiDestinationArn = &v
8098	return s
8099}
8100
8101// SetApiDestinationState sets the ApiDestinationState field's value.
8102func (s *DescribeApiDestinationOutput) SetApiDestinationState(v string) *DescribeApiDestinationOutput {
8103	s.ApiDestinationState = &v
8104	return s
8105}
8106
8107// SetConnectionArn sets the ConnectionArn field's value.
8108func (s *DescribeApiDestinationOutput) SetConnectionArn(v string) *DescribeApiDestinationOutput {
8109	s.ConnectionArn = &v
8110	return s
8111}
8112
8113// SetCreationTime sets the CreationTime field's value.
8114func (s *DescribeApiDestinationOutput) SetCreationTime(v time.Time) *DescribeApiDestinationOutput {
8115	s.CreationTime = &v
8116	return s
8117}
8118
8119// SetDescription sets the Description field's value.
8120func (s *DescribeApiDestinationOutput) SetDescription(v string) *DescribeApiDestinationOutput {
8121	s.Description = &v
8122	return s
8123}
8124
8125// SetHttpMethod sets the HttpMethod field's value.
8126func (s *DescribeApiDestinationOutput) SetHttpMethod(v string) *DescribeApiDestinationOutput {
8127	s.HttpMethod = &v
8128	return s
8129}
8130
8131// SetInvocationEndpoint sets the InvocationEndpoint field's value.
8132func (s *DescribeApiDestinationOutput) SetInvocationEndpoint(v string) *DescribeApiDestinationOutput {
8133	s.InvocationEndpoint = &v
8134	return s
8135}
8136
8137// SetInvocationRateLimitPerSecond sets the InvocationRateLimitPerSecond field's value.
8138func (s *DescribeApiDestinationOutput) SetInvocationRateLimitPerSecond(v int64) *DescribeApiDestinationOutput {
8139	s.InvocationRateLimitPerSecond = &v
8140	return s
8141}
8142
8143// SetLastModifiedTime sets the LastModifiedTime field's value.
8144func (s *DescribeApiDestinationOutput) SetLastModifiedTime(v time.Time) *DescribeApiDestinationOutput {
8145	s.LastModifiedTime = &v
8146	return s
8147}
8148
8149// SetName sets the Name field's value.
8150func (s *DescribeApiDestinationOutput) SetName(v string) *DescribeApiDestinationOutput {
8151	s.Name = &v
8152	return s
8153}
8154
8155type DescribeArchiveInput struct {
8156	_ struct{} `type:"structure"`
8157
8158	// The name of the archive to retrieve.
8159	//
8160	// ArchiveName is a required field
8161	ArchiveName *string `min:"1" type:"string" required:"true"`
8162}
8163
8164// String returns the string representation.
8165//
8166// API parameter values that are decorated as "sensitive" in the API will not
8167// be included in the string output. The member name will be present, but the
8168// value will be replaced with "sensitive".
8169func (s DescribeArchiveInput) String() string {
8170	return awsutil.Prettify(s)
8171}
8172
8173// GoString returns the string representation.
8174//
8175// API parameter values that are decorated as "sensitive" in the API will not
8176// be included in the string output. The member name will be present, but the
8177// value will be replaced with "sensitive".
8178func (s DescribeArchiveInput) GoString() string {
8179	return s.String()
8180}
8181
8182// Validate inspects the fields of the type to determine if they are valid.
8183func (s *DescribeArchiveInput) Validate() error {
8184	invalidParams := request.ErrInvalidParams{Context: "DescribeArchiveInput"}
8185	if s.ArchiveName == nil {
8186		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
8187	}
8188	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
8189		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
8190	}
8191
8192	if invalidParams.Len() > 0 {
8193		return invalidParams
8194	}
8195	return nil
8196}
8197
8198// SetArchiveName sets the ArchiveName field's value.
8199func (s *DescribeArchiveInput) SetArchiveName(v string) *DescribeArchiveInput {
8200	s.ArchiveName = &v
8201	return s
8202}
8203
8204type DescribeArchiveOutput struct {
8205	_ struct{} `type:"structure"`
8206
8207	// The ARN of the archive.
8208	ArchiveArn *string `min:"1" type:"string"`
8209
8210	// The name of the archive.
8211	ArchiveName *string `min:"1" type:"string"`
8212
8213	// The time at which the archive was created.
8214	CreationTime *time.Time `type:"timestamp"`
8215
8216	// The description of the archive.
8217	Description *string `type:"string"`
8218
8219	// The number of events in the archive.
8220	EventCount *int64 `type:"long"`
8221
8222	// The event pattern used to filter events sent to the archive.
8223	EventPattern *string `type:"string"`
8224
8225	// The ARN of the event source associated with the archive.
8226	EventSourceArn *string `min:"1" type:"string"`
8227
8228	// The number of days to retain events for in the archive.
8229	RetentionDays *int64 `type:"integer"`
8230
8231	// The size of the archive in bytes.
8232	SizeBytes *int64 `type:"long"`
8233
8234	// The state of the archive.
8235	State *string `type:"string" enum:"ArchiveState"`
8236
8237	// The reason that the archive is in the state.
8238	StateReason *string `type:"string"`
8239}
8240
8241// String returns the string representation.
8242//
8243// API parameter values that are decorated as "sensitive" in the API will not
8244// be included in the string output. The member name will be present, but the
8245// value will be replaced with "sensitive".
8246func (s DescribeArchiveOutput) String() string {
8247	return awsutil.Prettify(s)
8248}
8249
8250// GoString returns the string representation.
8251//
8252// API parameter values that are decorated as "sensitive" in the API will not
8253// be included in the string output. The member name will be present, but the
8254// value will be replaced with "sensitive".
8255func (s DescribeArchiveOutput) GoString() string {
8256	return s.String()
8257}
8258
8259// SetArchiveArn sets the ArchiveArn field's value.
8260func (s *DescribeArchiveOutput) SetArchiveArn(v string) *DescribeArchiveOutput {
8261	s.ArchiveArn = &v
8262	return s
8263}
8264
8265// SetArchiveName sets the ArchiveName field's value.
8266func (s *DescribeArchiveOutput) SetArchiveName(v string) *DescribeArchiveOutput {
8267	s.ArchiveName = &v
8268	return s
8269}
8270
8271// SetCreationTime sets the CreationTime field's value.
8272func (s *DescribeArchiveOutput) SetCreationTime(v time.Time) *DescribeArchiveOutput {
8273	s.CreationTime = &v
8274	return s
8275}
8276
8277// SetDescription sets the Description field's value.
8278func (s *DescribeArchiveOutput) SetDescription(v string) *DescribeArchiveOutput {
8279	s.Description = &v
8280	return s
8281}
8282
8283// SetEventCount sets the EventCount field's value.
8284func (s *DescribeArchiveOutput) SetEventCount(v int64) *DescribeArchiveOutput {
8285	s.EventCount = &v
8286	return s
8287}
8288
8289// SetEventPattern sets the EventPattern field's value.
8290func (s *DescribeArchiveOutput) SetEventPattern(v string) *DescribeArchiveOutput {
8291	s.EventPattern = &v
8292	return s
8293}
8294
8295// SetEventSourceArn sets the EventSourceArn field's value.
8296func (s *DescribeArchiveOutput) SetEventSourceArn(v string) *DescribeArchiveOutput {
8297	s.EventSourceArn = &v
8298	return s
8299}
8300
8301// SetRetentionDays sets the RetentionDays field's value.
8302func (s *DescribeArchiveOutput) SetRetentionDays(v int64) *DescribeArchiveOutput {
8303	s.RetentionDays = &v
8304	return s
8305}
8306
8307// SetSizeBytes sets the SizeBytes field's value.
8308func (s *DescribeArchiveOutput) SetSizeBytes(v int64) *DescribeArchiveOutput {
8309	s.SizeBytes = &v
8310	return s
8311}
8312
8313// SetState sets the State field's value.
8314func (s *DescribeArchiveOutput) SetState(v string) *DescribeArchiveOutput {
8315	s.State = &v
8316	return s
8317}
8318
8319// SetStateReason sets the StateReason field's value.
8320func (s *DescribeArchiveOutput) SetStateReason(v string) *DescribeArchiveOutput {
8321	s.StateReason = &v
8322	return s
8323}
8324
8325type DescribeConnectionInput struct {
8326	_ struct{} `type:"structure"`
8327
8328	// The name of the connection to retrieve.
8329	//
8330	// Name is a required field
8331	Name *string `min:"1" type:"string" required:"true"`
8332}
8333
8334// String returns the string representation.
8335//
8336// API parameter values that are decorated as "sensitive" in the API will not
8337// be included in the string output. The member name will be present, but the
8338// value will be replaced with "sensitive".
8339func (s DescribeConnectionInput) String() string {
8340	return awsutil.Prettify(s)
8341}
8342
8343// GoString returns the string representation.
8344//
8345// API parameter values that are decorated as "sensitive" in the API will not
8346// be included in the string output. The member name will be present, but the
8347// value will be replaced with "sensitive".
8348func (s DescribeConnectionInput) GoString() string {
8349	return s.String()
8350}
8351
8352// Validate inspects the fields of the type to determine if they are valid.
8353func (s *DescribeConnectionInput) Validate() error {
8354	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionInput"}
8355	if s.Name == nil {
8356		invalidParams.Add(request.NewErrParamRequired("Name"))
8357	}
8358	if s.Name != nil && len(*s.Name) < 1 {
8359		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8360	}
8361
8362	if invalidParams.Len() > 0 {
8363		return invalidParams
8364	}
8365	return nil
8366}
8367
8368// SetName sets the Name field's value.
8369func (s *DescribeConnectionInput) SetName(v string) *DescribeConnectionInput {
8370	s.Name = &v
8371	return s
8372}
8373
8374type DescribeConnectionOutput struct {
8375	_ struct{} `type:"structure"`
8376
8377	// The parameters to use for authorization for the connection.
8378	AuthParameters *ConnectionAuthResponseParameters `type:"structure"`
8379
8380	// The type of authorization specified for the connection.
8381	AuthorizationType *string `type:"string" enum:"ConnectionAuthorizationType"`
8382
8383	// The ARN of the connection retrieved.
8384	ConnectionArn *string `min:"1" type:"string"`
8385
8386	// The state of the connection retrieved.
8387	ConnectionState *string `type:"string" enum:"ConnectionState"`
8388
8389	// A time stamp for the time that the connection was created.
8390	CreationTime *time.Time `type:"timestamp"`
8391
8392	// The description for the connection retrieved.
8393	Description *string `type:"string"`
8394
8395	// A time stamp for the time that the connection was last authorized.
8396	LastAuthorizedTime *time.Time `type:"timestamp"`
8397
8398	// A time stamp for the time that the connection was last modified.
8399	LastModifiedTime *time.Time `type:"timestamp"`
8400
8401	// The name of the connection retrieved.
8402	Name *string `min:"1" type:"string"`
8403
8404	// The ARN of the secret created from the authorization parameters specified
8405	// for the connection.
8406	SecretArn *string `min:"20" type:"string"`
8407
8408	// The reason that the connection is in the current connection state.
8409	StateReason *string `type:"string"`
8410}
8411
8412// String returns the string representation.
8413//
8414// API parameter values that are decorated as "sensitive" in the API will not
8415// be included in the string output. The member name will be present, but the
8416// value will be replaced with "sensitive".
8417func (s DescribeConnectionOutput) String() string {
8418	return awsutil.Prettify(s)
8419}
8420
8421// GoString returns the string representation.
8422//
8423// API parameter values that are decorated as "sensitive" in the API will not
8424// be included in the string output. The member name will be present, but the
8425// value will be replaced with "sensitive".
8426func (s DescribeConnectionOutput) GoString() string {
8427	return s.String()
8428}
8429
8430// SetAuthParameters sets the AuthParameters field's value.
8431func (s *DescribeConnectionOutput) SetAuthParameters(v *ConnectionAuthResponseParameters) *DescribeConnectionOutput {
8432	s.AuthParameters = v
8433	return s
8434}
8435
8436// SetAuthorizationType sets the AuthorizationType field's value.
8437func (s *DescribeConnectionOutput) SetAuthorizationType(v string) *DescribeConnectionOutput {
8438	s.AuthorizationType = &v
8439	return s
8440}
8441
8442// SetConnectionArn sets the ConnectionArn field's value.
8443func (s *DescribeConnectionOutput) SetConnectionArn(v string) *DescribeConnectionOutput {
8444	s.ConnectionArn = &v
8445	return s
8446}
8447
8448// SetConnectionState sets the ConnectionState field's value.
8449func (s *DescribeConnectionOutput) SetConnectionState(v string) *DescribeConnectionOutput {
8450	s.ConnectionState = &v
8451	return s
8452}
8453
8454// SetCreationTime sets the CreationTime field's value.
8455func (s *DescribeConnectionOutput) SetCreationTime(v time.Time) *DescribeConnectionOutput {
8456	s.CreationTime = &v
8457	return s
8458}
8459
8460// SetDescription sets the Description field's value.
8461func (s *DescribeConnectionOutput) SetDescription(v string) *DescribeConnectionOutput {
8462	s.Description = &v
8463	return s
8464}
8465
8466// SetLastAuthorizedTime sets the LastAuthorizedTime field's value.
8467func (s *DescribeConnectionOutput) SetLastAuthorizedTime(v time.Time) *DescribeConnectionOutput {
8468	s.LastAuthorizedTime = &v
8469	return s
8470}
8471
8472// SetLastModifiedTime sets the LastModifiedTime field's value.
8473func (s *DescribeConnectionOutput) SetLastModifiedTime(v time.Time) *DescribeConnectionOutput {
8474	s.LastModifiedTime = &v
8475	return s
8476}
8477
8478// SetName sets the Name field's value.
8479func (s *DescribeConnectionOutput) SetName(v string) *DescribeConnectionOutput {
8480	s.Name = &v
8481	return s
8482}
8483
8484// SetSecretArn sets the SecretArn field's value.
8485func (s *DescribeConnectionOutput) SetSecretArn(v string) *DescribeConnectionOutput {
8486	s.SecretArn = &v
8487	return s
8488}
8489
8490// SetStateReason sets the StateReason field's value.
8491func (s *DescribeConnectionOutput) SetStateReason(v string) *DescribeConnectionOutput {
8492	s.StateReason = &v
8493	return s
8494}
8495
8496type DescribeEventBusInput struct {
8497	_ struct{} `type:"structure"`
8498
8499	// The name or ARN of the event bus to show details for. If you omit this, the
8500	// default event bus is displayed.
8501	Name *string `min:"1" type:"string"`
8502}
8503
8504// String returns the string representation.
8505//
8506// API parameter values that are decorated as "sensitive" in the API will not
8507// be included in the string output. The member name will be present, but the
8508// value will be replaced with "sensitive".
8509func (s DescribeEventBusInput) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation.
8514//
8515// API parameter values that are decorated as "sensitive" in the API will not
8516// be included in the string output. The member name will be present, but the
8517// value will be replaced with "sensitive".
8518func (s DescribeEventBusInput) GoString() string {
8519	return s.String()
8520}
8521
8522// Validate inspects the fields of the type to determine if they are valid.
8523func (s *DescribeEventBusInput) Validate() error {
8524	invalidParams := request.ErrInvalidParams{Context: "DescribeEventBusInput"}
8525	if s.Name != nil && len(*s.Name) < 1 {
8526		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8527	}
8528
8529	if invalidParams.Len() > 0 {
8530		return invalidParams
8531	}
8532	return nil
8533}
8534
8535// SetName sets the Name field's value.
8536func (s *DescribeEventBusInput) SetName(v string) *DescribeEventBusInput {
8537	s.Name = &v
8538	return s
8539}
8540
8541type DescribeEventBusOutput struct {
8542	_ struct{} `type:"structure"`
8543
8544	// The Amazon Resource Name (ARN) of the account permitted to write events to
8545	// the current account.
8546	Arn *string `type:"string"`
8547
8548	// The name of the event bus. Currently, this is always default.
8549	Name *string `type:"string"`
8550
8551	// The policy that enables the external account to send events to your account.
8552	Policy *string `type:"string"`
8553}
8554
8555// String returns the string representation.
8556//
8557// API parameter values that are decorated as "sensitive" in the API will not
8558// be included in the string output. The member name will be present, but the
8559// value will be replaced with "sensitive".
8560func (s DescribeEventBusOutput) String() string {
8561	return awsutil.Prettify(s)
8562}
8563
8564// GoString returns the string representation.
8565//
8566// API parameter values that are decorated as "sensitive" in the API will not
8567// be included in the string output. The member name will be present, but the
8568// value will be replaced with "sensitive".
8569func (s DescribeEventBusOutput) GoString() string {
8570	return s.String()
8571}
8572
8573// SetArn sets the Arn field's value.
8574func (s *DescribeEventBusOutput) SetArn(v string) *DescribeEventBusOutput {
8575	s.Arn = &v
8576	return s
8577}
8578
8579// SetName sets the Name field's value.
8580func (s *DescribeEventBusOutput) SetName(v string) *DescribeEventBusOutput {
8581	s.Name = &v
8582	return s
8583}
8584
8585// SetPolicy sets the Policy field's value.
8586func (s *DescribeEventBusOutput) SetPolicy(v string) *DescribeEventBusOutput {
8587	s.Policy = &v
8588	return s
8589}
8590
8591type DescribeEventSourceInput struct {
8592	_ struct{} `type:"structure"`
8593
8594	// The name of the partner event source to display the details of.
8595	//
8596	// Name is a required field
8597	Name *string `min:"1" type:"string" required:"true"`
8598}
8599
8600// String returns the string representation.
8601//
8602// API parameter values that are decorated as "sensitive" in the API will not
8603// be included in the string output. The member name will be present, but the
8604// value will be replaced with "sensitive".
8605func (s DescribeEventSourceInput) String() string {
8606	return awsutil.Prettify(s)
8607}
8608
8609// GoString returns the string representation.
8610//
8611// API parameter values that are decorated as "sensitive" in the API will not
8612// be included in the string output. The member name will be present, but the
8613// value will be replaced with "sensitive".
8614func (s DescribeEventSourceInput) GoString() string {
8615	return s.String()
8616}
8617
8618// Validate inspects the fields of the type to determine if they are valid.
8619func (s *DescribeEventSourceInput) Validate() error {
8620	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSourceInput"}
8621	if s.Name == nil {
8622		invalidParams.Add(request.NewErrParamRequired("Name"))
8623	}
8624	if s.Name != nil && len(*s.Name) < 1 {
8625		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8626	}
8627
8628	if invalidParams.Len() > 0 {
8629		return invalidParams
8630	}
8631	return nil
8632}
8633
8634// SetName sets the Name field's value.
8635func (s *DescribeEventSourceInput) SetName(v string) *DescribeEventSourceInput {
8636	s.Name = &v
8637	return s
8638}
8639
8640type DescribeEventSourceOutput struct {
8641	_ struct{} `type:"structure"`
8642
8643	// The ARN of the partner event source.
8644	Arn *string `type:"string"`
8645
8646	// The name of the SaaS partner that created the event source.
8647	CreatedBy *string `type:"string"`
8648
8649	// The date and time that the event source was created.
8650	CreationTime *time.Time `type:"timestamp"`
8651
8652	// The date and time that the event source will expire if you do not create
8653	// a matching event bus.
8654	ExpirationTime *time.Time `type:"timestamp"`
8655
8656	// The name of the partner event source.
8657	Name *string `type:"string"`
8658
8659	// The state of the event source. If it is ACTIVE, you have already created
8660	// a matching event bus for this event source, and that event bus is active.
8661	// If it is PENDING, either you haven't yet created a matching event bus, or
8662	// that event bus is deactivated. If it is DELETED, you have created a matching
8663	// event bus, but the event source has since been deleted.
8664	State *string `type:"string" enum:"EventSourceState"`
8665}
8666
8667// String returns the string representation.
8668//
8669// API parameter values that are decorated as "sensitive" in the API will not
8670// be included in the string output. The member name will be present, but the
8671// value will be replaced with "sensitive".
8672func (s DescribeEventSourceOutput) String() string {
8673	return awsutil.Prettify(s)
8674}
8675
8676// GoString returns the string representation.
8677//
8678// API parameter values that are decorated as "sensitive" in the API will not
8679// be included in the string output. The member name will be present, but the
8680// value will be replaced with "sensitive".
8681func (s DescribeEventSourceOutput) GoString() string {
8682	return s.String()
8683}
8684
8685// SetArn sets the Arn field's value.
8686func (s *DescribeEventSourceOutput) SetArn(v string) *DescribeEventSourceOutput {
8687	s.Arn = &v
8688	return s
8689}
8690
8691// SetCreatedBy sets the CreatedBy field's value.
8692func (s *DescribeEventSourceOutput) SetCreatedBy(v string) *DescribeEventSourceOutput {
8693	s.CreatedBy = &v
8694	return s
8695}
8696
8697// SetCreationTime sets the CreationTime field's value.
8698func (s *DescribeEventSourceOutput) SetCreationTime(v time.Time) *DescribeEventSourceOutput {
8699	s.CreationTime = &v
8700	return s
8701}
8702
8703// SetExpirationTime sets the ExpirationTime field's value.
8704func (s *DescribeEventSourceOutput) SetExpirationTime(v time.Time) *DescribeEventSourceOutput {
8705	s.ExpirationTime = &v
8706	return s
8707}
8708
8709// SetName sets the Name field's value.
8710func (s *DescribeEventSourceOutput) SetName(v string) *DescribeEventSourceOutput {
8711	s.Name = &v
8712	return s
8713}
8714
8715// SetState sets the State field's value.
8716func (s *DescribeEventSourceOutput) SetState(v string) *DescribeEventSourceOutput {
8717	s.State = &v
8718	return s
8719}
8720
8721type DescribePartnerEventSourceInput struct {
8722	_ struct{} `type:"structure"`
8723
8724	// The name of the event source to display.
8725	//
8726	// Name is a required field
8727	Name *string `min:"1" type:"string" required:"true"`
8728}
8729
8730// String returns the string representation.
8731//
8732// API parameter values that are decorated as "sensitive" in the API will not
8733// be included in the string output. The member name will be present, but the
8734// value will be replaced with "sensitive".
8735func (s DescribePartnerEventSourceInput) String() string {
8736	return awsutil.Prettify(s)
8737}
8738
8739// GoString returns the string representation.
8740//
8741// API parameter values that are decorated as "sensitive" in the API will not
8742// be included in the string output. The member name will be present, but the
8743// value will be replaced with "sensitive".
8744func (s DescribePartnerEventSourceInput) GoString() string {
8745	return s.String()
8746}
8747
8748// Validate inspects the fields of the type to determine if they are valid.
8749func (s *DescribePartnerEventSourceInput) Validate() error {
8750	invalidParams := request.ErrInvalidParams{Context: "DescribePartnerEventSourceInput"}
8751	if s.Name == nil {
8752		invalidParams.Add(request.NewErrParamRequired("Name"))
8753	}
8754	if s.Name != nil && len(*s.Name) < 1 {
8755		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8756	}
8757
8758	if invalidParams.Len() > 0 {
8759		return invalidParams
8760	}
8761	return nil
8762}
8763
8764// SetName sets the Name field's value.
8765func (s *DescribePartnerEventSourceInput) SetName(v string) *DescribePartnerEventSourceInput {
8766	s.Name = &v
8767	return s
8768}
8769
8770type DescribePartnerEventSourceOutput struct {
8771	_ struct{} `type:"structure"`
8772
8773	// The ARN of the event source.
8774	Arn *string `type:"string"`
8775
8776	// The name of the event source.
8777	Name *string `type:"string"`
8778}
8779
8780// String returns the string representation.
8781//
8782// API parameter values that are decorated as "sensitive" in the API will not
8783// be included in the string output. The member name will be present, but the
8784// value will be replaced with "sensitive".
8785func (s DescribePartnerEventSourceOutput) String() string {
8786	return awsutil.Prettify(s)
8787}
8788
8789// GoString returns the string representation.
8790//
8791// API parameter values that are decorated as "sensitive" in the API will not
8792// be included in the string output. The member name will be present, but the
8793// value will be replaced with "sensitive".
8794func (s DescribePartnerEventSourceOutput) GoString() string {
8795	return s.String()
8796}
8797
8798// SetArn sets the Arn field's value.
8799func (s *DescribePartnerEventSourceOutput) SetArn(v string) *DescribePartnerEventSourceOutput {
8800	s.Arn = &v
8801	return s
8802}
8803
8804// SetName sets the Name field's value.
8805func (s *DescribePartnerEventSourceOutput) SetName(v string) *DescribePartnerEventSourceOutput {
8806	s.Name = &v
8807	return s
8808}
8809
8810type DescribeReplayInput struct {
8811	_ struct{} `type:"structure"`
8812
8813	// The name of the replay to retrieve.
8814	//
8815	// ReplayName is a required field
8816	ReplayName *string `min:"1" type:"string" required:"true"`
8817}
8818
8819// String returns the string representation.
8820//
8821// API parameter values that are decorated as "sensitive" in the API will not
8822// be included in the string output. The member name will be present, but the
8823// value will be replaced with "sensitive".
8824func (s DescribeReplayInput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation.
8829//
8830// API parameter values that are decorated as "sensitive" in the API will not
8831// be included in the string output. The member name will be present, but the
8832// value will be replaced with "sensitive".
8833func (s DescribeReplayInput) GoString() string {
8834	return s.String()
8835}
8836
8837// Validate inspects the fields of the type to determine if they are valid.
8838func (s *DescribeReplayInput) Validate() error {
8839	invalidParams := request.ErrInvalidParams{Context: "DescribeReplayInput"}
8840	if s.ReplayName == nil {
8841		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
8842	}
8843	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
8844		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
8845	}
8846
8847	if invalidParams.Len() > 0 {
8848		return invalidParams
8849	}
8850	return nil
8851}
8852
8853// SetReplayName sets the ReplayName field's value.
8854func (s *DescribeReplayInput) SetReplayName(v string) *DescribeReplayInput {
8855	s.ReplayName = &v
8856	return s
8857}
8858
8859type DescribeReplayOutput struct {
8860	_ struct{} `type:"structure"`
8861
8862	// The description of the replay.
8863	Description *string `type:"string"`
8864
8865	// A ReplayDestination object that contains details about the replay.
8866	Destination *ReplayDestination `type:"structure"`
8867
8868	// The time stamp for the last event that was replayed from the archive.
8869	EventEndTime *time.Time `type:"timestamp"`
8870
8871	// The time that the event was last replayed.
8872	EventLastReplayedTime *time.Time `type:"timestamp"`
8873
8874	// The ARN of the archive events were replayed from.
8875	EventSourceArn *string `min:"1" type:"string"`
8876
8877	// The time stamp of the first event that was last replayed from the archive.
8878	EventStartTime *time.Time `type:"timestamp"`
8879
8880	// The ARN of the replay.
8881	ReplayArn *string `min:"1" type:"string"`
8882
8883	// A time stamp for the time that the replay stopped.
8884	ReplayEndTime *time.Time `type:"timestamp"`
8885
8886	// The name of the replay.
8887	ReplayName *string `min:"1" type:"string"`
8888
8889	// A time stamp for the time that the replay started.
8890	ReplayStartTime *time.Time `type:"timestamp"`
8891
8892	// The current state of the replay.
8893	State *string `type:"string" enum:"ReplayState"`
8894
8895	// The reason that the replay is in the current state.
8896	StateReason *string `type:"string"`
8897}
8898
8899// String returns the string representation.
8900//
8901// API parameter values that are decorated as "sensitive" in the API will not
8902// be included in the string output. The member name will be present, but the
8903// value will be replaced with "sensitive".
8904func (s DescribeReplayOutput) String() string {
8905	return awsutil.Prettify(s)
8906}
8907
8908// GoString returns the string representation.
8909//
8910// API parameter values that are decorated as "sensitive" in the API will not
8911// be included in the string output. The member name will be present, but the
8912// value will be replaced with "sensitive".
8913func (s DescribeReplayOutput) GoString() string {
8914	return s.String()
8915}
8916
8917// SetDescription sets the Description field's value.
8918func (s *DescribeReplayOutput) SetDescription(v string) *DescribeReplayOutput {
8919	s.Description = &v
8920	return s
8921}
8922
8923// SetDestination sets the Destination field's value.
8924func (s *DescribeReplayOutput) SetDestination(v *ReplayDestination) *DescribeReplayOutput {
8925	s.Destination = v
8926	return s
8927}
8928
8929// SetEventEndTime sets the EventEndTime field's value.
8930func (s *DescribeReplayOutput) SetEventEndTime(v time.Time) *DescribeReplayOutput {
8931	s.EventEndTime = &v
8932	return s
8933}
8934
8935// SetEventLastReplayedTime sets the EventLastReplayedTime field's value.
8936func (s *DescribeReplayOutput) SetEventLastReplayedTime(v time.Time) *DescribeReplayOutput {
8937	s.EventLastReplayedTime = &v
8938	return s
8939}
8940
8941// SetEventSourceArn sets the EventSourceArn field's value.
8942func (s *DescribeReplayOutput) SetEventSourceArn(v string) *DescribeReplayOutput {
8943	s.EventSourceArn = &v
8944	return s
8945}
8946
8947// SetEventStartTime sets the EventStartTime field's value.
8948func (s *DescribeReplayOutput) SetEventStartTime(v time.Time) *DescribeReplayOutput {
8949	s.EventStartTime = &v
8950	return s
8951}
8952
8953// SetReplayArn sets the ReplayArn field's value.
8954func (s *DescribeReplayOutput) SetReplayArn(v string) *DescribeReplayOutput {
8955	s.ReplayArn = &v
8956	return s
8957}
8958
8959// SetReplayEndTime sets the ReplayEndTime field's value.
8960func (s *DescribeReplayOutput) SetReplayEndTime(v time.Time) *DescribeReplayOutput {
8961	s.ReplayEndTime = &v
8962	return s
8963}
8964
8965// SetReplayName sets the ReplayName field's value.
8966func (s *DescribeReplayOutput) SetReplayName(v string) *DescribeReplayOutput {
8967	s.ReplayName = &v
8968	return s
8969}
8970
8971// SetReplayStartTime sets the ReplayStartTime field's value.
8972func (s *DescribeReplayOutput) SetReplayStartTime(v time.Time) *DescribeReplayOutput {
8973	s.ReplayStartTime = &v
8974	return s
8975}
8976
8977// SetState sets the State field's value.
8978func (s *DescribeReplayOutput) SetState(v string) *DescribeReplayOutput {
8979	s.State = &v
8980	return s
8981}
8982
8983// SetStateReason sets the StateReason field's value.
8984func (s *DescribeReplayOutput) SetStateReason(v string) *DescribeReplayOutput {
8985	s.StateReason = &v
8986	return s
8987}
8988
8989type DescribeRuleInput struct {
8990	_ struct{} `type:"structure"`
8991
8992	// The name or ARN of the event bus associated with the rule. If you omit this,
8993	// the default event bus is used.
8994	EventBusName *string `min:"1" type:"string"`
8995
8996	// The name of the rule.
8997	//
8998	// Name is a required field
8999	Name *string `min:"1" type:"string" required:"true"`
9000}
9001
9002// String returns the string representation.
9003//
9004// API parameter values that are decorated as "sensitive" in the API will not
9005// be included in the string output. The member name will be present, but the
9006// value will be replaced with "sensitive".
9007func (s DescribeRuleInput) String() string {
9008	return awsutil.Prettify(s)
9009}
9010
9011// GoString returns the string representation.
9012//
9013// API parameter values that are decorated as "sensitive" in the API will not
9014// be included in the string output. The member name will be present, but the
9015// value will be replaced with "sensitive".
9016func (s DescribeRuleInput) GoString() string {
9017	return s.String()
9018}
9019
9020// Validate inspects the fields of the type to determine if they are valid.
9021func (s *DescribeRuleInput) Validate() error {
9022	invalidParams := request.ErrInvalidParams{Context: "DescribeRuleInput"}
9023	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
9024		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
9025	}
9026	if s.Name == nil {
9027		invalidParams.Add(request.NewErrParamRequired("Name"))
9028	}
9029	if s.Name != nil && len(*s.Name) < 1 {
9030		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9031	}
9032
9033	if invalidParams.Len() > 0 {
9034		return invalidParams
9035	}
9036	return nil
9037}
9038
9039// SetEventBusName sets the EventBusName field's value.
9040func (s *DescribeRuleInput) SetEventBusName(v string) *DescribeRuleInput {
9041	s.EventBusName = &v
9042	return s
9043}
9044
9045// SetName sets the Name field's value.
9046func (s *DescribeRuleInput) SetName(v string) *DescribeRuleInput {
9047	s.Name = &v
9048	return s
9049}
9050
9051type DescribeRuleOutput struct {
9052	_ struct{} `type:"structure"`
9053
9054	// The Amazon Resource Name (ARN) of the rule.
9055	Arn *string `min:"1" type:"string"`
9056
9057	// The account ID of the user that created the rule. If you use PutRule to put
9058	// a rule on an event bus in another account, the other account is the owner
9059	// of the rule, and the rule ARN includes the account ID for that account. However,
9060	// the value for CreatedBy is the account ID as the account that created the
9061	// rule in the other account.
9062	CreatedBy *string `min:"1" type:"string"`
9063
9064	// The description of the rule.
9065	Description *string `type:"string"`
9066
9067	// The name of the event bus associated with the rule.
9068	EventBusName *string `min:"1" type:"string"`
9069
9070	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
9071	// in the Amazon EventBridge User Guide.
9072	EventPattern *string `type:"string"`
9073
9074	// If this is a managed rule, created by an Amazon Web Services service on your
9075	// behalf, this field displays the principal name of the Amazon Web Services
9076	// service that created the rule.
9077	ManagedBy *string `min:"1" type:"string"`
9078
9079	// The name of the rule.
9080	Name *string `min:"1" type:"string"`
9081
9082	// The Amazon Resource Name (ARN) of the IAM role associated with the rule.
9083	RoleArn *string `min:"1" type:"string"`
9084
9085	// The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".
9086	ScheduleExpression *string `type:"string"`
9087
9088	// Specifies whether the rule is enabled or disabled.
9089	State *string `type:"string" enum:"RuleState"`
9090}
9091
9092// String returns the string representation.
9093//
9094// API parameter values that are decorated as "sensitive" in the API will not
9095// be included in the string output. The member name will be present, but the
9096// value will be replaced with "sensitive".
9097func (s DescribeRuleOutput) String() string {
9098	return awsutil.Prettify(s)
9099}
9100
9101// GoString returns the string representation.
9102//
9103// API parameter values that are decorated as "sensitive" in the API will not
9104// be included in the string output. The member name will be present, but the
9105// value will be replaced with "sensitive".
9106func (s DescribeRuleOutput) GoString() string {
9107	return s.String()
9108}
9109
9110// SetArn sets the Arn field's value.
9111func (s *DescribeRuleOutput) SetArn(v string) *DescribeRuleOutput {
9112	s.Arn = &v
9113	return s
9114}
9115
9116// SetCreatedBy sets the CreatedBy field's value.
9117func (s *DescribeRuleOutput) SetCreatedBy(v string) *DescribeRuleOutput {
9118	s.CreatedBy = &v
9119	return s
9120}
9121
9122// SetDescription sets the Description field's value.
9123func (s *DescribeRuleOutput) SetDescription(v string) *DescribeRuleOutput {
9124	s.Description = &v
9125	return s
9126}
9127
9128// SetEventBusName sets the EventBusName field's value.
9129func (s *DescribeRuleOutput) SetEventBusName(v string) *DescribeRuleOutput {
9130	s.EventBusName = &v
9131	return s
9132}
9133
9134// SetEventPattern sets the EventPattern field's value.
9135func (s *DescribeRuleOutput) SetEventPattern(v string) *DescribeRuleOutput {
9136	s.EventPattern = &v
9137	return s
9138}
9139
9140// SetManagedBy sets the ManagedBy field's value.
9141func (s *DescribeRuleOutput) SetManagedBy(v string) *DescribeRuleOutput {
9142	s.ManagedBy = &v
9143	return s
9144}
9145
9146// SetName sets the Name field's value.
9147func (s *DescribeRuleOutput) SetName(v string) *DescribeRuleOutput {
9148	s.Name = &v
9149	return s
9150}
9151
9152// SetRoleArn sets the RoleArn field's value.
9153func (s *DescribeRuleOutput) SetRoleArn(v string) *DescribeRuleOutput {
9154	s.RoleArn = &v
9155	return s
9156}
9157
9158// SetScheduleExpression sets the ScheduleExpression field's value.
9159func (s *DescribeRuleOutput) SetScheduleExpression(v string) *DescribeRuleOutput {
9160	s.ScheduleExpression = &v
9161	return s
9162}
9163
9164// SetState sets the State field's value.
9165func (s *DescribeRuleOutput) SetState(v string) *DescribeRuleOutput {
9166	s.State = &v
9167	return s
9168}
9169
9170type DisableRuleInput struct {
9171	_ struct{} `type:"structure"`
9172
9173	// The name or ARN of the event bus associated with the rule. If you omit this,
9174	// the default event bus is used.
9175	EventBusName *string `min:"1" type:"string"`
9176
9177	// The name of the rule.
9178	//
9179	// Name is a required field
9180	Name *string `min:"1" type:"string" required:"true"`
9181}
9182
9183// String returns the string representation.
9184//
9185// API parameter values that are decorated as "sensitive" in the API will not
9186// be included in the string output. The member name will be present, but the
9187// value will be replaced with "sensitive".
9188func (s DisableRuleInput) String() string {
9189	return awsutil.Prettify(s)
9190}
9191
9192// GoString returns the string representation.
9193//
9194// API parameter values that are decorated as "sensitive" in the API will not
9195// be included in the string output. The member name will be present, but the
9196// value will be replaced with "sensitive".
9197func (s DisableRuleInput) GoString() string {
9198	return s.String()
9199}
9200
9201// Validate inspects the fields of the type to determine if they are valid.
9202func (s *DisableRuleInput) Validate() error {
9203	invalidParams := request.ErrInvalidParams{Context: "DisableRuleInput"}
9204	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
9205		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
9206	}
9207	if s.Name == nil {
9208		invalidParams.Add(request.NewErrParamRequired("Name"))
9209	}
9210	if s.Name != nil && len(*s.Name) < 1 {
9211		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9212	}
9213
9214	if invalidParams.Len() > 0 {
9215		return invalidParams
9216	}
9217	return nil
9218}
9219
9220// SetEventBusName sets the EventBusName field's value.
9221func (s *DisableRuleInput) SetEventBusName(v string) *DisableRuleInput {
9222	s.EventBusName = &v
9223	return s
9224}
9225
9226// SetName sets the Name field's value.
9227func (s *DisableRuleInput) SetName(v string) *DisableRuleInput {
9228	s.Name = &v
9229	return s
9230}
9231
9232type DisableRuleOutput struct {
9233	_ struct{} `type:"structure"`
9234}
9235
9236// String returns the string representation.
9237//
9238// API parameter values that are decorated as "sensitive" in the API will not
9239// be included in the string output. The member name will be present, but the
9240// value will be replaced with "sensitive".
9241func (s DisableRuleOutput) String() string {
9242	return awsutil.Prettify(s)
9243}
9244
9245// GoString returns the string representation.
9246//
9247// API parameter values that are decorated as "sensitive" in the API will not
9248// be included in the string output. The member name will be present, but the
9249// value will be replaced with "sensitive".
9250func (s DisableRuleOutput) GoString() string {
9251	return s.String()
9252}
9253
9254// The custom parameters to be used when the target is an Amazon ECS task.
9255type EcsParameters struct {
9256	_ struct{} `type:"structure"`
9257
9258	// The capacity provider strategy to use for the task.
9259	//
9260	// If a capacityProviderStrategy is specified, the launchType parameter must
9261	// be omitted. If no capacityProviderStrategy or launchType is specified, the
9262	// defaultCapacityProviderStrategy for the cluster is used.
9263	CapacityProviderStrategy []*CapacityProviderStrategyItem `type:"list"`
9264
9265	// Specifies whether to enable Amazon ECS managed tags for the task. For more
9266	// information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
9267	// in the Amazon Elastic Container Service Developer Guide.
9268	EnableECSManagedTags *bool `type:"boolean"`
9269
9270	// Whether or not to enable the execute command functionality for the containers
9271	// in this task. If true, this enables execute command functionality on all
9272	// containers in the task.
9273	EnableExecuteCommand *bool `type:"boolean"`
9274
9275	// Specifies an ECS task group for the task. The maximum length is 255 characters.
9276	Group *string `type:"string"`
9277
9278	// Specifies the launch type on which your task is running. The launch type
9279	// that you specify here must match one of the launch type (compatibilities)
9280	// of the target task. The FARGATE value is supported only in the Regions where
9281	// Fargate witt Amazon ECS is supported. For more information, see Fargate on
9282	// Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html)
9283	// in the Amazon Elastic Container Service Developer Guide.
9284	LaunchType *string `type:"string" enum:"LaunchType"`
9285
9286	// Use this structure if the Amazon ECS task uses the awsvpc network mode. This
9287	// structure specifies the VPC subnets and security groups associated with the
9288	// task, and whether a public IP address is to be used. This structure is required
9289	// if LaunchType is FARGATE because the awsvpc mode is required for Fargate
9290	// tasks.
9291	//
9292	// If you specify NetworkConfiguration when the target ECS task does not use
9293	// the awsvpc network mode, the task fails.
9294	NetworkConfiguration *NetworkConfiguration `type:"structure"`
9295
9296	// An array of placement constraint objects to use for the task. You can specify
9297	// up to 10 constraints per task (including constraints in the task definition
9298	// and those specified at runtime).
9299	PlacementConstraints []*PlacementConstraint `type:"list"`
9300
9301	// The placement strategy objects to use for the task. You can specify a maximum
9302	// of five strategy rules per task.
9303	PlacementStrategy []*PlacementStrategy `type:"list"`
9304
9305	// Specifies the platform version for the task. Specify only the numeric portion
9306	// of the platform version, such as 1.1.0.
9307	//
9308	// This structure is used only if LaunchType is FARGATE. For more information
9309	// about valid platform versions, see Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
9310	// in the Amazon Elastic Container Service Developer Guide.
9311	PlatformVersion *string `type:"string"`
9312
9313	// Specifies whether to propagate the tags from the task definition to the task.
9314	// If no value is specified, the tags are not propagated. Tags can only be propagated
9315	// to the task during task creation. To add tags to a task after task creation,
9316	// use the TagResource API action.
9317	PropagateTags *string `type:"string" enum:"PropagateTags"`
9318
9319	// The reference ID to use for the task.
9320	ReferenceId *string `type:"string"`
9321
9322	// The metadata that you apply to the task to help you categorize and organize
9323	// them. Each tag consists of a key and an optional value, both of which you
9324	// define. To learn more, see RunTask (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags)
9325	// in the Amazon ECS API Reference.
9326	Tags []*Tag `type:"list"`
9327
9328	// The number of tasks to create based on TaskDefinition. The default is 1.
9329	TaskCount *int64 `min:"1" type:"integer"`
9330
9331	// The ARN of the task definition to use if the event target is an Amazon ECS
9332	// task.
9333	//
9334	// TaskDefinitionArn is a required field
9335	TaskDefinitionArn *string `min:"1" type:"string" required:"true"`
9336}
9337
9338// String returns the string representation.
9339//
9340// API parameter values that are decorated as "sensitive" in the API will not
9341// be included in the string output. The member name will be present, but the
9342// value will be replaced with "sensitive".
9343func (s EcsParameters) String() string {
9344	return awsutil.Prettify(s)
9345}
9346
9347// GoString returns the string representation.
9348//
9349// API parameter values that are decorated as "sensitive" in the API will not
9350// be included in the string output. The member name will be present, but the
9351// value will be replaced with "sensitive".
9352func (s EcsParameters) GoString() string {
9353	return s.String()
9354}
9355
9356// Validate inspects the fields of the type to determine if they are valid.
9357func (s *EcsParameters) Validate() error {
9358	invalidParams := request.ErrInvalidParams{Context: "EcsParameters"}
9359	if s.TaskCount != nil && *s.TaskCount < 1 {
9360		invalidParams.Add(request.NewErrParamMinValue("TaskCount", 1))
9361	}
9362	if s.TaskDefinitionArn == nil {
9363		invalidParams.Add(request.NewErrParamRequired("TaskDefinitionArn"))
9364	}
9365	if s.TaskDefinitionArn != nil && len(*s.TaskDefinitionArn) < 1 {
9366		invalidParams.Add(request.NewErrParamMinLen("TaskDefinitionArn", 1))
9367	}
9368	if s.CapacityProviderStrategy != nil {
9369		for i, v := range s.CapacityProviderStrategy {
9370			if v == nil {
9371				continue
9372			}
9373			if err := v.Validate(); err != nil {
9374				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams))
9375			}
9376		}
9377	}
9378	if s.NetworkConfiguration != nil {
9379		if err := s.NetworkConfiguration.Validate(); err != nil {
9380			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
9381		}
9382	}
9383	if s.Tags != nil {
9384		for i, v := range s.Tags {
9385			if v == nil {
9386				continue
9387			}
9388			if err := v.Validate(); err != nil {
9389				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9390			}
9391		}
9392	}
9393
9394	if invalidParams.Len() > 0 {
9395		return invalidParams
9396	}
9397	return nil
9398}
9399
9400// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value.
9401func (s *EcsParameters) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *EcsParameters {
9402	s.CapacityProviderStrategy = v
9403	return s
9404}
9405
9406// SetEnableECSManagedTags sets the EnableECSManagedTags field's value.
9407func (s *EcsParameters) SetEnableECSManagedTags(v bool) *EcsParameters {
9408	s.EnableECSManagedTags = &v
9409	return s
9410}
9411
9412// SetEnableExecuteCommand sets the EnableExecuteCommand field's value.
9413func (s *EcsParameters) SetEnableExecuteCommand(v bool) *EcsParameters {
9414	s.EnableExecuteCommand = &v
9415	return s
9416}
9417
9418// SetGroup sets the Group field's value.
9419func (s *EcsParameters) SetGroup(v string) *EcsParameters {
9420	s.Group = &v
9421	return s
9422}
9423
9424// SetLaunchType sets the LaunchType field's value.
9425func (s *EcsParameters) SetLaunchType(v string) *EcsParameters {
9426	s.LaunchType = &v
9427	return s
9428}
9429
9430// SetNetworkConfiguration sets the NetworkConfiguration field's value.
9431func (s *EcsParameters) SetNetworkConfiguration(v *NetworkConfiguration) *EcsParameters {
9432	s.NetworkConfiguration = v
9433	return s
9434}
9435
9436// SetPlacementConstraints sets the PlacementConstraints field's value.
9437func (s *EcsParameters) SetPlacementConstraints(v []*PlacementConstraint) *EcsParameters {
9438	s.PlacementConstraints = v
9439	return s
9440}
9441
9442// SetPlacementStrategy sets the PlacementStrategy field's value.
9443func (s *EcsParameters) SetPlacementStrategy(v []*PlacementStrategy) *EcsParameters {
9444	s.PlacementStrategy = v
9445	return s
9446}
9447
9448// SetPlatformVersion sets the PlatformVersion field's value.
9449func (s *EcsParameters) SetPlatformVersion(v string) *EcsParameters {
9450	s.PlatformVersion = &v
9451	return s
9452}
9453
9454// SetPropagateTags sets the PropagateTags field's value.
9455func (s *EcsParameters) SetPropagateTags(v string) *EcsParameters {
9456	s.PropagateTags = &v
9457	return s
9458}
9459
9460// SetReferenceId sets the ReferenceId field's value.
9461func (s *EcsParameters) SetReferenceId(v string) *EcsParameters {
9462	s.ReferenceId = &v
9463	return s
9464}
9465
9466// SetTags sets the Tags field's value.
9467func (s *EcsParameters) SetTags(v []*Tag) *EcsParameters {
9468	s.Tags = v
9469	return s
9470}
9471
9472// SetTaskCount sets the TaskCount field's value.
9473func (s *EcsParameters) SetTaskCount(v int64) *EcsParameters {
9474	s.TaskCount = &v
9475	return s
9476}
9477
9478// SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
9479func (s *EcsParameters) SetTaskDefinitionArn(v string) *EcsParameters {
9480	s.TaskDefinitionArn = &v
9481	return s
9482}
9483
9484type EnableRuleInput struct {
9485	_ struct{} `type:"structure"`
9486
9487	// The name or ARN of the event bus associated with the rule. If you omit this,
9488	// the default event bus is used.
9489	EventBusName *string `min:"1" type:"string"`
9490
9491	// The name of the rule.
9492	//
9493	// Name is a required field
9494	Name *string `min:"1" type:"string" required:"true"`
9495}
9496
9497// String returns the string representation.
9498//
9499// API parameter values that are decorated as "sensitive" in the API will not
9500// be included in the string output. The member name will be present, but the
9501// value will be replaced with "sensitive".
9502func (s EnableRuleInput) String() string {
9503	return awsutil.Prettify(s)
9504}
9505
9506// GoString returns the string representation.
9507//
9508// API parameter values that are decorated as "sensitive" in the API will not
9509// be included in the string output. The member name will be present, but the
9510// value will be replaced with "sensitive".
9511func (s EnableRuleInput) GoString() string {
9512	return s.String()
9513}
9514
9515// Validate inspects the fields of the type to determine if they are valid.
9516func (s *EnableRuleInput) Validate() error {
9517	invalidParams := request.ErrInvalidParams{Context: "EnableRuleInput"}
9518	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
9519		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
9520	}
9521	if s.Name == nil {
9522		invalidParams.Add(request.NewErrParamRequired("Name"))
9523	}
9524	if s.Name != nil && len(*s.Name) < 1 {
9525		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9526	}
9527
9528	if invalidParams.Len() > 0 {
9529		return invalidParams
9530	}
9531	return nil
9532}
9533
9534// SetEventBusName sets the EventBusName field's value.
9535func (s *EnableRuleInput) SetEventBusName(v string) *EnableRuleInput {
9536	s.EventBusName = &v
9537	return s
9538}
9539
9540// SetName sets the Name field's value.
9541func (s *EnableRuleInput) SetName(v string) *EnableRuleInput {
9542	s.Name = &v
9543	return s
9544}
9545
9546type EnableRuleOutput struct {
9547	_ struct{} `type:"structure"`
9548}
9549
9550// String returns the string representation.
9551//
9552// API parameter values that are decorated as "sensitive" in the API will not
9553// be included in the string output. The member name will be present, but the
9554// value will be replaced with "sensitive".
9555func (s EnableRuleOutput) String() string {
9556	return awsutil.Prettify(s)
9557}
9558
9559// GoString returns the string representation.
9560//
9561// API parameter values that are decorated as "sensitive" in the API will not
9562// be included in the string output. The member name will be present, but the
9563// value will be replaced with "sensitive".
9564func (s EnableRuleOutput) GoString() string {
9565	return s.String()
9566}
9567
9568// An event bus receives events from a source and routes them to rules associated
9569// with that event bus. Your account's default event bus receives events from
9570// Amazon Web Services services. A custom event bus can receive events from
9571// your custom applications and services. A partner event bus receives events
9572// from an event source created by an SaaS partner. These events come from the
9573// partners services or applications.
9574type EventBus struct {
9575	_ struct{} `type:"structure"`
9576
9577	// The ARN of the event bus.
9578	Arn *string `type:"string"`
9579
9580	// The name of the event bus.
9581	Name *string `type:"string"`
9582
9583	// The permissions policy of the event bus, describing which other Amazon Web
9584	// Services accounts can write events to this event bus.
9585	Policy *string `type:"string"`
9586}
9587
9588// String returns the string representation.
9589//
9590// API parameter values that are decorated as "sensitive" in the API will not
9591// be included in the string output. The member name will be present, but the
9592// value will be replaced with "sensitive".
9593func (s EventBus) String() string {
9594	return awsutil.Prettify(s)
9595}
9596
9597// GoString returns the string representation.
9598//
9599// API parameter values that are decorated as "sensitive" in the API will not
9600// be included in the string output. The member name will be present, but the
9601// value will be replaced with "sensitive".
9602func (s EventBus) GoString() string {
9603	return s.String()
9604}
9605
9606// SetArn sets the Arn field's value.
9607func (s *EventBus) SetArn(v string) *EventBus {
9608	s.Arn = &v
9609	return s
9610}
9611
9612// SetName sets the Name field's value.
9613func (s *EventBus) SetName(v string) *EventBus {
9614	s.Name = &v
9615	return s
9616}
9617
9618// SetPolicy sets the Policy field's value.
9619func (s *EventBus) SetPolicy(v string) *EventBus {
9620	s.Policy = &v
9621	return s
9622}
9623
9624// A partner event source is created by an SaaS partner. If a customer creates
9625// a partner event bus that matches this event source, that Amazon Web Services
9626// account can receive events from the partner's applications or services.
9627type EventSource struct {
9628	_ struct{} `type:"structure"`
9629
9630	// The ARN of the event source.
9631	Arn *string `type:"string"`
9632
9633	// The name of the partner that created the event source.
9634	CreatedBy *string `type:"string"`
9635
9636	// The date and time the event source was created.
9637	CreationTime *time.Time `type:"timestamp"`
9638
9639	// The date and time that the event source will expire, if the Amazon Web Services
9640	// account doesn't create a matching event bus for it.
9641	ExpirationTime *time.Time `type:"timestamp"`
9642
9643	// The name of the event source.
9644	Name *string `type:"string"`
9645
9646	// The state of the event source. If it is ACTIVE, you have already created
9647	// a matching event bus for this event source, and that event bus is active.
9648	// If it is PENDING, either you haven't yet created a matching event bus, or
9649	// that event bus is deactivated. If it is DELETED, you have created a matching
9650	// event bus, but the event source has since been deleted.
9651	State *string `type:"string" enum:"EventSourceState"`
9652}
9653
9654// String returns the string representation.
9655//
9656// API parameter values that are decorated as "sensitive" in the API will not
9657// be included in the string output. The member name will be present, but the
9658// value will be replaced with "sensitive".
9659func (s EventSource) String() string {
9660	return awsutil.Prettify(s)
9661}
9662
9663// GoString returns the string representation.
9664//
9665// API parameter values that are decorated as "sensitive" in the API will not
9666// be included in the string output. The member name will be present, but the
9667// value will be replaced with "sensitive".
9668func (s EventSource) GoString() string {
9669	return s.String()
9670}
9671
9672// SetArn sets the Arn field's value.
9673func (s *EventSource) SetArn(v string) *EventSource {
9674	s.Arn = &v
9675	return s
9676}
9677
9678// SetCreatedBy sets the CreatedBy field's value.
9679func (s *EventSource) SetCreatedBy(v string) *EventSource {
9680	s.CreatedBy = &v
9681	return s
9682}
9683
9684// SetCreationTime sets the CreationTime field's value.
9685func (s *EventSource) SetCreationTime(v time.Time) *EventSource {
9686	s.CreationTime = &v
9687	return s
9688}
9689
9690// SetExpirationTime sets the ExpirationTime field's value.
9691func (s *EventSource) SetExpirationTime(v time.Time) *EventSource {
9692	s.ExpirationTime = &v
9693	return s
9694}
9695
9696// SetName sets the Name field's value.
9697func (s *EventSource) SetName(v string) *EventSource {
9698	s.Name = &v
9699	return s
9700}
9701
9702// SetState sets the State field's value.
9703func (s *EventSource) SetState(v string) *EventSource {
9704	s.State = &v
9705	return s
9706}
9707
9708// These are custom parameter to be used when the target is an API Gateway REST
9709// APIs or EventBridge ApiDestinations. In the latter case, these are merged
9710// with any InvocationParameters specified on the Connection, with any values
9711// from the Connection taking precedence.
9712type HttpParameters struct {
9713	_ struct{} `type:"structure"`
9714
9715	// The headers that need to be sent as part of request invoking the API Gateway
9716	// REST API or EventBridge ApiDestination.
9717	HeaderParameters map[string]*string `type:"map"`
9718
9719	// The path parameter values to be used to populate API Gateway REST API or
9720	// EventBridge ApiDestination path wildcards ("*").
9721	PathParameterValues []*string `type:"list"`
9722
9723	// The query string keys/values that need to be sent as part of request invoking
9724	// the API Gateway REST API or EventBridge ApiDestination.
9725	QueryStringParameters map[string]*string `type:"map"`
9726}
9727
9728// String returns the string representation.
9729//
9730// API parameter values that are decorated as "sensitive" in the API will not
9731// be included in the string output. The member name will be present, but the
9732// value will be replaced with "sensitive".
9733func (s HttpParameters) String() string {
9734	return awsutil.Prettify(s)
9735}
9736
9737// GoString returns the string representation.
9738//
9739// API parameter values that are decorated as "sensitive" in the API will not
9740// be included in the string output. The member name will be present, but the
9741// value will be replaced with "sensitive".
9742func (s HttpParameters) GoString() string {
9743	return s.String()
9744}
9745
9746// SetHeaderParameters sets the HeaderParameters field's value.
9747func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters {
9748	s.HeaderParameters = v
9749	return s
9750}
9751
9752// SetPathParameterValues sets the PathParameterValues field's value.
9753func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters {
9754	s.PathParameterValues = v
9755	return s
9756}
9757
9758// SetQueryStringParameters sets the QueryStringParameters field's value.
9759func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters {
9760	s.QueryStringParameters = v
9761	return s
9762}
9763
9764// An error occurred because a replay can be canceled only when the state is
9765// Running or Starting.
9766type IllegalStatusException struct {
9767	_            struct{}                  `type:"structure"`
9768	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9769
9770	Message_ *string `locationName:"message" type:"string"`
9771}
9772
9773// String returns the string representation.
9774//
9775// API parameter values that are decorated as "sensitive" in the API will not
9776// be included in the string output. The member name will be present, but the
9777// value will be replaced with "sensitive".
9778func (s IllegalStatusException) String() string {
9779	return awsutil.Prettify(s)
9780}
9781
9782// GoString returns the string representation.
9783//
9784// API parameter values that are decorated as "sensitive" in the API will not
9785// be included in the string output. The member name will be present, but the
9786// value will be replaced with "sensitive".
9787func (s IllegalStatusException) GoString() string {
9788	return s.String()
9789}
9790
9791func newErrorIllegalStatusException(v protocol.ResponseMetadata) error {
9792	return &IllegalStatusException{
9793		RespMetadata: v,
9794	}
9795}
9796
9797// Code returns the exception type name.
9798func (s *IllegalStatusException) Code() string {
9799	return "IllegalStatusException"
9800}
9801
9802// Message returns the exception's message.
9803func (s *IllegalStatusException) Message() string {
9804	if s.Message_ != nil {
9805		return *s.Message_
9806	}
9807	return ""
9808}
9809
9810// OrigErr always returns nil, satisfies awserr.Error interface.
9811func (s *IllegalStatusException) OrigErr() error {
9812	return nil
9813}
9814
9815func (s *IllegalStatusException) Error() string {
9816	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9817}
9818
9819// Status code returns the HTTP status code for the request's response error.
9820func (s *IllegalStatusException) StatusCode() int {
9821	return s.RespMetadata.StatusCode
9822}
9823
9824// RequestID returns the service's response RequestID for request.
9825func (s *IllegalStatusException) RequestID() string {
9826	return s.RespMetadata.RequestID
9827}
9828
9829// Contains the parameters needed for you to provide custom input to a target
9830// based on one or more pieces of data extracted from the event.
9831type InputTransformer struct {
9832	_ struct{} `type:"structure"`
9833
9834	// Map of JSON paths to be extracted from the event. You can then insert these
9835	// in the template in InputTemplate to produce the output you want to be sent
9836	// to the target.
9837	//
9838	// InputPathsMap is an array key-value pairs, where each value is a valid JSON
9839	// path. You can have as many as 100 key-value pairs. You must use JSON dot
9840	// notation, not bracket notation.
9841	//
9842	// The keys cannot start with "Amazon Web Services."
9843	InputPathsMap map[string]*string `type:"map"`
9844
9845	// Input template where you specify placeholders that will be filled with the
9846	// values of the keys from InputPathsMap to customize the data sent to the target.
9847	// Enclose each InputPathsMaps value in brackets: <value> The InputTemplate
9848	// must be valid JSON.
9849	//
9850	// If InputTemplate is a JSON object (surrounded by curly braces), the following
9851	// restrictions apply:
9852	//
9853	//    * The placeholder cannot be used as an object key.
9854	//
9855	// The following example shows the syntax for using InputPathsMap and InputTemplate.
9856	//
9857	// "InputTransformer":
9858	//
9859	// {
9860	//
9861	// "InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},
9862	//
9863	// "InputTemplate": "<instance> is in state <status>"
9864	//
9865	// }
9866	//
9867	// To have the InputTemplate include quote marks within a JSON string, escape
9868	// each quote marks with a slash, as in the following example:
9869	//
9870	// "InputTransformer":
9871	//
9872	// {
9873	//
9874	// "InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},
9875	//
9876	// "InputTemplate": "<instance> is in state \"<status>\""
9877	//
9878	// }
9879	//
9880	// The InputTemplate can also be valid JSON with varibles in quotes or out,
9881	// as in the following example:
9882	//
9883	// "InputTransformer":
9884	//
9885	// {
9886	//
9887	// "InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},
9888	//
9889	// "InputTemplate": '{"myInstance": <instance>,"myStatus": "<instance> is in
9890	// state \"<status>\""}'
9891	//
9892	// }
9893	//
9894	// InputTemplate is a required field
9895	InputTemplate *string `min:"1" type:"string" required:"true"`
9896}
9897
9898// String returns the string representation.
9899//
9900// API parameter values that are decorated as "sensitive" in the API will not
9901// be included in the string output. The member name will be present, but the
9902// value will be replaced with "sensitive".
9903func (s InputTransformer) String() string {
9904	return awsutil.Prettify(s)
9905}
9906
9907// GoString returns the string representation.
9908//
9909// API parameter values that are decorated as "sensitive" in the API will not
9910// be included in the string output. The member name will be present, but the
9911// value will be replaced with "sensitive".
9912func (s InputTransformer) GoString() string {
9913	return s.String()
9914}
9915
9916// Validate inspects the fields of the type to determine if they are valid.
9917func (s *InputTransformer) Validate() error {
9918	invalidParams := request.ErrInvalidParams{Context: "InputTransformer"}
9919	if s.InputTemplate == nil {
9920		invalidParams.Add(request.NewErrParamRequired("InputTemplate"))
9921	}
9922	if s.InputTemplate != nil && len(*s.InputTemplate) < 1 {
9923		invalidParams.Add(request.NewErrParamMinLen("InputTemplate", 1))
9924	}
9925
9926	if invalidParams.Len() > 0 {
9927		return invalidParams
9928	}
9929	return nil
9930}
9931
9932// SetInputPathsMap sets the InputPathsMap field's value.
9933func (s *InputTransformer) SetInputPathsMap(v map[string]*string) *InputTransformer {
9934	s.InputPathsMap = v
9935	return s
9936}
9937
9938// SetInputTemplate sets the InputTemplate field's value.
9939func (s *InputTransformer) SetInputTemplate(v string) *InputTransformer {
9940	s.InputTemplate = &v
9941	return s
9942}
9943
9944// This exception occurs due to unexpected causes.
9945type InternalException struct {
9946	_            struct{}                  `type:"structure"`
9947	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9948
9949	Message_ *string `locationName:"message" type:"string"`
9950}
9951
9952// String returns the string representation.
9953//
9954// API parameter values that are decorated as "sensitive" in the API will not
9955// be included in the string output. The member name will be present, but the
9956// value will be replaced with "sensitive".
9957func (s InternalException) String() string {
9958	return awsutil.Prettify(s)
9959}
9960
9961// GoString returns the string representation.
9962//
9963// API parameter values that are decorated as "sensitive" in the API will not
9964// be included in the string output. The member name will be present, but the
9965// value will be replaced with "sensitive".
9966func (s InternalException) GoString() string {
9967	return s.String()
9968}
9969
9970func newErrorInternalException(v protocol.ResponseMetadata) error {
9971	return &InternalException{
9972		RespMetadata: v,
9973	}
9974}
9975
9976// Code returns the exception type name.
9977func (s *InternalException) Code() string {
9978	return "InternalException"
9979}
9980
9981// Message returns the exception's message.
9982func (s *InternalException) Message() string {
9983	if s.Message_ != nil {
9984		return *s.Message_
9985	}
9986	return ""
9987}
9988
9989// OrigErr always returns nil, satisfies awserr.Error interface.
9990func (s *InternalException) OrigErr() error {
9991	return nil
9992}
9993
9994func (s *InternalException) Error() string {
9995	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9996}
9997
9998// Status code returns the HTTP status code for the request's response error.
9999func (s *InternalException) StatusCode() int {
10000	return s.RespMetadata.StatusCode
10001}
10002
10003// RequestID returns the service's response RequestID for request.
10004func (s *InternalException) RequestID() string {
10005	return s.RespMetadata.RequestID
10006}
10007
10008// The event pattern is not valid.
10009type InvalidEventPatternException struct {
10010	_            struct{}                  `type:"structure"`
10011	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10012
10013	Message_ *string `locationName:"message" type:"string"`
10014}
10015
10016// String returns the string representation.
10017//
10018// API parameter values that are decorated as "sensitive" in the API will not
10019// be included in the string output. The member name will be present, but the
10020// value will be replaced with "sensitive".
10021func (s InvalidEventPatternException) String() string {
10022	return awsutil.Prettify(s)
10023}
10024
10025// GoString returns the string representation.
10026//
10027// API parameter values that are decorated as "sensitive" in the API will not
10028// be included in the string output. The member name will be present, but the
10029// value will be replaced with "sensitive".
10030func (s InvalidEventPatternException) GoString() string {
10031	return s.String()
10032}
10033
10034func newErrorInvalidEventPatternException(v protocol.ResponseMetadata) error {
10035	return &InvalidEventPatternException{
10036		RespMetadata: v,
10037	}
10038}
10039
10040// Code returns the exception type name.
10041func (s *InvalidEventPatternException) Code() string {
10042	return "InvalidEventPatternException"
10043}
10044
10045// Message returns the exception's message.
10046func (s *InvalidEventPatternException) Message() string {
10047	if s.Message_ != nil {
10048		return *s.Message_
10049	}
10050	return ""
10051}
10052
10053// OrigErr always returns nil, satisfies awserr.Error interface.
10054func (s *InvalidEventPatternException) OrigErr() error {
10055	return nil
10056}
10057
10058func (s *InvalidEventPatternException) Error() string {
10059	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10060}
10061
10062// Status code returns the HTTP status code for the request's response error.
10063func (s *InvalidEventPatternException) StatusCode() int {
10064	return s.RespMetadata.StatusCode
10065}
10066
10067// RequestID returns the service's response RequestID for request.
10068func (s *InvalidEventPatternException) RequestID() string {
10069	return s.RespMetadata.RequestID
10070}
10071
10072// The specified state is not a valid state for an event source.
10073type InvalidStateException struct {
10074	_            struct{}                  `type:"structure"`
10075	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10076
10077	Message_ *string `locationName:"message" type:"string"`
10078}
10079
10080// String returns the string representation.
10081//
10082// API parameter values that are decorated as "sensitive" in the API will not
10083// be included in the string output. The member name will be present, but the
10084// value will be replaced with "sensitive".
10085func (s InvalidStateException) String() string {
10086	return awsutil.Prettify(s)
10087}
10088
10089// GoString returns the string representation.
10090//
10091// API parameter values that are decorated as "sensitive" in the API will not
10092// be included in the string output. The member name will be present, but the
10093// value will be replaced with "sensitive".
10094func (s InvalidStateException) GoString() string {
10095	return s.String()
10096}
10097
10098func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
10099	return &InvalidStateException{
10100		RespMetadata: v,
10101	}
10102}
10103
10104// Code returns the exception type name.
10105func (s *InvalidStateException) Code() string {
10106	return "InvalidStateException"
10107}
10108
10109// Message returns the exception's message.
10110func (s *InvalidStateException) Message() string {
10111	if s.Message_ != nil {
10112		return *s.Message_
10113	}
10114	return ""
10115}
10116
10117// OrigErr always returns nil, satisfies awserr.Error interface.
10118func (s *InvalidStateException) OrigErr() error {
10119	return nil
10120}
10121
10122func (s *InvalidStateException) Error() string {
10123	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10124}
10125
10126// Status code returns the HTTP status code for the request's response error.
10127func (s *InvalidStateException) StatusCode() int {
10128	return s.RespMetadata.StatusCode
10129}
10130
10131// RequestID returns the service's response RequestID for request.
10132func (s *InvalidStateException) RequestID() string {
10133	return s.RespMetadata.RequestID
10134}
10135
10136// This object enables you to specify a JSON path to extract from the event
10137// and use as the partition key for the Amazon Kinesis data stream, so that
10138// you can control the shard to which the event goes. If you do not include
10139// this parameter, the default is to use the eventId as the partition key.
10140type KinesisParameters struct {
10141	_ struct{} `type:"structure"`
10142
10143	// The JSON path to be extracted from the event and used as the partition key.
10144	// For more information, see Amazon Kinesis Streams Key Concepts (https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key)
10145	// in the Amazon Kinesis Streams Developer Guide.
10146	//
10147	// PartitionKeyPath is a required field
10148	PartitionKeyPath *string `type:"string" required:"true"`
10149}
10150
10151// String returns the string representation.
10152//
10153// API parameter values that are decorated as "sensitive" in the API will not
10154// be included in the string output. The member name will be present, but the
10155// value will be replaced with "sensitive".
10156func (s KinesisParameters) String() string {
10157	return awsutil.Prettify(s)
10158}
10159
10160// GoString returns the string representation.
10161//
10162// API parameter values that are decorated as "sensitive" in the API will not
10163// be included in the string output. The member name will be present, but the
10164// value will be replaced with "sensitive".
10165func (s KinesisParameters) GoString() string {
10166	return s.String()
10167}
10168
10169// Validate inspects the fields of the type to determine if they are valid.
10170func (s *KinesisParameters) Validate() error {
10171	invalidParams := request.ErrInvalidParams{Context: "KinesisParameters"}
10172	if s.PartitionKeyPath == nil {
10173		invalidParams.Add(request.NewErrParamRequired("PartitionKeyPath"))
10174	}
10175
10176	if invalidParams.Len() > 0 {
10177		return invalidParams
10178	}
10179	return nil
10180}
10181
10182// SetPartitionKeyPath sets the PartitionKeyPath field's value.
10183func (s *KinesisParameters) SetPartitionKeyPath(v string) *KinesisParameters {
10184	s.PartitionKeyPath = &v
10185	return s
10186}
10187
10188// The request failed because it attempted to create resource beyond the allowed
10189// service quota.
10190type LimitExceededException struct {
10191	_            struct{}                  `type:"structure"`
10192	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10193
10194	Message_ *string `locationName:"message" type:"string"`
10195}
10196
10197// String returns the string representation.
10198//
10199// API parameter values that are decorated as "sensitive" in the API will not
10200// be included in the string output. The member name will be present, but the
10201// value will be replaced with "sensitive".
10202func (s LimitExceededException) String() string {
10203	return awsutil.Prettify(s)
10204}
10205
10206// GoString returns the string representation.
10207//
10208// API parameter values that are decorated as "sensitive" in the API will not
10209// be included in the string output. The member name will be present, but the
10210// value will be replaced with "sensitive".
10211func (s LimitExceededException) GoString() string {
10212	return s.String()
10213}
10214
10215func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10216	return &LimitExceededException{
10217		RespMetadata: v,
10218	}
10219}
10220
10221// Code returns the exception type name.
10222func (s *LimitExceededException) Code() string {
10223	return "LimitExceededException"
10224}
10225
10226// Message returns the exception's message.
10227func (s *LimitExceededException) Message() string {
10228	if s.Message_ != nil {
10229		return *s.Message_
10230	}
10231	return ""
10232}
10233
10234// OrigErr always returns nil, satisfies awserr.Error interface.
10235func (s *LimitExceededException) OrigErr() error {
10236	return nil
10237}
10238
10239func (s *LimitExceededException) Error() string {
10240	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10241}
10242
10243// Status code returns the HTTP status code for the request's response error.
10244func (s *LimitExceededException) StatusCode() int {
10245	return s.RespMetadata.StatusCode
10246}
10247
10248// RequestID returns the service's response RequestID for request.
10249func (s *LimitExceededException) RequestID() string {
10250	return s.RespMetadata.RequestID
10251}
10252
10253type ListApiDestinationsInput struct {
10254	_ struct{} `type:"structure"`
10255
10256	// The ARN of the connection specified for the API destination.
10257	ConnectionArn *string `min:"1" type:"string"`
10258
10259	// The maximum number of API destinations to include in the response.
10260	Limit *int64 `min:"1" type:"integer"`
10261
10262	// A name prefix to filter results returned. Only API destinations with a name
10263	// that starts with the prefix are returned.
10264	NamePrefix *string `min:"1" type:"string"`
10265
10266	// The token returned by a previous call to retrieve the next set of results.
10267	NextToken *string `min:"1" type:"string"`
10268}
10269
10270// String returns the string representation.
10271//
10272// API parameter values that are decorated as "sensitive" in the API will not
10273// be included in the string output. The member name will be present, but the
10274// value will be replaced with "sensitive".
10275func (s ListApiDestinationsInput) String() string {
10276	return awsutil.Prettify(s)
10277}
10278
10279// GoString returns the string representation.
10280//
10281// API parameter values that are decorated as "sensitive" in the API will not
10282// be included in the string output. The member name will be present, but the
10283// value will be replaced with "sensitive".
10284func (s ListApiDestinationsInput) GoString() string {
10285	return s.String()
10286}
10287
10288// Validate inspects the fields of the type to determine if they are valid.
10289func (s *ListApiDestinationsInput) Validate() error {
10290	invalidParams := request.ErrInvalidParams{Context: "ListApiDestinationsInput"}
10291	if s.ConnectionArn != nil && len(*s.ConnectionArn) < 1 {
10292		invalidParams.Add(request.NewErrParamMinLen("ConnectionArn", 1))
10293	}
10294	if s.Limit != nil && *s.Limit < 1 {
10295		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10296	}
10297	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
10298		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
10299	}
10300	if s.NextToken != nil && len(*s.NextToken) < 1 {
10301		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10302	}
10303
10304	if invalidParams.Len() > 0 {
10305		return invalidParams
10306	}
10307	return nil
10308}
10309
10310// SetConnectionArn sets the ConnectionArn field's value.
10311func (s *ListApiDestinationsInput) SetConnectionArn(v string) *ListApiDestinationsInput {
10312	s.ConnectionArn = &v
10313	return s
10314}
10315
10316// SetLimit sets the Limit field's value.
10317func (s *ListApiDestinationsInput) SetLimit(v int64) *ListApiDestinationsInput {
10318	s.Limit = &v
10319	return s
10320}
10321
10322// SetNamePrefix sets the NamePrefix field's value.
10323func (s *ListApiDestinationsInput) SetNamePrefix(v string) *ListApiDestinationsInput {
10324	s.NamePrefix = &v
10325	return s
10326}
10327
10328// SetNextToken sets the NextToken field's value.
10329func (s *ListApiDestinationsInput) SetNextToken(v string) *ListApiDestinationsInput {
10330	s.NextToken = &v
10331	return s
10332}
10333
10334type ListApiDestinationsOutput struct {
10335	_ struct{} `type:"structure"`
10336
10337	// An array of ApiDestination objects that include information about an API
10338	// destination.
10339	ApiDestinations []*ApiDestination `type:"list"`
10340
10341	// A token you can use in a subsequent request to retrieve the next set of results.
10342	NextToken *string `min:"1" type:"string"`
10343}
10344
10345// String returns the string representation.
10346//
10347// API parameter values that are decorated as "sensitive" in the API will not
10348// be included in the string output. The member name will be present, but the
10349// value will be replaced with "sensitive".
10350func (s ListApiDestinationsOutput) String() string {
10351	return awsutil.Prettify(s)
10352}
10353
10354// GoString returns the string representation.
10355//
10356// API parameter values that are decorated as "sensitive" in the API will not
10357// be included in the string output. The member name will be present, but the
10358// value will be replaced with "sensitive".
10359func (s ListApiDestinationsOutput) GoString() string {
10360	return s.String()
10361}
10362
10363// SetApiDestinations sets the ApiDestinations field's value.
10364func (s *ListApiDestinationsOutput) SetApiDestinations(v []*ApiDestination) *ListApiDestinationsOutput {
10365	s.ApiDestinations = v
10366	return s
10367}
10368
10369// SetNextToken sets the NextToken field's value.
10370func (s *ListApiDestinationsOutput) SetNextToken(v string) *ListApiDestinationsOutput {
10371	s.NextToken = &v
10372	return s
10373}
10374
10375type ListArchivesInput struct {
10376	_ struct{} `type:"structure"`
10377
10378	// The ARN of the event source associated with the archive.
10379	EventSourceArn *string `min:"1" type:"string"`
10380
10381	// The maximum number of results to return.
10382	Limit *int64 `min:"1" type:"integer"`
10383
10384	// A name prefix to filter the archives returned. Only archives with name that
10385	// match the prefix are returned.
10386	NamePrefix *string `min:"1" type:"string"`
10387
10388	// The token returned by a previous call to retrieve the next set of results.
10389	NextToken *string `min:"1" type:"string"`
10390
10391	// The state of the archive.
10392	State *string `type:"string" enum:"ArchiveState"`
10393}
10394
10395// String returns the string representation.
10396//
10397// API parameter values that are decorated as "sensitive" in the API will not
10398// be included in the string output. The member name will be present, but the
10399// value will be replaced with "sensitive".
10400func (s ListArchivesInput) String() string {
10401	return awsutil.Prettify(s)
10402}
10403
10404// GoString returns the string representation.
10405//
10406// API parameter values that are decorated as "sensitive" in the API will not
10407// be included in the string output. The member name will be present, but the
10408// value will be replaced with "sensitive".
10409func (s ListArchivesInput) GoString() string {
10410	return s.String()
10411}
10412
10413// Validate inspects the fields of the type to determine if they are valid.
10414func (s *ListArchivesInput) Validate() error {
10415	invalidParams := request.ErrInvalidParams{Context: "ListArchivesInput"}
10416	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
10417		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
10418	}
10419	if s.Limit != nil && *s.Limit < 1 {
10420		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10421	}
10422	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
10423		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
10424	}
10425	if s.NextToken != nil && len(*s.NextToken) < 1 {
10426		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10427	}
10428
10429	if invalidParams.Len() > 0 {
10430		return invalidParams
10431	}
10432	return nil
10433}
10434
10435// SetEventSourceArn sets the EventSourceArn field's value.
10436func (s *ListArchivesInput) SetEventSourceArn(v string) *ListArchivesInput {
10437	s.EventSourceArn = &v
10438	return s
10439}
10440
10441// SetLimit sets the Limit field's value.
10442func (s *ListArchivesInput) SetLimit(v int64) *ListArchivesInput {
10443	s.Limit = &v
10444	return s
10445}
10446
10447// SetNamePrefix sets the NamePrefix field's value.
10448func (s *ListArchivesInput) SetNamePrefix(v string) *ListArchivesInput {
10449	s.NamePrefix = &v
10450	return s
10451}
10452
10453// SetNextToken sets the NextToken field's value.
10454func (s *ListArchivesInput) SetNextToken(v string) *ListArchivesInput {
10455	s.NextToken = &v
10456	return s
10457}
10458
10459// SetState sets the State field's value.
10460func (s *ListArchivesInput) SetState(v string) *ListArchivesInput {
10461	s.State = &v
10462	return s
10463}
10464
10465type ListArchivesOutput struct {
10466	_ struct{} `type:"structure"`
10467
10468	// An array of Archive objects that include details about an archive.
10469	Archives []*Archive `type:"list"`
10470
10471	// The token returned by a previous call to retrieve the next set of results.
10472	NextToken *string `min:"1" type:"string"`
10473}
10474
10475// String returns the string representation.
10476//
10477// API parameter values that are decorated as "sensitive" in the API will not
10478// be included in the string output. The member name will be present, but the
10479// value will be replaced with "sensitive".
10480func (s ListArchivesOutput) String() string {
10481	return awsutil.Prettify(s)
10482}
10483
10484// GoString returns the string representation.
10485//
10486// API parameter values that are decorated as "sensitive" in the API will not
10487// be included in the string output. The member name will be present, but the
10488// value will be replaced with "sensitive".
10489func (s ListArchivesOutput) GoString() string {
10490	return s.String()
10491}
10492
10493// SetArchives sets the Archives field's value.
10494func (s *ListArchivesOutput) SetArchives(v []*Archive) *ListArchivesOutput {
10495	s.Archives = v
10496	return s
10497}
10498
10499// SetNextToken sets the NextToken field's value.
10500func (s *ListArchivesOutput) SetNextToken(v string) *ListArchivesOutput {
10501	s.NextToken = &v
10502	return s
10503}
10504
10505type ListConnectionsInput struct {
10506	_ struct{} `type:"structure"`
10507
10508	// The state of the connection.
10509	ConnectionState *string `type:"string" enum:"ConnectionState"`
10510
10511	// The maximum number of connections to return.
10512	Limit *int64 `min:"1" type:"integer"`
10513
10514	// A name prefix to filter results returned. Only connections with a name that
10515	// starts with the prefix are returned.
10516	NamePrefix *string `min:"1" type:"string"`
10517
10518	// The token returned by a previous call to retrieve the next set of results.
10519	NextToken *string `min:"1" type:"string"`
10520}
10521
10522// String returns the string representation.
10523//
10524// API parameter values that are decorated as "sensitive" in the API will not
10525// be included in the string output. The member name will be present, but the
10526// value will be replaced with "sensitive".
10527func (s ListConnectionsInput) String() string {
10528	return awsutil.Prettify(s)
10529}
10530
10531// GoString returns the string representation.
10532//
10533// API parameter values that are decorated as "sensitive" in the API will not
10534// be included in the string output. The member name will be present, but the
10535// value will be replaced with "sensitive".
10536func (s ListConnectionsInput) GoString() string {
10537	return s.String()
10538}
10539
10540// Validate inspects the fields of the type to determine if they are valid.
10541func (s *ListConnectionsInput) Validate() error {
10542	invalidParams := request.ErrInvalidParams{Context: "ListConnectionsInput"}
10543	if s.Limit != nil && *s.Limit < 1 {
10544		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10545	}
10546	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
10547		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
10548	}
10549	if s.NextToken != nil && len(*s.NextToken) < 1 {
10550		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10551	}
10552
10553	if invalidParams.Len() > 0 {
10554		return invalidParams
10555	}
10556	return nil
10557}
10558
10559// SetConnectionState sets the ConnectionState field's value.
10560func (s *ListConnectionsInput) SetConnectionState(v string) *ListConnectionsInput {
10561	s.ConnectionState = &v
10562	return s
10563}
10564
10565// SetLimit sets the Limit field's value.
10566func (s *ListConnectionsInput) SetLimit(v int64) *ListConnectionsInput {
10567	s.Limit = &v
10568	return s
10569}
10570
10571// SetNamePrefix sets the NamePrefix field's value.
10572func (s *ListConnectionsInput) SetNamePrefix(v string) *ListConnectionsInput {
10573	s.NamePrefix = &v
10574	return s
10575}
10576
10577// SetNextToken sets the NextToken field's value.
10578func (s *ListConnectionsInput) SetNextToken(v string) *ListConnectionsInput {
10579	s.NextToken = &v
10580	return s
10581}
10582
10583type ListConnectionsOutput struct {
10584	_ struct{} `type:"structure"`
10585
10586	// An array of connections objects that include details about the connections.
10587	Connections []*Connection `type:"list"`
10588
10589	// A token you can use in a subsequent request to retrieve the next set of results.
10590	NextToken *string `min:"1" type:"string"`
10591}
10592
10593// String returns the string representation.
10594//
10595// API parameter values that are decorated as "sensitive" in the API will not
10596// be included in the string output. The member name will be present, but the
10597// value will be replaced with "sensitive".
10598func (s ListConnectionsOutput) String() string {
10599	return awsutil.Prettify(s)
10600}
10601
10602// GoString returns the string representation.
10603//
10604// API parameter values that are decorated as "sensitive" in the API will not
10605// be included in the string output. The member name will be present, but the
10606// value will be replaced with "sensitive".
10607func (s ListConnectionsOutput) GoString() string {
10608	return s.String()
10609}
10610
10611// SetConnections sets the Connections field's value.
10612func (s *ListConnectionsOutput) SetConnections(v []*Connection) *ListConnectionsOutput {
10613	s.Connections = v
10614	return s
10615}
10616
10617// SetNextToken sets the NextToken field's value.
10618func (s *ListConnectionsOutput) SetNextToken(v string) *ListConnectionsOutput {
10619	s.NextToken = &v
10620	return s
10621}
10622
10623type ListEventBusesInput struct {
10624	_ struct{} `type:"structure"`
10625
10626	// Specifying this limits the number of results returned by this operation.
10627	// The operation also returns a NextToken which you can use in a subsequent
10628	// operation to retrieve the next set of results.
10629	Limit *int64 `min:"1" type:"integer"`
10630
10631	// Specifying this limits the results to only those event buses with names that
10632	// start with the specified prefix.
10633	NamePrefix *string `min:"1" type:"string"`
10634
10635	// The token returned by a previous call to retrieve the next set of results.
10636	NextToken *string `min:"1" type:"string"`
10637}
10638
10639// String returns the string representation.
10640//
10641// API parameter values that are decorated as "sensitive" in the API will not
10642// be included in the string output. The member name will be present, but the
10643// value will be replaced with "sensitive".
10644func (s ListEventBusesInput) String() string {
10645	return awsutil.Prettify(s)
10646}
10647
10648// GoString returns the string representation.
10649//
10650// API parameter values that are decorated as "sensitive" in the API will not
10651// be included in the string output. The member name will be present, but the
10652// value will be replaced with "sensitive".
10653func (s ListEventBusesInput) GoString() string {
10654	return s.String()
10655}
10656
10657// Validate inspects the fields of the type to determine if they are valid.
10658func (s *ListEventBusesInput) Validate() error {
10659	invalidParams := request.ErrInvalidParams{Context: "ListEventBusesInput"}
10660	if s.Limit != nil && *s.Limit < 1 {
10661		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10662	}
10663	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
10664		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
10665	}
10666	if s.NextToken != nil && len(*s.NextToken) < 1 {
10667		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10668	}
10669
10670	if invalidParams.Len() > 0 {
10671		return invalidParams
10672	}
10673	return nil
10674}
10675
10676// SetLimit sets the Limit field's value.
10677func (s *ListEventBusesInput) SetLimit(v int64) *ListEventBusesInput {
10678	s.Limit = &v
10679	return s
10680}
10681
10682// SetNamePrefix sets the NamePrefix field's value.
10683func (s *ListEventBusesInput) SetNamePrefix(v string) *ListEventBusesInput {
10684	s.NamePrefix = &v
10685	return s
10686}
10687
10688// SetNextToken sets the NextToken field's value.
10689func (s *ListEventBusesInput) SetNextToken(v string) *ListEventBusesInput {
10690	s.NextToken = &v
10691	return s
10692}
10693
10694type ListEventBusesOutput struct {
10695	_ struct{} `type:"structure"`
10696
10697	// This list of event buses.
10698	EventBuses []*EventBus `type:"list"`
10699
10700	// A token you can use in a subsequent operation to retrieve the next set of
10701	// results.
10702	NextToken *string `min:"1" type:"string"`
10703}
10704
10705// String returns the string representation.
10706//
10707// API parameter values that are decorated as "sensitive" in the API will not
10708// be included in the string output. The member name will be present, but the
10709// value will be replaced with "sensitive".
10710func (s ListEventBusesOutput) String() string {
10711	return awsutil.Prettify(s)
10712}
10713
10714// GoString returns the string representation.
10715//
10716// API parameter values that are decorated as "sensitive" in the API will not
10717// be included in the string output. The member name will be present, but the
10718// value will be replaced with "sensitive".
10719func (s ListEventBusesOutput) GoString() string {
10720	return s.String()
10721}
10722
10723// SetEventBuses sets the EventBuses field's value.
10724func (s *ListEventBusesOutput) SetEventBuses(v []*EventBus) *ListEventBusesOutput {
10725	s.EventBuses = v
10726	return s
10727}
10728
10729// SetNextToken sets the NextToken field's value.
10730func (s *ListEventBusesOutput) SetNextToken(v string) *ListEventBusesOutput {
10731	s.NextToken = &v
10732	return s
10733}
10734
10735type ListEventSourcesInput struct {
10736	_ struct{} `type:"structure"`
10737
10738	// Specifying this limits the number of results returned by this operation.
10739	// The operation also returns a NextToken which you can use in a subsequent
10740	// operation to retrieve the next set of results.
10741	Limit *int64 `min:"1" type:"integer"`
10742
10743	// Specifying this limits the results to only those partner event sources with
10744	// names that start with the specified prefix.
10745	NamePrefix *string `min:"1" type:"string"`
10746
10747	// The token returned by a previous call to retrieve the next set of results.
10748	NextToken *string `min:"1" type:"string"`
10749}
10750
10751// String returns the string representation.
10752//
10753// API parameter values that are decorated as "sensitive" in the API will not
10754// be included in the string output. The member name will be present, but the
10755// value will be replaced with "sensitive".
10756func (s ListEventSourcesInput) String() string {
10757	return awsutil.Prettify(s)
10758}
10759
10760// GoString returns the string representation.
10761//
10762// API parameter values that are decorated as "sensitive" in the API will not
10763// be included in the string output. The member name will be present, but the
10764// value will be replaced with "sensitive".
10765func (s ListEventSourcesInput) GoString() string {
10766	return s.String()
10767}
10768
10769// Validate inspects the fields of the type to determine if they are valid.
10770func (s *ListEventSourcesInput) Validate() error {
10771	invalidParams := request.ErrInvalidParams{Context: "ListEventSourcesInput"}
10772	if s.Limit != nil && *s.Limit < 1 {
10773		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10774	}
10775	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
10776		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
10777	}
10778	if s.NextToken != nil && len(*s.NextToken) < 1 {
10779		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10780	}
10781
10782	if invalidParams.Len() > 0 {
10783		return invalidParams
10784	}
10785	return nil
10786}
10787
10788// SetLimit sets the Limit field's value.
10789func (s *ListEventSourcesInput) SetLimit(v int64) *ListEventSourcesInput {
10790	s.Limit = &v
10791	return s
10792}
10793
10794// SetNamePrefix sets the NamePrefix field's value.
10795func (s *ListEventSourcesInput) SetNamePrefix(v string) *ListEventSourcesInput {
10796	s.NamePrefix = &v
10797	return s
10798}
10799
10800// SetNextToken sets the NextToken field's value.
10801func (s *ListEventSourcesInput) SetNextToken(v string) *ListEventSourcesInput {
10802	s.NextToken = &v
10803	return s
10804}
10805
10806type ListEventSourcesOutput struct {
10807	_ struct{} `type:"structure"`
10808
10809	// The list of event sources.
10810	EventSources []*EventSource `type:"list"`
10811
10812	// A token you can use in a subsequent operation to retrieve the next set of
10813	// results.
10814	NextToken *string `min:"1" type:"string"`
10815}
10816
10817// String returns the string representation.
10818//
10819// API parameter values that are decorated as "sensitive" in the API will not
10820// be included in the string output. The member name will be present, but the
10821// value will be replaced with "sensitive".
10822func (s ListEventSourcesOutput) String() string {
10823	return awsutil.Prettify(s)
10824}
10825
10826// GoString returns the string representation.
10827//
10828// API parameter values that are decorated as "sensitive" in the API will not
10829// be included in the string output. The member name will be present, but the
10830// value will be replaced with "sensitive".
10831func (s ListEventSourcesOutput) GoString() string {
10832	return s.String()
10833}
10834
10835// SetEventSources sets the EventSources field's value.
10836func (s *ListEventSourcesOutput) SetEventSources(v []*EventSource) *ListEventSourcesOutput {
10837	s.EventSources = v
10838	return s
10839}
10840
10841// SetNextToken sets the NextToken field's value.
10842func (s *ListEventSourcesOutput) SetNextToken(v string) *ListEventSourcesOutput {
10843	s.NextToken = &v
10844	return s
10845}
10846
10847type ListPartnerEventSourceAccountsInput struct {
10848	_ struct{} `type:"structure"`
10849
10850	// The name of the partner event source to display account information about.
10851	//
10852	// EventSourceName is a required field
10853	EventSourceName *string `min:"1" type:"string" required:"true"`
10854
10855	// Specifying this limits the number of results returned by this operation.
10856	// The operation also returns a NextToken which you can use in a subsequent
10857	// operation to retrieve the next set of results.
10858	Limit *int64 `min:"1" type:"integer"`
10859
10860	// The token returned by a previous call to this operation. Specifying this
10861	// retrieves the next set of results.
10862	NextToken *string `min:"1" type:"string"`
10863}
10864
10865// String returns the string representation.
10866//
10867// API parameter values that are decorated as "sensitive" in the API will not
10868// be included in the string output. The member name will be present, but the
10869// value will be replaced with "sensitive".
10870func (s ListPartnerEventSourceAccountsInput) String() string {
10871	return awsutil.Prettify(s)
10872}
10873
10874// GoString returns the string representation.
10875//
10876// API parameter values that are decorated as "sensitive" in the API will not
10877// be included in the string output. The member name will be present, but the
10878// value will be replaced with "sensitive".
10879func (s ListPartnerEventSourceAccountsInput) GoString() string {
10880	return s.String()
10881}
10882
10883// Validate inspects the fields of the type to determine if they are valid.
10884func (s *ListPartnerEventSourceAccountsInput) Validate() error {
10885	invalidParams := request.ErrInvalidParams{Context: "ListPartnerEventSourceAccountsInput"}
10886	if s.EventSourceName == nil {
10887		invalidParams.Add(request.NewErrParamRequired("EventSourceName"))
10888	}
10889	if s.EventSourceName != nil && len(*s.EventSourceName) < 1 {
10890		invalidParams.Add(request.NewErrParamMinLen("EventSourceName", 1))
10891	}
10892	if s.Limit != nil && *s.Limit < 1 {
10893		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10894	}
10895	if s.NextToken != nil && len(*s.NextToken) < 1 {
10896		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10897	}
10898
10899	if invalidParams.Len() > 0 {
10900		return invalidParams
10901	}
10902	return nil
10903}
10904
10905// SetEventSourceName sets the EventSourceName field's value.
10906func (s *ListPartnerEventSourceAccountsInput) SetEventSourceName(v string) *ListPartnerEventSourceAccountsInput {
10907	s.EventSourceName = &v
10908	return s
10909}
10910
10911// SetLimit sets the Limit field's value.
10912func (s *ListPartnerEventSourceAccountsInput) SetLimit(v int64) *ListPartnerEventSourceAccountsInput {
10913	s.Limit = &v
10914	return s
10915}
10916
10917// SetNextToken sets the NextToken field's value.
10918func (s *ListPartnerEventSourceAccountsInput) SetNextToken(v string) *ListPartnerEventSourceAccountsInput {
10919	s.NextToken = &v
10920	return s
10921}
10922
10923type ListPartnerEventSourceAccountsOutput struct {
10924	_ struct{} `type:"structure"`
10925
10926	// A token you can use in a subsequent operation to retrieve the next set of
10927	// results.
10928	NextToken *string `min:"1" type:"string"`
10929
10930	// The list of partner event sources returned by the operation.
10931	PartnerEventSourceAccounts []*PartnerEventSourceAccount `type:"list"`
10932}
10933
10934// String returns the string representation.
10935//
10936// API parameter values that are decorated as "sensitive" in the API will not
10937// be included in the string output. The member name will be present, but the
10938// value will be replaced with "sensitive".
10939func (s ListPartnerEventSourceAccountsOutput) String() string {
10940	return awsutil.Prettify(s)
10941}
10942
10943// GoString returns the string representation.
10944//
10945// API parameter values that are decorated as "sensitive" in the API will not
10946// be included in the string output. The member name will be present, but the
10947// value will be replaced with "sensitive".
10948func (s ListPartnerEventSourceAccountsOutput) GoString() string {
10949	return s.String()
10950}
10951
10952// SetNextToken sets the NextToken field's value.
10953func (s *ListPartnerEventSourceAccountsOutput) SetNextToken(v string) *ListPartnerEventSourceAccountsOutput {
10954	s.NextToken = &v
10955	return s
10956}
10957
10958// SetPartnerEventSourceAccounts sets the PartnerEventSourceAccounts field's value.
10959func (s *ListPartnerEventSourceAccountsOutput) SetPartnerEventSourceAccounts(v []*PartnerEventSourceAccount) *ListPartnerEventSourceAccountsOutput {
10960	s.PartnerEventSourceAccounts = v
10961	return s
10962}
10963
10964type ListPartnerEventSourcesInput struct {
10965	_ struct{} `type:"structure"`
10966
10967	// pecifying this limits the number of results returned by this operation. The
10968	// operation also returns a NextToken which you can use in a subsequent operation
10969	// to retrieve the next set of results.
10970	Limit *int64 `min:"1" type:"integer"`
10971
10972	// If you specify this, the results are limited to only those partner event
10973	// sources that start with the string you specify.
10974	//
10975	// NamePrefix is a required field
10976	NamePrefix *string `min:"1" type:"string" required:"true"`
10977
10978	// The token returned by a previous call to this operation. Specifying this
10979	// retrieves the next set of results.
10980	NextToken *string `min:"1" type:"string"`
10981}
10982
10983// String returns the string representation.
10984//
10985// API parameter values that are decorated as "sensitive" in the API will not
10986// be included in the string output. The member name will be present, but the
10987// value will be replaced with "sensitive".
10988func (s ListPartnerEventSourcesInput) String() string {
10989	return awsutil.Prettify(s)
10990}
10991
10992// GoString returns the string representation.
10993//
10994// API parameter values that are decorated as "sensitive" in the API will not
10995// be included in the string output. The member name will be present, but the
10996// value will be replaced with "sensitive".
10997func (s ListPartnerEventSourcesInput) GoString() string {
10998	return s.String()
10999}
11000
11001// Validate inspects the fields of the type to determine if they are valid.
11002func (s *ListPartnerEventSourcesInput) Validate() error {
11003	invalidParams := request.ErrInvalidParams{Context: "ListPartnerEventSourcesInput"}
11004	if s.Limit != nil && *s.Limit < 1 {
11005		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11006	}
11007	if s.NamePrefix == nil {
11008		invalidParams.Add(request.NewErrParamRequired("NamePrefix"))
11009	}
11010	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
11011		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
11012	}
11013	if s.NextToken != nil && len(*s.NextToken) < 1 {
11014		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11015	}
11016
11017	if invalidParams.Len() > 0 {
11018		return invalidParams
11019	}
11020	return nil
11021}
11022
11023// SetLimit sets the Limit field's value.
11024func (s *ListPartnerEventSourcesInput) SetLimit(v int64) *ListPartnerEventSourcesInput {
11025	s.Limit = &v
11026	return s
11027}
11028
11029// SetNamePrefix sets the NamePrefix field's value.
11030func (s *ListPartnerEventSourcesInput) SetNamePrefix(v string) *ListPartnerEventSourcesInput {
11031	s.NamePrefix = &v
11032	return s
11033}
11034
11035// SetNextToken sets the NextToken field's value.
11036func (s *ListPartnerEventSourcesInput) SetNextToken(v string) *ListPartnerEventSourcesInput {
11037	s.NextToken = &v
11038	return s
11039}
11040
11041type ListPartnerEventSourcesOutput struct {
11042	_ struct{} `type:"structure"`
11043
11044	// A token you can use in a subsequent operation to retrieve the next set of
11045	// results.
11046	NextToken *string `min:"1" type:"string"`
11047
11048	// The list of partner event sources returned by the operation.
11049	PartnerEventSources []*PartnerEventSource `type:"list"`
11050}
11051
11052// String returns the string representation.
11053//
11054// API parameter values that are decorated as "sensitive" in the API will not
11055// be included in the string output. The member name will be present, but the
11056// value will be replaced with "sensitive".
11057func (s ListPartnerEventSourcesOutput) String() string {
11058	return awsutil.Prettify(s)
11059}
11060
11061// GoString returns the string representation.
11062//
11063// API parameter values that are decorated as "sensitive" in the API will not
11064// be included in the string output. The member name will be present, but the
11065// value will be replaced with "sensitive".
11066func (s ListPartnerEventSourcesOutput) GoString() string {
11067	return s.String()
11068}
11069
11070// SetNextToken sets the NextToken field's value.
11071func (s *ListPartnerEventSourcesOutput) SetNextToken(v string) *ListPartnerEventSourcesOutput {
11072	s.NextToken = &v
11073	return s
11074}
11075
11076// SetPartnerEventSources sets the PartnerEventSources field's value.
11077func (s *ListPartnerEventSourcesOutput) SetPartnerEventSources(v []*PartnerEventSource) *ListPartnerEventSourcesOutput {
11078	s.PartnerEventSources = v
11079	return s
11080}
11081
11082type ListReplaysInput struct {
11083	_ struct{} `type:"structure"`
11084
11085	// The ARN of the archive from which the events are replayed.
11086	EventSourceArn *string `min:"1" type:"string"`
11087
11088	// The maximum number of replays to retrieve.
11089	Limit *int64 `min:"1" type:"integer"`
11090
11091	// A name prefix to filter the replays returned. Only replays with name that
11092	// match the prefix are returned.
11093	NamePrefix *string `min:"1" type:"string"`
11094
11095	// The token returned by a previous call to retrieve the next set of results.
11096	NextToken *string `min:"1" type:"string"`
11097
11098	// The state of the replay.
11099	State *string `type:"string" enum:"ReplayState"`
11100}
11101
11102// String returns the string representation.
11103//
11104// API parameter values that are decorated as "sensitive" in the API will not
11105// be included in the string output. The member name will be present, but the
11106// value will be replaced with "sensitive".
11107func (s ListReplaysInput) String() string {
11108	return awsutil.Prettify(s)
11109}
11110
11111// GoString returns the string representation.
11112//
11113// API parameter values that are decorated as "sensitive" in the API will not
11114// be included in the string output. The member name will be present, but the
11115// value will be replaced with "sensitive".
11116func (s ListReplaysInput) GoString() string {
11117	return s.String()
11118}
11119
11120// Validate inspects the fields of the type to determine if they are valid.
11121func (s *ListReplaysInput) Validate() error {
11122	invalidParams := request.ErrInvalidParams{Context: "ListReplaysInput"}
11123	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
11124		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
11125	}
11126	if s.Limit != nil && *s.Limit < 1 {
11127		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11128	}
11129	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
11130		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
11131	}
11132	if s.NextToken != nil && len(*s.NextToken) < 1 {
11133		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11134	}
11135
11136	if invalidParams.Len() > 0 {
11137		return invalidParams
11138	}
11139	return nil
11140}
11141
11142// SetEventSourceArn sets the EventSourceArn field's value.
11143func (s *ListReplaysInput) SetEventSourceArn(v string) *ListReplaysInput {
11144	s.EventSourceArn = &v
11145	return s
11146}
11147
11148// SetLimit sets the Limit field's value.
11149func (s *ListReplaysInput) SetLimit(v int64) *ListReplaysInput {
11150	s.Limit = &v
11151	return s
11152}
11153
11154// SetNamePrefix sets the NamePrefix field's value.
11155func (s *ListReplaysInput) SetNamePrefix(v string) *ListReplaysInput {
11156	s.NamePrefix = &v
11157	return s
11158}
11159
11160// SetNextToken sets the NextToken field's value.
11161func (s *ListReplaysInput) SetNextToken(v string) *ListReplaysInput {
11162	s.NextToken = &v
11163	return s
11164}
11165
11166// SetState sets the State field's value.
11167func (s *ListReplaysInput) SetState(v string) *ListReplaysInput {
11168	s.State = &v
11169	return s
11170}
11171
11172type ListReplaysOutput struct {
11173	_ struct{} `type:"structure"`
11174
11175	// The token returned by a previous call to retrieve the next set of results.
11176	NextToken *string `min:"1" type:"string"`
11177
11178	// An array of Replay objects that contain information about the replay.
11179	Replays []*Replay `type:"list"`
11180}
11181
11182// String returns the string representation.
11183//
11184// API parameter values that are decorated as "sensitive" in the API will not
11185// be included in the string output. The member name will be present, but the
11186// value will be replaced with "sensitive".
11187func (s ListReplaysOutput) String() string {
11188	return awsutil.Prettify(s)
11189}
11190
11191// GoString returns the string representation.
11192//
11193// API parameter values that are decorated as "sensitive" in the API will not
11194// be included in the string output. The member name will be present, but the
11195// value will be replaced with "sensitive".
11196func (s ListReplaysOutput) GoString() string {
11197	return s.String()
11198}
11199
11200// SetNextToken sets the NextToken field's value.
11201func (s *ListReplaysOutput) SetNextToken(v string) *ListReplaysOutput {
11202	s.NextToken = &v
11203	return s
11204}
11205
11206// SetReplays sets the Replays field's value.
11207func (s *ListReplaysOutput) SetReplays(v []*Replay) *ListReplaysOutput {
11208	s.Replays = v
11209	return s
11210}
11211
11212type ListRuleNamesByTargetInput struct {
11213	_ struct{} `type:"structure"`
11214
11215	// The name or ARN of the event bus to list rules for. If you omit this, the
11216	// default event bus is used.
11217	EventBusName *string `min:"1" type:"string"`
11218
11219	// The maximum number of results to return.
11220	Limit *int64 `min:"1" type:"integer"`
11221
11222	// The token returned by a previous call to retrieve the next set of results.
11223	NextToken *string `min:"1" type:"string"`
11224
11225	// The Amazon Resource Name (ARN) of the target resource.
11226	//
11227	// TargetArn is a required field
11228	TargetArn *string `min:"1" type:"string" required:"true"`
11229}
11230
11231// String returns the string representation.
11232//
11233// API parameter values that are decorated as "sensitive" in the API will not
11234// be included in the string output. The member name will be present, but the
11235// value will be replaced with "sensitive".
11236func (s ListRuleNamesByTargetInput) String() string {
11237	return awsutil.Prettify(s)
11238}
11239
11240// GoString returns the string representation.
11241//
11242// API parameter values that are decorated as "sensitive" in the API will not
11243// be included in the string output. The member name will be present, but the
11244// value will be replaced with "sensitive".
11245func (s ListRuleNamesByTargetInput) GoString() string {
11246	return s.String()
11247}
11248
11249// Validate inspects the fields of the type to determine if they are valid.
11250func (s *ListRuleNamesByTargetInput) Validate() error {
11251	invalidParams := request.ErrInvalidParams{Context: "ListRuleNamesByTargetInput"}
11252	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
11253		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
11254	}
11255	if s.Limit != nil && *s.Limit < 1 {
11256		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11257	}
11258	if s.NextToken != nil && len(*s.NextToken) < 1 {
11259		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11260	}
11261	if s.TargetArn == nil {
11262		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
11263	}
11264	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
11265		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
11266	}
11267
11268	if invalidParams.Len() > 0 {
11269		return invalidParams
11270	}
11271	return nil
11272}
11273
11274// SetEventBusName sets the EventBusName field's value.
11275func (s *ListRuleNamesByTargetInput) SetEventBusName(v string) *ListRuleNamesByTargetInput {
11276	s.EventBusName = &v
11277	return s
11278}
11279
11280// SetLimit sets the Limit field's value.
11281func (s *ListRuleNamesByTargetInput) SetLimit(v int64) *ListRuleNamesByTargetInput {
11282	s.Limit = &v
11283	return s
11284}
11285
11286// SetNextToken sets the NextToken field's value.
11287func (s *ListRuleNamesByTargetInput) SetNextToken(v string) *ListRuleNamesByTargetInput {
11288	s.NextToken = &v
11289	return s
11290}
11291
11292// SetTargetArn sets the TargetArn field's value.
11293func (s *ListRuleNamesByTargetInput) SetTargetArn(v string) *ListRuleNamesByTargetInput {
11294	s.TargetArn = &v
11295	return s
11296}
11297
11298type ListRuleNamesByTargetOutput struct {
11299	_ struct{} `type:"structure"`
11300
11301	// Indicates whether there are additional results to retrieve. If there are
11302	// no more results, the value is null.
11303	NextToken *string `min:"1" type:"string"`
11304
11305	// The names of the rules that can invoke the given target.
11306	RuleNames []*string `type:"list"`
11307}
11308
11309// String returns the string representation.
11310//
11311// API parameter values that are decorated as "sensitive" in the API will not
11312// be included in the string output. The member name will be present, but the
11313// value will be replaced with "sensitive".
11314func (s ListRuleNamesByTargetOutput) String() string {
11315	return awsutil.Prettify(s)
11316}
11317
11318// GoString returns the string representation.
11319//
11320// API parameter values that are decorated as "sensitive" in the API will not
11321// be included in the string output. The member name will be present, but the
11322// value will be replaced with "sensitive".
11323func (s ListRuleNamesByTargetOutput) GoString() string {
11324	return s.String()
11325}
11326
11327// SetNextToken sets the NextToken field's value.
11328func (s *ListRuleNamesByTargetOutput) SetNextToken(v string) *ListRuleNamesByTargetOutput {
11329	s.NextToken = &v
11330	return s
11331}
11332
11333// SetRuleNames sets the RuleNames field's value.
11334func (s *ListRuleNamesByTargetOutput) SetRuleNames(v []*string) *ListRuleNamesByTargetOutput {
11335	s.RuleNames = v
11336	return s
11337}
11338
11339type ListRulesInput struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The name or ARN of the event bus to list the rules for. If you omit this,
11343	// the default event bus is used.
11344	EventBusName *string `min:"1" type:"string"`
11345
11346	// The maximum number of results to return.
11347	Limit *int64 `min:"1" type:"integer"`
11348
11349	// The prefix matching the rule name.
11350	NamePrefix *string `min:"1" type:"string"`
11351
11352	// The token returned by a previous call to retrieve the next set of results.
11353	NextToken *string `min:"1" type:"string"`
11354}
11355
11356// String returns the string representation.
11357//
11358// API parameter values that are decorated as "sensitive" in the API will not
11359// be included in the string output. The member name will be present, but the
11360// value will be replaced with "sensitive".
11361func (s ListRulesInput) String() string {
11362	return awsutil.Prettify(s)
11363}
11364
11365// GoString returns the string representation.
11366//
11367// API parameter values that are decorated as "sensitive" in the API will not
11368// be included in the string output. The member name will be present, but the
11369// value will be replaced with "sensitive".
11370func (s ListRulesInput) GoString() string {
11371	return s.String()
11372}
11373
11374// Validate inspects the fields of the type to determine if they are valid.
11375func (s *ListRulesInput) Validate() error {
11376	invalidParams := request.ErrInvalidParams{Context: "ListRulesInput"}
11377	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
11378		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
11379	}
11380	if s.Limit != nil && *s.Limit < 1 {
11381		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11382	}
11383	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
11384		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
11385	}
11386	if s.NextToken != nil && len(*s.NextToken) < 1 {
11387		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11388	}
11389
11390	if invalidParams.Len() > 0 {
11391		return invalidParams
11392	}
11393	return nil
11394}
11395
11396// SetEventBusName sets the EventBusName field's value.
11397func (s *ListRulesInput) SetEventBusName(v string) *ListRulesInput {
11398	s.EventBusName = &v
11399	return s
11400}
11401
11402// SetLimit sets the Limit field's value.
11403func (s *ListRulesInput) SetLimit(v int64) *ListRulesInput {
11404	s.Limit = &v
11405	return s
11406}
11407
11408// SetNamePrefix sets the NamePrefix field's value.
11409func (s *ListRulesInput) SetNamePrefix(v string) *ListRulesInput {
11410	s.NamePrefix = &v
11411	return s
11412}
11413
11414// SetNextToken sets the NextToken field's value.
11415func (s *ListRulesInput) SetNextToken(v string) *ListRulesInput {
11416	s.NextToken = &v
11417	return s
11418}
11419
11420type ListRulesOutput struct {
11421	_ struct{} `type:"structure"`
11422
11423	// Indicates whether there are additional results to retrieve. If there are
11424	// no more results, the value is null.
11425	NextToken *string `min:"1" type:"string"`
11426
11427	// The rules that match the specified criteria.
11428	Rules []*Rule `type:"list"`
11429}
11430
11431// String returns the string representation.
11432//
11433// API parameter values that are decorated as "sensitive" in the API will not
11434// be included in the string output. The member name will be present, but the
11435// value will be replaced with "sensitive".
11436func (s ListRulesOutput) String() string {
11437	return awsutil.Prettify(s)
11438}
11439
11440// GoString returns the string representation.
11441//
11442// API parameter values that are decorated as "sensitive" in the API will not
11443// be included in the string output. The member name will be present, but the
11444// value will be replaced with "sensitive".
11445func (s ListRulesOutput) GoString() string {
11446	return s.String()
11447}
11448
11449// SetNextToken sets the NextToken field's value.
11450func (s *ListRulesOutput) SetNextToken(v string) *ListRulesOutput {
11451	s.NextToken = &v
11452	return s
11453}
11454
11455// SetRules sets the Rules field's value.
11456func (s *ListRulesOutput) SetRules(v []*Rule) *ListRulesOutput {
11457	s.Rules = v
11458	return s
11459}
11460
11461type ListTagsForResourceInput struct {
11462	_ struct{} `type:"structure"`
11463
11464	// The ARN of the EventBridge resource for which you want to view tags.
11465	//
11466	// ResourceARN is a required field
11467	ResourceARN *string `min:"1" type:"string" required:"true"`
11468}
11469
11470// String returns the string representation.
11471//
11472// API parameter values that are decorated as "sensitive" in the API will not
11473// be included in the string output. The member name will be present, but the
11474// value will be replaced with "sensitive".
11475func (s ListTagsForResourceInput) String() string {
11476	return awsutil.Prettify(s)
11477}
11478
11479// GoString returns the string representation.
11480//
11481// API parameter values that are decorated as "sensitive" in the API will not
11482// be included in the string output. The member name will be present, but the
11483// value will be replaced with "sensitive".
11484func (s ListTagsForResourceInput) GoString() string {
11485	return s.String()
11486}
11487
11488// Validate inspects the fields of the type to determine if they are valid.
11489func (s *ListTagsForResourceInput) Validate() error {
11490	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11491	if s.ResourceARN == nil {
11492		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
11493	}
11494	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
11495		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
11496	}
11497
11498	if invalidParams.Len() > 0 {
11499		return invalidParams
11500	}
11501	return nil
11502}
11503
11504// SetResourceARN sets the ResourceARN field's value.
11505func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
11506	s.ResourceARN = &v
11507	return s
11508}
11509
11510type ListTagsForResourceOutput struct {
11511	_ struct{} `type:"structure"`
11512
11513	// The list of tag keys and values associated with the resource you specified
11514	Tags []*Tag `type:"list"`
11515}
11516
11517// String returns the string representation.
11518//
11519// API parameter values that are decorated as "sensitive" in the API will not
11520// be included in the string output. The member name will be present, but the
11521// value will be replaced with "sensitive".
11522func (s ListTagsForResourceOutput) String() string {
11523	return awsutil.Prettify(s)
11524}
11525
11526// GoString returns the string representation.
11527//
11528// API parameter values that are decorated as "sensitive" in the API will not
11529// be included in the string output. The member name will be present, but the
11530// value will be replaced with "sensitive".
11531func (s ListTagsForResourceOutput) GoString() string {
11532	return s.String()
11533}
11534
11535// SetTags sets the Tags field's value.
11536func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
11537	s.Tags = v
11538	return s
11539}
11540
11541type ListTargetsByRuleInput struct {
11542	_ struct{} `type:"structure"`
11543
11544	// The name or ARN of the event bus associated with the rule. If you omit this,
11545	// the default event bus is used.
11546	EventBusName *string `min:"1" type:"string"`
11547
11548	// The maximum number of results to return.
11549	Limit *int64 `min:"1" type:"integer"`
11550
11551	// The token returned by a previous call to retrieve the next set of results.
11552	NextToken *string `min:"1" type:"string"`
11553
11554	// The name of the rule.
11555	//
11556	// Rule is a required field
11557	Rule *string `min:"1" type:"string" required:"true"`
11558}
11559
11560// String returns the string representation.
11561//
11562// API parameter values that are decorated as "sensitive" in the API will not
11563// be included in the string output. The member name will be present, but the
11564// value will be replaced with "sensitive".
11565func (s ListTargetsByRuleInput) String() string {
11566	return awsutil.Prettify(s)
11567}
11568
11569// GoString returns the string representation.
11570//
11571// API parameter values that are decorated as "sensitive" in the API will not
11572// be included in the string output. The member name will be present, but the
11573// value will be replaced with "sensitive".
11574func (s ListTargetsByRuleInput) GoString() string {
11575	return s.String()
11576}
11577
11578// Validate inspects the fields of the type to determine if they are valid.
11579func (s *ListTargetsByRuleInput) Validate() error {
11580	invalidParams := request.ErrInvalidParams{Context: "ListTargetsByRuleInput"}
11581	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
11582		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
11583	}
11584	if s.Limit != nil && *s.Limit < 1 {
11585		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11586	}
11587	if s.NextToken != nil && len(*s.NextToken) < 1 {
11588		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11589	}
11590	if s.Rule == nil {
11591		invalidParams.Add(request.NewErrParamRequired("Rule"))
11592	}
11593	if s.Rule != nil && len(*s.Rule) < 1 {
11594		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
11595	}
11596
11597	if invalidParams.Len() > 0 {
11598		return invalidParams
11599	}
11600	return nil
11601}
11602
11603// SetEventBusName sets the EventBusName field's value.
11604func (s *ListTargetsByRuleInput) SetEventBusName(v string) *ListTargetsByRuleInput {
11605	s.EventBusName = &v
11606	return s
11607}
11608
11609// SetLimit sets the Limit field's value.
11610func (s *ListTargetsByRuleInput) SetLimit(v int64) *ListTargetsByRuleInput {
11611	s.Limit = &v
11612	return s
11613}
11614
11615// SetNextToken sets the NextToken field's value.
11616func (s *ListTargetsByRuleInput) SetNextToken(v string) *ListTargetsByRuleInput {
11617	s.NextToken = &v
11618	return s
11619}
11620
11621// SetRule sets the Rule field's value.
11622func (s *ListTargetsByRuleInput) SetRule(v string) *ListTargetsByRuleInput {
11623	s.Rule = &v
11624	return s
11625}
11626
11627type ListTargetsByRuleOutput struct {
11628	_ struct{} `type:"structure"`
11629
11630	// Indicates whether there are additional results to retrieve. If there are
11631	// no more results, the value is null.
11632	NextToken *string `min:"1" type:"string"`
11633
11634	// The targets assigned to the rule.
11635	Targets []*Target `min:"1" type:"list"`
11636}
11637
11638// String returns the string representation.
11639//
11640// API parameter values that are decorated as "sensitive" in the API will not
11641// be included in the string output. The member name will be present, but the
11642// value will be replaced with "sensitive".
11643func (s ListTargetsByRuleOutput) String() string {
11644	return awsutil.Prettify(s)
11645}
11646
11647// GoString returns the string representation.
11648//
11649// API parameter values that are decorated as "sensitive" in the API will not
11650// be included in the string output. The member name will be present, but the
11651// value will be replaced with "sensitive".
11652func (s ListTargetsByRuleOutput) GoString() string {
11653	return s.String()
11654}
11655
11656// SetNextToken sets the NextToken field's value.
11657func (s *ListTargetsByRuleOutput) SetNextToken(v string) *ListTargetsByRuleOutput {
11658	s.NextToken = &v
11659	return s
11660}
11661
11662// SetTargets sets the Targets field's value.
11663func (s *ListTargetsByRuleOutput) SetTargets(v []*Target) *ListTargetsByRuleOutput {
11664	s.Targets = v
11665	return s
11666}
11667
11668// This rule was created by an Amazon Web Services service on behalf of your
11669// account. It is managed by that service. If you see this error in response
11670// to DeleteRule or RemoveTargets, you can use the Force parameter in those
11671// calls to delete the rule or remove targets from the rule. You cannot modify
11672// these managed rules by using DisableRule, EnableRule, PutTargets, PutRule,
11673// TagResource, or UntagResource.
11674type ManagedRuleException struct {
11675	_            struct{}                  `type:"structure"`
11676	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11677
11678	Message_ *string `locationName:"message" type:"string"`
11679}
11680
11681// String returns the string representation.
11682//
11683// API parameter values that are decorated as "sensitive" in the API will not
11684// be included in the string output. The member name will be present, but the
11685// value will be replaced with "sensitive".
11686func (s ManagedRuleException) String() string {
11687	return awsutil.Prettify(s)
11688}
11689
11690// GoString returns the string representation.
11691//
11692// API parameter values that are decorated as "sensitive" in the API will not
11693// be included in the string output. The member name will be present, but the
11694// value will be replaced with "sensitive".
11695func (s ManagedRuleException) GoString() string {
11696	return s.String()
11697}
11698
11699func newErrorManagedRuleException(v protocol.ResponseMetadata) error {
11700	return &ManagedRuleException{
11701		RespMetadata: v,
11702	}
11703}
11704
11705// Code returns the exception type name.
11706func (s *ManagedRuleException) Code() string {
11707	return "ManagedRuleException"
11708}
11709
11710// Message returns the exception's message.
11711func (s *ManagedRuleException) Message() string {
11712	if s.Message_ != nil {
11713		return *s.Message_
11714	}
11715	return ""
11716}
11717
11718// OrigErr always returns nil, satisfies awserr.Error interface.
11719func (s *ManagedRuleException) OrigErr() error {
11720	return nil
11721}
11722
11723func (s *ManagedRuleException) Error() string {
11724	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11725}
11726
11727// Status code returns the HTTP status code for the request's response error.
11728func (s *ManagedRuleException) StatusCode() int {
11729	return s.RespMetadata.StatusCode
11730}
11731
11732// RequestID returns the service's response RequestID for request.
11733func (s *ManagedRuleException) RequestID() string {
11734	return s.RespMetadata.RequestID
11735}
11736
11737// This structure specifies the network configuration for an ECS task.
11738type NetworkConfiguration struct {
11739	_ struct{} `type:"structure"`
11740
11741	// Use this structure to specify the VPC subnets and security groups for the
11742	// task, and whether a public IP address is to be used. This structure is relevant
11743	// only for ECS tasks that use the awsvpc network mode.
11744	AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"`
11745}
11746
11747// String returns the string representation.
11748//
11749// API parameter values that are decorated as "sensitive" in the API will not
11750// be included in the string output. The member name will be present, but the
11751// value will be replaced with "sensitive".
11752func (s NetworkConfiguration) String() string {
11753	return awsutil.Prettify(s)
11754}
11755
11756// GoString returns the string representation.
11757//
11758// API parameter values that are decorated as "sensitive" in the API will not
11759// be included in the string output. The member name will be present, but the
11760// value will be replaced with "sensitive".
11761func (s NetworkConfiguration) GoString() string {
11762	return s.String()
11763}
11764
11765// Validate inspects the fields of the type to determine if they are valid.
11766func (s *NetworkConfiguration) Validate() error {
11767	invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
11768	if s.AwsvpcConfiguration != nil {
11769		if err := s.AwsvpcConfiguration.Validate(); err != nil {
11770			invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams))
11771		}
11772	}
11773
11774	if invalidParams.Len() > 0 {
11775		return invalidParams
11776	}
11777	return nil
11778}
11779
11780// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value.
11781func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration {
11782	s.AwsvpcConfiguration = v
11783	return s
11784}
11785
11786// The operation you are attempting is not available in this region.
11787type OperationDisabledException struct {
11788	_            struct{}                  `type:"structure"`
11789	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11790
11791	Message_ *string `locationName:"message" type:"string"`
11792}
11793
11794// String returns the string representation.
11795//
11796// API parameter values that are decorated as "sensitive" in the API will not
11797// be included in the string output. The member name will be present, but the
11798// value will be replaced with "sensitive".
11799func (s OperationDisabledException) String() string {
11800	return awsutil.Prettify(s)
11801}
11802
11803// GoString returns the string representation.
11804//
11805// API parameter values that are decorated as "sensitive" in the API will not
11806// be included in the string output. The member name will be present, but the
11807// value will be replaced with "sensitive".
11808func (s OperationDisabledException) GoString() string {
11809	return s.String()
11810}
11811
11812func newErrorOperationDisabledException(v protocol.ResponseMetadata) error {
11813	return &OperationDisabledException{
11814		RespMetadata: v,
11815	}
11816}
11817
11818// Code returns the exception type name.
11819func (s *OperationDisabledException) Code() string {
11820	return "OperationDisabledException"
11821}
11822
11823// Message returns the exception's message.
11824func (s *OperationDisabledException) Message() string {
11825	if s.Message_ != nil {
11826		return *s.Message_
11827	}
11828	return ""
11829}
11830
11831// OrigErr always returns nil, satisfies awserr.Error interface.
11832func (s *OperationDisabledException) OrigErr() error {
11833	return nil
11834}
11835
11836func (s *OperationDisabledException) Error() string {
11837	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11838}
11839
11840// Status code returns the HTTP status code for the request's response error.
11841func (s *OperationDisabledException) StatusCode() int {
11842	return s.RespMetadata.StatusCode
11843}
11844
11845// RequestID returns the service's response RequestID for request.
11846func (s *OperationDisabledException) RequestID() string {
11847	return s.RespMetadata.RequestID
11848}
11849
11850// A partner event source is created by an SaaS partner. If a customer creates
11851// a partner event bus that matches this event source, that Amazon Web Services
11852// account can receive events from the partner's applications or services.
11853type PartnerEventSource struct {
11854	_ struct{} `type:"structure"`
11855
11856	// The ARN of the partner event source.
11857	Arn *string `type:"string"`
11858
11859	// The name of the partner event source.
11860	Name *string `type:"string"`
11861}
11862
11863// String returns the string representation.
11864//
11865// API parameter values that are decorated as "sensitive" in the API will not
11866// be included in the string output. The member name will be present, but the
11867// value will be replaced with "sensitive".
11868func (s PartnerEventSource) String() string {
11869	return awsutil.Prettify(s)
11870}
11871
11872// GoString returns the string representation.
11873//
11874// API parameter values that are decorated as "sensitive" in the API will not
11875// be included in the string output. The member name will be present, but the
11876// value will be replaced with "sensitive".
11877func (s PartnerEventSource) GoString() string {
11878	return s.String()
11879}
11880
11881// SetArn sets the Arn field's value.
11882func (s *PartnerEventSource) SetArn(v string) *PartnerEventSource {
11883	s.Arn = &v
11884	return s
11885}
11886
11887// SetName sets the Name field's value.
11888func (s *PartnerEventSource) SetName(v string) *PartnerEventSource {
11889	s.Name = &v
11890	return s
11891}
11892
11893// The Amazon Web Services account that a partner event source has been offered
11894// to.
11895type PartnerEventSourceAccount struct {
11896	_ struct{} `type:"structure"`
11897
11898	// The Amazon Web Services account ID that the partner event source was offered
11899	// to.
11900	Account *string `min:"12" type:"string"`
11901
11902	// The date and time the event source was created.
11903	CreationTime *time.Time `type:"timestamp"`
11904
11905	// The date and time that the event source will expire, if the Amazon Web Services
11906	// account doesn't create a matching event bus for it.
11907	ExpirationTime *time.Time `type:"timestamp"`
11908
11909	// The state of the event source. If it is ACTIVE, you have already created
11910	// a matching event bus for this event source, and that event bus is active.
11911	// If it is PENDING, either you haven't yet created a matching event bus, or
11912	// that event bus is deactivated. If it is DELETED, you have created a matching
11913	// event bus, but the event source has since been deleted.
11914	State *string `type:"string" enum:"EventSourceState"`
11915}
11916
11917// String returns the string representation.
11918//
11919// API parameter values that are decorated as "sensitive" in the API will not
11920// be included in the string output. The member name will be present, but the
11921// value will be replaced with "sensitive".
11922func (s PartnerEventSourceAccount) String() string {
11923	return awsutil.Prettify(s)
11924}
11925
11926// GoString returns the string representation.
11927//
11928// API parameter values that are decorated as "sensitive" in the API will not
11929// be included in the string output. The member name will be present, but the
11930// value will be replaced with "sensitive".
11931func (s PartnerEventSourceAccount) GoString() string {
11932	return s.String()
11933}
11934
11935// SetAccount sets the Account field's value.
11936func (s *PartnerEventSourceAccount) SetAccount(v string) *PartnerEventSourceAccount {
11937	s.Account = &v
11938	return s
11939}
11940
11941// SetCreationTime sets the CreationTime field's value.
11942func (s *PartnerEventSourceAccount) SetCreationTime(v time.Time) *PartnerEventSourceAccount {
11943	s.CreationTime = &v
11944	return s
11945}
11946
11947// SetExpirationTime sets the ExpirationTime field's value.
11948func (s *PartnerEventSourceAccount) SetExpirationTime(v time.Time) *PartnerEventSourceAccount {
11949	s.ExpirationTime = &v
11950	return s
11951}
11952
11953// SetState sets the State field's value.
11954func (s *PartnerEventSourceAccount) SetState(v string) *PartnerEventSourceAccount {
11955	s.State = &v
11956	return s
11957}
11958
11959// An object representing a constraint on task placement. To learn more, see
11960// Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html)
11961// in the Amazon Elastic Container Service Developer Guide.
11962type PlacementConstraint struct {
11963	_ struct{} `type:"structure"`
11964
11965	// A cluster query language expression to apply to the constraint. You cannot
11966	// specify an expression if the constraint type is distinctInstance. To learn
11967	// more, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html)
11968	// in the Amazon Elastic Container Service Developer Guide.
11969	Expression *string `locationName:"expression" type:"string"`
11970
11971	// The type of constraint. Use distinctInstance to ensure that each task in
11972	// a particular group is running on a different container instance. Use memberOf
11973	// to restrict the selection to a group of valid candidates.
11974	Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"`
11975}
11976
11977// String returns the string representation.
11978//
11979// API parameter values that are decorated as "sensitive" in the API will not
11980// be included in the string output. The member name will be present, but the
11981// value will be replaced with "sensitive".
11982func (s PlacementConstraint) String() string {
11983	return awsutil.Prettify(s)
11984}
11985
11986// GoString returns the string representation.
11987//
11988// API parameter values that are decorated as "sensitive" in the API will not
11989// be included in the string output. The member name will be present, but the
11990// value will be replaced with "sensitive".
11991func (s PlacementConstraint) GoString() string {
11992	return s.String()
11993}
11994
11995// SetExpression sets the Expression field's value.
11996func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint {
11997	s.Expression = &v
11998	return s
11999}
12000
12001// SetType sets the Type field's value.
12002func (s *PlacementConstraint) SetType(v string) *PlacementConstraint {
12003	s.Type = &v
12004	return s
12005}
12006
12007// The task placement strategy for a task or service. To learn more, see Task
12008// Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html)
12009// in the Amazon Elastic Container Service Service Developer Guide.
12010type PlacementStrategy struct {
12011	_ struct{} `type:"structure"`
12012
12013	// The field to apply the placement strategy against. For the spread placement
12014	// strategy, valid values are instanceId (or host, which has the same effect),
12015	// or any platform or custom attribute that is applied to a container instance,
12016	// such as attribute:ecs.availability-zone. For the binpack placement strategy,
12017	// valid values are cpu and memory. For the random placement strategy, this
12018	// field is not used.
12019	Field *string `locationName:"field" type:"string"`
12020
12021	// The type of placement strategy. The random placement strategy randomly places
12022	// tasks on available candidates. The spread placement strategy spreads placement
12023	// across available candidates evenly based on the field parameter. The binpack
12024	// strategy places tasks on available candidates that have the least available
12025	// amount of the resource that is specified with the field parameter. For example,
12026	// if you binpack on memory, a task is placed on the instance with the least
12027	// amount of remaining memory (but still enough to run the task).
12028	Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"`
12029}
12030
12031// String returns the string representation.
12032//
12033// API parameter values that are decorated as "sensitive" in the API will not
12034// be included in the string output. The member name will be present, but the
12035// value will be replaced with "sensitive".
12036func (s PlacementStrategy) String() string {
12037	return awsutil.Prettify(s)
12038}
12039
12040// GoString returns the string representation.
12041//
12042// API parameter values that are decorated as "sensitive" in the API will not
12043// be included in the string output. The member name will be present, but the
12044// value will be replaced with "sensitive".
12045func (s PlacementStrategy) GoString() string {
12046	return s.String()
12047}
12048
12049// SetField sets the Field field's value.
12050func (s *PlacementStrategy) SetField(v string) *PlacementStrategy {
12051	s.Field = &v
12052	return s
12053}
12054
12055// SetType sets the Type field's value.
12056func (s *PlacementStrategy) SetType(v string) *PlacementStrategy {
12057	s.Type = &v
12058	return s
12059}
12060
12061// The event bus policy is too long. For more information, see the limits.
12062type PolicyLengthExceededException struct {
12063	_            struct{}                  `type:"structure"`
12064	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12065
12066	Message_ *string `locationName:"message" type:"string"`
12067}
12068
12069// String returns the string representation.
12070//
12071// API parameter values that are decorated as "sensitive" in the API will not
12072// be included in the string output. The member name will be present, but the
12073// value will be replaced with "sensitive".
12074func (s PolicyLengthExceededException) String() string {
12075	return awsutil.Prettify(s)
12076}
12077
12078// GoString returns the string representation.
12079//
12080// API parameter values that are decorated as "sensitive" in the API will not
12081// be included in the string output. The member name will be present, but the
12082// value will be replaced with "sensitive".
12083func (s PolicyLengthExceededException) GoString() string {
12084	return s.String()
12085}
12086
12087func newErrorPolicyLengthExceededException(v protocol.ResponseMetadata) error {
12088	return &PolicyLengthExceededException{
12089		RespMetadata: v,
12090	}
12091}
12092
12093// Code returns the exception type name.
12094func (s *PolicyLengthExceededException) Code() string {
12095	return "PolicyLengthExceededException"
12096}
12097
12098// Message returns the exception's message.
12099func (s *PolicyLengthExceededException) Message() string {
12100	if s.Message_ != nil {
12101		return *s.Message_
12102	}
12103	return ""
12104}
12105
12106// OrigErr always returns nil, satisfies awserr.Error interface.
12107func (s *PolicyLengthExceededException) OrigErr() error {
12108	return nil
12109}
12110
12111func (s *PolicyLengthExceededException) Error() string {
12112	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12113}
12114
12115// Status code returns the HTTP status code for the request's response error.
12116func (s *PolicyLengthExceededException) StatusCode() int {
12117	return s.RespMetadata.StatusCode
12118}
12119
12120// RequestID returns the service's response RequestID for request.
12121func (s *PolicyLengthExceededException) RequestID() string {
12122	return s.RespMetadata.RequestID
12123}
12124
12125type PutEventsInput struct {
12126	_ struct{} `type:"structure"`
12127
12128	// The entry that defines an event in your system. You can specify several parameters
12129	// for the entry such as the source and type of the event, resources associated
12130	// with the event, and so on.
12131	//
12132	// Entries is a required field
12133	Entries []*PutEventsRequestEntry `min:"1" type:"list" required:"true"`
12134}
12135
12136// String returns the string representation.
12137//
12138// API parameter values that are decorated as "sensitive" in the API will not
12139// be included in the string output. The member name will be present, but the
12140// value will be replaced with "sensitive".
12141func (s PutEventsInput) String() string {
12142	return awsutil.Prettify(s)
12143}
12144
12145// GoString returns the string representation.
12146//
12147// API parameter values that are decorated as "sensitive" in the API will not
12148// be included in the string output. The member name will be present, but the
12149// value will be replaced with "sensitive".
12150func (s PutEventsInput) GoString() string {
12151	return s.String()
12152}
12153
12154// Validate inspects the fields of the type to determine if they are valid.
12155func (s *PutEventsInput) Validate() error {
12156	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
12157	if s.Entries == nil {
12158		invalidParams.Add(request.NewErrParamRequired("Entries"))
12159	}
12160	if s.Entries != nil && len(s.Entries) < 1 {
12161		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
12162	}
12163	if s.Entries != nil {
12164		for i, v := range s.Entries {
12165			if v == nil {
12166				continue
12167			}
12168			if err := v.Validate(); err != nil {
12169				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
12170			}
12171		}
12172	}
12173
12174	if invalidParams.Len() > 0 {
12175		return invalidParams
12176	}
12177	return nil
12178}
12179
12180// SetEntries sets the Entries field's value.
12181func (s *PutEventsInput) SetEntries(v []*PutEventsRequestEntry) *PutEventsInput {
12182	s.Entries = v
12183	return s
12184}
12185
12186type PutEventsOutput struct {
12187	_ struct{} `type:"structure"`
12188
12189	// The successfully and unsuccessfully ingested events results. If the ingestion
12190	// was successful, the entry has the event ID in it. Otherwise, you can use
12191	// the error code and error message to identify the problem with the entry.
12192	Entries []*PutEventsResultEntry `type:"list"`
12193
12194	// The number of failed entries.
12195	FailedEntryCount *int64 `type:"integer"`
12196}
12197
12198// String returns the string representation.
12199//
12200// API parameter values that are decorated as "sensitive" in the API will not
12201// be included in the string output. The member name will be present, but the
12202// value will be replaced with "sensitive".
12203func (s PutEventsOutput) String() string {
12204	return awsutil.Prettify(s)
12205}
12206
12207// GoString returns the string representation.
12208//
12209// API parameter values that are decorated as "sensitive" in the API will not
12210// be included in the string output. The member name will be present, but the
12211// value will be replaced with "sensitive".
12212func (s PutEventsOutput) GoString() string {
12213	return s.String()
12214}
12215
12216// SetEntries sets the Entries field's value.
12217func (s *PutEventsOutput) SetEntries(v []*PutEventsResultEntry) *PutEventsOutput {
12218	s.Entries = v
12219	return s
12220}
12221
12222// SetFailedEntryCount sets the FailedEntryCount field's value.
12223func (s *PutEventsOutput) SetFailedEntryCount(v int64) *PutEventsOutput {
12224	s.FailedEntryCount = &v
12225	return s
12226}
12227
12228// Represents an event to be submitted.
12229type PutEventsRequestEntry struct {
12230	_ struct{} `type:"structure"`
12231
12232	// A valid JSON string. There is no other schema imposed. The JSON string may
12233	// contain fields and nested subobjects.
12234	Detail *string `type:"string"`
12235
12236	// Free-form string used to decide what fields to expect in the event detail.
12237	DetailType *string `type:"string"`
12238
12239	// The name or ARN of the event bus to receive the event. Only the rules that
12240	// are associated with this event bus are used to match the event. If you omit
12241	// this, the default event bus is used.
12242	EventBusName *string `min:"1" type:"string"`
12243
12244	// Amazon Web Services resources, identified by Amazon Resource Name (ARN),
12245	// which the event primarily concerns. Any number, including zero, may be present.
12246	Resources []*string `type:"list"`
12247
12248	// The source of the event.
12249	Source *string `type:"string"`
12250
12251	// The time stamp of the event, per RFC3339 (https://www.rfc-editor.org/rfc/rfc3339.txt).
12252	// If no time stamp is provided, the time stamp of the PutEvents (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)
12253	// call is used.
12254	Time *time.Time `type:"timestamp"`
12255
12256	// An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains
12257	// the trace-id associated with the event.
12258	//
12259	// To learn more about X-Ray trace headers, see Tracing header (https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader)
12260	// in the X-Ray Developer Guide.
12261	TraceHeader *string `min:"1" type:"string"`
12262}
12263
12264// String returns the string representation.
12265//
12266// API parameter values that are decorated as "sensitive" in the API will not
12267// be included in the string output. The member name will be present, but the
12268// value will be replaced with "sensitive".
12269func (s PutEventsRequestEntry) String() string {
12270	return awsutil.Prettify(s)
12271}
12272
12273// GoString returns the string representation.
12274//
12275// API parameter values that are decorated as "sensitive" in the API will not
12276// be included in the string output. The member name will be present, but the
12277// value will be replaced with "sensitive".
12278func (s PutEventsRequestEntry) GoString() string {
12279	return s.String()
12280}
12281
12282// Validate inspects the fields of the type to determine if they are valid.
12283func (s *PutEventsRequestEntry) Validate() error {
12284	invalidParams := request.ErrInvalidParams{Context: "PutEventsRequestEntry"}
12285	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
12286		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
12287	}
12288	if s.TraceHeader != nil && len(*s.TraceHeader) < 1 {
12289		invalidParams.Add(request.NewErrParamMinLen("TraceHeader", 1))
12290	}
12291
12292	if invalidParams.Len() > 0 {
12293		return invalidParams
12294	}
12295	return nil
12296}
12297
12298// SetDetail sets the Detail field's value.
12299func (s *PutEventsRequestEntry) SetDetail(v string) *PutEventsRequestEntry {
12300	s.Detail = &v
12301	return s
12302}
12303
12304// SetDetailType sets the DetailType field's value.
12305func (s *PutEventsRequestEntry) SetDetailType(v string) *PutEventsRequestEntry {
12306	s.DetailType = &v
12307	return s
12308}
12309
12310// SetEventBusName sets the EventBusName field's value.
12311func (s *PutEventsRequestEntry) SetEventBusName(v string) *PutEventsRequestEntry {
12312	s.EventBusName = &v
12313	return s
12314}
12315
12316// SetResources sets the Resources field's value.
12317func (s *PutEventsRequestEntry) SetResources(v []*string) *PutEventsRequestEntry {
12318	s.Resources = v
12319	return s
12320}
12321
12322// SetSource sets the Source field's value.
12323func (s *PutEventsRequestEntry) SetSource(v string) *PutEventsRequestEntry {
12324	s.Source = &v
12325	return s
12326}
12327
12328// SetTime sets the Time field's value.
12329func (s *PutEventsRequestEntry) SetTime(v time.Time) *PutEventsRequestEntry {
12330	s.Time = &v
12331	return s
12332}
12333
12334// SetTraceHeader sets the TraceHeader field's value.
12335func (s *PutEventsRequestEntry) SetTraceHeader(v string) *PutEventsRequestEntry {
12336	s.TraceHeader = &v
12337	return s
12338}
12339
12340// Represents an event that failed to be submitted.
12341type PutEventsResultEntry struct {
12342	_ struct{} `type:"structure"`
12343
12344	// The error code that indicates why the event submission failed.
12345	ErrorCode *string `type:"string"`
12346
12347	// The error message that explains why the event submission failed.
12348	ErrorMessage *string `type:"string"`
12349
12350	// The ID of the event.
12351	EventId *string `type:"string"`
12352}
12353
12354// String returns the string representation.
12355//
12356// API parameter values that are decorated as "sensitive" in the API will not
12357// be included in the string output. The member name will be present, but the
12358// value will be replaced with "sensitive".
12359func (s PutEventsResultEntry) String() string {
12360	return awsutil.Prettify(s)
12361}
12362
12363// GoString returns the string representation.
12364//
12365// API parameter values that are decorated as "sensitive" in the API will not
12366// be included in the string output. The member name will be present, but the
12367// value will be replaced with "sensitive".
12368func (s PutEventsResultEntry) GoString() string {
12369	return s.String()
12370}
12371
12372// SetErrorCode sets the ErrorCode field's value.
12373func (s *PutEventsResultEntry) SetErrorCode(v string) *PutEventsResultEntry {
12374	s.ErrorCode = &v
12375	return s
12376}
12377
12378// SetErrorMessage sets the ErrorMessage field's value.
12379func (s *PutEventsResultEntry) SetErrorMessage(v string) *PutEventsResultEntry {
12380	s.ErrorMessage = &v
12381	return s
12382}
12383
12384// SetEventId sets the EventId field's value.
12385func (s *PutEventsResultEntry) SetEventId(v string) *PutEventsResultEntry {
12386	s.EventId = &v
12387	return s
12388}
12389
12390type PutPartnerEventsInput struct {
12391	_ struct{} `type:"structure"`
12392
12393	// The list of events to write to the event bus.
12394	//
12395	// Entries is a required field
12396	Entries []*PutPartnerEventsRequestEntry `min:"1" type:"list" required:"true"`
12397}
12398
12399// String returns the string representation.
12400//
12401// API parameter values that are decorated as "sensitive" in the API will not
12402// be included in the string output. The member name will be present, but the
12403// value will be replaced with "sensitive".
12404func (s PutPartnerEventsInput) String() string {
12405	return awsutil.Prettify(s)
12406}
12407
12408// GoString returns the string representation.
12409//
12410// API parameter values that are decorated as "sensitive" in the API will not
12411// be included in the string output. The member name will be present, but the
12412// value will be replaced with "sensitive".
12413func (s PutPartnerEventsInput) GoString() string {
12414	return s.String()
12415}
12416
12417// Validate inspects the fields of the type to determine if they are valid.
12418func (s *PutPartnerEventsInput) Validate() error {
12419	invalidParams := request.ErrInvalidParams{Context: "PutPartnerEventsInput"}
12420	if s.Entries == nil {
12421		invalidParams.Add(request.NewErrParamRequired("Entries"))
12422	}
12423	if s.Entries != nil && len(s.Entries) < 1 {
12424		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
12425	}
12426	if s.Entries != nil {
12427		for i, v := range s.Entries {
12428			if v == nil {
12429				continue
12430			}
12431			if err := v.Validate(); err != nil {
12432				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
12433			}
12434		}
12435	}
12436
12437	if invalidParams.Len() > 0 {
12438		return invalidParams
12439	}
12440	return nil
12441}
12442
12443// SetEntries sets the Entries field's value.
12444func (s *PutPartnerEventsInput) SetEntries(v []*PutPartnerEventsRequestEntry) *PutPartnerEventsInput {
12445	s.Entries = v
12446	return s
12447}
12448
12449type PutPartnerEventsOutput struct {
12450	_ struct{} `type:"structure"`
12451
12452	// The list of events from this operation that were successfully written to
12453	// the partner event bus.
12454	Entries []*PutPartnerEventsResultEntry `type:"list"`
12455
12456	// The number of events from this operation that could not be written to the
12457	// partner event bus.
12458	FailedEntryCount *int64 `type:"integer"`
12459}
12460
12461// String returns the string representation.
12462//
12463// API parameter values that are decorated as "sensitive" in the API will not
12464// be included in the string output. The member name will be present, but the
12465// value will be replaced with "sensitive".
12466func (s PutPartnerEventsOutput) String() string {
12467	return awsutil.Prettify(s)
12468}
12469
12470// GoString returns the string representation.
12471//
12472// API parameter values that are decorated as "sensitive" in the API will not
12473// be included in the string output. The member name will be present, but the
12474// value will be replaced with "sensitive".
12475func (s PutPartnerEventsOutput) GoString() string {
12476	return s.String()
12477}
12478
12479// SetEntries sets the Entries field's value.
12480func (s *PutPartnerEventsOutput) SetEntries(v []*PutPartnerEventsResultEntry) *PutPartnerEventsOutput {
12481	s.Entries = v
12482	return s
12483}
12484
12485// SetFailedEntryCount sets the FailedEntryCount field's value.
12486func (s *PutPartnerEventsOutput) SetFailedEntryCount(v int64) *PutPartnerEventsOutput {
12487	s.FailedEntryCount = &v
12488	return s
12489}
12490
12491// The details about an event generated by an SaaS partner.
12492type PutPartnerEventsRequestEntry struct {
12493	_ struct{} `type:"structure"`
12494
12495	// A valid JSON string. There is no other schema imposed. The JSON string may
12496	// contain fields and nested subobjects.
12497	Detail *string `type:"string"`
12498
12499	// A free-form string used to decide what fields to expect in the event detail.
12500	DetailType *string `type:"string"`
12501
12502	// Amazon Web Services resources, identified by Amazon Resource Name (ARN),
12503	// which the event primarily concerns. Any number, including zero, may be present.
12504	Resources []*string `type:"list"`
12505
12506	// The event source that is generating the entry.
12507	Source *string `min:"1" type:"string"`
12508
12509	// The date and time of the event.
12510	Time *time.Time `type:"timestamp"`
12511}
12512
12513// String returns the string representation.
12514//
12515// API parameter values that are decorated as "sensitive" in the API will not
12516// be included in the string output. The member name will be present, but the
12517// value will be replaced with "sensitive".
12518func (s PutPartnerEventsRequestEntry) String() string {
12519	return awsutil.Prettify(s)
12520}
12521
12522// GoString returns the string representation.
12523//
12524// API parameter values that are decorated as "sensitive" in the API will not
12525// be included in the string output. The member name will be present, but the
12526// value will be replaced with "sensitive".
12527func (s PutPartnerEventsRequestEntry) GoString() string {
12528	return s.String()
12529}
12530
12531// Validate inspects the fields of the type to determine if they are valid.
12532func (s *PutPartnerEventsRequestEntry) Validate() error {
12533	invalidParams := request.ErrInvalidParams{Context: "PutPartnerEventsRequestEntry"}
12534	if s.Source != nil && len(*s.Source) < 1 {
12535		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
12536	}
12537
12538	if invalidParams.Len() > 0 {
12539		return invalidParams
12540	}
12541	return nil
12542}
12543
12544// SetDetail sets the Detail field's value.
12545func (s *PutPartnerEventsRequestEntry) SetDetail(v string) *PutPartnerEventsRequestEntry {
12546	s.Detail = &v
12547	return s
12548}
12549
12550// SetDetailType sets the DetailType field's value.
12551func (s *PutPartnerEventsRequestEntry) SetDetailType(v string) *PutPartnerEventsRequestEntry {
12552	s.DetailType = &v
12553	return s
12554}
12555
12556// SetResources sets the Resources field's value.
12557func (s *PutPartnerEventsRequestEntry) SetResources(v []*string) *PutPartnerEventsRequestEntry {
12558	s.Resources = v
12559	return s
12560}
12561
12562// SetSource sets the Source field's value.
12563func (s *PutPartnerEventsRequestEntry) SetSource(v string) *PutPartnerEventsRequestEntry {
12564	s.Source = &v
12565	return s
12566}
12567
12568// SetTime sets the Time field's value.
12569func (s *PutPartnerEventsRequestEntry) SetTime(v time.Time) *PutPartnerEventsRequestEntry {
12570	s.Time = &v
12571	return s
12572}
12573
12574// Represents an event that a partner tried to generate, but failed.
12575type PutPartnerEventsResultEntry struct {
12576	_ struct{} `type:"structure"`
12577
12578	// The error code that indicates why the event submission failed.
12579	ErrorCode *string `type:"string"`
12580
12581	// The error message that explains why the event submission failed.
12582	ErrorMessage *string `type:"string"`
12583
12584	// The ID of the event.
12585	EventId *string `type:"string"`
12586}
12587
12588// String returns the string representation.
12589//
12590// API parameter values that are decorated as "sensitive" in the API will not
12591// be included in the string output. The member name will be present, but the
12592// value will be replaced with "sensitive".
12593func (s PutPartnerEventsResultEntry) String() string {
12594	return awsutil.Prettify(s)
12595}
12596
12597// GoString returns the string representation.
12598//
12599// API parameter values that are decorated as "sensitive" in the API will not
12600// be included in the string output. The member name will be present, but the
12601// value will be replaced with "sensitive".
12602func (s PutPartnerEventsResultEntry) GoString() string {
12603	return s.String()
12604}
12605
12606// SetErrorCode sets the ErrorCode field's value.
12607func (s *PutPartnerEventsResultEntry) SetErrorCode(v string) *PutPartnerEventsResultEntry {
12608	s.ErrorCode = &v
12609	return s
12610}
12611
12612// SetErrorMessage sets the ErrorMessage field's value.
12613func (s *PutPartnerEventsResultEntry) SetErrorMessage(v string) *PutPartnerEventsResultEntry {
12614	s.ErrorMessage = &v
12615	return s
12616}
12617
12618// SetEventId sets the EventId field's value.
12619func (s *PutPartnerEventsResultEntry) SetEventId(v string) *PutPartnerEventsResultEntry {
12620	s.EventId = &v
12621	return s
12622}
12623
12624type PutPermissionInput struct {
12625	_ struct{} `type:"structure"`
12626
12627	// The action that you are enabling the other account to perform.
12628	Action *string `min:"1" type:"string"`
12629
12630	// This parameter enables you to limit the permission to accounts that fulfill
12631	// a certain condition, such as being a member of a certain Amazon Web Services
12632	// organization. For more information about Amazon Web Services Organizations,
12633	// see What Is Amazon Web Services Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)
12634	// in the Amazon Web Services Organizations User Guide.
12635	//
12636	// If you specify Condition with an Amazon Web Services organization ID, and
12637	// specify "*" as the value for Principal, you grant permission to all the accounts
12638	// in the named organization.
12639	//
12640	// The Condition is a JSON string which must contain Type, Key, and Value fields.
12641	Condition *Condition `type:"structure"`
12642
12643	// The name of the event bus associated with the rule. If you omit this, the
12644	// default event bus is used.
12645	EventBusName *string `min:"1" type:"string"`
12646
12647	// A JSON string that describes the permission policy statement. You can include
12648	// a Policy parameter in the request instead of using the StatementId, Action,
12649	// Principal, or Condition parameters.
12650	Policy *string `type:"string"`
12651
12652	// The 12-digit Amazon Web Services account ID that you are permitting to put
12653	// events to your default event bus. Specify "*" to permit any account to put
12654	// events to your default event bus.
12655	//
12656	// If you specify "*" without specifying Condition, avoid creating rules that
12657	// may match undesirable events. To create more secure rules, make sure that
12658	// the event pattern for each rule contains an account field with a specific
12659	// account ID from which to receive events. Rules with an account field do not
12660	// match any events sent from other accounts.
12661	Principal *string `min:"1" type:"string"`
12662
12663	// An identifier string for the external account that you are granting permissions
12664	// to. If you later want to revoke the permission for this external account,
12665	// specify this StatementId when you run RemovePermission (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html).
12666	StatementId *string `min:"1" type:"string"`
12667}
12668
12669// String returns the string representation.
12670//
12671// API parameter values that are decorated as "sensitive" in the API will not
12672// be included in the string output. The member name will be present, but the
12673// value will be replaced with "sensitive".
12674func (s PutPermissionInput) String() string {
12675	return awsutil.Prettify(s)
12676}
12677
12678// GoString returns the string representation.
12679//
12680// API parameter values that are decorated as "sensitive" in the API will not
12681// be included in the string output. The member name will be present, but the
12682// value will be replaced with "sensitive".
12683func (s PutPermissionInput) GoString() string {
12684	return s.String()
12685}
12686
12687// Validate inspects the fields of the type to determine if they are valid.
12688func (s *PutPermissionInput) Validate() error {
12689	invalidParams := request.ErrInvalidParams{Context: "PutPermissionInput"}
12690	if s.Action != nil && len(*s.Action) < 1 {
12691		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
12692	}
12693	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
12694		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
12695	}
12696	if s.Principal != nil && len(*s.Principal) < 1 {
12697		invalidParams.Add(request.NewErrParamMinLen("Principal", 1))
12698	}
12699	if s.StatementId != nil && len(*s.StatementId) < 1 {
12700		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
12701	}
12702	if s.Condition != nil {
12703		if err := s.Condition.Validate(); err != nil {
12704			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
12705		}
12706	}
12707
12708	if invalidParams.Len() > 0 {
12709		return invalidParams
12710	}
12711	return nil
12712}
12713
12714// SetAction sets the Action field's value.
12715func (s *PutPermissionInput) SetAction(v string) *PutPermissionInput {
12716	s.Action = &v
12717	return s
12718}
12719
12720// SetCondition sets the Condition field's value.
12721func (s *PutPermissionInput) SetCondition(v *Condition) *PutPermissionInput {
12722	s.Condition = v
12723	return s
12724}
12725
12726// SetEventBusName sets the EventBusName field's value.
12727func (s *PutPermissionInput) SetEventBusName(v string) *PutPermissionInput {
12728	s.EventBusName = &v
12729	return s
12730}
12731
12732// SetPolicy sets the Policy field's value.
12733func (s *PutPermissionInput) SetPolicy(v string) *PutPermissionInput {
12734	s.Policy = &v
12735	return s
12736}
12737
12738// SetPrincipal sets the Principal field's value.
12739func (s *PutPermissionInput) SetPrincipal(v string) *PutPermissionInput {
12740	s.Principal = &v
12741	return s
12742}
12743
12744// SetStatementId sets the StatementId field's value.
12745func (s *PutPermissionInput) SetStatementId(v string) *PutPermissionInput {
12746	s.StatementId = &v
12747	return s
12748}
12749
12750type PutPermissionOutput struct {
12751	_ struct{} `type:"structure"`
12752}
12753
12754// String returns the string representation.
12755//
12756// API parameter values that are decorated as "sensitive" in the API will not
12757// be included in the string output. The member name will be present, but the
12758// value will be replaced with "sensitive".
12759func (s PutPermissionOutput) String() string {
12760	return awsutil.Prettify(s)
12761}
12762
12763// GoString returns the string representation.
12764//
12765// API parameter values that are decorated as "sensitive" in the API will not
12766// be included in the string output. The member name will be present, but the
12767// value will be replaced with "sensitive".
12768func (s PutPermissionOutput) GoString() string {
12769	return s.String()
12770}
12771
12772type PutRuleInput struct {
12773	_ struct{} `type:"structure"`
12774
12775	// A description of the rule.
12776	Description *string `type:"string"`
12777
12778	// The name or ARN of the event bus to associate with this rule. If you omit
12779	// this, the default event bus is used.
12780	EventBusName *string `min:"1" type:"string"`
12781
12782	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
12783	// in the Amazon EventBridge User Guide.
12784	EventPattern *string `type:"string"`
12785
12786	// The name of the rule that you are creating or updating.
12787	//
12788	// Name is a required field
12789	Name *string `min:"1" type:"string" required:"true"`
12790
12791	// The Amazon Resource Name (ARN) of the IAM role associated with the rule.
12792	//
12793	// If you're setting an event bus in another account as the target and that
12794	// account granted permission to your account through an organization instead
12795	// of directly by the account ID, you must specify a RoleArn with proper permissions
12796	// in the Target structure, instead of here in this parameter.
12797	RoleArn *string `min:"1" type:"string"`
12798
12799	// The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 minutes)".
12800	ScheduleExpression *string `type:"string"`
12801
12802	// Indicates whether the rule is enabled or disabled.
12803	State *string `type:"string" enum:"RuleState"`
12804
12805	// The list of key-value pairs to associate with the rule.
12806	Tags []*Tag `type:"list"`
12807}
12808
12809// String returns the string representation.
12810//
12811// API parameter values that are decorated as "sensitive" in the API will not
12812// be included in the string output. The member name will be present, but the
12813// value will be replaced with "sensitive".
12814func (s PutRuleInput) String() string {
12815	return awsutil.Prettify(s)
12816}
12817
12818// GoString returns the string representation.
12819//
12820// API parameter values that are decorated as "sensitive" in the API will not
12821// be included in the string output. The member name will be present, but the
12822// value will be replaced with "sensitive".
12823func (s PutRuleInput) GoString() string {
12824	return s.String()
12825}
12826
12827// Validate inspects the fields of the type to determine if they are valid.
12828func (s *PutRuleInput) Validate() error {
12829	invalidParams := request.ErrInvalidParams{Context: "PutRuleInput"}
12830	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
12831		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
12832	}
12833	if s.Name == nil {
12834		invalidParams.Add(request.NewErrParamRequired("Name"))
12835	}
12836	if s.Name != nil && len(*s.Name) < 1 {
12837		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12838	}
12839	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
12840		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
12841	}
12842	if s.Tags != nil {
12843		for i, v := range s.Tags {
12844			if v == nil {
12845				continue
12846			}
12847			if err := v.Validate(); err != nil {
12848				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
12849			}
12850		}
12851	}
12852
12853	if invalidParams.Len() > 0 {
12854		return invalidParams
12855	}
12856	return nil
12857}
12858
12859// SetDescription sets the Description field's value.
12860func (s *PutRuleInput) SetDescription(v string) *PutRuleInput {
12861	s.Description = &v
12862	return s
12863}
12864
12865// SetEventBusName sets the EventBusName field's value.
12866func (s *PutRuleInput) SetEventBusName(v string) *PutRuleInput {
12867	s.EventBusName = &v
12868	return s
12869}
12870
12871// SetEventPattern sets the EventPattern field's value.
12872func (s *PutRuleInput) SetEventPattern(v string) *PutRuleInput {
12873	s.EventPattern = &v
12874	return s
12875}
12876
12877// SetName sets the Name field's value.
12878func (s *PutRuleInput) SetName(v string) *PutRuleInput {
12879	s.Name = &v
12880	return s
12881}
12882
12883// SetRoleArn sets the RoleArn field's value.
12884func (s *PutRuleInput) SetRoleArn(v string) *PutRuleInput {
12885	s.RoleArn = &v
12886	return s
12887}
12888
12889// SetScheduleExpression sets the ScheduleExpression field's value.
12890func (s *PutRuleInput) SetScheduleExpression(v string) *PutRuleInput {
12891	s.ScheduleExpression = &v
12892	return s
12893}
12894
12895// SetState sets the State field's value.
12896func (s *PutRuleInput) SetState(v string) *PutRuleInput {
12897	s.State = &v
12898	return s
12899}
12900
12901// SetTags sets the Tags field's value.
12902func (s *PutRuleInput) SetTags(v []*Tag) *PutRuleInput {
12903	s.Tags = v
12904	return s
12905}
12906
12907type PutRuleOutput struct {
12908	_ struct{} `type:"structure"`
12909
12910	// The Amazon Resource Name (ARN) of the rule.
12911	RuleArn *string `min:"1" type:"string"`
12912}
12913
12914// String returns the string representation.
12915//
12916// API parameter values that are decorated as "sensitive" in the API will not
12917// be included in the string output. The member name will be present, but the
12918// value will be replaced with "sensitive".
12919func (s PutRuleOutput) String() string {
12920	return awsutil.Prettify(s)
12921}
12922
12923// GoString returns the string representation.
12924//
12925// API parameter values that are decorated as "sensitive" in the API will not
12926// be included in the string output. The member name will be present, but the
12927// value will be replaced with "sensitive".
12928func (s PutRuleOutput) GoString() string {
12929	return s.String()
12930}
12931
12932// SetRuleArn sets the RuleArn field's value.
12933func (s *PutRuleOutput) SetRuleArn(v string) *PutRuleOutput {
12934	s.RuleArn = &v
12935	return s
12936}
12937
12938type PutTargetsInput struct {
12939	_ struct{} `type:"structure"`
12940
12941	// The name or ARN of the event bus associated with the rule. If you omit this,
12942	// the default event bus is used.
12943	EventBusName *string `min:"1" type:"string"`
12944
12945	// The name of the rule.
12946	//
12947	// Rule is a required field
12948	Rule *string `min:"1" type:"string" required:"true"`
12949
12950	// The targets to update or add to the rule.
12951	//
12952	// Targets is a required field
12953	Targets []*Target `min:"1" type:"list" required:"true"`
12954}
12955
12956// String returns the string representation.
12957//
12958// API parameter values that are decorated as "sensitive" in the API will not
12959// be included in the string output. The member name will be present, but the
12960// value will be replaced with "sensitive".
12961func (s PutTargetsInput) String() string {
12962	return awsutil.Prettify(s)
12963}
12964
12965// GoString returns the string representation.
12966//
12967// API parameter values that are decorated as "sensitive" in the API will not
12968// be included in the string output. The member name will be present, but the
12969// value will be replaced with "sensitive".
12970func (s PutTargetsInput) GoString() string {
12971	return s.String()
12972}
12973
12974// Validate inspects the fields of the type to determine if they are valid.
12975func (s *PutTargetsInput) Validate() error {
12976	invalidParams := request.ErrInvalidParams{Context: "PutTargetsInput"}
12977	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
12978		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
12979	}
12980	if s.Rule == nil {
12981		invalidParams.Add(request.NewErrParamRequired("Rule"))
12982	}
12983	if s.Rule != nil && len(*s.Rule) < 1 {
12984		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
12985	}
12986	if s.Targets == nil {
12987		invalidParams.Add(request.NewErrParamRequired("Targets"))
12988	}
12989	if s.Targets != nil && len(s.Targets) < 1 {
12990		invalidParams.Add(request.NewErrParamMinLen("Targets", 1))
12991	}
12992	if s.Targets != nil {
12993		for i, v := range s.Targets {
12994			if v == nil {
12995				continue
12996			}
12997			if err := v.Validate(); err != nil {
12998				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
12999			}
13000		}
13001	}
13002
13003	if invalidParams.Len() > 0 {
13004		return invalidParams
13005	}
13006	return nil
13007}
13008
13009// SetEventBusName sets the EventBusName field's value.
13010func (s *PutTargetsInput) SetEventBusName(v string) *PutTargetsInput {
13011	s.EventBusName = &v
13012	return s
13013}
13014
13015// SetRule sets the Rule field's value.
13016func (s *PutTargetsInput) SetRule(v string) *PutTargetsInput {
13017	s.Rule = &v
13018	return s
13019}
13020
13021// SetTargets sets the Targets field's value.
13022func (s *PutTargetsInput) SetTargets(v []*Target) *PutTargetsInput {
13023	s.Targets = v
13024	return s
13025}
13026
13027type PutTargetsOutput struct {
13028	_ struct{} `type:"structure"`
13029
13030	// The failed target entries.
13031	FailedEntries []*PutTargetsResultEntry `type:"list"`
13032
13033	// The number of failed entries.
13034	FailedEntryCount *int64 `type:"integer"`
13035}
13036
13037// String returns the string representation.
13038//
13039// API parameter values that are decorated as "sensitive" in the API will not
13040// be included in the string output. The member name will be present, but the
13041// value will be replaced with "sensitive".
13042func (s PutTargetsOutput) String() string {
13043	return awsutil.Prettify(s)
13044}
13045
13046// GoString returns the string representation.
13047//
13048// API parameter values that are decorated as "sensitive" in the API will not
13049// be included in the string output. The member name will be present, but the
13050// value will be replaced with "sensitive".
13051func (s PutTargetsOutput) GoString() string {
13052	return s.String()
13053}
13054
13055// SetFailedEntries sets the FailedEntries field's value.
13056func (s *PutTargetsOutput) SetFailedEntries(v []*PutTargetsResultEntry) *PutTargetsOutput {
13057	s.FailedEntries = v
13058	return s
13059}
13060
13061// SetFailedEntryCount sets the FailedEntryCount field's value.
13062func (s *PutTargetsOutput) SetFailedEntryCount(v int64) *PutTargetsOutput {
13063	s.FailedEntryCount = &v
13064	return s
13065}
13066
13067// Represents a target that failed to be added to a rule.
13068type PutTargetsResultEntry struct {
13069	_ struct{} `type:"structure"`
13070
13071	// The error code that indicates why the target addition failed. If the value
13072	// is ConcurrentModificationException, too many requests were made at the same
13073	// time.
13074	ErrorCode *string `type:"string"`
13075
13076	// The error message that explains why the target addition failed.
13077	ErrorMessage *string `type:"string"`
13078
13079	// The ID of the target.
13080	TargetId *string `min:"1" type:"string"`
13081}
13082
13083// String returns the string representation.
13084//
13085// API parameter values that are decorated as "sensitive" in the API will not
13086// be included in the string output. The member name will be present, but the
13087// value will be replaced with "sensitive".
13088func (s PutTargetsResultEntry) String() string {
13089	return awsutil.Prettify(s)
13090}
13091
13092// GoString returns the string representation.
13093//
13094// API parameter values that are decorated as "sensitive" in the API will not
13095// be included in the string output. The member name will be present, but the
13096// value will be replaced with "sensitive".
13097func (s PutTargetsResultEntry) GoString() string {
13098	return s.String()
13099}
13100
13101// SetErrorCode sets the ErrorCode field's value.
13102func (s *PutTargetsResultEntry) SetErrorCode(v string) *PutTargetsResultEntry {
13103	s.ErrorCode = &v
13104	return s
13105}
13106
13107// SetErrorMessage sets the ErrorMessage field's value.
13108func (s *PutTargetsResultEntry) SetErrorMessage(v string) *PutTargetsResultEntry {
13109	s.ErrorMessage = &v
13110	return s
13111}
13112
13113// SetTargetId sets the TargetId field's value.
13114func (s *PutTargetsResultEntry) SetTargetId(v string) *PutTargetsResultEntry {
13115	s.TargetId = &v
13116	return s
13117}
13118
13119// These are custom parameters to be used when the target is a Amazon Redshift
13120// cluster to invoke the Amazon Redshift Data API ExecuteStatement based on
13121// EventBridge events.
13122type RedshiftDataParameters struct {
13123	_ struct{} `type:"structure"`
13124
13125	// The name of the database. Required when authenticating using temporary credentials.
13126	//
13127	// Database is a required field
13128	Database *string `min:"1" type:"string" required:"true"`
13129
13130	// The database user name. Required when authenticating using temporary credentials.
13131	DbUser *string `min:"1" type:"string"`
13132
13133	// The name or ARN of the secret that enables access to the database. Required
13134	// when authenticating using Amazon Web Services Secrets Manager.
13135	SecretManagerArn *string `min:"1" type:"string"`
13136
13137	// The SQL statement text to run.
13138	//
13139	// Sql is a required field
13140	Sql *string `min:"1" type:"string" required:"true"`
13141
13142	// The name of the SQL statement. You can name the SQL statement when you create
13143	// it to identify the query.
13144	StatementName *string `min:"1" type:"string"`
13145
13146	// Indicates whether to send an event back to EventBridge after the SQL statement
13147	// runs.
13148	WithEvent *bool `type:"boolean"`
13149}
13150
13151// String returns the string representation.
13152//
13153// API parameter values that are decorated as "sensitive" in the API will not
13154// be included in the string output. The member name will be present, but the
13155// value will be replaced with "sensitive".
13156func (s RedshiftDataParameters) String() string {
13157	return awsutil.Prettify(s)
13158}
13159
13160// GoString returns the string representation.
13161//
13162// API parameter values that are decorated as "sensitive" in the API will not
13163// be included in the string output. The member name will be present, but the
13164// value will be replaced with "sensitive".
13165func (s RedshiftDataParameters) GoString() string {
13166	return s.String()
13167}
13168
13169// Validate inspects the fields of the type to determine if they are valid.
13170func (s *RedshiftDataParameters) Validate() error {
13171	invalidParams := request.ErrInvalidParams{Context: "RedshiftDataParameters"}
13172	if s.Database == nil {
13173		invalidParams.Add(request.NewErrParamRequired("Database"))
13174	}
13175	if s.Database != nil && len(*s.Database) < 1 {
13176		invalidParams.Add(request.NewErrParamMinLen("Database", 1))
13177	}
13178	if s.DbUser != nil && len(*s.DbUser) < 1 {
13179		invalidParams.Add(request.NewErrParamMinLen("DbUser", 1))
13180	}
13181	if s.SecretManagerArn != nil && len(*s.SecretManagerArn) < 1 {
13182		invalidParams.Add(request.NewErrParamMinLen("SecretManagerArn", 1))
13183	}
13184	if s.Sql == nil {
13185		invalidParams.Add(request.NewErrParamRequired("Sql"))
13186	}
13187	if s.Sql != nil && len(*s.Sql) < 1 {
13188		invalidParams.Add(request.NewErrParamMinLen("Sql", 1))
13189	}
13190	if s.StatementName != nil && len(*s.StatementName) < 1 {
13191		invalidParams.Add(request.NewErrParamMinLen("StatementName", 1))
13192	}
13193
13194	if invalidParams.Len() > 0 {
13195		return invalidParams
13196	}
13197	return nil
13198}
13199
13200// SetDatabase sets the Database field's value.
13201func (s *RedshiftDataParameters) SetDatabase(v string) *RedshiftDataParameters {
13202	s.Database = &v
13203	return s
13204}
13205
13206// SetDbUser sets the DbUser field's value.
13207func (s *RedshiftDataParameters) SetDbUser(v string) *RedshiftDataParameters {
13208	s.DbUser = &v
13209	return s
13210}
13211
13212// SetSecretManagerArn sets the SecretManagerArn field's value.
13213func (s *RedshiftDataParameters) SetSecretManagerArn(v string) *RedshiftDataParameters {
13214	s.SecretManagerArn = &v
13215	return s
13216}
13217
13218// SetSql sets the Sql field's value.
13219func (s *RedshiftDataParameters) SetSql(v string) *RedshiftDataParameters {
13220	s.Sql = &v
13221	return s
13222}
13223
13224// SetStatementName sets the StatementName field's value.
13225func (s *RedshiftDataParameters) SetStatementName(v string) *RedshiftDataParameters {
13226	s.StatementName = &v
13227	return s
13228}
13229
13230// SetWithEvent sets the WithEvent field's value.
13231func (s *RedshiftDataParameters) SetWithEvent(v bool) *RedshiftDataParameters {
13232	s.WithEvent = &v
13233	return s
13234}
13235
13236type RemovePermissionInput struct {
13237	_ struct{} `type:"structure"`
13238
13239	// The name of the event bus to revoke permissions for. If you omit this, the
13240	// default event bus is used.
13241	EventBusName *string `min:"1" type:"string"`
13242
13243	// Specifies whether to remove all permissions.
13244	RemoveAllPermissions *bool `type:"boolean"`
13245
13246	// The statement ID corresponding to the account that is no longer allowed to
13247	// put events to the default event bus.
13248	StatementId *string `min:"1" type:"string"`
13249}
13250
13251// String returns the string representation.
13252//
13253// API parameter values that are decorated as "sensitive" in the API will not
13254// be included in the string output. The member name will be present, but the
13255// value will be replaced with "sensitive".
13256func (s RemovePermissionInput) String() string {
13257	return awsutil.Prettify(s)
13258}
13259
13260// GoString returns the string representation.
13261//
13262// API parameter values that are decorated as "sensitive" in the API will not
13263// be included in the string output. The member name will be present, but the
13264// value will be replaced with "sensitive".
13265func (s RemovePermissionInput) GoString() string {
13266	return s.String()
13267}
13268
13269// Validate inspects the fields of the type to determine if they are valid.
13270func (s *RemovePermissionInput) Validate() error {
13271	invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"}
13272	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
13273		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
13274	}
13275	if s.StatementId != nil && len(*s.StatementId) < 1 {
13276		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
13277	}
13278
13279	if invalidParams.Len() > 0 {
13280		return invalidParams
13281	}
13282	return nil
13283}
13284
13285// SetEventBusName sets the EventBusName field's value.
13286func (s *RemovePermissionInput) SetEventBusName(v string) *RemovePermissionInput {
13287	s.EventBusName = &v
13288	return s
13289}
13290
13291// SetRemoveAllPermissions sets the RemoveAllPermissions field's value.
13292func (s *RemovePermissionInput) SetRemoveAllPermissions(v bool) *RemovePermissionInput {
13293	s.RemoveAllPermissions = &v
13294	return s
13295}
13296
13297// SetStatementId sets the StatementId field's value.
13298func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput {
13299	s.StatementId = &v
13300	return s
13301}
13302
13303type RemovePermissionOutput struct {
13304	_ struct{} `type:"structure"`
13305}
13306
13307// String returns the string representation.
13308//
13309// API parameter values that are decorated as "sensitive" in the API will not
13310// be included in the string output. The member name will be present, but the
13311// value will be replaced with "sensitive".
13312func (s RemovePermissionOutput) String() string {
13313	return awsutil.Prettify(s)
13314}
13315
13316// GoString returns the string representation.
13317//
13318// API parameter values that are decorated as "sensitive" in the API will not
13319// be included in the string output. The member name will be present, but the
13320// value will be replaced with "sensitive".
13321func (s RemovePermissionOutput) GoString() string {
13322	return s.String()
13323}
13324
13325type RemoveTargetsInput struct {
13326	_ struct{} `type:"structure"`
13327
13328	// The name or ARN of the event bus associated with the rule. If you omit this,
13329	// the default event bus is used.
13330	EventBusName *string `min:"1" type:"string"`
13331
13332	// If this is a managed rule, created by an Amazon Web Services service on your
13333	// behalf, you must specify Force as True to remove targets. This parameter
13334	// is ignored for rules that are not managed rules. You can check whether a
13335	// rule is a managed rule by using DescribeRule or ListRules and checking the
13336	// ManagedBy field of the response.
13337	Force *bool `type:"boolean"`
13338
13339	// The IDs of the targets to remove from the rule.
13340	//
13341	// Ids is a required field
13342	Ids []*string `min:"1" type:"list" required:"true"`
13343
13344	// The name of the rule.
13345	//
13346	// Rule is a required field
13347	Rule *string `min:"1" type:"string" required:"true"`
13348}
13349
13350// String returns the string representation.
13351//
13352// API parameter values that are decorated as "sensitive" in the API will not
13353// be included in the string output. The member name will be present, but the
13354// value will be replaced with "sensitive".
13355func (s RemoveTargetsInput) String() string {
13356	return awsutil.Prettify(s)
13357}
13358
13359// GoString returns the string representation.
13360//
13361// API parameter values that are decorated as "sensitive" in the API will not
13362// be included in the string output. The member name will be present, but the
13363// value will be replaced with "sensitive".
13364func (s RemoveTargetsInput) GoString() string {
13365	return s.String()
13366}
13367
13368// Validate inspects the fields of the type to determine if they are valid.
13369func (s *RemoveTargetsInput) Validate() error {
13370	invalidParams := request.ErrInvalidParams{Context: "RemoveTargetsInput"}
13371	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
13372		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
13373	}
13374	if s.Ids == nil {
13375		invalidParams.Add(request.NewErrParamRequired("Ids"))
13376	}
13377	if s.Ids != nil && len(s.Ids) < 1 {
13378		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
13379	}
13380	if s.Rule == nil {
13381		invalidParams.Add(request.NewErrParamRequired("Rule"))
13382	}
13383	if s.Rule != nil && len(*s.Rule) < 1 {
13384		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
13385	}
13386
13387	if invalidParams.Len() > 0 {
13388		return invalidParams
13389	}
13390	return nil
13391}
13392
13393// SetEventBusName sets the EventBusName field's value.
13394func (s *RemoveTargetsInput) SetEventBusName(v string) *RemoveTargetsInput {
13395	s.EventBusName = &v
13396	return s
13397}
13398
13399// SetForce sets the Force field's value.
13400func (s *RemoveTargetsInput) SetForce(v bool) *RemoveTargetsInput {
13401	s.Force = &v
13402	return s
13403}
13404
13405// SetIds sets the Ids field's value.
13406func (s *RemoveTargetsInput) SetIds(v []*string) *RemoveTargetsInput {
13407	s.Ids = v
13408	return s
13409}
13410
13411// SetRule sets the Rule field's value.
13412func (s *RemoveTargetsInput) SetRule(v string) *RemoveTargetsInput {
13413	s.Rule = &v
13414	return s
13415}
13416
13417type RemoveTargetsOutput struct {
13418	_ struct{} `type:"structure"`
13419
13420	// The failed target entries.
13421	FailedEntries []*RemoveTargetsResultEntry `type:"list"`
13422
13423	// The number of failed entries.
13424	FailedEntryCount *int64 `type:"integer"`
13425}
13426
13427// String returns the string representation.
13428//
13429// API parameter values that are decorated as "sensitive" in the API will not
13430// be included in the string output. The member name will be present, but the
13431// value will be replaced with "sensitive".
13432func (s RemoveTargetsOutput) String() string {
13433	return awsutil.Prettify(s)
13434}
13435
13436// GoString returns the string representation.
13437//
13438// API parameter values that are decorated as "sensitive" in the API will not
13439// be included in the string output. The member name will be present, but the
13440// value will be replaced with "sensitive".
13441func (s RemoveTargetsOutput) GoString() string {
13442	return s.String()
13443}
13444
13445// SetFailedEntries sets the FailedEntries field's value.
13446func (s *RemoveTargetsOutput) SetFailedEntries(v []*RemoveTargetsResultEntry) *RemoveTargetsOutput {
13447	s.FailedEntries = v
13448	return s
13449}
13450
13451// SetFailedEntryCount sets the FailedEntryCount field's value.
13452func (s *RemoveTargetsOutput) SetFailedEntryCount(v int64) *RemoveTargetsOutput {
13453	s.FailedEntryCount = &v
13454	return s
13455}
13456
13457// Represents a target that failed to be removed from a rule.
13458type RemoveTargetsResultEntry struct {
13459	_ struct{} `type:"structure"`
13460
13461	// The error code that indicates why the target removal failed. If the value
13462	// is ConcurrentModificationException, too many requests were made at the same
13463	// time.
13464	ErrorCode *string `type:"string"`
13465
13466	// The error message that explains why the target removal failed.
13467	ErrorMessage *string `type:"string"`
13468
13469	// The ID of the target.
13470	TargetId *string `min:"1" type:"string"`
13471}
13472
13473// String returns the string representation.
13474//
13475// API parameter values that are decorated as "sensitive" in the API will not
13476// be included in the string output. The member name will be present, but the
13477// value will be replaced with "sensitive".
13478func (s RemoveTargetsResultEntry) String() string {
13479	return awsutil.Prettify(s)
13480}
13481
13482// GoString returns the string representation.
13483//
13484// API parameter values that are decorated as "sensitive" in the API will not
13485// be included in the string output. The member name will be present, but the
13486// value will be replaced with "sensitive".
13487func (s RemoveTargetsResultEntry) GoString() string {
13488	return s.String()
13489}
13490
13491// SetErrorCode sets the ErrorCode field's value.
13492func (s *RemoveTargetsResultEntry) SetErrorCode(v string) *RemoveTargetsResultEntry {
13493	s.ErrorCode = &v
13494	return s
13495}
13496
13497// SetErrorMessage sets the ErrorMessage field's value.
13498func (s *RemoveTargetsResultEntry) SetErrorMessage(v string) *RemoveTargetsResultEntry {
13499	s.ErrorMessage = &v
13500	return s
13501}
13502
13503// SetTargetId sets the TargetId field's value.
13504func (s *RemoveTargetsResultEntry) SetTargetId(v string) *RemoveTargetsResultEntry {
13505	s.TargetId = &v
13506	return s
13507}
13508
13509// A Replay object that contains details about a replay.
13510type Replay struct {
13511	_ struct{} `type:"structure"`
13512
13513	// A time stamp for the time to start replaying events. Any event with a creation
13514	// time prior to the EventEndTime specified is replayed.
13515	EventEndTime *time.Time `type:"timestamp"`
13516
13517	// A time stamp for the time that the last event was replayed.
13518	EventLastReplayedTime *time.Time `type:"timestamp"`
13519
13520	// The ARN of the archive to replay event from.
13521	EventSourceArn *string `min:"1" type:"string"`
13522
13523	// A time stamp for the time to start replaying events. This is determined by
13524	// the time in the event as described in Time (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time).
13525	EventStartTime *time.Time `type:"timestamp"`
13526
13527	// A time stamp for the time that the replay completed.
13528	ReplayEndTime *time.Time `type:"timestamp"`
13529
13530	// The name of the replay.
13531	ReplayName *string `min:"1" type:"string"`
13532
13533	// A time stamp for the time that the replay started.
13534	ReplayStartTime *time.Time `type:"timestamp"`
13535
13536	// The current state of the replay.
13537	State *string `type:"string" enum:"ReplayState"`
13538
13539	// A description of why the replay is in the current state.
13540	StateReason *string `type:"string"`
13541}
13542
13543// String returns the string representation.
13544//
13545// API parameter values that are decorated as "sensitive" in the API will not
13546// be included in the string output. The member name will be present, but the
13547// value will be replaced with "sensitive".
13548func (s Replay) String() string {
13549	return awsutil.Prettify(s)
13550}
13551
13552// GoString returns the string representation.
13553//
13554// API parameter values that are decorated as "sensitive" in the API will not
13555// be included in the string output. The member name will be present, but the
13556// value will be replaced with "sensitive".
13557func (s Replay) GoString() string {
13558	return s.String()
13559}
13560
13561// SetEventEndTime sets the EventEndTime field's value.
13562func (s *Replay) SetEventEndTime(v time.Time) *Replay {
13563	s.EventEndTime = &v
13564	return s
13565}
13566
13567// SetEventLastReplayedTime sets the EventLastReplayedTime field's value.
13568func (s *Replay) SetEventLastReplayedTime(v time.Time) *Replay {
13569	s.EventLastReplayedTime = &v
13570	return s
13571}
13572
13573// SetEventSourceArn sets the EventSourceArn field's value.
13574func (s *Replay) SetEventSourceArn(v string) *Replay {
13575	s.EventSourceArn = &v
13576	return s
13577}
13578
13579// SetEventStartTime sets the EventStartTime field's value.
13580func (s *Replay) SetEventStartTime(v time.Time) *Replay {
13581	s.EventStartTime = &v
13582	return s
13583}
13584
13585// SetReplayEndTime sets the ReplayEndTime field's value.
13586func (s *Replay) SetReplayEndTime(v time.Time) *Replay {
13587	s.ReplayEndTime = &v
13588	return s
13589}
13590
13591// SetReplayName sets the ReplayName field's value.
13592func (s *Replay) SetReplayName(v string) *Replay {
13593	s.ReplayName = &v
13594	return s
13595}
13596
13597// SetReplayStartTime sets the ReplayStartTime field's value.
13598func (s *Replay) SetReplayStartTime(v time.Time) *Replay {
13599	s.ReplayStartTime = &v
13600	return s
13601}
13602
13603// SetState sets the State field's value.
13604func (s *Replay) SetState(v string) *Replay {
13605	s.State = &v
13606	return s
13607}
13608
13609// SetStateReason sets the StateReason field's value.
13610func (s *Replay) SetStateReason(v string) *Replay {
13611	s.StateReason = &v
13612	return s
13613}
13614
13615// A ReplayDestination object that contains details about a replay.
13616type ReplayDestination struct {
13617	_ struct{} `type:"structure"`
13618
13619	// The ARN of the event bus to replay event to. You can replay events only to
13620	// the event bus specified to create the archive.
13621	//
13622	// Arn is a required field
13623	Arn *string `min:"1" type:"string" required:"true"`
13624
13625	// A list of ARNs for rules to replay events to.
13626	FilterArns []*string `type:"list"`
13627}
13628
13629// String returns the string representation.
13630//
13631// API parameter values that are decorated as "sensitive" in the API will not
13632// be included in the string output. The member name will be present, but the
13633// value will be replaced with "sensitive".
13634func (s ReplayDestination) String() string {
13635	return awsutil.Prettify(s)
13636}
13637
13638// GoString returns the string representation.
13639//
13640// API parameter values that are decorated as "sensitive" in the API will not
13641// be included in the string output. The member name will be present, but the
13642// value will be replaced with "sensitive".
13643func (s ReplayDestination) GoString() string {
13644	return s.String()
13645}
13646
13647// Validate inspects the fields of the type to determine if they are valid.
13648func (s *ReplayDestination) Validate() error {
13649	invalidParams := request.ErrInvalidParams{Context: "ReplayDestination"}
13650	if s.Arn == nil {
13651		invalidParams.Add(request.NewErrParamRequired("Arn"))
13652	}
13653	if s.Arn != nil && len(*s.Arn) < 1 {
13654		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
13655	}
13656
13657	if invalidParams.Len() > 0 {
13658		return invalidParams
13659	}
13660	return nil
13661}
13662
13663// SetArn sets the Arn field's value.
13664func (s *ReplayDestination) SetArn(v string) *ReplayDestination {
13665	s.Arn = &v
13666	return s
13667}
13668
13669// SetFilterArns sets the FilterArns field's value.
13670func (s *ReplayDestination) SetFilterArns(v []*string) *ReplayDestination {
13671	s.FilterArns = v
13672	return s
13673}
13674
13675// The resource you are trying to create already exists.
13676type ResourceAlreadyExistsException struct {
13677	_            struct{}                  `type:"structure"`
13678	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13679
13680	Message_ *string `locationName:"message" type:"string"`
13681}
13682
13683// String returns the string representation.
13684//
13685// API parameter values that are decorated as "sensitive" in the API will not
13686// be included in the string output. The member name will be present, but the
13687// value will be replaced with "sensitive".
13688func (s ResourceAlreadyExistsException) String() string {
13689	return awsutil.Prettify(s)
13690}
13691
13692// GoString returns the string representation.
13693//
13694// API parameter values that are decorated as "sensitive" in the API will not
13695// be included in the string output. The member name will be present, but the
13696// value will be replaced with "sensitive".
13697func (s ResourceAlreadyExistsException) GoString() string {
13698	return s.String()
13699}
13700
13701func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
13702	return &ResourceAlreadyExistsException{
13703		RespMetadata: v,
13704	}
13705}
13706
13707// Code returns the exception type name.
13708func (s *ResourceAlreadyExistsException) Code() string {
13709	return "ResourceAlreadyExistsException"
13710}
13711
13712// Message returns the exception's message.
13713func (s *ResourceAlreadyExistsException) Message() string {
13714	if s.Message_ != nil {
13715		return *s.Message_
13716	}
13717	return ""
13718}
13719
13720// OrigErr always returns nil, satisfies awserr.Error interface.
13721func (s *ResourceAlreadyExistsException) OrigErr() error {
13722	return nil
13723}
13724
13725func (s *ResourceAlreadyExistsException) Error() string {
13726	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13727}
13728
13729// Status code returns the HTTP status code for the request's response error.
13730func (s *ResourceAlreadyExistsException) StatusCode() int {
13731	return s.RespMetadata.StatusCode
13732}
13733
13734// RequestID returns the service's response RequestID for request.
13735func (s *ResourceAlreadyExistsException) RequestID() string {
13736	return s.RespMetadata.RequestID
13737}
13738
13739// An entity that you specified does not exist.
13740type ResourceNotFoundException struct {
13741	_            struct{}                  `type:"structure"`
13742	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13743
13744	Message_ *string `locationName:"message" type:"string"`
13745}
13746
13747// String returns the string representation.
13748//
13749// API parameter values that are decorated as "sensitive" in the API will not
13750// be included in the string output. The member name will be present, but the
13751// value will be replaced with "sensitive".
13752func (s ResourceNotFoundException) String() string {
13753	return awsutil.Prettify(s)
13754}
13755
13756// GoString returns the string representation.
13757//
13758// API parameter values that are decorated as "sensitive" in the API will not
13759// be included in the string output. The member name will be present, but the
13760// value will be replaced with "sensitive".
13761func (s ResourceNotFoundException) GoString() string {
13762	return s.String()
13763}
13764
13765func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
13766	return &ResourceNotFoundException{
13767		RespMetadata: v,
13768	}
13769}
13770
13771// Code returns the exception type name.
13772func (s *ResourceNotFoundException) Code() string {
13773	return "ResourceNotFoundException"
13774}
13775
13776// Message returns the exception's message.
13777func (s *ResourceNotFoundException) Message() string {
13778	if s.Message_ != nil {
13779		return *s.Message_
13780	}
13781	return ""
13782}
13783
13784// OrigErr always returns nil, satisfies awserr.Error interface.
13785func (s *ResourceNotFoundException) OrigErr() error {
13786	return nil
13787}
13788
13789func (s *ResourceNotFoundException) Error() string {
13790	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13791}
13792
13793// Status code returns the HTTP status code for the request's response error.
13794func (s *ResourceNotFoundException) StatusCode() int {
13795	return s.RespMetadata.StatusCode
13796}
13797
13798// RequestID returns the service's response RequestID for request.
13799func (s *ResourceNotFoundException) RequestID() string {
13800	return s.RespMetadata.RequestID
13801}
13802
13803// A RetryPolicy object that includes information about the retry policy settings.
13804type RetryPolicy struct {
13805	_ struct{} `type:"structure"`
13806
13807	// The maximum amount of time, in seconds, to continue to make retry attempts.
13808	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
13809
13810	// The maximum number of retry attempts to make before the request fails. Retry
13811	// attempts continue until either the maximum number of attempts is made or
13812	// until the duration of the MaximumEventAgeInSeconds is met.
13813	MaximumRetryAttempts *int64 `type:"integer"`
13814}
13815
13816// String returns the string representation.
13817//
13818// API parameter values that are decorated as "sensitive" in the API will not
13819// be included in the string output. The member name will be present, but the
13820// value will be replaced with "sensitive".
13821func (s RetryPolicy) String() string {
13822	return awsutil.Prettify(s)
13823}
13824
13825// GoString returns the string representation.
13826//
13827// API parameter values that are decorated as "sensitive" in the API will not
13828// be included in the string output. The member name will be present, but the
13829// value will be replaced with "sensitive".
13830func (s RetryPolicy) GoString() string {
13831	return s.String()
13832}
13833
13834// Validate inspects the fields of the type to determine if they are valid.
13835func (s *RetryPolicy) Validate() error {
13836	invalidParams := request.ErrInvalidParams{Context: "RetryPolicy"}
13837	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
13838		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
13839	}
13840
13841	if invalidParams.Len() > 0 {
13842		return invalidParams
13843	}
13844	return nil
13845}
13846
13847// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
13848func (s *RetryPolicy) SetMaximumEventAgeInSeconds(v int64) *RetryPolicy {
13849	s.MaximumEventAgeInSeconds = &v
13850	return s
13851}
13852
13853// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
13854func (s *RetryPolicy) SetMaximumRetryAttempts(v int64) *RetryPolicy {
13855	s.MaximumRetryAttempts = &v
13856	return s
13857}
13858
13859// Contains information about a rule in Amazon EventBridge.
13860type Rule struct {
13861	_ struct{} `type:"structure"`
13862
13863	// The Amazon Resource Name (ARN) of the rule.
13864	Arn *string `min:"1" type:"string"`
13865
13866	// The description of the rule.
13867	Description *string `type:"string"`
13868
13869	// The name or ARN of the event bus associated with the rule. If you omit this,
13870	// the default event bus is used.
13871	EventBusName *string `min:"1" type:"string"`
13872
13873	// The event pattern of the rule. For more information, see Events and Event
13874	// Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
13875	// in the Amazon EventBridge User Guide.
13876	EventPattern *string `type:"string"`
13877
13878	// If the rule was created on behalf of your account by an Amazon Web Services
13879	// service, this field displays the principal name of the service that created
13880	// the rule.
13881	ManagedBy *string `min:"1" type:"string"`
13882
13883	// The name of the rule.
13884	Name *string `min:"1" type:"string"`
13885
13886	// The Amazon Resource Name (ARN) of the role that is used for target invocation.
13887	//
13888	// If you're setting an event bus in another account as the target and that
13889	// account granted permission to your account through an organization instead
13890	// of directly by the account ID, you must specify a RoleArn with proper permissions
13891	// in the Target structure, instead of here in this parameter.
13892	RoleArn *string `min:"1" type:"string"`
13893
13894	// The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".
13895	// For more information, see Creating an Amazon EventBridge rule that runs on
13896	// a schedule (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html).
13897	ScheduleExpression *string `type:"string"`
13898
13899	// The state of the rule.
13900	State *string `type:"string" enum:"RuleState"`
13901}
13902
13903// String returns the string representation.
13904//
13905// API parameter values that are decorated as "sensitive" in the API will not
13906// be included in the string output. The member name will be present, but the
13907// value will be replaced with "sensitive".
13908func (s Rule) String() string {
13909	return awsutil.Prettify(s)
13910}
13911
13912// GoString returns the string representation.
13913//
13914// API parameter values that are decorated as "sensitive" in the API will not
13915// be included in the string output. The member name will be present, but the
13916// value will be replaced with "sensitive".
13917func (s Rule) GoString() string {
13918	return s.String()
13919}
13920
13921// SetArn sets the Arn field's value.
13922func (s *Rule) SetArn(v string) *Rule {
13923	s.Arn = &v
13924	return s
13925}
13926
13927// SetDescription sets the Description field's value.
13928func (s *Rule) SetDescription(v string) *Rule {
13929	s.Description = &v
13930	return s
13931}
13932
13933// SetEventBusName sets the EventBusName field's value.
13934func (s *Rule) SetEventBusName(v string) *Rule {
13935	s.EventBusName = &v
13936	return s
13937}
13938
13939// SetEventPattern sets the EventPattern field's value.
13940func (s *Rule) SetEventPattern(v string) *Rule {
13941	s.EventPattern = &v
13942	return s
13943}
13944
13945// SetManagedBy sets the ManagedBy field's value.
13946func (s *Rule) SetManagedBy(v string) *Rule {
13947	s.ManagedBy = &v
13948	return s
13949}
13950
13951// SetName sets the Name field's value.
13952func (s *Rule) SetName(v string) *Rule {
13953	s.Name = &v
13954	return s
13955}
13956
13957// SetRoleArn sets the RoleArn field's value.
13958func (s *Rule) SetRoleArn(v string) *Rule {
13959	s.RoleArn = &v
13960	return s
13961}
13962
13963// SetScheduleExpression sets the ScheduleExpression field's value.
13964func (s *Rule) SetScheduleExpression(v string) *Rule {
13965	s.ScheduleExpression = &v
13966	return s
13967}
13968
13969// SetState sets the State field's value.
13970func (s *Rule) SetState(v string) *Rule {
13971	s.State = &v
13972	return s
13973}
13974
13975// This parameter contains the criteria (either InstanceIds or a tag) used to
13976// specify which EC2 instances are to be sent the command.
13977type RunCommandParameters struct {
13978	_ struct{} `type:"structure"`
13979
13980	// Currently, we support including only one RunCommandTarget block, which specifies
13981	// either an array of InstanceIds or a tag.
13982	//
13983	// RunCommandTargets is a required field
13984	RunCommandTargets []*RunCommandTarget `min:"1" type:"list" required:"true"`
13985}
13986
13987// String returns the string representation.
13988//
13989// API parameter values that are decorated as "sensitive" in the API will not
13990// be included in the string output. The member name will be present, but the
13991// value will be replaced with "sensitive".
13992func (s RunCommandParameters) String() string {
13993	return awsutil.Prettify(s)
13994}
13995
13996// GoString returns the string representation.
13997//
13998// API parameter values that are decorated as "sensitive" in the API will not
13999// be included in the string output. The member name will be present, but the
14000// value will be replaced with "sensitive".
14001func (s RunCommandParameters) GoString() string {
14002	return s.String()
14003}
14004
14005// Validate inspects the fields of the type to determine if they are valid.
14006func (s *RunCommandParameters) Validate() error {
14007	invalidParams := request.ErrInvalidParams{Context: "RunCommandParameters"}
14008	if s.RunCommandTargets == nil {
14009		invalidParams.Add(request.NewErrParamRequired("RunCommandTargets"))
14010	}
14011	if s.RunCommandTargets != nil && len(s.RunCommandTargets) < 1 {
14012		invalidParams.Add(request.NewErrParamMinLen("RunCommandTargets", 1))
14013	}
14014	if s.RunCommandTargets != nil {
14015		for i, v := range s.RunCommandTargets {
14016			if v == nil {
14017				continue
14018			}
14019			if err := v.Validate(); err != nil {
14020				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RunCommandTargets", i), err.(request.ErrInvalidParams))
14021			}
14022		}
14023	}
14024
14025	if invalidParams.Len() > 0 {
14026		return invalidParams
14027	}
14028	return nil
14029}
14030
14031// SetRunCommandTargets sets the RunCommandTargets field's value.
14032func (s *RunCommandParameters) SetRunCommandTargets(v []*RunCommandTarget) *RunCommandParameters {
14033	s.RunCommandTargets = v
14034	return s
14035}
14036
14037// Information about the EC2 instances that are to be sent the command, specified
14038// as key-value pairs. Each RunCommandTarget block can include only one key,
14039// but this key may specify multiple values.
14040type RunCommandTarget struct {
14041	_ struct{} `type:"structure"`
14042
14043	// Can be either tag: tag-key or InstanceIds.
14044	//
14045	// Key is a required field
14046	Key *string `min:"1" type:"string" required:"true"`
14047
14048	// If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds,
14049	// Values is a list of Amazon EC2 instance IDs.
14050	//
14051	// Values is a required field
14052	Values []*string `min:"1" type:"list" required:"true"`
14053}
14054
14055// String returns the string representation.
14056//
14057// API parameter values that are decorated as "sensitive" in the API will not
14058// be included in the string output. The member name will be present, but the
14059// value will be replaced with "sensitive".
14060func (s RunCommandTarget) String() string {
14061	return awsutil.Prettify(s)
14062}
14063
14064// GoString returns the string representation.
14065//
14066// API parameter values that are decorated as "sensitive" in the API will not
14067// be included in the string output. The member name will be present, but the
14068// value will be replaced with "sensitive".
14069func (s RunCommandTarget) GoString() string {
14070	return s.String()
14071}
14072
14073// Validate inspects the fields of the type to determine if they are valid.
14074func (s *RunCommandTarget) Validate() error {
14075	invalidParams := request.ErrInvalidParams{Context: "RunCommandTarget"}
14076	if s.Key == nil {
14077		invalidParams.Add(request.NewErrParamRequired("Key"))
14078	}
14079	if s.Key != nil && len(*s.Key) < 1 {
14080		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14081	}
14082	if s.Values == nil {
14083		invalidParams.Add(request.NewErrParamRequired("Values"))
14084	}
14085	if s.Values != nil && len(s.Values) < 1 {
14086		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
14087	}
14088
14089	if invalidParams.Len() > 0 {
14090		return invalidParams
14091	}
14092	return nil
14093}
14094
14095// SetKey sets the Key field's value.
14096func (s *RunCommandTarget) SetKey(v string) *RunCommandTarget {
14097	s.Key = &v
14098	return s
14099}
14100
14101// SetValues sets the Values field's value.
14102func (s *RunCommandTarget) SetValues(v []*string) *RunCommandTarget {
14103	s.Values = v
14104	return s
14105}
14106
14107// Name/Value pair of a parameter to start execution of a SageMaker Model Building
14108// Pipeline.
14109type SageMakerPipelineParameter struct {
14110	_ struct{} `type:"structure"`
14111
14112	// Name of parameter to start execution of a SageMaker Model Building Pipeline.
14113	//
14114	// Name is a required field
14115	Name *string `min:"1" type:"string" required:"true"`
14116
14117	// Value of parameter to start execution of a SageMaker Model Building Pipeline.
14118	//
14119	// Value is a required field
14120	Value *string `type:"string" required:"true"`
14121}
14122
14123// String returns the string representation.
14124//
14125// API parameter values that are decorated as "sensitive" in the API will not
14126// be included in the string output. The member name will be present, but the
14127// value will be replaced with "sensitive".
14128func (s SageMakerPipelineParameter) String() string {
14129	return awsutil.Prettify(s)
14130}
14131
14132// GoString returns the string representation.
14133//
14134// API parameter values that are decorated as "sensitive" in the API will not
14135// be included in the string output. The member name will be present, but the
14136// value will be replaced with "sensitive".
14137func (s SageMakerPipelineParameter) GoString() string {
14138	return s.String()
14139}
14140
14141// Validate inspects the fields of the type to determine if they are valid.
14142func (s *SageMakerPipelineParameter) Validate() error {
14143	invalidParams := request.ErrInvalidParams{Context: "SageMakerPipelineParameter"}
14144	if s.Name == nil {
14145		invalidParams.Add(request.NewErrParamRequired("Name"))
14146	}
14147	if s.Name != nil && len(*s.Name) < 1 {
14148		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14149	}
14150	if s.Value == nil {
14151		invalidParams.Add(request.NewErrParamRequired("Value"))
14152	}
14153
14154	if invalidParams.Len() > 0 {
14155		return invalidParams
14156	}
14157	return nil
14158}
14159
14160// SetName sets the Name field's value.
14161func (s *SageMakerPipelineParameter) SetName(v string) *SageMakerPipelineParameter {
14162	s.Name = &v
14163	return s
14164}
14165
14166// SetValue sets the Value field's value.
14167func (s *SageMakerPipelineParameter) SetValue(v string) *SageMakerPipelineParameter {
14168	s.Value = &v
14169	return s
14170}
14171
14172// These are custom parameters to use when the target is a SageMaker Model Building
14173// Pipeline that starts based on EventBridge events.
14174type SageMakerPipelineParameters struct {
14175	_ struct{} `type:"structure"`
14176
14177	// List of Parameter names and values for SageMaker Model Building Pipeline
14178	// execution.
14179	PipelineParameterList []*SageMakerPipelineParameter `type:"list"`
14180}
14181
14182// String returns the string representation.
14183//
14184// API parameter values that are decorated as "sensitive" in the API will not
14185// be included in the string output. The member name will be present, but the
14186// value will be replaced with "sensitive".
14187func (s SageMakerPipelineParameters) String() string {
14188	return awsutil.Prettify(s)
14189}
14190
14191// GoString returns the string representation.
14192//
14193// API parameter values that are decorated as "sensitive" in the API will not
14194// be included in the string output. The member name will be present, but the
14195// value will be replaced with "sensitive".
14196func (s SageMakerPipelineParameters) GoString() string {
14197	return s.String()
14198}
14199
14200// Validate inspects the fields of the type to determine if they are valid.
14201func (s *SageMakerPipelineParameters) Validate() error {
14202	invalidParams := request.ErrInvalidParams{Context: "SageMakerPipelineParameters"}
14203	if s.PipelineParameterList != nil {
14204		for i, v := range s.PipelineParameterList {
14205			if v == nil {
14206				continue
14207			}
14208			if err := v.Validate(); err != nil {
14209				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PipelineParameterList", i), err.(request.ErrInvalidParams))
14210			}
14211		}
14212	}
14213
14214	if invalidParams.Len() > 0 {
14215		return invalidParams
14216	}
14217	return nil
14218}
14219
14220// SetPipelineParameterList sets the PipelineParameterList field's value.
14221func (s *SageMakerPipelineParameters) SetPipelineParameterList(v []*SageMakerPipelineParameter) *SageMakerPipelineParameters {
14222	s.PipelineParameterList = v
14223	return s
14224}
14225
14226// This structure includes the custom parameter to be used when the target is
14227// an SQS FIFO queue.
14228type SqsParameters struct {
14229	_ struct{} `type:"structure"`
14230
14231	// The FIFO message group ID to use as the target.
14232	MessageGroupId *string `type:"string"`
14233}
14234
14235// String returns the string representation.
14236//
14237// API parameter values that are decorated as "sensitive" in the API will not
14238// be included in the string output. The member name will be present, but the
14239// value will be replaced with "sensitive".
14240func (s SqsParameters) String() string {
14241	return awsutil.Prettify(s)
14242}
14243
14244// GoString returns the string representation.
14245//
14246// API parameter values that are decorated as "sensitive" in the API will not
14247// be included in the string output. The member name will be present, but the
14248// value will be replaced with "sensitive".
14249func (s SqsParameters) GoString() string {
14250	return s.String()
14251}
14252
14253// SetMessageGroupId sets the MessageGroupId field's value.
14254func (s *SqsParameters) SetMessageGroupId(v string) *SqsParameters {
14255	s.MessageGroupId = &v
14256	return s
14257}
14258
14259type StartReplayInput struct {
14260	_ struct{} `type:"structure"`
14261
14262	// A description for the replay to start.
14263	Description *string `type:"string"`
14264
14265	// A ReplayDestination object that includes details about the destination for
14266	// the replay.
14267	//
14268	// Destination is a required field
14269	Destination *ReplayDestination `type:"structure" required:"true"`
14270
14271	// A time stamp for the time to stop replaying events. Only events that occurred
14272	// between the EventStartTime and EventEndTime are replayed.
14273	//
14274	// EventEndTime is a required field
14275	EventEndTime *time.Time `type:"timestamp" required:"true"`
14276
14277	// The ARN of the archive to replay events from.
14278	//
14279	// EventSourceArn is a required field
14280	EventSourceArn *string `min:"1" type:"string" required:"true"`
14281
14282	// A time stamp for the time to start replaying events. Only events that occurred
14283	// between the EventStartTime and EventEndTime are replayed.
14284	//
14285	// EventStartTime is a required field
14286	EventStartTime *time.Time `type:"timestamp" required:"true"`
14287
14288	// The name of the replay to start.
14289	//
14290	// ReplayName is a required field
14291	ReplayName *string `min:"1" type:"string" required:"true"`
14292}
14293
14294// String returns the string representation.
14295//
14296// API parameter values that are decorated as "sensitive" in the API will not
14297// be included in the string output. The member name will be present, but the
14298// value will be replaced with "sensitive".
14299func (s StartReplayInput) String() string {
14300	return awsutil.Prettify(s)
14301}
14302
14303// GoString returns the string representation.
14304//
14305// API parameter values that are decorated as "sensitive" in the API will not
14306// be included in the string output. The member name will be present, but the
14307// value will be replaced with "sensitive".
14308func (s StartReplayInput) GoString() string {
14309	return s.String()
14310}
14311
14312// Validate inspects the fields of the type to determine if they are valid.
14313func (s *StartReplayInput) Validate() error {
14314	invalidParams := request.ErrInvalidParams{Context: "StartReplayInput"}
14315	if s.Destination == nil {
14316		invalidParams.Add(request.NewErrParamRequired("Destination"))
14317	}
14318	if s.EventEndTime == nil {
14319		invalidParams.Add(request.NewErrParamRequired("EventEndTime"))
14320	}
14321	if s.EventSourceArn == nil {
14322		invalidParams.Add(request.NewErrParamRequired("EventSourceArn"))
14323	}
14324	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
14325		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
14326	}
14327	if s.EventStartTime == nil {
14328		invalidParams.Add(request.NewErrParamRequired("EventStartTime"))
14329	}
14330	if s.ReplayName == nil {
14331		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
14332	}
14333	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
14334		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
14335	}
14336	if s.Destination != nil {
14337		if err := s.Destination.Validate(); err != nil {
14338			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
14339		}
14340	}
14341
14342	if invalidParams.Len() > 0 {
14343		return invalidParams
14344	}
14345	return nil
14346}
14347
14348// SetDescription sets the Description field's value.
14349func (s *StartReplayInput) SetDescription(v string) *StartReplayInput {
14350	s.Description = &v
14351	return s
14352}
14353
14354// SetDestination sets the Destination field's value.
14355func (s *StartReplayInput) SetDestination(v *ReplayDestination) *StartReplayInput {
14356	s.Destination = v
14357	return s
14358}
14359
14360// SetEventEndTime sets the EventEndTime field's value.
14361func (s *StartReplayInput) SetEventEndTime(v time.Time) *StartReplayInput {
14362	s.EventEndTime = &v
14363	return s
14364}
14365
14366// SetEventSourceArn sets the EventSourceArn field's value.
14367func (s *StartReplayInput) SetEventSourceArn(v string) *StartReplayInput {
14368	s.EventSourceArn = &v
14369	return s
14370}
14371
14372// SetEventStartTime sets the EventStartTime field's value.
14373func (s *StartReplayInput) SetEventStartTime(v time.Time) *StartReplayInput {
14374	s.EventStartTime = &v
14375	return s
14376}
14377
14378// SetReplayName sets the ReplayName field's value.
14379func (s *StartReplayInput) SetReplayName(v string) *StartReplayInput {
14380	s.ReplayName = &v
14381	return s
14382}
14383
14384type StartReplayOutput struct {
14385	_ struct{} `type:"structure"`
14386
14387	// The ARN of the replay.
14388	ReplayArn *string `min:"1" type:"string"`
14389
14390	// The time at which the replay started.
14391	ReplayStartTime *time.Time `type:"timestamp"`
14392
14393	// The state of the replay.
14394	State *string `type:"string" enum:"ReplayState"`
14395
14396	// The reason that the replay is in the state.
14397	StateReason *string `type:"string"`
14398}
14399
14400// String returns the string representation.
14401//
14402// API parameter values that are decorated as "sensitive" in the API will not
14403// be included in the string output. The member name will be present, but the
14404// value will be replaced with "sensitive".
14405func (s StartReplayOutput) String() string {
14406	return awsutil.Prettify(s)
14407}
14408
14409// GoString returns the string representation.
14410//
14411// API parameter values that are decorated as "sensitive" in the API will not
14412// be included in the string output. The member name will be present, but the
14413// value will be replaced with "sensitive".
14414func (s StartReplayOutput) GoString() string {
14415	return s.String()
14416}
14417
14418// SetReplayArn sets the ReplayArn field's value.
14419func (s *StartReplayOutput) SetReplayArn(v string) *StartReplayOutput {
14420	s.ReplayArn = &v
14421	return s
14422}
14423
14424// SetReplayStartTime sets the ReplayStartTime field's value.
14425func (s *StartReplayOutput) SetReplayStartTime(v time.Time) *StartReplayOutput {
14426	s.ReplayStartTime = &v
14427	return s
14428}
14429
14430// SetState sets the State field's value.
14431func (s *StartReplayOutput) SetState(v string) *StartReplayOutput {
14432	s.State = &v
14433	return s
14434}
14435
14436// SetStateReason sets the StateReason field's value.
14437func (s *StartReplayOutput) SetStateReason(v string) *StartReplayOutput {
14438	s.StateReason = &v
14439	return s
14440}
14441
14442// A key-value pair associated with an Amazon Web Services resource. In EventBridge,
14443// rules and event buses support tagging.
14444type Tag struct {
14445	_ struct{} `type:"structure"`
14446
14447	// A string you can use to assign a value. The combination of tag keys and values
14448	// can help you organize and categorize your resources.
14449	//
14450	// Key is a required field
14451	Key *string `min:"1" type:"string" required:"true"`
14452
14453	// The value for the specified tag key.
14454	//
14455	// Value is a required field
14456	Value *string `type:"string" required:"true"`
14457}
14458
14459// String returns the string representation.
14460//
14461// API parameter values that are decorated as "sensitive" in the API will not
14462// be included in the string output. The member name will be present, but the
14463// value will be replaced with "sensitive".
14464func (s Tag) String() string {
14465	return awsutil.Prettify(s)
14466}
14467
14468// GoString returns the string representation.
14469//
14470// API parameter values that are decorated as "sensitive" in the API will not
14471// be included in the string output. The member name will be present, but the
14472// value will be replaced with "sensitive".
14473func (s Tag) GoString() string {
14474	return s.String()
14475}
14476
14477// Validate inspects the fields of the type to determine if they are valid.
14478func (s *Tag) Validate() error {
14479	invalidParams := request.ErrInvalidParams{Context: "Tag"}
14480	if s.Key == nil {
14481		invalidParams.Add(request.NewErrParamRequired("Key"))
14482	}
14483	if s.Key != nil && len(*s.Key) < 1 {
14484		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14485	}
14486	if s.Value == nil {
14487		invalidParams.Add(request.NewErrParamRequired("Value"))
14488	}
14489
14490	if invalidParams.Len() > 0 {
14491		return invalidParams
14492	}
14493	return nil
14494}
14495
14496// SetKey sets the Key field's value.
14497func (s *Tag) SetKey(v string) *Tag {
14498	s.Key = &v
14499	return s
14500}
14501
14502// SetValue sets the Value field's value.
14503func (s *Tag) SetValue(v string) *Tag {
14504	s.Value = &v
14505	return s
14506}
14507
14508type TagResourceInput struct {
14509	_ struct{} `type:"structure"`
14510
14511	// The ARN of the EventBridge resource that you're adding tags to.
14512	//
14513	// ResourceARN is a required field
14514	ResourceARN *string `min:"1" type:"string" required:"true"`
14515
14516	// The list of key-value pairs to associate with the resource.
14517	//
14518	// Tags is a required field
14519	Tags []*Tag `type:"list" required:"true"`
14520}
14521
14522// String returns the string representation.
14523//
14524// API parameter values that are decorated as "sensitive" in the API will not
14525// be included in the string output. The member name will be present, but the
14526// value will be replaced with "sensitive".
14527func (s TagResourceInput) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation.
14532//
14533// API parameter values that are decorated as "sensitive" in the API will not
14534// be included in the string output. The member name will be present, but the
14535// value will be replaced with "sensitive".
14536func (s TagResourceInput) GoString() string {
14537	return s.String()
14538}
14539
14540// Validate inspects the fields of the type to determine if they are valid.
14541func (s *TagResourceInput) Validate() error {
14542	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
14543	if s.ResourceARN == nil {
14544		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
14545	}
14546	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
14547		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
14548	}
14549	if s.Tags == nil {
14550		invalidParams.Add(request.NewErrParamRequired("Tags"))
14551	}
14552	if s.Tags != nil {
14553		for i, v := range s.Tags {
14554			if v == nil {
14555				continue
14556			}
14557			if err := v.Validate(); err != nil {
14558				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
14559			}
14560		}
14561	}
14562
14563	if invalidParams.Len() > 0 {
14564		return invalidParams
14565	}
14566	return nil
14567}
14568
14569// SetResourceARN sets the ResourceARN field's value.
14570func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
14571	s.ResourceARN = &v
14572	return s
14573}
14574
14575// SetTags sets the Tags field's value.
14576func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
14577	s.Tags = v
14578	return s
14579}
14580
14581type TagResourceOutput struct {
14582	_ struct{} `type:"structure"`
14583}
14584
14585// String returns the string representation.
14586//
14587// API parameter values that are decorated as "sensitive" in the API will not
14588// be included in the string output. The member name will be present, but the
14589// value will be replaced with "sensitive".
14590func (s TagResourceOutput) String() string {
14591	return awsutil.Prettify(s)
14592}
14593
14594// GoString returns the string representation.
14595//
14596// API parameter values that are decorated as "sensitive" in the API will not
14597// be included in the string output. The member name will be present, but the
14598// value will be replaced with "sensitive".
14599func (s TagResourceOutput) GoString() string {
14600	return s.String()
14601}
14602
14603// Targets are the resources to be invoked when a rule is triggered. For a complete
14604// list of services and resources that can be set as a target, see PutTargets
14605// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html).
14606//
14607// If you are setting the event bus of another account as the target, and that
14608// account granted permission to your account through an organization instead
14609// of directly by the account ID, then you must specify a RoleArn with proper
14610// permissions in the Target structure. For more information, see Sending and
14611// Receiving Events Between Amazon Web Services Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
14612// in the Amazon EventBridge User Guide.
14613type Target struct {
14614	_ struct{} `type:"structure"`
14615
14616	// The Amazon Resource Name (ARN) of the target.
14617	//
14618	// Arn is a required field
14619	Arn *string `min:"1" type:"string" required:"true"`
14620
14621	// If the event target is an Batch job, this contains the job definition, job
14622	// name, and other parameters. For more information, see Jobs (https://docs.aws.amazon.com/batch/latest/userguide/jobs.html)
14623	// in the Batch User Guide.
14624	BatchParameters *BatchParameters `type:"structure"`
14625
14626	// The DeadLetterConfig that defines the target queue to send dead-letter queue
14627	// events to.
14628	DeadLetterConfig *DeadLetterConfig `type:"structure"`
14629
14630	// Contains the Amazon ECS task definition and task count to be used, if the
14631	// event target is an Amazon ECS task. For more information about Amazon ECS
14632	// tasks, see Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
14633	// in the Amazon EC2 Container Service Developer Guide.
14634	EcsParameters *EcsParameters `type:"structure"`
14635
14636	// Contains the HTTP parameters to use when the target is a API Gateway REST
14637	// endpoint or EventBridge ApiDestination.
14638	//
14639	// If you specify an API Gateway REST API or EventBridge ApiDestination as a
14640	// target, you can use this parameter to specify headers, path parameters, and
14641	// query string keys/values as part of your target invoking request. If you're
14642	// using ApiDestinations, the corresponding Connection can also have these values
14643	// configured. In case of any conflicting keys, values from the Connection take
14644	// precedence.
14645	HttpParameters *HttpParameters `type:"structure"`
14646
14647	// The ID of the target. We recommend using a memorable and unique string.
14648	//
14649	// Id is a required field
14650	Id *string `min:"1" type:"string" required:"true"`
14651
14652	// Valid JSON text passed to the target. In this case, nothing from the event
14653	// itself is passed to the target. For more information, see The JavaScript
14654	// Object Notation (JSON) Data Interchange Format (http://www.rfc-editor.org/rfc/rfc7159.txt).
14655	Input *string `type:"string"`
14656
14657	// The value of the JSONPath that is used for extracting part of the matched
14658	// event when passing it to the target. You must use JSON dot notation, not
14659	// bracket notation. For more information about JSON paths, see JSONPath (http://goessner.net/articles/JsonPath/).
14660	InputPath *string `type:"string"`
14661
14662	// Settings to enable you to provide custom input to a target based on certain
14663	// event data. You can extract one or more key-value pairs from the event and
14664	// then use that data to send customized input to the target.
14665	InputTransformer *InputTransformer `type:"structure"`
14666
14667	// The custom parameter you can use to control the shard assignment, when the
14668	// target is a Kinesis data stream. If you do not include this parameter, the
14669	// default is to use the eventId as the partition key.
14670	KinesisParameters *KinesisParameters `type:"structure"`
14671
14672	// Contains the Amazon Redshift Data API parameters to use when the target is
14673	// a Amazon Redshift cluster.
14674	//
14675	// If you specify a Amazon Redshift Cluster as a Target, you can use this to
14676	// specify parameters to invoke the Amazon Redshift Data API ExecuteStatement
14677	// based on EventBridge events.
14678	RedshiftDataParameters *RedshiftDataParameters `type:"structure"`
14679
14680	// The RetryPolicy object that contains the retry policy configuration to use
14681	// for the dead-letter queue.
14682	RetryPolicy *RetryPolicy `type:"structure"`
14683
14684	// The Amazon Resource Name (ARN) of the IAM role to be used for this target
14685	// when the rule is triggered. If one rule triggers multiple targets, you can
14686	// use a different IAM role for each target.
14687	RoleArn *string `min:"1" type:"string"`
14688
14689	// Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
14690	RunCommandParameters *RunCommandParameters `type:"structure"`
14691
14692	// Contains the SageMaker Model Building Pipeline parameters to start execution
14693	// of a SageMaker Model Building Pipeline.
14694	//
14695	// If you specify a SageMaker Model Building Pipeline as a target, you can use
14696	// this to specify parameters to start a pipeline execution based on EventBridge
14697	// events.
14698	SageMakerPipelineParameters *SageMakerPipelineParameters `type:"structure"`
14699
14700	// Contains the message group ID to use when the target is a FIFO queue.
14701	//
14702	// If you specify an SQS FIFO queue as a target, the queue must have content-based
14703	// deduplication enabled.
14704	SqsParameters *SqsParameters `type:"structure"`
14705}
14706
14707// String returns the string representation.
14708//
14709// API parameter values that are decorated as "sensitive" in the API will not
14710// be included in the string output. The member name will be present, but the
14711// value will be replaced with "sensitive".
14712func (s Target) String() string {
14713	return awsutil.Prettify(s)
14714}
14715
14716// GoString returns the string representation.
14717//
14718// API parameter values that are decorated as "sensitive" in the API will not
14719// be included in the string output. The member name will be present, but the
14720// value will be replaced with "sensitive".
14721func (s Target) GoString() string {
14722	return s.String()
14723}
14724
14725// Validate inspects the fields of the type to determine if they are valid.
14726func (s *Target) Validate() error {
14727	invalidParams := request.ErrInvalidParams{Context: "Target"}
14728	if s.Arn == nil {
14729		invalidParams.Add(request.NewErrParamRequired("Arn"))
14730	}
14731	if s.Arn != nil && len(*s.Arn) < 1 {
14732		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
14733	}
14734	if s.Id == nil {
14735		invalidParams.Add(request.NewErrParamRequired("Id"))
14736	}
14737	if s.Id != nil && len(*s.Id) < 1 {
14738		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14739	}
14740	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
14741		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
14742	}
14743	if s.BatchParameters != nil {
14744		if err := s.BatchParameters.Validate(); err != nil {
14745			invalidParams.AddNested("BatchParameters", err.(request.ErrInvalidParams))
14746		}
14747	}
14748	if s.DeadLetterConfig != nil {
14749		if err := s.DeadLetterConfig.Validate(); err != nil {
14750			invalidParams.AddNested("DeadLetterConfig", err.(request.ErrInvalidParams))
14751		}
14752	}
14753	if s.EcsParameters != nil {
14754		if err := s.EcsParameters.Validate(); err != nil {
14755			invalidParams.AddNested("EcsParameters", err.(request.ErrInvalidParams))
14756		}
14757	}
14758	if s.InputTransformer != nil {
14759		if err := s.InputTransformer.Validate(); err != nil {
14760			invalidParams.AddNested("InputTransformer", err.(request.ErrInvalidParams))
14761		}
14762	}
14763	if s.KinesisParameters != nil {
14764		if err := s.KinesisParameters.Validate(); err != nil {
14765			invalidParams.AddNested("KinesisParameters", err.(request.ErrInvalidParams))
14766		}
14767	}
14768	if s.RedshiftDataParameters != nil {
14769		if err := s.RedshiftDataParameters.Validate(); err != nil {
14770			invalidParams.AddNested("RedshiftDataParameters", err.(request.ErrInvalidParams))
14771		}
14772	}
14773	if s.RetryPolicy != nil {
14774		if err := s.RetryPolicy.Validate(); err != nil {
14775			invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams))
14776		}
14777	}
14778	if s.RunCommandParameters != nil {
14779		if err := s.RunCommandParameters.Validate(); err != nil {
14780			invalidParams.AddNested("RunCommandParameters", err.(request.ErrInvalidParams))
14781		}
14782	}
14783	if s.SageMakerPipelineParameters != nil {
14784		if err := s.SageMakerPipelineParameters.Validate(); err != nil {
14785			invalidParams.AddNested("SageMakerPipelineParameters", err.(request.ErrInvalidParams))
14786		}
14787	}
14788
14789	if invalidParams.Len() > 0 {
14790		return invalidParams
14791	}
14792	return nil
14793}
14794
14795// SetArn sets the Arn field's value.
14796func (s *Target) SetArn(v string) *Target {
14797	s.Arn = &v
14798	return s
14799}
14800
14801// SetBatchParameters sets the BatchParameters field's value.
14802func (s *Target) SetBatchParameters(v *BatchParameters) *Target {
14803	s.BatchParameters = v
14804	return s
14805}
14806
14807// SetDeadLetterConfig sets the DeadLetterConfig field's value.
14808func (s *Target) SetDeadLetterConfig(v *DeadLetterConfig) *Target {
14809	s.DeadLetterConfig = v
14810	return s
14811}
14812
14813// SetEcsParameters sets the EcsParameters field's value.
14814func (s *Target) SetEcsParameters(v *EcsParameters) *Target {
14815	s.EcsParameters = v
14816	return s
14817}
14818
14819// SetHttpParameters sets the HttpParameters field's value.
14820func (s *Target) SetHttpParameters(v *HttpParameters) *Target {
14821	s.HttpParameters = v
14822	return s
14823}
14824
14825// SetId sets the Id field's value.
14826func (s *Target) SetId(v string) *Target {
14827	s.Id = &v
14828	return s
14829}
14830
14831// SetInput sets the Input field's value.
14832func (s *Target) SetInput(v string) *Target {
14833	s.Input = &v
14834	return s
14835}
14836
14837// SetInputPath sets the InputPath field's value.
14838func (s *Target) SetInputPath(v string) *Target {
14839	s.InputPath = &v
14840	return s
14841}
14842
14843// SetInputTransformer sets the InputTransformer field's value.
14844func (s *Target) SetInputTransformer(v *InputTransformer) *Target {
14845	s.InputTransformer = v
14846	return s
14847}
14848
14849// SetKinesisParameters sets the KinesisParameters field's value.
14850func (s *Target) SetKinesisParameters(v *KinesisParameters) *Target {
14851	s.KinesisParameters = v
14852	return s
14853}
14854
14855// SetRedshiftDataParameters sets the RedshiftDataParameters field's value.
14856func (s *Target) SetRedshiftDataParameters(v *RedshiftDataParameters) *Target {
14857	s.RedshiftDataParameters = v
14858	return s
14859}
14860
14861// SetRetryPolicy sets the RetryPolicy field's value.
14862func (s *Target) SetRetryPolicy(v *RetryPolicy) *Target {
14863	s.RetryPolicy = v
14864	return s
14865}
14866
14867// SetRoleArn sets the RoleArn field's value.
14868func (s *Target) SetRoleArn(v string) *Target {
14869	s.RoleArn = &v
14870	return s
14871}
14872
14873// SetRunCommandParameters sets the RunCommandParameters field's value.
14874func (s *Target) SetRunCommandParameters(v *RunCommandParameters) *Target {
14875	s.RunCommandParameters = v
14876	return s
14877}
14878
14879// SetSageMakerPipelineParameters sets the SageMakerPipelineParameters field's value.
14880func (s *Target) SetSageMakerPipelineParameters(v *SageMakerPipelineParameters) *Target {
14881	s.SageMakerPipelineParameters = v
14882	return s
14883}
14884
14885// SetSqsParameters sets the SqsParameters field's value.
14886func (s *Target) SetSqsParameters(v *SqsParameters) *Target {
14887	s.SqsParameters = v
14888	return s
14889}
14890
14891type TestEventPatternInput struct {
14892	_ struct{} `type:"structure"`
14893
14894	// The event, in JSON format, to test against the event pattern. The JSON must
14895	// follow the format specified in Amazon Web Services Events (https://docs.aws.amazon.com/eventbridge/latest/userguide/aws-events.html),
14896	// and the following fields are mandatory:
14897	//
14898	//    * id
14899	//
14900	//    * account
14901	//
14902	//    * source
14903	//
14904	//    * time
14905	//
14906	//    * region
14907	//
14908	//    * resources
14909	//
14910	//    * detail-type
14911	//
14912	// Event is a required field
14913	Event *string `type:"string" required:"true"`
14914
14915	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
14916	// in the Amazon EventBridge User Guide.
14917	//
14918	// EventPattern is a required field
14919	EventPattern *string `type:"string" required:"true"`
14920}
14921
14922// String returns the string representation.
14923//
14924// API parameter values that are decorated as "sensitive" in the API will not
14925// be included in the string output. The member name will be present, but the
14926// value will be replaced with "sensitive".
14927func (s TestEventPatternInput) String() string {
14928	return awsutil.Prettify(s)
14929}
14930
14931// GoString returns the string representation.
14932//
14933// API parameter values that are decorated as "sensitive" in the API will not
14934// be included in the string output. The member name will be present, but the
14935// value will be replaced with "sensitive".
14936func (s TestEventPatternInput) GoString() string {
14937	return s.String()
14938}
14939
14940// Validate inspects the fields of the type to determine if they are valid.
14941func (s *TestEventPatternInput) Validate() error {
14942	invalidParams := request.ErrInvalidParams{Context: "TestEventPatternInput"}
14943	if s.Event == nil {
14944		invalidParams.Add(request.NewErrParamRequired("Event"))
14945	}
14946	if s.EventPattern == nil {
14947		invalidParams.Add(request.NewErrParamRequired("EventPattern"))
14948	}
14949
14950	if invalidParams.Len() > 0 {
14951		return invalidParams
14952	}
14953	return nil
14954}
14955
14956// SetEvent sets the Event field's value.
14957func (s *TestEventPatternInput) SetEvent(v string) *TestEventPatternInput {
14958	s.Event = &v
14959	return s
14960}
14961
14962// SetEventPattern sets the EventPattern field's value.
14963func (s *TestEventPatternInput) SetEventPattern(v string) *TestEventPatternInput {
14964	s.EventPattern = &v
14965	return s
14966}
14967
14968type TestEventPatternOutput struct {
14969	_ struct{} `type:"structure"`
14970
14971	// Indicates whether the event matches the event pattern.
14972	Result *bool `type:"boolean"`
14973}
14974
14975// String returns the string representation.
14976//
14977// API parameter values that are decorated as "sensitive" in the API will not
14978// be included in the string output. The member name will be present, but the
14979// value will be replaced with "sensitive".
14980func (s TestEventPatternOutput) String() string {
14981	return awsutil.Prettify(s)
14982}
14983
14984// GoString returns the string representation.
14985//
14986// API parameter values that are decorated as "sensitive" in the API will not
14987// be included in the string output. The member name will be present, but the
14988// value will be replaced with "sensitive".
14989func (s TestEventPatternOutput) GoString() string {
14990	return s.String()
14991}
14992
14993// SetResult sets the Result field's value.
14994func (s *TestEventPatternOutput) SetResult(v bool) *TestEventPatternOutput {
14995	s.Result = &v
14996	return s
14997}
14998
14999type UntagResourceInput struct {
15000	_ struct{} `type:"structure"`
15001
15002	// The ARN of the EventBridge resource from which you are removing tags.
15003	//
15004	// ResourceARN is a required field
15005	ResourceARN *string `min:"1" type:"string" required:"true"`
15006
15007	// The list of tag keys to remove from the resource.
15008	//
15009	// TagKeys is a required field
15010	TagKeys []*string `type:"list" required:"true"`
15011}
15012
15013// String returns the string representation.
15014//
15015// API parameter values that are decorated as "sensitive" in the API will not
15016// be included in the string output. The member name will be present, but the
15017// value will be replaced with "sensitive".
15018func (s UntagResourceInput) String() string {
15019	return awsutil.Prettify(s)
15020}
15021
15022// GoString returns the string representation.
15023//
15024// API parameter values that are decorated as "sensitive" in the API will not
15025// be included in the string output. The member name will be present, but the
15026// value will be replaced with "sensitive".
15027func (s UntagResourceInput) GoString() string {
15028	return s.String()
15029}
15030
15031// Validate inspects the fields of the type to determine if they are valid.
15032func (s *UntagResourceInput) Validate() error {
15033	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15034	if s.ResourceARN == nil {
15035		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
15036	}
15037	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
15038		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
15039	}
15040	if s.TagKeys == nil {
15041		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15042	}
15043
15044	if invalidParams.Len() > 0 {
15045		return invalidParams
15046	}
15047	return nil
15048}
15049
15050// SetResourceARN sets the ResourceARN field's value.
15051func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
15052	s.ResourceARN = &v
15053	return s
15054}
15055
15056// SetTagKeys sets the TagKeys field's value.
15057func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15058	s.TagKeys = v
15059	return s
15060}
15061
15062type UntagResourceOutput struct {
15063	_ struct{} `type:"structure"`
15064}
15065
15066// String returns the string representation.
15067//
15068// API parameter values that are decorated as "sensitive" in the API will not
15069// be included in the string output. The member name will be present, but the
15070// value will be replaced with "sensitive".
15071func (s UntagResourceOutput) String() string {
15072	return awsutil.Prettify(s)
15073}
15074
15075// GoString returns the string representation.
15076//
15077// API parameter values that are decorated as "sensitive" in the API will not
15078// be included in the string output. The member name will be present, but the
15079// value will be replaced with "sensitive".
15080func (s UntagResourceOutput) GoString() string {
15081	return s.String()
15082}
15083
15084type UpdateApiDestinationInput struct {
15085	_ struct{} `type:"structure"`
15086
15087	// The ARN of the connection to use for the API destination.
15088	ConnectionArn *string `min:"1" type:"string"`
15089
15090	// The name of the API destination to update.
15091	Description *string `type:"string"`
15092
15093	// The method to use for the API destination.
15094	HttpMethod *string `type:"string" enum:"ApiDestinationHttpMethod"`
15095
15096	// The URL to the endpoint to use for the API destination.
15097	InvocationEndpoint *string `min:"1" type:"string"`
15098
15099	// The maximum number of invocations per second to send to the API destination.
15100	InvocationRateLimitPerSecond *int64 `min:"1" type:"integer"`
15101
15102	// The name of the API destination to update.
15103	//
15104	// Name is a required field
15105	Name *string `min:"1" type:"string" required:"true"`
15106}
15107
15108// String returns the string representation.
15109//
15110// API parameter values that are decorated as "sensitive" in the API will not
15111// be included in the string output. The member name will be present, but the
15112// value will be replaced with "sensitive".
15113func (s UpdateApiDestinationInput) String() string {
15114	return awsutil.Prettify(s)
15115}
15116
15117// GoString returns the string representation.
15118//
15119// API parameter values that are decorated as "sensitive" in the API will not
15120// be included in the string output. The member name will be present, but the
15121// value will be replaced with "sensitive".
15122func (s UpdateApiDestinationInput) GoString() string {
15123	return s.String()
15124}
15125
15126// Validate inspects the fields of the type to determine if they are valid.
15127func (s *UpdateApiDestinationInput) Validate() error {
15128	invalidParams := request.ErrInvalidParams{Context: "UpdateApiDestinationInput"}
15129	if s.ConnectionArn != nil && len(*s.ConnectionArn) < 1 {
15130		invalidParams.Add(request.NewErrParamMinLen("ConnectionArn", 1))
15131	}
15132	if s.InvocationEndpoint != nil && len(*s.InvocationEndpoint) < 1 {
15133		invalidParams.Add(request.NewErrParamMinLen("InvocationEndpoint", 1))
15134	}
15135	if s.InvocationRateLimitPerSecond != nil && *s.InvocationRateLimitPerSecond < 1 {
15136		invalidParams.Add(request.NewErrParamMinValue("InvocationRateLimitPerSecond", 1))
15137	}
15138	if s.Name == nil {
15139		invalidParams.Add(request.NewErrParamRequired("Name"))
15140	}
15141	if s.Name != nil && len(*s.Name) < 1 {
15142		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
15143	}
15144
15145	if invalidParams.Len() > 0 {
15146		return invalidParams
15147	}
15148	return nil
15149}
15150
15151// SetConnectionArn sets the ConnectionArn field's value.
15152func (s *UpdateApiDestinationInput) SetConnectionArn(v string) *UpdateApiDestinationInput {
15153	s.ConnectionArn = &v
15154	return s
15155}
15156
15157// SetDescription sets the Description field's value.
15158func (s *UpdateApiDestinationInput) SetDescription(v string) *UpdateApiDestinationInput {
15159	s.Description = &v
15160	return s
15161}
15162
15163// SetHttpMethod sets the HttpMethod field's value.
15164func (s *UpdateApiDestinationInput) SetHttpMethod(v string) *UpdateApiDestinationInput {
15165	s.HttpMethod = &v
15166	return s
15167}
15168
15169// SetInvocationEndpoint sets the InvocationEndpoint field's value.
15170func (s *UpdateApiDestinationInput) SetInvocationEndpoint(v string) *UpdateApiDestinationInput {
15171	s.InvocationEndpoint = &v
15172	return s
15173}
15174
15175// SetInvocationRateLimitPerSecond sets the InvocationRateLimitPerSecond field's value.
15176func (s *UpdateApiDestinationInput) SetInvocationRateLimitPerSecond(v int64) *UpdateApiDestinationInput {
15177	s.InvocationRateLimitPerSecond = &v
15178	return s
15179}
15180
15181// SetName sets the Name field's value.
15182func (s *UpdateApiDestinationInput) SetName(v string) *UpdateApiDestinationInput {
15183	s.Name = &v
15184	return s
15185}
15186
15187type UpdateApiDestinationOutput struct {
15188	_ struct{} `type:"structure"`
15189
15190	// The ARN of the API destination that was updated.
15191	ApiDestinationArn *string `min:"1" type:"string"`
15192
15193	// The state of the API destination that was updated.
15194	ApiDestinationState *string `type:"string" enum:"ApiDestinationState"`
15195
15196	// A time stamp for the time that the API destination was created.
15197	CreationTime *time.Time `type:"timestamp"`
15198
15199	// A time stamp for the time that the API destination was last modified.
15200	LastModifiedTime *time.Time `type:"timestamp"`
15201}
15202
15203// String returns the string representation.
15204//
15205// API parameter values that are decorated as "sensitive" in the API will not
15206// be included in the string output. The member name will be present, but the
15207// value will be replaced with "sensitive".
15208func (s UpdateApiDestinationOutput) String() string {
15209	return awsutil.Prettify(s)
15210}
15211
15212// GoString returns the string representation.
15213//
15214// API parameter values that are decorated as "sensitive" in the API will not
15215// be included in the string output. The member name will be present, but the
15216// value will be replaced with "sensitive".
15217func (s UpdateApiDestinationOutput) GoString() string {
15218	return s.String()
15219}
15220
15221// SetApiDestinationArn sets the ApiDestinationArn field's value.
15222func (s *UpdateApiDestinationOutput) SetApiDestinationArn(v string) *UpdateApiDestinationOutput {
15223	s.ApiDestinationArn = &v
15224	return s
15225}
15226
15227// SetApiDestinationState sets the ApiDestinationState field's value.
15228func (s *UpdateApiDestinationOutput) SetApiDestinationState(v string) *UpdateApiDestinationOutput {
15229	s.ApiDestinationState = &v
15230	return s
15231}
15232
15233// SetCreationTime sets the CreationTime field's value.
15234func (s *UpdateApiDestinationOutput) SetCreationTime(v time.Time) *UpdateApiDestinationOutput {
15235	s.CreationTime = &v
15236	return s
15237}
15238
15239// SetLastModifiedTime sets the LastModifiedTime field's value.
15240func (s *UpdateApiDestinationOutput) SetLastModifiedTime(v time.Time) *UpdateApiDestinationOutput {
15241	s.LastModifiedTime = &v
15242	return s
15243}
15244
15245type UpdateArchiveInput struct {
15246	_ struct{} `type:"structure"`
15247
15248	// The name of the archive to update.
15249	//
15250	// ArchiveName is a required field
15251	ArchiveName *string `min:"1" type:"string" required:"true"`
15252
15253	// The description for the archive.
15254	Description *string `type:"string"`
15255
15256	// The event pattern to use to filter events sent to the archive.
15257	EventPattern *string `type:"string"`
15258
15259	// The number of days to retain events in the archive.
15260	RetentionDays *int64 `type:"integer"`
15261}
15262
15263// String returns the string representation.
15264//
15265// API parameter values that are decorated as "sensitive" in the API will not
15266// be included in the string output. The member name will be present, but the
15267// value will be replaced with "sensitive".
15268func (s UpdateArchiveInput) String() string {
15269	return awsutil.Prettify(s)
15270}
15271
15272// GoString returns the string representation.
15273//
15274// API parameter values that are decorated as "sensitive" in the API will not
15275// be included in the string output. The member name will be present, but the
15276// value will be replaced with "sensitive".
15277func (s UpdateArchiveInput) GoString() string {
15278	return s.String()
15279}
15280
15281// Validate inspects the fields of the type to determine if they are valid.
15282func (s *UpdateArchiveInput) Validate() error {
15283	invalidParams := request.ErrInvalidParams{Context: "UpdateArchiveInput"}
15284	if s.ArchiveName == nil {
15285		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
15286	}
15287	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
15288		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
15289	}
15290
15291	if invalidParams.Len() > 0 {
15292		return invalidParams
15293	}
15294	return nil
15295}
15296
15297// SetArchiveName sets the ArchiveName field's value.
15298func (s *UpdateArchiveInput) SetArchiveName(v string) *UpdateArchiveInput {
15299	s.ArchiveName = &v
15300	return s
15301}
15302
15303// SetDescription sets the Description field's value.
15304func (s *UpdateArchiveInput) SetDescription(v string) *UpdateArchiveInput {
15305	s.Description = &v
15306	return s
15307}
15308
15309// SetEventPattern sets the EventPattern field's value.
15310func (s *UpdateArchiveInput) SetEventPattern(v string) *UpdateArchiveInput {
15311	s.EventPattern = &v
15312	return s
15313}
15314
15315// SetRetentionDays sets the RetentionDays field's value.
15316func (s *UpdateArchiveInput) SetRetentionDays(v int64) *UpdateArchiveInput {
15317	s.RetentionDays = &v
15318	return s
15319}
15320
15321type UpdateArchiveOutput struct {
15322	_ struct{} `type:"structure"`
15323
15324	// The ARN of the archive.
15325	ArchiveArn *string `min:"1" type:"string"`
15326
15327	// The time at which the archive was updated.
15328	CreationTime *time.Time `type:"timestamp"`
15329
15330	// The state of the archive.
15331	State *string `type:"string" enum:"ArchiveState"`
15332
15333	// The reason that the archive is in the current state.
15334	StateReason *string `type:"string"`
15335}
15336
15337// String returns the string representation.
15338//
15339// API parameter values that are decorated as "sensitive" in the API will not
15340// be included in the string output. The member name will be present, but the
15341// value will be replaced with "sensitive".
15342func (s UpdateArchiveOutput) String() string {
15343	return awsutil.Prettify(s)
15344}
15345
15346// GoString returns the string representation.
15347//
15348// API parameter values that are decorated as "sensitive" in the API will not
15349// be included in the string output. The member name will be present, but the
15350// value will be replaced with "sensitive".
15351func (s UpdateArchiveOutput) GoString() string {
15352	return s.String()
15353}
15354
15355// SetArchiveArn sets the ArchiveArn field's value.
15356func (s *UpdateArchiveOutput) SetArchiveArn(v string) *UpdateArchiveOutput {
15357	s.ArchiveArn = &v
15358	return s
15359}
15360
15361// SetCreationTime sets the CreationTime field's value.
15362func (s *UpdateArchiveOutput) SetCreationTime(v time.Time) *UpdateArchiveOutput {
15363	s.CreationTime = &v
15364	return s
15365}
15366
15367// SetState sets the State field's value.
15368func (s *UpdateArchiveOutput) SetState(v string) *UpdateArchiveOutput {
15369	s.State = &v
15370	return s
15371}
15372
15373// SetStateReason sets the StateReason field's value.
15374func (s *UpdateArchiveOutput) SetStateReason(v string) *UpdateArchiveOutput {
15375	s.StateReason = &v
15376	return s
15377}
15378
15379// Contains the API key authorization parameters to use to update the connection.
15380type UpdateConnectionApiKeyAuthRequestParameters struct {
15381	_ struct{} `type:"structure"`
15382
15383	// The name of the API key to use for authorization.
15384	ApiKeyName *string `min:"1" type:"string"`
15385
15386	// The value associated with teh API key to use for authorization.
15387	ApiKeyValue *string `min:"1" type:"string"`
15388}
15389
15390// String returns the string representation.
15391//
15392// API parameter values that are decorated as "sensitive" in the API will not
15393// be included in the string output. The member name will be present, but the
15394// value will be replaced with "sensitive".
15395func (s UpdateConnectionApiKeyAuthRequestParameters) String() string {
15396	return awsutil.Prettify(s)
15397}
15398
15399// GoString returns the string representation.
15400//
15401// API parameter values that are decorated as "sensitive" in the API will not
15402// be included in the string output. The member name will be present, but the
15403// value will be replaced with "sensitive".
15404func (s UpdateConnectionApiKeyAuthRequestParameters) GoString() string {
15405	return s.String()
15406}
15407
15408// Validate inspects the fields of the type to determine if they are valid.
15409func (s *UpdateConnectionApiKeyAuthRequestParameters) Validate() error {
15410	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionApiKeyAuthRequestParameters"}
15411	if s.ApiKeyName != nil && len(*s.ApiKeyName) < 1 {
15412		invalidParams.Add(request.NewErrParamMinLen("ApiKeyName", 1))
15413	}
15414	if s.ApiKeyValue != nil && len(*s.ApiKeyValue) < 1 {
15415		invalidParams.Add(request.NewErrParamMinLen("ApiKeyValue", 1))
15416	}
15417
15418	if invalidParams.Len() > 0 {
15419		return invalidParams
15420	}
15421	return nil
15422}
15423
15424// SetApiKeyName sets the ApiKeyName field's value.
15425func (s *UpdateConnectionApiKeyAuthRequestParameters) SetApiKeyName(v string) *UpdateConnectionApiKeyAuthRequestParameters {
15426	s.ApiKeyName = &v
15427	return s
15428}
15429
15430// SetApiKeyValue sets the ApiKeyValue field's value.
15431func (s *UpdateConnectionApiKeyAuthRequestParameters) SetApiKeyValue(v string) *UpdateConnectionApiKeyAuthRequestParameters {
15432	s.ApiKeyValue = &v
15433	return s
15434}
15435
15436// Contains the additional parameters to use for the connection.
15437type UpdateConnectionAuthRequestParameters struct {
15438	_ struct{} `type:"structure"`
15439
15440	// A UpdateConnectionApiKeyAuthRequestParameters object that contains the authorization
15441	// parameters for API key authorization.
15442	ApiKeyAuthParameters *UpdateConnectionApiKeyAuthRequestParameters `type:"structure"`
15443
15444	// A UpdateConnectionBasicAuthRequestParameters object that contains the authorization
15445	// parameters for Basic authorization.
15446	BasicAuthParameters *UpdateConnectionBasicAuthRequestParameters `type:"structure"`
15447
15448	// A ConnectionHttpParameters object that contains the additional parameters
15449	// to use for the connection.
15450	InvocationHttpParameters *ConnectionHttpParameters `type:"structure"`
15451
15452	// A UpdateConnectionOAuthRequestParameters object that contains the authorization
15453	// parameters for OAuth authorization.
15454	OAuthParameters *UpdateConnectionOAuthRequestParameters `type:"structure"`
15455}
15456
15457// String returns the string representation.
15458//
15459// API parameter values that are decorated as "sensitive" in the API will not
15460// be included in the string output. The member name will be present, but the
15461// value will be replaced with "sensitive".
15462func (s UpdateConnectionAuthRequestParameters) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation.
15467//
15468// API parameter values that are decorated as "sensitive" in the API will not
15469// be included in the string output. The member name will be present, but the
15470// value will be replaced with "sensitive".
15471func (s UpdateConnectionAuthRequestParameters) GoString() string {
15472	return s.String()
15473}
15474
15475// Validate inspects the fields of the type to determine if they are valid.
15476func (s *UpdateConnectionAuthRequestParameters) Validate() error {
15477	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionAuthRequestParameters"}
15478	if s.ApiKeyAuthParameters != nil {
15479		if err := s.ApiKeyAuthParameters.Validate(); err != nil {
15480			invalidParams.AddNested("ApiKeyAuthParameters", err.(request.ErrInvalidParams))
15481		}
15482	}
15483	if s.BasicAuthParameters != nil {
15484		if err := s.BasicAuthParameters.Validate(); err != nil {
15485			invalidParams.AddNested("BasicAuthParameters", err.(request.ErrInvalidParams))
15486		}
15487	}
15488	if s.OAuthParameters != nil {
15489		if err := s.OAuthParameters.Validate(); err != nil {
15490			invalidParams.AddNested("OAuthParameters", err.(request.ErrInvalidParams))
15491		}
15492	}
15493
15494	if invalidParams.Len() > 0 {
15495		return invalidParams
15496	}
15497	return nil
15498}
15499
15500// SetApiKeyAuthParameters sets the ApiKeyAuthParameters field's value.
15501func (s *UpdateConnectionAuthRequestParameters) SetApiKeyAuthParameters(v *UpdateConnectionApiKeyAuthRequestParameters) *UpdateConnectionAuthRequestParameters {
15502	s.ApiKeyAuthParameters = v
15503	return s
15504}
15505
15506// SetBasicAuthParameters sets the BasicAuthParameters field's value.
15507func (s *UpdateConnectionAuthRequestParameters) SetBasicAuthParameters(v *UpdateConnectionBasicAuthRequestParameters) *UpdateConnectionAuthRequestParameters {
15508	s.BasicAuthParameters = v
15509	return s
15510}
15511
15512// SetInvocationHttpParameters sets the InvocationHttpParameters field's value.
15513func (s *UpdateConnectionAuthRequestParameters) SetInvocationHttpParameters(v *ConnectionHttpParameters) *UpdateConnectionAuthRequestParameters {
15514	s.InvocationHttpParameters = v
15515	return s
15516}
15517
15518// SetOAuthParameters sets the OAuthParameters field's value.
15519func (s *UpdateConnectionAuthRequestParameters) SetOAuthParameters(v *UpdateConnectionOAuthRequestParameters) *UpdateConnectionAuthRequestParameters {
15520	s.OAuthParameters = v
15521	return s
15522}
15523
15524// Contains the Basic authorization parameters for the connection.
15525type UpdateConnectionBasicAuthRequestParameters struct {
15526	_ struct{} `type:"structure"`
15527
15528	// The password associated with the user name to use for Basic authorization.
15529	Password *string `min:"1" type:"string"`
15530
15531	// The user name to use for Basic authorization.
15532	Username *string `min:"1" type:"string"`
15533}
15534
15535// String returns the string representation.
15536//
15537// API parameter values that are decorated as "sensitive" in the API will not
15538// be included in the string output. The member name will be present, but the
15539// value will be replaced with "sensitive".
15540func (s UpdateConnectionBasicAuthRequestParameters) String() string {
15541	return awsutil.Prettify(s)
15542}
15543
15544// GoString returns the string representation.
15545//
15546// API parameter values that are decorated as "sensitive" in the API will not
15547// be included in the string output. The member name will be present, but the
15548// value will be replaced with "sensitive".
15549func (s UpdateConnectionBasicAuthRequestParameters) GoString() string {
15550	return s.String()
15551}
15552
15553// Validate inspects the fields of the type to determine if they are valid.
15554func (s *UpdateConnectionBasicAuthRequestParameters) Validate() error {
15555	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionBasicAuthRequestParameters"}
15556	if s.Password != nil && len(*s.Password) < 1 {
15557		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
15558	}
15559	if s.Username != nil && len(*s.Username) < 1 {
15560		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
15561	}
15562
15563	if invalidParams.Len() > 0 {
15564		return invalidParams
15565	}
15566	return nil
15567}
15568
15569// SetPassword sets the Password field's value.
15570func (s *UpdateConnectionBasicAuthRequestParameters) SetPassword(v string) *UpdateConnectionBasicAuthRequestParameters {
15571	s.Password = &v
15572	return s
15573}
15574
15575// SetUsername sets the Username field's value.
15576func (s *UpdateConnectionBasicAuthRequestParameters) SetUsername(v string) *UpdateConnectionBasicAuthRequestParameters {
15577	s.Username = &v
15578	return s
15579}
15580
15581type UpdateConnectionInput struct {
15582	_ struct{} `type:"structure"`
15583
15584	// The authorization parameters to use for the connection.
15585	AuthParameters *UpdateConnectionAuthRequestParameters `type:"structure"`
15586
15587	// The type of authorization to use for the connection.
15588	AuthorizationType *string `type:"string" enum:"ConnectionAuthorizationType"`
15589
15590	// A description for the connection.
15591	Description *string `type:"string"`
15592
15593	// The name of the connection to update.
15594	//
15595	// Name is a required field
15596	Name *string `min:"1" type:"string" required:"true"`
15597}
15598
15599// String returns the string representation.
15600//
15601// API parameter values that are decorated as "sensitive" in the API will not
15602// be included in the string output. The member name will be present, but the
15603// value will be replaced with "sensitive".
15604func (s UpdateConnectionInput) String() string {
15605	return awsutil.Prettify(s)
15606}
15607
15608// GoString returns the string representation.
15609//
15610// API parameter values that are decorated as "sensitive" in the API will not
15611// be included in the string output. The member name will be present, but the
15612// value will be replaced with "sensitive".
15613func (s UpdateConnectionInput) GoString() string {
15614	return s.String()
15615}
15616
15617// Validate inspects the fields of the type to determine if they are valid.
15618func (s *UpdateConnectionInput) Validate() error {
15619	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionInput"}
15620	if s.Name == nil {
15621		invalidParams.Add(request.NewErrParamRequired("Name"))
15622	}
15623	if s.Name != nil && len(*s.Name) < 1 {
15624		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
15625	}
15626	if s.AuthParameters != nil {
15627		if err := s.AuthParameters.Validate(); err != nil {
15628			invalidParams.AddNested("AuthParameters", err.(request.ErrInvalidParams))
15629		}
15630	}
15631
15632	if invalidParams.Len() > 0 {
15633		return invalidParams
15634	}
15635	return nil
15636}
15637
15638// SetAuthParameters sets the AuthParameters field's value.
15639func (s *UpdateConnectionInput) SetAuthParameters(v *UpdateConnectionAuthRequestParameters) *UpdateConnectionInput {
15640	s.AuthParameters = v
15641	return s
15642}
15643
15644// SetAuthorizationType sets the AuthorizationType field's value.
15645func (s *UpdateConnectionInput) SetAuthorizationType(v string) *UpdateConnectionInput {
15646	s.AuthorizationType = &v
15647	return s
15648}
15649
15650// SetDescription sets the Description field's value.
15651func (s *UpdateConnectionInput) SetDescription(v string) *UpdateConnectionInput {
15652	s.Description = &v
15653	return s
15654}
15655
15656// SetName sets the Name field's value.
15657func (s *UpdateConnectionInput) SetName(v string) *UpdateConnectionInput {
15658	s.Name = &v
15659	return s
15660}
15661
15662// Contains the OAuth authorization parameters to use for the connection.
15663type UpdateConnectionOAuthClientRequestParameters struct {
15664	_ struct{} `type:"structure"`
15665
15666	// The client ID to use for OAuth authorization.
15667	ClientID *string `min:"1" type:"string"`
15668
15669	// The client secret assciated with the client ID to use for OAuth authorization.
15670	ClientSecret *string `min:"1" type:"string"`
15671}
15672
15673// String returns the string representation.
15674//
15675// API parameter values that are decorated as "sensitive" in the API will not
15676// be included in the string output. The member name will be present, but the
15677// value will be replaced with "sensitive".
15678func (s UpdateConnectionOAuthClientRequestParameters) String() string {
15679	return awsutil.Prettify(s)
15680}
15681
15682// GoString returns the string representation.
15683//
15684// API parameter values that are decorated as "sensitive" in the API will not
15685// be included in the string output. The member name will be present, but the
15686// value will be replaced with "sensitive".
15687func (s UpdateConnectionOAuthClientRequestParameters) GoString() string {
15688	return s.String()
15689}
15690
15691// Validate inspects the fields of the type to determine if they are valid.
15692func (s *UpdateConnectionOAuthClientRequestParameters) Validate() error {
15693	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionOAuthClientRequestParameters"}
15694	if s.ClientID != nil && len(*s.ClientID) < 1 {
15695		invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
15696	}
15697	if s.ClientSecret != nil && len(*s.ClientSecret) < 1 {
15698		invalidParams.Add(request.NewErrParamMinLen("ClientSecret", 1))
15699	}
15700
15701	if invalidParams.Len() > 0 {
15702		return invalidParams
15703	}
15704	return nil
15705}
15706
15707// SetClientID sets the ClientID field's value.
15708func (s *UpdateConnectionOAuthClientRequestParameters) SetClientID(v string) *UpdateConnectionOAuthClientRequestParameters {
15709	s.ClientID = &v
15710	return s
15711}
15712
15713// SetClientSecret sets the ClientSecret field's value.
15714func (s *UpdateConnectionOAuthClientRequestParameters) SetClientSecret(v string) *UpdateConnectionOAuthClientRequestParameters {
15715	s.ClientSecret = &v
15716	return s
15717}
15718
15719// Contains the OAuth request parameters to use for the connection.
15720type UpdateConnectionOAuthRequestParameters struct {
15721	_ struct{} `type:"structure"`
15722
15723	// The URL to the authorization endpoint when OAuth is specified as the authorization
15724	// type.
15725	AuthorizationEndpoint *string `min:"1" type:"string"`
15726
15727	// A UpdateConnectionOAuthClientRequestParameters object that contains the client
15728	// parameters to use for the connection when OAuth is specified as the authorization
15729	// type.
15730	ClientParameters *UpdateConnectionOAuthClientRequestParameters `type:"structure"`
15731
15732	// The method used to connect to the HTTP endpoint.
15733	HttpMethod *string `type:"string" enum:"ConnectionOAuthHttpMethod"`
15734
15735	// The additional HTTP parameters used for the OAuth authorization request.
15736	OAuthHttpParameters *ConnectionHttpParameters `type:"structure"`
15737}
15738
15739// String returns the string representation.
15740//
15741// API parameter values that are decorated as "sensitive" in the API will not
15742// be included in the string output. The member name will be present, but the
15743// value will be replaced with "sensitive".
15744func (s UpdateConnectionOAuthRequestParameters) String() string {
15745	return awsutil.Prettify(s)
15746}
15747
15748// GoString returns the string representation.
15749//
15750// API parameter values that are decorated as "sensitive" in the API will not
15751// be included in the string output. The member name will be present, but the
15752// value will be replaced with "sensitive".
15753func (s UpdateConnectionOAuthRequestParameters) GoString() string {
15754	return s.String()
15755}
15756
15757// Validate inspects the fields of the type to determine if they are valid.
15758func (s *UpdateConnectionOAuthRequestParameters) Validate() error {
15759	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionOAuthRequestParameters"}
15760	if s.AuthorizationEndpoint != nil && len(*s.AuthorizationEndpoint) < 1 {
15761		invalidParams.Add(request.NewErrParamMinLen("AuthorizationEndpoint", 1))
15762	}
15763	if s.ClientParameters != nil {
15764		if err := s.ClientParameters.Validate(); err != nil {
15765			invalidParams.AddNested("ClientParameters", err.(request.ErrInvalidParams))
15766		}
15767	}
15768
15769	if invalidParams.Len() > 0 {
15770		return invalidParams
15771	}
15772	return nil
15773}
15774
15775// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value.
15776func (s *UpdateConnectionOAuthRequestParameters) SetAuthorizationEndpoint(v string) *UpdateConnectionOAuthRequestParameters {
15777	s.AuthorizationEndpoint = &v
15778	return s
15779}
15780
15781// SetClientParameters sets the ClientParameters field's value.
15782func (s *UpdateConnectionOAuthRequestParameters) SetClientParameters(v *UpdateConnectionOAuthClientRequestParameters) *UpdateConnectionOAuthRequestParameters {
15783	s.ClientParameters = v
15784	return s
15785}
15786
15787// SetHttpMethod sets the HttpMethod field's value.
15788func (s *UpdateConnectionOAuthRequestParameters) SetHttpMethod(v string) *UpdateConnectionOAuthRequestParameters {
15789	s.HttpMethod = &v
15790	return s
15791}
15792
15793// SetOAuthHttpParameters sets the OAuthHttpParameters field's value.
15794func (s *UpdateConnectionOAuthRequestParameters) SetOAuthHttpParameters(v *ConnectionHttpParameters) *UpdateConnectionOAuthRequestParameters {
15795	s.OAuthHttpParameters = v
15796	return s
15797}
15798
15799type UpdateConnectionOutput struct {
15800	_ struct{} `type:"structure"`
15801
15802	// The ARN of the connection that was updated.
15803	ConnectionArn *string `min:"1" type:"string"`
15804
15805	// The state of the connection that was updated.
15806	ConnectionState *string `type:"string" enum:"ConnectionState"`
15807
15808	// A time stamp for the time that the connection was created.
15809	CreationTime *time.Time `type:"timestamp"`
15810
15811	// A time stamp for the time that the connection was last authorized.
15812	LastAuthorizedTime *time.Time `type:"timestamp"`
15813
15814	// A time stamp for the time that the connection was last modified.
15815	LastModifiedTime *time.Time `type:"timestamp"`
15816}
15817
15818// String returns the string representation.
15819//
15820// API parameter values that are decorated as "sensitive" in the API will not
15821// be included in the string output. The member name will be present, but the
15822// value will be replaced with "sensitive".
15823func (s UpdateConnectionOutput) String() string {
15824	return awsutil.Prettify(s)
15825}
15826
15827// GoString returns the string representation.
15828//
15829// API parameter values that are decorated as "sensitive" in the API will not
15830// be included in the string output. The member name will be present, but the
15831// value will be replaced with "sensitive".
15832func (s UpdateConnectionOutput) GoString() string {
15833	return s.String()
15834}
15835
15836// SetConnectionArn sets the ConnectionArn field's value.
15837func (s *UpdateConnectionOutput) SetConnectionArn(v string) *UpdateConnectionOutput {
15838	s.ConnectionArn = &v
15839	return s
15840}
15841
15842// SetConnectionState sets the ConnectionState field's value.
15843func (s *UpdateConnectionOutput) SetConnectionState(v string) *UpdateConnectionOutput {
15844	s.ConnectionState = &v
15845	return s
15846}
15847
15848// SetCreationTime sets the CreationTime field's value.
15849func (s *UpdateConnectionOutput) SetCreationTime(v time.Time) *UpdateConnectionOutput {
15850	s.CreationTime = &v
15851	return s
15852}
15853
15854// SetLastAuthorizedTime sets the LastAuthorizedTime field's value.
15855func (s *UpdateConnectionOutput) SetLastAuthorizedTime(v time.Time) *UpdateConnectionOutput {
15856	s.LastAuthorizedTime = &v
15857	return s
15858}
15859
15860// SetLastModifiedTime sets the LastModifiedTime field's value.
15861func (s *UpdateConnectionOutput) SetLastModifiedTime(v time.Time) *UpdateConnectionOutput {
15862	s.LastModifiedTime = &v
15863	return s
15864}
15865
15866const (
15867	// ApiDestinationHttpMethodPost is a ApiDestinationHttpMethod enum value
15868	ApiDestinationHttpMethodPost = "POST"
15869
15870	// ApiDestinationHttpMethodGet is a ApiDestinationHttpMethod enum value
15871	ApiDestinationHttpMethodGet = "GET"
15872
15873	// ApiDestinationHttpMethodHead is a ApiDestinationHttpMethod enum value
15874	ApiDestinationHttpMethodHead = "HEAD"
15875
15876	// ApiDestinationHttpMethodOptions is a ApiDestinationHttpMethod enum value
15877	ApiDestinationHttpMethodOptions = "OPTIONS"
15878
15879	// ApiDestinationHttpMethodPut is a ApiDestinationHttpMethod enum value
15880	ApiDestinationHttpMethodPut = "PUT"
15881
15882	// ApiDestinationHttpMethodPatch is a ApiDestinationHttpMethod enum value
15883	ApiDestinationHttpMethodPatch = "PATCH"
15884
15885	// ApiDestinationHttpMethodDelete is a ApiDestinationHttpMethod enum value
15886	ApiDestinationHttpMethodDelete = "DELETE"
15887)
15888
15889// ApiDestinationHttpMethod_Values returns all elements of the ApiDestinationHttpMethod enum
15890func ApiDestinationHttpMethod_Values() []string {
15891	return []string{
15892		ApiDestinationHttpMethodPost,
15893		ApiDestinationHttpMethodGet,
15894		ApiDestinationHttpMethodHead,
15895		ApiDestinationHttpMethodOptions,
15896		ApiDestinationHttpMethodPut,
15897		ApiDestinationHttpMethodPatch,
15898		ApiDestinationHttpMethodDelete,
15899	}
15900}
15901
15902const (
15903	// ApiDestinationStateActive is a ApiDestinationState enum value
15904	ApiDestinationStateActive = "ACTIVE"
15905
15906	// ApiDestinationStateInactive is a ApiDestinationState enum value
15907	ApiDestinationStateInactive = "INACTIVE"
15908)
15909
15910// ApiDestinationState_Values returns all elements of the ApiDestinationState enum
15911func ApiDestinationState_Values() []string {
15912	return []string{
15913		ApiDestinationStateActive,
15914		ApiDestinationStateInactive,
15915	}
15916}
15917
15918const (
15919	// ArchiveStateEnabled is a ArchiveState enum value
15920	ArchiveStateEnabled = "ENABLED"
15921
15922	// ArchiveStateDisabled is a ArchiveState enum value
15923	ArchiveStateDisabled = "DISABLED"
15924
15925	// ArchiveStateCreating is a ArchiveState enum value
15926	ArchiveStateCreating = "CREATING"
15927
15928	// ArchiveStateUpdating is a ArchiveState enum value
15929	ArchiveStateUpdating = "UPDATING"
15930
15931	// ArchiveStateCreateFailed is a ArchiveState enum value
15932	ArchiveStateCreateFailed = "CREATE_FAILED"
15933
15934	// ArchiveStateUpdateFailed is a ArchiveState enum value
15935	ArchiveStateUpdateFailed = "UPDATE_FAILED"
15936)
15937
15938// ArchiveState_Values returns all elements of the ArchiveState enum
15939func ArchiveState_Values() []string {
15940	return []string{
15941		ArchiveStateEnabled,
15942		ArchiveStateDisabled,
15943		ArchiveStateCreating,
15944		ArchiveStateUpdating,
15945		ArchiveStateCreateFailed,
15946		ArchiveStateUpdateFailed,
15947	}
15948}
15949
15950const (
15951	// AssignPublicIpEnabled is a AssignPublicIp enum value
15952	AssignPublicIpEnabled = "ENABLED"
15953
15954	// AssignPublicIpDisabled is a AssignPublicIp enum value
15955	AssignPublicIpDisabled = "DISABLED"
15956)
15957
15958// AssignPublicIp_Values returns all elements of the AssignPublicIp enum
15959func AssignPublicIp_Values() []string {
15960	return []string{
15961		AssignPublicIpEnabled,
15962		AssignPublicIpDisabled,
15963	}
15964}
15965
15966const (
15967	// ConnectionAuthorizationTypeBasic is a ConnectionAuthorizationType enum value
15968	ConnectionAuthorizationTypeBasic = "BASIC"
15969
15970	// ConnectionAuthorizationTypeOauthClientCredentials is a ConnectionAuthorizationType enum value
15971	ConnectionAuthorizationTypeOauthClientCredentials = "OAUTH_CLIENT_CREDENTIALS"
15972
15973	// ConnectionAuthorizationTypeApiKey is a ConnectionAuthorizationType enum value
15974	ConnectionAuthorizationTypeApiKey = "API_KEY"
15975)
15976
15977// ConnectionAuthorizationType_Values returns all elements of the ConnectionAuthorizationType enum
15978func ConnectionAuthorizationType_Values() []string {
15979	return []string{
15980		ConnectionAuthorizationTypeBasic,
15981		ConnectionAuthorizationTypeOauthClientCredentials,
15982		ConnectionAuthorizationTypeApiKey,
15983	}
15984}
15985
15986const (
15987	// ConnectionOAuthHttpMethodGet is a ConnectionOAuthHttpMethod enum value
15988	ConnectionOAuthHttpMethodGet = "GET"
15989
15990	// ConnectionOAuthHttpMethodPost is a ConnectionOAuthHttpMethod enum value
15991	ConnectionOAuthHttpMethodPost = "POST"
15992
15993	// ConnectionOAuthHttpMethodPut is a ConnectionOAuthHttpMethod enum value
15994	ConnectionOAuthHttpMethodPut = "PUT"
15995)
15996
15997// ConnectionOAuthHttpMethod_Values returns all elements of the ConnectionOAuthHttpMethod enum
15998func ConnectionOAuthHttpMethod_Values() []string {
15999	return []string{
16000		ConnectionOAuthHttpMethodGet,
16001		ConnectionOAuthHttpMethodPost,
16002		ConnectionOAuthHttpMethodPut,
16003	}
16004}
16005
16006const (
16007	// ConnectionStateCreating is a ConnectionState enum value
16008	ConnectionStateCreating = "CREATING"
16009
16010	// ConnectionStateUpdating is a ConnectionState enum value
16011	ConnectionStateUpdating = "UPDATING"
16012
16013	// ConnectionStateDeleting is a ConnectionState enum value
16014	ConnectionStateDeleting = "DELETING"
16015
16016	// ConnectionStateAuthorized is a ConnectionState enum value
16017	ConnectionStateAuthorized = "AUTHORIZED"
16018
16019	// ConnectionStateDeauthorized is a ConnectionState enum value
16020	ConnectionStateDeauthorized = "DEAUTHORIZED"
16021
16022	// ConnectionStateAuthorizing is a ConnectionState enum value
16023	ConnectionStateAuthorizing = "AUTHORIZING"
16024
16025	// ConnectionStateDeauthorizing is a ConnectionState enum value
16026	ConnectionStateDeauthorizing = "DEAUTHORIZING"
16027)
16028
16029// ConnectionState_Values returns all elements of the ConnectionState enum
16030func ConnectionState_Values() []string {
16031	return []string{
16032		ConnectionStateCreating,
16033		ConnectionStateUpdating,
16034		ConnectionStateDeleting,
16035		ConnectionStateAuthorized,
16036		ConnectionStateDeauthorized,
16037		ConnectionStateAuthorizing,
16038		ConnectionStateDeauthorizing,
16039	}
16040}
16041
16042const (
16043	// EventSourceStatePending is a EventSourceState enum value
16044	EventSourceStatePending = "PENDING"
16045
16046	// EventSourceStateActive is a EventSourceState enum value
16047	EventSourceStateActive = "ACTIVE"
16048
16049	// EventSourceStateDeleted is a EventSourceState enum value
16050	EventSourceStateDeleted = "DELETED"
16051)
16052
16053// EventSourceState_Values returns all elements of the EventSourceState enum
16054func EventSourceState_Values() []string {
16055	return []string{
16056		EventSourceStatePending,
16057		EventSourceStateActive,
16058		EventSourceStateDeleted,
16059	}
16060}
16061
16062const (
16063	// LaunchTypeEc2 is a LaunchType enum value
16064	LaunchTypeEc2 = "EC2"
16065
16066	// LaunchTypeFargate is a LaunchType enum value
16067	LaunchTypeFargate = "FARGATE"
16068
16069	// LaunchTypeExternal is a LaunchType enum value
16070	LaunchTypeExternal = "EXTERNAL"
16071)
16072
16073// LaunchType_Values returns all elements of the LaunchType enum
16074func LaunchType_Values() []string {
16075	return []string{
16076		LaunchTypeEc2,
16077		LaunchTypeFargate,
16078		LaunchTypeExternal,
16079	}
16080}
16081
16082const (
16083	// PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value
16084	PlacementConstraintTypeDistinctInstance = "distinctInstance"
16085
16086	// PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value
16087	PlacementConstraintTypeMemberOf = "memberOf"
16088)
16089
16090// PlacementConstraintType_Values returns all elements of the PlacementConstraintType enum
16091func PlacementConstraintType_Values() []string {
16092	return []string{
16093		PlacementConstraintTypeDistinctInstance,
16094		PlacementConstraintTypeMemberOf,
16095	}
16096}
16097
16098const (
16099	// PlacementStrategyTypeRandom is a PlacementStrategyType enum value
16100	PlacementStrategyTypeRandom = "random"
16101
16102	// PlacementStrategyTypeSpread is a PlacementStrategyType enum value
16103	PlacementStrategyTypeSpread = "spread"
16104
16105	// PlacementStrategyTypeBinpack is a PlacementStrategyType enum value
16106	PlacementStrategyTypeBinpack = "binpack"
16107)
16108
16109// PlacementStrategyType_Values returns all elements of the PlacementStrategyType enum
16110func PlacementStrategyType_Values() []string {
16111	return []string{
16112		PlacementStrategyTypeRandom,
16113		PlacementStrategyTypeSpread,
16114		PlacementStrategyTypeBinpack,
16115	}
16116}
16117
16118const (
16119	// PropagateTagsTaskDefinition is a PropagateTags enum value
16120	PropagateTagsTaskDefinition = "TASK_DEFINITION"
16121)
16122
16123// PropagateTags_Values returns all elements of the PropagateTags enum
16124func PropagateTags_Values() []string {
16125	return []string{
16126		PropagateTagsTaskDefinition,
16127	}
16128}
16129
16130const (
16131	// ReplayStateStarting is a ReplayState enum value
16132	ReplayStateStarting = "STARTING"
16133
16134	// ReplayStateRunning is a ReplayState enum value
16135	ReplayStateRunning = "RUNNING"
16136
16137	// ReplayStateCancelling is a ReplayState enum value
16138	ReplayStateCancelling = "CANCELLING"
16139
16140	// ReplayStateCompleted is a ReplayState enum value
16141	ReplayStateCompleted = "COMPLETED"
16142
16143	// ReplayStateCancelled is a ReplayState enum value
16144	ReplayStateCancelled = "CANCELLED"
16145
16146	// ReplayStateFailed is a ReplayState enum value
16147	ReplayStateFailed = "FAILED"
16148)
16149
16150// ReplayState_Values returns all elements of the ReplayState enum
16151func ReplayState_Values() []string {
16152	return []string{
16153		ReplayStateStarting,
16154		ReplayStateRunning,
16155		ReplayStateCancelling,
16156		ReplayStateCompleted,
16157		ReplayStateCancelled,
16158		ReplayStateFailed,
16159	}
16160}
16161
16162const (
16163	// RuleStateEnabled is a RuleState enum value
16164	RuleStateEnabled = "ENABLED"
16165
16166	// RuleStateDisabled is a RuleState enum value
16167	RuleStateDisabled = "DISABLED"
16168)
16169
16170// RuleState_Values returns all elements of the RuleState enum
16171func RuleState_Values() []string {
16172	return []string{
16173		RuleStateEnabled,
16174		RuleStateDisabled,
16175	}
16176}
16177