1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package eventbridge
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/eventbridge-2015-10-07/ActivateEventSource
42func (c *EventBridge) 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 EventBridge.
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 EventBridge'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/eventbridge-2015-10-07/ActivateEventSource
88func (c *EventBridge) 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 *EventBridge) 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/eventbridge-2015-10-07/CancelReplay
135func (c *EventBridge) 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 EventBridge.
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 EventBridge'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/eventbridge-2015-10-07/CancelReplay
177func (c *EventBridge) 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 *EventBridge) 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 opCreateArchive = "CreateArchive"
199
200// CreateArchiveRequest generates a "aws/request.Request" representing the
201// client's request for the CreateArchive 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 CreateArchive for more information on using the CreateArchive
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 CreateArchiveRequest method.
216//    req, resp := client.CreateArchiveRequest(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/eventbridge-2015-10-07/CreateArchive
224func (c *EventBridge) CreateArchiveRequest(input *CreateArchiveInput) (req *request.Request, output *CreateArchiveOutput) {
225	op := &request.Operation{
226		Name:       opCreateArchive,
227		HTTPMethod: "POST",
228		HTTPPath:   "/",
229	}
230
231	if input == nil {
232		input = &CreateArchiveInput{}
233	}
234
235	output = &CreateArchiveOutput{}
236	req = c.newRequest(op, input, output)
237	return
238}
239
240// CreateArchive API operation for Amazon EventBridge.
241//
242// Creates an archive of events with the specified settings. When you create
243// an archive, incoming events might not immediately start being sent to the
244// archive. Allow a short period of time for changes to take effect. If you
245// do not specify a pattern to filter events sent to the archive, all events
246// are sent to the archive except replayed events. Replayed events are not sent
247// to an archive.
248//
249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
250// with awserr.Error's Code and Message methods to get detailed information about
251// the error.
252//
253// See the AWS API reference guide for Amazon EventBridge's
254// API operation CreateArchive for usage and error information.
255//
256// Returned Error Types:
257//   * ConcurrentModificationException
258//   There is concurrent modification on a rule, target, archive, or replay.
259//
260//   * ResourceAlreadyExistsException
261//   The resource you are trying to create already exists.
262//
263//   * ResourceNotFoundException
264//   An entity that you specified does not exist.
265//
266//   * InternalException
267//   This exception occurs due to unexpected causes.
268//
269//   * LimitExceededException
270//   The request failed because it attempted to create resource beyond the allowed
271//   service quota.
272//
273//   * InvalidEventPatternException
274//   The event pattern is not valid.
275//
276// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreateArchive
277func (c *EventBridge) CreateArchive(input *CreateArchiveInput) (*CreateArchiveOutput, error) {
278	req, out := c.CreateArchiveRequest(input)
279	return out, req.Send()
280}
281
282// CreateArchiveWithContext is the same as CreateArchive with the addition of
283// the ability to pass a context and additional request options.
284//
285// See CreateArchive for details on how to use this API operation.
286//
287// The context must be non-nil and will be used for request cancellation. If
288// the context is nil a panic will occur. In the future the SDK may create
289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
290// for more information on using Contexts.
291func (c *EventBridge) CreateArchiveWithContext(ctx aws.Context, input *CreateArchiveInput, opts ...request.Option) (*CreateArchiveOutput, error) {
292	req, out := c.CreateArchiveRequest(input)
293	req.SetContext(ctx)
294	req.ApplyOptions(opts...)
295	return out, req.Send()
296}
297
298const opCreateEventBus = "CreateEventBus"
299
300// CreateEventBusRequest generates a "aws/request.Request" representing the
301// client's request for the CreateEventBus operation. The "output" return
302// value will be populated with the request's response once the request completes
303// successfully.
304//
305// Use "Send" method on the returned Request to send the API call to the service.
306// the "output" return value is not valid until after Send returns without error.
307//
308// See CreateEventBus for more information on using the CreateEventBus
309// API call, and error handling.
310//
311// This method is useful when you want to inject custom logic or configuration
312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
313//
314//
315//    // Example sending a request using the CreateEventBusRequest method.
316//    req, resp := client.CreateEventBusRequest(params)
317//
318//    err := req.Send()
319//    if err == nil { // resp is now filled
320//        fmt.Println(resp)
321//    }
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreateEventBus
324func (c *EventBridge) CreateEventBusRequest(input *CreateEventBusInput) (req *request.Request, output *CreateEventBusOutput) {
325	op := &request.Operation{
326		Name:       opCreateEventBus,
327		HTTPMethod: "POST",
328		HTTPPath:   "/",
329	}
330
331	if input == nil {
332		input = &CreateEventBusInput{}
333	}
334
335	output = &CreateEventBusOutput{}
336	req = c.newRequest(op, input, output)
337	return
338}
339
340// CreateEventBus API operation for Amazon EventBridge.
341//
342// Creates a new event bus within your account. This can be a custom event bus
343// which you can use to receive events from your custom applications and services,
344// or it can be a partner event bus which can be matched to a partner event
345// source.
346//
347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
348// with awserr.Error's Code and Message methods to get detailed information about
349// the error.
350//
351// See the AWS API reference guide for Amazon EventBridge's
352// API operation CreateEventBus for usage and error information.
353//
354// Returned Error Types:
355//   * ResourceAlreadyExistsException
356//   The resource you are trying to create already exists.
357//
358//   * ResourceNotFoundException
359//   An entity that you specified does not exist.
360//
361//   * InvalidStateException
362//   The specified state is not a valid state for an event source.
363//
364//   * InternalException
365//   This exception occurs due to unexpected causes.
366//
367//   * ConcurrentModificationException
368//   There is concurrent modification on a rule, target, archive, or replay.
369//
370//   * LimitExceededException
371//   The request failed because it attempted to create resource beyond the allowed
372//   service quota.
373//
374//   * OperationDisabledException
375//   The operation you are attempting is not available in this region.
376//
377// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreateEventBus
378func (c *EventBridge) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) {
379	req, out := c.CreateEventBusRequest(input)
380	return out, req.Send()
381}
382
383// CreateEventBusWithContext is the same as CreateEventBus with the addition of
384// the ability to pass a context and additional request options.
385//
386// See CreateEventBus for details on how to use this API operation.
387//
388// The context must be non-nil and will be used for request cancellation. If
389// the context is nil a panic will occur. In the future the SDK may create
390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
391// for more information on using Contexts.
392func (c *EventBridge) CreateEventBusWithContext(ctx aws.Context, input *CreateEventBusInput, opts ...request.Option) (*CreateEventBusOutput, error) {
393	req, out := c.CreateEventBusRequest(input)
394	req.SetContext(ctx)
395	req.ApplyOptions(opts...)
396	return out, req.Send()
397}
398
399const opCreatePartnerEventSource = "CreatePartnerEventSource"
400
401// CreatePartnerEventSourceRequest generates a "aws/request.Request" representing the
402// client's request for the CreatePartnerEventSource operation. The "output" return
403// value will be populated with the request's response once the request completes
404// successfully.
405//
406// Use "Send" method on the returned Request to send the API call to the service.
407// the "output" return value is not valid until after Send returns without error.
408//
409// See CreatePartnerEventSource for more information on using the CreatePartnerEventSource
410// API call, and error handling.
411//
412// This method is useful when you want to inject custom logic or configuration
413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
414//
415//
416//    // Example sending a request using the CreatePartnerEventSourceRequest method.
417//    req, resp := client.CreatePartnerEventSourceRequest(params)
418//
419//    err := req.Send()
420//    if err == nil { // resp is now filled
421//        fmt.Println(resp)
422//    }
423//
424// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreatePartnerEventSource
425func (c *EventBridge) CreatePartnerEventSourceRequest(input *CreatePartnerEventSourceInput) (req *request.Request, output *CreatePartnerEventSourceOutput) {
426	op := &request.Operation{
427		Name:       opCreatePartnerEventSource,
428		HTTPMethod: "POST",
429		HTTPPath:   "/",
430	}
431
432	if input == nil {
433		input = &CreatePartnerEventSourceInput{}
434	}
435
436	output = &CreatePartnerEventSourceOutput{}
437	req = c.newRequest(op, input, output)
438	return
439}
440
441// CreatePartnerEventSource API operation for Amazon EventBridge.
442//
443// Called by an SaaS partner to create a partner event source. This operation
444// is not used by AWS customers.
445//
446// Each partner event source can be used by one AWS account to create a matching
447// partner event bus in that AWS account. A SaaS partner must create one partner
448// event source for each AWS account that wants to receive those event types.
449//
450// A partner event source creates events based on resources within the SaaS
451// partner's service or application.
452//
453// An AWS account that creates a partner event bus that matches the partner
454// event source can use that event bus to receive events from the partner, and
455// then process them using AWS Events rules and targets.
456//
457// Partner event source names follow this format:
458//
459// partner_name/event_namespace/event_name
460//
461// partner_name is determined during partner registration and identifies the
462// partner to AWS customers. event_namespace is determined by the partner and
463// is a way for the partner to categorize their events. event_name is determined
464// by the partner, and should uniquely identify an event-generating resource
465// within the partner system. The combination of event_namespace and event_name
466// should help AWS customers decide whether to create an event bus to receive
467// these events.
468//
469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
470// with awserr.Error's Code and Message methods to get detailed information about
471// the error.
472//
473// See the AWS API reference guide for Amazon EventBridge's
474// API operation CreatePartnerEventSource for usage and error information.
475//
476// Returned Error Types:
477//   * ResourceAlreadyExistsException
478//   The resource you are trying to create already exists.
479//
480//   * InternalException
481//   This exception occurs due to unexpected causes.
482//
483//   * ConcurrentModificationException
484//   There is concurrent modification on a rule, target, archive, or replay.
485//
486//   * LimitExceededException
487//   The request failed because it attempted to create resource beyond the allowed
488//   service quota.
489//
490//   * OperationDisabledException
491//   The operation you are attempting is not available in this region.
492//
493// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreatePartnerEventSource
494func (c *EventBridge) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) {
495	req, out := c.CreatePartnerEventSourceRequest(input)
496	return out, req.Send()
497}
498
499// CreatePartnerEventSourceWithContext is the same as CreatePartnerEventSource with the addition of
500// the ability to pass a context and additional request options.
501//
502// See CreatePartnerEventSource for details on how to use this API operation.
503//
504// The context must be non-nil and will be used for request cancellation. If
505// the context is nil a panic will occur. In the future the SDK may create
506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
507// for more information on using Contexts.
508func (c *EventBridge) CreatePartnerEventSourceWithContext(ctx aws.Context, input *CreatePartnerEventSourceInput, opts ...request.Option) (*CreatePartnerEventSourceOutput, error) {
509	req, out := c.CreatePartnerEventSourceRequest(input)
510	req.SetContext(ctx)
511	req.ApplyOptions(opts...)
512	return out, req.Send()
513}
514
515const opDeactivateEventSource = "DeactivateEventSource"
516
517// DeactivateEventSourceRequest generates a "aws/request.Request" representing the
518// client's request for the DeactivateEventSource operation. The "output" return
519// value will be populated with the request's response once the request completes
520// successfully.
521//
522// Use "Send" method on the returned Request to send the API call to the service.
523// the "output" return value is not valid until after Send returns without error.
524//
525// See DeactivateEventSource for more information on using the DeactivateEventSource
526// API call, and error handling.
527//
528// This method is useful when you want to inject custom logic or configuration
529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
530//
531//
532//    // Example sending a request using the DeactivateEventSourceRequest method.
533//    req, resp := client.DeactivateEventSourceRequest(params)
534//
535//    err := req.Send()
536//    if err == nil { // resp is now filled
537//        fmt.Println(resp)
538//    }
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeactivateEventSource
541func (c *EventBridge) DeactivateEventSourceRequest(input *DeactivateEventSourceInput) (req *request.Request, output *DeactivateEventSourceOutput) {
542	op := &request.Operation{
543		Name:       opDeactivateEventSource,
544		HTTPMethod: "POST",
545		HTTPPath:   "/",
546	}
547
548	if input == nil {
549		input = &DeactivateEventSourceInput{}
550	}
551
552	output = &DeactivateEventSourceOutput{}
553	req = c.newRequest(op, input, output)
554	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
555	return
556}
557
558// DeactivateEventSource API operation for Amazon EventBridge.
559//
560// You can use this operation to temporarily stop receiving events from the
561// specified partner event source. The matching event bus is not deleted.
562//
563// When you deactivate a partner event source, the source goes into PENDING
564// state. If it remains in PENDING state for more than two weeks, it is deleted.
565//
566// To activate a deactivated partner event source, use ActivateEventSource.
567//
568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
569// with awserr.Error's Code and Message methods to get detailed information about
570// the error.
571//
572// See the AWS API reference guide for Amazon EventBridge's
573// API operation DeactivateEventSource for usage and error information.
574//
575// Returned Error Types:
576//   * ResourceNotFoundException
577//   An entity that you specified does not exist.
578//
579//   * ConcurrentModificationException
580//   There is concurrent modification on a rule, target, archive, or replay.
581//
582//   * InvalidStateException
583//   The specified state is not a valid state for an event source.
584//
585//   * InternalException
586//   This exception occurs due to unexpected causes.
587//
588//   * OperationDisabledException
589//   The operation you are attempting is not available in this region.
590//
591// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeactivateEventSource
592func (c *EventBridge) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) {
593	req, out := c.DeactivateEventSourceRequest(input)
594	return out, req.Send()
595}
596
597// DeactivateEventSourceWithContext is the same as DeactivateEventSource with the addition of
598// the ability to pass a context and additional request options.
599//
600// See DeactivateEventSource for details on how to use this API operation.
601//
602// The context must be non-nil and will be used for request cancellation. If
603// the context is nil a panic will occur. In the future the SDK may create
604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
605// for more information on using Contexts.
606func (c *EventBridge) DeactivateEventSourceWithContext(ctx aws.Context, input *DeactivateEventSourceInput, opts ...request.Option) (*DeactivateEventSourceOutput, error) {
607	req, out := c.DeactivateEventSourceRequest(input)
608	req.SetContext(ctx)
609	req.ApplyOptions(opts...)
610	return out, req.Send()
611}
612
613const opDeleteArchive = "DeleteArchive"
614
615// DeleteArchiveRequest generates a "aws/request.Request" representing the
616// client's request for the DeleteArchive operation. The "output" return
617// value will be populated with the request's response once the request completes
618// successfully.
619//
620// Use "Send" method on the returned Request to send the API call to the service.
621// the "output" return value is not valid until after Send returns without error.
622//
623// See DeleteArchive for more information on using the DeleteArchive
624// API call, and error handling.
625//
626// This method is useful when you want to inject custom logic or configuration
627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
628//
629//
630//    // Example sending a request using the DeleteArchiveRequest method.
631//    req, resp := client.DeleteArchiveRequest(params)
632//
633//    err := req.Send()
634//    if err == nil { // resp is now filled
635//        fmt.Println(resp)
636//    }
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteArchive
639func (c *EventBridge) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) {
640	op := &request.Operation{
641		Name:       opDeleteArchive,
642		HTTPMethod: "POST",
643		HTTPPath:   "/",
644	}
645
646	if input == nil {
647		input = &DeleteArchiveInput{}
648	}
649
650	output = &DeleteArchiveOutput{}
651	req = c.newRequest(op, input, output)
652	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
653	return
654}
655
656// DeleteArchive API operation for Amazon EventBridge.
657//
658// Deletes the specified archive.
659//
660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
661// with awserr.Error's Code and Message methods to get detailed information about
662// the error.
663//
664// See the AWS API reference guide for Amazon EventBridge's
665// API operation DeleteArchive for usage and error information.
666//
667// Returned Error Types:
668//   * ConcurrentModificationException
669//   There is concurrent modification on a rule, target, archive, or replay.
670//
671//   * ResourceNotFoundException
672//   An entity that you specified does not exist.
673//
674//   * InternalException
675//   This exception occurs due to unexpected causes.
676//
677// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteArchive
678func (c *EventBridge) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) {
679	req, out := c.DeleteArchiveRequest(input)
680	return out, req.Send()
681}
682
683// DeleteArchiveWithContext is the same as DeleteArchive with the addition of
684// the ability to pass a context and additional request options.
685//
686// See DeleteArchive for details on how to use this API operation.
687//
688// The context must be non-nil and will be used for request cancellation. If
689// the context is nil a panic will occur. In the future the SDK may create
690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
691// for more information on using Contexts.
692func (c *EventBridge) DeleteArchiveWithContext(ctx aws.Context, input *DeleteArchiveInput, opts ...request.Option) (*DeleteArchiveOutput, error) {
693	req, out := c.DeleteArchiveRequest(input)
694	req.SetContext(ctx)
695	req.ApplyOptions(opts...)
696	return out, req.Send()
697}
698
699const opDeleteEventBus = "DeleteEventBus"
700
701// DeleteEventBusRequest generates a "aws/request.Request" representing the
702// client's request for the DeleteEventBus operation. The "output" return
703// value will be populated with the request's response once the request completes
704// successfully.
705//
706// Use "Send" method on the returned Request to send the API call to the service.
707// the "output" return value is not valid until after Send returns without error.
708//
709// See DeleteEventBus for more information on using the DeleteEventBus
710// API call, and error handling.
711//
712// This method is useful when you want to inject custom logic or configuration
713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
714//
715//
716//    // Example sending a request using the DeleteEventBusRequest method.
717//    req, resp := client.DeleteEventBusRequest(params)
718//
719//    err := req.Send()
720//    if err == nil { // resp is now filled
721//        fmt.Println(resp)
722//    }
723//
724// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteEventBus
725func (c *EventBridge) DeleteEventBusRequest(input *DeleteEventBusInput) (req *request.Request, output *DeleteEventBusOutput) {
726	op := &request.Operation{
727		Name:       opDeleteEventBus,
728		HTTPMethod: "POST",
729		HTTPPath:   "/",
730	}
731
732	if input == nil {
733		input = &DeleteEventBusInput{}
734	}
735
736	output = &DeleteEventBusOutput{}
737	req = c.newRequest(op, input, output)
738	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
739	return
740}
741
742// DeleteEventBus API operation for Amazon EventBridge.
743//
744// Deletes the specified custom event bus or partner event bus. All rules associated
745// with this event bus need to be deleted. You can't delete your account's default
746// event bus.
747//
748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
749// with awserr.Error's Code and Message methods to get detailed information about
750// the error.
751//
752// See the AWS API reference guide for Amazon EventBridge's
753// API operation DeleteEventBus for usage and error information.
754//
755// Returned Error Types:
756//   * InternalException
757//   This exception occurs due to unexpected causes.
758//
759//   * ConcurrentModificationException
760//   There is concurrent modification on a rule, target, archive, or replay.
761//
762// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteEventBus
763func (c *EventBridge) DeleteEventBus(input *DeleteEventBusInput) (*DeleteEventBusOutput, error) {
764	req, out := c.DeleteEventBusRequest(input)
765	return out, req.Send()
766}
767
768// DeleteEventBusWithContext is the same as DeleteEventBus with the addition of
769// the ability to pass a context and additional request options.
770//
771// See DeleteEventBus for details on how to use this API operation.
772//
773// The context must be non-nil and will be used for request cancellation. If
774// the context is nil a panic will occur. In the future the SDK may create
775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
776// for more information on using Contexts.
777func (c *EventBridge) DeleteEventBusWithContext(ctx aws.Context, input *DeleteEventBusInput, opts ...request.Option) (*DeleteEventBusOutput, error) {
778	req, out := c.DeleteEventBusRequest(input)
779	req.SetContext(ctx)
780	req.ApplyOptions(opts...)
781	return out, req.Send()
782}
783
784const opDeletePartnerEventSource = "DeletePartnerEventSource"
785
786// DeletePartnerEventSourceRequest generates a "aws/request.Request" representing the
787// client's request for the DeletePartnerEventSource operation. The "output" return
788// value will be populated with the request's response once the request completes
789// successfully.
790//
791// Use "Send" method on the returned Request to send the API call to the service.
792// the "output" return value is not valid until after Send returns without error.
793//
794// See DeletePartnerEventSource for more information on using the DeletePartnerEventSource
795// API call, and error handling.
796//
797// This method is useful when you want to inject custom logic or configuration
798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
799//
800//
801//    // Example sending a request using the DeletePartnerEventSourceRequest method.
802//    req, resp := client.DeletePartnerEventSourceRequest(params)
803//
804//    err := req.Send()
805//    if err == nil { // resp is now filled
806//        fmt.Println(resp)
807//    }
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeletePartnerEventSource
810func (c *EventBridge) DeletePartnerEventSourceRequest(input *DeletePartnerEventSourceInput) (req *request.Request, output *DeletePartnerEventSourceOutput) {
811	op := &request.Operation{
812		Name:       opDeletePartnerEventSource,
813		HTTPMethod: "POST",
814		HTTPPath:   "/",
815	}
816
817	if input == nil {
818		input = &DeletePartnerEventSourceInput{}
819	}
820
821	output = &DeletePartnerEventSourceOutput{}
822	req = c.newRequest(op, input, output)
823	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
824	return
825}
826
827// DeletePartnerEventSource API operation for Amazon EventBridge.
828//
829// This operation is used by SaaS partners to delete a partner event source.
830// This operation is not used by AWS customers.
831//
832// When you delete an event source, the status of the corresponding partner
833// event bus in the AWS customer account becomes DELETED.
834//
835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
836// with awserr.Error's Code and Message methods to get detailed information about
837// the error.
838//
839// See the AWS API reference guide for Amazon EventBridge's
840// API operation DeletePartnerEventSource for usage and error information.
841//
842// Returned Error Types:
843//   * InternalException
844//   This exception occurs due to unexpected causes.
845//
846//   * ConcurrentModificationException
847//   There is concurrent modification on a rule, target, archive, or replay.
848//
849//   * OperationDisabledException
850//   The operation you are attempting is not available in this region.
851//
852// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeletePartnerEventSource
853func (c *EventBridge) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) {
854	req, out := c.DeletePartnerEventSourceRequest(input)
855	return out, req.Send()
856}
857
858// DeletePartnerEventSourceWithContext is the same as DeletePartnerEventSource with the addition of
859// the ability to pass a context and additional request options.
860//
861// See DeletePartnerEventSource for details on how to use this API operation.
862//
863// The context must be non-nil and will be used for request cancellation. If
864// the context is nil a panic will occur. In the future the SDK may create
865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
866// for more information on using Contexts.
867func (c *EventBridge) DeletePartnerEventSourceWithContext(ctx aws.Context, input *DeletePartnerEventSourceInput, opts ...request.Option) (*DeletePartnerEventSourceOutput, error) {
868	req, out := c.DeletePartnerEventSourceRequest(input)
869	req.SetContext(ctx)
870	req.ApplyOptions(opts...)
871	return out, req.Send()
872}
873
874const opDeleteRule = "DeleteRule"
875
876// DeleteRuleRequest generates a "aws/request.Request" representing the
877// client's request for the DeleteRule operation. The "output" return
878// value will be populated with the request's response once the request completes
879// successfully.
880//
881// Use "Send" method on the returned Request to send the API call to the service.
882// the "output" return value is not valid until after Send returns without error.
883//
884// See DeleteRule for more information on using the DeleteRule
885// API call, and error handling.
886//
887// This method is useful when you want to inject custom logic or configuration
888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
889//
890//
891//    // Example sending a request using the DeleteRuleRequest method.
892//    req, resp := client.DeleteRuleRequest(params)
893//
894//    err := req.Send()
895//    if err == nil { // resp is now filled
896//        fmt.Println(resp)
897//    }
898//
899// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteRule
900func (c *EventBridge) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
901	op := &request.Operation{
902		Name:       opDeleteRule,
903		HTTPMethod: "POST",
904		HTTPPath:   "/",
905	}
906
907	if input == nil {
908		input = &DeleteRuleInput{}
909	}
910
911	output = &DeleteRuleOutput{}
912	req = c.newRequest(op, input, output)
913	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
914	return
915}
916
917// DeleteRule API operation for Amazon EventBridge.
918//
919// Deletes the specified rule.
920//
921// Before you can delete the rule, you must remove all targets, using RemoveTargets.
922//
923// When you delete a rule, incoming events might continue to match to the deleted
924// rule. Allow a short period of time for changes to take effect.
925//
926// Managed rules are rules created and managed by another AWS service on your
927// behalf. These rules are created by those other AWS services to support functionality
928// in those services. You can delete these rules using the Force option, but
929// you should do so only if you are sure the other service is not still using
930// that rule.
931//
932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
933// with awserr.Error's Code and Message methods to get detailed information about
934// the error.
935//
936// See the AWS API reference guide for Amazon EventBridge's
937// API operation DeleteRule for usage and error information.
938//
939// Returned Error Types:
940//   * ConcurrentModificationException
941//   There is concurrent modification on a rule, target, archive, or replay.
942//
943//   * ManagedRuleException
944//   This rule was created by an AWS service on behalf of your account. It is
945//   managed by that service. If you see this error in response to DeleteRule
946//   or RemoveTargets, you can use the Force parameter in those calls to delete
947//   the rule or remove targets from the rule. You cannot modify these managed
948//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
949//   or UntagResource.
950//
951//   * InternalException
952//   This exception occurs due to unexpected causes.
953//
954//   * ResourceNotFoundException
955//   An entity that you specified does not exist.
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeleteRule
958func (c *EventBridge) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
959	req, out := c.DeleteRuleRequest(input)
960	return out, req.Send()
961}
962
963// DeleteRuleWithContext is the same as DeleteRule with the addition of
964// the ability to pass a context and additional request options.
965//
966// See DeleteRule for details on how to use this API operation.
967//
968// The context must be non-nil and will be used for request cancellation. If
969// the context is nil a panic will occur. In the future the SDK may create
970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
971// for more information on using Contexts.
972func (c *EventBridge) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) {
973	req, out := c.DeleteRuleRequest(input)
974	req.SetContext(ctx)
975	req.ApplyOptions(opts...)
976	return out, req.Send()
977}
978
979const opDescribeArchive = "DescribeArchive"
980
981// DescribeArchiveRequest generates a "aws/request.Request" representing the
982// client's request for the DescribeArchive operation. The "output" return
983// value will be populated with the request's response once the request completes
984// successfully.
985//
986// Use "Send" method on the returned Request to send the API call to the service.
987// the "output" return value is not valid until after Send returns without error.
988//
989// See DescribeArchive for more information on using the DescribeArchive
990// API call, and error handling.
991//
992// This method is useful when you want to inject custom logic or configuration
993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
994//
995//
996//    // Example sending a request using the DescribeArchiveRequest method.
997//    req, resp := client.DescribeArchiveRequest(params)
998//
999//    err := req.Send()
1000//    if err == nil { // resp is now filled
1001//        fmt.Println(resp)
1002//    }
1003//
1004// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeArchive
1005func (c *EventBridge) DescribeArchiveRequest(input *DescribeArchiveInput) (req *request.Request, output *DescribeArchiveOutput) {
1006	op := &request.Operation{
1007		Name:       opDescribeArchive,
1008		HTTPMethod: "POST",
1009		HTTPPath:   "/",
1010	}
1011
1012	if input == nil {
1013		input = &DescribeArchiveInput{}
1014	}
1015
1016	output = &DescribeArchiveOutput{}
1017	req = c.newRequest(op, input, output)
1018	return
1019}
1020
1021// DescribeArchive API operation for Amazon EventBridge.
1022//
1023// Retrieves details about an archive.
1024//
1025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1026// with awserr.Error's Code and Message methods to get detailed information about
1027// the error.
1028//
1029// See the AWS API reference guide for Amazon EventBridge's
1030// API operation DescribeArchive for usage and error information.
1031//
1032// Returned Error Types:
1033//   * ResourceAlreadyExistsException
1034//   The resource you are trying to create already exists.
1035//
1036//   * ResourceNotFoundException
1037//   An entity that you specified does not exist.
1038//
1039//   * InternalException
1040//   This exception occurs due to unexpected causes.
1041//
1042// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeArchive
1043func (c *EventBridge) DescribeArchive(input *DescribeArchiveInput) (*DescribeArchiveOutput, error) {
1044	req, out := c.DescribeArchiveRequest(input)
1045	return out, req.Send()
1046}
1047
1048// DescribeArchiveWithContext is the same as DescribeArchive with the addition of
1049// the ability to pass a context and additional request options.
1050//
1051// See DescribeArchive for details on how to use this API operation.
1052//
1053// The context must be non-nil and will be used for request cancellation. If
1054// the context is nil a panic will occur. In the future the SDK may create
1055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1056// for more information on using Contexts.
1057func (c *EventBridge) DescribeArchiveWithContext(ctx aws.Context, input *DescribeArchiveInput, opts ...request.Option) (*DescribeArchiveOutput, error) {
1058	req, out := c.DescribeArchiveRequest(input)
1059	req.SetContext(ctx)
1060	req.ApplyOptions(opts...)
1061	return out, req.Send()
1062}
1063
1064const opDescribeEventBus = "DescribeEventBus"
1065
1066// DescribeEventBusRequest generates a "aws/request.Request" representing the
1067// client's request for the DescribeEventBus operation. The "output" return
1068// value will be populated with the request's response once the request completes
1069// successfully.
1070//
1071// Use "Send" method on the returned Request to send the API call to the service.
1072// the "output" return value is not valid until after Send returns without error.
1073//
1074// See DescribeEventBus for more information on using the DescribeEventBus
1075// API call, and error handling.
1076//
1077// This method is useful when you want to inject custom logic or configuration
1078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1079//
1080//
1081//    // Example sending a request using the DescribeEventBusRequest method.
1082//    req, resp := client.DescribeEventBusRequest(params)
1083//
1084//    err := req.Send()
1085//    if err == nil { // resp is now filled
1086//        fmt.Println(resp)
1087//    }
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeEventBus
1090func (c *EventBridge) DescribeEventBusRequest(input *DescribeEventBusInput) (req *request.Request, output *DescribeEventBusOutput) {
1091	op := &request.Operation{
1092		Name:       opDescribeEventBus,
1093		HTTPMethod: "POST",
1094		HTTPPath:   "/",
1095	}
1096
1097	if input == nil {
1098		input = &DescribeEventBusInput{}
1099	}
1100
1101	output = &DescribeEventBusOutput{}
1102	req = c.newRequest(op, input, output)
1103	return
1104}
1105
1106// DescribeEventBus API operation for Amazon EventBridge.
1107//
1108// Displays details about an event bus in your account. This can include the
1109// external AWS accounts that are permitted to write events to your default
1110// event bus, and the associated policy. For custom event buses and partner
1111// event buses, it displays the name, ARN, policy, state, and creation time.
1112//
1113// To enable your account to receive events from other accounts on its default
1114// event bus, use PutPermission.
1115//
1116// For more information about partner event buses, see CreateEventBus.
1117//
1118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1119// with awserr.Error's Code and Message methods to get detailed information about
1120// the error.
1121//
1122// See the AWS API reference guide for Amazon EventBridge's
1123// API operation DescribeEventBus for usage and error information.
1124//
1125// Returned Error Types:
1126//   * ResourceNotFoundException
1127//   An entity that you specified does not exist.
1128//
1129//   * InternalException
1130//   This exception occurs due to unexpected causes.
1131//
1132// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeEventBus
1133func (c *EventBridge) DescribeEventBus(input *DescribeEventBusInput) (*DescribeEventBusOutput, error) {
1134	req, out := c.DescribeEventBusRequest(input)
1135	return out, req.Send()
1136}
1137
1138// DescribeEventBusWithContext is the same as DescribeEventBus with the addition of
1139// the ability to pass a context and additional request options.
1140//
1141// See DescribeEventBus for details on how to use this API operation.
1142//
1143// The context must be non-nil and will be used for request cancellation. If
1144// the context is nil a panic will occur. In the future the SDK may create
1145// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1146// for more information on using Contexts.
1147func (c *EventBridge) DescribeEventBusWithContext(ctx aws.Context, input *DescribeEventBusInput, opts ...request.Option) (*DescribeEventBusOutput, error) {
1148	req, out := c.DescribeEventBusRequest(input)
1149	req.SetContext(ctx)
1150	req.ApplyOptions(opts...)
1151	return out, req.Send()
1152}
1153
1154const opDescribeEventSource = "DescribeEventSource"
1155
1156// DescribeEventSourceRequest generates a "aws/request.Request" representing the
1157// client's request for the DescribeEventSource operation. The "output" return
1158// value will be populated with the request's response once the request completes
1159// successfully.
1160//
1161// Use "Send" method on the returned Request to send the API call to the service.
1162// the "output" return value is not valid until after Send returns without error.
1163//
1164// See DescribeEventSource for more information on using the DescribeEventSource
1165// API call, and error handling.
1166//
1167// This method is useful when you want to inject custom logic or configuration
1168// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1169//
1170//
1171//    // Example sending a request using the DescribeEventSourceRequest method.
1172//    req, resp := client.DescribeEventSourceRequest(params)
1173//
1174//    err := req.Send()
1175//    if err == nil { // resp is now filled
1176//        fmt.Println(resp)
1177//    }
1178//
1179// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeEventSource
1180func (c *EventBridge) DescribeEventSourceRequest(input *DescribeEventSourceInput) (req *request.Request, output *DescribeEventSourceOutput) {
1181	op := &request.Operation{
1182		Name:       opDescribeEventSource,
1183		HTTPMethod: "POST",
1184		HTTPPath:   "/",
1185	}
1186
1187	if input == nil {
1188		input = &DescribeEventSourceInput{}
1189	}
1190
1191	output = &DescribeEventSourceOutput{}
1192	req = c.newRequest(op, input, output)
1193	return
1194}
1195
1196// DescribeEventSource API operation for Amazon EventBridge.
1197//
1198// This operation lists details about a partner event source that is shared
1199// with your account.
1200//
1201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1202// with awserr.Error's Code and Message methods to get detailed information about
1203// the error.
1204//
1205// See the AWS API reference guide for Amazon EventBridge's
1206// API operation DescribeEventSource for usage and error information.
1207//
1208// Returned Error Types:
1209//   * ResourceNotFoundException
1210//   An entity that you specified does not exist.
1211//
1212//   * InternalException
1213//   This exception occurs due to unexpected causes.
1214//
1215//   * OperationDisabledException
1216//   The operation you are attempting is not available in this region.
1217//
1218// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeEventSource
1219func (c *EventBridge) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) {
1220	req, out := c.DescribeEventSourceRequest(input)
1221	return out, req.Send()
1222}
1223
1224// DescribeEventSourceWithContext is the same as DescribeEventSource with the addition of
1225// the ability to pass a context and additional request options.
1226//
1227// See DescribeEventSource for details on how to use this API operation.
1228//
1229// The context must be non-nil and will be used for request cancellation. If
1230// the context is nil a panic will occur. In the future the SDK may create
1231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1232// for more information on using Contexts.
1233func (c *EventBridge) DescribeEventSourceWithContext(ctx aws.Context, input *DescribeEventSourceInput, opts ...request.Option) (*DescribeEventSourceOutput, error) {
1234	req, out := c.DescribeEventSourceRequest(input)
1235	req.SetContext(ctx)
1236	req.ApplyOptions(opts...)
1237	return out, req.Send()
1238}
1239
1240const opDescribePartnerEventSource = "DescribePartnerEventSource"
1241
1242// DescribePartnerEventSourceRequest generates a "aws/request.Request" representing the
1243// client's request for the DescribePartnerEventSource operation. The "output" return
1244// value will be populated with the request's response once the request completes
1245// successfully.
1246//
1247// Use "Send" method on the returned Request to send the API call to the service.
1248// the "output" return value is not valid until after Send returns without error.
1249//
1250// See DescribePartnerEventSource for more information on using the DescribePartnerEventSource
1251// API call, and error handling.
1252//
1253// This method is useful when you want to inject custom logic or configuration
1254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1255//
1256//
1257//    // Example sending a request using the DescribePartnerEventSourceRequest method.
1258//    req, resp := client.DescribePartnerEventSourceRequest(params)
1259//
1260//    err := req.Send()
1261//    if err == nil { // resp is now filled
1262//        fmt.Println(resp)
1263//    }
1264//
1265// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribePartnerEventSource
1266func (c *EventBridge) DescribePartnerEventSourceRequest(input *DescribePartnerEventSourceInput) (req *request.Request, output *DescribePartnerEventSourceOutput) {
1267	op := &request.Operation{
1268		Name:       opDescribePartnerEventSource,
1269		HTTPMethod: "POST",
1270		HTTPPath:   "/",
1271	}
1272
1273	if input == nil {
1274		input = &DescribePartnerEventSourceInput{}
1275	}
1276
1277	output = &DescribePartnerEventSourceOutput{}
1278	req = c.newRequest(op, input, output)
1279	return
1280}
1281
1282// DescribePartnerEventSource API operation for Amazon EventBridge.
1283//
1284// An SaaS partner can use this operation to list details about a partner event
1285// source that they have created. AWS customers do not use this operation. Instead,
1286// AWS customers can use DescribeEventSource to see details about a partner
1287// event source that is shared with them.
1288//
1289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1290// with awserr.Error's Code and Message methods to get detailed information about
1291// the error.
1292//
1293// See the AWS API reference guide for Amazon EventBridge's
1294// API operation DescribePartnerEventSource for usage and error information.
1295//
1296// Returned Error Types:
1297//   * ResourceNotFoundException
1298//   An entity that you specified does not exist.
1299//
1300//   * InternalException
1301//   This exception occurs due to unexpected causes.
1302//
1303//   * OperationDisabledException
1304//   The operation you are attempting is not available in this region.
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribePartnerEventSource
1307func (c *EventBridge) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) {
1308	req, out := c.DescribePartnerEventSourceRequest(input)
1309	return out, req.Send()
1310}
1311
1312// DescribePartnerEventSourceWithContext is the same as DescribePartnerEventSource with the addition of
1313// the ability to pass a context and additional request options.
1314//
1315// See DescribePartnerEventSource for details on how to use this API operation.
1316//
1317// The context must be non-nil and will be used for request cancellation. If
1318// the context is nil a panic will occur. In the future the SDK may create
1319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1320// for more information on using Contexts.
1321func (c *EventBridge) DescribePartnerEventSourceWithContext(ctx aws.Context, input *DescribePartnerEventSourceInput, opts ...request.Option) (*DescribePartnerEventSourceOutput, error) {
1322	req, out := c.DescribePartnerEventSourceRequest(input)
1323	req.SetContext(ctx)
1324	req.ApplyOptions(opts...)
1325	return out, req.Send()
1326}
1327
1328const opDescribeReplay = "DescribeReplay"
1329
1330// DescribeReplayRequest generates a "aws/request.Request" representing the
1331// client's request for the DescribeReplay operation. The "output" return
1332// value will be populated with the request's response once the request completes
1333// successfully.
1334//
1335// Use "Send" method on the returned Request to send the API call to the service.
1336// the "output" return value is not valid until after Send returns without error.
1337//
1338// See DescribeReplay for more information on using the DescribeReplay
1339// API call, and error handling.
1340//
1341// This method is useful when you want to inject custom logic or configuration
1342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1343//
1344//
1345//    // Example sending a request using the DescribeReplayRequest method.
1346//    req, resp := client.DescribeReplayRequest(params)
1347//
1348//    err := req.Send()
1349//    if err == nil { // resp is now filled
1350//        fmt.Println(resp)
1351//    }
1352//
1353// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeReplay
1354func (c *EventBridge) DescribeReplayRequest(input *DescribeReplayInput) (req *request.Request, output *DescribeReplayOutput) {
1355	op := &request.Operation{
1356		Name:       opDescribeReplay,
1357		HTTPMethod: "POST",
1358		HTTPPath:   "/",
1359	}
1360
1361	if input == nil {
1362		input = &DescribeReplayInput{}
1363	}
1364
1365	output = &DescribeReplayOutput{}
1366	req = c.newRequest(op, input, output)
1367	return
1368}
1369
1370// DescribeReplay API operation for Amazon EventBridge.
1371//
1372// Retrieves details about a replay. Use DescribeReplay to determine the progress
1373// of a running replay. A replay processes events to replay based on the time
1374// in the event, and replays them using 1 minute intervals. If you use StartReplay
1375// and specify an EventStartTime and an EventEndTime that covers a 20 minute
1376// time range, the events are replayed from the first minute of that 20 minute
1377// range first. Then the events from the second minute are replayed. You can
1378// use DescribeReplay to determine the progress of a replay. The value returned
1379// for EventLastReplayedTime indicates the time within the specified time range
1380// associated with the last event replayed.
1381//
1382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1383// with awserr.Error's Code and Message methods to get detailed information about
1384// the error.
1385//
1386// See the AWS API reference guide for Amazon EventBridge's
1387// API operation DescribeReplay for usage and error information.
1388//
1389// Returned Error Types:
1390//   * ResourceNotFoundException
1391//   An entity that you specified does not exist.
1392//
1393//   * InternalException
1394//   This exception occurs due to unexpected causes.
1395//
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeReplay
1397func (c *EventBridge) DescribeReplay(input *DescribeReplayInput) (*DescribeReplayOutput, error) {
1398	req, out := c.DescribeReplayRequest(input)
1399	return out, req.Send()
1400}
1401
1402// DescribeReplayWithContext is the same as DescribeReplay with the addition of
1403// the ability to pass a context and additional request options.
1404//
1405// See DescribeReplay for details on how to use this API operation.
1406//
1407// The context must be non-nil and will be used for request cancellation. If
1408// the context is nil a panic will occur. In the future the SDK may create
1409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1410// for more information on using Contexts.
1411func (c *EventBridge) DescribeReplayWithContext(ctx aws.Context, input *DescribeReplayInput, opts ...request.Option) (*DescribeReplayOutput, error) {
1412	req, out := c.DescribeReplayRequest(input)
1413	req.SetContext(ctx)
1414	req.ApplyOptions(opts...)
1415	return out, req.Send()
1416}
1417
1418const opDescribeRule = "DescribeRule"
1419
1420// DescribeRuleRequest generates a "aws/request.Request" representing the
1421// client's request for the DescribeRule operation. The "output" return
1422// value will be populated with the request's response once the request completes
1423// successfully.
1424//
1425// Use "Send" method on the returned Request to send the API call to the service.
1426// the "output" return value is not valid until after Send returns without error.
1427//
1428// See DescribeRule for more information on using the DescribeRule
1429// API call, and error handling.
1430//
1431// This method is useful when you want to inject custom logic or configuration
1432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1433//
1434//
1435//    // Example sending a request using the DescribeRuleRequest method.
1436//    req, resp := client.DescribeRuleRequest(params)
1437//
1438//    err := req.Send()
1439//    if err == nil { // resp is now filled
1440//        fmt.Println(resp)
1441//    }
1442//
1443// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeRule
1444func (c *EventBridge) DescribeRuleRequest(input *DescribeRuleInput) (req *request.Request, output *DescribeRuleOutput) {
1445	op := &request.Operation{
1446		Name:       opDescribeRule,
1447		HTTPMethod: "POST",
1448		HTTPPath:   "/",
1449	}
1450
1451	if input == nil {
1452		input = &DescribeRuleInput{}
1453	}
1454
1455	output = &DescribeRuleOutput{}
1456	req = c.newRequest(op, input, output)
1457	return
1458}
1459
1460// DescribeRule API operation for Amazon EventBridge.
1461//
1462// Describes the specified rule.
1463//
1464// DescribeRule does not list the targets of a rule. To see the targets associated
1465// with a rule, use ListTargetsByRule.
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 EventBridge's
1472// API operation DescribeRule 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/eventbridge-2015-10-07/DescribeRule
1482func (c *EventBridge) DescribeRule(input *DescribeRuleInput) (*DescribeRuleOutput, error) {
1483	req, out := c.DescribeRuleRequest(input)
1484	return out, req.Send()
1485}
1486
1487// DescribeRuleWithContext is the same as DescribeRule with the addition of
1488// the ability to pass a context and additional request options.
1489//
1490// See DescribeRule 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 *EventBridge) DescribeRuleWithContext(ctx aws.Context, input *DescribeRuleInput, opts ...request.Option) (*DescribeRuleOutput, error) {
1497	req, out := c.DescribeRuleRequest(input)
1498	req.SetContext(ctx)
1499	req.ApplyOptions(opts...)
1500	return out, req.Send()
1501}
1502
1503const opDisableRule = "DisableRule"
1504
1505// DisableRuleRequest generates a "aws/request.Request" representing the
1506// client's request for the DisableRule 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 DisableRule for more information on using the DisableRule
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 DisableRuleRequest method.
1521//    req, resp := client.DisableRuleRequest(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/eventbridge-2015-10-07/DisableRule
1529func (c *EventBridge) DisableRuleRequest(input *DisableRuleInput) (req *request.Request, output *DisableRuleOutput) {
1530	op := &request.Operation{
1531		Name:       opDisableRule,
1532		HTTPMethod: "POST",
1533		HTTPPath:   "/",
1534	}
1535
1536	if input == nil {
1537		input = &DisableRuleInput{}
1538	}
1539
1540	output = &DisableRuleOutput{}
1541	req = c.newRequest(op, input, output)
1542	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1543	return
1544}
1545
1546// DisableRule API operation for Amazon EventBridge.
1547//
1548// Disables the specified rule. A disabled rule won't match any events, and
1549// won't self-trigger if it has a schedule expression.
1550//
1551// When you disable a rule, incoming events might continue to match to the disabled
1552// rule. Allow a short period of time for changes to take effect.
1553//
1554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1555// with awserr.Error's Code and Message methods to get detailed information about
1556// the error.
1557//
1558// See the AWS API reference guide for Amazon EventBridge's
1559// API operation DisableRule for usage and error information.
1560//
1561// Returned Error Types:
1562//   * ResourceNotFoundException
1563//   An entity that you specified does not exist.
1564//
1565//   * ConcurrentModificationException
1566//   There is concurrent modification on a rule, target, archive, or replay.
1567//
1568//   * ManagedRuleException
1569//   This rule was created by an AWS service on behalf of your account. It is
1570//   managed by that service. If you see this error in response to DeleteRule
1571//   or RemoveTargets, you can use the Force parameter in those calls to delete
1572//   the rule or remove targets from the rule. You cannot modify these managed
1573//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
1574//   or UntagResource.
1575//
1576//   * InternalException
1577//   This exception occurs due to unexpected causes.
1578//
1579// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DisableRule
1580func (c *EventBridge) DisableRule(input *DisableRuleInput) (*DisableRuleOutput, error) {
1581	req, out := c.DisableRuleRequest(input)
1582	return out, req.Send()
1583}
1584
1585// DisableRuleWithContext is the same as DisableRule with the addition of
1586// the ability to pass a context and additional request options.
1587//
1588// See DisableRule for details on how to use this API operation.
1589//
1590// The context must be non-nil and will be used for request cancellation. If
1591// the context is nil a panic will occur. In the future the SDK may create
1592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1593// for more information on using Contexts.
1594func (c *EventBridge) DisableRuleWithContext(ctx aws.Context, input *DisableRuleInput, opts ...request.Option) (*DisableRuleOutput, error) {
1595	req, out := c.DisableRuleRequest(input)
1596	req.SetContext(ctx)
1597	req.ApplyOptions(opts...)
1598	return out, req.Send()
1599}
1600
1601const opEnableRule = "EnableRule"
1602
1603// EnableRuleRequest generates a "aws/request.Request" representing the
1604// client's request for the EnableRule operation. The "output" return
1605// value will be populated with the request's response once the request completes
1606// successfully.
1607//
1608// Use "Send" method on the returned Request to send the API call to the service.
1609// the "output" return value is not valid until after Send returns without error.
1610//
1611// See EnableRule for more information on using the EnableRule
1612// API call, and error handling.
1613//
1614// This method is useful when you want to inject custom logic or configuration
1615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1616//
1617//
1618//    // Example sending a request using the EnableRuleRequest method.
1619//    req, resp := client.EnableRuleRequest(params)
1620//
1621//    err := req.Send()
1622//    if err == nil { // resp is now filled
1623//        fmt.Println(resp)
1624//    }
1625//
1626// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/EnableRule
1627func (c *EventBridge) EnableRuleRequest(input *EnableRuleInput) (req *request.Request, output *EnableRuleOutput) {
1628	op := &request.Operation{
1629		Name:       opEnableRule,
1630		HTTPMethod: "POST",
1631		HTTPPath:   "/",
1632	}
1633
1634	if input == nil {
1635		input = &EnableRuleInput{}
1636	}
1637
1638	output = &EnableRuleOutput{}
1639	req = c.newRequest(op, input, output)
1640	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1641	return
1642}
1643
1644// EnableRule API operation for Amazon EventBridge.
1645//
1646// Enables the specified rule. If the rule does not exist, the operation fails.
1647//
1648// When you enable a rule, incoming events might not immediately start matching
1649// to a newly enabled rule. Allow a short period of time for changes to take
1650// effect.
1651//
1652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1653// with awserr.Error's Code and Message methods to get detailed information about
1654// the error.
1655//
1656// See the AWS API reference guide for Amazon EventBridge's
1657// API operation EnableRule for usage and error information.
1658//
1659// Returned Error Types:
1660//   * ResourceNotFoundException
1661//   An entity that you specified does not exist.
1662//
1663//   * ConcurrentModificationException
1664//   There is concurrent modification on a rule, target, archive, or replay.
1665//
1666//   * ManagedRuleException
1667//   This rule was created by an AWS service on behalf of your account. It is
1668//   managed by that service. If you see this error in response to DeleteRule
1669//   or RemoveTargets, you can use the Force parameter in those calls to delete
1670//   the rule or remove targets from the rule. You cannot modify these managed
1671//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
1672//   or UntagResource.
1673//
1674//   * InternalException
1675//   This exception occurs due to unexpected causes.
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/EnableRule
1678func (c *EventBridge) EnableRule(input *EnableRuleInput) (*EnableRuleOutput, error) {
1679	req, out := c.EnableRuleRequest(input)
1680	return out, req.Send()
1681}
1682
1683// EnableRuleWithContext is the same as EnableRule with the addition of
1684// the ability to pass a context and additional request options.
1685//
1686// See EnableRule for details on how to use this API operation.
1687//
1688// The context must be non-nil and will be used for request cancellation. If
1689// the context is nil a panic will occur. In the future the SDK may create
1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1691// for more information on using Contexts.
1692func (c *EventBridge) EnableRuleWithContext(ctx aws.Context, input *EnableRuleInput, opts ...request.Option) (*EnableRuleOutput, error) {
1693	req, out := c.EnableRuleRequest(input)
1694	req.SetContext(ctx)
1695	req.ApplyOptions(opts...)
1696	return out, req.Send()
1697}
1698
1699const opListArchives = "ListArchives"
1700
1701// ListArchivesRequest generates a "aws/request.Request" representing the
1702// client's request for the ListArchives operation. The "output" return
1703// value will be populated with the request's response once the request completes
1704// successfully.
1705//
1706// Use "Send" method on the returned Request to send the API call to the service.
1707// the "output" return value is not valid until after Send returns without error.
1708//
1709// See ListArchives for more information on using the ListArchives
1710// API call, and error handling.
1711//
1712// This method is useful when you want to inject custom logic or configuration
1713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1714//
1715//
1716//    // Example sending a request using the ListArchivesRequest method.
1717//    req, resp := client.ListArchivesRequest(params)
1718//
1719//    err := req.Send()
1720//    if err == nil { // resp is now filled
1721//        fmt.Println(resp)
1722//    }
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListArchives
1725func (c *EventBridge) ListArchivesRequest(input *ListArchivesInput) (req *request.Request, output *ListArchivesOutput) {
1726	op := &request.Operation{
1727		Name:       opListArchives,
1728		HTTPMethod: "POST",
1729		HTTPPath:   "/",
1730	}
1731
1732	if input == nil {
1733		input = &ListArchivesInput{}
1734	}
1735
1736	output = &ListArchivesOutput{}
1737	req = c.newRequest(op, input, output)
1738	return
1739}
1740
1741// ListArchives API operation for Amazon EventBridge.
1742//
1743// Lists your archives. You can either list all the archives or you can provide
1744// a prefix to match to the archive names. Filter parameters are exclusive.
1745//
1746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1747// with awserr.Error's Code and Message methods to get detailed information about
1748// the error.
1749//
1750// See the AWS API reference guide for Amazon EventBridge's
1751// API operation ListArchives for usage and error information.
1752//
1753// Returned Error Types:
1754//   * ResourceNotFoundException
1755//   An entity that you specified does not exist.
1756//
1757//   * InternalException
1758//   This exception occurs due to unexpected causes.
1759//
1760// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListArchives
1761func (c *EventBridge) ListArchives(input *ListArchivesInput) (*ListArchivesOutput, error) {
1762	req, out := c.ListArchivesRequest(input)
1763	return out, req.Send()
1764}
1765
1766// ListArchivesWithContext is the same as ListArchives with the addition of
1767// the ability to pass a context and additional request options.
1768//
1769// See ListArchives for details on how to use this API operation.
1770//
1771// The context must be non-nil and will be used for request cancellation. If
1772// the context is nil a panic will occur. In the future the SDK may create
1773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1774// for more information on using Contexts.
1775func (c *EventBridge) ListArchivesWithContext(ctx aws.Context, input *ListArchivesInput, opts ...request.Option) (*ListArchivesOutput, error) {
1776	req, out := c.ListArchivesRequest(input)
1777	req.SetContext(ctx)
1778	req.ApplyOptions(opts...)
1779	return out, req.Send()
1780}
1781
1782const opListEventBuses = "ListEventBuses"
1783
1784// ListEventBusesRequest generates a "aws/request.Request" representing the
1785// client's request for the ListEventBuses operation. The "output" return
1786// value will be populated with the request's response once the request completes
1787// successfully.
1788//
1789// Use "Send" method on the returned Request to send the API call to the service.
1790// the "output" return value is not valid until after Send returns without error.
1791//
1792// See ListEventBuses for more information on using the ListEventBuses
1793// API call, and error handling.
1794//
1795// This method is useful when you want to inject custom logic or configuration
1796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1797//
1798//
1799//    // Example sending a request using the ListEventBusesRequest method.
1800//    req, resp := client.ListEventBusesRequest(params)
1801//
1802//    err := req.Send()
1803//    if err == nil { // resp is now filled
1804//        fmt.Println(resp)
1805//    }
1806//
1807// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListEventBuses
1808func (c *EventBridge) ListEventBusesRequest(input *ListEventBusesInput) (req *request.Request, output *ListEventBusesOutput) {
1809	op := &request.Operation{
1810		Name:       opListEventBuses,
1811		HTTPMethod: "POST",
1812		HTTPPath:   "/",
1813	}
1814
1815	if input == nil {
1816		input = &ListEventBusesInput{}
1817	}
1818
1819	output = &ListEventBusesOutput{}
1820	req = c.newRequest(op, input, output)
1821	return
1822}
1823
1824// ListEventBuses API operation for Amazon EventBridge.
1825//
1826// Lists all the event buses in your account, including the default event bus,
1827// custom event buses, and partner event buses.
1828//
1829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1830// with awserr.Error's Code and Message methods to get detailed information about
1831// the error.
1832//
1833// See the AWS API reference guide for Amazon EventBridge's
1834// API operation ListEventBuses for usage and error information.
1835//
1836// Returned Error Types:
1837//   * InternalException
1838//   This exception occurs due to unexpected causes.
1839//
1840// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListEventBuses
1841func (c *EventBridge) ListEventBuses(input *ListEventBusesInput) (*ListEventBusesOutput, error) {
1842	req, out := c.ListEventBusesRequest(input)
1843	return out, req.Send()
1844}
1845
1846// ListEventBusesWithContext is the same as ListEventBuses with the addition of
1847// the ability to pass a context and additional request options.
1848//
1849// See ListEventBuses for details on how to use this API operation.
1850//
1851// The context must be non-nil and will be used for request cancellation. If
1852// the context is nil a panic will occur. In the future the SDK may create
1853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1854// for more information on using Contexts.
1855func (c *EventBridge) ListEventBusesWithContext(ctx aws.Context, input *ListEventBusesInput, opts ...request.Option) (*ListEventBusesOutput, error) {
1856	req, out := c.ListEventBusesRequest(input)
1857	req.SetContext(ctx)
1858	req.ApplyOptions(opts...)
1859	return out, req.Send()
1860}
1861
1862const opListEventSources = "ListEventSources"
1863
1864// ListEventSourcesRequest generates a "aws/request.Request" representing the
1865// client's request for the ListEventSources operation. The "output" return
1866// value will be populated with the request's response once the request completes
1867// successfully.
1868//
1869// Use "Send" method on the returned Request to send the API call to the service.
1870// the "output" return value is not valid until after Send returns without error.
1871//
1872// See ListEventSources for more information on using the ListEventSources
1873// API call, and error handling.
1874//
1875// This method is useful when you want to inject custom logic or configuration
1876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1877//
1878//
1879//    // Example sending a request using the ListEventSourcesRequest method.
1880//    req, resp := client.ListEventSourcesRequest(params)
1881//
1882//    err := req.Send()
1883//    if err == nil { // resp is now filled
1884//        fmt.Println(resp)
1885//    }
1886//
1887// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListEventSources
1888func (c *EventBridge) ListEventSourcesRequest(input *ListEventSourcesInput) (req *request.Request, output *ListEventSourcesOutput) {
1889	op := &request.Operation{
1890		Name:       opListEventSources,
1891		HTTPMethod: "POST",
1892		HTTPPath:   "/",
1893	}
1894
1895	if input == nil {
1896		input = &ListEventSourcesInput{}
1897	}
1898
1899	output = &ListEventSourcesOutput{}
1900	req = c.newRequest(op, input, output)
1901	return
1902}
1903
1904// ListEventSources API operation for Amazon EventBridge.
1905//
1906// You can use this to see all the partner event sources that have been shared
1907// with your AWS account. For more information about partner event sources,
1908// see CreateEventBus.
1909//
1910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1911// with awserr.Error's Code and Message methods to get detailed information about
1912// the error.
1913//
1914// See the AWS API reference guide for Amazon EventBridge's
1915// API operation ListEventSources for usage and error information.
1916//
1917// Returned Error Types:
1918//   * InternalException
1919//   This exception occurs due to unexpected causes.
1920//
1921//   * OperationDisabledException
1922//   The operation you are attempting is not available in this region.
1923//
1924// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListEventSources
1925func (c *EventBridge) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) {
1926	req, out := c.ListEventSourcesRequest(input)
1927	return out, req.Send()
1928}
1929
1930// ListEventSourcesWithContext is the same as ListEventSources with the addition of
1931// the ability to pass a context and additional request options.
1932//
1933// See ListEventSources for details on how to use this API operation.
1934//
1935// The context must be non-nil and will be used for request cancellation. If
1936// the context is nil a panic will occur. In the future the SDK may create
1937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1938// for more information on using Contexts.
1939func (c *EventBridge) ListEventSourcesWithContext(ctx aws.Context, input *ListEventSourcesInput, opts ...request.Option) (*ListEventSourcesOutput, error) {
1940	req, out := c.ListEventSourcesRequest(input)
1941	req.SetContext(ctx)
1942	req.ApplyOptions(opts...)
1943	return out, req.Send()
1944}
1945
1946const opListPartnerEventSourceAccounts = "ListPartnerEventSourceAccounts"
1947
1948// ListPartnerEventSourceAccountsRequest generates a "aws/request.Request" representing the
1949// client's request for the ListPartnerEventSourceAccounts operation. The "output" return
1950// value will be populated with the request's response once the request completes
1951// successfully.
1952//
1953// Use "Send" method on the returned Request to send the API call to the service.
1954// the "output" return value is not valid until after Send returns without error.
1955//
1956// See ListPartnerEventSourceAccounts for more information on using the ListPartnerEventSourceAccounts
1957// API call, and error handling.
1958//
1959// This method is useful when you want to inject custom logic or configuration
1960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1961//
1962//
1963//    // Example sending a request using the ListPartnerEventSourceAccountsRequest method.
1964//    req, resp := client.ListPartnerEventSourceAccountsRequest(params)
1965//
1966//    err := req.Send()
1967//    if err == nil { // resp is now filled
1968//        fmt.Println(resp)
1969//    }
1970//
1971// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSourceAccounts
1972func (c *EventBridge) ListPartnerEventSourceAccountsRequest(input *ListPartnerEventSourceAccountsInput) (req *request.Request, output *ListPartnerEventSourceAccountsOutput) {
1973	op := &request.Operation{
1974		Name:       opListPartnerEventSourceAccounts,
1975		HTTPMethod: "POST",
1976		HTTPPath:   "/",
1977	}
1978
1979	if input == nil {
1980		input = &ListPartnerEventSourceAccountsInput{}
1981	}
1982
1983	output = &ListPartnerEventSourceAccountsOutput{}
1984	req = c.newRequest(op, input, output)
1985	return
1986}
1987
1988// ListPartnerEventSourceAccounts API operation for Amazon EventBridge.
1989//
1990// An SaaS partner can use this operation to display the AWS account ID that
1991// a particular partner event source name is associated with. This operation
1992// is not used by AWS customers.
1993//
1994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1995// with awserr.Error's Code and Message methods to get detailed information about
1996// the error.
1997//
1998// See the AWS API reference guide for Amazon EventBridge's
1999// API operation ListPartnerEventSourceAccounts for usage and error information.
2000//
2001// Returned Error Types:
2002//   * ResourceNotFoundException
2003//   An entity that you specified does not exist.
2004//
2005//   * InternalException
2006//   This exception occurs due to unexpected causes.
2007//
2008//   * OperationDisabledException
2009//   The operation you are attempting is not available in this region.
2010//
2011// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSourceAccounts
2012func (c *EventBridge) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) {
2013	req, out := c.ListPartnerEventSourceAccountsRequest(input)
2014	return out, req.Send()
2015}
2016
2017// ListPartnerEventSourceAccountsWithContext is the same as ListPartnerEventSourceAccounts with the addition of
2018// the ability to pass a context and additional request options.
2019//
2020// See ListPartnerEventSourceAccounts for details on how to use this API operation.
2021//
2022// The context must be non-nil and will be used for request cancellation. If
2023// the context is nil a panic will occur. In the future the SDK may create
2024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2025// for more information on using Contexts.
2026func (c *EventBridge) ListPartnerEventSourceAccountsWithContext(ctx aws.Context, input *ListPartnerEventSourceAccountsInput, opts ...request.Option) (*ListPartnerEventSourceAccountsOutput, error) {
2027	req, out := c.ListPartnerEventSourceAccountsRequest(input)
2028	req.SetContext(ctx)
2029	req.ApplyOptions(opts...)
2030	return out, req.Send()
2031}
2032
2033const opListPartnerEventSources = "ListPartnerEventSources"
2034
2035// ListPartnerEventSourcesRequest generates a "aws/request.Request" representing the
2036// client's request for the ListPartnerEventSources operation. The "output" return
2037// value will be populated with the request's response once the request completes
2038// successfully.
2039//
2040// Use "Send" method on the returned Request to send the API call to the service.
2041// the "output" return value is not valid until after Send returns without error.
2042//
2043// See ListPartnerEventSources for more information on using the ListPartnerEventSources
2044// API call, and error handling.
2045//
2046// This method is useful when you want to inject custom logic or configuration
2047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2048//
2049//
2050//    // Example sending a request using the ListPartnerEventSourcesRequest method.
2051//    req, resp := client.ListPartnerEventSourcesRequest(params)
2052//
2053//    err := req.Send()
2054//    if err == nil { // resp is now filled
2055//        fmt.Println(resp)
2056//    }
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSources
2059func (c *EventBridge) ListPartnerEventSourcesRequest(input *ListPartnerEventSourcesInput) (req *request.Request, output *ListPartnerEventSourcesOutput) {
2060	op := &request.Operation{
2061		Name:       opListPartnerEventSources,
2062		HTTPMethod: "POST",
2063		HTTPPath:   "/",
2064	}
2065
2066	if input == nil {
2067		input = &ListPartnerEventSourcesInput{}
2068	}
2069
2070	output = &ListPartnerEventSourcesOutput{}
2071	req = c.newRequest(op, input, output)
2072	return
2073}
2074
2075// ListPartnerEventSources API operation for Amazon EventBridge.
2076//
2077// An SaaS partner can use this operation to list all the partner event source
2078// names that they have created. This operation is not used by AWS customers.
2079//
2080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2081// with awserr.Error's Code and Message methods to get detailed information about
2082// the error.
2083//
2084// See the AWS API reference guide for Amazon EventBridge's
2085// API operation ListPartnerEventSources for usage and error information.
2086//
2087// Returned Error Types:
2088//   * InternalException
2089//   This exception occurs due to unexpected causes.
2090//
2091//   * OperationDisabledException
2092//   The operation you are attempting is not available in this region.
2093//
2094// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSources
2095func (c *EventBridge) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) {
2096	req, out := c.ListPartnerEventSourcesRequest(input)
2097	return out, req.Send()
2098}
2099
2100// ListPartnerEventSourcesWithContext is the same as ListPartnerEventSources with the addition of
2101// the ability to pass a context and additional request options.
2102//
2103// See ListPartnerEventSources for details on how to use this API operation.
2104//
2105// The context must be non-nil and will be used for request cancellation. If
2106// the context is nil a panic will occur. In the future the SDK may create
2107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2108// for more information on using Contexts.
2109func (c *EventBridge) ListPartnerEventSourcesWithContext(ctx aws.Context, input *ListPartnerEventSourcesInput, opts ...request.Option) (*ListPartnerEventSourcesOutput, error) {
2110	req, out := c.ListPartnerEventSourcesRequest(input)
2111	req.SetContext(ctx)
2112	req.ApplyOptions(opts...)
2113	return out, req.Send()
2114}
2115
2116const opListReplays = "ListReplays"
2117
2118// ListReplaysRequest generates a "aws/request.Request" representing the
2119// client's request for the ListReplays operation. The "output" return
2120// value will be populated with the request's response once the request completes
2121// successfully.
2122//
2123// Use "Send" method on the returned Request to send the API call to the service.
2124// the "output" return value is not valid until after Send returns without error.
2125//
2126// See ListReplays for more information on using the ListReplays
2127// API call, and error handling.
2128//
2129// This method is useful when you want to inject custom logic or configuration
2130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2131//
2132//
2133//    // Example sending a request using the ListReplaysRequest method.
2134//    req, resp := client.ListReplaysRequest(params)
2135//
2136//    err := req.Send()
2137//    if err == nil { // resp is now filled
2138//        fmt.Println(resp)
2139//    }
2140//
2141// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListReplays
2142func (c *EventBridge) ListReplaysRequest(input *ListReplaysInput) (req *request.Request, output *ListReplaysOutput) {
2143	op := &request.Operation{
2144		Name:       opListReplays,
2145		HTTPMethod: "POST",
2146		HTTPPath:   "/",
2147	}
2148
2149	if input == nil {
2150		input = &ListReplaysInput{}
2151	}
2152
2153	output = &ListReplaysOutput{}
2154	req = c.newRequest(op, input, output)
2155	return
2156}
2157
2158// ListReplays API operation for Amazon EventBridge.
2159//
2160// Lists your replays. You can either list all the replays or you can provide
2161// a prefix to match to the replay names. Filter parameters are exclusive.
2162//
2163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2164// with awserr.Error's Code and Message methods to get detailed information about
2165// the error.
2166//
2167// See the AWS API reference guide for Amazon EventBridge's
2168// API operation ListReplays for usage and error information.
2169//
2170// Returned Error Types:
2171//   * InternalException
2172//   This exception occurs due to unexpected causes.
2173//
2174// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListReplays
2175func (c *EventBridge) ListReplays(input *ListReplaysInput) (*ListReplaysOutput, error) {
2176	req, out := c.ListReplaysRequest(input)
2177	return out, req.Send()
2178}
2179
2180// ListReplaysWithContext is the same as ListReplays with the addition of
2181// the ability to pass a context and additional request options.
2182//
2183// See ListReplays for details on how to use this API operation.
2184//
2185// The context must be non-nil and will be used for request cancellation. If
2186// the context is nil a panic will occur. In the future the SDK may create
2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2188// for more information on using Contexts.
2189func (c *EventBridge) ListReplaysWithContext(ctx aws.Context, input *ListReplaysInput, opts ...request.Option) (*ListReplaysOutput, error) {
2190	req, out := c.ListReplaysRequest(input)
2191	req.SetContext(ctx)
2192	req.ApplyOptions(opts...)
2193	return out, req.Send()
2194}
2195
2196const opListRuleNamesByTarget = "ListRuleNamesByTarget"
2197
2198// ListRuleNamesByTargetRequest generates a "aws/request.Request" representing the
2199// client's request for the ListRuleNamesByTarget operation. The "output" return
2200// value will be populated with the request's response once the request completes
2201// successfully.
2202//
2203// Use "Send" method on the returned Request to send the API call to the service.
2204// the "output" return value is not valid until after Send returns without error.
2205//
2206// See ListRuleNamesByTarget for more information on using the ListRuleNamesByTarget
2207// API call, and error handling.
2208//
2209// This method is useful when you want to inject custom logic or configuration
2210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2211//
2212//
2213//    // Example sending a request using the ListRuleNamesByTargetRequest method.
2214//    req, resp := client.ListRuleNamesByTargetRequest(params)
2215//
2216//    err := req.Send()
2217//    if err == nil { // resp is now filled
2218//        fmt.Println(resp)
2219//    }
2220//
2221// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListRuleNamesByTarget
2222func (c *EventBridge) ListRuleNamesByTargetRequest(input *ListRuleNamesByTargetInput) (req *request.Request, output *ListRuleNamesByTargetOutput) {
2223	op := &request.Operation{
2224		Name:       opListRuleNamesByTarget,
2225		HTTPMethod: "POST",
2226		HTTPPath:   "/",
2227	}
2228
2229	if input == nil {
2230		input = &ListRuleNamesByTargetInput{}
2231	}
2232
2233	output = &ListRuleNamesByTargetOutput{}
2234	req = c.newRequest(op, input, output)
2235	return
2236}
2237
2238// ListRuleNamesByTarget API operation for Amazon EventBridge.
2239//
2240// Lists the rules for the specified target. You can see which of the rules
2241// in Amazon EventBridge can invoke a specific target in your account.
2242//
2243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2244// with awserr.Error's Code and Message methods to get detailed information about
2245// the error.
2246//
2247// See the AWS API reference guide for Amazon EventBridge's
2248// API operation ListRuleNamesByTarget for usage and error information.
2249//
2250// Returned Error Types:
2251//   * InternalException
2252//   This exception occurs due to unexpected causes.
2253//
2254//   * ResourceNotFoundException
2255//   An entity that you specified does not exist.
2256//
2257// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListRuleNamesByTarget
2258func (c *EventBridge) ListRuleNamesByTarget(input *ListRuleNamesByTargetInput) (*ListRuleNamesByTargetOutput, error) {
2259	req, out := c.ListRuleNamesByTargetRequest(input)
2260	return out, req.Send()
2261}
2262
2263// ListRuleNamesByTargetWithContext is the same as ListRuleNamesByTarget with the addition of
2264// the ability to pass a context and additional request options.
2265//
2266// See ListRuleNamesByTarget for details on how to use this API operation.
2267//
2268// The context must be non-nil and will be used for request cancellation. If
2269// the context is nil a panic will occur. In the future the SDK may create
2270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2271// for more information on using Contexts.
2272func (c *EventBridge) ListRuleNamesByTargetWithContext(ctx aws.Context, input *ListRuleNamesByTargetInput, opts ...request.Option) (*ListRuleNamesByTargetOutput, error) {
2273	req, out := c.ListRuleNamesByTargetRequest(input)
2274	req.SetContext(ctx)
2275	req.ApplyOptions(opts...)
2276	return out, req.Send()
2277}
2278
2279const opListRules = "ListRules"
2280
2281// ListRulesRequest generates a "aws/request.Request" representing the
2282// client's request for the ListRules operation. The "output" return
2283// value will be populated with the request's response once the request completes
2284// successfully.
2285//
2286// Use "Send" method on the returned Request to send the API call to the service.
2287// the "output" return value is not valid until after Send returns without error.
2288//
2289// See ListRules for more information on using the ListRules
2290// API call, and error handling.
2291//
2292// This method is useful when you want to inject custom logic or configuration
2293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2294//
2295//
2296//    // Example sending a request using the ListRulesRequest method.
2297//    req, resp := client.ListRulesRequest(params)
2298//
2299//    err := req.Send()
2300//    if err == nil { // resp is now filled
2301//        fmt.Println(resp)
2302//    }
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListRules
2305func (c *EventBridge) ListRulesRequest(input *ListRulesInput) (req *request.Request, output *ListRulesOutput) {
2306	op := &request.Operation{
2307		Name:       opListRules,
2308		HTTPMethod: "POST",
2309		HTTPPath:   "/",
2310	}
2311
2312	if input == nil {
2313		input = &ListRulesInput{}
2314	}
2315
2316	output = &ListRulesOutput{}
2317	req = c.newRequest(op, input, output)
2318	return
2319}
2320
2321// ListRules API operation for Amazon EventBridge.
2322//
2323// Lists your Amazon EventBridge rules. You can either list all the rules or
2324// you can provide a prefix to match to the rule names.
2325//
2326// ListRules does not list the targets of a rule. To see the targets associated
2327// with a rule, use ListTargetsByRule.
2328//
2329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2330// with awserr.Error's Code and Message methods to get detailed information about
2331// the error.
2332//
2333// See the AWS API reference guide for Amazon EventBridge's
2334// API operation ListRules for usage and error information.
2335//
2336// Returned Error Types:
2337//   * InternalException
2338//   This exception occurs due to unexpected causes.
2339//
2340//   * ResourceNotFoundException
2341//   An entity that you specified does not exist.
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListRules
2344func (c *EventBridge) ListRules(input *ListRulesInput) (*ListRulesOutput, error) {
2345	req, out := c.ListRulesRequest(input)
2346	return out, req.Send()
2347}
2348
2349// ListRulesWithContext is the same as ListRules with the addition of
2350// the ability to pass a context and additional request options.
2351//
2352// See ListRules for details on how to use this API operation.
2353//
2354// The context must be non-nil and will be used for request cancellation. If
2355// the context is nil a panic will occur. In the future the SDK may create
2356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2357// for more information on using Contexts.
2358func (c *EventBridge) ListRulesWithContext(ctx aws.Context, input *ListRulesInput, opts ...request.Option) (*ListRulesOutput, error) {
2359	req, out := c.ListRulesRequest(input)
2360	req.SetContext(ctx)
2361	req.ApplyOptions(opts...)
2362	return out, req.Send()
2363}
2364
2365const opListTagsForResource = "ListTagsForResource"
2366
2367// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2368// client's request for the ListTagsForResource operation. The "output" return
2369// value will be populated with the request's response once the request completes
2370// successfully.
2371//
2372// Use "Send" method on the returned Request to send the API call to the service.
2373// the "output" return value is not valid until after Send returns without error.
2374//
2375// See ListTagsForResource for more information on using the ListTagsForResource
2376// API call, and error handling.
2377//
2378// This method is useful when you want to inject custom logic or configuration
2379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2380//
2381//
2382//    // Example sending a request using the ListTagsForResourceRequest method.
2383//    req, resp := client.ListTagsForResourceRequest(params)
2384//
2385//    err := req.Send()
2386//    if err == nil { // resp is now filled
2387//        fmt.Println(resp)
2388//    }
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListTagsForResource
2391func (c *EventBridge) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2392	op := &request.Operation{
2393		Name:       opListTagsForResource,
2394		HTTPMethod: "POST",
2395		HTTPPath:   "/",
2396	}
2397
2398	if input == nil {
2399		input = &ListTagsForResourceInput{}
2400	}
2401
2402	output = &ListTagsForResourceOutput{}
2403	req = c.newRequest(op, input, output)
2404	return
2405}
2406
2407// ListTagsForResource API operation for Amazon EventBridge.
2408//
2409// Displays the tags associated with an EventBridge resource. In EventBridge,
2410// rules and event buses can be tagged.
2411//
2412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2413// with awserr.Error's Code and Message methods to get detailed information about
2414// the error.
2415//
2416// See the AWS API reference guide for Amazon EventBridge's
2417// API operation ListTagsForResource for usage and error information.
2418//
2419// Returned Error Types:
2420//   * ResourceNotFoundException
2421//   An entity that you specified does not exist.
2422//
2423//   * InternalException
2424//   This exception occurs due to unexpected causes.
2425//
2426// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListTagsForResource
2427func (c *EventBridge) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2428	req, out := c.ListTagsForResourceRequest(input)
2429	return out, req.Send()
2430}
2431
2432// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2433// the ability to pass a context and additional request options.
2434//
2435// See ListTagsForResource for details on how to use this API operation.
2436//
2437// The context must be non-nil and will be used for request cancellation. If
2438// the context is nil a panic will occur. In the future the SDK may create
2439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2440// for more information on using Contexts.
2441func (c *EventBridge) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2442	req, out := c.ListTagsForResourceRequest(input)
2443	req.SetContext(ctx)
2444	req.ApplyOptions(opts...)
2445	return out, req.Send()
2446}
2447
2448const opListTargetsByRule = "ListTargetsByRule"
2449
2450// ListTargetsByRuleRequest generates a "aws/request.Request" representing the
2451// client's request for the ListTargetsByRule operation. The "output" return
2452// value will be populated with the request's response once the request completes
2453// successfully.
2454//
2455// Use "Send" method on the returned Request to send the API call to the service.
2456// the "output" return value is not valid until after Send returns without error.
2457//
2458// See ListTargetsByRule for more information on using the ListTargetsByRule
2459// API call, and error handling.
2460//
2461// This method is useful when you want to inject custom logic or configuration
2462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2463//
2464//
2465//    // Example sending a request using the ListTargetsByRuleRequest method.
2466//    req, resp := client.ListTargetsByRuleRequest(params)
2467//
2468//    err := req.Send()
2469//    if err == nil { // resp is now filled
2470//        fmt.Println(resp)
2471//    }
2472//
2473// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListTargetsByRule
2474func (c *EventBridge) ListTargetsByRuleRequest(input *ListTargetsByRuleInput) (req *request.Request, output *ListTargetsByRuleOutput) {
2475	op := &request.Operation{
2476		Name:       opListTargetsByRule,
2477		HTTPMethod: "POST",
2478		HTTPPath:   "/",
2479	}
2480
2481	if input == nil {
2482		input = &ListTargetsByRuleInput{}
2483	}
2484
2485	output = &ListTargetsByRuleOutput{}
2486	req = c.newRequest(op, input, output)
2487	return
2488}
2489
2490// ListTargetsByRule API operation for Amazon EventBridge.
2491//
2492// Lists the targets assigned to the specified rule.
2493//
2494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2495// with awserr.Error's Code and Message methods to get detailed information about
2496// the error.
2497//
2498// See the AWS API reference guide for Amazon EventBridge's
2499// API operation ListTargetsByRule for usage and error information.
2500//
2501// Returned Error Types:
2502//   * ResourceNotFoundException
2503//   An entity that you specified does not exist.
2504//
2505//   * InternalException
2506//   This exception occurs due to unexpected causes.
2507//
2508// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListTargetsByRule
2509func (c *EventBridge) ListTargetsByRule(input *ListTargetsByRuleInput) (*ListTargetsByRuleOutput, error) {
2510	req, out := c.ListTargetsByRuleRequest(input)
2511	return out, req.Send()
2512}
2513
2514// ListTargetsByRuleWithContext is the same as ListTargetsByRule with the addition of
2515// the ability to pass a context and additional request options.
2516//
2517// See ListTargetsByRule for details on how to use this API operation.
2518//
2519// The context must be non-nil and will be used for request cancellation. If
2520// the context is nil a panic will occur. In the future the SDK may create
2521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2522// for more information on using Contexts.
2523func (c *EventBridge) ListTargetsByRuleWithContext(ctx aws.Context, input *ListTargetsByRuleInput, opts ...request.Option) (*ListTargetsByRuleOutput, error) {
2524	req, out := c.ListTargetsByRuleRequest(input)
2525	req.SetContext(ctx)
2526	req.ApplyOptions(opts...)
2527	return out, req.Send()
2528}
2529
2530const opPutEvents = "PutEvents"
2531
2532// PutEventsRequest generates a "aws/request.Request" representing the
2533// client's request for the PutEvents operation. The "output" return
2534// value will be populated with the request's response once the request completes
2535// successfully.
2536//
2537// Use "Send" method on the returned Request to send the API call to the service.
2538// the "output" return value is not valid until after Send returns without error.
2539//
2540// See PutEvents for more information on using the PutEvents
2541// API call, and error handling.
2542//
2543// This method is useful when you want to inject custom logic or configuration
2544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2545//
2546//
2547//    // Example sending a request using the PutEventsRequest method.
2548//    req, resp := client.PutEventsRequest(params)
2549//
2550//    err := req.Send()
2551//    if err == nil { // resp is now filled
2552//        fmt.Println(resp)
2553//    }
2554//
2555// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutEvents
2556func (c *EventBridge) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
2557	op := &request.Operation{
2558		Name:       opPutEvents,
2559		HTTPMethod: "POST",
2560		HTTPPath:   "/",
2561	}
2562
2563	if input == nil {
2564		input = &PutEventsInput{}
2565	}
2566
2567	output = &PutEventsOutput{}
2568	req = c.newRequest(op, input, output)
2569	return
2570}
2571
2572// PutEvents API operation for Amazon EventBridge.
2573//
2574// Sends custom events to Amazon EventBridge so that they can be matched to
2575// rules.
2576//
2577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2578// with awserr.Error's Code and Message methods to get detailed information about
2579// the error.
2580//
2581// See the AWS API reference guide for Amazon EventBridge's
2582// API operation PutEvents for usage and error information.
2583//
2584// Returned Error Types:
2585//   * InternalException
2586//   This exception occurs due to unexpected causes.
2587//
2588// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutEvents
2589func (c *EventBridge) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
2590	req, out := c.PutEventsRequest(input)
2591	return out, req.Send()
2592}
2593
2594// PutEventsWithContext is the same as PutEvents with the addition of
2595// the ability to pass a context and additional request options.
2596//
2597// See PutEvents for details on how to use this API operation.
2598//
2599// The context must be non-nil and will be used for request cancellation. If
2600// the context is nil a panic will occur. In the future the SDK may create
2601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2602// for more information on using Contexts.
2603func (c *EventBridge) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
2604	req, out := c.PutEventsRequest(input)
2605	req.SetContext(ctx)
2606	req.ApplyOptions(opts...)
2607	return out, req.Send()
2608}
2609
2610const opPutPartnerEvents = "PutPartnerEvents"
2611
2612// PutPartnerEventsRequest generates a "aws/request.Request" representing the
2613// client's request for the PutPartnerEvents operation. The "output" return
2614// value will be populated with the request's response once the request completes
2615// successfully.
2616//
2617// Use "Send" method on the returned Request to send the API call to the service.
2618// the "output" return value is not valid until after Send returns without error.
2619//
2620// See PutPartnerEvents for more information on using the PutPartnerEvents
2621// API call, and error handling.
2622//
2623// This method is useful when you want to inject custom logic or configuration
2624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2625//
2626//
2627//    // Example sending a request using the PutPartnerEventsRequest method.
2628//    req, resp := client.PutPartnerEventsRequest(params)
2629//
2630//    err := req.Send()
2631//    if err == nil { // resp is now filled
2632//        fmt.Println(resp)
2633//    }
2634//
2635// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutPartnerEvents
2636func (c *EventBridge) PutPartnerEventsRequest(input *PutPartnerEventsInput) (req *request.Request, output *PutPartnerEventsOutput) {
2637	op := &request.Operation{
2638		Name:       opPutPartnerEvents,
2639		HTTPMethod: "POST",
2640		HTTPPath:   "/",
2641	}
2642
2643	if input == nil {
2644		input = &PutPartnerEventsInput{}
2645	}
2646
2647	output = &PutPartnerEventsOutput{}
2648	req = c.newRequest(op, input, output)
2649	return
2650}
2651
2652// PutPartnerEvents API operation for Amazon EventBridge.
2653//
2654// This is used by SaaS partners to write events to a customer's partner event
2655// bus. AWS customers do not use this operation.
2656//
2657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2658// with awserr.Error's Code and Message methods to get detailed information about
2659// the error.
2660//
2661// See the AWS API reference guide for Amazon EventBridge's
2662// API operation PutPartnerEvents for usage and error information.
2663//
2664// Returned Error Types:
2665//   * InternalException
2666//   This exception occurs due to unexpected causes.
2667//
2668//   * OperationDisabledException
2669//   The operation you are attempting is not available in this region.
2670//
2671// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutPartnerEvents
2672func (c *EventBridge) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) {
2673	req, out := c.PutPartnerEventsRequest(input)
2674	return out, req.Send()
2675}
2676
2677// PutPartnerEventsWithContext is the same as PutPartnerEvents with the addition of
2678// the ability to pass a context and additional request options.
2679//
2680// See PutPartnerEvents for details on how to use this API operation.
2681//
2682// The context must be non-nil and will be used for request cancellation. If
2683// the context is nil a panic will occur. In the future the SDK may create
2684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2685// for more information on using Contexts.
2686func (c *EventBridge) PutPartnerEventsWithContext(ctx aws.Context, input *PutPartnerEventsInput, opts ...request.Option) (*PutPartnerEventsOutput, error) {
2687	req, out := c.PutPartnerEventsRequest(input)
2688	req.SetContext(ctx)
2689	req.ApplyOptions(opts...)
2690	return out, req.Send()
2691}
2692
2693const opPutPermission = "PutPermission"
2694
2695// PutPermissionRequest generates a "aws/request.Request" representing the
2696// client's request for the PutPermission operation. The "output" return
2697// value will be populated with the request's response once the request completes
2698// successfully.
2699//
2700// Use "Send" method on the returned Request to send the API call to the service.
2701// the "output" return value is not valid until after Send returns without error.
2702//
2703// See PutPermission for more information on using the PutPermission
2704// API call, and error handling.
2705//
2706// This method is useful when you want to inject custom logic or configuration
2707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2708//
2709//
2710//    // Example sending a request using the PutPermissionRequest method.
2711//    req, resp := client.PutPermissionRequest(params)
2712//
2713//    err := req.Send()
2714//    if err == nil { // resp is now filled
2715//        fmt.Println(resp)
2716//    }
2717//
2718// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutPermission
2719func (c *EventBridge) PutPermissionRequest(input *PutPermissionInput) (req *request.Request, output *PutPermissionOutput) {
2720	op := &request.Operation{
2721		Name:       opPutPermission,
2722		HTTPMethod: "POST",
2723		HTTPPath:   "/",
2724	}
2725
2726	if input == nil {
2727		input = &PutPermissionInput{}
2728	}
2729
2730	output = &PutPermissionOutput{}
2731	req = c.newRequest(op, input, output)
2732	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2733	return
2734}
2735
2736// PutPermission API operation for Amazon EventBridge.
2737//
2738// Running PutPermission permits the specified AWS account or AWS organization
2739// to put events to the specified event bus. Amazon EventBridge (CloudWatch
2740// Events) rules in your account are triggered by these events arriving to an
2741// event bus in your account.
2742//
2743// For another account to send events to your account, that external account
2744// must have an EventBridge rule with your account's event bus as a target.
2745//
2746// To enable multiple AWS accounts to put events to your event bus, run PutPermission
2747// once for each of these accounts. Or, if all the accounts are members of the
2748// same AWS organization, you can run PutPermission once specifying Principal
2749// as "*" and specifying the AWS organization ID in Condition, to grant permissions
2750// to all accounts in that organization.
2751//
2752// If you grant permissions using an organization, then accounts in that organization
2753// must specify a RoleArn with proper permissions when they use PutTarget to
2754// add your account's event bus as a target. For more information, see Sending
2755// and Receiving Events Between AWS Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
2756// in the Amazon EventBridge User Guide.
2757//
2758// The permission policy on the default event bus cannot exceed 10 KB in size.
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 EventBridge's
2765// API operation PutPermission for usage and error information.
2766//
2767// Returned Error Types:
2768//   * ResourceNotFoundException
2769//   An entity that you specified does not exist.
2770//
2771//   * PolicyLengthExceededException
2772//   The event bus policy is too long. For more information, see the limits.
2773//
2774//   * InternalException
2775//   This exception occurs due to unexpected causes.
2776//
2777//   * ConcurrentModificationException
2778//   There is concurrent modification on a rule, target, archive, or replay.
2779//
2780//   * OperationDisabledException
2781//   The operation you are attempting is not available in this region.
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutPermission
2784func (c *EventBridge) PutPermission(input *PutPermissionInput) (*PutPermissionOutput, error) {
2785	req, out := c.PutPermissionRequest(input)
2786	return out, req.Send()
2787}
2788
2789// PutPermissionWithContext is the same as PutPermission with the addition of
2790// the ability to pass a context and additional request options.
2791//
2792// See PutPermission for details on how to use this API operation.
2793//
2794// The context must be non-nil and will be used for request cancellation. If
2795// the context is nil a panic will occur. In the future the SDK may create
2796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2797// for more information on using Contexts.
2798func (c *EventBridge) PutPermissionWithContext(ctx aws.Context, input *PutPermissionInput, opts ...request.Option) (*PutPermissionOutput, error) {
2799	req, out := c.PutPermissionRequest(input)
2800	req.SetContext(ctx)
2801	req.ApplyOptions(opts...)
2802	return out, req.Send()
2803}
2804
2805const opPutRule = "PutRule"
2806
2807// PutRuleRequest generates a "aws/request.Request" representing the
2808// client's request for the PutRule operation. The "output" return
2809// value will be populated with the request's response once the request completes
2810// successfully.
2811//
2812// Use "Send" method on the returned Request to send the API call to the service.
2813// the "output" return value is not valid until after Send returns without error.
2814//
2815// See PutRule for more information on using the PutRule
2816// API call, and error handling.
2817//
2818// This method is useful when you want to inject custom logic or configuration
2819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2820//
2821//
2822//    // Example sending a request using the PutRuleRequest method.
2823//    req, resp := client.PutRuleRequest(params)
2824//
2825//    err := req.Send()
2826//    if err == nil { // resp is now filled
2827//        fmt.Println(resp)
2828//    }
2829//
2830// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutRule
2831func (c *EventBridge) PutRuleRequest(input *PutRuleInput) (req *request.Request, output *PutRuleOutput) {
2832	op := &request.Operation{
2833		Name:       opPutRule,
2834		HTTPMethod: "POST",
2835		HTTPPath:   "/",
2836	}
2837
2838	if input == nil {
2839		input = &PutRuleInput{}
2840	}
2841
2842	output = &PutRuleOutput{}
2843	req = c.newRequest(op, input, output)
2844	return
2845}
2846
2847// PutRule API operation for Amazon EventBridge.
2848//
2849// Creates or updates the specified rule. Rules are enabled by default, or based
2850// on value of the state. You can disable a rule using DisableRule.
2851//
2852// A single rule watches for events from a single event bus. Events generated
2853// by AWS services go to your account's default event bus. Events generated
2854// by SaaS partner services or applications go to the matching partner event
2855// bus. If you have custom applications or services, you can specify whether
2856// their events go to your default event bus or a custom event bus that you
2857// have created. For more information, see CreateEventBus.
2858//
2859// If you are updating an existing rule, the rule is replaced with what you
2860// specify in this PutRule command. If you omit arguments in PutRule, the old
2861// values for those arguments are not kept. Instead, they are replaced with
2862// null values.
2863//
2864// When you create or update a rule, incoming events might not immediately start
2865// matching to new or updated rules. Allow a short period of time for changes
2866// to take effect.
2867//
2868// A rule must contain at least an EventPattern or ScheduleExpression. Rules
2869// with EventPatterns are triggered when a matching event is observed. Rules
2870// with ScheduleExpressions self-trigger based on the given schedule. A rule
2871// can have both an EventPattern and a ScheduleExpression, in which case the
2872// rule triggers on matching events as well as on a schedule.
2873//
2874// When you initially create a rule, you can optionally assign one or more tags
2875// to the rule. Tags can help you organize and categorize your resources. You
2876// can also use them to scope user permissions, by granting a user permission
2877// to access or change only rules with certain tag values. To use the PutRule
2878// operation and assign tags, you must have both the events:PutRule and events:TagResource
2879// permissions.
2880//
2881// If you are updating an existing rule, any tags you specify in the PutRule
2882// operation are ignored. To update the tags of an existing rule, use TagResource
2883// and UntagResource.
2884//
2885// Most services in AWS treat : or / as the same character in Amazon Resource
2886// Names (ARNs). However, EventBridge uses an exact match in event patterns
2887// and rules. Be sure to use the correct ARN characters when creating event
2888// patterns so that they match the ARN syntax in the event you want to match.
2889//
2890// In EventBridge, it is possible to create rules that lead to infinite loops,
2891// where a rule is fired repeatedly. For example, a rule might detect that ACLs
2892// have changed on an S3 bucket, and trigger software to change them to the
2893// desired state. If the rule is not written carefully, the subsequent change
2894// to the ACLs fires the rule again, creating an infinite loop.
2895//
2896// To prevent this, write the rules so that the triggered actions do not re-fire
2897// the same rule. For example, your rule could fire only if ACLs are found to
2898// be in a bad state, instead of after any change.
2899//
2900// An infinite loop can quickly cause higher than expected charges. We recommend
2901// that you use budgeting, which alerts you when charges exceed your specified
2902// limit. For more information, see Managing Your Costs with Budgets (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html).
2903//
2904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2905// with awserr.Error's Code and Message methods to get detailed information about
2906// the error.
2907//
2908// See the AWS API reference guide for Amazon EventBridge's
2909// API operation PutRule for usage and error information.
2910//
2911// Returned Error Types:
2912//   * InvalidEventPatternException
2913//   The event pattern is not valid.
2914//
2915//   * LimitExceededException
2916//   The request failed because it attempted to create resource beyond the allowed
2917//   service quota.
2918//
2919//   * ConcurrentModificationException
2920//   There is concurrent modification on a rule, target, archive, or replay.
2921//
2922//   * ManagedRuleException
2923//   This rule was created by an AWS service on behalf of your account. It is
2924//   managed by that service. If you see this error in response to DeleteRule
2925//   or RemoveTargets, you can use the Force parameter in those calls to delete
2926//   the rule or remove targets from the rule. You cannot modify these managed
2927//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
2928//   or UntagResource.
2929//
2930//   * InternalException
2931//   This exception occurs due to unexpected causes.
2932//
2933//   * ResourceNotFoundException
2934//   An entity that you specified does not exist.
2935//
2936// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutRule
2937func (c *EventBridge) PutRule(input *PutRuleInput) (*PutRuleOutput, error) {
2938	req, out := c.PutRuleRequest(input)
2939	return out, req.Send()
2940}
2941
2942// PutRuleWithContext is the same as PutRule with the addition of
2943// the ability to pass a context and additional request options.
2944//
2945// See PutRule for details on how to use this API operation.
2946//
2947// The context must be non-nil and will be used for request cancellation. If
2948// the context is nil a panic will occur. In the future the SDK may create
2949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2950// for more information on using Contexts.
2951func (c *EventBridge) PutRuleWithContext(ctx aws.Context, input *PutRuleInput, opts ...request.Option) (*PutRuleOutput, error) {
2952	req, out := c.PutRuleRequest(input)
2953	req.SetContext(ctx)
2954	req.ApplyOptions(opts...)
2955	return out, req.Send()
2956}
2957
2958const opPutTargets = "PutTargets"
2959
2960// PutTargetsRequest generates a "aws/request.Request" representing the
2961// client's request for the PutTargets operation. The "output" return
2962// value will be populated with the request's response once the request completes
2963// successfully.
2964//
2965// Use "Send" method on the returned Request to send the API call to the service.
2966// the "output" return value is not valid until after Send returns without error.
2967//
2968// See PutTargets for more information on using the PutTargets
2969// API call, and error handling.
2970//
2971// This method is useful when you want to inject custom logic or configuration
2972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2973//
2974//
2975//    // Example sending a request using the PutTargetsRequest method.
2976//    req, resp := client.PutTargetsRequest(params)
2977//
2978//    err := req.Send()
2979//    if err == nil { // resp is now filled
2980//        fmt.Println(resp)
2981//    }
2982//
2983// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutTargets
2984func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Request, output *PutTargetsOutput) {
2985	op := &request.Operation{
2986		Name:       opPutTargets,
2987		HTTPMethod: "POST",
2988		HTTPPath:   "/",
2989	}
2990
2991	if input == nil {
2992		input = &PutTargetsInput{}
2993	}
2994
2995	output = &PutTargetsOutput{}
2996	req = c.newRequest(op, input, output)
2997	return
2998}
2999
3000// PutTargets API operation for Amazon EventBridge.
3001//
3002// Adds the specified targets to the specified rule, or updates the targets
3003// if they are already associated with the rule.
3004//
3005// Targets are the resources that are invoked when a rule is triggered.
3006//
3007// You can configure the following as targets for Events:
3008//
3009//    * EC2 instances
3010//
3011//    * SSM Run Command
3012//
3013//    * SSM Automation
3014//
3015//    * AWS Lambda functions
3016//
3017//    * Data streams in Amazon Kinesis Data Streams
3018//
3019//    * Data delivery streams in Amazon Kinesis Data Firehose
3020//
3021//    * Amazon ECS tasks
3022//
3023//    * AWS Step Functions state machines
3024//
3025//    * AWS Batch jobs
3026//
3027//    * AWS CodeBuild projects
3028//
3029//    * Pipelines in AWS CodePipeline
3030//
3031//    * Amazon Inspector assessment templates
3032//
3033//    * Amazon SNS topics
3034//
3035//    * Amazon SQS queues, including FIFO queues
3036//
3037//    * The default event bus of another AWS account
3038//
3039//    * Amazon API Gateway REST APIs
3040//
3041//    * Redshift Clusters to invoke Data API ExecuteStatement on
3042//
3043// Creating rules with built-in targets is supported only in the AWS Management
3044// Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances
3045// API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.
3046//
3047// For some target types, PutTargets provides target-specific parameters. If
3048// the target is a Kinesis data stream, you can optionally specify which shard
3049// the event goes to by using the KinesisParameters argument. To invoke a command
3050// on multiple EC2 instances with one rule, you can use the RunCommandParameters
3051// field.
3052//
3053// To be able to make API calls against the resources that you own, Amazon EventBridge
3054// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and
3055// Amazon SNS resources, EventBridge relies on resource-based policies. For
3056// EC2 instances, Kinesis data streams, AWS Step Functions state machines and
3057// API Gateway REST APIs, EventBridge relies on IAM roles that you specify in
3058// the RoleARN argument in PutTargets. For more information, see Authentication
3059// and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
3060// in the Amazon EventBridge User Guide.
3061//
3062// If another AWS account is in the same region and has granted you permission
3063// (using PutPermission), you can send events to that account. Set that account's
3064// event bus as a target of the rules in your account. To send the matched events
3065// to the other account, specify that account's event bus as the Arn value when
3066// you run PutTargets. If your account sends events to another account, your
3067// account is charged for each sent event. Each event sent to another account
3068// is charged as a custom event. The account receiving the event is not charged.
3069// For more information, see Amazon EventBridge (CloudWatch Events) Pricing
3070// (https://aws.amazon.com/eventbridge/pricing/).
3071//
3072// Input, InputPath, and InputTransformer are not available with PutTarget if
3073// the target is an event bus of a different AWS account.
3074//
3075// If you are setting the event bus of another account as the target, and that
3076// account granted permission to your account through an organization instead
3077// of directly by the account ID, then you must specify a RoleArn with proper
3078// permissions in the Target structure. For more information, see Sending and
3079// Receiving Events Between AWS Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
3080// in the Amazon EventBridge User Guide.
3081//
3082// For more information about enabling cross-account events, see PutPermission.
3083//
3084// Input, InputPath, and InputTransformer are mutually exclusive and optional
3085// parameters of a target. When a rule is triggered due to a matched event:
3086//
3087//    * If none of the following arguments are specified for a target, then
3088//    the entire event is passed to the target in JSON format (unless the target
3089//    is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from
3090//    the event is passed to the target).
3091//
3092//    * If Input is specified in the form of valid JSON, then the matched event
3093//    is overridden with this constant.
3094//
3095//    * If InputPath is specified in the form of JSONPath (for example, $.detail),
3096//    then only the part of the event specified in the path is passed to the
3097//    target (for example, only the detail part of the event is passed).
3098//
3099//    * If InputTransformer is specified, then one or more specified JSONPaths
3100//    are extracted from the event and used as values in a template that you
3101//    specify as the input to the target.
3102//
3103// When you specify InputPath or InputTransformer, you must use JSON dot notation,
3104// not bracket notation.
3105//
3106// When you add targets to a rule and the associated rule triggers soon after,
3107// new or updated targets might not be immediately invoked. Allow a short period
3108// of time for changes to take effect.
3109//
3110// This action can partially fail if too many requests are made at the same
3111// time. If that happens, FailedEntryCount is non-zero in the response and each
3112// entry in FailedEntries provides the ID of the failed target and the error
3113// code.
3114//
3115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3116// with awserr.Error's Code and Message methods to get detailed information about
3117// the error.
3118//
3119// See the AWS API reference guide for Amazon EventBridge's
3120// API operation PutTargets for usage and error information.
3121//
3122// Returned Error Types:
3123//   * ResourceNotFoundException
3124//   An entity that you specified does not exist.
3125//
3126//   * ConcurrentModificationException
3127//   There is concurrent modification on a rule, target, archive, or replay.
3128//
3129//   * LimitExceededException
3130//   The request failed because it attempted to create resource beyond the allowed
3131//   service quota.
3132//
3133//   * ManagedRuleException
3134//   This rule was created by an AWS service on behalf of your account. It is
3135//   managed by that service. If you see this error in response to DeleteRule
3136//   or RemoveTargets, you can use the Force parameter in those calls to delete
3137//   the rule or remove targets from the rule. You cannot modify these managed
3138//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
3139//   or UntagResource.
3140//
3141//   * InternalException
3142//   This exception occurs due to unexpected causes.
3143//
3144// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutTargets
3145func (c *EventBridge) PutTargets(input *PutTargetsInput) (*PutTargetsOutput, error) {
3146	req, out := c.PutTargetsRequest(input)
3147	return out, req.Send()
3148}
3149
3150// PutTargetsWithContext is the same as PutTargets with the addition of
3151// the ability to pass a context and additional request options.
3152//
3153// See PutTargets for details on how to use this API operation.
3154//
3155// The context must be non-nil and will be used for request cancellation. If
3156// the context is nil a panic will occur. In the future the SDK may create
3157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3158// for more information on using Contexts.
3159func (c *EventBridge) PutTargetsWithContext(ctx aws.Context, input *PutTargetsInput, opts ...request.Option) (*PutTargetsOutput, error) {
3160	req, out := c.PutTargetsRequest(input)
3161	req.SetContext(ctx)
3162	req.ApplyOptions(opts...)
3163	return out, req.Send()
3164}
3165
3166const opRemovePermission = "RemovePermission"
3167
3168// RemovePermissionRequest generates a "aws/request.Request" representing the
3169// client's request for the RemovePermission operation. The "output" return
3170// value will be populated with the request's response once the request completes
3171// successfully.
3172//
3173// Use "Send" method on the returned Request to send the API call to the service.
3174// the "output" return value is not valid until after Send returns without error.
3175//
3176// See RemovePermission for more information on using the RemovePermission
3177// API call, and error handling.
3178//
3179// This method is useful when you want to inject custom logic or configuration
3180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3181//
3182//
3183//    // Example sending a request using the RemovePermissionRequest method.
3184//    req, resp := client.RemovePermissionRequest(params)
3185//
3186//    err := req.Send()
3187//    if err == nil { // resp is now filled
3188//        fmt.Println(resp)
3189//    }
3190//
3191// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/RemovePermission
3192func (c *EventBridge) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) {
3193	op := &request.Operation{
3194		Name:       opRemovePermission,
3195		HTTPMethod: "POST",
3196		HTTPPath:   "/",
3197	}
3198
3199	if input == nil {
3200		input = &RemovePermissionInput{}
3201	}
3202
3203	output = &RemovePermissionOutput{}
3204	req = c.newRequest(op, input, output)
3205	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3206	return
3207}
3208
3209// RemovePermission API operation for Amazon EventBridge.
3210//
3211// Revokes the permission of another AWS account to be able to put events to
3212// the specified event bus. Specify the account to revoke by the StatementId
3213// value that you associated with the account when you granted it permission
3214// with PutPermission. You can find the StatementId by using DescribeEventBus.
3215//
3216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3217// with awserr.Error's Code and Message methods to get detailed information about
3218// the error.
3219//
3220// See the AWS API reference guide for Amazon EventBridge's
3221// API operation RemovePermission for usage and error information.
3222//
3223// Returned Error Types:
3224//   * ResourceNotFoundException
3225//   An entity that you specified does not exist.
3226//
3227//   * InternalException
3228//   This exception occurs due to unexpected causes.
3229//
3230//   * ConcurrentModificationException
3231//   There is concurrent modification on a rule, target, archive, or replay.
3232//
3233//   * OperationDisabledException
3234//   The operation you are attempting is not available in this region.
3235//
3236// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/RemovePermission
3237func (c *EventBridge) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) {
3238	req, out := c.RemovePermissionRequest(input)
3239	return out, req.Send()
3240}
3241
3242// RemovePermissionWithContext is the same as RemovePermission with the addition of
3243// the ability to pass a context and additional request options.
3244//
3245// See RemovePermission for details on how to use this API operation.
3246//
3247// The context must be non-nil and will be used for request cancellation. If
3248// the context is nil a panic will occur. In the future the SDK may create
3249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3250// for more information on using Contexts.
3251func (c *EventBridge) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) {
3252	req, out := c.RemovePermissionRequest(input)
3253	req.SetContext(ctx)
3254	req.ApplyOptions(opts...)
3255	return out, req.Send()
3256}
3257
3258const opRemoveTargets = "RemoveTargets"
3259
3260// RemoveTargetsRequest generates a "aws/request.Request" representing the
3261// client's request for the RemoveTargets operation. The "output" return
3262// value will be populated with the request's response once the request completes
3263// successfully.
3264//
3265// Use "Send" method on the returned Request to send the API call to the service.
3266// the "output" return value is not valid until after Send returns without error.
3267//
3268// See RemoveTargets for more information on using the RemoveTargets
3269// API call, and error handling.
3270//
3271// This method is useful when you want to inject custom logic or configuration
3272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3273//
3274//
3275//    // Example sending a request using the RemoveTargetsRequest method.
3276//    req, resp := client.RemoveTargetsRequest(params)
3277//
3278//    err := req.Send()
3279//    if err == nil { // resp is now filled
3280//        fmt.Println(resp)
3281//    }
3282//
3283// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/RemoveTargets
3284func (c *EventBridge) RemoveTargetsRequest(input *RemoveTargetsInput) (req *request.Request, output *RemoveTargetsOutput) {
3285	op := &request.Operation{
3286		Name:       opRemoveTargets,
3287		HTTPMethod: "POST",
3288		HTTPPath:   "/",
3289	}
3290
3291	if input == nil {
3292		input = &RemoveTargetsInput{}
3293	}
3294
3295	output = &RemoveTargetsOutput{}
3296	req = c.newRequest(op, input, output)
3297	return
3298}
3299
3300// RemoveTargets API operation for Amazon EventBridge.
3301//
3302// Removes the specified targets from the specified rule. When the rule is triggered,
3303// those targets are no longer be invoked.
3304//
3305// When you remove a target, when the associated rule triggers, removed targets
3306// might continue to be invoked. Allow a short period of time for changes to
3307// take effect.
3308//
3309// This action can partially fail if too many requests are made at the same
3310// time. If that happens, FailedEntryCount is non-zero in the response and each
3311// entry in FailedEntries provides the ID of the failed target and the error
3312// code.
3313//
3314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3315// with awserr.Error's Code and Message methods to get detailed information about
3316// the error.
3317//
3318// See the AWS API reference guide for Amazon EventBridge's
3319// API operation RemoveTargets for usage and error information.
3320//
3321// Returned Error Types:
3322//   * ResourceNotFoundException
3323//   An entity that you specified does not exist.
3324//
3325//   * ConcurrentModificationException
3326//   There is concurrent modification on a rule, target, archive, or replay.
3327//
3328//   * ManagedRuleException
3329//   This rule was created by an AWS service on behalf of your account. It is
3330//   managed by that service. If you see this error in response to DeleteRule
3331//   or RemoveTargets, you can use the Force parameter in those calls to delete
3332//   the rule or remove targets from the rule. You cannot modify these managed
3333//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
3334//   or UntagResource.
3335//
3336//   * InternalException
3337//   This exception occurs due to unexpected causes.
3338//
3339// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/RemoveTargets
3340func (c *EventBridge) RemoveTargets(input *RemoveTargetsInput) (*RemoveTargetsOutput, error) {
3341	req, out := c.RemoveTargetsRequest(input)
3342	return out, req.Send()
3343}
3344
3345// RemoveTargetsWithContext is the same as RemoveTargets with the addition of
3346// the ability to pass a context and additional request options.
3347//
3348// See RemoveTargets for details on how to use this API operation.
3349//
3350// The context must be non-nil and will be used for request cancellation. If
3351// the context is nil a panic will occur. In the future the SDK may create
3352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3353// for more information on using Contexts.
3354func (c *EventBridge) RemoveTargetsWithContext(ctx aws.Context, input *RemoveTargetsInput, opts ...request.Option) (*RemoveTargetsOutput, error) {
3355	req, out := c.RemoveTargetsRequest(input)
3356	req.SetContext(ctx)
3357	req.ApplyOptions(opts...)
3358	return out, req.Send()
3359}
3360
3361const opStartReplay = "StartReplay"
3362
3363// StartReplayRequest generates a "aws/request.Request" representing the
3364// client's request for the StartReplay operation. The "output" return
3365// value will be populated with the request's response once the request completes
3366// successfully.
3367//
3368// Use "Send" method on the returned Request to send the API call to the service.
3369// the "output" return value is not valid until after Send returns without error.
3370//
3371// See StartReplay for more information on using the StartReplay
3372// API call, and error handling.
3373//
3374// This method is useful when you want to inject custom logic or configuration
3375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3376//
3377//
3378//    // Example sending a request using the StartReplayRequest method.
3379//    req, resp := client.StartReplayRequest(params)
3380//
3381//    err := req.Send()
3382//    if err == nil { // resp is now filled
3383//        fmt.Println(resp)
3384//    }
3385//
3386// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/StartReplay
3387func (c *EventBridge) StartReplayRequest(input *StartReplayInput) (req *request.Request, output *StartReplayOutput) {
3388	op := &request.Operation{
3389		Name:       opStartReplay,
3390		HTTPMethod: "POST",
3391		HTTPPath:   "/",
3392	}
3393
3394	if input == nil {
3395		input = &StartReplayInput{}
3396	}
3397
3398	output = &StartReplayOutput{}
3399	req = c.newRequest(op, input, output)
3400	return
3401}
3402
3403// StartReplay API operation for Amazon EventBridge.
3404//
3405// Starts the specified replay. Events are not necessarily replayed in the exact
3406// same order that they were added to the archive. A replay processes events
3407// to replay based on the time in the event, and replays them using 1 minute
3408// intervals. If you specify an EventStartTime and an EventEndTime that covers
3409// a 20 minute time range, the events are replayed from the first minute of
3410// that 20 minute range first. Then the events from the second minute are replayed.
3411// You can use DescribeReplay to determine the progress of a replay. The value
3412// returned for EventLastReplayedTime indicates the time within the specified
3413// time range associated with the last event replayed.
3414//
3415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3416// with awserr.Error's Code and Message methods to get detailed information about
3417// the error.
3418//
3419// See the AWS API reference guide for Amazon EventBridge's
3420// API operation StartReplay for usage and error information.
3421//
3422// Returned Error Types:
3423//   * ResourceNotFoundException
3424//   An entity that you specified does not exist.
3425//
3426//   * ResourceAlreadyExistsException
3427//   The resource you are trying to create already exists.
3428//
3429//   * InvalidEventPatternException
3430//   The event pattern is not valid.
3431//
3432//   * LimitExceededException
3433//   The request failed because it attempted to create resource beyond the allowed
3434//   service quota.
3435//
3436//   * InternalException
3437//   This exception occurs due to unexpected causes.
3438//
3439// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/StartReplay
3440func (c *EventBridge) StartReplay(input *StartReplayInput) (*StartReplayOutput, error) {
3441	req, out := c.StartReplayRequest(input)
3442	return out, req.Send()
3443}
3444
3445// StartReplayWithContext is the same as StartReplay with the addition of
3446// the ability to pass a context and additional request options.
3447//
3448// See StartReplay for details on how to use this API operation.
3449//
3450// The context must be non-nil and will be used for request cancellation. If
3451// the context is nil a panic will occur. In the future the SDK may create
3452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3453// for more information on using Contexts.
3454func (c *EventBridge) StartReplayWithContext(ctx aws.Context, input *StartReplayInput, opts ...request.Option) (*StartReplayOutput, error) {
3455	req, out := c.StartReplayRequest(input)
3456	req.SetContext(ctx)
3457	req.ApplyOptions(opts...)
3458	return out, req.Send()
3459}
3460
3461const opTagResource = "TagResource"
3462
3463// TagResourceRequest generates a "aws/request.Request" representing the
3464// client's request for the TagResource operation. The "output" return
3465// value will be populated with the request's response once the request completes
3466// successfully.
3467//
3468// Use "Send" method on the returned Request to send the API call to the service.
3469// the "output" return value is not valid until after Send returns without error.
3470//
3471// See TagResource for more information on using the TagResource
3472// API call, and error handling.
3473//
3474// This method is useful when you want to inject custom logic or configuration
3475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3476//
3477//
3478//    // Example sending a request using the TagResourceRequest method.
3479//    req, resp := client.TagResourceRequest(params)
3480//
3481//    err := req.Send()
3482//    if err == nil { // resp is now filled
3483//        fmt.Println(resp)
3484//    }
3485//
3486// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/TagResource
3487func (c *EventBridge) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3488	op := &request.Operation{
3489		Name:       opTagResource,
3490		HTTPMethod: "POST",
3491		HTTPPath:   "/",
3492	}
3493
3494	if input == nil {
3495		input = &TagResourceInput{}
3496	}
3497
3498	output = &TagResourceOutput{}
3499	req = c.newRequest(op, input, output)
3500	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3501	return
3502}
3503
3504// TagResource API operation for Amazon EventBridge.
3505//
3506// Assigns one or more tags (key-value pairs) to the specified EventBridge resource.
3507// Tags can help you organize and categorize your resources. You can also use
3508// them to scope user permissions by granting a user permission to access or
3509// change only resources with certain tag values. In EventBridge, rules and
3510// event buses can be tagged.
3511//
3512// Tags don't have any semantic meaning to AWS and are interpreted strictly
3513// as strings of characters.
3514//
3515// You can use the TagResource action with a resource that already has tags.
3516// If you specify a new tag key, this tag is appended to the list of tags associated
3517// with the resource. If you specify a tag key that is already associated with
3518// the resource, the new tag value that you specify replaces the previous value
3519// for that tag.
3520//
3521// You can associate as many as 50 tags with a resource.
3522//
3523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3524// with awserr.Error's Code and Message methods to get detailed information about
3525// the error.
3526//
3527// See the AWS API reference guide for Amazon EventBridge's
3528// API operation TagResource for usage and error information.
3529//
3530// Returned Error Types:
3531//   * ResourceNotFoundException
3532//   An entity that you specified does not exist.
3533//
3534//   * ConcurrentModificationException
3535//   There is concurrent modification on a rule, target, archive, or replay.
3536//
3537//   * InternalException
3538//   This exception occurs due to unexpected causes.
3539//
3540//   * ManagedRuleException
3541//   This rule was created by an AWS service on behalf of your account. It is
3542//   managed by that service. If you see this error in response to DeleteRule
3543//   or RemoveTargets, you can use the Force parameter in those calls to delete
3544//   the rule or remove targets from the rule. You cannot modify these managed
3545//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
3546//   or UntagResource.
3547//
3548// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/TagResource
3549func (c *EventBridge) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3550	req, out := c.TagResourceRequest(input)
3551	return out, req.Send()
3552}
3553
3554// TagResourceWithContext is the same as TagResource with the addition of
3555// the ability to pass a context and additional request options.
3556//
3557// See TagResource for details on how to use this API operation.
3558//
3559// The context must be non-nil and will be used for request cancellation. If
3560// the context is nil a panic will occur. In the future the SDK may create
3561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3562// for more information on using Contexts.
3563func (c *EventBridge) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3564	req, out := c.TagResourceRequest(input)
3565	req.SetContext(ctx)
3566	req.ApplyOptions(opts...)
3567	return out, req.Send()
3568}
3569
3570const opTestEventPattern = "TestEventPattern"
3571
3572// TestEventPatternRequest generates a "aws/request.Request" representing the
3573// client's request for the TestEventPattern operation. The "output" return
3574// value will be populated with the request's response once the request completes
3575// successfully.
3576//
3577// Use "Send" method on the returned Request to send the API call to the service.
3578// the "output" return value is not valid until after Send returns without error.
3579//
3580// See TestEventPattern for more information on using the TestEventPattern
3581// API call, and error handling.
3582//
3583// This method is useful when you want to inject custom logic or configuration
3584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3585//
3586//
3587//    // Example sending a request using the TestEventPatternRequest method.
3588//    req, resp := client.TestEventPatternRequest(params)
3589//
3590//    err := req.Send()
3591//    if err == nil { // resp is now filled
3592//        fmt.Println(resp)
3593//    }
3594//
3595// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/TestEventPattern
3596func (c *EventBridge) TestEventPatternRequest(input *TestEventPatternInput) (req *request.Request, output *TestEventPatternOutput) {
3597	op := &request.Operation{
3598		Name:       opTestEventPattern,
3599		HTTPMethod: "POST",
3600		HTTPPath:   "/",
3601	}
3602
3603	if input == nil {
3604		input = &TestEventPatternInput{}
3605	}
3606
3607	output = &TestEventPatternOutput{}
3608	req = c.newRequest(op, input, output)
3609	return
3610}
3611
3612// TestEventPattern API operation for Amazon EventBridge.
3613//
3614// Tests whether the specified event pattern matches the provided event.
3615//
3616// Most services in AWS treat : or / as the same character in Amazon Resource
3617// Names (ARNs). However, EventBridge uses an exact match in event patterns
3618// and rules. Be sure to use the correct ARN characters when creating event
3619// patterns so that they match the ARN syntax in the event you want to match.
3620//
3621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3622// with awserr.Error's Code and Message methods to get detailed information about
3623// the error.
3624//
3625// See the AWS API reference guide for Amazon EventBridge's
3626// API operation TestEventPattern for usage and error information.
3627//
3628// Returned Error Types:
3629//   * InvalidEventPatternException
3630//   The event pattern is not valid.
3631//
3632//   * InternalException
3633//   This exception occurs due to unexpected causes.
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/TestEventPattern
3636func (c *EventBridge) TestEventPattern(input *TestEventPatternInput) (*TestEventPatternOutput, error) {
3637	req, out := c.TestEventPatternRequest(input)
3638	return out, req.Send()
3639}
3640
3641// TestEventPatternWithContext is the same as TestEventPattern with the addition of
3642// the ability to pass a context and additional request options.
3643//
3644// See TestEventPattern for details on how to use this API operation.
3645//
3646// The context must be non-nil and will be used for request cancellation. If
3647// the context is nil a panic will occur. In the future the SDK may create
3648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3649// for more information on using Contexts.
3650func (c *EventBridge) TestEventPatternWithContext(ctx aws.Context, input *TestEventPatternInput, opts ...request.Option) (*TestEventPatternOutput, error) {
3651	req, out := c.TestEventPatternRequest(input)
3652	req.SetContext(ctx)
3653	req.ApplyOptions(opts...)
3654	return out, req.Send()
3655}
3656
3657const opUntagResource = "UntagResource"
3658
3659// UntagResourceRequest generates a "aws/request.Request" representing the
3660// client's request for the UntagResource operation. The "output" return
3661// value will be populated with the request's response once the request completes
3662// successfully.
3663//
3664// Use "Send" method on the returned Request to send the API call to the service.
3665// the "output" return value is not valid until after Send returns without error.
3666//
3667// See UntagResource for more information on using the UntagResource
3668// API call, and error handling.
3669//
3670// This method is useful when you want to inject custom logic or configuration
3671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3672//
3673//
3674//    // Example sending a request using the UntagResourceRequest method.
3675//    req, resp := client.UntagResourceRequest(params)
3676//
3677//    err := req.Send()
3678//    if err == nil { // resp is now filled
3679//        fmt.Println(resp)
3680//    }
3681//
3682// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/UntagResource
3683func (c *EventBridge) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3684	op := &request.Operation{
3685		Name:       opUntagResource,
3686		HTTPMethod: "POST",
3687		HTTPPath:   "/",
3688	}
3689
3690	if input == nil {
3691		input = &UntagResourceInput{}
3692	}
3693
3694	output = &UntagResourceOutput{}
3695	req = c.newRequest(op, input, output)
3696	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3697	return
3698}
3699
3700// UntagResource API operation for Amazon EventBridge.
3701//
3702// Removes one or more tags from the specified EventBridge resource. In Amazon
3703// EventBridge (CloudWatch Events, rules and event buses can be tagged.
3704//
3705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3706// with awserr.Error's Code and Message methods to get detailed information about
3707// the error.
3708//
3709// See the AWS API reference guide for Amazon EventBridge's
3710// API operation UntagResource for usage and error information.
3711//
3712// Returned Error Types:
3713//   * ResourceNotFoundException
3714//   An entity that you specified does not exist.
3715//
3716//   * InternalException
3717//   This exception occurs due to unexpected causes.
3718//
3719//   * ConcurrentModificationException
3720//   There is concurrent modification on a rule, target, archive, or replay.
3721//
3722//   * ManagedRuleException
3723//   This rule was created by an AWS service on behalf of your account. It is
3724//   managed by that service. If you see this error in response to DeleteRule
3725//   or RemoveTargets, you can use the Force parameter in those calls to delete
3726//   the rule or remove targets from the rule. You cannot modify these managed
3727//   rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
3728//   or UntagResource.
3729//
3730// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/UntagResource
3731func (c *EventBridge) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3732	req, out := c.UntagResourceRequest(input)
3733	return out, req.Send()
3734}
3735
3736// UntagResourceWithContext is the same as UntagResource with the addition of
3737// the ability to pass a context and additional request options.
3738//
3739// See UntagResource for details on how to use this API operation.
3740//
3741// The context must be non-nil and will be used for request cancellation. If
3742// the context is nil a panic will occur. In the future the SDK may create
3743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3744// for more information on using Contexts.
3745func (c *EventBridge) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3746	req, out := c.UntagResourceRequest(input)
3747	req.SetContext(ctx)
3748	req.ApplyOptions(opts...)
3749	return out, req.Send()
3750}
3751
3752const opUpdateArchive = "UpdateArchive"
3753
3754// UpdateArchiveRequest generates a "aws/request.Request" representing the
3755// client's request for the UpdateArchive operation. The "output" return
3756// value will be populated with the request's response once the request completes
3757// successfully.
3758//
3759// Use "Send" method on the returned Request to send the API call to the service.
3760// the "output" return value is not valid until after Send returns without error.
3761//
3762// See UpdateArchive for more information on using the UpdateArchive
3763// API call, and error handling.
3764//
3765// This method is useful when you want to inject custom logic or configuration
3766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3767//
3768//
3769//    // Example sending a request using the UpdateArchiveRequest method.
3770//    req, resp := client.UpdateArchiveRequest(params)
3771//
3772//    err := req.Send()
3773//    if err == nil { // resp is now filled
3774//        fmt.Println(resp)
3775//    }
3776//
3777// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/UpdateArchive
3778func (c *EventBridge) UpdateArchiveRequest(input *UpdateArchiveInput) (req *request.Request, output *UpdateArchiveOutput) {
3779	op := &request.Operation{
3780		Name:       opUpdateArchive,
3781		HTTPMethod: "POST",
3782		HTTPPath:   "/",
3783	}
3784
3785	if input == nil {
3786		input = &UpdateArchiveInput{}
3787	}
3788
3789	output = &UpdateArchiveOutput{}
3790	req = c.newRequest(op, input, output)
3791	return
3792}
3793
3794// UpdateArchive API operation for Amazon EventBridge.
3795//
3796// Updates the specified archive.
3797//
3798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3799// with awserr.Error's Code and Message methods to get detailed information about
3800// the error.
3801//
3802// See the AWS API reference guide for Amazon EventBridge's
3803// API operation UpdateArchive for usage and error information.
3804//
3805// Returned Error Types:
3806//   * ConcurrentModificationException
3807//   There is concurrent modification on a rule, target, archive, or replay.
3808//
3809//   * ResourceNotFoundException
3810//   An entity that you specified does not exist.
3811//
3812//   * InternalException
3813//   This exception occurs due to unexpected causes.
3814//
3815//   * LimitExceededException
3816//   The request failed because it attempted to create resource beyond the allowed
3817//   service quota.
3818//
3819//   * InvalidEventPatternException
3820//   The event pattern is not valid.
3821//
3822// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/UpdateArchive
3823func (c *EventBridge) UpdateArchive(input *UpdateArchiveInput) (*UpdateArchiveOutput, error) {
3824	req, out := c.UpdateArchiveRequest(input)
3825	return out, req.Send()
3826}
3827
3828// UpdateArchiveWithContext is the same as UpdateArchive with the addition of
3829// the ability to pass a context and additional request options.
3830//
3831// See UpdateArchive for details on how to use this API operation.
3832//
3833// The context must be non-nil and will be used for request cancellation. If
3834// the context is nil a panic will occur. In the future the SDK may create
3835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3836// for more information on using Contexts.
3837func (c *EventBridge) UpdateArchiveWithContext(ctx aws.Context, input *UpdateArchiveInput, opts ...request.Option) (*UpdateArchiveOutput, error) {
3838	req, out := c.UpdateArchiveRequest(input)
3839	req.SetContext(ctx)
3840	req.ApplyOptions(opts...)
3841	return out, req.Send()
3842}
3843
3844type ActivateEventSourceInput struct {
3845	_ struct{} `type:"structure"`
3846
3847	// The name of the partner event source to activate.
3848	//
3849	// Name is a required field
3850	Name *string `min:"1" type:"string" required:"true"`
3851}
3852
3853// String returns the string representation
3854func (s ActivateEventSourceInput) String() string {
3855	return awsutil.Prettify(s)
3856}
3857
3858// GoString returns the string representation
3859func (s ActivateEventSourceInput) GoString() string {
3860	return s.String()
3861}
3862
3863// Validate inspects the fields of the type to determine if they are valid.
3864func (s *ActivateEventSourceInput) Validate() error {
3865	invalidParams := request.ErrInvalidParams{Context: "ActivateEventSourceInput"}
3866	if s.Name == nil {
3867		invalidParams.Add(request.NewErrParamRequired("Name"))
3868	}
3869	if s.Name != nil && len(*s.Name) < 1 {
3870		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3871	}
3872
3873	if invalidParams.Len() > 0 {
3874		return invalidParams
3875	}
3876	return nil
3877}
3878
3879// SetName sets the Name field's value.
3880func (s *ActivateEventSourceInput) SetName(v string) *ActivateEventSourceInput {
3881	s.Name = &v
3882	return s
3883}
3884
3885type ActivateEventSourceOutput struct {
3886	_ struct{} `type:"structure"`
3887}
3888
3889// String returns the string representation
3890func (s ActivateEventSourceOutput) String() string {
3891	return awsutil.Prettify(s)
3892}
3893
3894// GoString returns the string representation
3895func (s ActivateEventSourceOutput) GoString() string {
3896	return s.String()
3897}
3898
3899// An Archive object that contains details about an archive.
3900type Archive struct {
3901	_ struct{} `type:"structure"`
3902
3903	// The name of the archive.
3904	ArchiveName *string `min:"1" type:"string"`
3905
3906	// The time stamp for the time that the archive was created.
3907	CreationTime *time.Time `type:"timestamp"`
3908
3909	// The number of events in the archive.
3910	EventCount *int64 `type:"long"`
3911
3912	// The ARN of the event bus associated with the archive. Only events from this
3913	// event bus are sent to the archive.
3914	EventSourceArn *string `min:"1" type:"string"`
3915
3916	// The number of days to retain events in the archive before they are deleted.
3917	RetentionDays *int64 `type:"integer"`
3918
3919	// The size of the archive, in bytes.
3920	SizeBytes *int64 `type:"long"`
3921
3922	// The current state of the archive.
3923	State *string `type:"string" enum:"ArchiveState"`
3924
3925	// A description for the reason that the archive is in the current state.
3926	StateReason *string `type:"string"`
3927}
3928
3929// String returns the string representation
3930func (s Archive) String() string {
3931	return awsutil.Prettify(s)
3932}
3933
3934// GoString returns the string representation
3935func (s Archive) GoString() string {
3936	return s.String()
3937}
3938
3939// SetArchiveName sets the ArchiveName field's value.
3940func (s *Archive) SetArchiveName(v string) *Archive {
3941	s.ArchiveName = &v
3942	return s
3943}
3944
3945// SetCreationTime sets the CreationTime field's value.
3946func (s *Archive) SetCreationTime(v time.Time) *Archive {
3947	s.CreationTime = &v
3948	return s
3949}
3950
3951// SetEventCount sets the EventCount field's value.
3952func (s *Archive) SetEventCount(v int64) *Archive {
3953	s.EventCount = &v
3954	return s
3955}
3956
3957// SetEventSourceArn sets the EventSourceArn field's value.
3958func (s *Archive) SetEventSourceArn(v string) *Archive {
3959	s.EventSourceArn = &v
3960	return s
3961}
3962
3963// SetRetentionDays sets the RetentionDays field's value.
3964func (s *Archive) SetRetentionDays(v int64) *Archive {
3965	s.RetentionDays = &v
3966	return s
3967}
3968
3969// SetSizeBytes sets the SizeBytes field's value.
3970func (s *Archive) SetSizeBytes(v int64) *Archive {
3971	s.SizeBytes = &v
3972	return s
3973}
3974
3975// SetState sets the State field's value.
3976func (s *Archive) SetState(v string) *Archive {
3977	s.State = &v
3978	return s
3979}
3980
3981// SetStateReason sets the StateReason field's value.
3982func (s *Archive) SetStateReason(v string) *Archive {
3983	s.StateReason = &v
3984	return s
3985}
3986
3987// This structure specifies the VPC subnets and security groups for the task,
3988// and whether a public IP address is to be used. This structure is relevant
3989// only for ECS tasks that use the awsvpc network mode.
3990type AwsVpcConfiguration struct {
3991	_ struct{} `type:"structure"`
3992
3993	// Specifies whether the task's elastic network interface receives a public
3994	// IP address. You can specify ENABLED only when LaunchType in EcsParameters
3995	// is set to FARGATE.
3996	AssignPublicIp *string `type:"string" enum:"AssignPublicIp"`
3997
3998	// Specifies the security groups associated with the task. These security groups
3999	// must all be in the same VPC. You can specify as many as five security groups.
4000	// If you do not specify a security group, the default security group for the
4001	// VPC is used.
4002	SecurityGroups []*string `type:"list"`
4003
4004	// Specifies the subnets associated with the task. These subnets must all be
4005	// in the same VPC. You can specify as many as 16 subnets.
4006	//
4007	// Subnets is a required field
4008	Subnets []*string `type:"list" required:"true"`
4009}
4010
4011// String returns the string representation
4012func (s AwsVpcConfiguration) String() string {
4013	return awsutil.Prettify(s)
4014}
4015
4016// GoString returns the string representation
4017func (s AwsVpcConfiguration) GoString() string {
4018	return s.String()
4019}
4020
4021// Validate inspects the fields of the type to determine if they are valid.
4022func (s *AwsVpcConfiguration) Validate() error {
4023	invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"}
4024	if s.Subnets == nil {
4025		invalidParams.Add(request.NewErrParamRequired("Subnets"))
4026	}
4027
4028	if invalidParams.Len() > 0 {
4029		return invalidParams
4030	}
4031	return nil
4032}
4033
4034// SetAssignPublicIp sets the AssignPublicIp field's value.
4035func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration {
4036	s.AssignPublicIp = &v
4037	return s
4038}
4039
4040// SetSecurityGroups sets the SecurityGroups field's value.
4041func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration {
4042	s.SecurityGroups = v
4043	return s
4044}
4045
4046// SetSubnets sets the Subnets field's value.
4047func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration {
4048	s.Subnets = v
4049	return s
4050}
4051
4052// The array properties for the submitted job, such as the size of the array.
4053// The array size can be between 2 and 10,000. If you specify array properties
4054// for a job, it becomes an array job. This parameter is used only if the target
4055// is an AWS Batch job.
4056type BatchArrayProperties struct {
4057	_ struct{} `type:"structure"`
4058
4059	// The size of the array, if this is an array batch job. Valid values are integers
4060	// between 2 and 10,000.
4061	Size *int64 `type:"integer"`
4062}
4063
4064// String returns the string representation
4065func (s BatchArrayProperties) String() string {
4066	return awsutil.Prettify(s)
4067}
4068
4069// GoString returns the string representation
4070func (s BatchArrayProperties) GoString() string {
4071	return s.String()
4072}
4073
4074// SetSize sets the Size field's value.
4075func (s *BatchArrayProperties) SetSize(v int64) *BatchArrayProperties {
4076	s.Size = &v
4077	return s
4078}
4079
4080// The custom parameters to be used when the target is an AWS Batch job.
4081type BatchParameters struct {
4082	_ struct{} `type:"structure"`
4083
4084	// The array properties for the submitted job, such as the size of the array.
4085	// The array size can be between 2 and 10,000. If you specify array properties
4086	// for a job, it becomes an array job. This parameter is used only if the target
4087	// is an AWS Batch job.
4088	ArrayProperties *BatchArrayProperties `type:"structure"`
4089
4090	// The ARN or name of the job definition to use if the event target is an AWS
4091	// Batch job. This job definition must already exist.
4092	//
4093	// JobDefinition is a required field
4094	JobDefinition *string `type:"string" required:"true"`
4095
4096	// The name to use for this execution of the job, if the target is an AWS Batch
4097	// job.
4098	//
4099	// JobName is a required field
4100	JobName *string `type:"string" required:"true"`
4101
4102	// The retry strategy to use for failed jobs, if the target is an AWS Batch
4103	// job. The retry strategy is the number of times to retry the failed job execution.
4104	// Valid values are 1–10. When you specify a retry strategy here, it overrides
4105	// the retry strategy defined in the job definition.
4106	RetryStrategy *BatchRetryStrategy `type:"structure"`
4107}
4108
4109// String returns the string representation
4110func (s BatchParameters) String() string {
4111	return awsutil.Prettify(s)
4112}
4113
4114// GoString returns the string representation
4115func (s BatchParameters) GoString() string {
4116	return s.String()
4117}
4118
4119// Validate inspects the fields of the type to determine if they are valid.
4120func (s *BatchParameters) Validate() error {
4121	invalidParams := request.ErrInvalidParams{Context: "BatchParameters"}
4122	if s.JobDefinition == nil {
4123		invalidParams.Add(request.NewErrParamRequired("JobDefinition"))
4124	}
4125	if s.JobName == nil {
4126		invalidParams.Add(request.NewErrParamRequired("JobName"))
4127	}
4128
4129	if invalidParams.Len() > 0 {
4130		return invalidParams
4131	}
4132	return nil
4133}
4134
4135// SetArrayProperties sets the ArrayProperties field's value.
4136func (s *BatchParameters) SetArrayProperties(v *BatchArrayProperties) *BatchParameters {
4137	s.ArrayProperties = v
4138	return s
4139}
4140
4141// SetJobDefinition sets the JobDefinition field's value.
4142func (s *BatchParameters) SetJobDefinition(v string) *BatchParameters {
4143	s.JobDefinition = &v
4144	return s
4145}
4146
4147// SetJobName sets the JobName field's value.
4148func (s *BatchParameters) SetJobName(v string) *BatchParameters {
4149	s.JobName = &v
4150	return s
4151}
4152
4153// SetRetryStrategy sets the RetryStrategy field's value.
4154func (s *BatchParameters) SetRetryStrategy(v *BatchRetryStrategy) *BatchParameters {
4155	s.RetryStrategy = v
4156	return s
4157}
4158
4159// The retry strategy to use for failed jobs, if the target is an AWS Batch
4160// job. If you specify a retry strategy here, it overrides the retry strategy
4161// defined in the job definition.
4162type BatchRetryStrategy struct {
4163	_ struct{} `type:"structure"`
4164
4165	// The number of times to attempt to retry, if the job fails. Valid values are
4166	// 1–10.
4167	Attempts *int64 `type:"integer"`
4168}
4169
4170// String returns the string representation
4171func (s BatchRetryStrategy) String() string {
4172	return awsutil.Prettify(s)
4173}
4174
4175// GoString returns the string representation
4176func (s BatchRetryStrategy) GoString() string {
4177	return s.String()
4178}
4179
4180// SetAttempts sets the Attempts field's value.
4181func (s *BatchRetryStrategy) SetAttempts(v int64) *BatchRetryStrategy {
4182	s.Attempts = &v
4183	return s
4184}
4185
4186type CancelReplayInput struct {
4187	_ struct{} `type:"structure"`
4188
4189	// The name of the replay to cancel.
4190	//
4191	// ReplayName is a required field
4192	ReplayName *string `min:"1" type:"string" required:"true"`
4193}
4194
4195// String returns the string representation
4196func (s CancelReplayInput) String() string {
4197	return awsutil.Prettify(s)
4198}
4199
4200// GoString returns the string representation
4201func (s CancelReplayInput) GoString() string {
4202	return s.String()
4203}
4204
4205// Validate inspects the fields of the type to determine if they are valid.
4206func (s *CancelReplayInput) Validate() error {
4207	invalidParams := request.ErrInvalidParams{Context: "CancelReplayInput"}
4208	if s.ReplayName == nil {
4209		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
4210	}
4211	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
4212		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
4213	}
4214
4215	if invalidParams.Len() > 0 {
4216		return invalidParams
4217	}
4218	return nil
4219}
4220
4221// SetReplayName sets the ReplayName field's value.
4222func (s *CancelReplayInput) SetReplayName(v string) *CancelReplayInput {
4223	s.ReplayName = &v
4224	return s
4225}
4226
4227type CancelReplayOutput struct {
4228	_ struct{} `type:"structure"`
4229
4230	// The ARN of the replay to cancel.
4231	ReplayArn *string `min:"1" type:"string"`
4232
4233	// The current state of the replay.
4234	State *string `type:"string" enum:"ReplayState"`
4235
4236	// The reason that the replay is in the current state.
4237	StateReason *string `type:"string"`
4238}
4239
4240// String returns the string representation
4241func (s CancelReplayOutput) String() string {
4242	return awsutil.Prettify(s)
4243}
4244
4245// GoString returns the string representation
4246func (s CancelReplayOutput) GoString() string {
4247	return s.String()
4248}
4249
4250// SetReplayArn sets the ReplayArn field's value.
4251func (s *CancelReplayOutput) SetReplayArn(v string) *CancelReplayOutput {
4252	s.ReplayArn = &v
4253	return s
4254}
4255
4256// SetState sets the State field's value.
4257func (s *CancelReplayOutput) SetState(v string) *CancelReplayOutput {
4258	s.State = &v
4259	return s
4260}
4261
4262// SetStateReason sets the StateReason field's value.
4263func (s *CancelReplayOutput) SetStateReason(v string) *CancelReplayOutput {
4264	s.StateReason = &v
4265	return s
4266}
4267
4268// There is concurrent modification on a rule, target, archive, or replay.
4269type ConcurrentModificationException struct {
4270	_            struct{}                  `type:"structure"`
4271	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4272
4273	Message_ *string `locationName:"message" type:"string"`
4274}
4275
4276// String returns the string representation
4277func (s ConcurrentModificationException) String() string {
4278	return awsutil.Prettify(s)
4279}
4280
4281// GoString returns the string representation
4282func (s ConcurrentModificationException) GoString() string {
4283	return s.String()
4284}
4285
4286func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4287	return &ConcurrentModificationException{
4288		RespMetadata: v,
4289	}
4290}
4291
4292// Code returns the exception type name.
4293func (s *ConcurrentModificationException) Code() string {
4294	return "ConcurrentModificationException"
4295}
4296
4297// Message returns the exception's message.
4298func (s *ConcurrentModificationException) Message() string {
4299	if s.Message_ != nil {
4300		return *s.Message_
4301	}
4302	return ""
4303}
4304
4305// OrigErr always returns nil, satisfies awserr.Error interface.
4306func (s *ConcurrentModificationException) OrigErr() error {
4307	return nil
4308}
4309
4310func (s *ConcurrentModificationException) Error() string {
4311	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4312}
4313
4314// Status code returns the HTTP status code for the request's response error.
4315func (s *ConcurrentModificationException) StatusCode() int {
4316	return s.RespMetadata.StatusCode
4317}
4318
4319// RequestID returns the service's response RequestID for request.
4320func (s *ConcurrentModificationException) RequestID() string {
4321	return s.RespMetadata.RequestID
4322}
4323
4324// A JSON string which you can use to limit the event bus permissions you are
4325// granting to only accounts that fulfill the condition. Currently, the only
4326// supported condition is membership in a certain AWS organization. The string
4327// must contain Type, Key, and Value fields. The Value field specifies the ID
4328// of the AWS organization. Following is an example value for Condition:
4329//
4330// '{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890"}'
4331type Condition struct {
4332	_ struct{} `type:"structure"`
4333
4334	// Specifies the key for the condition. Currently the only supported key is
4335	// aws:PrincipalOrgID.
4336	//
4337	// Key is a required field
4338	Key *string `type:"string" required:"true"`
4339
4340	// Specifies the type of condition. Currently the only supported value is StringEquals.
4341	//
4342	// Type is a required field
4343	Type *string `type:"string" required:"true"`
4344
4345	// Specifies the value for the key. Currently, this must be the ID of the organization.
4346	//
4347	// Value is a required field
4348	Value *string `type:"string" required:"true"`
4349}
4350
4351// String returns the string representation
4352func (s Condition) String() string {
4353	return awsutil.Prettify(s)
4354}
4355
4356// GoString returns the string representation
4357func (s Condition) GoString() string {
4358	return s.String()
4359}
4360
4361// Validate inspects the fields of the type to determine if they are valid.
4362func (s *Condition) Validate() error {
4363	invalidParams := request.ErrInvalidParams{Context: "Condition"}
4364	if s.Key == nil {
4365		invalidParams.Add(request.NewErrParamRequired("Key"))
4366	}
4367	if s.Type == nil {
4368		invalidParams.Add(request.NewErrParamRequired("Type"))
4369	}
4370	if s.Value == nil {
4371		invalidParams.Add(request.NewErrParamRequired("Value"))
4372	}
4373
4374	if invalidParams.Len() > 0 {
4375		return invalidParams
4376	}
4377	return nil
4378}
4379
4380// SetKey sets the Key field's value.
4381func (s *Condition) SetKey(v string) *Condition {
4382	s.Key = &v
4383	return s
4384}
4385
4386// SetType sets the Type field's value.
4387func (s *Condition) SetType(v string) *Condition {
4388	s.Type = &v
4389	return s
4390}
4391
4392// SetValue sets the Value field's value.
4393func (s *Condition) SetValue(v string) *Condition {
4394	s.Value = &v
4395	return s
4396}
4397
4398type CreateArchiveInput struct {
4399	_ struct{} `type:"structure"`
4400
4401	// The name for the archive to create.
4402	//
4403	// ArchiveName is a required field
4404	ArchiveName *string `min:"1" type:"string" required:"true"`
4405
4406	// A description for the archive.
4407	Description *string `type:"string"`
4408
4409	// An event pattern to use to filter events sent to the archive.
4410	EventPattern *string `type:"string"`
4411
4412	// The ARN of the event source associated with the archive.
4413	//
4414	// EventSourceArn is a required field
4415	EventSourceArn *string `min:"1" type:"string" required:"true"`
4416
4417	// The number of days to retain events for. Default value is 0. If set to 0,
4418	// events are retained indefinitely
4419	RetentionDays *int64 `type:"integer"`
4420}
4421
4422// String returns the string representation
4423func (s CreateArchiveInput) String() string {
4424	return awsutil.Prettify(s)
4425}
4426
4427// GoString returns the string representation
4428func (s CreateArchiveInput) GoString() string {
4429	return s.String()
4430}
4431
4432// Validate inspects the fields of the type to determine if they are valid.
4433func (s *CreateArchiveInput) Validate() error {
4434	invalidParams := request.ErrInvalidParams{Context: "CreateArchiveInput"}
4435	if s.ArchiveName == nil {
4436		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
4437	}
4438	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
4439		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
4440	}
4441	if s.EventSourceArn == nil {
4442		invalidParams.Add(request.NewErrParamRequired("EventSourceArn"))
4443	}
4444	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
4445		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
4446	}
4447
4448	if invalidParams.Len() > 0 {
4449		return invalidParams
4450	}
4451	return nil
4452}
4453
4454// SetArchiveName sets the ArchiveName field's value.
4455func (s *CreateArchiveInput) SetArchiveName(v string) *CreateArchiveInput {
4456	s.ArchiveName = &v
4457	return s
4458}
4459
4460// SetDescription sets the Description field's value.
4461func (s *CreateArchiveInput) SetDescription(v string) *CreateArchiveInput {
4462	s.Description = &v
4463	return s
4464}
4465
4466// SetEventPattern sets the EventPattern field's value.
4467func (s *CreateArchiveInput) SetEventPattern(v string) *CreateArchiveInput {
4468	s.EventPattern = &v
4469	return s
4470}
4471
4472// SetEventSourceArn sets the EventSourceArn field's value.
4473func (s *CreateArchiveInput) SetEventSourceArn(v string) *CreateArchiveInput {
4474	s.EventSourceArn = &v
4475	return s
4476}
4477
4478// SetRetentionDays sets the RetentionDays field's value.
4479func (s *CreateArchiveInput) SetRetentionDays(v int64) *CreateArchiveInput {
4480	s.RetentionDays = &v
4481	return s
4482}
4483
4484type CreateArchiveOutput struct {
4485	_ struct{} `type:"structure"`
4486
4487	// The ARN of the archive that was created.
4488	ArchiveArn *string `min:"1" type:"string"`
4489
4490	// The time at which the archive was created.
4491	CreationTime *time.Time `type:"timestamp"`
4492
4493	// The state of the archive that was created.
4494	State *string `type:"string" enum:"ArchiveState"`
4495
4496	// The reason that the archive is in the state.
4497	StateReason *string `type:"string"`
4498}
4499
4500// String returns the string representation
4501func (s CreateArchiveOutput) String() string {
4502	return awsutil.Prettify(s)
4503}
4504
4505// GoString returns the string representation
4506func (s CreateArchiveOutput) GoString() string {
4507	return s.String()
4508}
4509
4510// SetArchiveArn sets the ArchiveArn field's value.
4511func (s *CreateArchiveOutput) SetArchiveArn(v string) *CreateArchiveOutput {
4512	s.ArchiveArn = &v
4513	return s
4514}
4515
4516// SetCreationTime sets the CreationTime field's value.
4517func (s *CreateArchiveOutput) SetCreationTime(v time.Time) *CreateArchiveOutput {
4518	s.CreationTime = &v
4519	return s
4520}
4521
4522// SetState sets the State field's value.
4523func (s *CreateArchiveOutput) SetState(v string) *CreateArchiveOutput {
4524	s.State = &v
4525	return s
4526}
4527
4528// SetStateReason sets the StateReason field's value.
4529func (s *CreateArchiveOutput) SetStateReason(v string) *CreateArchiveOutput {
4530	s.StateReason = &v
4531	return s
4532}
4533
4534type CreateEventBusInput struct {
4535	_ struct{} `type:"structure"`
4536
4537	// If you are creating a partner event bus, this specifies the partner event
4538	// source that the new event bus will be matched with.
4539	EventSourceName *string `min:"1" type:"string"`
4540
4541	// The name of the new event bus.
4542	//
4543	// Event bus names cannot contain the / character. You can't use the name default
4544	// for a custom event bus, as this name is already used for your account's default
4545	// event bus.
4546	//
4547	// If this is a partner event bus, the name must exactly match the name of the
4548	// partner event source that this event bus is matched to.
4549	//
4550	// Name is a required field
4551	Name *string `min:"1" type:"string" required:"true"`
4552
4553	// Tags to associate with the event bus.
4554	Tags []*Tag `type:"list"`
4555}
4556
4557// String returns the string representation
4558func (s CreateEventBusInput) String() string {
4559	return awsutil.Prettify(s)
4560}
4561
4562// GoString returns the string representation
4563func (s CreateEventBusInput) GoString() string {
4564	return s.String()
4565}
4566
4567// Validate inspects the fields of the type to determine if they are valid.
4568func (s *CreateEventBusInput) Validate() error {
4569	invalidParams := request.ErrInvalidParams{Context: "CreateEventBusInput"}
4570	if s.EventSourceName != nil && len(*s.EventSourceName) < 1 {
4571		invalidParams.Add(request.NewErrParamMinLen("EventSourceName", 1))
4572	}
4573	if s.Name == nil {
4574		invalidParams.Add(request.NewErrParamRequired("Name"))
4575	}
4576	if s.Name != nil && len(*s.Name) < 1 {
4577		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4578	}
4579	if s.Tags != nil {
4580		for i, v := range s.Tags {
4581			if v == nil {
4582				continue
4583			}
4584			if err := v.Validate(); err != nil {
4585				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4586			}
4587		}
4588	}
4589
4590	if invalidParams.Len() > 0 {
4591		return invalidParams
4592	}
4593	return nil
4594}
4595
4596// SetEventSourceName sets the EventSourceName field's value.
4597func (s *CreateEventBusInput) SetEventSourceName(v string) *CreateEventBusInput {
4598	s.EventSourceName = &v
4599	return s
4600}
4601
4602// SetName sets the Name field's value.
4603func (s *CreateEventBusInput) SetName(v string) *CreateEventBusInput {
4604	s.Name = &v
4605	return s
4606}
4607
4608// SetTags sets the Tags field's value.
4609func (s *CreateEventBusInput) SetTags(v []*Tag) *CreateEventBusInput {
4610	s.Tags = v
4611	return s
4612}
4613
4614type CreateEventBusOutput struct {
4615	_ struct{} `type:"structure"`
4616
4617	// The ARN of the new event bus.
4618	EventBusArn *string `type:"string"`
4619}
4620
4621// String returns the string representation
4622func (s CreateEventBusOutput) String() string {
4623	return awsutil.Prettify(s)
4624}
4625
4626// GoString returns the string representation
4627func (s CreateEventBusOutput) GoString() string {
4628	return s.String()
4629}
4630
4631// SetEventBusArn sets the EventBusArn field's value.
4632func (s *CreateEventBusOutput) SetEventBusArn(v string) *CreateEventBusOutput {
4633	s.EventBusArn = &v
4634	return s
4635}
4636
4637type CreatePartnerEventSourceInput struct {
4638	_ struct{} `type:"structure"`
4639
4640	// The AWS account ID that is permitted to create a matching partner event bus
4641	// for this partner event source.
4642	//
4643	// Account is a required field
4644	Account *string `min:"12" type:"string" required:"true"`
4645
4646	// The name of the partner event source. This name must be unique and must be
4647	// in the format partner_name/event_namespace/event_name . The AWS account that
4648	// wants to use this partner event source must create a partner event bus with
4649	// a name that matches the name of the partner event source.
4650	//
4651	// Name is a required field
4652	Name *string `min:"1" type:"string" required:"true"`
4653}
4654
4655// String returns the string representation
4656func (s CreatePartnerEventSourceInput) String() string {
4657	return awsutil.Prettify(s)
4658}
4659
4660// GoString returns the string representation
4661func (s CreatePartnerEventSourceInput) GoString() string {
4662	return s.String()
4663}
4664
4665// Validate inspects the fields of the type to determine if they are valid.
4666func (s *CreatePartnerEventSourceInput) Validate() error {
4667	invalidParams := request.ErrInvalidParams{Context: "CreatePartnerEventSourceInput"}
4668	if s.Account == nil {
4669		invalidParams.Add(request.NewErrParamRequired("Account"))
4670	}
4671	if s.Account != nil && len(*s.Account) < 12 {
4672		invalidParams.Add(request.NewErrParamMinLen("Account", 12))
4673	}
4674	if s.Name == nil {
4675		invalidParams.Add(request.NewErrParamRequired("Name"))
4676	}
4677	if s.Name != nil && len(*s.Name) < 1 {
4678		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4679	}
4680
4681	if invalidParams.Len() > 0 {
4682		return invalidParams
4683	}
4684	return nil
4685}
4686
4687// SetAccount sets the Account field's value.
4688func (s *CreatePartnerEventSourceInput) SetAccount(v string) *CreatePartnerEventSourceInput {
4689	s.Account = &v
4690	return s
4691}
4692
4693// SetName sets the Name field's value.
4694func (s *CreatePartnerEventSourceInput) SetName(v string) *CreatePartnerEventSourceInput {
4695	s.Name = &v
4696	return s
4697}
4698
4699type CreatePartnerEventSourceOutput struct {
4700	_ struct{} `type:"structure"`
4701
4702	// The ARN of the partner event source.
4703	EventSourceArn *string `type:"string"`
4704}
4705
4706// String returns the string representation
4707func (s CreatePartnerEventSourceOutput) String() string {
4708	return awsutil.Prettify(s)
4709}
4710
4711// GoString returns the string representation
4712func (s CreatePartnerEventSourceOutput) GoString() string {
4713	return s.String()
4714}
4715
4716// SetEventSourceArn sets the EventSourceArn field's value.
4717func (s *CreatePartnerEventSourceOutput) SetEventSourceArn(v string) *CreatePartnerEventSourceOutput {
4718	s.EventSourceArn = &v
4719	return s
4720}
4721
4722type DeactivateEventSourceInput struct {
4723	_ struct{} `type:"structure"`
4724
4725	// The name of the partner event source to deactivate.
4726	//
4727	// Name is a required field
4728	Name *string `min:"1" type:"string" required:"true"`
4729}
4730
4731// String returns the string representation
4732func (s DeactivateEventSourceInput) String() string {
4733	return awsutil.Prettify(s)
4734}
4735
4736// GoString returns the string representation
4737func (s DeactivateEventSourceInput) GoString() string {
4738	return s.String()
4739}
4740
4741// Validate inspects the fields of the type to determine if they are valid.
4742func (s *DeactivateEventSourceInput) Validate() error {
4743	invalidParams := request.ErrInvalidParams{Context: "DeactivateEventSourceInput"}
4744	if s.Name == nil {
4745		invalidParams.Add(request.NewErrParamRequired("Name"))
4746	}
4747	if s.Name != nil && len(*s.Name) < 1 {
4748		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4749	}
4750
4751	if invalidParams.Len() > 0 {
4752		return invalidParams
4753	}
4754	return nil
4755}
4756
4757// SetName sets the Name field's value.
4758func (s *DeactivateEventSourceInput) SetName(v string) *DeactivateEventSourceInput {
4759	s.Name = &v
4760	return s
4761}
4762
4763type DeactivateEventSourceOutput struct {
4764	_ struct{} `type:"structure"`
4765}
4766
4767// String returns the string representation
4768func (s DeactivateEventSourceOutput) String() string {
4769	return awsutil.Prettify(s)
4770}
4771
4772// GoString returns the string representation
4773func (s DeactivateEventSourceOutput) GoString() string {
4774	return s.String()
4775}
4776
4777// A DeadLetterConfig object that contains information about a dead-letter queue
4778// configuration.
4779type DeadLetterConfig struct {
4780	_ struct{} `type:"structure"`
4781
4782	// The ARN of the SQS queue specified as the target for the dead-letter queue.
4783	Arn *string `min:"1" type:"string"`
4784}
4785
4786// String returns the string representation
4787func (s DeadLetterConfig) String() string {
4788	return awsutil.Prettify(s)
4789}
4790
4791// GoString returns the string representation
4792func (s DeadLetterConfig) GoString() string {
4793	return s.String()
4794}
4795
4796// Validate inspects the fields of the type to determine if they are valid.
4797func (s *DeadLetterConfig) Validate() error {
4798	invalidParams := request.ErrInvalidParams{Context: "DeadLetterConfig"}
4799	if s.Arn != nil && len(*s.Arn) < 1 {
4800		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
4801	}
4802
4803	if invalidParams.Len() > 0 {
4804		return invalidParams
4805	}
4806	return nil
4807}
4808
4809// SetArn sets the Arn field's value.
4810func (s *DeadLetterConfig) SetArn(v string) *DeadLetterConfig {
4811	s.Arn = &v
4812	return s
4813}
4814
4815type DeleteArchiveInput struct {
4816	_ struct{} `type:"structure"`
4817
4818	// The name of the archive to delete.
4819	//
4820	// ArchiveName is a required field
4821	ArchiveName *string `min:"1" type:"string" required:"true"`
4822}
4823
4824// String returns the string representation
4825func (s DeleteArchiveInput) String() string {
4826	return awsutil.Prettify(s)
4827}
4828
4829// GoString returns the string representation
4830func (s DeleteArchiveInput) GoString() string {
4831	return s.String()
4832}
4833
4834// Validate inspects the fields of the type to determine if they are valid.
4835func (s *DeleteArchiveInput) Validate() error {
4836	invalidParams := request.ErrInvalidParams{Context: "DeleteArchiveInput"}
4837	if s.ArchiveName == nil {
4838		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
4839	}
4840	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
4841		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
4842	}
4843
4844	if invalidParams.Len() > 0 {
4845		return invalidParams
4846	}
4847	return nil
4848}
4849
4850// SetArchiveName sets the ArchiveName field's value.
4851func (s *DeleteArchiveInput) SetArchiveName(v string) *DeleteArchiveInput {
4852	s.ArchiveName = &v
4853	return s
4854}
4855
4856type DeleteArchiveOutput struct {
4857	_ struct{} `type:"structure"`
4858}
4859
4860// String returns the string representation
4861func (s DeleteArchiveOutput) String() string {
4862	return awsutil.Prettify(s)
4863}
4864
4865// GoString returns the string representation
4866func (s DeleteArchiveOutput) GoString() string {
4867	return s.String()
4868}
4869
4870type DeleteEventBusInput struct {
4871	_ struct{} `type:"structure"`
4872
4873	// The name of the event bus to delete.
4874	//
4875	// Name is a required field
4876	Name *string `min:"1" type:"string" required:"true"`
4877}
4878
4879// String returns the string representation
4880func (s DeleteEventBusInput) String() string {
4881	return awsutil.Prettify(s)
4882}
4883
4884// GoString returns the string representation
4885func (s DeleteEventBusInput) GoString() string {
4886	return s.String()
4887}
4888
4889// Validate inspects the fields of the type to determine if they are valid.
4890func (s *DeleteEventBusInput) Validate() error {
4891	invalidParams := request.ErrInvalidParams{Context: "DeleteEventBusInput"}
4892	if s.Name == nil {
4893		invalidParams.Add(request.NewErrParamRequired("Name"))
4894	}
4895	if s.Name != nil && len(*s.Name) < 1 {
4896		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4897	}
4898
4899	if invalidParams.Len() > 0 {
4900		return invalidParams
4901	}
4902	return nil
4903}
4904
4905// SetName sets the Name field's value.
4906func (s *DeleteEventBusInput) SetName(v string) *DeleteEventBusInput {
4907	s.Name = &v
4908	return s
4909}
4910
4911type DeleteEventBusOutput struct {
4912	_ struct{} `type:"structure"`
4913}
4914
4915// String returns the string representation
4916func (s DeleteEventBusOutput) String() string {
4917	return awsutil.Prettify(s)
4918}
4919
4920// GoString returns the string representation
4921func (s DeleteEventBusOutput) GoString() string {
4922	return s.String()
4923}
4924
4925type DeletePartnerEventSourceInput struct {
4926	_ struct{} `type:"structure"`
4927
4928	// The AWS account ID of the AWS customer that the event source was created
4929	// for.
4930	//
4931	// Account is a required field
4932	Account *string `min:"12" type:"string" required:"true"`
4933
4934	// The name of the event source to delete.
4935	//
4936	// Name is a required field
4937	Name *string `min:"1" type:"string" required:"true"`
4938}
4939
4940// String returns the string representation
4941func (s DeletePartnerEventSourceInput) String() string {
4942	return awsutil.Prettify(s)
4943}
4944
4945// GoString returns the string representation
4946func (s DeletePartnerEventSourceInput) GoString() string {
4947	return s.String()
4948}
4949
4950// Validate inspects the fields of the type to determine if they are valid.
4951func (s *DeletePartnerEventSourceInput) Validate() error {
4952	invalidParams := request.ErrInvalidParams{Context: "DeletePartnerEventSourceInput"}
4953	if s.Account == nil {
4954		invalidParams.Add(request.NewErrParamRequired("Account"))
4955	}
4956	if s.Account != nil && len(*s.Account) < 12 {
4957		invalidParams.Add(request.NewErrParamMinLen("Account", 12))
4958	}
4959	if s.Name == nil {
4960		invalidParams.Add(request.NewErrParamRequired("Name"))
4961	}
4962	if s.Name != nil && len(*s.Name) < 1 {
4963		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4964	}
4965
4966	if invalidParams.Len() > 0 {
4967		return invalidParams
4968	}
4969	return nil
4970}
4971
4972// SetAccount sets the Account field's value.
4973func (s *DeletePartnerEventSourceInput) SetAccount(v string) *DeletePartnerEventSourceInput {
4974	s.Account = &v
4975	return s
4976}
4977
4978// SetName sets the Name field's value.
4979func (s *DeletePartnerEventSourceInput) SetName(v string) *DeletePartnerEventSourceInput {
4980	s.Name = &v
4981	return s
4982}
4983
4984type DeletePartnerEventSourceOutput struct {
4985	_ struct{} `type:"structure"`
4986}
4987
4988// String returns the string representation
4989func (s DeletePartnerEventSourceOutput) String() string {
4990	return awsutil.Prettify(s)
4991}
4992
4993// GoString returns the string representation
4994func (s DeletePartnerEventSourceOutput) GoString() string {
4995	return s.String()
4996}
4997
4998type DeleteRuleInput struct {
4999	_ struct{} `type:"structure"`
5000
5001	// The name or ARN of the event bus associated with the rule. If you omit this,
5002	// the default event bus is used.
5003	EventBusName *string `min:"1" type:"string"`
5004
5005	// If this is a managed rule, created by an AWS service on your behalf, you
5006	// must specify Force as True to delete the rule. This parameter is ignored
5007	// for rules that are not managed rules. You can check whether a rule is a managed
5008	// rule by using DescribeRule or ListRules and checking the ManagedBy field
5009	// of the response.
5010	Force *bool `type:"boolean"`
5011
5012	// The name of the rule.
5013	//
5014	// Name is a required field
5015	Name *string `min:"1" type:"string" required:"true"`
5016}
5017
5018// String returns the string representation
5019func (s DeleteRuleInput) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation
5024func (s DeleteRuleInput) GoString() string {
5025	return s.String()
5026}
5027
5028// Validate inspects the fields of the type to determine if they are valid.
5029func (s *DeleteRuleInput) Validate() error {
5030	invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
5031	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
5032		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
5033	}
5034	if s.Name == nil {
5035		invalidParams.Add(request.NewErrParamRequired("Name"))
5036	}
5037	if s.Name != nil && len(*s.Name) < 1 {
5038		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5039	}
5040
5041	if invalidParams.Len() > 0 {
5042		return invalidParams
5043	}
5044	return nil
5045}
5046
5047// SetEventBusName sets the EventBusName field's value.
5048func (s *DeleteRuleInput) SetEventBusName(v string) *DeleteRuleInput {
5049	s.EventBusName = &v
5050	return s
5051}
5052
5053// SetForce sets the Force field's value.
5054func (s *DeleteRuleInput) SetForce(v bool) *DeleteRuleInput {
5055	s.Force = &v
5056	return s
5057}
5058
5059// SetName sets the Name field's value.
5060func (s *DeleteRuleInput) SetName(v string) *DeleteRuleInput {
5061	s.Name = &v
5062	return s
5063}
5064
5065type DeleteRuleOutput struct {
5066	_ struct{} `type:"structure"`
5067}
5068
5069// String returns the string representation
5070func (s DeleteRuleOutput) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation
5075func (s DeleteRuleOutput) GoString() string {
5076	return s.String()
5077}
5078
5079type DescribeArchiveInput struct {
5080	_ struct{} `type:"structure"`
5081
5082	// The name of the archive to retrieve.
5083	//
5084	// ArchiveName is a required field
5085	ArchiveName *string `min:"1" type:"string" required:"true"`
5086}
5087
5088// String returns the string representation
5089func (s DescribeArchiveInput) String() string {
5090	return awsutil.Prettify(s)
5091}
5092
5093// GoString returns the string representation
5094func (s DescribeArchiveInput) GoString() string {
5095	return s.String()
5096}
5097
5098// Validate inspects the fields of the type to determine if they are valid.
5099func (s *DescribeArchiveInput) Validate() error {
5100	invalidParams := request.ErrInvalidParams{Context: "DescribeArchiveInput"}
5101	if s.ArchiveName == nil {
5102		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
5103	}
5104	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
5105		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
5106	}
5107
5108	if invalidParams.Len() > 0 {
5109		return invalidParams
5110	}
5111	return nil
5112}
5113
5114// SetArchiveName sets the ArchiveName field's value.
5115func (s *DescribeArchiveInput) SetArchiveName(v string) *DescribeArchiveInput {
5116	s.ArchiveName = &v
5117	return s
5118}
5119
5120type DescribeArchiveOutput struct {
5121	_ struct{} `type:"structure"`
5122
5123	// The ARN of the archive.
5124	ArchiveArn *string `min:"1" type:"string"`
5125
5126	// The name of the archive.
5127	ArchiveName *string `min:"1" type:"string"`
5128
5129	// The time at which the archive was created.
5130	CreationTime *time.Time `type:"timestamp"`
5131
5132	// The description of the archive.
5133	Description *string `type:"string"`
5134
5135	// The number of events in the archive.
5136	EventCount *int64 `type:"long"`
5137
5138	// The event pattern used to filter events sent to the archive.
5139	EventPattern *string `type:"string"`
5140
5141	// The ARN of the event source associated with the archive.
5142	EventSourceArn *string `min:"1" type:"string"`
5143
5144	// The number of days to retain events for in the archive.
5145	RetentionDays *int64 `type:"integer"`
5146
5147	// The size of the archive in bytes.
5148	SizeBytes *int64 `type:"long"`
5149
5150	// The state of the archive.
5151	State *string `type:"string" enum:"ArchiveState"`
5152
5153	// The reason that the archive is in the state.
5154	StateReason *string `type:"string"`
5155}
5156
5157// String returns the string representation
5158func (s DescribeArchiveOutput) String() string {
5159	return awsutil.Prettify(s)
5160}
5161
5162// GoString returns the string representation
5163func (s DescribeArchiveOutput) GoString() string {
5164	return s.String()
5165}
5166
5167// SetArchiveArn sets the ArchiveArn field's value.
5168func (s *DescribeArchiveOutput) SetArchiveArn(v string) *DescribeArchiveOutput {
5169	s.ArchiveArn = &v
5170	return s
5171}
5172
5173// SetArchiveName sets the ArchiveName field's value.
5174func (s *DescribeArchiveOutput) SetArchiveName(v string) *DescribeArchiveOutput {
5175	s.ArchiveName = &v
5176	return s
5177}
5178
5179// SetCreationTime sets the CreationTime field's value.
5180func (s *DescribeArchiveOutput) SetCreationTime(v time.Time) *DescribeArchiveOutput {
5181	s.CreationTime = &v
5182	return s
5183}
5184
5185// SetDescription sets the Description field's value.
5186func (s *DescribeArchiveOutput) SetDescription(v string) *DescribeArchiveOutput {
5187	s.Description = &v
5188	return s
5189}
5190
5191// SetEventCount sets the EventCount field's value.
5192func (s *DescribeArchiveOutput) SetEventCount(v int64) *DescribeArchiveOutput {
5193	s.EventCount = &v
5194	return s
5195}
5196
5197// SetEventPattern sets the EventPattern field's value.
5198func (s *DescribeArchiveOutput) SetEventPattern(v string) *DescribeArchiveOutput {
5199	s.EventPattern = &v
5200	return s
5201}
5202
5203// SetEventSourceArn sets the EventSourceArn field's value.
5204func (s *DescribeArchiveOutput) SetEventSourceArn(v string) *DescribeArchiveOutput {
5205	s.EventSourceArn = &v
5206	return s
5207}
5208
5209// SetRetentionDays sets the RetentionDays field's value.
5210func (s *DescribeArchiveOutput) SetRetentionDays(v int64) *DescribeArchiveOutput {
5211	s.RetentionDays = &v
5212	return s
5213}
5214
5215// SetSizeBytes sets the SizeBytes field's value.
5216func (s *DescribeArchiveOutput) SetSizeBytes(v int64) *DescribeArchiveOutput {
5217	s.SizeBytes = &v
5218	return s
5219}
5220
5221// SetState sets the State field's value.
5222func (s *DescribeArchiveOutput) SetState(v string) *DescribeArchiveOutput {
5223	s.State = &v
5224	return s
5225}
5226
5227// SetStateReason sets the StateReason field's value.
5228func (s *DescribeArchiveOutput) SetStateReason(v string) *DescribeArchiveOutput {
5229	s.StateReason = &v
5230	return s
5231}
5232
5233type DescribeEventBusInput struct {
5234	_ struct{} `type:"structure"`
5235
5236	// The name or ARN of the event bus to show details for. If you omit this, the
5237	// default event bus is displayed.
5238	Name *string `min:"1" type:"string"`
5239}
5240
5241// String returns the string representation
5242func (s DescribeEventBusInput) String() string {
5243	return awsutil.Prettify(s)
5244}
5245
5246// GoString returns the string representation
5247func (s DescribeEventBusInput) GoString() string {
5248	return s.String()
5249}
5250
5251// Validate inspects the fields of the type to determine if they are valid.
5252func (s *DescribeEventBusInput) Validate() error {
5253	invalidParams := request.ErrInvalidParams{Context: "DescribeEventBusInput"}
5254	if s.Name != nil && len(*s.Name) < 1 {
5255		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5256	}
5257
5258	if invalidParams.Len() > 0 {
5259		return invalidParams
5260	}
5261	return nil
5262}
5263
5264// SetName sets the Name field's value.
5265func (s *DescribeEventBusInput) SetName(v string) *DescribeEventBusInput {
5266	s.Name = &v
5267	return s
5268}
5269
5270type DescribeEventBusOutput struct {
5271	_ struct{} `type:"structure"`
5272
5273	// The Amazon Resource Name (ARN) of the account permitted to write events to
5274	// the current account.
5275	Arn *string `type:"string"`
5276
5277	// The name of the event bus. Currently, this is always default.
5278	Name *string `type:"string"`
5279
5280	// The policy that enables the external account to send events to your account.
5281	Policy *string `type:"string"`
5282}
5283
5284// String returns the string representation
5285func (s DescribeEventBusOutput) String() string {
5286	return awsutil.Prettify(s)
5287}
5288
5289// GoString returns the string representation
5290func (s DescribeEventBusOutput) GoString() string {
5291	return s.String()
5292}
5293
5294// SetArn sets the Arn field's value.
5295func (s *DescribeEventBusOutput) SetArn(v string) *DescribeEventBusOutput {
5296	s.Arn = &v
5297	return s
5298}
5299
5300// SetName sets the Name field's value.
5301func (s *DescribeEventBusOutput) SetName(v string) *DescribeEventBusOutput {
5302	s.Name = &v
5303	return s
5304}
5305
5306// SetPolicy sets the Policy field's value.
5307func (s *DescribeEventBusOutput) SetPolicy(v string) *DescribeEventBusOutput {
5308	s.Policy = &v
5309	return s
5310}
5311
5312type DescribeEventSourceInput struct {
5313	_ struct{} `type:"structure"`
5314
5315	// The name of the partner event source to display the details of.
5316	//
5317	// Name is a required field
5318	Name *string `min:"1" type:"string" required:"true"`
5319}
5320
5321// String returns the string representation
5322func (s DescribeEventSourceInput) String() string {
5323	return awsutil.Prettify(s)
5324}
5325
5326// GoString returns the string representation
5327func (s DescribeEventSourceInput) GoString() string {
5328	return s.String()
5329}
5330
5331// Validate inspects the fields of the type to determine if they are valid.
5332func (s *DescribeEventSourceInput) Validate() error {
5333	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSourceInput"}
5334	if s.Name == nil {
5335		invalidParams.Add(request.NewErrParamRequired("Name"))
5336	}
5337	if s.Name != nil && len(*s.Name) < 1 {
5338		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5339	}
5340
5341	if invalidParams.Len() > 0 {
5342		return invalidParams
5343	}
5344	return nil
5345}
5346
5347// SetName sets the Name field's value.
5348func (s *DescribeEventSourceInput) SetName(v string) *DescribeEventSourceInput {
5349	s.Name = &v
5350	return s
5351}
5352
5353type DescribeEventSourceOutput struct {
5354	_ struct{} `type:"structure"`
5355
5356	// The ARN of the partner event source.
5357	Arn *string `type:"string"`
5358
5359	// The name of the SaaS partner that created the event source.
5360	CreatedBy *string `type:"string"`
5361
5362	// The date and time that the event source was created.
5363	CreationTime *time.Time `type:"timestamp"`
5364
5365	// The date and time that the event source will expire if you do not create
5366	// a matching event bus.
5367	ExpirationTime *time.Time `type:"timestamp"`
5368
5369	// The name of the partner event source.
5370	Name *string `type:"string"`
5371
5372	// The state of the event source. If it is ACTIVE, you have already created
5373	// a matching event bus for this event source, and that event bus is active.
5374	// If it is PENDING, either you haven't yet created a matching event bus, or
5375	// that event bus is deactivated. If it is DELETED, you have created a matching
5376	// event bus, but the event source has since been deleted.
5377	State *string `type:"string" enum:"EventSourceState"`
5378}
5379
5380// String returns the string representation
5381func (s DescribeEventSourceOutput) String() string {
5382	return awsutil.Prettify(s)
5383}
5384
5385// GoString returns the string representation
5386func (s DescribeEventSourceOutput) GoString() string {
5387	return s.String()
5388}
5389
5390// SetArn sets the Arn field's value.
5391func (s *DescribeEventSourceOutput) SetArn(v string) *DescribeEventSourceOutput {
5392	s.Arn = &v
5393	return s
5394}
5395
5396// SetCreatedBy sets the CreatedBy field's value.
5397func (s *DescribeEventSourceOutput) SetCreatedBy(v string) *DescribeEventSourceOutput {
5398	s.CreatedBy = &v
5399	return s
5400}
5401
5402// SetCreationTime sets the CreationTime field's value.
5403func (s *DescribeEventSourceOutput) SetCreationTime(v time.Time) *DescribeEventSourceOutput {
5404	s.CreationTime = &v
5405	return s
5406}
5407
5408// SetExpirationTime sets the ExpirationTime field's value.
5409func (s *DescribeEventSourceOutput) SetExpirationTime(v time.Time) *DescribeEventSourceOutput {
5410	s.ExpirationTime = &v
5411	return s
5412}
5413
5414// SetName sets the Name field's value.
5415func (s *DescribeEventSourceOutput) SetName(v string) *DescribeEventSourceOutput {
5416	s.Name = &v
5417	return s
5418}
5419
5420// SetState sets the State field's value.
5421func (s *DescribeEventSourceOutput) SetState(v string) *DescribeEventSourceOutput {
5422	s.State = &v
5423	return s
5424}
5425
5426type DescribePartnerEventSourceInput struct {
5427	_ struct{} `type:"structure"`
5428
5429	// The name of the event source to display.
5430	//
5431	// Name is a required field
5432	Name *string `min:"1" type:"string" required:"true"`
5433}
5434
5435// String returns the string representation
5436func (s DescribePartnerEventSourceInput) String() string {
5437	return awsutil.Prettify(s)
5438}
5439
5440// GoString returns the string representation
5441func (s DescribePartnerEventSourceInput) GoString() string {
5442	return s.String()
5443}
5444
5445// Validate inspects the fields of the type to determine if they are valid.
5446func (s *DescribePartnerEventSourceInput) Validate() error {
5447	invalidParams := request.ErrInvalidParams{Context: "DescribePartnerEventSourceInput"}
5448	if s.Name == nil {
5449		invalidParams.Add(request.NewErrParamRequired("Name"))
5450	}
5451	if s.Name != nil && len(*s.Name) < 1 {
5452		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5453	}
5454
5455	if invalidParams.Len() > 0 {
5456		return invalidParams
5457	}
5458	return nil
5459}
5460
5461// SetName sets the Name field's value.
5462func (s *DescribePartnerEventSourceInput) SetName(v string) *DescribePartnerEventSourceInput {
5463	s.Name = &v
5464	return s
5465}
5466
5467type DescribePartnerEventSourceOutput struct {
5468	_ struct{} `type:"structure"`
5469
5470	// The ARN of the event source.
5471	Arn *string `type:"string"`
5472
5473	// The name of the event source.
5474	Name *string `type:"string"`
5475}
5476
5477// String returns the string representation
5478func (s DescribePartnerEventSourceOutput) String() string {
5479	return awsutil.Prettify(s)
5480}
5481
5482// GoString returns the string representation
5483func (s DescribePartnerEventSourceOutput) GoString() string {
5484	return s.String()
5485}
5486
5487// SetArn sets the Arn field's value.
5488func (s *DescribePartnerEventSourceOutput) SetArn(v string) *DescribePartnerEventSourceOutput {
5489	s.Arn = &v
5490	return s
5491}
5492
5493// SetName sets the Name field's value.
5494func (s *DescribePartnerEventSourceOutput) SetName(v string) *DescribePartnerEventSourceOutput {
5495	s.Name = &v
5496	return s
5497}
5498
5499type DescribeReplayInput struct {
5500	_ struct{} `type:"structure"`
5501
5502	// The name of the replay to retrieve.
5503	//
5504	// ReplayName is a required field
5505	ReplayName *string `min:"1" type:"string" required:"true"`
5506}
5507
5508// String returns the string representation
5509func (s DescribeReplayInput) String() string {
5510	return awsutil.Prettify(s)
5511}
5512
5513// GoString returns the string representation
5514func (s DescribeReplayInput) GoString() string {
5515	return s.String()
5516}
5517
5518// Validate inspects the fields of the type to determine if they are valid.
5519func (s *DescribeReplayInput) Validate() error {
5520	invalidParams := request.ErrInvalidParams{Context: "DescribeReplayInput"}
5521	if s.ReplayName == nil {
5522		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
5523	}
5524	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
5525		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
5526	}
5527
5528	if invalidParams.Len() > 0 {
5529		return invalidParams
5530	}
5531	return nil
5532}
5533
5534// SetReplayName sets the ReplayName field's value.
5535func (s *DescribeReplayInput) SetReplayName(v string) *DescribeReplayInput {
5536	s.ReplayName = &v
5537	return s
5538}
5539
5540type DescribeReplayOutput struct {
5541	_ struct{} `type:"structure"`
5542
5543	// The description of the replay.
5544	Description *string `type:"string"`
5545
5546	// A ReplayDestination object that contains details about the replay.
5547	Destination *ReplayDestination `type:"structure"`
5548
5549	// The time stamp for the last event that was replayed from the archive.
5550	EventEndTime *time.Time `type:"timestamp"`
5551
5552	// The time that the event was last replayed.
5553	EventLastReplayedTime *time.Time `type:"timestamp"`
5554
5555	// The ARN of the archive events were replayed from.
5556	EventSourceArn *string `min:"1" type:"string"`
5557
5558	// The time stamp of the first event that was last replayed from the archive.
5559	EventStartTime *time.Time `type:"timestamp"`
5560
5561	// The ARN of the replay.
5562	ReplayArn *string `min:"1" type:"string"`
5563
5564	// A time stamp for the time that the replay stopped.
5565	ReplayEndTime *time.Time `type:"timestamp"`
5566
5567	// The name of the replay.
5568	ReplayName *string `min:"1" type:"string"`
5569
5570	// A time stamp for the time that the replay started.
5571	ReplayStartTime *time.Time `type:"timestamp"`
5572
5573	// The current state of the replay.
5574	State *string `type:"string" enum:"ReplayState"`
5575
5576	// The reason that the replay is in the current state.
5577	StateReason *string `type:"string"`
5578}
5579
5580// String returns the string representation
5581func (s DescribeReplayOutput) String() string {
5582	return awsutil.Prettify(s)
5583}
5584
5585// GoString returns the string representation
5586func (s DescribeReplayOutput) GoString() string {
5587	return s.String()
5588}
5589
5590// SetDescription sets the Description field's value.
5591func (s *DescribeReplayOutput) SetDescription(v string) *DescribeReplayOutput {
5592	s.Description = &v
5593	return s
5594}
5595
5596// SetDestination sets the Destination field's value.
5597func (s *DescribeReplayOutput) SetDestination(v *ReplayDestination) *DescribeReplayOutput {
5598	s.Destination = v
5599	return s
5600}
5601
5602// SetEventEndTime sets the EventEndTime field's value.
5603func (s *DescribeReplayOutput) SetEventEndTime(v time.Time) *DescribeReplayOutput {
5604	s.EventEndTime = &v
5605	return s
5606}
5607
5608// SetEventLastReplayedTime sets the EventLastReplayedTime field's value.
5609func (s *DescribeReplayOutput) SetEventLastReplayedTime(v time.Time) *DescribeReplayOutput {
5610	s.EventLastReplayedTime = &v
5611	return s
5612}
5613
5614// SetEventSourceArn sets the EventSourceArn field's value.
5615func (s *DescribeReplayOutput) SetEventSourceArn(v string) *DescribeReplayOutput {
5616	s.EventSourceArn = &v
5617	return s
5618}
5619
5620// SetEventStartTime sets the EventStartTime field's value.
5621func (s *DescribeReplayOutput) SetEventStartTime(v time.Time) *DescribeReplayOutput {
5622	s.EventStartTime = &v
5623	return s
5624}
5625
5626// SetReplayArn sets the ReplayArn field's value.
5627func (s *DescribeReplayOutput) SetReplayArn(v string) *DescribeReplayOutput {
5628	s.ReplayArn = &v
5629	return s
5630}
5631
5632// SetReplayEndTime sets the ReplayEndTime field's value.
5633func (s *DescribeReplayOutput) SetReplayEndTime(v time.Time) *DescribeReplayOutput {
5634	s.ReplayEndTime = &v
5635	return s
5636}
5637
5638// SetReplayName sets the ReplayName field's value.
5639func (s *DescribeReplayOutput) SetReplayName(v string) *DescribeReplayOutput {
5640	s.ReplayName = &v
5641	return s
5642}
5643
5644// SetReplayStartTime sets the ReplayStartTime field's value.
5645func (s *DescribeReplayOutput) SetReplayStartTime(v time.Time) *DescribeReplayOutput {
5646	s.ReplayStartTime = &v
5647	return s
5648}
5649
5650// SetState sets the State field's value.
5651func (s *DescribeReplayOutput) SetState(v string) *DescribeReplayOutput {
5652	s.State = &v
5653	return s
5654}
5655
5656// SetStateReason sets the StateReason field's value.
5657func (s *DescribeReplayOutput) SetStateReason(v string) *DescribeReplayOutput {
5658	s.StateReason = &v
5659	return s
5660}
5661
5662type DescribeRuleInput struct {
5663	_ struct{} `type:"structure"`
5664
5665	// The name or ARN of the event bus associated with the rule. If you omit this,
5666	// the default event bus is used.
5667	EventBusName *string `min:"1" type:"string"`
5668
5669	// The name of the rule.
5670	//
5671	// Name is a required field
5672	Name *string `min:"1" type:"string" required:"true"`
5673}
5674
5675// String returns the string representation
5676func (s DescribeRuleInput) String() string {
5677	return awsutil.Prettify(s)
5678}
5679
5680// GoString returns the string representation
5681func (s DescribeRuleInput) GoString() string {
5682	return s.String()
5683}
5684
5685// Validate inspects the fields of the type to determine if they are valid.
5686func (s *DescribeRuleInput) Validate() error {
5687	invalidParams := request.ErrInvalidParams{Context: "DescribeRuleInput"}
5688	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
5689		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
5690	}
5691	if s.Name == nil {
5692		invalidParams.Add(request.NewErrParamRequired("Name"))
5693	}
5694	if s.Name != nil && len(*s.Name) < 1 {
5695		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5696	}
5697
5698	if invalidParams.Len() > 0 {
5699		return invalidParams
5700	}
5701	return nil
5702}
5703
5704// SetEventBusName sets the EventBusName field's value.
5705func (s *DescribeRuleInput) SetEventBusName(v string) *DescribeRuleInput {
5706	s.EventBusName = &v
5707	return s
5708}
5709
5710// SetName sets the Name field's value.
5711func (s *DescribeRuleInput) SetName(v string) *DescribeRuleInput {
5712	s.Name = &v
5713	return s
5714}
5715
5716type DescribeRuleOutput struct {
5717	_ struct{} `type:"structure"`
5718
5719	// The Amazon Resource Name (ARN) of the rule.
5720	Arn *string `min:"1" type:"string"`
5721
5722	// The account ID of the user that created the rule. If you use PutRule to put
5723	// a rule on an event bus in another account, the other account is the owner
5724	// of the rule, and the rule ARN includes the account ID for that account. However,
5725	// the value for CreatedBy is the account ID as the account that created the
5726	// rule in the other account.
5727	CreatedBy *string `min:"1" type:"string"`
5728
5729	// The description of the rule.
5730	Description *string `type:"string"`
5731
5732	// The name of the event bus associated with the rule.
5733	EventBusName *string `min:"1" type:"string"`
5734
5735	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
5736	// in the Amazon EventBridge User Guide.
5737	EventPattern *string `type:"string"`
5738
5739	// If this is a managed rule, created by an AWS service on your behalf, this
5740	// field displays the principal name of the AWS service that created the rule.
5741	ManagedBy *string `min:"1" type:"string"`
5742
5743	// The name of the rule.
5744	Name *string `min:"1" type:"string"`
5745
5746	// The Amazon Resource Name (ARN) of the IAM role associated with the rule.
5747	RoleArn *string `min:"1" type:"string"`
5748
5749	// The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".
5750	ScheduleExpression *string `type:"string"`
5751
5752	// Specifies whether the rule is enabled or disabled.
5753	State *string `type:"string" enum:"RuleState"`
5754}
5755
5756// String returns the string representation
5757func (s DescribeRuleOutput) String() string {
5758	return awsutil.Prettify(s)
5759}
5760
5761// GoString returns the string representation
5762func (s DescribeRuleOutput) GoString() string {
5763	return s.String()
5764}
5765
5766// SetArn sets the Arn field's value.
5767func (s *DescribeRuleOutput) SetArn(v string) *DescribeRuleOutput {
5768	s.Arn = &v
5769	return s
5770}
5771
5772// SetCreatedBy sets the CreatedBy field's value.
5773func (s *DescribeRuleOutput) SetCreatedBy(v string) *DescribeRuleOutput {
5774	s.CreatedBy = &v
5775	return s
5776}
5777
5778// SetDescription sets the Description field's value.
5779func (s *DescribeRuleOutput) SetDescription(v string) *DescribeRuleOutput {
5780	s.Description = &v
5781	return s
5782}
5783
5784// SetEventBusName sets the EventBusName field's value.
5785func (s *DescribeRuleOutput) SetEventBusName(v string) *DescribeRuleOutput {
5786	s.EventBusName = &v
5787	return s
5788}
5789
5790// SetEventPattern sets the EventPattern field's value.
5791func (s *DescribeRuleOutput) SetEventPattern(v string) *DescribeRuleOutput {
5792	s.EventPattern = &v
5793	return s
5794}
5795
5796// SetManagedBy sets the ManagedBy field's value.
5797func (s *DescribeRuleOutput) SetManagedBy(v string) *DescribeRuleOutput {
5798	s.ManagedBy = &v
5799	return s
5800}
5801
5802// SetName sets the Name field's value.
5803func (s *DescribeRuleOutput) SetName(v string) *DescribeRuleOutput {
5804	s.Name = &v
5805	return s
5806}
5807
5808// SetRoleArn sets the RoleArn field's value.
5809func (s *DescribeRuleOutput) SetRoleArn(v string) *DescribeRuleOutput {
5810	s.RoleArn = &v
5811	return s
5812}
5813
5814// SetScheduleExpression sets the ScheduleExpression field's value.
5815func (s *DescribeRuleOutput) SetScheduleExpression(v string) *DescribeRuleOutput {
5816	s.ScheduleExpression = &v
5817	return s
5818}
5819
5820// SetState sets the State field's value.
5821func (s *DescribeRuleOutput) SetState(v string) *DescribeRuleOutput {
5822	s.State = &v
5823	return s
5824}
5825
5826type DisableRuleInput struct {
5827	_ struct{} `type:"structure"`
5828
5829	// The name or ARN of the event bus associated with the rule. If you omit this,
5830	// the default event bus is used.
5831	EventBusName *string `min:"1" type:"string"`
5832
5833	// The name of the rule.
5834	//
5835	// Name is a required field
5836	Name *string `min:"1" type:"string" required:"true"`
5837}
5838
5839// String returns the string representation
5840func (s DisableRuleInput) String() string {
5841	return awsutil.Prettify(s)
5842}
5843
5844// GoString returns the string representation
5845func (s DisableRuleInput) GoString() string {
5846	return s.String()
5847}
5848
5849// Validate inspects the fields of the type to determine if they are valid.
5850func (s *DisableRuleInput) Validate() error {
5851	invalidParams := request.ErrInvalidParams{Context: "DisableRuleInput"}
5852	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
5853		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
5854	}
5855	if s.Name == nil {
5856		invalidParams.Add(request.NewErrParamRequired("Name"))
5857	}
5858	if s.Name != nil && len(*s.Name) < 1 {
5859		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5860	}
5861
5862	if invalidParams.Len() > 0 {
5863		return invalidParams
5864	}
5865	return nil
5866}
5867
5868// SetEventBusName sets the EventBusName field's value.
5869func (s *DisableRuleInput) SetEventBusName(v string) *DisableRuleInput {
5870	s.EventBusName = &v
5871	return s
5872}
5873
5874// SetName sets the Name field's value.
5875func (s *DisableRuleInput) SetName(v string) *DisableRuleInput {
5876	s.Name = &v
5877	return s
5878}
5879
5880type DisableRuleOutput struct {
5881	_ struct{} `type:"structure"`
5882}
5883
5884// String returns the string representation
5885func (s DisableRuleOutput) String() string {
5886	return awsutil.Prettify(s)
5887}
5888
5889// GoString returns the string representation
5890func (s DisableRuleOutput) GoString() string {
5891	return s.String()
5892}
5893
5894// The custom parameters to be used when the target is an Amazon ECS task.
5895type EcsParameters struct {
5896	_ struct{} `type:"structure"`
5897
5898	// Specifies an ECS task group for the task. The maximum length is 255 characters.
5899	Group *string `type:"string"`
5900
5901	// Specifies the launch type on which your task is running. The launch type
5902	// that you specify here must match one of the launch type (compatibilities)
5903	// of the target task. The FARGATE value is supported only in the Regions where
5904	// AWS Fargate with Amazon ECS is supported. For more information, see AWS Fargate
5905	// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html)
5906	// in the Amazon Elastic Container Service Developer Guide.
5907	LaunchType *string `type:"string" enum:"LaunchType"`
5908
5909	// Use this structure if the ECS task uses the awsvpc network mode. This structure
5910	// specifies the VPC subnets and security groups associated with the task, and
5911	// whether a public IP address is to be used. This structure is required if
5912	// LaunchType is FARGATE because the awsvpc mode is required for Fargate tasks.
5913	//
5914	// If you specify NetworkConfiguration when the target ECS task does not use
5915	// the awsvpc network mode, the task fails.
5916	NetworkConfiguration *NetworkConfiguration `type:"structure"`
5917
5918	// Specifies the platform version for the task. Specify only the numeric portion
5919	// of the platform version, such as 1.1.0.
5920	//
5921	// This structure is used only if LaunchType is FARGATE. For more information
5922	// about valid platform versions, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
5923	// in the Amazon Elastic Container Service Developer Guide.
5924	PlatformVersion *string `type:"string"`
5925
5926	// The number of tasks to create based on TaskDefinition. The default is 1.
5927	TaskCount *int64 `min:"1" type:"integer"`
5928
5929	// The ARN of the task definition to use if the event target is an Amazon ECS
5930	// task.
5931	//
5932	// TaskDefinitionArn is a required field
5933	TaskDefinitionArn *string `min:"1" type:"string" required:"true"`
5934}
5935
5936// String returns the string representation
5937func (s EcsParameters) String() string {
5938	return awsutil.Prettify(s)
5939}
5940
5941// GoString returns the string representation
5942func (s EcsParameters) GoString() string {
5943	return s.String()
5944}
5945
5946// Validate inspects the fields of the type to determine if they are valid.
5947func (s *EcsParameters) Validate() error {
5948	invalidParams := request.ErrInvalidParams{Context: "EcsParameters"}
5949	if s.TaskCount != nil && *s.TaskCount < 1 {
5950		invalidParams.Add(request.NewErrParamMinValue("TaskCount", 1))
5951	}
5952	if s.TaskDefinitionArn == nil {
5953		invalidParams.Add(request.NewErrParamRequired("TaskDefinitionArn"))
5954	}
5955	if s.TaskDefinitionArn != nil && len(*s.TaskDefinitionArn) < 1 {
5956		invalidParams.Add(request.NewErrParamMinLen("TaskDefinitionArn", 1))
5957	}
5958	if s.NetworkConfiguration != nil {
5959		if err := s.NetworkConfiguration.Validate(); err != nil {
5960			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
5961		}
5962	}
5963
5964	if invalidParams.Len() > 0 {
5965		return invalidParams
5966	}
5967	return nil
5968}
5969
5970// SetGroup sets the Group field's value.
5971func (s *EcsParameters) SetGroup(v string) *EcsParameters {
5972	s.Group = &v
5973	return s
5974}
5975
5976// SetLaunchType sets the LaunchType field's value.
5977func (s *EcsParameters) SetLaunchType(v string) *EcsParameters {
5978	s.LaunchType = &v
5979	return s
5980}
5981
5982// SetNetworkConfiguration sets the NetworkConfiguration field's value.
5983func (s *EcsParameters) SetNetworkConfiguration(v *NetworkConfiguration) *EcsParameters {
5984	s.NetworkConfiguration = v
5985	return s
5986}
5987
5988// SetPlatformVersion sets the PlatformVersion field's value.
5989func (s *EcsParameters) SetPlatformVersion(v string) *EcsParameters {
5990	s.PlatformVersion = &v
5991	return s
5992}
5993
5994// SetTaskCount sets the TaskCount field's value.
5995func (s *EcsParameters) SetTaskCount(v int64) *EcsParameters {
5996	s.TaskCount = &v
5997	return s
5998}
5999
6000// SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
6001func (s *EcsParameters) SetTaskDefinitionArn(v string) *EcsParameters {
6002	s.TaskDefinitionArn = &v
6003	return s
6004}
6005
6006type EnableRuleInput struct {
6007	_ struct{} `type:"structure"`
6008
6009	// The name or ARN of the event bus associated with the rule. If you omit this,
6010	// the default event bus is used.
6011	EventBusName *string `min:"1" type:"string"`
6012
6013	// The name of the rule.
6014	//
6015	// Name is a required field
6016	Name *string `min:"1" type:"string" required:"true"`
6017}
6018
6019// String returns the string representation
6020func (s EnableRuleInput) String() string {
6021	return awsutil.Prettify(s)
6022}
6023
6024// GoString returns the string representation
6025func (s EnableRuleInput) GoString() string {
6026	return s.String()
6027}
6028
6029// Validate inspects the fields of the type to determine if they are valid.
6030func (s *EnableRuleInput) Validate() error {
6031	invalidParams := request.ErrInvalidParams{Context: "EnableRuleInput"}
6032	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
6033		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
6034	}
6035	if s.Name == nil {
6036		invalidParams.Add(request.NewErrParamRequired("Name"))
6037	}
6038	if s.Name != nil && len(*s.Name) < 1 {
6039		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6040	}
6041
6042	if invalidParams.Len() > 0 {
6043		return invalidParams
6044	}
6045	return nil
6046}
6047
6048// SetEventBusName sets the EventBusName field's value.
6049func (s *EnableRuleInput) SetEventBusName(v string) *EnableRuleInput {
6050	s.EventBusName = &v
6051	return s
6052}
6053
6054// SetName sets the Name field's value.
6055func (s *EnableRuleInput) SetName(v string) *EnableRuleInput {
6056	s.Name = &v
6057	return s
6058}
6059
6060type EnableRuleOutput struct {
6061	_ struct{} `type:"structure"`
6062}
6063
6064// String returns the string representation
6065func (s EnableRuleOutput) String() string {
6066	return awsutil.Prettify(s)
6067}
6068
6069// GoString returns the string representation
6070func (s EnableRuleOutput) GoString() string {
6071	return s.String()
6072}
6073
6074// An event bus receives events from a source and routes them to rules associated
6075// with that event bus. Your account's default event bus receives rules from
6076// AWS services. A custom event bus can receive rules from AWS services as well
6077// as your custom applications and services. A partner event bus receives events
6078// from an event source created by an SaaS partner. These events come from the
6079// partners services or applications.
6080type EventBus struct {
6081	_ struct{} `type:"structure"`
6082
6083	// The ARN of the event bus.
6084	Arn *string `type:"string"`
6085
6086	// The name of the event bus.
6087	Name *string `type:"string"`
6088
6089	// The permissions policy of the event bus, describing which other AWS accounts
6090	// can write events to this event bus.
6091	Policy *string `type:"string"`
6092}
6093
6094// String returns the string representation
6095func (s EventBus) String() string {
6096	return awsutil.Prettify(s)
6097}
6098
6099// GoString returns the string representation
6100func (s EventBus) GoString() string {
6101	return s.String()
6102}
6103
6104// SetArn sets the Arn field's value.
6105func (s *EventBus) SetArn(v string) *EventBus {
6106	s.Arn = &v
6107	return s
6108}
6109
6110// SetName sets the Name field's value.
6111func (s *EventBus) SetName(v string) *EventBus {
6112	s.Name = &v
6113	return s
6114}
6115
6116// SetPolicy sets the Policy field's value.
6117func (s *EventBus) SetPolicy(v string) *EventBus {
6118	s.Policy = &v
6119	return s
6120}
6121
6122// A partner event source is created by an SaaS partner. If a customer creates
6123// a partner event bus that matches this event source, that AWS account can
6124// receive events from the partner's applications or services.
6125type EventSource struct {
6126	_ struct{} `type:"structure"`
6127
6128	// The ARN of the event source.
6129	Arn *string `type:"string"`
6130
6131	// The name of the partner that created the event source.
6132	CreatedBy *string `type:"string"`
6133
6134	// The date and time the event source was created.
6135	CreationTime *time.Time `type:"timestamp"`
6136
6137	// The date and time that the event source will expire, if the AWS account doesn't
6138	// create a matching event bus for it.
6139	ExpirationTime *time.Time `type:"timestamp"`
6140
6141	// The name of the event source.
6142	Name *string `type:"string"`
6143
6144	// The state of the event source. If it is ACTIVE, you have already created
6145	// a matching event bus for this event source, and that event bus is active.
6146	// If it is PENDING, either you haven't yet created a matching event bus, or
6147	// that event bus is deactivated. If it is DELETED, you have created a matching
6148	// event bus, but the event source has since been deleted.
6149	State *string `type:"string" enum:"EventSourceState"`
6150}
6151
6152// String returns the string representation
6153func (s EventSource) String() string {
6154	return awsutil.Prettify(s)
6155}
6156
6157// GoString returns the string representation
6158func (s EventSource) GoString() string {
6159	return s.String()
6160}
6161
6162// SetArn sets the Arn field's value.
6163func (s *EventSource) SetArn(v string) *EventSource {
6164	s.Arn = &v
6165	return s
6166}
6167
6168// SetCreatedBy sets the CreatedBy field's value.
6169func (s *EventSource) SetCreatedBy(v string) *EventSource {
6170	s.CreatedBy = &v
6171	return s
6172}
6173
6174// SetCreationTime sets the CreationTime field's value.
6175func (s *EventSource) SetCreationTime(v time.Time) *EventSource {
6176	s.CreationTime = &v
6177	return s
6178}
6179
6180// SetExpirationTime sets the ExpirationTime field's value.
6181func (s *EventSource) SetExpirationTime(v time.Time) *EventSource {
6182	s.ExpirationTime = &v
6183	return s
6184}
6185
6186// SetName sets the Name field's value.
6187func (s *EventSource) SetName(v string) *EventSource {
6188	s.Name = &v
6189	return s
6190}
6191
6192// SetState sets the State field's value.
6193func (s *EventSource) SetState(v string) *EventSource {
6194	s.State = &v
6195	return s
6196}
6197
6198// These are custom parameter to be used when the target is an API Gateway REST
6199// APIs.
6200type HttpParameters struct {
6201	_ struct{} `type:"structure"`
6202
6203	// The headers that need to be sent as part of request invoking the API Gateway
6204	// REST API.
6205	HeaderParameters map[string]*string `type:"map"`
6206
6207	// The path parameter values to be used to populate API Gateway REST API path
6208	// wildcards ("*").
6209	PathParameterValues []*string `type:"list"`
6210
6211	// The query string keys/values that need to be sent as part of request invoking
6212	// the API Gateway REST API.
6213	QueryStringParameters map[string]*string `type:"map"`
6214}
6215
6216// String returns the string representation
6217func (s HttpParameters) String() string {
6218	return awsutil.Prettify(s)
6219}
6220
6221// GoString returns the string representation
6222func (s HttpParameters) GoString() string {
6223	return s.String()
6224}
6225
6226// SetHeaderParameters sets the HeaderParameters field's value.
6227func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters {
6228	s.HeaderParameters = v
6229	return s
6230}
6231
6232// SetPathParameterValues sets the PathParameterValues field's value.
6233func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters {
6234	s.PathParameterValues = v
6235	return s
6236}
6237
6238// SetQueryStringParameters sets the QueryStringParameters field's value.
6239func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters {
6240	s.QueryStringParameters = v
6241	return s
6242}
6243
6244// An error occurred because a replay can be canceled only when the state is
6245// Running or Starting.
6246type IllegalStatusException struct {
6247	_            struct{}                  `type:"structure"`
6248	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6249
6250	Message_ *string `locationName:"message" type:"string"`
6251}
6252
6253// String returns the string representation
6254func (s IllegalStatusException) String() string {
6255	return awsutil.Prettify(s)
6256}
6257
6258// GoString returns the string representation
6259func (s IllegalStatusException) GoString() string {
6260	return s.String()
6261}
6262
6263func newErrorIllegalStatusException(v protocol.ResponseMetadata) error {
6264	return &IllegalStatusException{
6265		RespMetadata: v,
6266	}
6267}
6268
6269// Code returns the exception type name.
6270func (s *IllegalStatusException) Code() string {
6271	return "IllegalStatusException"
6272}
6273
6274// Message returns the exception's message.
6275func (s *IllegalStatusException) Message() string {
6276	if s.Message_ != nil {
6277		return *s.Message_
6278	}
6279	return ""
6280}
6281
6282// OrigErr always returns nil, satisfies awserr.Error interface.
6283func (s *IllegalStatusException) OrigErr() error {
6284	return nil
6285}
6286
6287func (s *IllegalStatusException) Error() string {
6288	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6289}
6290
6291// Status code returns the HTTP status code for the request's response error.
6292func (s *IllegalStatusException) StatusCode() int {
6293	return s.RespMetadata.StatusCode
6294}
6295
6296// RequestID returns the service's response RequestID for request.
6297func (s *IllegalStatusException) RequestID() string {
6298	return s.RespMetadata.RequestID
6299}
6300
6301// Contains the parameters needed for you to provide custom input to a target
6302// based on one or more pieces of data extracted from the event.
6303type InputTransformer struct {
6304	_ struct{} `type:"structure"`
6305
6306	// Map of JSON paths to be extracted from the event. You can then insert these
6307	// in the template in InputTemplate to produce the output you want to be sent
6308	// to the target.
6309	//
6310	// InputPathsMap is an array key-value pairs, where each value is a valid JSON
6311	// path. You can have as many as 10 key-value pairs. You must use JSON dot notation,
6312	// not bracket notation.
6313	//
6314	// The keys cannot start with "AWS."
6315	InputPathsMap map[string]*string `type:"map"`
6316
6317	// Input template where you specify placeholders that will be filled with the
6318	// values of the keys from InputPathsMap to customize the data sent to the target.
6319	// Enclose each InputPathsMaps value in brackets: <value> The InputTemplate
6320	// must be valid JSON.
6321	//
6322	// If InputTemplate is a JSON object (surrounded by curly braces), the following
6323	// restrictions apply:
6324	//
6325	//    * The placeholder cannot be used as an object key.
6326	//
6327	//    * Object values cannot include quote marks.
6328	//
6329	// The following example shows the syntax for using InputPathsMap and InputTemplate.
6330	//
6331	// "InputTransformer":
6332	//
6333	// {
6334	//
6335	// "InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},
6336	//
6337	// "InputTemplate": "<instance> is in state <status>"
6338	//
6339	// }
6340	//
6341	// To have the InputTemplate include quote marks within a JSON string, escape
6342	// each quote marks with a slash, as in the following example:
6343	//
6344	// "InputTransformer":
6345	//
6346	// {
6347	//
6348	// "InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},
6349	//
6350	// "InputTemplate": "<instance> is in state \"<status>\""
6351	//
6352	// }
6353	//
6354	// InputTemplate is a required field
6355	InputTemplate *string `min:"1" type:"string" required:"true"`
6356}
6357
6358// String returns the string representation
6359func (s InputTransformer) String() string {
6360	return awsutil.Prettify(s)
6361}
6362
6363// GoString returns the string representation
6364func (s InputTransformer) GoString() string {
6365	return s.String()
6366}
6367
6368// Validate inspects the fields of the type to determine if they are valid.
6369func (s *InputTransformer) Validate() error {
6370	invalidParams := request.ErrInvalidParams{Context: "InputTransformer"}
6371	if s.InputTemplate == nil {
6372		invalidParams.Add(request.NewErrParamRequired("InputTemplate"))
6373	}
6374	if s.InputTemplate != nil && len(*s.InputTemplate) < 1 {
6375		invalidParams.Add(request.NewErrParamMinLen("InputTemplate", 1))
6376	}
6377
6378	if invalidParams.Len() > 0 {
6379		return invalidParams
6380	}
6381	return nil
6382}
6383
6384// SetInputPathsMap sets the InputPathsMap field's value.
6385func (s *InputTransformer) SetInputPathsMap(v map[string]*string) *InputTransformer {
6386	s.InputPathsMap = v
6387	return s
6388}
6389
6390// SetInputTemplate sets the InputTemplate field's value.
6391func (s *InputTransformer) SetInputTemplate(v string) *InputTransformer {
6392	s.InputTemplate = &v
6393	return s
6394}
6395
6396// This exception occurs due to unexpected causes.
6397type InternalException struct {
6398	_            struct{}                  `type:"structure"`
6399	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6400
6401	Message_ *string `locationName:"message" type:"string"`
6402}
6403
6404// String returns the string representation
6405func (s InternalException) String() string {
6406	return awsutil.Prettify(s)
6407}
6408
6409// GoString returns the string representation
6410func (s InternalException) GoString() string {
6411	return s.String()
6412}
6413
6414func newErrorInternalException(v protocol.ResponseMetadata) error {
6415	return &InternalException{
6416		RespMetadata: v,
6417	}
6418}
6419
6420// Code returns the exception type name.
6421func (s *InternalException) Code() string {
6422	return "InternalException"
6423}
6424
6425// Message returns the exception's message.
6426func (s *InternalException) Message() string {
6427	if s.Message_ != nil {
6428		return *s.Message_
6429	}
6430	return ""
6431}
6432
6433// OrigErr always returns nil, satisfies awserr.Error interface.
6434func (s *InternalException) OrigErr() error {
6435	return nil
6436}
6437
6438func (s *InternalException) Error() string {
6439	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6440}
6441
6442// Status code returns the HTTP status code for the request's response error.
6443func (s *InternalException) StatusCode() int {
6444	return s.RespMetadata.StatusCode
6445}
6446
6447// RequestID returns the service's response RequestID for request.
6448func (s *InternalException) RequestID() string {
6449	return s.RespMetadata.RequestID
6450}
6451
6452// The event pattern is not valid.
6453type InvalidEventPatternException struct {
6454	_            struct{}                  `type:"structure"`
6455	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6456
6457	Message_ *string `locationName:"message" type:"string"`
6458}
6459
6460// String returns the string representation
6461func (s InvalidEventPatternException) String() string {
6462	return awsutil.Prettify(s)
6463}
6464
6465// GoString returns the string representation
6466func (s InvalidEventPatternException) GoString() string {
6467	return s.String()
6468}
6469
6470func newErrorInvalidEventPatternException(v protocol.ResponseMetadata) error {
6471	return &InvalidEventPatternException{
6472		RespMetadata: v,
6473	}
6474}
6475
6476// Code returns the exception type name.
6477func (s *InvalidEventPatternException) Code() string {
6478	return "InvalidEventPatternException"
6479}
6480
6481// Message returns the exception's message.
6482func (s *InvalidEventPatternException) Message() string {
6483	if s.Message_ != nil {
6484		return *s.Message_
6485	}
6486	return ""
6487}
6488
6489// OrigErr always returns nil, satisfies awserr.Error interface.
6490func (s *InvalidEventPatternException) OrigErr() error {
6491	return nil
6492}
6493
6494func (s *InvalidEventPatternException) Error() string {
6495	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6496}
6497
6498// Status code returns the HTTP status code for the request's response error.
6499func (s *InvalidEventPatternException) StatusCode() int {
6500	return s.RespMetadata.StatusCode
6501}
6502
6503// RequestID returns the service's response RequestID for request.
6504func (s *InvalidEventPatternException) RequestID() string {
6505	return s.RespMetadata.RequestID
6506}
6507
6508// The specified state is not a valid state for an event source.
6509type InvalidStateException struct {
6510	_            struct{}                  `type:"structure"`
6511	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6512
6513	Message_ *string `locationName:"message" type:"string"`
6514}
6515
6516// String returns the string representation
6517func (s InvalidStateException) String() string {
6518	return awsutil.Prettify(s)
6519}
6520
6521// GoString returns the string representation
6522func (s InvalidStateException) GoString() string {
6523	return s.String()
6524}
6525
6526func newErrorInvalidStateException(v protocol.ResponseMetadata) error {
6527	return &InvalidStateException{
6528		RespMetadata: v,
6529	}
6530}
6531
6532// Code returns the exception type name.
6533func (s *InvalidStateException) Code() string {
6534	return "InvalidStateException"
6535}
6536
6537// Message returns the exception's message.
6538func (s *InvalidStateException) Message() string {
6539	if s.Message_ != nil {
6540		return *s.Message_
6541	}
6542	return ""
6543}
6544
6545// OrigErr always returns nil, satisfies awserr.Error interface.
6546func (s *InvalidStateException) OrigErr() error {
6547	return nil
6548}
6549
6550func (s *InvalidStateException) Error() string {
6551	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6552}
6553
6554// Status code returns the HTTP status code for the request's response error.
6555func (s *InvalidStateException) StatusCode() int {
6556	return s.RespMetadata.StatusCode
6557}
6558
6559// RequestID returns the service's response RequestID for request.
6560func (s *InvalidStateException) RequestID() string {
6561	return s.RespMetadata.RequestID
6562}
6563
6564// This object enables you to specify a JSON path to extract from the event
6565// and use as the partition key for the Amazon Kinesis data stream, so that
6566// you can control the shard to which the event goes. If you do not include
6567// this parameter, the default is to use the eventId as the partition key.
6568type KinesisParameters struct {
6569	_ struct{} `type:"structure"`
6570
6571	// The JSON path to be extracted from the event and used as the partition key.
6572	// For more information, see Amazon Kinesis Streams Key Concepts (https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key)
6573	// in the Amazon Kinesis Streams Developer Guide.
6574	//
6575	// PartitionKeyPath is a required field
6576	PartitionKeyPath *string `type:"string" required:"true"`
6577}
6578
6579// String returns the string representation
6580func (s KinesisParameters) String() string {
6581	return awsutil.Prettify(s)
6582}
6583
6584// GoString returns the string representation
6585func (s KinesisParameters) GoString() string {
6586	return s.String()
6587}
6588
6589// Validate inspects the fields of the type to determine if they are valid.
6590func (s *KinesisParameters) Validate() error {
6591	invalidParams := request.ErrInvalidParams{Context: "KinesisParameters"}
6592	if s.PartitionKeyPath == nil {
6593		invalidParams.Add(request.NewErrParamRequired("PartitionKeyPath"))
6594	}
6595
6596	if invalidParams.Len() > 0 {
6597		return invalidParams
6598	}
6599	return nil
6600}
6601
6602// SetPartitionKeyPath sets the PartitionKeyPath field's value.
6603func (s *KinesisParameters) SetPartitionKeyPath(v string) *KinesisParameters {
6604	s.PartitionKeyPath = &v
6605	return s
6606}
6607
6608// The request failed because it attempted to create resource beyond the allowed
6609// service quota.
6610type LimitExceededException struct {
6611	_            struct{}                  `type:"structure"`
6612	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6613
6614	Message_ *string `locationName:"message" type:"string"`
6615}
6616
6617// String returns the string representation
6618func (s LimitExceededException) String() string {
6619	return awsutil.Prettify(s)
6620}
6621
6622// GoString returns the string representation
6623func (s LimitExceededException) GoString() string {
6624	return s.String()
6625}
6626
6627func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
6628	return &LimitExceededException{
6629		RespMetadata: v,
6630	}
6631}
6632
6633// Code returns the exception type name.
6634func (s *LimitExceededException) Code() string {
6635	return "LimitExceededException"
6636}
6637
6638// Message returns the exception's message.
6639func (s *LimitExceededException) Message() string {
6640	if s.Message_ != nil {
6641		return *s.Message_
6642	}
6643	return ""
6644}
6645
6646// OrigErr always returns nil, satisfies awserr.Error interface.
6647func (s *LimitExceededException) OrigErr() error {
6648	return nil
6649}
6650
6651func (s *LimitExceededException) Error() string {
6652	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6653}
6654
6655// Status code returns the HTTP status code for the request's response error.
6656func (s *LimitExceededException) StatusCode() int {
6657	return s.RespMetadata.StatusCode
6658}
6659
6660// RequestID returns the service's response RequestID for request.
6661func (s *LimitExceededException) RequestID() string {
6662	return s.RespMetadata.RequestID
6663}
6664
6665type ListArchivesInput struct {
6666	_ struct{} `type:"structure"`
6667
6668	// The ARN of the event source associated with the archive.
6669	EventSourceArn *string `min:"1" type:"string"`
6670
6671	// The maximum number of results to return.
6672	Limit *int64 `min:"1" type:"integer"`
6673
6674	// A name prefix to filter the archives returned. Only archives with name that
6675	// match the prefix are returned.
6676	NamePrefix *string `min:"1" type:"string"`
6677
6678	// The token returned by a previous call to retrieve the next set of results.
6679	NextToken *string `min:"1" type:"string"`
6680
6681	// The state of the archive.
6682	State *string `type:"string" enum:"ArchiveState"`
6683}
6684
6685// String returns the string representation
6686func (s ListArchivesInput) String() string {
6687	return awsutil.Prettify(s)
6688}
6689
6690// GoString returns the string representation
6691func (s ListArchivesInput) GoString() string {
6692	return s.String()
6693}
6694
6695// Validate inspects the fields of the type to determine if they are valid.
6696func (s *ListArchivesInput) Validate() error {
6697	invalidParams := request.ErrInvalidParams{Context: "ListArchivesInput"}
6698	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
6699		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
6700	}
6701	if s.Limit != nil && *s.Limit < 1 {
6702		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6703	}
6704	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
6705		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
6706	}
6707	if s.NextToken != nil && len(*s.NextToken) < 1 {
6708		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6709	}
6710
6711	if invalidParams.Len() > 0 {
6712		return invalidParams
6713	}
6714	return nil
6715}
6716
6717// SetEventSourceArn sets the EventSourceArn field's value.
6718func (s *ListArchivesInput) SetEventSourceArn(v string) *ListArchivesInput {
6719	s.EventSourceArn = &v
6720	return s
6721}
6722
6723// SetLimit sets the Limit field's value.
6724func (s *ListArchivesInput) SetLimit(v int64) *ListArchivesInput {
6725	s.Limit = &v
6726	return s
6727}
6728
6729// SetNamePrefix sets the NamePrefix field's value.
6730func (s *ListArchivesInput) SetNamePrefix(v string) *ListArchivesInput {
6731	s.NamePrefix = &v
6732	return s
6733}
6734
6735// SetNextToken sets the NextToken field's value.
6736func (s *ListArchivesInput) SetNextToken(v string) *ListArchivesInput {
6737	s.NextToken = &v
6738	return s
6739}
6740
6741// SetState sets the State field's value.
6742func (s *ListArchivesInput) SetState(v string) *ListArchivesInput {
6743	s.State = &v
6744	return s
6745}
6746
6747type ListArchivesOutput struct {
6748	_ struct{} `type:"structure"`
6749
6750	// An array of Archive objects that include details about an archive.
6751	Archives []*Archive `type:"list"`
6752
6753	// The token returned by a previous call to retrieve the next set of results.
6754	NextToken *string `min:"1" type:"string"`
6755}
6756
6757// String returns the string representation
6758func (s ListArchivesOutput) String() string {
6759	return awsutil.Prettify(s)
6760}
6761
6762// GoString returns the string representation
6763func (s ListArchivesOutput) GoString() string {
6764	return s.String()
6765}
6766
6767// SetArchives sets the Archives field's value.
6768func (s *ListArchivesOutput) SetArchives(v []*Archive) *ListArchivesOutput {
6769	s.Archives = v
6770	return s
6771}
6772
6773// SetNextToken sets the NextToken field's value.
6774func (s *ListArchivesOutput) SetNextToken(v string) *ListArchivesOutput {
6775	s.NextToken = &v
6776	return s
6777}
6778
6779type ListEventBusesInput struct {
6780	_ struct{} `type:"structure"`
6781
6782	// Specifying this limits the number of results returned by this operation.
6783	// The operation also returns a NextToken which you can use in a subsequent
6784	// operation to retrieve the next set of results.
6785	Limit *int64 `min:"1" type:"integer"`
6786
6787	// Specifying this limits the results to only those event buses with names that
6788	// start with the specified prefix.
6789	NamePrefix *string `min:"1" type:"string"`
6790
6791	// The token returned by a previous call to retrieve the next set of results.
6792	NextToken *string `min:"1" type:"string"`
6793}
6794
6795// String returns the string representation
6796func (s ListEventBusesInput) String() string {
6797	return awsutil.Prettify(s)
6798}
6799
6800// GoString returns the string representation
6801func (s ListEventBusesInput) GoString() string {
6802	return s.String()
6803}
6804
6805// Validate inspects the fields of the type to determine if they are valid.
6806func (s *ListEventBusesInput) Validate() error {
6807	invalidParams := request.ErrInvalidParams{Context: "ListEventBusesInput"}
6808	if s.Limit != nil && *s.Limit < 1 {
6809		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6810	}
6811	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
6812		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
6813	}
6814	if s.NextToken != nil && len(*s.NextToken) < 1 {
6815		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6816	}
6817
6818	if invalidParams.Len() > 0 {
6819		return invalidParams
6820	}
6821	return nil
6822}
6823
6824// SetLimit sets the Limit field's value.
6825func (s *ListEventBusesInput) SetLimit(v int64) *ListEventBusesInput {
6826	s.Limit = &v
6827	return s
6828}
6829
6830// SetNamePrefix sets the NamePrefix field's value.
6831func (s *ListEventBusesInput) SetNamePrefix(v string) *ListEventBusesInput {
6832	s.NamePrefix = &v
6833	return s
6834}
6835
6836// SetNextToken sets the NextToken field's value.
6837func (s *ListEventBusesInput) SetNextToken(v string) *ListEventBusesInput {
6838	s.NextToken = &v
6839	return s
6840}
6841
6842type ListEventBusesOutput struct {
6843	_ struct{} `type:"structure"`
6844
6845	// This list of event buses.
6846	EventBuses []*EventBus `type:"list"`
6847
6848	// A token you can use in a subsequent operation to retrieve the next set of
6849	// results.
6850	NextToken *string `min:"1" type:"string"`
6851}
6852
6853// String returns the string representation
6854func (s ListEventBusesOutput) String() string {
6855	return awsutil.Prettify(s)
6856}
6857
6858// GoString returns the string representation
6859func (s ListEventBusesOutput) GoString() string {
6860	return s.String()
6861}
6862
6863// SetEventBuses sets the EventBuses field's value.
6864func (s *ListEventBusesOutput) SetEventBuses(v []*EventBus) *ListEventBusesOutput {
6865	s.EventBuses = v
6866	return s
6867}
6868
6869// SetNextToken sets the NextToken field's value.
6870func (s *ListEventBusesOutput) SetNextToken(v string) *ListEventBusesOutput {
6871	s.NextToken = &v
6872	return s
6873}
6874
6875type ListEventSourcesInput struct {
6876	_ struct{} `type:"structure"`
6877
6878	// Specifying this limits the number of results returned by this operation.
6879	// The operation also returns a NextToken which you can use in a subsequent
6880	// operation to retrieve the next set of results.
6881	Limit *int64 `min:"1" type:"integer"`
6882
6883	// Specifying this limits the results to only those partner event sources with
6884	// names that start with the specified prefix.
6885	NamePrefix *string `min:"1" type:"string"`
6886
6887	// The token returned by a previous call to retrieve the next set of results.
6888	NextToken *string `min:"1" type:"string"`
6889}
6890
6891// String returns the string representation
6892func (s ListEventSourcesInput) String() string {
6893	return awsutil.Prettify(s)
6894}
6895
6896// GoString returns the string representation
6897func (s ListEventSourcesInput) GoString() string {
6898	return s.String()
6899}
6900
6901// Validate inspects the fields of the type to determine if they are valid.
6902func (s *ListEventSourcesInput) Validate() error {
6903	invalidParams := request.ErrInvalidParams{Context: "ListEventSourcesInput"}
6904	if s.Limit != nil && *s.Limit < 1 {
6905		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6906	}
6907	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
6908		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
6909	}
6910	if s.NextToken != nil && len(*s.NextToken) < 1 {
6911		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6912	}
6913
6914	if invalidParams.Len() > 0 {
6915		return invalidParams
6916	}
6917	return nil
6918}
6919
6920// SetLimit sets the Limit field's value.
6921func (s *ListEventSourcesInput) SetLimit(v int64) *ListEventSourcesInput {
6922	s.Limit = &v
6923	return s
6924}
6925
6926// SetNamePrefix sets the NamePrefix field's value.
6927func (s *ListEventSourcesInput) SetNamePrefix(v string) *ListEventSourcesInput {
6928	s.NamePrefix = &v
6929	return s
6930}
6931
6932// SetNextToken sets the NextToken field's value.
6933func (s *ListEventSourcesInput) SetNextToken(v string) *ListEventSourcesInput {
6934	s.NextToken = &v
6935	return s
6936}
6937
6938type ListEventSourcesOutput struct {
6939	_ struct{} `type:"structure"`
6940
6941	// The list of event sources.
6942	EventSources []*EventSource `type:"list"`
6943
6944	// A token you can use in a subsequent operation to retrieve the next set of
6945	// results.
6946	NextToken *string `min:"1" type:"string"`
6947}
6948
6949// String returns the string representation
6950func (s ListEventSourcesOutput) String() string {
6951	return awsutil.Prettify(s)
6952}
6953
6954// GoString returns the string representation
6955func (s ListEventSourcesOutput) GoString() string {
6956	return s.String()
6957}
6958
6959// SetEventSources sets the EventSources field's value.
6960func (s *ListEventSourcesOutput) SetEventSources(v []*EventSource) *ListEventSourcesOutput {
6961	s.EventSources = v
6962	return s
6963}
6964
6965// SetNextToken sets the NextToken field's value.
6966func (s *ListEventSourcesOutput) SetNextToken(v string) *ListEventSourcesOutput {
6967	s.NextToken = &v
6968	return s
6969}
6970
6971type ListPartnerEventSourceAccountsInput struct {
6972	_ struct{} `type:"structure"`
6973
6974	// The name of the partner event source to display account information about.
6975	//
6976	// EventSourceName is a required field
6977	EventSourceName *string `min:"1" type:"string" required:"true"`
6978
6979	// Specifying this limits the number of results returned by this operation.
6980	// The operation also returns a NextToken which you can use in a subsequent
6981	// operation to retrieve the next set of results.
6982	Limit *int64 `min:"1" type:"integer"`
6983
6984	// The token returned by a previous call to this operation. Specifying this
6985	// retrieves the next set of results.
6986	NextToken *string `min:"1" type:"string"`
6987}
6988
6989// String returns the string representation
6990func (s ListPartnerEventSourceAccountsInput) String() string {
6991	return awsutil.Prettify(s)
6992}
6993
6994// GoString returns the string representation
6995func (s ListPartnerEventSourceAccountsInput) GoString() string {
6996	return s.String()
6997}
6998
6999// Validate inspects the fields of the type to determine if they are valid.
7000func (s *ListPartnerEventSourceAccountsInput) Validate() error {
7001	invalidParams := request.ErrInvalidParams{Context: "ListPartnerEventSourceAccountsInput"}
7002	if s.EventSourceName == nil {
7003		invalidParams.Add(request.NewErrParamRequired("EventSourceName"))
7004	}
7005	if s.EventSourceName != nil && len(*s.EventSourceName) < 1 {
7006		invalidParams.Add(request.NewErrParamMinLen("EventSourceName", 1))
7007	}
7008	if s.Limit != nil && *s.Limit < 1 {
7009		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7010	}
7011	if s.NextToken != nil && len(*s.NextToken) < 1 {
7012		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7013	}
7014
7015	if invalidParams.Len() > 0 {
7016		return invalidParams
7017	}
7018	return nil
7019}
7020
7021// SetEventSourceName sets the EventSourceName field's value.
7022func (s *ListPartnerEventSourceAccountsInput) SetEventSourceName(v string) *ListPartnerEventSourceAccountsInput {
7023	s.EventSourceName = &v
7024	return s
7025}
7026
7027// SetLimit sets the Limit field's value.
7028func (s *ListPartnerEventSourceAccountsInput) SetLimit(v int64) *ListPartnerEventSourceAccountsInput {
7029	s.Limit = &v
7030	return s
7031}
7032
7033// SetNextToken sets the NextToken field's value.
7034func (s *ListPartnerEventSourceAccountsInput) SetNextToken(v string) *ListPartnerEventSourceAccountsInput {
7035	s.NextToken = &v
7036	return s
7037}
7038
7039type ListPartnerEventSourceAccountsOutput struct {
7040	_ struct{} `type:"structure"`
7041
7042	// A token you can use in a subsequent operation to retrieve the next set of
7043	// results.
7044	NextToken *string `min:"1" type:"string"`
7045
7046	// The list of partner event sources returned by the operation.
7047	PartnerEventSourceAccounts []*PartnerEventSourceAccount `type:"list"`
7048}
7049
7050// String returns the string representation
7051func (s ListPartnerEventSourceAccountsOutput) String() string {
7052	return awsutil.Prettify(s)
7053}
7054
7055// GoString returns the string representation
7056func (s ListPartnerEventSourceAccountsOutput) GoString() string {
7057	return s.String()
7058}
7059
7060// SetNextToken sets the NextToken field's value.
7061func (s *ListPartnerEventSourceAccountsOutput) SetNextToken(v string) *ListPartnerEventSourceAccountsOutput {
7062	s.NextToken = &v
7063	return s
7064}
7065
7066// SetPartnerEventSourceAccounts sets the PartnerEventSourceAccounts field's value.
7067func (s *ListPartnerEventSourceAccountsOutput) SetPartnerEventSourceAccounts(v []*PartnerEventSourceAccount) *ListPartnerEventSourceAccountsOutput {
7068	s.PartnerEventSourceAccounts = v
7069	return s
7070}
7071
7072type ListPartnerEventSourcesInput struct {
7073	_ struct{} `type:"structure"`
7074
7075	// pecifying this limits the number of results returned by this operation. The
7076	// operation also returns a NextToken which you can use in a subsequent operation
7077	// to retrieve the next set of results.
7078	Limit *int64 `min:"1" type:"integer"`
7079
7080	// If you specify this, the results are limited to only those partner event
7081	// sources that start with the string you specify.
7082	//
7083	// NamePrefix is a required field
7084	NamePrefix *string `min:"1" type:"string" required:"true"`
7085
7086	// The token returned by a previous call to this operation. Specifying this
7087	// retrieves the next set of results.
7088	NextToken *string `min:"1" type:"string"`
7089}
7090
7091// String returns the string representation
7092func (s ListPartnerEventSourcesInput) String() string {
7093	return awsutil.Prettify(s)
7094}
7095
7096// GoString returns the string representation
7097func (s ListPartnerEventSourcesInput) GoString() string {
7098	return s.String()
7099}
7100
7101// Validate inspects the fields of the type to determine if they are valid.
7102func (s *ListPartnerEventSourcesInput) Validate() error {
7103	invalidParams := request.ErrInvalidParams{Context: "ListPartnerEventSourcesInput"}
7104	if s.Limit != nil && *s.Limit < 1 {
7105		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7106	}
7107	if s.NamePrefix == nil {
7108		invalidParams.Add(request.NewErrParamRequired("NamePrefix"))
7109	}
7110	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
7111		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
7112	}
7113	if s.NextToken != nil && len(*s.NextToken) < 1 {
7114		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7115	}
7116
7117	if invalidParams.Len() > 0 {
7118		return invalidParams
7119	}
7120	return nil
7121}
7122
7123// SetLimit sets the Limit field's value.
7124func (s *ListPartnerEventSourcesInput) SetLimit(v int64) *ListPartnerEventSourcesInput {
7125	s.Limit = &v
7126	return s
7127}
7128
7129// SetNamePrefix sets the NamePrefix field's value.
7130func (s *ListPartnerEventSourcesInput) SetNamePrefix(v string) *ListPartnerEventSourcesInput {
7131	s.NamePrefix = &v
7132	return s
7133}
7134
7135// SetNextToken sets the NextToken field's value.
7136func (s *ListPartnerEventSourcesInput) SetNextToken(v string) *ListPartnerEventSourcesInput {
7137	s.NextToken = &v
7138	return s
7139}
7140
7141type ListPartnerEventSourcesOutput struct {
7142	_ struct{} `type:"structure"`
7143
7144	// A token you can use in a subsequent operation to retrieve the next set of
7145	// results.
7146	NextToken *string `min:"1" type:"string"`
7147
7148	// The list of partner event sources returned by the operation.
7149	PartnerEventSources []*PartnerEventSource `type:"list"`
7150}
7151
7152// String returns the string representation
7153func (s ListPartnerEventSourcesOutput) String() string {
7154	return awsutil.Prettify(s)
7155}
7156
7157// GoString returns the string representation
7158func (s ListPartnerEventSourcesOutput) GoString() string {
7159	return s.String()
7160}
7161
7162// SetNextToken sets the NextToken field's value.
7163func (s *ListPartnerEventSourcesOutput) SetNextToken(v string) *ListPartnerEventSourcesOutput {
7164	s.NextToken = &v
7165	return s
7166}
7167
7168// SetPartnerEventSources sets the PartnerEventSources field's value.
7169func (s *ListPartnerEventSourcesOutput) SetPartnerEventSources(v []*PartnerEventSource) *ListPartnerEventSourcesOutput {
7170	s.PartnerEventSources = v
7171	return s
7172}
7173
7174type ListReplaysInput struct {
7175	_ struct{} `type:"structure"`
7176
7177	// The ARN of the event source associated with the replay.
7178	EventSourceArn *string `min:"1" type:"string"`
7179
7180	// The maximum number of replays to retrieve.
7181	Limit *int64 `min:"1" type:"integer"`
7182
7183	// A name prefix to filter the replays returned. Only replays with name that
7184	// match the prefix are returned.
7185	NamePrefix *string `min:"1" type:"string"`
7186
7187	// The token returned by a previous call to retrieve the next set of results.
7188	NextToken *string `min:"1" type:"string"`
7189
7190	// The state of the replay.
7191	State *string `type:"string" enum:"ReplayState"`
7192}
7193
7194// String returns the string representation
7195func (s ListReplaysInput) String() string {
7196	return awsutil.Prettify(s)
7197}
7198
7199// GoString returns the string representation
7200func (s ListReplaysInput) GoString() string {
7201	return s.String()
7202}
7203
7204// Validate inspects the fields of the type to determine if they are valid.
7205func (s *ListReplaysInput) Validate() error {
7206	invalidParams := request.ErrInvalidParams{Context: "ListReplaysInput"}
7207	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
7208		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
7209	}
7210	if s.Limit != nil && *s.Limit < 1 {
7211		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7212	}
7213	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
7214		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
7215	}
7216	if s.NextToken != nil && len(*s.NextToken) < 1 {
7217		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7218	}
7219
7220	if invalidParams.Len() > 0 {
7221		return invalidParams
7222	}
7223	return nil
7224}
7225
7226// SetEventSourceArn sets the EventSourceArn field's value.
7227func (s *ListReplaysInput) SetEventSourceArn(v string) *ListReplaysInput {
7228	s.EventSourceArn = &v
7229	return s
7230}
7231
7232// SetLimit sets the Limit field's value.
7233func (s *ListReplaysInput) SetLimit(v int64) *ListReplaysInput {
7234	s.Limit = &v
7235	return s
7236}
7237
7238// SetNamePrefix sets the NamePrefix field's value.
7239func (s *ListReplaysInput) SetNamePrefix(v string) *ListReplaysInput {
7240	s.NamePrefix = &v
7241	return s
7242}
7243
7244// SetNextToken sets the NextToken field's value.
7245func (s *ListReplaysInput) SetNextToken(v string) *ListReplaysInput {
7246	s.NextToken = &v
7247	return s
7248}
7249
7250// SetState sets the State field's value.
7251func (s *ListReplaysInput) SetState(v string) *ListReplaysInput {
7252	s.State = &v
7253	return s
7254}
7255
7256type ListReplaysOutput struct {
7257	_ struct{} `type:"structure"`
7258
7259	// The token returned by a previous call to retrieve the next set of results.
7260	NextToken *string `min:"1" type:"string"`
7261
7262	// An array of Replay objects that contain information about the replay.
7263	Replays []*Replay `type:"list"`
7264}
7265
7266// String returns the string representation
7267func (s ListReplaysOutput) String() string {
7268	return awsutil.Prettify(s)
7269}
7270
7271// GoString returns the string representation
7272func (s ListReplaysOutput) GoString() string {
7273	return s.String()
7274}
7275
7276// SetNextToken sets the NextToken field's value.
7277func (s *ListReplaysOutput) SetNextToken(v string) *ListReplaysOutput {
7278	s.NextToken = &v
7279	return s
7280}
7281
7282// SetReplays sets the Replays field's value.
7283func (s *ListReplaysOutput) SetReplays(v []*Replay) *ListReplaysOutput {
7284	s.Replays = v
7285	return s
7286}
7287
7288type ListRuleNamesByTargetInput struct {
7289	_ struct{} `type:"structure"`
7290
7291	// The name or ARN of the event bus to list rules for. If you omit this, the
7292	// default event bus is used.
7293	EventBusName *string `min:"1" type:"string"`
7294
7295	// The maximum number of results to return.
7296	Limit *int64 `min:"1" type:"integer"`
7297
7298	// The token returned by a previous call to retrieve the next set of results.
7299	NextToken *string `min:"1" type:"string"`
7300
7301	// The Amazon Resource Name (ARN) of the target resource.
7302	//
7303	// TargetArn is a required field
7304	TargetArn *string `min:"1" type:"string" required:"true"`
7305}
7306
7307// String returns the string representation
7308func (s ListRuleNamesByTargetInput) String() string {
7309	return awsutil.Prettify(s)
7310}
7311
7312// GoString returns the string representation
7313func (s ListRuleNamesByTargetInput) GoString() string {
7314	return s.String()
7315}
7316
7317// Validate inspects the fields of the type to determine if they are valid.
7318func (s *ListRuleNamesByTargetInput) Validate() error {
7319	invalidParams := request.ErrInvalidParams{Context: "ListRuleNamesByTargetInput"}
7320	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
7321		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
7322	}
7323	if s.Limit != nil && *s.Limit < 1 {
7324		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7325	}
7326	if s.NextToken != nil && len(*s.NextToken) < 1 {
7327		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7328	}
7329	if s.TargetArn == nil {
7330		invalidParams.Add(request.NewErrParamRequired("TargetArn"))
7331	}
7332	if s.TargetArn != nil && len(*s.TargetArn) < 1 {
7333		invalidParams.Add(request.NewErrParamMinLen("TargetArn", 1))
7334	}
7335
7336	if invalidParams.Len() > 0 {
7337		return invalidParams
7338	}
7339	return nil
7340}
7341
7342// SetEventBusName sets the EventBusName field's value.
7343func (s *ListRuleNamesByTargetInput) SetEventBusName(v string) *ListRuleNamesByTargetInput {
7344	s.EventBusName = &v
7345	return s
7346}
7347
7348// SetLimit sets the Limit field's value.
7349func (s *ListRuleNamesByTargetInput) SetLimit(v int64) *ListRuleNamesByTargetInput {
7350	s.Limit = &v
7351	return s
7352}
7353
7354// SetNextToken sets the NextToken field's value.
7355func (s *ListRuleNamesByTargetInput) SetNextToken(v string) *ListRuleNamesByTargetInput {
7356	s.NextToken = &v
7357	return s
7358}
7359
7360// SetTargetArn sets the TargetArn field's value.
7361func (s *ListRuleNamesByTargetInput) SetTargetArn(v string) *ListRuleNamesByTargetInput {
7362	s.TargetArn = &v
7363	return s
7364}
7365
7366type ListRuleNamesByTargetOutput struct {
7367	_ struct{} `type:"structure"`
7368
7369	// Indicates whether there are additional results to retrieve. If there are
7370	// no more results, the value is null.
7371	NextToken *string `min:"1" type:"string"`
7372
7373	// The names of the rules that can invoke the given target.
7374	RuleNames []*string `type:"list"`
7375}
7376
7377// String returns the string representation
7378func (s ListRuleNamesByTargetOutput) String() string {
7379	return awsutil.Prettify(s)
7380}
7381
7382// GoString returns the string representation
7383func (s ListRuleNamesByTargetOutput) GoString() string {
7384	return s.String()
7385}
7386
7387// SetNextToken sets the NextToken field's value.
7388func (s *ListRuleNamesByTargetOutput) SetNextToken(v string) *ListRuleNamesByTargetOutput {
7389	s.NextToken = &v
7390	return s
7391}
7392
7393// SetRuleNames sets the RuleNames field's value.
7394func (s *ListRuleNamesByTargetOutput) SetRuleNames(v []*string) *ListRuleNamesByTargetOutput {
7395	s.RuleNames = v
7396	return s
7397}
7398
7399type ListRulesInput struct {
7400	_ struct{} `type:"structure"`
7401
7402	// The name or ARN of the event bus to list the rules for. If you omit this,
7403	// the default event bus is used.
7404	EventBusName *string `min:"1" type:"string"`
7405
7406	// The maximum number of results to return.
7407	Limit *int64 `min:"1" type:"integer"`
7408
7409	// The prefix matching the rule name.
7410	NamePrefix *string `min:"1" type:"string"`
7411
7412	// The token returned by a previous call to retrieve the next set of results.
7413	NextToken *string `min:"1" type:"string"`
7414}
7415
7416// String returns the string representation
7417func (s ListRulesInput) String() string {
7418	return awsutil.Prettify(s)
7419}
7420
7421// GoString returns the string representation
7422func (s ListRulesInput) GoString() string {
7423	return s.String()
7424}
7425
7426// Validate inspects the fields of the type to determine if they are valid.
7427func (s *ListRulesInput) Validate() error {
7428	invalidParams := request.ErrInvalidParams{Context: "ListRulesInput"}
7429	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
7430		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
7431	}
7432	if s.Limit != nil && *s.Limit < 1 {
7433		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7434	}
7435	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
7436		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
7437	}
7438	if s.NextToken != nil && len(*s.NextToken) < 1 {
7439		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7440	}
7441
7442	if invalidParams.Len() > 0 {
7443		return invalidParams
7444	}
7445	return nil
7446}
7447
7448// SetEventBusName sets the EventBusName field's value.
7449func (s *ListRulesInput) SetEventBusName(v string) *ListRulesInput {
7450	s.EventBusName = &v
7451	return s
7452}
7453
7454// SetLimit sets the Limit field's value.
7455func (s *ListRulesInput) SetLimit(v int64) *ListRulesInput {
7456	s.Limit = &v
7457	return s
7458}
7459
7460// SetNamePrefix sets the NamePrefix field's value.
7461func (s *ListRulesInput) SetNamePrefix(v string) *ListRulesInput {
7462	s.NamePrefix = &v
7463	return s
7464}
7465
7466// SetNextToken sets the NextToken field's value.
7467func (s *ListRulesInput) SetNextToken(v string) *ListRulesInput {
7468	s.NextToken = &v
7469	return s
7470}
7471
7472type ListRulesOutput struct {
7473	_ struct{} `type:"structure"`
7474
7475	// Indicates whether there are additional results to retrieve. If there are
7476	// no more results, the value is null.
7477	NextToken *string `min:"1" type:"string"`
7478
7479	// The rules that match the specified criteria.
7480	Rules []*Rule `type:"list"`
7481}
7482
7483// String returns the string representation
7484func (s ListRulesOutput) String() string {
7485	return awsutil.Prettify(s)
7486}
7487
7488// GoString returns the string representation
7489func (s ListRulesOutput) GoString() string {
7490	return s.String()
7491}
7492
7493// SetNextToken sets the NextToken field's value.
7494func (s *ListRulesOutput) SetNextToken(v string) *ListRulesOutput {
7495	s.NextToken = &v
7496	return s
7497}
7498
7499// SetRules sets the Rules field's value.
7500func (s *ListRulesOutput) SetRules(v []*Rule) *ListRulesOutput {
7501	s.Rules = v
7502	return s
7503}
7504
7505type ListTagsForResourceInput struct {
7506	_ struct{} `type:"structure"`
7507
7508	// The ARN of the EventBridge resource for which you want to view tags.
7509	//
7510	// ResourceARN is a required field
7511	ResourceARN *string `min:"1" type:"string" required:"true"`
7512}
7513
7514// String returns the string representation
7515func (s ListTagsForResourceInput) String() string {
7516	return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s ListTagsForResourceInput) GoString() string {
7521	return s.String()
7522}
7523
7524// Validate inspects the fields of the type to determine if they are valid.
7525func (s *ListTagsForResourceInput) Validate() error {
7526	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7527	if s.ResourceARN == nil {
7528		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7529	}
7530	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7531		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7532	}
7533
7534	if invalidParams.Len() > 0 {
7535		return invalidParams
7536	}
7537	return nil
7538}
7539
7540// SetResourceARN sets the ResourceARN field's value.
7541func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
7542	s.ResourceARN = &v
7543	return s
7544}
7545
7546type ListTagsForResourceOutput struct {
7547	_ struct{} `type:"structure"`
7548
7549	// The list of tag keys and values associated with the resource you specified
7550	Tags []*Tag `type:"list"`
7551}
7552
7553// String returns the string representation
7554func (s ListTagsForResourceOutput) String() string {
7555	return awsutil.Prettify(s)
7556}
7557
7558// GoString returns the string representation
7559func (s ListTagsForResourceOutput) GoString() string {
7560	return s.String()
7561}
7562
7563// SetTags sets the Tags field's value.
7564func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
7565	s.Tags = v
7566	return s
7567}
7568
7569type ListTargetsByRuleInput struct {
7570	_ struct{} `type:"structure"`
7571
7572	// The name or ARN of the event bus associated with the rule. If you omit this,
7573	// the default event bus is used.
7574	EventBusName *string `min:"1" type:"string"`
7575
7576	// The maximum number of results to return.
7577	Limit *int64 `min:"1" type:"integer"`
7578
7579	// The token returned by a previous call to retrieve the next set of results.
7580	NextToken *string `min:"1" type:"string"`
7581
7582	// The name of the rule.
7583	//
7584	// Rule is a required field
7585	Rule *string `min:"1" type:"string" required:"true"`
7586}
7587
7588// String returns the string representation
7589func (s ListTargetsByRuleInput) String() string {
7590	return awsutil.Prettify(s)
7591}
7592
7593// GoString returns the string representation
7594func (s ListTargetsByRuleInput) GoString() string {
7595	return s.String()
7596}
7597
7598// Validate inspects the fields of the type to determine if they are valid.
7599func (s *ListTargetsByRuleInput) Validate() error {
7600	invalidParams := request.ErrInvalidParams{Context: "ListTargetsByRuleInput"}
7601	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
7602		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
7603	}
7604	if s.Limit != nil && *s.Limit < 1 {
7605		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7606	}
7607	if s.NextToken != nil && len(*s.NextToken) < 1 {
7608		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7609	}
7610	if s.Rule == nil {
7611		invalidParams.Add(request.NewErrParamRequired("Rule"))
7612	}
7613	if s.Rule != nil && len(*s.Rule) < 1 {
7614		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
7615	}
7616
7617	if invalidParams.Len() > 0 {
7618		return invalidParams
7619	}
7620	return nil
7621}
7622
7623// SetEventBusName sets the EventBusName field's value.
7624func (s *ListTargetsByRuleInput) SetEventBusName(v string) *ListTargetsByRuleInput {
7625	s.EventBusName = &v
7626	return s
7627}
7628
7629// SetLimit sets the Limit field's value.
7630func (s *ListTargetsByRuleInput) SetLimit(v int64) *ListTargetsByRuleInput {
7631	s.Limit = &v
7632	return s
7633}
7634
7635// SetNextToken sets the NextToken field's value.
7636func (s *ListTargetsByRuleInput) SetNextToken(v string) *ListTargetsByRuleInput {
7637	s.NextToken = &v
7638	return s
7639}
7640
7641// SetRule sets the Rule field's value.
7642func (s *ListTargetsByRuleInput) SetRule(v string) *ListTargetsByRuleInput {
7643	s.Rule = &v
7644	return s
7645}
7646
7647type ListTargetsByRuleOutput struct {
7648	_ struct{} `type:"structure"`
7649
7650	// Indicates whether there are additional results to retrieve. If there are
7651	// no more results, the value is null.
7652	NextToken *string `min:"1" type:"string"`
7653
7654	// The targets assigned to the rule.
7655	Targets []*Target `min:"1" type:"list"`
7656}
7657
7658// String returns the string representation
7659func (s ListTargetsByRuleOutput) String() string {
7660	return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation
7664func (s ListTargetsByRuleOutput) GoString() string {
7665	return s.String()
7666}
7667
7668// SetNextToken sets the NextToken field's value.
7669func (s *ListTargetsByRuleOutput) SetNextToken(v string) *ListTargetsByRuleOutput {
7670	s.NextToken = &v
7671	return s
7672}
7673
7674// SetTargets sets the Targets field's value.
7675func (s *ListTargetsByRuleOutput) SetTargets(v []*Target) *ListTargetsByRuleOutput {
7676	s.Targets = v
7677	return s
7678}
7679
7680// This rule was created by an AWS service on behalf of your account. It is
7681// managed by that service. If you see this error in response to DeleteRule
7682// or RemoveTargets, you can use the Force parameter in those calls to delete
7683// the rule or remove targets from the rule. You cannot modify these managed
7684// rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource,
7685// or UntagResource.
7686type ManagedRuleException struct {
7687	_            struct{}                  `type:"structure"`
7688	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7689
7690	Message_ *string `locationName:"message" type:"string"`
7691}
7692
7693// String returns the string representation
7694func (s ManagedRuleException) String() string {
7695	return awsutil.Prettify(s)
7696}
7697
7698// GoString returns the string representation
7699func (s ManagedRuleException) GoString() string {
7700	return s.String()
7701}
7702
7703func newErrorManagedRuleException(v protocol.ResponseMetadata) error {
7704	return &ManagedRuleException{
7705		RespMetadata: v,
7706	}
7707}
7708
7709// Code returns the exception type name.
7710func (s *ManagedRuleException) Code() string {
7711	return "ManagedRuleException"
7712}
7713
7714// Message returns the exception's message.
7715func (s *ManagedRuleException) Message() string {
7716	if s.Message_ != nil {
7717		return *s.Message_
7718	}
7719	return ""
7720}
7721
7722// OrigErr always returns nil, satisfies awserr.Error interface.
7723func (s *ManagedRuleException) OrigErr() error {
7724	return nil
7725}
7726
7727func (s *ManagedRuleException) Error() string {
7728	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7729}
7730
7731// Status code returns the HTTP status code for the request's response error.
7732func (s *ManagedRuleException) StatusCode() int {
7733	return s.RespMetadata.StatusCode
7734}
7735
7736// RequestID returns the service's response RequestID for request.
7737func (s *ManagedRuleException) RequestID() string {
7738	return s.RespMetadata.RequestID
7739}
7740
7741// This structure specifies the network configuration for an ECS task.
7742type NetworkConfiguration struct {
7743	_ struct{} `type:"structure"`
7744
7745	// Use this structure to specify the VPC subnets and security groups for the
7746	// task, and whether a public IP address is to be used. This structure is relevant
7747	// only for ECS tasks that use the awsvpc network mode.
7748	AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"`
7749}
7750
7751// String returns the string representation
7752func (s NetworkConfiguration) String() string {
7753	return awsutil.Prettify(s)
7754}
7755
7756// GoString returns the string representation
7757func (s NetworkConfiguration) GoString() string {
7758	return s.String()
7759}
7760
7761// Validate inspects the fields of the type to determine if they are valid.
7762func (s *NetworkConfiguration) Validate() error {
7763	invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
7764	if s.AwsvpcConfiguration != nil {
7765		if err := s.AwsvpcConfiguration.Validate(); err != nil {
7766			invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams))
7767		}
7768	}
7769
7770	if invalidParams.Len() > 0 {
7771		return invalidParams
7772	}
7773	return nil
7774}
7775
7776// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value.
7777func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration {
7778	s.AwsvpcConfiguration = v
7779	return s
7780}
7781
7782// The operation you are attempting is not available in this region.
7783type OperationDisabledException struct {
7784	_            struct{}                  `type:"structure"`
7785	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7786
7787	Message_ *string `locationName:"message" type:"string"`
7788}
7789
7790// String returns the string representation
7791func (s OperationDisabledException) String() string {
7792	return awsutil.Prettify(s)
7793}
7794
7795// GoString returns the string representation
7796func (s OperationDisabledException) GoString() string {
7797	return s.String()
7798}
7799
7800func newErrorOperationDisabledException(v protocol.ResponseMetadata) error {
7801	return &OperationDisabledException{
7802		RespMetadata: v,
7803	}
7804}
7805
7806// Code returns the exception type name.
7807func (s *OperationDisabledException) Code() string {
7808	return "OperationDisabledException"
7809}
7810
7811// Message returns the exception's message.
7812func (s *OperationDisabledException) Message() string {
7813	if s.Message_ != nil {
7814		return *s.Message_
7815	}
7816	return ""
7817}
7818
7819// OrigErr always returns nil, satisfies awserr.Error interface.
7820func (s *OperationDisabledException) OrigErr() error {
7821	return nil
7822}
7823
7824func (s *OperationDisabledException) Error() string {
7825	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7826}
7827
7828// Status code returns the HTTP status code for the request's response error.
7829func (s *OperationDisabledException) StatusCode() int {
7830	return s.RespMetadata.StatusCode
7831}
7832
7833// RequestID returns the service's response RequestID for request.
7834func (s *OperationDisabledException) RequestID() string {
7835	return s.RespMetadata.RequestID
7836}
7837
7838// A partner event source is created by an SaaS partner. If a customer creates
7839// a partner event bus that matches this event source, that AWS account can
7840// receive events from the partner's applications or services.
7841type PartnerEventSource struct {
7842	_ struct{} `type:"structure"`
7843
7844	// The ARN of the partner event source.
7845	Arn *string `type:"string"`
7846
7847	// The name of the partner event source.
7848	Name *string `type:"string"`
7849}
7850
7851// String returns the string representation
7852func (s PartnerEventSource) String() string {
7853	return awsutil.Prettify(s)
7854}
7855
7856// GoString returns the string representation
7857func (s PartnerEventSource) GoString() string {
7858	return s.String()
7859}
7860
7861// SetArn sets the Arn field's value.
7862func (s *PartnerEventSource) SetArn(v string) *PartnerEventSource {
7863	s.Arn = &v
7864	return s
7865}
7866
7867// SetName sets the Name field's value.
7868func (s *PartnerEventSource) SetName(v string) *PartnerEventSource {
7869	s.Name = &v
7870	return s
7871}
7872
7873// The AWS account that a partner event source has been offered to.
7874type PartnerEventSourceAccount struct {
7875	_ struct{} `type:"structure"`
7876
7877	// The AWS account ID that the partner event source was offered to.
7878	Account *string `min:"12" type:"string"`
7879
7880	// The date and time the event source was created.
7881	CreationTime *time.Time `type:"timestamp"`
7882
7883	// The date and time that the event source will expire, if the AWS account doesn't
7884	// create a matching event bus for it.
7885	ExpirationTime *time.Time `type:"timestamp"`
7886
7887	// The state of the event source. If it is ACTIVE, you have already created
7888	// a matching event bus for this event source, and that event bus is active.
7889	// If it is PENDING, either you haven't yet created a matching event bus, or
7890	// that event bus is deactivated. If it is DELETED, you have created a matching
7891	// event bus, but the event source has since been deleted.
7892	State *string `type:"string" enum:"EventSourceState"`
7893}
7894
7895// String returns the string representation
7896func (s PartnerEventSourceAccount) String() string {
7897	return awsutil.Prettify(s)
7898}
7899
7900// GoString returns the string representation
7901func (s PartnerEventSourceAccount) GoString() string {
7902	return s.String()
7903}
7904
7905// SetAccount sets the Account field's value.
7906func (s *PartnerEventSourceAccount) SetAccount(v string) *PartnerEventSourceAccount {
7907	s.Account = &v
7908	return s
7909}
7910
7911// SetCreationTime sets the CreationTime field's value.
7912func (s *PartnerEventSourceAccount) SetCreationTime(v time.Time) *PartnerEventSourceAccount {
7913	s.CreationTime = &v
7914	return s
7915}
7916
7917// SetExpirationTime sets the ExpirationTime field's value.
7918func (s *PartnerEventSourceAccount) SetExpirationTime(v time.Time) *PartnerEventSourceAccount {
7919	s.ExpirationTime = &v
7920	return s
7921}
7922
7923// SetState sets the State field's value.
7924func (s *PartnerEventSourceAccount) SetState(v string) *PartnerEventSourceAccount {
7925	s.State = &v
7926	return s
7927}
7928
7929// The event bus policy is too long. For more information, see the limits.
7930type PolicyLengthExceededException struct {
7931	_            struct{}                  `type:"structure"`
7932	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7933
7934	Message_ *string `locationName:"message" type:"string"`
7935}
7936
7937// String returns the string representation
7938func (s PolicyLengthExceededException) String() string {
7939	return awsutil.Prettify(s)
7940}
7941
7942// GoString returns the string representation
7943func (s PolicyLengthExceededException) GoString() string {
7944	return s.String()
7945}
7946
7947func newErrorPolicyLengthExceededException(v protocol.ResponseMetadata) error {
7948	return &PolicyLengthExceededException{
7949		RespMetadata: v,
7950	}
7951}
7952
7953// Code returns the exception type name.
7954func (s *PolicyLengthExceededException) Code() string {
7955	return "PolicyLengthExceededException"
7956}
7957
7958// Message returns the exception's message.
7959func (s *PolicyLengthExceededException) Message() string {
7960	if s.Message_ != nil {
7961		return *s.Message_
7962	}
7963	return ""
7964}
7965
7966// OrigErr always returns nil, satisfies awserr.Error interface.
7967func (s *PolicyLengthExceededException) OrigErr() error {
7968	return nil
7969}
7970
7971func (s *PolicyLengthExceededException) Error() string {
7972	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7973}
7974
7975// Status code returns the HTTP status code for the request's response error.
7976func (s *PolicyLengthExceededException) StatusCode() int {
7977	return s.RespMetadata.StatusCode
7978}
7979
7980// RequestID returns the service's response RequestID for request.
7981func (s *PolicyLengthExceededException) RequestID() string {
7982	return s.RespMetadata.RequestID
7983}
7984
7985type PutEventsInput struct {
7986	_ struct{} `type:"structure"`
7987
7988	// The entry that defines an event in your system. You can specify several parameters
7989	// for the entry such as the source and type of the event, resources associated
7990	// with the event, and so on.
7991	//
7992	// Entries is a required field
7993	Entries []*PutEventsRequestEntry `min:"1" type:"list" required:"true"`
7994}
7995
7996// String returns the string representation
7997func (s PutEventsInput) String() string {
7998	return awsutil.Prettify(s)
7999}
8000
8001// GoString returns the string representation
8002func (s PutEventsInput) GoString() string {
8003	return s.String()
8004}
8005
8006// Validate inspects the fields of the type to determine if they are valid.
8007func (s *PutEventsInput) Validate() error {
8008	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
8009	if s.Entries == nil {
8010		invalidParams.Add(request.NewErrParamRequired("Entries"))
8011	}
8012	if s.Entries != nil && len(s.Entries) < 1 {
8013		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
8014	}
8015	if s.Entries != nil {
8016		for i, v := range s.Entries {
8017			if v == nil {
8018				continue
8019			}
8020			if err := v.Validate(); err != nil {
8021				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
8022			}
8023		}
8024	}
8025
8026	if invalidParams.Len() > 0 {
8027		return invalidParams
8028	}
8029	return nil
8030}
8031
8032// SetEntries sets the Entries field's value.
8033func (s *PutEventsInput) SetEntries(v []*PutEventsRequestEntry) *PutEventsInput {
8034	s.Entries = v
8035	return s
8036}
8037
8038type PutEventsOutput struct {
8039	_ struct{} `type:"structure"`
8040
8041	// The successfully and unsuccessfully ingested events results. If the ingestion
8042	// was successful, the entry has the event ID in it. Otherwise, you can use
8043	// the error code and error message to identify the problem with the entry.
8044	Entries []*PutEventsResultEntry `type:"list"`
8045
8046	// The number of failed entries.
8047	FailedEntryCount *int64 `type:"integer"`
8048}
8049
8050// String returns the string representation
8051func (s PutEventsOutput) String() string {
8052	return awsutil.Prettify(s)
8053}
8054
8055// GoString returns the string representation
8056func (s PutEventsOutput) GoString() string {
8057	return s.String()
8058}
8059
8060// SetEntries sets the Entries field's value.
8061func (s *PutEventsOutput) SetEntries(v []*PutEventsResultEntry) *PutEventsOutput {
8062	s.Entries = v
8063	return s
8064}
8065
8066// SetFailedEntryCount sets the FailedEntryCount field's value.
8067func (s *PutEventsOutput) SetFailedEntryCount(v int64) *PutEventsOutput {
8068	s.FailedEntryCount = &v
8069	return s
8070}
8071
8072// Represents an event to be submitted.
8073type PutEventsRequestEntry struct {
8074	_ struct{} `type:"structure"`
8075
8076	// A valid JSON string. There is no other schema imposed. The JSON string may
8077	// contain fields and nested subobjects.
8078	Detail *string `type:"string"`
8079
8080	// Free-form string used to decide what fields to expect in the event detail.
8081	DetailType *string `type:"string"`
8082
8083	// The name or ARN of the event bus to receive the event. Only the rules that
8084	// are associated with this event bus are used to match the event. If you omit
8085	// this, the default event bus is used.
8086	EventBusName *string `min:"1" type:"string"`
8087
8088	// AWS resources, identified by Amazon Resource Name (ARN), which the event
8089	// primarily concerns. Any number, including zero, may be present.
8090	Resources []*string `type:"list"`
8091
8092	// The source of the event.
8093	Source *string `type:"string"`
8094
8095	// The time stamp of the event, per RFC3339 (https://www.rfc-editor.org/rfc/rfc3339.txt).
8096	// If no time stamp is provided, the time stamp of the PutEvents call is used.
8097	Time *time.Time `type:"timestamp"`
8098}
8099
8100// String returns the string representation
8101func (s PutEventsRequestEntry) String() string {
8102	return awsutil.Prettify(s)
8103}
8104
8105// GoString returns the string representation
8106func (s PutEventsRequestEntry) GoString() string {
8107	return s.String()
8108}
8109
8110// Validate inspects the fields of the type to determine if they are valid.
8111func (s *PutEventsRequestEntry) Validate() error {
8112	invalidParams := request.ErrInvalidParams{Context: "PutEventsRequestEntry"}
8113	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
8114		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
8115	}
8116
8117	if invalidParams.Len() > 0 {
8118		return invalidParams
8119	}
8120	return nil
8121}
8122
8123// SetDetail sets the Detail field's value.
8124func (s *PutEventsRequestEntry) SetDetail(v string) *PutEventsRequestEntry {
8125	s.Detail = &v
8126	return s
8127}
8128
8129// SetDetailType sets the DetailType field's value.
8130func (s *PutEventsRequestEntry) SetDetailType(v string) *PutEventsRequestEntry {
8131	s.DetailType = &v
8132	return s
8133}
8134
8135// SetEventBusName sets the EventBusName field's value.
8136func (s *PutEventsRequestEntry) SetEventBusName(v string) *PutEventsRequestEntry {
8137	s.EventBusName = &v
8138	return s
8139}
8140
8141// SetResources sets the Resources field's value.
8142func (s *PutEventsRequestEntry) SetResources(v []*string) *PutEventsRequestEntry {
8143	s.Resources = v
8144	return s
8145}
8146
8147// SetSource sets the Source field's value.
8148func (s *PutEventsRequestEntry) SetSource(v string) *PutEventsRequestEntry {
8149	s.Source = &v
8150	return s
8151}
8152
8153// SetTime sets the Time field's value.
8154func (s *PutEventsRequestEntry) SetTime(v time.Time) *PutEventsRequestEntry {
8155	s.Time = &v
8156	return s
8157}
8158
8159// Represents an event that failed to be submitted.
8160type PutEventsResultEntry struct {
8161	_ struct{} `type:"structure"`
8162
8163	// The error code that indicates why the event submission failed.
8164	ErrorCode *string `type:"string"`
8165
8166	// The error message that explains why the event submission failed.
8167	ErrorMessage *string `type:"string"`
8168
8169	// The ID of the event.
8170	EventId *string `type:"string"`
8171}
8172
8173// String returns the string representation
8174func (s PutEventsResultEntry) String() string {
8175	return awsutil.Prettify(s)
8176}
8177
8178// GoString returns the string representation
8179func (s PutEventsResultEntry) GoString() string {
8180	return s.String()
8181}
8182
8183// SetErrorCode sets the ErrorCode field's value.
8184func (s *PutEventsResultEntry) SetErrorCode(v string) *PutEventsResultEntry {
8185	s.ErrorCode = &v
8186	return s
8187}
8188
8189// SetErrorMessage sets the ErrorMessage field's value.
8190func (s *PutEventsResultEntry) SetErrorMessage(v string) *PutEventsResultEntry {
8191	s.ErrorMessage = &v
8192	return s
8193}
8194
8195// SetEventId sets the EventId field's value.
8196func (s *PutEventsResultEntry) SetEventId(v string) *PutEventsResultEntry {
8197	s.EventId = &v
8198	return s
8199}
8200
8201type PutPartnerEventsInput struct {
8202	_ struct{} `type:"structure"`
8203
8204	// The list of events to write to the event bus.
8205	//
8206	// Entries is a required field
8207	Entries []*PutPartnerEventsRequestEntry `min:"1" type:"list" required:"true"`
8208}
8209
8210// String returns the string representation
8211func (s PutPartnerEventsInput) String() string {
8212	return awsutil.Prettify(s)
8213}
8214
8215// GoString returns the string representation
8216func (s PutPartnerEventsInput) GoString() string {
8217	return s.String()
8218}
8219
8220// Validate inspects the fields of the type to determine if they are valid.
8221func (s *PutPartnerEventsInput) Validate() error {
8222	invalidParams := request.ErrInvalidParams{Context: "PutPartnerEventsInput"}
8223	if s.Entries == nil {
8224		invalidParams.Add(request.NewErrParamRequired("Entries"))
8225	}
8226	if s.Entries != nil && len(s.Entries) < 1 {
8227		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
8228	}
8229	if s.Entries != nil {
8230		for i, v := range s.Entries {
8231			if v == nil {
8232				continue
8233			}
8234			if err := v.Validate(); err != nil {
8235				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
8236			}
8237		}
8238	}
8239
8240	if invalidParams.Len() > 0 {
8241		return invalidParams
8242	}
8243	return nil
8244}
8245
8246// SetEntries sets the Entries field's value.
8247func (s *PutPartnerEventsInput) SetEntries(v []*PutPartnerEventsRequestEntry) *PutPartnerEventsInput {
8248	s.Entries = v
8249	return s
8250}
8251
8252type PutPartnerEventsOutput struct {
8253	_ struct{} `type:"structure"`
8254
8255	// The list of events from this operation that were successfully written to
8256	// the partner event bus.
8257	Entries []*PutPartnerEventsResultEntry `type:"list"`
8258
8259	// The number of events from this operation that could not be written to the
8260	// partner event bus.
8261	FailedEntryCount *int64 `type:"integer"`
8262}
8263
8264// String returns the string representation
8265func (s PutPartnerEventsOutput) String() string {
8266	return awsutil.Prettify(s)
8267}
8268
8269// GoString returns the string representation
8270func (s PutPartnerEventsOutput) GoString() string {
8271	return s.String()
8272}
8273
8274// SetEntries sets the Entries field's value.
8275func (s *PutPartnerEventsOutput) SetEntries(v []*PutPartnerEventsResultEntry) *PutPartnerEventsOutput {
8276	s.Entries = v
8277	return s
8278}
8279
8280// SetFailedEntryCount sets the FailedEntryCount field's value.
8281func (s *PutPartnerEventsOutput) SetFailedEntryCount(v int64) *PutPartnerEventsOutput {
8282	s.FailedEntryCount = &v
8283	return s
8284}
8285
8286// The details about an event generated by an SaaS partner.
8287type PutPartnerEventsRequestEntry struct {
8288	_ struct{} `type:"structure"`
8289
8290	// A valid JSON string. There is no other schema imposed. The JSON string may
8291	// contain fields and nested subobjects.
8292	Detail *string `type:"string"`
8293
8294	// A free-form string used to decide what fields to expect in the event detail.
8295	DetailType *string `type:"string"`
8296
8297	// AWS resources, identified by Amazon Resource Name (ARN), which the event
8298	// primarily concerns. Any number, including zero, may be present.
8299	Resources []*string `type:"list"`
8300
8301	// The event source that is generating the evntry.
8302	Source *string `min:"1" type:"string"`
8303
8304	// The date and time of the event.
8305	Time *time.Time `type:"timestamp"`
8306}
8307
8308// String returns the string representation
8309func (s PutPartnerEventsRequestEntry) String() string {
8310	return awsutil.Prettify(s)
8311}
8312
8313// GoString returns the string representation
8314func (s PutPartnerEventsRequestEntry) GoString() string {
8315	return s.String()
8316}
8317
8318// Validate inspects the fields of the type to determine if they are valid.
8319func (s *PutPartnerEventsRequestEntry) Validate() error {
8320	invalidParams := request.ErrInvalidParams{Context: "PutPartnerEventsRequestEntry"}
8321	if s.Source != nil && len(*s.Source) < 1 {
8322		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
8323	}
8324
8325	if invalidParams.Len() > 0 {
8326		return invalidParams
8327	}
8328	return nil
8329}
8330
8331// SetDetail sets the Detail field's value.
8332func (s *PutPartnerEventsRequestEntry) SetDetail(v string) *PutPartnerEventsRequestEntry {
8333	s.Detail = &v
8334	return s
8335}
8336
8337// SetDetailType sets the DetailType field's value.
8338func (s *PutPartnerEventsRequestEntry) SetDetailType(v string) *PutPartnerEventsRequestEntry {
8339	s.DetailType = &v
8340	return s
8341}
8342
8343// SetResources sets the Resources field's value.
8344func (s *PutPartnerEventsRequestEntry) SetResources(v []*string) *PutPartnerEventsRequestEntry {
8345	s.Resources = v
8346	return s
8347}
8348
8349// SetSource sets the Source field's value.
8350func (s *PutPartnerEventsRequestEntry) SetSource(v string) *PutPartnerEventsRequestEntry {
8351	s.Source = &v
8352	return s
8353}
8354
8355// SetTime sets the Time field's value.
8356func (s *PutPartnerEventsRequestEntry) SetTime(v time.Time) *PutPartnerEventsRequestEntry {
8357	s.Time = &v
8358	return s
8359}
8360
8361// Represents an event that a partner tried to generate, but failed.
8362type PutPartnerEventsResultEntry struct {
8363	_ struct{} `type:"structure"`
8364
8365	// The error code that indicates why the event submission failed.
8366	ErrorCode *string `type:"string"`
8367
8368	// The error message that explains why the event submission failed.
8369	ErrorMessage *string `type:"string"`
8370
8371	// The ID of the event.
8372	EventId *string `type:"string"`
8373}
8374
8375// String returns the string representation
8376func (s PutPartnerEventsResultEntry) String() string {
8377	return awsutil.Prettify(s)
8378}
8379
8380// GoString returns the string representation
8381func (s PutPartnerEventsResultEntry) GoString() string {
8382	return s.String()
8383}
8384
8385// SetErrorCode sets the ErrorCode field's value.
8386func (s *PutPartnerEventsResultEntry) SetErrorCode(v string) *PutPartnerEventsResultEntry {
8387	s.ErrorCode = &v
8388	return s
8389}
8390
8391// SetErrorMessage sets the ErrorMessage field's value.
8392func (s *PutPartnerEventsResultEntry) SetErrorMessage(v string) *PutPartnerEventsResultEntry {
8393	s.ErrorMessage = &v
8394	return s
8395}
8396
8397// SetEventId sets the EventId field's value.
8398func (s *PutPartnerEventsResultEntry) SetEventId(v string) *PutPartnerEventsResultEntry {
8399	s.EventId = &v
8400	return s
8401}
8402
8403type PutPermissionInput struct {
8404	_ struct{} `type:"structure"`
8405
8406	// The action that you are enabling the other account to perform. Currently,
8407	// this must be events:PutEvents.
8408	Action *string `min:"1" type:"string"`
8409
8410	// This parameter enables you to limit the permission to accounts that fulfill
8411	// a certain condition, such as being a member of a certain AWS organization.
8412	// For more information about AWS Organizations, see What Is AWS Organizations
8413	// (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)
8414	// in the AWS Organizations User Guide.
8415	//
8416	// If you specify Condition with an AWS organization ID, and specify "*" as
8417	// the value for Principal, you grant permission to all the accounts in the
8418	// named organization.
8419	//
8420	// The Condition is a JSON string which must contain Type, Key, and Value fields.
8421	Condition *Condition `type:"structure"`
8422
8423	// The name of the event bus associated with the rule. If you omit this, the
8424	// default event bus is used.
8425	EventBusName *string `min:"1" type:"string"`
8426
8427	// A JSON string that describes the permission policy statement. You can include
8428	// a Policy parameter in the request instead of using the StatementId, Action,
8429	// Principal, or Condition parameters.
8430	Policy *string `type:"string"`
8431
8432	// The 12-digit AWS account ID that you are permitting to put events to your
8433	// default event bus. Specify "*" to permit any account to put events to your
8434	// default event bus.
8435	//
8436	// If you specify "*" without specifying Condition, avoid creating rules that
8437	// may match undesirable events. To create more secure rules, make sure that
8438	// the event pattern for each rule contains an account field with a specific
8439	// account ID from which to receive events. Rules with an account field do not
8440	// match any events sent from other accounts.
8441	Principal *string `min:"1" type:"string"`
8442
8443	// An identifier string for the external account that you are granting permissions
8444	// to. If you later want to revoke the permission for this external account,
8445	// specify this StatementId when you run RemovePermission.
8446	StatementId *string `min:"1" type:"string"`
8447}
8448
8449// String returns the string representation
8450func (s PutPermissionInput) String() string {
8451	return awsutil.Prettify(s)
8452}
8453
8454// GoString returns the string representation
8455func (s PutPermissionInput) GoString() string {
8456	return s.String()
8457}
8458
8459// Validate inspects the fields of the type to determine if they are valid.
8460func (s *PutPermissionInput) Validate() error {
8461	invalidParams := request.ErrInvalidParams{Context: "PutPermissionInput"}
8462	if s.Action != nil && len(*s.Action) < 1 {
8463		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
8464	}
8465	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
8466		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
8467	}
8468	if s.Principal != nil && len(*s.Principal) < 1 {
8469		invalidParams.Add(request.NewErrParamMinLen("Principal", 1))
8470	}
8471	if s.StatementId != nil && len(*s.StatementId) < 1 {
8472		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
8473	}
8474	if s.Condition != nil {
8475		if err := s.Condition.Validate(); err != nil {
8476			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
8477		}
8478	}
8479
8480	if invalidParams.Len() > 0 {
8481		return invalidParams
8482	}
8483	return nil
8484}
8485
8486// SetAction sets the Action field's value.
8487func (s *PutPermissionInput) SetAction(v string) *PutPermissionInput {
8488	s.Action = &v
8489	return s
8490}
8491
8492// SetCondition sets the Condition field's value.
8493func (s *PutPermissionInput) SetCondition(v *Condition) *PutPermissionInput {
8494	s.Condition = v
8495	return s
8496}
8497
8498// SetEventBusName sets the EventBusName field's value.
8499func (s *PutPermissionInput) SetEventBusName(v string) *PutPermissionInput {
8500	s.EventBusName = &v
8501	return s
8502}
8503
8504// SetPolicy sets the Policy field's value.
8505func (s *PutPermissionInput) SetPolicy(v string) *PutPermissionInput {
8506	s.Policy = &v
8507	return s
8508}
8509
8510// SetPrincipal sets the Principal field's value.
8511func (s *PutPermissionInput) SetPrincipal(v string) *PutPermissionInput {
8512	s.Principal = &v
8513	return s
8514}
8515
8516// SetStatementId sets the StatementId field's value.
8517func (s *PutPermissionInput) SetStatementId(v string) *PutPermissionInput {
8518	s.StatementId = &v
8519	return s
8520}
8521
8522type PutPermissionOutput struct {
8523	_ struct{} `type:"structure"`
8524}
8525
8526// String returns the string representation
8527func (s PutPermissionOutput) String() string {
8528	return awsutil.Prettify(s)
8529}
8530
8531// GoString returns the string representation
8532func (s PutPermissionOutput) GoString() string {
8533	return s.String()
8534}
8535
8536type PutRuleInput struct {
8537	_ struct{} `type:"structure"`
8538
8539	// A description of the rule.
8540	Description *string `type:"string"`
8541
8542	// The name or ARN of the event bus to associate with this rule. If you omit
8543	// this, the default event bus is used.
8544	EventBusName *string `min:"1" type:"string"`
8545
8546	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
8547	// in the Amazon EventBridge User Guide.
8548	EventPattern *string `type:"string"`
8549
8550	// The name of the rule that you are creating or updating.
8551	//
8552	// Name is a required field
8553	Name *string `min:"1" type:"string" required:"true"`
8554
8555	// The Amazon Resource Name (ARN) of the IAM role associated with the rule.
8556	RoleArn *string `min:"1" type:"string"`
8557
8558	// The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 minutes)".
8559	ScheduleExpression *string `type:"string"`
8560
8561	// Indicates whether the rule is enabled or disabled.
8562	State *string `type:"string" enum:"RuleState"`
8563
8564	// The list of key-value pairs to associate with the rule.
8565	Tags []*Tag `type:"list"`
8566}
8567
8568// String returns the string representation
8569func (s PutRuleInput) String() string {
8570	return awsutil.Prettify(s)
8571}
8572
8573// GoString returns the string representation
8574func (s PutRuleInput) GoString() string {
8575	return s.String()
8576}
8577
8578// Validate inspects the fields of the type to determine if they are valid.
8579func (s *PutRuleInput) Validate() error {
8580	invalidParams := request.ErrInvalidParams{Context: "PutRuleInput"}
8581	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
8582		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
8583	}
8584	if s.Name == nil {
8585		invalidParams.Add(request.NewErrParamRequired("Name"))
8586	}
8587	if s.Name != nil && len(*s.Name) < 1 {
8588		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8589	}
8590	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8591		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8592	}
8593	if s.Tags != nil {
8594		for i, v := range s.Tags {
8595			if v == nil {
8596				continue
8597			}
8598			if err := v.Validate(); err != nil {
8599				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8600			}
8601		}
8602	}
8603
8604	if invalidParams.Len() > 0 {
8605		return invalidParams
8606	}
8607	return nil
8608}
8609
8610// SetDescription sets the Description field's value.
8611func (s *PutRuleInput) SetDescription(v string) *PutRuleInput {
8612	s.Description = &v
8613	return s
8614}
8615
8616// SetEventBusName sets the EventBusName field's value.
8617func (s *PutRuleInput) SetEventBusName(v string) *PutRuleInput {
8618	s.EventBusName = &v
8619	return s
8620}
8621
8622// SetEventPattern sets the EventPattern field's value.
8623func (s *PutRuleInput) SetEventPattern(v string) *PutRuleInput {
8624	s.EventPattern = &v
8625	return s
8626}
8627
8628// SetName sets the Name field's value.
8629func (s *PutRuleInput) SetName(v string) *PutRuleInput {
8630	s.Name = &v
8631	return s
8632}
8633
8634// SetRoleArn sets the RoleArn field's value.
8635func (s *PutRuleInput) SetRoleArn(v string) *PutRuleInput {
8636	s.RoleArn = &v
8637	return s
8638}
8639
8640// SetScheduleExpression sets the ScheduleExpression field's value.
8641func (s *PutRuleInput) SetScheduleExpression(v string) *PutRuleInput {
8642	s.ScheduleExpression = &v
8643	return s
8644}
8645
8646// SetState sets the State field's value.
8647func (s *PutRuleInput) SetState(v string) *PutRuleInput {
8648	s.State = &v
8649	return s
8650}
8651
8652// SetTags sets the Tags field's value.
8653func (s *PutRuleInput) SetTags(v []*Tag) *PutRuleInput {
8654	s.Tags = v
8655	return s
8656}
8657
8658type PutRuleOutput struct {
8659	_ struct{} `type:"structure"`
8660
8661	// The Amazon Resource Name (ARN) of the rule.
8662	RuleArn *string `min:"1" type:"string"`
8663}
8664
8665// String returns the string representation
8666func (s PutRuleOutput) String() string {
8667	return awsutil.Prettify(s)
8668}
8669
8670// GoString returns the string representation
8671func (s PutRuleOutput) GoString() string {
8672	return s.String()
8673}
8674
8675// SetRuleArn sets the RuleArn field's value.
8676func (s *PutRuleOutput) SetRuleArn(v string) *PutRuleOutput {
8677	s.RuleArn = &v
8678	return s
8679}
8680
8681type PutTargetsInput struct {
8682	_ struct{} `type:"structure"`
8683
8684	// The name or ARN of the event bus associated with the rule. If you omit this,
8685	// the default event bus is used.
8686	EventBusName *string `min:"1" type:"string"`
8687
8688	// The name of the rule.
8689	//
8690	// Rule is a required field
8691	Rule *string `min:"1" type:"string" required:"true"`
8692
8693	// The targets to update or add to the rule.
8694	//
8695	// Targets is a required field
8696	Targets []*Target `min:"1" type:"list" required:"true"`
8697}
8698
8699// String returns the string representation
8700func (s PutTargetsInput) String() string {
8701	return awsutil.Prettify(s)
8702}
8703
8704// GoString returns the string representation
8705func (s PutTargetsInput) GoString() string {
8706	return s.String()
8707}
8708
8709// Validate inspects the fields of the type to determine if they are valid.
8710func (s *PutTargetsInput) Validate() error {
8711	invalidParams := request.ErrInvalidParams{Context: "PutTargetsInput"}
8712	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
8713		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
8714	}
8715	if s.Rule == nil {
8716		invalidParams.Add(request.NewErrParamRequired("Rule"))
8717	}
8718	if s.Rule != nil && len(*s.Rule) < 1 {
8719		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
8720	}
8721	if s.Targets == nil {
8722		invalidParams.Add(request.NewErrParamRequired("Targets"))
8723	}
8724	if s.Targets != nil && len(s.Targets) < 1 {
8725		invalidParams.Add(request.NewErrParamMinLen("Targets", 1))
8726	}
8727	if s.Targets != nil {
8728		for i, v := range s.Targets {
8729			if v == nil {
8730				continue
8731			}
8732			if err := v.Validate(); err != nil {
8733				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
8734			}
8735		}
8736	}
8737
8738	if invalidParams.Len() > 0 {
8739		return invalidParams
8740	}
8741	return nil
8742}
8743
8744// SetEventBusName sets the EventBusName field's value.
8745func (s *PutTargetsInput) SetEventBusName(v string) *PutTargetsInput {
8746	s.EventBusName = &v
8747	return s
8748}
8749
8750// SetRule sets the Rule field's value.
8751func (s *PutTargetsInput) SetRule(v string) *PutTargetsInput {
8752	s.Rule = &v
8753	return s
8754}
8755
8756// SetTargets sets the Targets field's value.
8757func (s *PutTargetsInput) SetTargets(v []*Target) *PutTargetsInput {
8758	s.Targets = v
8759	return s
8760}
8761
8762type PutTargetsOutput struct {
8763	_ struct{} `type:"structure"`
8764
8765	// The failed target entries.
8766	FailedEntries []*PutTargetsResultEntry `type:"list"`
8767
8768	// The number of failed entries.
8769	FailedEntryCount *int64 `type:"integer"`
8770}
8771
8772// String returns the string representation
8773func (s PutTargetsOutput) String() string {
8774	return awsutil.Prettify(s)
8775}
8776
8777// GoString returns the string representation
8778func (s PutTargetsOutput) GoString() string {
8779	return s.String()
8780}
8781
8782// SetFailedEntries sets the FailedEntries field's value.
8783func (s *PutTargetsOutput) SetFailedEntries(v []*PutTargetsResultEntry) *PutTargetsOutput {
8784	s.FailedEntries = v
8785	return s
8786}
8787
8788// SetFailedEntryCount sets the FailedEntryCount field's value.
8789func (s *PutTargetsOutput) SetFailedEntryCount(v int64) *PutTargetsOutput {
8790	s.FailedEntryCount = &v
8791	return s
8792}
8793
8794// Represents a target that failed to be added to a rule.
8795type PutTargetsResultEntry struct {
8796	_ struct{} `type:"structure"`
8797
8798	// The error code that indicates why the target addition failed. If the value
8799	// is ConcurrentModificationException, too many requests were made at the same
8800	// time.
8801	ErrorCode *string `type:"string"`
8802
8803	// The error message that explains why the target addition failed.
8804	ErrorMessage *string `type:"string"`
8805
8806	// The ID of the target.
8807	TargetId *string `min:"1" type:"string"`
8808}
8809
8810// String returns the string representation
8811func (s PutTargetsResultEntry) String() string {
8812	return awsutil.Prettify(s)
8813}
8814
8815// GoString returns the string representation
8816func (s PutTargetsResultEntry) GoString() string {
8817	return s.String()
8818}
8819
8820// SetErrorCode sets the ErrorCode field's value.
8821func (s *PutTargetsResultEntry) SetErrorCode(v string) *PutTargetsResultEntry {
8822	s.ErrorCode = &v
8823	return s
8824}
8825
8826// SetErrorMessage sets the ErrorMessage field's value.
8827func (s *PutTargetsResultEntry) SetErrorMessage(v string) *PutTargetsResultEntry {
8828	s.ErrorMessage = &v
8829	return s
8830}
8831
8832// SetTargetId sets the TargetId field's value.
8833func (s *PutTargetsResultEntry) SetTargetId(v string) *PutTargetsResultEntry {
8834	s.TargetId = &v
8835	return s
8836}
8837
8838// These are custom parameters to be used when the target is a Redshift cluster
8839// to invoke the Redshift Data API ExecuteStatement based on EventBridge events.
8840type RedshiftDataParameters struct {
8841	_ struct{} `type:"structure"`
8842
8843	// The name of the database. Required when authenticating using temporary credentials.
8844	//
8845	// Database is a required field
8846	Database *string `min:"1" type:"string" required:"true"`
8847
8848	// The database user name. Required when authenticating using temporary credentials.
8849	DbUser *string `min:"1" type:"string"`
8850
8851	// The name or ARN of the secret that enables access to the database. Required
8852	// when authenticating using AWS Secrets Manager.
8853	SecretManagerArn *string `min:"1" type:"string"`
8854
8855	// The SQL statement text to run.
8856	//
8857	// Sql is a required field
8858	Sql *string `min:"1" type:"string" required:"true"`
8859
8860	// The name of the SQL statement. You can name the SQL statement when you create
8861	// it to identify the query.
8862	StatementName *string `min:"1" type:"string"`
8863
8864	// Indicates whether to send an event back to EventBridge after the SQL statement
8865	// runs.
8866	WithEvent *bool `type:"boolean"`
8867}
8868
8869// String returns the string representation
8870func (s RedshiftDataParameters) String() string {
8871	return awsutil.Prettify(s)
8872}
8873
8874// GoString returns the string representation
8875func (s RedshiftDataParameters) GoString() string {
8876	return s.String()
8877}
8878
8879// Validate inspects the fields of the type to determine if they are valid.
8880func (s *RedshiftDataParameters) Validate() error {
8881	invalidParams := request.ErrInvalidParams{Context: "RedshiftDataParameters"}
8882	if s.Database == nil {
8883		invalidParams.Add(request.NewErrParamRequired("Database"))
8884	}
8885	if s.Database != nil && len(*s.Database) < 1 {
8886		invalidParams.Add(request.NewErrParamMinLen("Database", 1))
8887	}
8888	if s.DbUser != nil && len(*s.DbUser) < 1 {
8889		invalidParams.Add(request.NewErrParamMinLen("DbUser", 1))
8890	}
8891	if s.SecretManagerArn != nil && len(*s.SecretManagerArn) < 1 {
8892		invalidParams.Add(request.NewErrParamMinLen("SecretManagerArn", 1))
8893	}
8894	if s.Sql == nil {
8895		invalidParams.Add(request.NewErrParamRequired("Sql"))
8896	}
8897	if s.Sql != nil && len(*s.Sql) < 1 {
8898		invalidParams.Add(request.NewErrParamMinLen("Sql", 1))
8899	}
8900	if s.StatementName != nil && len(*s.StatementName) < 1 {
8901		invalidParams.Add(request.NewErrParamMinLen("StatementName", 1))
8902	}
8903
8904	if invalidParams.Len() > 0 {
8905		return invalidParams
8906	}
8907	return nil
8908}
8909
8910// SetDatabase sets the Database field's value.
8911func (s *RedshiftDataParameters) SetDatabase(v string) *RedshiftDataParameters {
8912	s.Database = &v
8913	return s
8914}
8915
8916// SetDbUser sets the DbUser field's value.
8917func (s *RedshiftDataParameters) SetDbUser(v string) *RedshiftDataParameters {
8918	s.DbUser = &v
8919	return s
8920}
8921
8922// SetSecretManagerArn sets the SecretManagerArn field's value.
8923func (s *RedshiftDataParameters) SetSecretManagerArn(v string) *RedshiftDataParameters {
8924	s.SecretManagerArn = &v
8925	return s
8926}
8927
8928// SetSql sets the Sql field's value.
8929func (s *RedshiftDataParameters) SetSql(v string) *RedshiftDataParameters {
8930	s.Sql = &v
8931	return s
8932}
8933
8934// SetStatementName sets the StatementName field's value.
8935func (s *RedshiftDataParameters) SetStatementName(v string) *RedshiftDataParameters {
8936	s.StatementName = &v
8937	return s
8938}
8939
8940// SetWithEvent sets the WithEvent field's value.
8941func (s *RedshiftDataParameters) SetWithEvent(v bool) *RedshiftDataParameters {
8942	s.WithEvent = &v
8943	return s
8944}
8945
8946type RemovePermissionInput struct {
8947	_ struct{} `type:"structure"`
8948
8949	// The name of the event bus to revoke permissions for. If you omit this, the
8950	// default event bus is used.
8951	EventBusName *string `min:"1" type:"string"`
8952
8953	// Specifies whether to remove all permissions.
8954	RemoveAllPermissions *bool `type:"boolean"`
8955
8956	// The statement ID corresponding to the account that is no longer allowed to
8957	// put events to the default event bus.
8958	StatementId *string `min:"1" type:"string"`
8959}
8960
8961// String returns the string representation
8962func (s RemovePermissionInput) String() string {
8963	return awsutil.Prettify(s)
8964}
8965
8966// GoString returns the string representation
8967func (s RemovePermissionInput) GoString() string {
8968	return s.String()
8969}
8970
8971// Validate inspects the fields of the type to determine if they are valid.
8972func (s *RemovePermissionInput) Validate() error {
8973	invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"}
8974	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
8975		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
8976	}
8977	if s.StatementId != nil && len(*s.StatementId) < 1 {
8978		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
8979	}
8980
8981	if invalidParams.Len() > 0 {
8982		return invalidParams
8983	}
8984	return nil
8985}
8986
8987// SetEventBusName sets the EventBusName field's value.
8988func (s *RemovePermissionInput) SetEventBusName(v string) *RemovePermissionInput {
8989	s.EventBusName = &v
8990	return s
8991}
8992
8993// SetRemoveAllPermissions sets the RemoveAllPermissions field's value.
8994func (s *RemovePermissionInput) SetRemoveAllPermissions(v bool) *RemovePermissionInput {
8995	s.RemoveAllPermissions = &v
8996	return s
8997}
8998
8999// SetStatementId sets the StatementId field's value.
9000func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput {
9001	s.StatementId = &v
9002	return s
9003}
9004
9005type RemovePermissionOutput struct {
9006	_ struct{} `type:"structure"`
9007}
9008
9009// String returns the string representation
9010func (s RemovePermissionOutput) String() string {
9011	return awsutil.Prettify(s)
9012}
9013
9014// GoString returns the string representation
9015func (s RemovePermissionOutput) GoString() string {
9016	return s.String()
9017}
9018
9019type RemoveTargetsInput struct {
9020	_ struct{} `type:"structure"`
9021
9022	// The name or ARN of the event bus associated with the rule. If you omit this,
9023	// the default event bus is used.
9024	EventBusName *string `min:"1" type:"string"`
9025
9026	// If this is a managed rule, created by an AWS service on your behalf, you
9027	// must specify Force as True to remove targets. This parameter is ignored for
9028	// rules that are not managed rules. You can check whether a rule is a managed
9029	// rule by using DescribeRule or ListRules and checking the ManagedBy field
9030	// of the response.
9031	Force *bool `type:"boolean"`
9032
9033	// The IDs of the targets to remove from the rule.
9034	//
9035	// Ids is a required field
9036	Ids []*string `min:"1" type:"list" required:"true"`
9037
9038	// The name of the rule.
9039	//
9040	// Rule is a required field
9041	Rule *string `min:"1" type:"string" required:"true"`
9042}
9043
9044// String returns the string representation
9045func (s RemoveTargetsInput) String() string {
9046	return awsutil.Prettify(s)
9047}
9048
9049// GoString returns the string representation
9050func (s RemoveTargetsInput) GoString() string {
9051	return s.String()
9052}
9053
9054// Validate inspects the fields of the type to determine if they are valid.
9055func (s *RemoveTargetsInput) Validate() error {
9056	invalidParams := request.ErrInvalidParams{Context: "RemoveTargetsInput"}
9057	if s.EventBusName != nil && len(*s.EventBusName) < 1 {
9058		invalidParams.Add(request.NewErrParamMinLen("EventBusName", 1))
9059	}
9060	if s.Ids == nil {
9061		invalidParams.Add(request.NewErrParamRequired("Ids"))
9062	}
9063	if s.Ids != nil && len(s.Ids) < 1 {
9064		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
9065	}
9066	if s.Rule == nil {
9067		invalidParams.Add(request.NewErrParamRequired("Rule"))
9068	}
9069	if s.Rule != nil && len(*s.Rule) < 1 {
9070		invalidParams.Add(request.NewErrParamMinLen("Rule", 1))
9071	}
9072
9073	if invalidParams.Len() > 0 {
9074		return invalidParams
9075	}
9076	return nil
9077}
9078
9079// SetEventBusName sets the EventBusName field's value.
9080func (s *RemoveTargetsInput) SetEventBusName(v string) *RemoveTargetsInput {
9081	s.EventBusName = &v
9082	return s
9083}
9084
9085// SetForce sets the Force field's value.
9086func (s *RemoveTargetsInput) SetForce(v bool) *RemoveTargetsInput {
9087	s.Force = &v
9088	return s
9089}
9090
9091// SetIds sets the Ids field's value.
9092func (s *RemoveTargetsInput) SetIds(v []*string) *RemoveTargetsInput {
9093	s.Ids = v
9094	return s
9095}
9096
9097// SetRule sets the Rule field's value.
9098func (s *RemoveTargetsInput) SetRule(v string) *RemoveTargetsInput {
9099	s.Rule = &v
9100	return s
9101}
9102
9103type RemoveTargetsOutput struct {
9104	_ struct{} `type:"structure"`
9105
9106	// The failed target entries.
9107	FailedEntries []*RemoveTargetsResultEntry `type:"list"`
9108
9109	// The number of failed entries.
9110	FailedEntryCount *int64 `type:"integer"`
9111}
9112
9113// String returns the string representation
9114func (s RemoveTargetsOutput) String() string {
9115	return awsutil.Prettify(s)
9116}
9117
9118// GoString returns the string representation
9119func (s RemoveTargetsOutput) GoString() string {
9120	return s.String()
9121}
9122
9123// SetFailedEntries sets the FailedEntries field's value.
9124func (s *RemoveTargetsOutput) SetFailedEntries(v []*RemoveTargetsResultEntry) *RemoveTargetsOutput {
9125	s.FailedEntries = v
9126	return s
9127}
9128
9129// SetFailedEntryCount sets the FailedEntryCount field's value.
9130func (s *RemoveTargetsOutput) SetFailedEntryCount(v int64) *RemoveTargetsOutput {
9131	s.FailedEntryCount = &v
9132	return s
9133}
9134
9135// Represents a target that failed to be removed from a rule.
9136type RemoveTargetsResultEntry struct {
9137	_ struct{} `type:"structure"`
9138
9139	// The error code that indicates why the target removal failed. If the value
9140	// is ConcurrentModificationException, too many requests were made at the same
9141	// time.
9142	ErrorCode *string `type:"string"`
9143
9144	// The error message that explains why the target removal failed.
9145	ErrorMessage *string `type:"string"`
9146
9147	// The ID of the target.
9148	TargetId *string `min:"1" type:"string"`
9149}
9150
9151// String returns the string representation
9152func (s RemoveTargetsResultEntry) String() string {
9153	return awsutil.Prettify(s)
9154}
9155
9156// GoString returns the string representation
9157func (s RemoveTargetsResultEntry) GoString() string {
9158	return s.String()
9159}
9160
9161// SetErrorCode sets the ErrorCode field's value.
9162func (s *RemoveTargetsResultEntry) SetErrorCode(v string) *RemoveTargetsResultEntry {
9163	s.ErrorCode = &v
9164	return s
9165}
9166
9167// SetErrorMessage sets the ErrorMessage field's value.
9168func (s *RemoveTargetsResultEntry) SetErrorMessage(v string) *RemoveTargetsResultEntry {
9169	s.ErrorMessage = &v
9170	return s
9171}
9172
9173// SetTargetId sets the TargetId field's value.
9174func (s *RemoveTargetsResultEntry) SetTargetId(v string) *RemoveTargetsResultEntry {
9175	s.TargetId = &v
9176	return s
9177}
9178
9179// A Replay object that contains details about a replay.
9180type Replay struct {
9181	_ struct{} `type:"structure"`
9182
9183	// A time stamp for the time to start replaying events. Any event with a creation
9184	// time prior to the EventEndTime specified is replayed.
9185	EventEndTime *time.Time `type:"timestamp"`
9186
9187	// A time stamp for the time that the last event was replayed.
9188	EventLastReplayedTime *time.Time `type:"timestamp"`
9189
9190	// The ARN of the archive to replay event from.
9191	EventSourceArn *string `min:"1" type:"string"`
9192
9193	// A time stamp for the time to start replaying events. This is determined by
9194	// the time in the event as described in Time (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEventsRequestEntry.html#eventbridge-Type-PutEventsRequestEntry-Time).
9195	EventStartTime *time.Time `type:"timestamp"`
9196
9197	// A time stamp for the time that the replay completed.
9198	ReplayEndTime *time.Time `type:"timestamp"`
9199
9200	// The name of the replay.
9201	ReplayName *string `min:"1" type:"string"`
9202
9203	// A time stamp for the time that the replay started.
9204	ReplayStartTime *time.Time `type:"timestamp"`
9205
9206	// The current state of the replay.
9207	State *string `type:"string" enum:"ReplayState"`
9208
9209	// A description of why the replay is in the current state.
9210	StateReason *string `type:"string"`
9211}
9212
9213// String returns the string representation
9214func (s Replay) String() string {
9215	return awsutil.Prettify(s)
9216}
9217
9218// GoString returns the string representation
9219func (s Replay) GoString() string {
9220	return s.String()
9221}
9222
9223// SetEventEndTime sets the EventEndTime field's value.
9224func (s *Replay) SetEventEndTime(v time.Time) *Replay {
9225	s.EventEndTime = &v
9226	return s
9227}
9228
9229// SetEventLastReplayedTime sets the EventLastReplayedTime field's value.
9230func (s *Replay) SetEventLastReplayedTime(v time.Time) *Replay {
9231	s.EventLastReplayedTime = &v
9232	return s
9233}
9234
9235// SetEventSourceArn sets the EventSourceArn field's value.
9236func (s *Replay) SetEventSourceArn(v string) *Replay {
9237	s.EventSourceArn = &v
9238	return s
9239}
9240
9241// SetEventStartTime sets the EventStartTime field's value.
9242func (s *Replay) SetEventStartTime(v time.Time) *Replay {
9243	s.EventStartTime = &v
9244	return s
9245}
9246
9247// SetReplayEndTime sets the ReplayEndTime field's value.
9248func (s *Replay) SetReplayEndTime(v time.Time) *Replay {
9249	s.ReplayEndTime = &v
9250	return s
9251}
9252
9253// SetReplayName sets the ReplayName field's value.
9254func (s *Replay) SetReplayName(v string) *Replay {
9255	s.ReplayName = &v
9256	return s
9257}
9258
9259// SetReplayStartTime sets the ReplayStartTime field's value.
9260func (s *Replay) SetReplayStartTime(v time.Time) *Replay {
9261	s.ReplayStartTime = &v
9262	return s
9263}
9264
9265// SetState sets the State field's value.
9266func (s *Replay) SetState(v string) *Replay {
9267	s.State = &v
9268	return s
9269}
9270
9271// SetStateReason sets the StateReason field's value.
9272func (s *Replay) SetStateReason(v string) *Replay {
9273	s.StateReason = &v
9274	return s
9275}
9276
9277// A ReplayDestination object that contains details about a replay.
9278type ReplayDestination struct {
9279	_ struct{} `type:"structure"`
9280
9281	// The ARN of the event bus to replay event to. You can replay events only to
9282	// the event bus specified to create the archive.
9283	//
9284	// Arn is a required field
9285	Arn *string `min:"1" type:"string" required:"true"`
9286
9287	// A list of ARNs for rules to replay events to.
9288	FilterArns []*string `type:"list"`
9289}
9290
9291// String returns the string representation
9292func (s ReplayDestination) String() string {
9293	return awsutil.Prettify(s)
9294}
9295
9296// GoString returns the string representation
9297func (s ReplayDestination) GoString() string {
9298	return s.String()
9299}
9300
9301// Validate inspects the fields of the type to determine if they are valid.
9302func (s *ReplayDestination) Validate() error {
9303	invalidParams := request.ErrInvalidParams{Context: "ReplayDestination"}
9304	if s.Arn == nil {
9305		invalidParams.Add(request.NewErrParamRequired("Arn"))
9306	}
9307	if s.Arn != nil && len(*s.Arn) < 1 {
9308		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
9309	}
9310
9311	if invalidParams.Len() > 0 {
9312		return invalidParams
9313	}
9314	return nil
9315}
9316
9317// SetArn sets the Arn field's value.
9318func (s *ReplayDestination) SetArn(v string) *ReplayDestination {
9319	s.Arn = &v
9320	return s
9321}
9322
9323// SetFilterArns sets the FilterArns field's value.
9324func (s *ReplayDestination) SetFilterArns(v []*string) *ReplayDestination {
9325	s.FilterArns = v
9326	return s
9327}
9328
9329// The resource you are trying to create already exists.
9330type ResourceAlreadyExistsException struct {
9331	_            struct{}                  `type:"structure"`
9332	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9333
9334	Message_ *string `locationName:"message" type:"string"`
9335}
9336
9337// String returns the string representation
9338func (s ResourceAlreadyExistsException) String() string {
9339	return awsutil.Prettify(s)
9340}
9341
9342// GoString returns the string representation
9343func (s ResourceAlreadyExistsException) GoString() string {
9344	return s.String()
9345}
9346
9347func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
9348	return &ResourceAlreadyExistsException{
9349		RespMetadata: v,
9350	}
9351}
9352
9353// Code returns the exception type name.
9354func (s *ResourceAlreadyExistsException) Code() string {
9355	return "ResourceAlreadyExistsException"
9356}
9357
9358// Message returns the exception's message.
9359func (s *ResourceAlreadyExistsException) Message() string {
9360	if s.Message_ != nil {
9361		return *s.Message_
9362	}
9363	return ""
9364}
9365
9366// OrigErr always returns nil, satisfies awserr.Error interface.
9367func (s *ResourceAlreadyExistsException) OrigErr() error {
9368	return nil
9369}
9370
9371func (s *ResourceAlreadyExistsException) Error() string {
9372	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9373}
9374
9375// Status code returns the HTTP status code for the request's response error.
9376func (s *ResourceAlreadyExistsException) StatusCode() int {
9377	return s.RespMetadata.StatusCode
9378}
9379
9380// RequestID returns the service's response RequestID for request.
9381func (s *ResourceAlreadyExistsException) RequestID() string {
9382	return s.RespMetadata.RequestID
9383}
9384
9385// An entity that you specified does not exist.
9386type ResourceNotFoundException struct {
9387	_            struct{}                  `type:"structure"`
9388	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9389
9390	Message_ *string `locationName:"message" type:"string"`
9391}
9392
9393// String returns the string representation
9394func (s ResourceNotFoundException) String() string {
9395	return awsutil.Prettify(s)
9396}
9397
9398// GoString returns the string representation
9399func (s ResourceNotFoundException) GoString() string {
9400	return s.String()
9401}
9402
9403func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9404	return &ResourceNotFoundException{
9405		RespMetadata: v,
9406	}
9407}
9408
9409// Code returns the exception type name.
9410func (s *ResourceNotFoundException) Code() string {
9411	return "ResourceNotFoundException"
9412}
9413
9414// Message returns the exception's message.
9415func (s *ResourceNotFoundException) Message() string {
9416	if s.Message_ != nil {
9417		return *s.Message_
9418	}
9419	return ""
9420}
9421
9422// OrigErr always returns nil, satisfies awserr.Error interface.
9423func (s *ResourceNotFoundException) OrigErr() error {
9424	return nil
9425}
9426
9427func (s *ResourceNotFoundException) Error() string {
9428	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9429}
9430
9431// Status code returns the HTTP status code for the request's response error.
9432func (s *ResourceNotFoundException) StatusCode() int {
9433	return s.RespMetadata.StatusCode
9434}
9435
9436// RequestID returns the service's response RequestID for request.
9437func (s *ResourceNotFoundException) RequestID() string {
9438	return s.RespMetadata.RequestID
9439}
9440
9441// A RetryPolicy object that includes information about the retry policy settings.
9442type RetryPolicy struct {
9443	_ struct{} `type:"structure"`
9444
9445	// The maximum amount of time, in seconds, to continue to make retry attempts.
9446	MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"`
9447
9448	// The maximum number of retry attempts to make before the request fails. Retry
9449	// attempts continue until either the maximum number of attempts is made or
9450	// until the duration of the MaximumEventAgeInSeconds is met.
9451	MaximumRetryAttempts *int64 `type:"integer"`
9452}
9453
9454// String returns the string representation
9455func (s RetryPolicy) String() string {
9456	return awsutil.Prettify(s)
9457}
9458
9459// GoString returns the string representation
9460func (s RetryPolicy) GoString() string {
9461	return s.String()
9462}
9463
9464// Validate inspects the fields of the type to determine if they are valid.
9465func (s *RetryPolicy) Validate() error {
9466	invalidParams := request.ErrInvalidParams{Context: "RetryPolicy"}
9467	if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 {
9468		invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60))
9469	}
9470
9471	if invalidParams.Len() > 0 {
9472		return invalidParams
9473	}
9474	return nil
9475}
9476
9477// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value.
9478func (s *RetryPolicy) SetMaximumEventAgeInSeconds(v int64) *RetryPolicy {
9479	s.MaximumEventAgeInSeconds = &v
9480	return s
9481}
9482
9483// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value.
9484func (s *RetryPolicy) SetMaximumRetryAttempts(v int64) *RetryPolicy {
9485	s.MaximumRetryAttempts = &v
9486	return s
9487}
9488
9489// Contains information about a rule in Amazon EventBridge.
9490type Rule struct {
9491	_ struct{} `type:"structure"`
9492
9493	// The Amazon Resource Name (ARN) of the rule.
9494	Arn *string `min:"1" type:"string"`
9495
9496	// The description of the rule.
9497	Description *string `type:"string"`
9498
9499	// The name or ARN of the event bus associated with the rule. If you omit this,
9500	// the default event bus is used.
9501	EventBusName *string `min:"1" type:"string"`
9502
9503	// The event pattern of the rule. For more information, see Events and Event
9504	// Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
9505	// in the Amazon EventBridge User Guide.
9506	EventPattern *string `type:"string"`
9507
9508	// If the rule was created on behalf of your account by an AWS service, this
9509	// field displays the principal name of the service that created the rule.
9510	ManagedBy *string `min:"1" type:"string"`
9511
9512	// The name of the rule.
9513	Name *string `min:"1" type:"string"`
9514
9515	// The Amazon Resource Name (ARN) of the role that is used for target invocation.
9516	RoleArn *string `min:"1" type:"string"`
9517
9518	// The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)".
9519	ScheduleExpression *string `type:"string"`
9520
9521	// The state of the rule.
9522	State *string `type:"string" enum:"RuleState"`
9523}
9524
9525// String returns the string representation
9526func (s Rule) String() string {
9527	return awsutil.Prettify(s)
9528}
9529
9530// GoString returns the string representation
9531func (s Rule) GoString() string {
9532	return s.String()
9533}
9534
9535// SetArn sets the Arn field's value.
9536func (s *Rule) SetArn(v string) *Rule {
9537	s.Arn = &v
9538	return s
9539}
9540
9541// SetDescription sets the Description field's value.
9542func (s *Rule) SetDescription(v string) *Rule {
9543	s.Description = &v
9544	return s
9545}
9546
9547// SetEventBusName sets the EventBusName field's value.
9548func (s *Rule) SetEventBusName(v string) *Rule {
9549	s.EventBusName = &v
9550	return s
9551}
9552
9553// SetEventPattern sets the EventPattern field's value.
9554func (s *Rule) SetEventPattern(v string) *Rule {
9555	s.EventPattern = &v
9556	return s
9557}
9558
9559// SetManagedBy sets the ManagedBy field's value.
9560func (s *Rule) SetManagedBy(v string) *Rule {
9561	s.ManagedBy = &v
9562	return s
9563}
9564
9565// SetName sets the Name field's value.
9566func (s *Rule) SetName(v string) *Rule {
9567	s.Name = &v
9568	return s
9569}
9570
9571// SetRoleArn sets the RoleArn field's value.
9572func (s *Rule) SetRoleArn(v string) *Rule {
9573	s.RoleArn = &v
9574	return s
9575}
9576
9577// SetScheduleExpression sets the ScheduleExpression field's value.
9578func (s *Rule) SetScheduleExpression(v string) *Rule {
9579	s.ScheduleExpression = &v
9580	return s
9581}
9582
9583// SetState sets the State field's value.
9584func (s *Rule) SetState(v string) *Rule {
9585	s.State = &v
9586	return s
9587}
9588
9589// This parameter contains the criteria (either InstanceIds or a tag) used to
9590// specify which EC2 instances are to be sent the command.
9591type RunCommandParameters struct {
9592	_ struct{} `type:"structure"`
9593
9594	// Currently, we support including only one RunCommandTarget block, which specifies
9595	// either an array of InstanceIds or a tag.
9596	//
9597	// RunCommandTargets is a required field
9598	RunCommandTargets []*RunCommandTarget `min:"1" type:"list" required:"true"`
9599}
9600
9601// String returns the string representation
9602func (s RunCommandParameters) String() string {
9603	return awsutil.Prettify(s)
9604}
9605
9606// GoString returns the string representation
9607func (s RunCommandParameters) GoString() string {
9608	return s.String()
9609}
9610
9611// Validate inspects the fields of the type to determine if they are valid.
9612func (s *RunCommandParameters) Validate() error {
9613	invalidParams := request.ErrInvalidParams{Context: "RunCommandParameters"}
9614	if s.RunCommandTargets == nil {
9615		invalidParams.Add(request.NewErrParamRequired("RunCommandTargets"))
9616	}
9617	if s.RunCommandTargets != nil && len(s.RunCommandTargets) < 1 {
9618		invalidParams.Add(request.NewErrParamMinLen("RunCommandTargets", 1))
9619	}
9620	if s.RunCommandTargets != nil {
9621		for i, v := range s.RunCommandTargets {
9622			if v == nil {
9623				continue
9624			}
9625			if err := v.Validate(); err != nil {
9626				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RunCommandTargets", i), err.(request.ErrInvalidParams))
9627			}
9628		}
9629	}
9630
9631	if invalidParams.Len() > 0 {
9632		return invalidParams
9633	}
9634	return nil
9635}
9636
9637// SetRunCommandTargets sets the RunCommandTargets field's value.
9638func (s *RunCommandParameters) SetRunCommandTargets(v []*RunCommandTarget) *RunCommandParameters {
9639	s.RunCommandTargets = v
9640	return s
9641}
9642
9643// Information about the EC2 instances that are to be sent the command, specified
9644// as key-value pairs. Each RunCommandTarget block can include only one key,
9645// but this key may specify multiple values.
9646type RunCommandTarget struct {
9647	_ struct{} `type:"structure"`
9648
9649	// Can be either tag: tag-key or InstanceIds.
9650	//
9651	// Key is a required field
9652	Key *string `min:"1" type:"string" required:"true"`
9653
9654	// If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds,
9655	// Values is a list of Amazon EC2 instance IDs.
9656	//
9657	// Values is a required field
9658	Values []*string `min:"1" type:"list" required:"true"`
9659}
9660
9661// String returns the string representation
9662func (s RunCommandTarget) String() string {
9663	return awsutil.Prettify(s)
9664}
9665
9666// GoString returns the string representation
9667func (s RunCommandTarget) GoString() string {
9668	return s.String()
9669}
9670
9671// Validate inspects the fields of the type to determine if they are valid.
9672func (s *RunCommandTarget) Validate() error {
9673	invalidParams := request.ErrInvalidParams{Context: "RunCommandTarget"}
9674	if s.Key == nil {
9675		invalidParams.Add(request.NewErrParamRequired("Key"))
9676	}
9677	if s.Key != nil && len(*s.Key) < 1 {
9678		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9679	}
9680	if s.Values == nil {
9681		invalidParams.Add(request.NewErrParamRequired("Values"))
9682	}
9683	if s.Values != nil && len(s.Values) < 1 {
9684		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
9685	}
9686
9687	if invalidParams.Len() > 0 {
9688		return invalidParams
9689	}
9690	return nil
9691}
9692
9693// SetKey sets the Key field's value.
9694func (s *RunCommandTarget) SetKey(v string) *RunCommandTarget {
9695	s.Key = &v
9696	return s
9697}
9698
9699// SetValues sets the Values field's value.
9700func (s *RunCommandTarget) SetValues(v []*string) *RunCommandTarget {
9701	s.Values = v
9702	return s
9703}
9704
9705// This structure includes the custom parameter to be used when the target is
9706// an SQS FIFO queue.
9707type SqsParameters struct {
9708	_ struct{} `type:"structure"`
9709
9710	// The FIFO message group ID to use as the target.
9711	MessageGroupId *string `type:"string"`
9712}
9713
9714// String returns the string representation
9715func (s SqsParameters) String() string {
9716	return awsutil.Prettify(s)
9717}
9718
9719// GoString returns the string representation
9720func (s SqsParameters) GoString() string {
9721	return s.String()
9722}
9723
9724// SetMessageGroupId sets the MessageGroupId field's value.
9725func (s *SqsParameters) SetMessageGroupId(v string) *SqsParameters {
9726	s.MessageGroupId = &v
9727	return s
9728}
9729
9730type StartReplayInput struct {
9731	_ struct{} `type:"structure"`
9732
9733	// A description for the replay to start.
9734	Description *string `type:"string"`
9735
9736	// A ReplayDestination object that includes details about the destination for
9737	// the replay.
9738	//
9739	// Destination is a required field
9740	Destination *ReplayDestination `type:"structure" required:"true"`
9741
9742	// A time stamp for the time to stop replaying events. Only events that occurred
9743	// between the EventStartTime and EventEndTime are replayed.
9744	//
9745	// EventEndTime is a required field
9746	EventEndTime *time.Time `type:"timestamp" required:"true"`
9747
9748	// The ARN of the archive to replay events from.
9749	//
9750	// EventSourceArn is a required field
9751	EventSourceArn *string `min:"1" type:"string" required:"true"`
9752
9753	// A time stamp for the time to start replaying events. Only events that occurred
9754	// between the EventStartTime and EventEndTime are replayed.
9755	//
9756	// EventStartTime is a required field
9757	EventStartTime *time.Time `type:"timestamp" required:"true"`
9758
9759	// The name of the replay to start.
9760	//
9761	// ReplayName is a required field
9762	ReplayName *string `min:"1" type:"string" required:"true"`
9763}
9764
9765// String returns the string representation
9766func (s StartReplayInput) String() string {
9767	return awsutil.Prettify(s)
9768}
9769
9770// GoString returns the string representation
9771func (s StartReplayInput) GoString() string {
9772	return s.String()
9773}
9774
9775// Validate inspects the fields of the type to determine if they are valid.
9776func (s *StartReplayInput) Validate() error {
9777	invalidParams := request.ErrInvalidParams{Context: "StartReplayInput"}
9778	if s.Destination == nil {
9779		invalidParams.Add(request.NewErrParamRequired("Destination"))
9780	}
9781	if s.EventEndTime == nil {
9782		invalidParams.Add(request.NewErrParamRequired("EventEndTime"))
9783	}
9784	if s.EventSourceArn == nil {
9785		invalidParams.Add(request.NewErrParamRequired("EventSourceArn"))
9786	}
9787	if s.EventSourceArn != nil && len(*s.EventSourceArn) < 1 {
9788		invalidParams.Add(request.NewErrParamMinLen("EventSourceArn", 1))
9789	}
9790	if s.EventStartTime == nil {
9791		invalidParams.Add(request.NewErrParamRequired("EventStartTime"))
9792	}
9793	if s.ReplayName == nil {
9794		invalidParams.Add(request.NewErrParamRequired("ReplayName"))
9795	}
9796	if s.ReplayName != nil && len(*s.ReplayName) < 1 {
9797		invalidParams.Add(request.NewErrParamMinLen("ReplayName", 1))
9798	}
9799	if s.Destination != nil {
9800		if err := s.Destination.Validate(); err != nil {
9801			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
9802		}
9803	}
9804
9805	if invalidParams.Len() > 0 {
9806		return invalidParams
9807	}
9808	return nil
9809}
9810
9811// SetDescription sets the Description field's value.
9812func (s *StartReplayInput) SetDescription(v string) *StartReplayInput {
9813	s.Description = &v
9814	return s
9815}
9816
9817// SetDestination sets the Destination field's value.
9818func (s *StartReplayInput) SetDestination(v *ReplayDestination) *StartReplayInput {
9819	s.Destination = v
9820	return s
9821}
9822
9823// SetEventEndTime sets the EventEndTime field's value.
9824func (s *StartReplayInput) SetEventEndTime(v time.Time) *StartReplayInput {
9825	s.EventEndTime = &v
9826	return s
9827}
9828
9829// SetEventSourceArn sets the EventSourceArn field's value.
9830func (s *StartReplayInput) SetEventSourceArn(v string) *StartReplayInput {
9831	s.EventSourceArn = &v
9832	return s
9833}
9834
9835// SetEventStartTime sets the EventStartTime field's value.
9836func (s *StartReplayInput) SetEventStartTime(v time.Time) *StartReplayInput {
9837	s.EventStartTime = &v
9838	return s
9839}
9840
9841// SetReplayName sets the ReplayName field's value.
9842func (s *StartReplayInput) SetReplayName(v string) *StartReplayInput {
9843	s.ReplayName = &v
9844	return s
9845}
9846
9847type StartReplayOutput struct {
9848	_ struct{} `type:"structure"`
9849
9850	// The ARN of the replay.
9851	ReplayArn *string `min:"1" type:"string"`
9852
9853	// The time at which the replay started.
9854	ReplayStartTime *time.Time `type:"timestamp"`
9855
9856	// The state of the replay.
9857	State *string `type:"string" enum:"ReplayState"`
9858
9859	// The reason that the replay is in the state.
9860	StateReason *string `type:"string"`
9861}
9862
9863// String returns the string representation
9864func (s StartReplayOutput) String() string {
9865	return awsutil.Prettify(s)
9866}
9867
9868// GoString returns the string representation
9869func (s StartReplayOutput) GoString() string {
9870	return s.String()
9871}
9872
9873// SetReplayArn sets the ReplayArn field's value.
9874func (s *StartReplayOutput) SetReplayArn(v string) *StartReplayOutput {
9875	s.ReplayArn = &v
9876	return s
9877}
9878
9879// SetReplayStartTime sets the ReplayStartTime field's value.
9880func (s *StartReplayOutput) SetReplayStartTime(v time.Time) *StartReplayOutput {
9881	s.ReplayStartTime = &v
9882	return s
9883}
9884
9885// SetState sets the State field's value.
9886func (s *StartReplayOutput) SetState(v string) *StartReplayOutput {
9887	s.State = &v
9888	return s
9889}
9890
9891// SetStateReason sets the StateReason field's value.
9892func (s *StartReplayOutput) SetStateReason(v string) *StartReplayOutput {
9893	s.StateReason = &v
9894	return s
9895}
9896
9897// A key-value pair associated with an AWS resource. In EventBridge, rules and
9898// event buses support tagging.
9899type Tag struct {
9900	_ struct{} `type:"structure"`
9901
9902	// A string you can use to assign a value. The combination of tag keys and values
9903	// can help you organize and categorize your resources.
9904	//
9905	// Key is a required field
9906	Key *string `min:"1" type:"string" required:"true"`
9907
9908	// The value for the specified tag key.
9909	//
9910	// Value is a required field
9911	Value *string `type:"string" required:"true"`
9912}
9913
9914// String returns the string representation
9915func (s Tag) String() string {
9916	return awsutil.Prettify(s)
9917}
9918
9919// GoString returns the string representation
9920func (s Tag) GoString() string {
9921	return s.String()
9922}
9923
9924// Validate inspects the fields of the type to determine if they are valid.
9925func (s *Tag) Validate() error {
9926	invalidParams := request.ErrInvalidParams{Context: "Tag"}
9927	if s.Key == nil {
9928		invalidParams.Add(request.NewErrParamRequired("Key"))
9929	}
9930	if s.Key != nil && len(*s.Key) < 1 {
9931		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9932	}
9933	if s.Value == nil {
9934		invalidParams.Add(request.NewErrParamRequired("Value"))
9935	}
9936
9937	if invalidParams.Len() > 0 {
9938		return invalidParams
9939	}
9940	return nil
9941}
9942
9943// SetKey sets the Key field's value.
9944func (s *Tag) SetKey(v string) *Tag {
9945	s.Key = &v
9946	return s
9947}
9948
9949// SetValue sets the Value field's value.
9950func (s *Tag) SetValue(v string) *Tag {
9951	s.Value = &v
9952	return s
9953}
9954
9955type TagResourceInput struct {
9956	_ struct{} `type:"structure"`
9957
9958	// The ARN of the EventBridge resource that you're adding tags to.
9959	//
9960	// ResourceARN is a required field
9961	ResourceARN *string `min:"1" type:"string" required:"true"`
9962
9963	// The list of key-value pairs to associate with the resource.
9964	//
9965	// Tags is a required field
9966	Tags []*Tag `type:"list" required:"true"`
9967}
9968
9969// String returns the string representation
9970func (s TagResourceInput) String() string {
9971	return awsutil.Prettify(s)
9972}
9973
9974// GoString returns the string representation
9975func (s TagResourceInput) GoString() string {
9976	return s.String()
9977}
9978
9979// Validate inspects the fields of the type to determine if they are valid.
9980func (s *TagResourceInput) Validate() error {
9981	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9982	if s.ResourceARN == nil {
9983		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
9984	}
9985	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
9986		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
9987	}
9988	if s.Tags == nil {
9989		invalidParams.Add(request.NewErrParamRequired("Tags"))
9990	}
9991	if s.Tags != nil {
9992		for i, v := range s.Tags {
9993			if v == nil {
9994				continue
9995			}
9996			if err := v.Validate(); err != nil {
9997				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9998			}
9999		}
10000	}
10001
10002	if invalidParams.Len() > 0 {
10003		return invalidParams
10004	}
10005	return nil
10006}
10007
10008// SetResourceARN sets the ResourceARN field's value.
10009func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
10010	s.ResourceARN = &v
10011	return s
10012}
10013
10014// SetTags sets the Tags field's value.
10015func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
10016	s.Tags = v
10017	return s
10018}
10019
10020type TagResourceOutput struct {
10021	_ struct{} `type:"structure"`
10022}
10023
10024// String returns the string representation
10025func (s TagResourceOutput) String() string {
10026	return awsutil.Prettify(s)
10027}
10028
10029// GoString returns the string representation
10030func (s TagResourceOutput) GoString() string {
10031	return s.String()
10032}
10033
10034// Targets are the resources to be invoked when a rule is triggered. For a complete
10035// list of services and resources that can be set as a target, see PutTargets.
10036//
10037// If you are setting the event bus of another account as the target, and that
10038// account granted permission to your account through an organization instead
10039// of directly by the account ID, then you must specify a RoleArn with proper
10040// permissions in the Target structure. For more information, see Sending and
10041// Receiving Events Between AWS Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html)
10042// in the Amazon EventBridge User Guide.
10043type Target struct {
10044	_ struct{} `type:"structure"`
10045
10046	// The Amazon Resource Name (ARN) of the target.
10047	//
10048	// Arn is a required field
10049	Arn *string `min:"1" type:"string" required:"true"`
10050
10051	// If the event target is an AWS Batch job, this contains the job definition,
10052	// job name, and other parameters. For more information, see Jobs (https://docs.aws.amazon.com/batch/latest/userguide/jobs.html)
10053	// in the AWS Batch User Guide.
10054	BatchParameters *BatchParameters `type:"structure"`
10055
10056	// The DeadLetterConfig that defines the target queue to send dead-letter queue
10057	// events to.
10058	DeadLetterConfig *DeadLetterConfig `type:"structure"`
10059
10060	// Contains the Amazon ECS task definition and task count to be used, if the
10061	// event target is an Amazon ECS task. For more information about Amazon ECS
10062	// tasks, see Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
10063	// in the Amazon EC2 Container Service Developer Guide.
10064	EcsParameters *EcsParameters `type:"structure"`
10065
10066	// Contains the HTTP parameters to use when the target is a API Gateway REST
10067	// endpoint.
10068	//
10069	// If you specify an API Gateway REST API as a target, you can use this parameter
10070	// to specify headers, path parameter, query string keys/values as part of your
10071	// target invoking request.
10072	HttpParameters *HttpParameters `type:"structure"`
10073
10074	// The ID of the target.
10075	//
10076	// Id is a required field
10077	Id *string `min:"1" type:"string" required:"true"`
10078
10079	// Valid JSON text passed to the target. In this case, nothing from the event
10080	// itself is passed to the target. For more information, see The JavaScript
10081	// Object Notation (JSON) Data Interchange Format (http://www.rfc-editor.org/rfc/rfc7159.txt).
10082	Input *string `type:"string"`
10083
10084	// The value of the JSONPath that is used for extracting part of the matched
10085	// event when passing it to the target. You must use JSON dot notation, not
10086	// bracket notation. For more information about JSON paths, see JSONPath (http://goessner.net/articles/JsonPath/).
10087	InputPath *string `type:"string"`
10088
10089	// Settings to enable you to provide custom input to a target based on certain
10090	// event data. You can extract one or more key-value pairs from the event and
10091	// then use that data to send customized input to the target.
10092	InputTransformer *InputTransformer `type:"structure"`
10093
10094	// The custom parameter you can use to control the shard assignment, when the
10095	// target is a Kinesis data stream. If you do not include this parameter, the
10096	// default is to use the eventId as the partition key.
10097	KinesisParameters *KinesisParameters `type:"structure"`
10098
10099	// Contains the Redshift Data API parameters to use when the target is a Redshift
10100	// cluster.
10101	//
10102	// If you specify a Redshift Cluster as a Target, you can use this to specify
10103	// parameters to invoke the Redshift Data API ExecuteStatement based on EventBridge
10104	// events.
10105	RedshiftDataParameters *RedshiftDataParameters `type:"structure"`
10106
10107	// The RetryPolicy object that contains the retry policy configuration to use
10108	// for the dead-letter queue.
10109	RetryPolicy *RetryPolicy `type:"structure"`
10110
10111	// The Amazon Resource Name (ARN) of the IAM role to be used for this target
10112	// when the rule is triggered. If one rule triggers multiple targets, you can
10113	// use a different IAM role for each target.
10114	RoleArn *string `min:"1" type:"string"`
10115
10116	// Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
10117	RunCommandParameters *RunCommandParameters `type:"structure"`
10118
10119	// Contains the message group ID to use when the target is a FIFO queue.
10120	//
10121	// If you specify an SQS FIFO queue as a target, the queue must have content-based
10122	// deduplication enabled.
10123	SqsParameters *SqsParameters `type:"structure"`
10124}
10125
10126// String returns the string representation
10127func (s Target) String() string {
10128	return awsutil.Prettify(s)
10129}
10130
10131// GoString returns the string representation
10132func (s Target) GoString() string {
10133	return s.String()
10134}
10135
10136// Validate inspects the fields of the type to determine if they are valid.
10137func (s *Target) Validate() error {
10138	invalidParams := request.ErrInvalidParams{Context: "Target"}
10139	if s.Arn == nil {
10140		invalidParams.Add(request.NewErrParamRequired("Arn"))
10141	}
10142	if s.Arn != nil && len(*s.Arn) < 1 {
10143		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
10144	}
10145	if s.Id == nil {
10146		invalidParams.Add(request.NewErrParamRequired("Id"))
10147	}
10148	if s.Id != nil && len(*s.Id) < 1 {
10149		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10150	}
10151	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
10152		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
10153	}
10154	if s.BatchParameters != nil {
10155		if err := s.BatchParameters.Validate(); err != nil {
10156			invalidParams.AddNested("BatchParameters", err.(request.ErrInvalidParams))
10157		}
10158	}
10159	if s.DeadLetterConfig != nil {
10160		if err := s.DeadLetterConfig.Validate(); err != nil {
10161			invalidParams.AddNested("DeadLetterConfig", err.(request.ErrInvalidParams))
10162		}
10163	}
10164	if s.EcsParameters != nil {
10165		if err := s.EcsParameters.Validate(); err != nil {
10166			invalidParams.AddNested("EcsParameters", err.(request.ErrInvalidParams))
10167		}
10168	}
10169	if s.InputTransformer != nil {
10170		if err := s.InputTransformer.Validate(); err != nil {
10171			invalidParams.AddNested("InputTransformer", err.(request.ErrInvalidParams))
10172		}
10173	}
10174	if s.KinesisParameters != nil {
10175		if err := s.KinesisParameters.Validate(); err != nil {
10176			invalidParams.AddNested("KinesisParameters", err.(request.ErrInvalidParams))
10177		}
10178	}
10179	if s.RedshiftDataParameters != nil {
10180		if err := s.RedshiftDataParameters.Validate(); err != nil {
10181			invalidParams.AddNested("RedshiftDataParameters", err.(request.ErrInvalidParams))
10182		}
10183	}
10184	if s.RetryPolicy != nil {
10185		if err := s.RetryPolicy.Validate(); err != nil {
10186			invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams))
10187		}
10188	}
10189	if s.RunCommandParameters != nil {
10190		if err := s.RunCommandParameters.Validate(); err != nil {
10191			invalidParams.AddNested("RunCommandParameters", err.(request.ErrInvalidParams))
10192		}
10193	}
10194
10195	if invalidParams.Len() > 0 {
10196		return invalidParams
10197	}
10198	return nil
10199}
10200
10201// SetArn sets the Arn field's value.
10202func (s *Target) SetArn(v string) *Target {
10203	s.Arn = &v
10204	return s
10205}
10206
10207// SetBatchParameters sets the BatchParameters field's value.
10208func (s *Target) SetBatchParameters(v *BatchParameters) *Target {
10209	s.BatchParameters = v
10210	return s
10211}
10212
10213// SetDeadLetterConfig sets the DeadLetterConfig field's value.
10214func (s *Target) SetDeadLetterConfig(v *DeadLetterConfig) *Target {
10215	s.DeadLetterConfig = v
10216	return s
10217}
10218
10219// SetEcsParameters sets the EcsParameters field's value.
10220func (s *Target) SetEcsParameters(v *EcsParameters) *Target {
10221	s.EcsParameters = v
10222	return s
10223}
10224
10225// SetHttpParameters sets the HttpParameters field's value.
10226func (s *Target) SetHttpParameters(v *HttpParameters) *Target {
10227	s.HttpParameters = v
10228	return s
10229}
10230
10231// SetId sets the Id field's value.
10232func (s *Target) SetId(v string) *Target {
10233	s.Id = &v
10234	return s
10235}
10236
10237// SetInput sets the Input field's value.
10238func (s *Target) SetInput(v string) *Target {
10239	s.Input = &v
10240	return s
10241}
10242
10243// SetInputPath sets the InputPath field's value.
10244func (s *Target) SetInputPath(v string) *Target {
10245	s.InputPath = &v
10246	return s
10247}
10248
10249// SetInputTransformer sets the InputTransformer field's value.
10250func (s *Target) SetInputTransformer(v *InputTransformer) *Target {
10251	s.InputTransformer = v
10252	return s
10253}
10254
10255// SetKinesisParameters sets the KinesisParameters field's value.
10256func (s *Target) SetKinesisParameters(v *KinesisParameters) *Target {
10257	s.KinesisParameters = v
10258	return s
10259}
10260
10261// SetRedshiftDataParameters sets the RedshiftDataParameters field's value.
10262func (s *Target) SetRedshiftDataParameters(v *RedshiftDataParameters) *Target {
10263	s.RedshiftDataParameters = v
10264	return s
10265}
10266
10267// SetRetryPolicy sets the RetryPolicy field's value.
10268func (s *Target) SetRetryPolicy(v *RetryPolicy) *Target {
10269	s.RetryPolicy = v
10270	return s
10271}
10272
10273// SetRoleArn sets the RoleArn field's value.
10274func (s *Target) SetRoleArn(v string) *Target {
10275	s.RoleArn = &v
10276	return s
10277}
10278
10279// SetRunCommandParameters sets the RunCommandParameters field's value.
10280func (s *Target) SetRunCommandParameters(v *RunCommandParameters) *Target {
10281	s.RunCommandParameters = v
10282	return s
10283}
10284
10285// SetSqsParameters sets the SqsParameters field's value.
10286func (s *Target) SetSqsParameters(v *SqsParameters) *Target {
10287	s.SqsParameters = v
10288	return s
10289}
10290
10291type TestEventPatternInput struct {
10292	_ struct{} `type:"structure"`
10293
10294	// The event, in JSON format, to test against the event pattern.
10295	//
10296	// Event is a required field
10297	Event *string `type:"string" required:"true"`
10298
10299	// The event pattern. For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)
10300	// in the Amazon EventBridge User Guide.
10301	//
10302	// EventPattern is a required field
10303	EventPattern *string `type:"string" required:"true"`
10304}
10305
10306// String returns the string representation
10307func (s TestEventPatternInput) String() string {
10308	return awsutil.Prettify(s)
10309}
10310
10311// GoString returns the string representation
10312func (s TestEventPatternInput) GoString() string {
10313	return s.String()
10314}
10315
10316// Validate inspects the fields of the type to determine if they are valid.
10317func (s *TestEventPatternInput) Validate() error {
10318	invalidParams := request.ErrInvalidParams{Context: "TestEventPatternInput"}
10319	if s.Event == nil {
10320		invalidParams.Add(request.NewErrParamRequired("Event"))
10321	}
10322	if s.EventPattern == nil {
10323		invalidParams.Add(request.NewErrParamRequired("EventPattern"))
10324	}
10325
10326	if invalidParams.Len() > 0 {
10327		return invalidParams
10328	}
10329	return nil
10330}
10331
10332// SetEvent sets the Event field's value.
10333func (s *TestEventPatternInput) SetEvent(v string) *TestEventPatternInput {
10334	s.Event = &v
10335	return s
10336}
10337
10338// SetEventPattern sets the EventPattern field's value.
10339func (s *TestEventPatternInput) SetEventPattern(v string) *TestEventPatternInput {
10340	s.EventPattern = &v
10341	return s
10342}
10343
10344type TestEventPatternOutput struct {
10345	_ struct{} `type:"structure"`
10346
10347	// Indicates whether the event matches the event pattern.
10348	Result *bool `type:"boolean"`
10349}
10350
10351// String returns the string representation
10352func (s TestEventPatternOutput) String() string {
10353	return awsutil.Prettify(s)
10354}
10355
10356// GoString returns the string representation
10357func (s TestEventPatternOutput) GoString() string {
10358	return s.String()
10359}
10360
10361// SetResult sets the Result field's value.
10362func (s *TestEventPatternOutput) SetResult(v bool) *TestEventPatternOutput {
10363	s.Result = &v
10364	return s
10365}
10366
10367type UntagResourceInput struct {
10368	_ struct{} `type:"structure"`
10369
10370	// The ARN of the EventBridge resource from which you are removing tags.
10371	//
10372	// ResourceARN is a required field
10373	ResourceARN *string `min:"1" type:"string" required:"true"`
10374
10375	// The list of tag keys to remove from the resource.
10376	//
10377	// TagKeys is a required field
10378	TagKeys []*string `type:"list" required:"true"`
10379}
10380
10381// String returns the string representation
10382func (s UntagResourceInput) String() string {
10383	return awsutil.Prettify(s)
10384}
10385
10386// GoString returns the string representation
10387func (s UntagResourceInput) GoString() string {
10388	return s.String()
10389}
10390
10391// Validate inspects the fields of the type to determine if they are valid.
10392func (s *UntagResourceInput) Validate() error {
10393	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10394	if s.ResourceARN == nil {
10395		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
10396	}
10397	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
10398		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
10399	}
10400	if s.TagKeys == nil {
10401		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10402	}
10403
10404	if invalidParams.Len() > 0 {
10405		return invalidParams
10406	}
10407	return nil
10408}
10409
10410// SetResourceARN sets the ResourceARN field's value.
10411func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
10412	s.ResourceARN = &v
10413	return s
10414}
10415
10416// SetTagKeys sets the TagKeys field's value.
10417func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10418	s.TagKeys = v
10419	return s
10420}
10421
10422type UntagResourceOutput struct {
10423	_ struct{} `type:"structure"`
10424}
10425
10426// String returns the string representation
10427func (s UntagResourceOutput) String() string {
10428	return awsutil.Prettify(s)
10429}
10430
10431// GoString returns the string representation
10432func (s UntagResourceOutput) GoString() string {
10433	return s.String()
10434}
10435
10436type UpdateArchiveInput struct {
10437	_ struct{} `type:"structure"`
10438
10439	// The name of the archive to update.
10440	//
10441	// ArchiveName is a required field
10442	ArchiveName *string `min:"1" type:"string" required:"true"`
10443
10444	// The description for the archive.
10445	Description *string `type:"string"`
10446
10447	// The event pattern to use to filter events sent to the archive.
10448	EventPattern *string `type:"string"`
10449
10450	// The number of days to retain events in the archive.
10451	RetentionDays *int64 `type:"integer"`
10452}
10453
10454// String returns the string representation
10455func (s UpdateArchiveInput) String() string {
10456	return awsutil.Prettify(s)
10457}
10458
10459// GoString returns the string representation
10460func (s UpdateArchiveInput) GoString() string {
10461	return s.String()
10462}
10463
10464// Validate inspects the fields of the type to determine if they are valid.
10465func (s *UpdateArchiveInput) Validate() error {
10466	invalidParams := request.ErrInvalidParams{Context: "UpdateArchiveInput"}
10467	if s.ArchiveName == nil {
10468		invalidParams.Add(request.NewErrParamRequired("ArchiveName"))
10469	}
10470	if s.ArchiveName != nil && len(*s.ArchiveName) < 1 {
10471		invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1))
10472	}
10473
10474	if invalidParams.Len() > 0 {
10475		return invalidParams
10476	}
10477	return nil
10478}
10479
10480// SetArchiveName sets the ArchiveName field's value.
10481func (s *UpdateArchiveInput) SetArchiveName(v string) *UpdateArchiveInput {
10482	s.ArchiveName = &v
10483	return s
10484}
10485
10486// SetDescription sets the Description field's value.
10487func (s *UpdateArchiveInput) SetDescription(v string) *UpdateArchiveInput {
10488	s.Description = &v
10489	return s
10490}
10491
10492// SetEventPattern sets the EventPattern field's value.
10493func (s *UpdateArchiveInput) SetEventPattern(v string) *UpdateArchiveInput {
10494	s.EventPattern = &v
10495	return s
10496}
10497
10498// SetRetentionDays sets the RetentionDays field's value.
10499func (s *UpdateArchiveInput) SetRetentionDays(v int64) *UpdateArchiveInput {
10500	s.RetentionDays = &v
10501	return s
10502}
10503
10504type UpdateArchiveOutput struct {
10505	_ struct{} `type:"structure"`
10506
10507	// The ARN of the archive.
10508	ArchiveArn *string `min:"1" type:"string"`
10509
10510	// The time at which the archive was updated.
10511	CreationTime *time.Time `type:"timestamp"`
10512
10513	// The state of the archive.
10514	State *string `type:"string" enum:"ArchiveState"`
10515
10516	// The reason that the archive is in the current state.
10517	StateReason *string `type:"string"`
10518}
10519
10520// String returns the string representation
10521func (s UpdateArchiveOutput) String() string {
10522	return awsutil.Prettify(s)
10523}
10524
10525// GoString returns the string representation
10526func (s UpdateArchiveOutput) GoString() string {
10527	return s.String()
10528}
10529
10530// SetArchiveArn sets the ArchiveArn field's value.
10531func (s *UpdateArchiveOutput) SetArchiveArn(v string) *UpdateArchiveOutput {
10532	s.ArchiveArn = &v
10533	return s
10534}
10535
10536// SetCreationTime sets the CreationTime field's value.
10537func (s *UpdateArchiveOutput) SetCreationTime(v time.Time) *UpdateArchiveOutput {
10538	s.CreationTime = &v
10539	return s
10540}
10541
10542// SetState sets the State field's value.
10543func (s *UpdateArchiveOutput) SetState(v string) *UpdateArchiveOutput {
10544	s.State = &v
10545	return s
10546}
10547
10548// SetStateReason sets the StateReason field's value.
10549func (s *UpdateArchiveOutput) SetStateReason(v string) *UpdateArchiveOutput {
10550	s.StateReason = &v
10551	return s
10552}
10553
10554const (
10555	// ArchiveStateEnabled is a ArchiveState enum value
10556	ArchiveStateEnabled = "ENABLED"
10557
10558	// ArchiveStateDisabled is a ArchiveState enum value
10559	ArchiveStateDisabled = "DISABLED"
10560
10561	// ArchiveStateCreating is a ArchiveState enum value
10562	ArchiveStateCreating = "CREATING"
10563
10564	// ArchiveStateUpdating is a ArchiveState enum value
10565	ArchiveStateUpdating = "UPDATING"
10566
10567	// ArchiveStateCreateFailed is a ArchiveState enum value
10568	ArchiveStateCreateFailed = "CREATE_FAILED"
10569
10570	// ArchiveStateUpdateFailed is a ArchiveState enum value
10571	ArchiveStateUpdateFailed = "UPDATE_FAILED"
10572)
10573
10574// ArchiveState_Values returns all elements of the ArchiveState enum
10575func ArchiveState_Values() []string {
10576	return []string{
10577		ArchiveStateEnabled,
10578		ArchiveStateDisabled,
10579		ArchiveStateCreating,
10580		ArchiveStateUpdating,
10581		ArchiveStateCreateFailed,
10582		ArchiveStateUpdateFailed,
10583	}
10584}
10585
10586const (
10587	// AssignPublicIpEnabled is a AssignPublicIp enum value
10588	AssignPublicIpEnabled = "ENABLED"
10589
10590	// AssignPublicIpDisabled is a AssignPublicIp enum value
10591	AssignPublicIpDisabled = "DISABLED"
10592)
10593
10594// AssignPublicIp_Values returns all elements of the AssignPublicIp enum
10595func AssignPublicIp_Values() []string {
10596	return []string{
10597		AssignPublicIpEnabled,
10598		AssignPublicIpDisabled,
10599	}
10600}
10601
10602const (
10603	// EventSourceStatePending is a EventSourceState enum value
10604	EventSourceStatePending = "PENDING"
10605
10606	// EventSourceStateActive is a EventSourceState enum value
10607	EventSourceStateActive = "ACTIVE"
10608
10609	// EventSourceStateDeleted is a EventSourceState enum value
10610	EventSourceStateDeleted = "DELETED"
10611)
10612
10613// EventSourceState_Values returns all elements of the EventSourceState enum
10614func EventSourceState_Values() []string {
10615	return []string{
10616		EventSourceStatePending,
10617		EventSourceStateActive,
10618		EventSourceStateDeleted,
10619	}
10620}
10621
10622const (
10623	// LaunchTypeEc2 is a LaunchType enum value
10624	LaunchTypeEc2 = "EC2"
10625
10626	// LaunchTypeFargate is a LaunchType enum value
10627	LaunchTypeFargate = "FARGATE"
10628)
10629
10630// LaunchType_Values returns all elements of the LaunchType enum
10631func LaunchType_Values() []string {
10632	return []string{
10633		LaunchTypeEc2,
10634		LaunchTypeFargate,
10635	}
10636}
10637
10638const (
10639	// ReplayStateStarting is a ReplayState enum value
10640	ReplayStateStarting = "STARTING"
10641
10642	// ReplayStateRunning is a ReplayState enum value
10643	ReplayStateRunning = "RUNNING"
10644
10645	// ReplayStateCancelling is a ReplayState enum value
10646	ReplayStateCancelling = "CANCELLING"
10647
10648	// ReplayStateCompleted is a ReplayState enum value
10649	ReplayStateCompleted = "COMPLETED"
10650
10651	// ReplayStateCancelled is a ReplayState enum value
10652	ReplayStateCancelled = "CANCELLED"
10653
10654	// ReplayStateFailed is a ReplayState enum value
10655	ReplayStateFailed = "FAILED"
10656)
10657
10658// ReplayState_Values returns all elements of the ReplayState enum
10659func ReplayState_Values() []string {
10660	return []string{
10661		ReplayStateStarting,
10662		ReplayStateRunning,
10663		ReplayStateCancelling,
10664		ReplayStateCompleted,
10665		ReplayStateCancelled,
10666		ReplayStateFailed,
10667	}
10668}
10669
10670const (
10671	// RuleStateEnabled is a RuleState enum value
10672	RuleStateEnabled = "ENABLED"
10673
10674	// RuleStateDisabled is a RuleState enum value
10675	RuleStateDisabled = "DISABLED"
10676)
10677
10678// RuleState_Values returns all elements of the RuleState enum
10679func RuleState_Values() []string {
10680	return []string{
10681		RuleStateEnabled,
10682		RuleStateDisabled,
10683	}
10684}
10685