1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package wafregional
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
13	"github.com/aws/aws-sdk-go/service/waf"
14)
15
16const opAssociateWebACL = "AssociateWebACL"
17
18// AssociateWebACLRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateWebACL 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 AssociateWebACL for more information on using the AssociateWebACL
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 AssociateWebACLRequest method.
34//    req, resp := client.AssociateWebACLRequest(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/waf-regional-2016-11-28/AssociateWebACL
42func (c *WAFRegional) AssociateWebACLRequest(input *AssociateWebACLInput) (req *request.Request, output *AssociateWebACLOutput) {
43	op := &request.Operation{
44		Name:       opAssociateWebACL,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AssociateWebACLInput{}
51	}
52
53	output = &AssociateWebACLOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateWebACL API operation for AWS WAF Regional.
60//
61//
62// This is AWS WAF Classic Regional documentation. For more information, see
63// AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
64// in the developer guide.
65//
66// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
67// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
68// With the latest version, AWS WAF has a single set of endpoints for regional
69// and global use.
70//
71// Associates a web ACL with a resource, either an application load balancer
72// or Amazon API Gateway stage.
73//
74// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
75// with awserr.Error's Code and Message methods to get detailed information about
76// the error.
77//
78// See the AWS API reference guide for AWS WAF Regional's
79// API operation AssociateWebACL for usage and error information.
80//
81// Returned Error Types:
82//   * WAFInternalErrorException
83//   The operation failed because of a system problem, even though the request
84//   was valid. Retry your request.
85//
86//   * WAFInvalidAccountException
87//   The operation failed because you tried to create, update, or delete an object
88//   by using an invalid account identifier.
89//
90//   * WAFInvalidParameterException
91//   The operation failed because AWS WAF didn't recognize a parameter in the
92//   request. For example:
93//
94//      * You specified an invalid parameter name.
95//
96//      * You specified an invalid value.
97//
98//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
99//      using an action other than INSERT or DELETE.
100//
101//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
102//      BLOCK, or COUNT.
103//
104//      * You tried to create a RateBasedRule with a RateKey value other than
105//      IP.
106//
107//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
108//      BLOCK, or COUNT.
109//
110//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
111//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
112//
113//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
114//      for Data.
115//
116//      * Your request references an ARN that is malformed, or corresponds to
117//      a resource with which a web ACL cannot be associated.
118//
119//   * WAFNonexistentItemException
120//   The operation failed because the referenced object doesn't exist.
121//
122//   * WAFUnavailableEntityException
123//   The operation failed because the entity referenced is temporarily unavailable.
124//   Retry your request.
125//
126// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/AssociateWebACL
127func (c *WAFRegional) AssociateWebACL(input *AssociateWebACLInput) (*AssociateWebACLOutput, error) {
128	req, out := c.AssociateWebACLRequest(input)
129	return out, req.Send()
130}
131
132// AssociateWebACLWithContext is the same as AssociateWebACL with the addition of
133// the ability to pass a context and additional request options.
134//
135// See AssociateWebACL for details on how to use this API operation.
136//
137// The context must be non-nil and will be used for request cancellation. If
138// the context is nil a panic will occur. In the future the SDK may create
139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
140// for more information on using Contexts.
141func (c *WAFRegional) AssociateWebACLWithContext(ctx aws.Context, input *AssociateWebACLInput, opts ...request.Option) (*AssociateWebACLOutput, error) {
142	req, out := c.AssociateWebACLRequest(input)
143	req.SetContext(ctx)
144	req.ApplyOptions(opts...)
145	return out, req.Send()
146}
147
148const opCreateByteMatchSet = "CreateByteMatchSet"
149
150// CreateByteMatchSetRequest generates a "aws/request.Request" representing the
151// client's request for the CreateByteMatchSet operation. The "output" return
152// value will be populated with the request's response once the request completes
153// successfully.
154//
155// Use "Send" method on the returned Request to send the API call to the service.
156// the "output" return value is not valid until after Send returns without error.
157//
158// See CreateByteMatchSet for more information on using the CreateByteMatchSet
159// API call, and error handling.
160//
161// This method is useful when you want to inject custom logic or configuration
162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
163//
164//
165//    // Example sending a request using the CreateByteMatchSetRequest method.
166//    req, resp := client.CreateByteMatchSetRequest(params)
167//
168//    err := req.Send()
169//    if err == nil { // resp is now filled
170//        fmt.Println(resp)
171//    }
172//
173// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet
174func (c *WAFRegional) CreateByteMatchSetRequest(input *waf.CreateByteMatchSetInput) (req *request.Request, output *waf.CreateByteMatchSetOutput) {
175	op := &request.Operation{
176		Name:       opCreateByteMatchSet,
177		HTTPMethod: "POST",
178		HTTPPath:   "/",
179	}
180
181	if input == nil {
182		input = &waf.CreateByteMatchSetInput{}
183	}
184
185	output = &waf.CreateByteMatchSetOutput{}
186	req = c.newRequest(op, input, output)
187	return
188}
189
190// CreateByteMatchSet API operation for AWS WAF Regional.
191//
192//
193// This is AWS WAF Classic documentation. For more information, see AWS WAF
194// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
195// in the developer guide.
196//
197// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
198// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
199// With the latest version, AWS WAF has a single set of endpoints for regional
200// and global use.
201//
202// Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part
203// of a web request that you want AWS WAF to inspect, such as the values of
204// the User-Agent header or the query string. For example, you can create a
205// ByteMatchSet that matches any requests with User-Agent headers that contain
206// the string BadBot. You can then configure AWS WAF to reject those requests.
207//
208// To create and configure a ByteMatchSet, perform the following steps:
209//
210// Use GetChangeToken to get the change token that you provide in the ChangeToken
211// parameter of a CreateByteMatchSet request.
212//
213// Submit a CreateByteMatchSet request.
214//
215// Use GetChangeToken to get the change token that you provide in the ChangeToken
216// parameter of an UpdateByteMatchSet request.
217//
218// Submit an UpdateByteMatchSet request to specify the part of the request that
219// you want AWS WAF to inspect (for example, the header or the URI) and the
220// value that you want AWS WAF to watch for.
221//
222// For more information about how to use the AWS WAF API to allow or block HTTP
223// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
224//
225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
226// with awserr.Error's Code and Message methods to get detailed information about
227// the error.
228//
229// See the AWS API reference guide for AWS WAF Regional's
230// API operation CreateByteMatchSet for usage and error information.
231//
232// Returned Error Types:
233//   * WAFDisallowedNameException
234//   The name specified is invalid.
235//
236//   * WAFInternalErrorException
237//   The operation failed because of a system problem, even though the request
238//   was valid. Retry your request.
239//
240//   * WAFInvalidAccountException
241//   The operation failed because you tried to create, update, or delete an object
242//   by using an invalid account identifier.
243//
244//   * WAFInvalidParameterException
245//   The operation failed because AWS WAF didn't recognize a parameter in the
246//   request. For example:
247//
248//      * You specified an invalid parameter name.
249//
250//      * You specified an invalid value.
251//
252//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
253//      using an action other than INSERT or DELETE.
254//
255//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
256//      BLOCK, or COUNT.
257//
258//      * You tried to create a RateBasedRule with a RateKey value other than
259//      IP.
260//
261//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
262//      BLOCK, or COUNT.
263//
264//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
265//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
266//
267//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
268//      for Data.
269//
270//      * Your request references an ARN that is malformed, or corresponds to
271//      a resource with which a web ACL cannot be associated.
272//
273//   * WAFStaleDataException
274//   The operation failed because you tried to create, update, or delete an object
275//   by using a change token that has already been used.
276//
277//   * WAFLimitsExceededException
278//   The operation exceeds a resource limit, for example, the maximum number of
279//   WebACL objects that you can create for an AWS account. For more information,
280//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
281//   in the AWS WAF Developer Guide.
282//
283// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet
284func (c *WAFRegional) CreateByteMatchSet(input *waf.CreateByteMatchSetInput) (*waf.CreateByteMatchSetOutput, error) {
285	req, out := c.CreateByteMatchSetRequest(input)
286	return out, req.Send()
287}
288
289// CreateByteMatchSetWithContext is the same as CreateByteMatchSet with the addition of
290// the ability to pass a context and additional request options.
291//
292// See CreateByteMatchSet for details on how to use this API operation.
293//
294// The context must be non-nil and will be used for request cancellation. If
295// the context is nil a panic will occur. In the future the SDK may create
296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
297// for more information on using Contexts.
298func (c *WAFRegional) CreateByteMatchSetWithContext(ctx aws.Context, input *waf.CreateByteMatchSetInput, opts ...request.Option) (*waf.CreateByteMatchSetOutput, error) {
299	req, out := c.CreateByteMatchSetRequest(input)
300	req.SetContext(ctx)
301	req.ApplyOptions(opts...)
302	return out, req.Send()
303}
304
305const opCreateGeoMatchSet = "CreateGeoMatchSet"
306
307// CreateGeoMatchSetRequest generates a "aws/request.Request" representing the
308// client's request for the CreateGeoMatchSet operation. The "output" return
309// value will be populated with the request's response once the request completes
310// successfully.
311//
312// Use "Send" method on the returned Request to send the API call to the service.
313// the "output" return value is not valid until after Send returns without error.
314//
315// See CreateGeoMatchSet for more information on using the CreateGeoMatchSet
316// API call, and error handling.
317//
318// This method is useful when you want to inject custom logic or configuration
319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
320//
321//
322//    // Example sending a request using the CreateGeoMatchSetRequest method.
323//    req, resp := client.CreateGeoMatchSetRequest(params)
324//
325//    err := req.Send()
326//    if err == nil { // resp is now filled
327//        fmt.Println(resp)
328//    }
329//
330// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet
331func (c *WAFRegional) CreateGeoMatchSetRequest(input *waf.CreateGeoMatchSetInput) (req *request.Request, output *waf.CreateGeoMatchSetOutput) {
332	op := &request.Operation{
333		Name:       opCreateGeoMatchSet,
334		HTTPMethod: "POST",
335		HTTPPath:   "/",
336	}
337
338	if input == nil {
339		input = &waf.CreateGeoMatchSetInput{}
340	}
341
342	output = &waf.CreateGeoMatchSetOutput{}
343	req = c.newRequest(op, input, output)
344	return
345}
346
347// CreateGeoMatchSet API operation for AWS WAF Regional.
348//
349//
350// This is AWS WAF Classic documentation. For more information, see AWS WAF
351// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
352// in the developer guide.
353//
354// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
355// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
356// With the latest version, AWS WAF has a single set of endpoints for regional
357// and global use.
358//
359// Creates an GeoMatchSet, which you use to specify which web requests you want
360// to allow or block based on the country that the requests originate from.
361// For example, if you're receiving a lot of requests from one or more countries
362// and you want to block the requests, you can create an GeoMatchSet that contains
363// those countries and then configure AWS WAF to block the requests.
364//
365// To create and configure a GeoMatchSet, perform the following steps:
366//
367// Use GetChangeToken to get the change token that you provide in the ChangeToken
368// parameter of a CreateGeoMatchSet request.
369//
370// Submit a CreateGeoMatchSet request.
371//
372// Use GetChangeToken to get the change token that you provide in the ChangeToken
373// parameter of an UpdateGeoMatchSet request.
374//
375// Submit an UpdateGeoMatchSetSet request to specify the countries that you
376// want AWS WAF to watch for.
377//
378// For more information about how to use the AWS WAF API to allow or block HTTP
379// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
380//
381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
382// with awserr.Error's Code and Message methods to get detailed information about
383// the error.
384//
385// See the AWS API reference guide for AWS WAF Regional's
386// API operation CreateGeoMatchSet for usage and error information.
387//
388// Returned Error Types:
389//   * WAFStaleDataException
390//   The operation failed because you tried to create, update, or delete an object
391//   by using a change token that has already been used.
392//
393//   * WAFInternalErrorException
394//   The operation failed because of a system problem, even though the request
395//   was valid. Retry your request.
396//
397//   * WAFInvalidAccountException
398//   The operation failed because you tried to create, update, or delete an object
399//   by using an invalid account identifier.
400//
401//   * WAFDisallowedNameException
402//   The name specified is invalid.
403//
404//   * WAFInvalidParameterException
405//   The operation failed because AWS WAF didn't recognize a parameter in the
406//   request. For example:
407//
408//      * You specified an invalid parameter name.
409//
410//      * You specified an invalid value.
411//
412//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
413//      using an action other than INSERT or DELETE.
414//
415//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
416//      BLOCK, or COUNT.
417//
418//      * You tried to create a RateBasedRule with a RateKey value other than
419//      IP.
420//
421//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
422//      BLOCK, or COUNT.
423//
424//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
425//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
426//
427//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
428//      for Data.
429//
430//      * Your request references an ARN that is malformed, or corresponds to
431//      a resource with which a web ACL cannot be associated.
432//
433//   * WAFLimitsExceededException
434//   The operation exceeds a resource limit, for example, the maximum number of
435//   WebACL objects that you can create for an AWS account. For more information,
436//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
437//   in the AWS WAF Developer Guide.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet
440func (c *WAFRegional) CreateGeoMatchSet(input *waf.CreateGeoMatchSetInput) (*waf.CreateGeoMatchSetOutput, error) {
441	req, out := c.CreateGeoMatchSetRequest(input)
442	return out, req.Send()
443}
444
445// CreateGeoMatchSetWithContext is the same as CreateGeoMatchSet with the addition of
446// the ability to pass a context and additional request options.
447//
448// See CreateGeoMatchSet for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *WAFRegional) CreateGeoMatchSetWithContext(ctx aws.Context, input *waf.CreateGeoMatchSetInput, opts ...request.Option) (*waf.CreateGeoMatchSetOutput, error) {
455	req, out := c.CreateGeoMatchSetRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opCreateIPSet = "CreateIPSet"
462
463// CreateIPSetRequest generates a "aws/request.Request" representing the
464// client's request for the CreateIPSet operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See CreateIPSet for more information on using the CreateIPSet
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the CreateIPSetRequest method.
479//    req, resp := client.CreateIPSetRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet
487func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *request.Request, output *waf.CreateIPSetOutput) {
488	op := &request.Operation{
489		Name:       opCreateIPSet,
490		HTTPMethod: "POST",
491		HTTPPath:   "/",
492	}
493
494	if input == nil {
495		input = &waf.CreateIPSetInput{}
496	}
497
498	output = &waf.CreateIPSetOutput{}
499	req = c.newRequest(op, input, output)
500	return
501}
502
503// CreateIPSet API operation for AWS WAF Regional.
504//
505//
506// This is AWS WAF Classic documentation. For more information, see AWS WAF
507// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
508// in the developer guide.
509//
510// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
511// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
512// With the latest version, AWS WAF has a single set of endpoints for regional
513// and global use.
514//
515// Creates an IPSet, which you use to specify which web requests that you want
516// to allow or block based on the IP addresses that the requests originate from.
517// For example, if you're receiving a lot of requests from one or more individual
518// IP addresses or one or more ranges of IP addresses and you want to block
519// the requests, you can create an IPSet that contains those IP addresses and
520// then configure AWS WAF to block the requests.
521//
522// To create and configure an IPSet, perform the following steps:
523//
524// Use GetChangeToken to get the change token that you provide in the ChangeToken
525// parameter of a CreateIPSet request.
526//
527// Submit a CreateIPSet request.
528//
529// Use GetChangeToken to get the change token that you provide in the ChangeToken
530// parameter of an UpdateIPSet request.
531//
532// Submit an UpdateIPSet request to specify the IP addresses that you want AWS
533// WAF to watch for.
534//
535// For more information about how to use the AWS WAF API to allow or block HTTP
536// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
537//
538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
539// with awserr.Error's Code and Message methods to get detailed information about
540// the error.
541//
542// See the AWS API reference guide for AWS WAF Regional's
543// API operation CreateIPSet for usage and error information.
544//
545// Returned Error Types:
546//   * WAFStaleDataException
547//   The operation failed because you tried to create, update, or delete an object
548//   by using a change token that has already been used.
549//
550//   * WAFInternalErrorException
551//   The operation failed because of a system problem, even though the request
552//   was valid. Retry your request.
553//
554//   * WAFInvalidAccountException
555//   The operation failed because you tried to create, update, or delete an object
556//   by using an invalid account identifier.
557//
558//   * WAFDisallowedNameException
559//   The name specified is invalid.
560//
561//   * WAFInvalidParameterException
562//   The operation failed because AWS WAF didn't recognize a parameter in the
563//   request. For example:
564//
565//      * You specified an invalid parameter name.
566//
567//      * You specified an invalid value.
568//
569//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
570//      using an action other than INSERT or DELETE.
571//
572//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
573//      BLOCK, or COUNT.
574//
575//      * You tried to create a RateBasedRule with a RateKey value other than
576//      IP.
577//
578//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
579//      BLOCK, or COUNT.
580//
581//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
582//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
583//
584//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
585//      for Data.
586//
587//      * Your request references an ARN that is malformed, or corresponds to
588//      a resource with which a web ACL cannot be associated.
589//
590//   * WAFLimitsExceededException
591//   The operation exceeds a resource limit, for example, the maximum number of
592//   WebACL objects that you can create for an AWS account. For more information,
593//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
594//   in the AWS WAF Developer Guide.
595//
596// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet
597func (c *WAFRegional) CreateIPSet(input *waf.CreateIPSetInput) (*waf.CreateIPSetOutput, error) {
598	req, out := c.CreateIPSetRequest(input)
599	return out, req.Send()
600}
601
602// CreateIPSetWithContext is the same as CreateIPSet with the addition of
603// the ability to pass a context and additional request options.
604//
605// See CreateIPSet for details on how to use this API operation.
606//
607// The context must be non-nil and will be used for request cancellation. If
608// the context is nil a panic will occur. In the future the SDK may create
609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
610// for more information on using Contexts.
611func (c *WAFRegional) CreateIPSetWithContext(ctx aws.Context, input *waf.CreateIPSetInput, opts ...request.Option) (*waf.CreateIPSetOutput, error) {
612	req, out := c.CreateIPSetRequest(input)
613	req.SetContext(ctx)
614	req.ApplyOptions(opts...)
615	return out, req.Send()
616}
617
618const opCreateRateBasedRule = "CreateRateBasedRule"
619
620// CreateRateBasedRuleRequest generates a "aws/request.Request" representing the
621// client's request for the CreateRateBasedRule operation. The "output" return
622// value will be populated with the request's response once the request completes
623// successfully.
624//
625// Use "Send" method on the returned Request to send the API call to the service.
626// the "output" return value is not valid until after Send returns without error.
627//
628// See CreateRateBasedRule for more information on using the CreateRateBasedRule
629// API call, and error handling.
630//
631// This method is useful when you want to inject custom logic or configuration
632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
633//
634//
635//    // Example sending a request using the CreateRateBasedRuleRequest method.
636//    req, resp := client.CreateRateBasedRuleRequest(params)
637//
638//    err := req.Send()
639//    if err == nil { // resp is now filled
640//        fmt.Println(resp)
641//    }
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule
644func (c *WAFRegional) CreateRateBasedRuleRequest(input *waf.CreateRateBasedRuleInput) (req *request.Request, output *waf.CreateRateBasedRuleOutput) {
645	op := &request.Operation{
646		Name:       opCreateRateBasedRule,
647		HTTPMethod: "POST",
648		HTTPPath:   "/",
649	}
650
651	if input == nil {
652		input = &waf.CreateRateBasedRuleInput{}
653	}
654
655	output = &waf.CreateRateBasedRuleOutput{}
656	req = c.newRequest(op, input, output)
657	return
658}
659
660// CreateRateBasedRule API operation for AWS WAF Regional.
661//
662//
663// This is AWS WAF Classic documentation. For more information, see AWS WAF
664// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
665// in the developer guide.
666//
667// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
668// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
669// With the latest version, AWS WAF has a single set of endpoints for regional
670// and global use.
671//
672// Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies
673// the maximum number of requests that AWS WAF allows from a specified IP address
674// in a five-minute period. The RateBasedRule also contains the IPSet objects,
675// ByteMatchSet objects, and other predicates that identify the requests that
676// you want to count or block if these requests exceed the RateLimit.
677//
678// If you add more than one predicate to a RateBasedRule, a request not only
679// must exceed the RateLimit, but it also must match all the conditions to be
680// counted or blocked. For example, suppose you add the following to a RateBasedRule:
681//
682//    * An IPSet that matches the IP address 192.0.2.44/32
683//
684//    * A ByteMatchSet that matches BadBot in the User-Agent header
685//
686// Further, you specify a RateLimit of 1,000.
687//
688// You then add the RateBasedRule to a WebACL and specify that you want to block
689// requests that meet the conditions in the rule. For a request to be blocked,
690// it must come from the IP address 192.0.2.44 and the User-Agent header in
691// the request must contain the value BadBot. Further, requests that match these
692// two conditions must be received at a rate of more than 1,000 requests every
693// five minutes. If both conditions are met and the rate is exceeded, AWS WAF
694// blocks the requests. If the rate drops below 1,000 for a five-minute period,
695// AWS WAF no longer blocks the requests.
696//
697// As a second example, suppose you want to limit requests to a particular page
698// on your site. To do this, you could add the following to a RateBasedRule:
699//
700//    * A ByteMatchSet with FieldToMatch of URI
701//
702//    * A PositionalConstraint of STARTS_WITH
703//
704//    * A TargetString of login
705//
706// Further, you specify a RateLimit of 1,000.
707//
708// By adding this RateBasedRule to a WebACL, you could limit requests to your
709// login page without affecting the rest of your site.
710//
711// To create and configure a RateBasedRule, perform the following steps:
712//
713// Create and update the predicates that you want to include in the rule. For
714// more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
715//
716// Use GetChangeToken to get the change token that you provide in the ChangeToken
717// parameter of a CreateRule request.
718//
719// Submit a CreateRateBasedRule request.
720//
721// Use GetChangeToken to get the change token that you provide in the ChangeToken
722// parameter of an UpdateRule request.
723//
724// Submit an UpdateRateBasedRule request to specify the predicates that you
725// want to include in the rule.
726//
727// Create and update a WebACL that contains the RateBasedRule. For more information,
728// see CreateWebACL.
729//
730// For more information about how to use the AWS WAF API to allow or block HTTP
731// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
732//
733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
734// with awserr.Error's Code and Message methods to get detailed information about
735// the error.
736//
737// See the AWS API reference guide for AWS WAF Regional's
738// API operation CreateRateBasedRule for usage and error information.
739//
740// Returned Error Types:
741//   * WAFStaleDataException
742//   The operation failed because you tried to create, update, or delete an object
743//   by using a change token that has already been used.
744//
745//   * WAFInternalErrorException
746//   The operation failed because of a system problem, even though the request
747//   was valid. Retry your request.
748//
749//   * WAFDisallowedNameException
750//   The name specified is invalid.
751//
752//   * WAFInvalidParameterException
753//   The operation failed because AWS WAF didn't recognize a parameter in the
754//   request. For example:
755//
756//      * You specified an invalid parameter name.
757//
758//      * You specified an invalid value.
759//
760//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
761//      using an action other than INSERT or DELETE.
762//
763//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
764//      BLOCK, or COUNT.
765//
766//      * You tried to create a RateBasedRule with a RateKey value other than
767//      IP.
768//
769//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
770//      BLOCK, or COUNT.
771//
772//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
773//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
774//
775//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
776//      for Data.
777//
778//      * Your request references an ARN that is malformed, or corresponds to
779//      a resource with which a web ACL cannot be associated.
780//
781//   * WAFLimitsExceededException
782//   The operation exceeds a resource limit, for example, the maximum number of
783//   WebACL objects that you can create for an AWS account. For more information,
784//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
785//   in the AWS WAF Developer Guide.
786//
787//   * WAFTagOperationException
788//
789//   * WAFTagOperationInternalErrorException
790//
791//   * WAFBadRequestException
792//
793// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule
794func (c *WAFRegional) CreateRateBasedRule(input *waf.CreateRateBasedRuleInput) (*waf.CreateRateBasedRuleOutput, error) {
795	req, out := c.CreateRateBasedRuleRequest(input)
796	return out, req.Send()
797}
798
799// CreateRateBasedRuleWithContext is the same as CreateRateBasedRule with the addition of
800// the ability to pass a context and additional request options.
801//
802// See CreateRateBasedRule for details on how to use this API operation.
803//
804// The context must be non-nil and will be used for request cancellation. If
805// the context is nil a panic will occur. In the future the SDK may create
806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
807// for more information on using Contexts.
808func (c *WAFRegional) CreateRateBasedRuleWithContext(ctx aws.Context, input *waf.CreateRateBasedRuleInput, opts ...request.Option) (*waf.CreateRateBasedRuleOutput, error) {
809	req, out := c.CreateRateBasedRuleRequest(input)
810	req.SetContext(ctx)
811	req.ApplyOptions(opts...)
812	return out, req.Send()
813}
814
815const opCreateRegexMatchSet = "CreateRegexMatchSet"
816
817// CreateRegexMatchSetRequest generates a "aws/request.Request" representing the
818// client's request for the CreateRegexMatchSet operation. The "output" return
819// value will be populated with the request's response once the request completes
820// successfully.
821//
822// Use "Send" method on the returned Request to send the API call to the service.
823// the "output" return value is not valid until after Send returns without error.
824//
825// See CreateRegexMatchSet for more information on using the CreateRegexMatchSet
826// API call, and error handling.
827//
828// This method is useful when you want to inject custom logic or configuration
829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
830//
831//
832//    // Example sending a request using the CreateRegexMatchSetRequest method.
833//    req, resp := client.CreateRegexMatchSetRequest(params)
834//
835//    err := req.Send()
836//    if err == nil { // resp is now filled
837//        fmt.Println(resp)
838//    }
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet
841func (c *WAFRegional) CreateRegexMatchSetRequest(input *waf.CreateRegexMatchSetInput) (req *request.Request, output *waf.CreateRegexMatchSetOutput) {
842	op := &request.Operation{
843		Name:       opCreateRegexMatchSet,
844		HTTPMethod: "POST",
845		HTTPPath:   "/",
846	}
847
848	if input == nil {
849		input = &waf.CreateRegexMatchSetInput{}
850	}
851
852	output = &waf.CreateRegexMatchSetOutput{}
853	req = c.newRequest(op, input, output)
854	return
855}
856
857// CreateRegexMatchSet API operation for AWS WAF Regional.
858//
859//
860// This is AWS WAF Classic documentation. For more information, see AWS WAF
861// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
862// in the developer guide.
863//
864// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
865// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
866// With the latest version, AWS WAF has a single set of endpoints for regional
867// and global use.
868//
869// Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the
870// part of a web request that you want AWS WAF to inspect, such as the values
871// of the User-Agent header or the query string. For example, you can create
872// a RegexMatchSet that contains a RegexMatchTuple that looks for any requests
873// with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t.
874// You can then configure AWS WAF to reject those requests.
875//
876// To create and configure a RegexMatchSet, perform the following steps:
877//
878// Use GetChangeToken to get the change token that you provide in the ChangeToken
879// parameter of a CreateRegexMatchSet request.
880//
881// Submit a CreateRegexMatchSet request.
882//
883// Use GetChangeToken to get the change token that you provide in the ChangeToken
884// parameter of an UpdateRegexMatchSet request.
885//
886// Submit an UpdateRegexMatchSet request to specify the part of the request
887// that you want AWS WAF to inspect (for example, the header or the URI) and
888// the value, using a RegexPatternSet, that you want AWS WAF to watch for.
889//
890// For more information about how to use the AWS WAF API to allow or block HTTP
891// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
892//
893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
894// with awserr.Error's Code and Message methods to get detailed information about
895// the error.
896//
897// See the AWS API reference guide for AWS WAF Regional's
898// API operation CreateRegexMatchSet for usage and error information.
899//
900// Returned Error Types:
901//   * WAFStaleDataException
902//   The operation failed because you tried to create, update, or delete an object
903//   by using a change token that has already been used.
904//
905//   * WAFInternalErrorException
906//   The operation failed because of a system problem, even though the request
907//   was valid. Retry your request.
908//
909//   * WAFDisallowedNameException
910//   The name specified is invalid.
911//
912//   * WAFLimitsExceededException
913//   The operation exceeds a resource limit, for example, the maximum number of
914//   WebACL objects that you can create for an AWS account. For more information,
915//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
916//   in the AWS WAF Developer Guide.
917//
918// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet
919func (c *WAFRegional) CreateRegexMatchSet(input *waf.CreateRegexMatchSetInput) (*waf.CreateRegexMatchSetOutput, error) {
920	req, out := c.CreateRegexMatchSetRequest(input)
921	return out, req.Send()
922}
923
924// CreateRegexMatchSetWithContext is the same as CreateRegexMatchSet with the addition of
925// the ability to pass a context and additional request options.
926//
927// See CreateRegexMatchSet for details on how to use this API operation.
928//
929// The context must be non-nil and will be used for request cancellation. If
930// the context is nil a panic will occur. In the future the SDK may create
931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
932// for more information on using Contexts.
933func (c *WAFRegional) CreateRegexMatchSetWithContext(ctx aws.Context, input *waf.CreateRegexMatchSetInput, opts ...request.Option) (*waf.CreateRegexMatchSetOutput, error) {
934	req, out := c.CreateRegexMatchSetRequest(input)
935	req.SetContext(ctx)
936	req.ApplyOptions(opts...)
937	return out, req.Send()
938}
939
940const opCreateRegexPatternSet = "CreateRegexPatternSet"
941
942// CreateRegexPatternSetRequest generates a "aws/request.Request" representing the
943// client's request for the CreateRegexPatternSet operation. The "output" return
944// value will be populated with the request's response once the request completes
945// successfully.
946//
947// Use "Send" method on the returned Request to send the API call to the service.
948// the "output" return value is not valid until after Send returns without error.
949//
950// See CreateRegexPatternSet for more information on using the CreateRegexPatternSet
951// API call, and error handling.
952//
953// This method is useful when you want to inject custom logic or configuration
954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
955//
956//
957//    // Example sending a request using the CreateRegexPatternSetRequest method.
958//    req, resp := client.CreateRegexPatternSetRequest(params)
959//
960//    err := req.Send()
961//    if err == nil { // resp is now filled
962//        fmt.Println(resp)
963//    }
964//
965// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet
966func (c *WAFRegional) CreateRegexPatternSetRequest(input *waf.CreateRegexPatternSetInput) (req *request.Request, output *waf.CreateRegexPatternSetOutput) {
967	op := &request.Operation{
968		Name:       opCreateRegexPatternSet,
969		HTTPMethod: "POST",
970		HTTPPath:   "/",
971	}
972
973	if input == nil {
974		input = &waf.CreateRegexPatternSetInput{}
975	}
976
977	output = &waf.CreateRegexPatternSetOutput{}
978	req = c.newRequest(op, input, output)
979	return
980}
981
982// CreateRegexPatternSet API operation for AWS WAF Regional.
983//
984//
985// This is AWS WAF Classic documentation. For more information, see AWS WAF
986// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
987// in the developer guide.
988//
989// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
990// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
991// With the latest version, AWS WAF has a single set of endpoints for regional
992// and global use.
993//
994// Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify
995// the regular expression (regex) pattern that you want AWS WAF to search for,
996// such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.
997//
998// To create and configure a RegexPatternSet, perform the following steps:
999//
1000// Use GetChangeToken to get the change token that you provide in the ChangeToken
1001// parameter of a CreateRegexPatternSet request.
1002//
1003// Submit a CreateRegexPatternSet request.
1004//
1005// Use GetChangeToken to get the change token that you provide in the ChangeToken
1006// parameter of an UpdateRegexPatternSet request.
1007//
1008// Submit an UpdateRegexPatternSet request to specify the string that you want
1009// AWS WAF to watch for.
1010//
1011// For more information about how to use the AWS WAF API to allow or block HTTP
1012// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1013//
1014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1015// with awserr.Error's Code and Message methods to get detailed information about
1016// the error.
1017//
1018// See the AWS API reference guide for AWS WAF Regional's
1019// API operation CreateRegexPatternSet for usage and error information.
1020//
1021// Returned Error Types:
1022//   * WAFStaleDataException
1023//   The operation failed because you tried to create, update, or delete an object
1024//   by using a change token that has already been used.
1025//
1026//   * WAFInternalErrorException
1027//   The operation failed because of a system problem, even though the request
1028//   was valid. Retry your request.
1029//
1030//   * WAFDisallowedNameException
1031//   The name specified is invalid.
1032//
1033//   * WAFLimitsExceededException
1034//   The operation exceeds a resource limit, for example, the maximum number of
1035//   WebACL objects that you can create for an AWS account. For more information,
1036//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1037//   in the AWS WAF Developer Guide.
1038//
1039// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet
1040func (c *WAFRegional) CreateRegexPatternSet(input *waf.CreateRegexPatternSetInput) (*waf.CreateRegexPatternSetOutput, error) {
1041	req, out := c.CreateRegexPatternSetRequest(input)
1042	return out, req.Send()
1043}
1044
1045// CreateRegexPatternSetWithContext is the same as CreateRegexPatternSet with the addition of
1046// the ability to pass a context and additional request options.
1047//
1048// See CreateRegexPatternSet for details on how to use this API operation.
1049//
1050// The context must be non-nil and will be used for request cancellation. If
1051// the context is nil a panic will occur. In the future the SDK may create
1052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1053// for more information on using Contexts.
1054func (c *WAFRegional) CreateRegexPatternSetWithContext(ctx aws.Context, input *waf.CreateRegexPatternSetInput, opts ...request.Option) (*waf.CreateRegexPatternSetOutput, error) {
1055	req, out := c.CreateRegexPatternSetRequest(input)
1056	req.SetContext(ctx)
1057	req.ApplyOptions(opts...)
1058	return out, req.Send()
1059}
1060
1061const opCreateRule = "CreateRule"
1062
1063// CreateRuleRequest generates a "aws/request.Request" representing the
1064// client's request for the CreateRule operation. The "output" return
1065// value will be populated with the request's response once the request completes
1066// successfully.
1067//
1068// Use "Send" method on the returned Request to send the API call to the service.
1069// the "output" return value is not valid until after Send returns without error.
1070//
1071// See CreateRule for more information on using the CreateRule
1072// API call, and error handling.
1073//
1074// This method is useful when you want to inject custom logic or configuration
1075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1076//
1077//
1078//    // Example sending a request using the CreateRuleRequest method.
1079//    req, resp := client.CreateRuleRequest(params)
1080//
1081//    err := req.Send()
1082//    if err == nil { // resp is now filled
1083//        fmt.Println(resp)
1084//    }
1085//
1086// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule
1087func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *request.Request, output *waf.CreateRuleOutput) {
1088	op := &request.Operation{
1089		Name:       opCreateRule,
1090		HTTPMethod: "POST",
1091		HTTPPath:   "/",
1092	}
1093
1094	if input == nil {
1095		input = &waf.CreateRuleInput{}
1096	}
1097
1098	output = &waf.CreateRuleOutput{}
1099	req = c.newRequest(op, input, output)
1100	return
1101}
1102
1103// CreateRule API operation for AWS WAF Regional.
1104//
1105//
1106// This is AWS WAF Classic documentation. For more information, see AWS WAF
1107// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
1108// in the developer guide.
1109//
1110// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
1111// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1112// With the latest version, AWS WAF has a single set of endpoints for regional
1113// and global use.
1114//
1115// Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and
1116// other predicates that identify the requests that you want to block. If you
1117// add more than one predicate to a Rule, a request must match all of the specifications
1118// to be allowed or blocked. For example, suppose that you add the following
1119// to a Rule:
1120//
1121//    * An IPSet that matches the IP address 192.0.2.44/32
1122//
1123//    * A ByteMatchSet that matches BadBot in the User-Agent header
1124//
1125// You then add the Rule to a WebACL and specify that you want to blocks requests
1126// that satisfy the Rule. For a request to be blocked, it must come from the
1127// IP address 192.0.2.44 and the User-Agent header in the request must contain
1128// the value BadBot.
1129//
1130// To create and configure a Rule, perform the following steps:
1131//
1132// Create and update the predicates that you want to include in the Rule. For
1133// more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
1134//
1135// Use GetChangeToken to get the change token that you provide in the ChangeToken
1136// parameter of a CreateRule request.
1137//
1138// Submit a CreateRule request.
1139//
1140// Use GetChangeToken to get the change token that you provide in the ChangeToken
1141// parameter of an UpdateRule request.
1142//
1143// Submit an UpdateRule request to specify the predicates that you want to include
1144// in the Rule.
1145//
1146// Create and update a WebACL that contains the Rule. For more information,
1147// see CreateWebACL.
1148//
1149// For more information about how to use the AWS WAF API to allow or block HTTP
1150// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1151//
1152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1153// with awserr.Error's Code and Message methods to get detailed information about
1154// the error.
1155//
1156// See the AWS API reference guide for AWS WAF Regional's
1157// API operation CreateRule for usage and error information.
1158//
1159// Returned Error Types:
1160//   * WAFStaleDataException
1161//   The operation failed because you tried to create, update, or delete an object
1162//   by using a change token that has already been used.
1163//
1164//   * WAFInternalErrorException
1165//   The operation failed because of a system problem, even though the request
1166//   was valid. Retry your request.
1167//
1168//   * WAFDisallowedNameException
1169//   The name specified is invalid.
1170//
1171//   * WAFInvalidParameterException
1172//   The operation failed because AWS WAF didn't recognize a parameter in the
1173//   request. For example:
1174//
1175//      * You specified an invalid parameter name.
1176//
1177//      * You specified an invalid value.
1178//
1179//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
1180//      using an action other than INSERT or DELETE.
1181//
1182//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
1183//      BLOCK, or COUNT.
1184//
1185//      * You tried to create a RateBasedRule with a RateKey value other than
1186//      IP.
1187//
1188//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
1189//      BLOCK, or COUNT.
1190//
1191//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
1192//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
1193//
1194//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
1195//      for Data.
1196//
1197//      * Your request references an ARN that is malformed, or corresponds to
1198//      a resource with which a web ACL cannot be associated.
1199//
1200//   * WAFLimitsExceededException
1201//   The operation exceeds a resource limit, for example, the maximum number of
1202//   WebACL objects that you can create for an AWS account. For more information,
1203//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1204//   in the AWS WAF Developer Guide.
1205//
1206//   * WAFTagOperationException
1207//
1208//   * WAFTagOperationInternalErrorException
1209//
1210//   * WAFBadRequestException
1211//
1212// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule
1213func (c *WAFRegional) CreateRule(input *waf.CreateRuleInput) (*waf.CreateRuleOutput, error) {
1214	req, out := c.CreateRuleRequest(input)
1215	return out, req.Send()
1216}
1217
1218// CreateRuleWithContext is the same as CreateRule with the addition of
1219// the ability to pass a context and additional request options.
1220//
1221// See CreateRule for details on how to use this API operation.
1222//
1223// The context must be non-nil and will be used for request cancellation. If
1224// the context is nil a panic will occur. In the future the SDK may create
1225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1226// for more information on using Contexts.
1227func (c *WAFRegional) CreateRuleWithContext(ctx aws.Context, input *waf.CreateRuleInput, opts ...request.Option) (*waf.CreateRuleOutput, error) {
1228	req, out := c.CreateRuleRequest(input)
1229	req.SetContext(ctx)
1230	req.ApplyOptions(opts...)
1231	return out, req.Send()
1232}
1233
1234const opCreateRuleGroup = "CreateRuleGroup"
1235
1236// CreateRuleGroupRequest generates a "aws/request.Request" representing the
1237// client's request for the CreateRuleGroup operation. The "output" return
1238// value will be populated with the request's response once the request completes
1239// successfully.
1240//
1241// Use "Send" method on the returned Request to send the API call to the service.
1242// the "output" return value is not valid until after Send returns without error.
1243//
1244// See CreateRuleGroup for more information on using the CreateRuleGroup
1245// API call, and error handling.
1246//
1247// This method is useful when you want to inject custom logic or configuration
1248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1249//
1250//
1251//    // Example sending a request using the CreateRuleGroupRequest method.
1252//    req, resp := client.CreateRuleGroupRequest(params)
1253//
1254//    err := req.Send()
1255//    if err == nil { // resp is now filled
1256//        fmt.Println(resp)
1257//    }
1258//
1259// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup
1260func (c *WAFRegional) CreateRuleGroupRequest(input *waf.CreateRuleGroupInput) (req *request.Request, output *waf.CreateRuleGroupOutput) {
1261	op := &request.Operation{
1262		Name:       opCreateRuleGroup,
1263		HTTPMethod: "POST",
1264		HTTPPath:   "/",
1265	}
1266
1267	if input == nil {
1268		input = &waf.CreateRuleGroupInput{}
1269	}
1270
1271	output = &waf.CreateRuleGroupOutput{}
1272	req = c.newRequest(op, input, output)
1273	return
1274}
1275
1276// CreateRuleGroup API operation for AWS WAF Regional.
1277//
1278//
1279// This is AWS WAF Classic documentation. For more information, see AWS WAF
1280// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
1281// in the developer guide.
1282//
1283// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
1284// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1285// With the latest version, AWS WAF has a single set of endpoints for regional
1286// and global use.
1287//
1288// Creates a RuleGroup. A rule group is a collection of predefined rules that
1289// you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.
1290//
1291// Rule groups are subject to the following limits:
1292//
1293//    * Three rule groups per account. You can request an increase to this limit
1294//    by contacting customer support.
1295//
1296//    * One rule group per web ACL.
1297//
1298//    * Ten rules per rule group.
1299//
1300// For more information about how to use the AWS WAF API to allow or block HTTP
1301// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for AWS WAF Regional's
1308// API operation CreateRuleGroup for usage and error information.
1309//
1310// Returned Error Types:
1311//   * WAFStaleDataException
1312//   The operation failed because you tried to create, update, or delete an object
1313//   by using a change token that has already been used.
1314//
1315//   * WAFInternalErrorException
1316//   The operation failed because of a system problem, even though the request
1317//   was valid. Retry your request.
1318//
1319//   * WAFDisallowedNameException
1320//   The name specified is invalid.
1321//
1322//   * WAFLimitsExceededException
1323//   The operation exceeds a resource limit, for example, the maximum number of
1324//   WebACL objects that you can create for an AWS account. For more information,
1325//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1326//   in the AWS WAF Developer Guide.
1327//
1328//   * WAFTagOperationException
1329//
1330//   * WAFTagOperationInternalErrorException
1331//
1332//   * WAFBadRequestException
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup
1335func (c *WAFRegional) CreateRuleGroup(input *waf.CreateRuleGroupInput) (*waf.CreateRuleGroupOutput, error) {
1336	req, out := c.CreateRuleGroupRequest(input)
1337	return out, req.Send()
1338}
1339
1340// CreateRuleGroupWithContext is the same as CreateRuleGroup with the addition of
1341// the ability to pass a context and additional request options.
1342//
1343// See CreateRuleGroup for details on how to use this API operation.
1344//
1345// The context must be non-nil and will be used for request cancellation. If
1346// the context is nil a panic will occur. In the future the SDK may create
1347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1348// for more information on using Contexts.
1349func (c *WAFRegional) CreateRuleGroupWithContext(ctx aws.Context, input *waf.CreateRuleGroupInput, opts ...request.Option) (*waf.CreateRuleGroupOutput, error) {
1350	req, out := c.CreateRuleGroupRequest(input)
1351	req.SetContext(ctx)
1352	req.ApplyOptions(opts...)
1353	return out, req.Send()
1354}
1355
1356const opCreateSizeConstraintSet = "CreateSizeConstraintSet"
1357
1358// CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the
1359// client's request for the CreateSizeConstraintSet operation. The "output" return
1360// value will be populated with the request's response once the request completes
1361// successfully.
1362//
1363// Use "Send" method on the returned Request to send the API call to the service.
1364// the "output" return value is not valid until after Send returns without error.
1365//
1366// See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet
1367// API call, and error handling.
1368//
1369// This method is useful when you want to inject custom logic or configuration
1370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1371//
1372//
1373//    // Example sending a request using the CreateSizeConstraintSetRequest method.
1374//    req, resp := client.CreateSizeConstraintSetRequest(params)
1375//
1376//    err := req.Send()
1377//    if err == nil { // resp is now filled
1378//        fmt.Println(resp)
1379//    }
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet
1382func (c *WAFRegional) CreateSizeConstraintSetRequest(input *waf.CreateSizeConstraintSetInput) (req *request.Request, output *waf.CreateSizeConstraintSetOutput) {
1383	op := &request.Operation{
1384		Name:       opCreateSizeConstraintSet,
1385		HTTPMethod: "POST",
1386		HTTPPath:   "/",
1387	}
1388
1389	if input == nil {
1390		input = &waf.CreateSizeConstraintSetInput{}
1391	}
1392
1393	output = &waf.CreateSizeConstraintSetOutput{}
1394	req = c.newRequest(op, input, output)
1395	return
1396}
1397
1398// CreateSizeConstraintSet API operation for AWS WAF Regional.
1399//
1400//
1401// This is AWS WAF Classic documentation. For more information, see AWS WAF
1402// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
1403// in the developer guide.
1404//
1405// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
1406// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1407// With the latest version, AWS WAF has a single set of endpoints for regional
1408// and global use.
1409//
1410// Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify
1411// the part of a web request that you want AWS WAF to check for length, such
1412// as the length of the User-Agent header or the length of the query string.
1413// For example, you can create a SizeConstraintSet that matches any requests
1414// that have a query string that is longer than 100 bytes. You can then configure
1415// AWS WAF to reject those requests.
1416//
1417// To create and configure a SizeConstraintSet, perform the following steps:
1418//
1419// Use GetChangeToken to get the change token that you provide in the ChangeToken
1420// parameter of a CreateSizeConstraintSet request.
1421//
1422// Submit a CreateSizeConstraintSet request.
1423//
1424// Use GetChangeToken to get the change token that you provide in the ChangeToken
1425// parameter of an UpdateSizeConstraintSet request.
1426//
1427// Submit an UpdateSizeConstraintSet request to specify the part of the request
1428// that you want AWS WAF to inspect (for example, the header or the URI) and
1429// the value that you want AWS WAF to watch for.
1430//
1431// For more information about how to use the AWS WAF API to allow or block HTTP
1432// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1433//
1434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1435// with awserr.Error's Code and Message methods to get detailed information about
1436// the error.
1437//
1438// See the AWS API reference guide for AWS WAF Regional's
1439// API operation CreateSizeConstraintSet for usage and error information.
1440//
1441// Returned Error Types:
1442//   * WAFStaleDataException
1443//   The operation failed because you tried to create, update, or delete an object
1444//   by using a change token that has already been used.
1445//
1446//   * WAFInternalErrorException
1447//   The operation failed because of a system problem, even though the request
1448//   was valid. Retry your request.
1449//
1450//   * WAFInvalidAccountException
1451//   The operation failed because you tried to create, update, or delete an object
1452//   by using an invalid account identifier.
1453//
1454//   * WAFDisallowedNameException
1455//   The name specified is invalid.
1456//
1457//   * WAFInvalidParameterException
1458//   The operation failed because AWS WAF didn't recognize a parameter in the
1459//   request. For example:
1460//
1461//      * You specified an invalid parameter name.
1462//
1463//      * You specified an invalid value.
1464//
1465//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
1466//      using an action other than INSERT or DELETE.
1467//
1468//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
1469//      BLOCK, or COUNT.
1470//
1471//      * You tried to create a RateBasedRule with a RateKey value other than
1472//      IP.
1473//
1474//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
1475//      BLOCK, or COUNT.
1476//
1477//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
1478//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
1479//
1480//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
1481//      for Data.
1482//
1483//      * Your request references an ARN that is malformed, or corresponds to
1484//      a resource with which a web ACL cannot be associated.
1485//
1486//   * WAFLimitsExceededException
1487//   The operation exceeds a resource limit, for example, the maximum number of
1488//   WebACL objects that you can create for an AWS account. For more information,
1489//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1490//   in the AWS WAF Developer Guide.
1491//
1492// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet
1493func (c *WAFRegional) CreateSizeConstraintSet(input *waf.CreateSizeConstraintSetInput) (*waf.CreateSizeConstraintSetOutput, error) {
1494	req, out := c.CreateSizeConstraintSetRequest(input)
1495	return out, req.Send()
1496}
1497
1498// CreateSizeConstraintSetWithContext is the same as CreateSizeConstraintSet with the addition of
1499// the ability to pass a context and additional request options.
1500//
1501// See CreateSizeConstraintSet for details on how to use this API operation.
1502//
1503// The context must be non-nil and will be used for request cancellation. If
1504// the context is nil a panic will occur. In the future the SDK may create
1505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1506// for more information on using Contexts.
1507func (c *WAFRegional) CreateSizeConstraintSetWithContext(ctx aws.Context, input *waf.CreateSizeConstraintSetInput, opts ...request.Option) (*waf.CreateSizeConstraintSetOutput, error) {
1508	req, out := c.CreateSizeConstraintSetRequest(input)
1509	req.SetContext(ctx)
1510	req.ApplyOptions(opts...)
1511	return out, req.Send()
1512}
1513
1514const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet"
1515
1516// CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
1517// client's request for the CreateSqlInjectionMatchSet operation. The "output" return
1518// value will be populated with the request's response once the request completes
1519// successfully.
1520//
1521// Use "Send" method on the returned Request to send the API call to the service.
1522// the "output" return value is not valid until after Send returns without error.
1523//
1524// See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet
1525// API call, and error handling.
1526//
1527// This method is useful when you want to inject custom logic or configuration
1528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1529//
1530//
1531//    // Example sending a request using the CreateSqlInjectionMatchSetRequest method.
1532//    req, resp := client.CreateSqlInjectionMatchSetRequest(params)
1533//
1534//    err := req.Send()
1535//    if err == nil { // resp is now filled
1536//        fmt.Println(resp)
1537//    }
1538//
1539// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet
1540func (c *WAFRegional) CreateSqlInjectionMatchSetRequest(input *waf.CreateSqlInjectionMatchSetInput) (req *request.Request, output *waf.CreateSqlInjectionMatchSetOutput) {
1541	op := &request.Operation{
1542		Name:       opCreateSqlInjectionMatchSet,
1543		HTTPMethod: "POST",
1544		HTTPPath:   "/",
1545	}
1546
1547	if input == nil {
1548		input = &waf.CreateSqlInjectionMatchSetInput{}
1549	}
1550
1551	output = &waf.CreateSqlInjectionMatchSetOutput{}
1552	req = c.newRequest(op, input, output)
1553	return
1554}
1555
1556// CreateSqlInjectionMatchSet API operation for AWS WAF Regional.
1557//
1558//
1559// This is AWS WAF Classic documentation. For more information, see AWS WAF
1560// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
1561// in the developer guide.
1562//
1563// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
1564// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1565// With the latest version, AWS WAF has a single set of endpoints for regional
1566// and global use.
1567//
1568// Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests
1569// that contain snippets of SQL code in a specified part of web requests. AWS
1570// WAF searches for character sequences that are likely to be malicious strings.
1571//
1572// To create and configure a SqlInjectionMatchSet, perform the following steps:
1573//
1574// Use GetChangeToken to get the change token that you provide in the ChangeToken
1575// parameter of a CreateSqlInjectionMatchSet request.
1576//
1577// Submit a CreateSqlInjectionMatchSet request.
1578//
1579// Use GetChangeToken to get the change token that you provide in the ChangeToken
1580// parameter of an UpdateSqlInjectionMatchSet request.
1581//
1582// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web
1583// requests in which you want to allow, block, or count malicious SQL code.
1584//
1585// For more information about how to use the AWS WAF API to allow or block HTTP
1586// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1587//
1588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1589// with awserr.Error's Code and Message methods to get detailed information about
1590// the error.
1591//
1592// See the AWS API reference guide for AWS WAF Regional's
1593// API operation CreateSqlInjectionMatchSet for usage and error information.
1594//
1595// Returned Error Types:
1596//   * WAFDisallowedNameException
1597//   The name specified is invalid.
1598//
1599//   * WAFInternalErrorException
1600//   The operation failed because of a system problem, even though the request
1601//   was valid. Retry your request.
1602//
1603//   * WAFInvalidAccountException
1604//   The operation failed because you tried to create, update, or delete an object
1605//   by using an invalid account identifier.
1606//
1607//   * WAFInvalidParameterException
1608//   The operation failed because AWS WAF didn't recognize a parameter in the
1609//   request. For example:
1610//
1611//      * You specified an invalid parameter name.
1612//
1613//      * You specified an invalid value.
1614//
1615//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
1616//      using an action other than INSERT or DELETE.
1617//
1618//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
1619//      BLOCK, or COUNT.
1620//
1621//      * You tried to create a RateBasedRule with a RateKey value other than
1622//      IP.
1623//
1624//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
1625//      BLOCK, or COUNT.
1626//
1627//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
1628//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
1629//
1630//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
1631//      for Data.
1632//
1633//      * Your request references an ARN that is malformed, or corresponds to
1634//      a resource with which a web ACL cannot be associated.
1635//
1636//   * WAFStaleDataException
1637//   The operation failed because you tried to create, update, or delete an object
1638//   by using a change token that has already been used.
1639//
1640//   * WAFLimitsExceededException
1641//   The operation exceeds a resource limit, for example, the maximum number of
1642//   WebACL objects that you can create for an AWS account. For more information,
1643//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1644//   in the AWS WAF Developer Guide.
1645//
1646// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet
1647func (c *WAFRegional) CreateSqlInjectionMatchSet(input *waf.CreateSqlInjectionMatchSetInput) (*waf.CreateSqlInjectionMatchSetOutput, error) {
1648	req, out := c.CreateSqlInjectionMatchSetRequest(input)
1649	return out, req.Send()
1650}
1651
1652// CreateSqlInjectionMatchSetWithContext is the same as CreateSqlInjectionMatchSet with the addition of
1653// the ability to pass a context and additional request options.
1654//
1655// See CreateSqlInjectionMatchSet for details on how to use this API operation.
1656//
1657// The context must be non-nil and will be used for request cancellation. If
1658// the context is nil a panic will occur. In the future the SDK may create
1659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1660// for more information on using Contexts.
1661func (c *WAFRegional) CreateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.CreateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.CreateSqlInjectionMatchSetOutput, error) {
1662	req, out := c.CreateSqlInjectionMatchSetRequest(input)
1663	req.SetContext(ctx)
1664	req.ApplyOptions(opts...)
1665	return out, req.Send()
1666}
1667
1668const opCreateWebACL = "CreateWebACL"
1669
1670// CreateWebACLRequest generates a "aws/request.Request" representing the
1671// client's request for the CreateWebACL operation. The "output" return
1672// value will be populated with the request's response once the request completes
1673// successfully.
1674//
1675// Use "Send" method on the returned Request to send the API call to the service.
1676// the "output" return value is not valid until after Send returns without error.
1677//
1678// See CreateWebACL for more information on using the CreateWebACL
1679// API call, and error handling.
1680//
1681// This method is useful when you want to inject custom logic or configuration
1682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1683//
1684//
1685//    // Example sending a request using the CreateWebACLRequest method.
1686//    req, resp := client.CreateWebACLRequest(params)
1687//
1688//    err := req.Send()
1689//    if err == nil { // resp is now filled
1690//        fmt.Println(resp)
1691//    }
1692//
1693// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL
1694func (c *WAFRegional) CreateWebACLRequest(input *waf.CreateWebACLInput) (req *request.Request, output *waf.CreateWebACLOutput) {
1695	op := &request.Operation{
1696		Name:       opCreateWebACL,
1697		HTTPMethod: "POST",
1698		HTTPPath:   "/",
1699	}
1700
1701	if input == nil {
1702		input = &waf.CreateWebACLInput{}
1703	}
1704
1705	output = &waf.CreateWebACLOutput{}
1706	req = c.newRequest(op, input, output)
1707	return
1708}
1709
1710// CreateWebACL API operation for AWS WAF Regional.
1711//
1712//
1713// This is AWS WAF Classic documentation. For more information, see AWS WAF
1714// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
1715// in the developer guide.
1716//
1717// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
1718// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1719// With the latest version, AWS WAF has a single set of endpoints for regional
1720// and global use.
1721//
1722// Creates a WebACL, which contains the Rules that identify the CloudFront web
1723// requests that you want to allow, block, or count. AWS WAF evaluates Rules
1724// in order based on the value of Priority for each Rule.
1725//
1726// You also specify a default action, either ALLOW or BLOCK. If a web request
1727// doesn't match any of the Rules in a WebACL, AWS WAF responds to the request
1728// with the default action.
1729//
1730// To create and configure a WebACL, perform the following steps:
1731//
1732// Create and update the ByteMatchSet objects and other predicates that you
1733// want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet,
1734// CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
1735//
1736// Create and update the Rules that you want to include in the WebACL. For more
1737// information, see CreateRule and UpdateRule.
1738//
1739// Use GetChangeToken to get the change token that you provide in the ChangeToken
1740// parameter of a CreateWebACL request.
1741//
1742// Submit a CreateWebACL request.
1743//
1744// Use GetChangeToken to get the change token that you provide in the ChangeToken
1745// parameter of an UpdateWebACL request.
1746//
1747// Submit an UpdateWebACL request to specify the Rules that you want to include
1748// in the WebACL, to specify the default action, and to associate the WebACL
1749// with a CloudFront distribution.
1750//
1751// For more information about how to use the AWS WAF API, see the AWS WAF Developer
1752// Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
1753//
1754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1755// with awserr.Error's Code and Message methods to get detailed information about
1756// the error.
1757//
1758// See the AWS API reference guide for AWS WAF Regional's
1759// API operation CreateWebACL for usage and error information.
1760//
1761// Returned Error Types:
1762//   * WAFStaleDataException
1763//   The operation failed because you tried to create, update, or delete an object
1764//   by using a change token that has already been used.
1765//
1766//   * WAFInternalErrorException
1767//   The operation failed because of a system problem, even though the request
1768//   was valid. Retry your request.
1769//
1770//   * WAFInvalidAccountException
1771//   The operation failed because you tried to create, update, or delete an object
1772//   by using an invalid account identifier.
1773//
1774//   * WAFDisallowedNameException
1775//   The name specified is invalid.
1776//
1777//   * WAFInvalidParameterException
1778//   The operation failed because AWS WAF didn't recognize a parameter in the
1779//   request. For example:
1780//
1781//      * You specified an invalid parameter name.
1782//
1783//      * You specified an invalid value.
1784//
1785//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
1786//      using an action other than INSERT or DELETE.
1787//
1788//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
1789//      BLOCK, or COUNT.
1790//
1791//      * You tried to create a RateBasedRule with a RateKey value other than
1792//      IP.
1793//
1794//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
1795//      BLOCK, or COUNT.
1796//
1797//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
1798//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
1799//
1800//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
1801//      for Data.
1802//
1803//      * Your request references an ARN that is malformed, or corresponds to
1804//      a resource with which a web ACL cannot be associated.
1805//
1806//   * WAFLimitsExceededException
1807//   The operation exceeds a resource limit, for example, the maximum number of
1808//   WebACL objects that you can create for an AWS account. For more information,
1809//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
1810//   in the AWS WAF Developer Guide.
1811//
1812//   * WAFTagOperationException
1813//
1814//   * WAFTagOperationInternalErrorException
1815//
1816//   * WAFBadRequestException
1817//
1818// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL
1819func (c *WAFRegional) CreateWebACL(input *waf.CreateWebACLInput) (*waf.CreateWebACLOutput, error) {
1820	req, out := c.CreateWebACLRequest(input)
1821	return out, req.Send()
1822}
1823
1824// CreateWebACLWithContext is the same as CreateWebACL with the addition of
1825// the ability to pass a context and additional request options.
1826//
1827// See CreateWebACL for details on how to use this API operation.
1828//
1829// The context must be non-nil and will be used for request cancellation. If
1830// the context is nil a panic will occur. In the future the SDK may create
1831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1832// for more information on using Contexts.
1833func (c *WAFRegional) CreateWebACLWithContext(ctx aws.Context, input *waf.CreateWebACLInput, opts ...request.Option) (*waf.CreateWebACLOutput, error) {
1834	req, out := c.CreateWebACLRequest(input)
1835	req.SetContext(ctx)
1836	req.ApplyOptions(opts...)
1837	return out, req.Send()
1838}
1839
1840const opCreateWebACLMigrationStack = "CreateWebACLMigrationStack"
1841
1842// CreateWebACLMigrationStackRequest generates a "aws/request.Request" representing the
1843// client's request for the CreateWebACLMigrationStack operation. The "output" return
1844// value will be populated with the request's response once the request completes
1845// successfully.
1846//
1847// Use "Send" method on the returned Request to send the API call to the service.
1848// the "output" return value is not valid until after Send returns without error.
1849//
1850// See CreateWebACLMigrationStack for more information on using the CreateWebACLMigrationStack
1851// API call, and error handling.
1852//
1853// This method is useful when you want to inject custom logic or configuration
1854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1855//
1856//
1857//    // Example sending a request using the CreateWebACLMigrationStackRequest method.
1858//    req, resp := client.CreateWebACLMigrationStackRequest(params)
1859//
1860//    err := req.Send()
1861//    if err == nil { // resp is now filled
1862//        fmt.Println(resp)
1863//    }
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACLMigrationStack
1866func (c *WAFRegional) CreateWebACLMigrationStackRequest(input *waf.CreateWebACLMigrationStackInput) (req *request.Request, output *waf.CreateWebACLMigrationStackOutput) {
1867	op := &request.Operation{
1868		Name:       opCreateWebACLMigrationStack,
1869		HTTPMethod: "POST",
1870		HTTPPath:   "/",
1871	}
1872
1873	if input == nil {
1874		input = &waf.CreateWebACLMigrationStackInput{}
1875	}
1876
1877	output = &waf.CreateWebACLMigrationStackOutput{}
1878	req = c.newRequest(op, input, output)
1879	return
1880}
1881
1882// CreateWebACLMigrationStack API operation for AWS WAF Regional.
1883//
1884// Creates an AWS CloudFormation WAFV2 template for the specified web ACL in
1885// the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack
1886// from the template, to create the web ACL and its resources in AWS WAFV2.
1887// Use this to migrate your AWS WAF Classic web ACL to the latest version of
1888// AWS WAF.
1889//
1890// This is part of a larger migration procedure for web ACLs from AWS WAF Classic
1891// to the latest version of AWS WAF. For the full procedure, including caveats
1892// and manual steps to complete the migration and switch over to the new web
1893// ACL, see Migrating your AWS WAF Classic resources to AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-migrating-from-classic.html)
1894// in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
1895//
1896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1897// with awserr.Error's Code and Message methods to get detailed information about
1898// the error.
1899//
1900// See the AWS API reference guide for AWS WAF Regional's
1901// API operation CreateWebACLMigrationStack for usage and error information.
1902//
1903// Returned Error Types:
1904//   * WAFInternalErrorException
1905//   The operation failed because of a system problem, even though the request
1906//   was valid. Retry your request.
1907//
1908//   * WAFInvalidParameterException
1909//   The operation failed because AWS WAF didn't recognize a parameter in the
1910//   request. For example:
1911//
1912//      * You specified an invalid parameter name.
1913//
1914//      * You specified an invalid value.
1915//
1916//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
1917//      using an action other than INSERT or DELETE.
1918//
1919//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
1920//      BLOCK, or COUNT.
1921//
1922//      * You tried to create a RateBasedRule with a RateKey value other than
1923//      IP.
1924//
1925//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
1926//      BLOCK, or COUNT.
1927//
1928//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
1929//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
1930//
1931//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
1932//      for Data.
1933//
1934//      * Your request references an ARN that is malformed, or corresponds to
1935//      a resource with which a web ACL cannot be associated.
1936//
1937//   * WAFInvalidOperationException
1938//   The operation failed because there was nothing to do. For example:
1939//
1940//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
1941//      specified WebACL.
1942//
1943//      * You tried to remove an IP address from an IPSet, but the IP address
1944//      isn't in the specified IPSet.
1945//
1946//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
1947//      isn't in the specified WebACL.
1948//
1949//      * You tried to add a Rule to a WebACL, but the Rule already exists in
1950//      the specified WebACL.
1951//
1952//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
1953//      already exists in the specified WebACL.
1954//
1955//   * WAFNonexistentItemException
1956//   The operation failed because the referenced object doesn't exist.
1957//
1958//   * WAFEntityMigrationException
1959//   The operation failed due to a problem with the migration. The failure cause
1960//   is provided in the exception, in the MigrationErrorType:
1961//
1962//      * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the
1963//      IgnoreUnsupportedType is not set to true.
1964//
1965//      * ENTITY_NOT_FOUND - The web ACL doesn't exist.
1966//
1967//      * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject
1968//      action to the specified Amazon S3 bucket.
1969//
1970//      * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to
1971//      perform the PutObject action in the bucket.
1972//
1973//      * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.
1974//
1975//      * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as
1976//      the web ACL.
1977//
1978//      * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3
1979//      bucket for another reason.
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACLMigrationStack
1982func (c *WAFRegional) CreateWebACLMigrationStack(input *waf.CreateWebACLMigrationStackInput) (*waf.CreateWebACLMigrationStackOutput, error) {
1983	req, out := c.CreateWebACLMigrationStackRequest(input)
1984	return out, req.Send()
1985}
1986
1987// CreateWebACLMigrationStackWithContext is the same as CreateWebACLMigrationStack with the addition of
1988// the ability to pass a context and additional request options.
1989//
1990// See CreateWebACLMigrationStack for details on how to use this API operation.
1991//
1992// The context must be non-nil and will be used for request cancellation. If
1993// the context is nil a panic will occur. In the future the SDK may create
1994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1995// for more information on using Contexts.
1996func (c *WAFRegional) CreateWebACLMigrationStackWithContext(ctx aws.Context, input *waf.CreateWebACLMigrationStackInput, opts ...request.Option) (*waf.CreateWebACLMigrationStackOutput, error) {
1997	req, out := c.CreateWebACLMigrationStackRequest(input)
1998	req.SetContext(ctx)
1999	req.ApplyOptions(opts...)
2000	return out, req.Send()
2001}
2002
2003const opCreateXssMatchSet = "CreateXssMatchSet"
2004
2005// CreateXssMatchSetRequest generates a "aws/request.Request" representing the
2006// client's request for the CreateXssMatchSet operation. The "output" return
2007// value will be populated with the request's response once the request completes
2008// successfully.
2009//
2010// Use "Send" method on the returned Request to send the API call to the service.
2011// the "output" return value is not valid until after Send returns without error.
2012//
2013// See CreateXssMatchSet for more information on using the CreateXssMatchSet
2014// API call, and error handling.
2015//
2016// This method is useful when you want to inject custom logic or configuration
2017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2018//
2019//
2020//    // Example sending a request using the CreateXssMatchSetRequest method.
2021//    req, resp := client.CreateXssMatchSetRequest(params)
2022//
2023//    err := req.Send()
2024//    if err == nil { // resp is now filled
2025//        fmt.Println(resp)
2026//    }
2027//
2028// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet
2029func (c *WAFRegional) CreateXssMatchSetRequest(input *waf.CreateXssMatchSetInput) (req *request.Request, output *waf.CreateXssMatchSetOutput) {
2030	op := &request.Operation{
2031		Name:       opCreateXssMatchSet,
2032		HTTPMethod: "POST",
2033		HTTPPath:   "/",
2034	}
2035
2036	if input == nil {
2037		input = &waf.CreateXssMatchSetInput{}
2038	}
2039
2040	output = &waf.CreateXssMatchSetOutput{}
2041	req = c.newRequest(op, input, output)
2042	return
2043}
2044
2045// CreateXssMatchSet API operation for AWS WAF Regional.
2046//
2047//
2048// This is AWS WAF Classic documentation. For more information, see AWS WAF
2049// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2050// in the developer guide.
2051//
2052// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2053// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2054// With the latest version, AWS WAF has a single set of endpoints for regional
2055// and global use.
2056//
2057// Creates an XssMatchSet, which you use to allow, block, or count requests
2058// that contain cross-site scripting attacks in the specified part of web requests.
2059// AWS WAF searches for character sequences that are likely to be malicious
2060// strings.
2061//
2062// To create and configure an XssMatchSet, perform the following steps:
2063//
2064// Use GetChangeToken to get the change token that you provide in the ChangeToken
2065// parameter of a CreateXssMatchSet request.
2066//
2067// Submit a CreateXssMatchSet request.
2068//
2069// Use GetChangeToken to get the change token that you provide in the ChangeToken
2070// parameter of an UpdateXssMatchSet request.
2071//
2072// Submit an UpdateXssMatchSet request to specify the parts of web requests
2073// in which you want to allow, block, or count cross-site scripting attacks.
2074//
2075// For more information about how to use the AWS WAF API to allow or block HTTP
2076// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
2077//
2078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2079// with awserr.Error's Code and Message methods to get detailed information about
2080// the error.
2081//
2082// See the AWS API reference guide for AWS WAF Regional's
2083// API operation CreateXssMatchSet for usage and error information.
2084//
2085// Returned Error Types:
2086//   * WAFDisallowedNameException
2087//   The name specified is invalid.
2088//
2089//   * WAFInternalErrorException
2090//   The operation failed because of a system problem, even though the request
2091//   was valid. Retry your request.
2092//
2093//   * WAFInvalidAccountException
2094//   The operation failed because you tried to create, update, or delete an object
2095//   by using an invalid account identifier.
2096//
2097//   * WAFInvalidParameterException
2098//   The operation failed because AWS WAF didn't recognize a parameter in the
2099//   request. For example:
2100//
2101//      * You specified an invalid parameter name.
2102//
2103//      * You specified an invalid value.
2104//
2105//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
2106//      using an action other than INSERT or DELETE.
2107//
2108//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
2109//      BLOCK, or COUNT.
2110//
2111//      * You tried to create a RateBasedRule with a RateKey value other than
2112//      IP.
2113//
2114//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
2115//      BLOCK, or COUNT.
2116//
2117//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
2118//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
2119//
2120//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
2121//      for Data.
2122//
2123//      * Your request references an ARN that is malformed, or corresponds to
2124//      a resource with which a web ACL cannot be associated.
2125//
2126//   * WAFStaleDataException
2127//   The operation failed because you tried to create, update, or delete an object
2128//   by using a change token that has already been used.
2129//
2130//   * WAFLimitsExceededException
2131//   The operation exceeds a resource limit, for example, the maximum number of
2132//   WebACL objects that you can create for an AWS account. For more information,
2133//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
2134//   in the AWS WAF Developer Guide.
2135//
2136// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet
2137func (c *WAFRegional) CreateXssMatchSet(input *waf.CreateXssMatchSetInput) (*waf.CreateXssMatchSetOutput, error) {
2138	req, out := c.CreateXssMatchSetRequest(input)
2139	return out, req.Send()
2140}
2141
2142// CreateXssMatchSetWithContext is the same as CreateXssMatchSet with the addition of
2143// the ability to pass a context and additional request options.
2144//
2145// See CreateXssMatchSet for details on how to use this API operation.
2146//
2147// The context must be non-nil and will be used for request cancellation. If
2148// the context is nil a panic will occur. In the future the SDK may create
2149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2150// for more information on using Contexts.
2151func (c *WAFRegional) CreateXssMatchSetWithContext(ctx aws.Context, input *waf.CreateXssMatchSetInput, opts ...request.Option) (*waf.CreateXssMatchSetOutput, error) {
2152	req, out := c.CreateXssMatchSetRequest(input)
2153	req.SetContext(ctx)
2154	req.ApplyOptions(opts...)
2155	return out, req.Send()
2156}
2157
2158const opDeleteByteMatchSet = "DeleteByteMatchSet"
2159
2160// DeleteByteMatchSetRequest generates a "aws/request.Request" representing the
2161// client's request for the DeleteByteMatchSet operation. The "output" return
2162// value will be populated with the request's response once the request completes
2163// successfully.
2164//
2165// Use "Send" method on the returned Request to send the API call to the service.
2166// the "output" return value is not valid until after Send returns without error.
2167//
2168// See DeleteByteMatchSet for more information on using the DeleteByteMatchSet
2169// API call, and error handling.
2170//
2171// This method is useful when you want to inject custom logic or configuration
2172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2173//
2174//
2175//    // Example sending a request using the DeleteByteMatchSetRequest method.
2176//    req, resp := client.DeleteByteMatchSetRequest(params)
2177//
2178//    err := req.Send()
2179//    if err == nil { // resp is now filled
2180//        fmt.Println(resp)
2181//    }
2182//
2183// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet
2184func (c *WAFRegional) DeleteByteMatchSetRequest(input *waf.DeleteByteMatchSetInput) (req *request.Request, output *waf.DeleteByteMatchSetOutput) {
2185	op := &request.Operation{
2186		Name:       opDeleteByteMatchSet,
2187		HTTPMethod: "POST",
2188		HTTPPath:   "/",
2189	}
2190
2191	if input == nil {
2192		input = &waf.DeleteByteMatchSetInput{}
2193	}
2194
2195	output = &waf.DeleteByteMatchSetOutput{}
2196	req = c.newRequest(op, input, output)
2197	return
2198}
2199
2200// DeleteByteMatchSet API operation for AWS WAF Regional.
2201//
2202//
2203// This is AWS WAF Classic documentation. For more information, see AWS WAF
2204// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2205// in the developer guide.
2206//
2207// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2208// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2209// With the latest version, AWS WAF has a single set of endpoints for regional
2210// and global use.
2211//
2212// Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's
2213// still used in any Rules or if it still includes any ByteMatchTuple objects
2214// (any filters).
2215//
2216// If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.
2217//
2218// To permanently delete a ByteMatchSet, perform the following steps:
2219//
2220// Update the ByteMatchSet to remove filters, if any. For more information,
2221// see UpdateByteMatchSet.
2222//
2223// Use GetChangeToken to get the change token that you provide in the ChangeToken
2224// parameter of a DeleteByteMatchSet request.
2225//
2226// Submit a DeleteByteMatchSet request.
2227//
2228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2229// with awserr.Error's Code and Message methods to get detailed information about
2230// the error.
2231//
2232// See the AWS API reference guide for AWS WAF Regional's
2233// API operation DeleteByteMatchSet for usage and error information.
2234//
2235// Returned Error Types:
2236//   * WAFInternalErrorException
2237//   The operation failed because of a system problem, even though the request
2238//   was valid. Retry your request.
2239//
2240//   * WAFInvalidAccountException
2241//   The operation failed because you tried to create, update, or delete an object
2242//   by using an invalid account identifier.
2243//
2244//   * WAFNonexistentItemException
2245//   The operation failed because the referenced object doesn't exist.
2246//
2247//   * WAFReferencedItemException
2248//   The operation failed because you tried to delete an object that is still
2249//   in use. For example:
2250//
2251//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
2252//
2253//      * You tried to delete a Rule that is still referenced by a WebACL.
2254//
2255//   * WAFStaleDataException
2256//   The operation failed because you tried to create, update, or delete an object
2257//   by using a change token that has already been used.
2258//
2259//   * WAFNonEmptyEntityException
2260//   The operation failed because you tried to delete an object that isn't empty.
2261//   For example:
2262//
2263//      * You tried to delete a WebACL that still contains one or more Rule objects.
2264//
2265//      * You tried to delete a Rule that still contains one or more ByteMatchSet
2266//      objects or other predicates.
2267//
2268//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
2269//      objects.
2270//
2271//      * You tried to delete an IPSet that references one or more IP addresses.
2272//
2273// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet
2274func (c *WAFRegional) DeleteByteMatchSet(input *waf.DeleteByteMatchSetInput) (*waf.DeleteByteMatchSetOutput, error) {
2275	req, out := c.DeleteByteMatchSetRequest(input)
2276	return out, req.Send()
2277}
2278
2279// DeleteByteMatchSetWithContext is the same as DeleteByteMatchSet with the addition of
2280// the ability to pass a context and additional request options.
2281//
2282// See DeleteByteMatchSet for details on how to use this API operation.
2283//
2284// The context must be non-nil and will be used for request cancellation. If
2285// the context is nil a panic will occur. In the future the SDK may create
2286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2287// for more information on using Contexts.
2288func (c *WAFRegional) DeleteByteMatchSetWithContext(ctx aws.Context, input *waf.DeleteByteMatchSetInput, opts ...request.Option) (*waf.DeleteByteMatchSetOutput, error) {
2289	req, out := c.DeleteByteMatchSetRequest(input)
2290	req.SetContext(ctx)
2291	req.ApplyOptions(opts...)
2292	return out, req.Send()
2293}
2294
2295const opDeleteGeoMatchSet = "DeleteGeoMatchSet"
2296
2297// DeleteGeoMatchSetRequest generates a "aws/request.Request" representing the
2298// client's request for the DeleteGeoMatchSet operation. The "output" return
2299// value will be populated with the request's response once the request completes
2300// successfully.
2301//
2302// Use "Send" method on the returned Request to send the API call to the service.
2303// the "output" return value is not valid until after Send returns without error.
2304//
2305// See DeleteGeoMatchSet for more information on using the DeleteGeoMatchSet
2306// API call, and error handling.
2307//
2308// This method is useful when you want to inject custom logic or configuration
2309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2310//
2311//
2312//    // Example sending a request using the DeleteGeoMatchSetRequest method.
2313//    req, resp := client.DeleteGeoMatchSetRequest(params)
2314//
2315//    err := req.Send()
2316//    if err == nil { // resp is now filled
2317//        fmt.Println(resp)
2318//    }
2319//
2320// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet
2321func (c *WAFRegional) DeleteGeoMatchSetRequest(input *waf.DeleteGeoMatchSetInput) (req *request.Request, output *waf.DeleteGeoMatchSetOutput) {
2322	op := &request.Operation{
2323		Name:       opDeleteGeoMatchSet,
2324		HTTPMethod: "POST",
2325		HTTPPath:   "/",
2326	}
2327
2328	if input == nil {
2329		input = &waf.DeleteGeoMatchSetInput{}
2330	}
2331
2332	output = &waf.DeleteGeoMatchSetOutput{}
2333	req = c.newRequest(op, input, output)
2334	return
2335}
2336
2337// DeleteGeoMatchSet API operation for AWS WAF Regional.
2338//
2339//
2340// This is AWS WAF Classic documentation. For more information, see AWS WAF
2341// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2342// in the developer guide.
2343//
2344// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2345// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2346// With the latest version, AWS WAF has a single set of endpoints for regional
2347// and global use.
2348//
2349// Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's
2350// still used in any Rules or if it still includes any countries.
2351//
2352// If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.
2353//
2354// To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:
2355//
2356// Update the GeoMatchSet to remove any countries. For more information, see
2357// UpdateGeoMatchSet.
2358//
2359// Use GetChangeToken to get the change token that you provide in the ChangeToken
2360// parameter of a DeleteGeoMatchSet request.
2361//
2362// Submit a DeleteGeoMatchSet request.
2363//
2364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2365// with awserr.Error's Code and Message methods to get detailed information about
2366// the error.
2367//
2368// See the AWS API reference guide for AWS WAF Regional's
2369// API operation DeleteGeoMatchSet for usage and error information.
2370//
2371// Returned Error Types:
2372//   * WAFStaleDataException
2373//   The operation failed because you tried to create, update, or delete an object
2374//   by using a change token that has already been used.
2375//
2376//   * WAFInternalErrorException
2377//   The operation failed because of a system problem, even though the request
2378//   was valid. Retry your request.
2379//
2380//   * WAFInvalidAccountException
2381//   The operation failed because you tried to create, update, or delete an object
2382//   by using an invalid account identifier.
2383//
2384//   * WAFNonexistentItemException
2385//   The operation failed because the referenced object doesn't exist.
2386//
2387//   * WAFReferencedItemException
2388//   The operation failed because you tried to delete an object that is still
2389//   in use. For example:
2390//
2391//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
2392//
2393//      * You tried to delete a Rule that is still referenced by a WebACL.
2394//
2395//   * WAFNonEmptyEntityException
2396//   The operation failed because you tried to delete an object that isn't empty.
2397//   For example:
2398//
2399//      * You tried to delete a WebACL that still contains one or more Rule objects.
2400//
2401//      * You tried to delete a Rule that still contains one or more ByteMatchSet
2402//      objects or other predicates.
2403//
2404//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
2405//      objects.
2406//
2407//      * You tried to delete an IPSet that references one or more IP addresses.
2408//
2409// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet
2410func (c *WAFRegional) DeleteGeoMatchSet(input *waf.DeleteGeoMatchSetInput) (*waf.DeleteGeoMatchSetOutput, error) {
2411	req, out := c.DeleteGeoMatchSetRequest(input)
2412	return out, req.Send()
2413}
2414
2415// DeleteGeoMatchSetWithContext is the same as DeleteGeoMatchSet with the addition of
2416// the ability to pass a context and additional request options.
2417//
2418// See DeleteGeoMatchSet for details on how to use this API operation.
2419//
2420// The context must be non-nil and will be used for request cancellation. If
2421// the context is nil a panic will occur. In the future the SDK may create
2422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2423// for more information on using Contexts.
2424func (c *WAFRegional) DeleteGeoMatchSetWithContext(ctx aws.Context, input *waf.DeleteGeoMatchSetInput, opts ...request.Option) (*waf.DeleteGeoMatchSetOutput, error) {
2425	req, out := c.DeleteGeoMatchSetRequest(input)
2426	req.SetContext(ctx)
2427	req.ApplyOptions(opts...)
2428	return out, req.Send()
2429}
2430
2431const opDeleteIPSet = "DeleteIPSet"
2432
2433// DeleteIPSetRequest generates a "aws/request.Request" representing the
2434// client's request for the DeleteIPSet operation. The "output" return
2435// value will be populated with the request's response once the request completes
2436// successfully.
2437//
2438// Use "Send" method on the returned Request to send the API call to the service.
2439// the "output" return value is not valid until after Send returns without error.
2440//
2441// See DeleteIPSet for more information on using the DeleteIPSet
2442// API call, and error handling.
2443//
2444// This method is useful when you want to inject custom logic or configuration
2445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2446//
2447//
2448//    // Example sending a request using the DeleteIPSetRequest method.
2449//    req, resp := client.DeleteIPSetRequest(params)
2450//
2451//    err := req.Send()
2452//    if err == nil { // resp is now filled
2453//        fmt.Println(resp)
2454//    }
2455//
2456// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet
2457func (c *WAFRegional) DeleteIPSetRequest(input *waf.DeleteIPSetInput) (req *request.Request, output *waf.DeleteIPSetOutput) {
2458	op := &request.Operation{
2459		Name:       opDeleteIPSet,
2460		HTTPMethod: "POST",
2461		HTTPPath:   "/",
2462	}
2463
2464	if input == nil {
2465		input = &waf.DeleteIPSetInput{}
2466	}
2467
2468	output = &waf.DeleteIPSetOutput{}
2469	req = c.newRequest(op, input, output)
2470	return
2471}
2472
2473// DeleteIPSet API operation for AWS WAF Regional.
2474//
2475//
2476// This is AWS WAF Classic documentation. For more information, see AWS WAF
2477// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2478// in the developer guide.
2479//
2480// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2481// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2482// With the latest version, AWS WAF has a single set of endpoints for regional
2483// and global use.
2484//
2485// Permanently deletes an IPSet. You can't delete an IPSet if it's still used
2486// in any Rules or if it still includes any IP addresses.
2487//
2488// If you just want to remove an IPSet from a Rule, use UpdateRule.
2489//
2490// To permanently delete an IPSet from AWS WAF, perform the following steps:
2491//
2492// Update the IPSet to remove IP address ranges, if any. For more information,
2493// see UpdateIPSet.
2494//
2495// Use GetChangeToken to get the change token that you provide in the ChangeToken
2496// parameter of a DeleteIPSet request.
2497//
2498// Submit a DeleteIPSet request.
2499//
2500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2501// with awserr.Error's Code and Message methods to get detailed information about
2502// the error.
2503//
2504// See the AWS API reference guide for AWS WAF Regional's
2505// API operation DeleteIPSet for usage and error information.
2506//
2507// Returned Error Types:
2508//   * WAFStaleDataException
2509//   The operation failed because you tried to create, update, or delete an object
2510//   by using a change token that has already been used.
2511//
2512//   * WAFInternalErrorException
2513//   The operation failed because of a system problem, even though the request
2514//   was valid. Retry your request.
2515//
2516//   * WAFInvalidAccountException
2517//   The operation failed because you tried to create, update, or delete an object
2518//   by using an invalid account identifier.
2519//
2520//   * WAFNonexistentItemException
2521//   The operation failed because the referenced object doesn't exist.
2522//
2523//   * WAFReferencedItemException
2524//   The operation failed because you tried to delete an object that is still
2525//   in use. For example:
2526//
2527//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
2528//
2529//      * You tried to delete a Rule that is still referenced by a WebACL.
2530//
2531//   * WAFNonEmptyEntityException
2532//   The operation failed because you tried to delete an object that isn't empty.
2533//   For example:
2534//
2535//      * You tried to delete a WebACL that still contains one or more Rule objects.
2536//
2537//      * You tried to delete a Rule that still contains one or more ByteMatchSet
2538//      objects or other predicates.
2539//
2540//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
2541//      objects.
2542//
2543//      * You tried to delete an IPSet that references one or more IP addresses.
2544//
2545// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet
2546func (c *WAFRegional) DeleteIPSet(input *waf.DeleteIPSetInput) (*waf.DeleteIPSetOutput, error) {
2547	req, out := c.DeleteIPSetRequest(input)
2548	return out, req.Send()
2549}
2550
2551// DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
2552// the ability to pass a context and additional request options.
2553//
2554// See DeleteIPSet for details on how to use this API operation.
2555//
2556// The context must be non-nil and will be used for request cancellation. If
2557// the context is nil a panic will occur. In the future the SDK may create
2558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2559// for more information on using Contexts.
2560func (c *WAFRegional) DeleteIPSetWithContext(ctx aws.Context, input *waf.DeleteIPSetInput, opts ...request.Option) (*waf.DeleteIPSetOutput, error) {
2561	req, out := c.DeleteIPSetRequest(input)
2562	req.SetContext(ctx)
2563	req.ApplyOptions(opts...)
2564	return out, req.Send()
2565}
2566
2567const opDeleteLoggingConfiguration = "DeleteLoggingConfiguration"
2568
2569// DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the
2570// client's request for the DeleteLoggingConfiguration operation. The "output" return
2571// value will be populated with the request's response once the request completes
2572// successfully.
2573//
2574// Use "Send" method on the returned Request to send the API call to the service.
2575// the "output" return value is not valid until after Send returns without error.
2576//
2577// See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration
2578// API call, and error handling.
2579//
2580// This method is useful when you want to inject custom logic or configuration
2581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2582//
2583//
2584//    // Example sending a request using the DeleteLoggingConfigurationRequest method.
2585//    req, resp := client.DeleteLoggingConfigurationRequest(params)
2586//
2587//    err := req.Send()
2588//    if err == nil { // resp is now filled
2589//        fmt.Println(resp)
2590//    }
2591//
2592// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration
2593func (c *WAFRegional) DeleteLoggingConfigurationRequest(input *waf.DeleteLoggingConfigurationInput) (req *request.Request, output *waf.DeleteLoggingConfigurationOutput) {
2594	op := &request.Operation{
2595		Name:       opDeleteLoggingConfiguration,
2596		HTTPMethod: "POST",
2597		HTTPPath:   "/",
2598	}
2599
2600	if input == nil {
2601		input = &waf.DeleteLoggingConfigurationInput{}
2602	}
2603
2604	output = &waf.DeleteLoggingConfigurationOutput{}
2605	req = c.newRequest(op, input, output)
2606	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2607	return
2608}
2609
2610// DeleteLoggingConfiguration API operation for AWS WAF Regional.
2611//
2612//
2613// This is AWS WAF Classic documentation. For more information, see AWS WAF
2614// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2615// in the developer guide.
2616//
2617// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2618// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2619// With the latest version, AWS WAF has a single set of endpoints for regional
2620// and global use.
2621//
2622// Permanently deletes the LoggingConfiguration from the specified web ACL.
2623//
2624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2625// with awserr.Error's Code and Message methods to get detailed information about
2626// the error.
2627//
2628// See the AWS API reference guide for AWS WAF Regional's
2629// API operation DeleteLoggingConfiguration for usage and error information.
2630//
2631// Returned Error Types:
2632//   * WAFInternalErrorException
2633//   The operation failed because of a system problem, even though the request
2634//   was valid. Retry your request.
2635//
2636//   * WAFNonexistentItemException
2637//   The operation failed because the referenced object doesn't exist.
2638//
2639//   * WAFStaleDataException
2640//   The operation failed because you tried to create, update, or delete an object
2641//   by using a change token that has already been used.
2642//
2643// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration
2644func (c *WAFRegional) DeleteLoggingConfiguration(input *waf.DeleteLoggingConfigurationInput) (*waf.DeleteLoggingConfigurationOutput, error) {
2645	req, out := c.DeleteLoggingConfigurationRequest(input)
2646	return out, req.Send()
2647}
2648
2649// DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of
2650// the ability to pass a context and additional request options.
2651//
2652// See DeleteLoggingConfiguration for details on how to use this API operation.
2653//
2654// The context must be non-nil and will be used for request cancellation. If
2655// the context is nil a panic will occur. In the future the SDK may create
2656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2657// for more information on using Contexts.
2658func (c *WAFRegional) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *waf.DeleteLoggingConfigurationInput, opts ...request.Option) (*waf.DeleteLoggingConfigurationOutput, error) {
2659	req, out := c.DeleteLoggingConfigurationRequest(input)
2660	req.SetContext(ctx)
2661	req.ApplyOptions(opts...)
2662	return out, req.Send()
2663}
2664
2665const opDeletePermissionPolicy = "DeletePermissionPolicy"
2666
2667// DeletePermissionPolicyRequest generates a "aws/request.Request" representing the
2668// client's request for the DeletePermissionPolicy operation. The "output" return
2669// value will be populated with the request's response once the request completes
2670// successfully.
2671//
2672// Use "Send" method on the returned Request to send the API call to the service.
2673// the "output" return value is not valid until after Send returns without error.
2674//
2675// See DeletePermissionPolicy for more information on using the DeletePermissionPolicy
2676// API call, and error handling.
2677//
2678// This method is useful when you want to inject custom logic or configuration
2679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2680//
2681//
2682//    // Example sending a request using the DeletePermissionPolicyRequest method.
2683//    req, resp := client.DeletePermissionPolicyRequest(params)
2684//
2685//    err := req.Send()
2686//    if err == nil { // resp is now filled
2687//        fmt.Println(resp)
2688//    }
2689//
2690// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy
2691func (c *WAFRegional) DeletePermissionPolicyRequest(input *waf.DeletePermissionPolicyInput) (req *request.Request, output *waf.DeletePermissionPolicyOutput) {
2692	op := &request.Operation{
2693		Name:       opDeletePermissionPolicy,
2694		HTTPMethod: "POST",
2695		HTTPPath:   "/",
2696	}
2697
2698	if input == nil {
2699		input = &waf.DeletePermissionPolicyInput{}
2700	}
2701
2702	output = &waf.DeletePermissionPolicyOutput{}
2703	req = c.newRequest(op, input, output)
2704	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2705	return
2706}
2707
2708// DeletePermissionPolicy API operation for AWS WAF Regional.
2709//
2710//
2711// This is AWS WAF Classic documentation. For more information, see AWS WAF
2712// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2713// in the developer guide.
2714//
2715// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2716// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2717// With the latest version, AWS WAF has a single set of endpoints for regional
2718// and global use.
2719//
2720// Permanently deletes an IAM policy from the specified RuleGroup.
2721//
2722// The user making the request must be the owner of the RuleGroup.
2723//
2724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2725// with awserr.Error's Code and Message methods to get detailed information about
2726// the error.
2727//
2728// See the AWS API reference guide for AWS WAF Regional's
2729// API operation DeletePermissionPolicy for usage and error information.
2730//
2731// Returned Error Types:
2732//   * WAFInternalErrorException
2733//   The operation failed because of a system problem, even though the request
2734//   was valid. Retry your request.
2735//
2736//   * WAFStaleDataException
2737//   The operation failed because you tried to create, update, or delete an object
2738//   by using a change token that has already been used.
2739//
2740//   * WAFNonexistentItemException
2741//   The operation failed because the referenced object doesn't exist.
2742//
2743// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy
2744func (c *WAFRegional) DeletePermissionPolicy(input *waf.DeletePermissionPolicyInput) (*waf.DeletePermissionPolicyOutput, error) {
2745	req, out := c.DeletePermissionPolicyRequest(input)
2746	return out, req.Send()
2747}
2748
2749// DeletePermissionPolicyWithContext is the same as DeletePermissionPolicy with the addition of
2750// the ability to pass a context and additional request options.
2751//
2752// See DeletePermissionPolicy for details on how to use this API operation.
2753//
2754// The context must be non-nil and will be used for request cancellation. If
2755// the context is nil a panic will occur. In the future the SDK may create
2756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2757// for more information on using Contexts.
2758func (c *WAFRegional) DeletePermissionPolicyWithContext(ctx aws.Context, input *waf.DeletePermissionPolicyInput, opts ...request.Option) (*waf.DeletePermissionPolicyOutput, error) {
2759	req, out := c.DeletePermissionPolicyRequest(input)
2760	req.SetContext(ctx)
2761	req.ApplyOptions(opts...)
2762	return out, req.Send()
2763}
2764
2765const opDeleteRateBasedRule = "DeleteRateBasedRule"
2766
2767// DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the
2768// client's request for the DeleteRateBasedRule operation. The "output" return
2769// value will be populated with the request's response once the request completes
2770// successfully.
2771//
2772// Use "Send" method on the returned Request to send the API call to the service.
2773// the "output" return value is not valid until after Send returns without error.
2774//
2775// See DeleteRateBasedRule for more information on using the DeleteRateBasedRule
2776// API call, and error handling.
2777//
2778// This method is useful when you want to inject custom logic or configuration
2779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2780//
2781//
2782//    // Example sending a request using the DeleteRateBasedRuleRequest method.
2783//    req, resp := client.DeleteRateBasedRuleRequest(params)
2784//
2785//    err := req.Send()
2786//    if err == nil { // resp is now filled
2787//        fmt.Println(resp)
2788//    }
2789//
2790// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule
2791func (c *WAFRegional) DeleteRateBasedRuleRequest(input *waf.DeleteRateBasedRuleInput) (req *request.Request, output *waf.DeleteRateBasedRuleOutput) {
2792	op := &request.Operation{
2793		Name:       opDeleteRateBasedRule,
2794		HTTPMethod: "POST",
2795		HTTPPath:   "/",
2796	}
2797
2798	if input == nil {
2799		input = &waf.DeleteRateBasedRuleInput{}
2800	}
2801
2802	output = &waf.DeleteRateBasedRuleOutput{}
2803	req = c.newRequest(op, input, output)
2804	return
2805}
2806
2807// DeleteRateBasedRule API operation for AWS WAF Regional.
2808//
2809//
2810// This is AWS WAF Classic documentation. For more information, see AWS WAF
2811// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2812// in the developer guide.
2813//
2814// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2815// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2816// With the latest version, AWS WAF has a single set of endpoints for regional
2817// and global use.
2818//
2819// Permanently deletes a RateBasedRule. You can't delete a rule if it's still
2820// used in any WebACL objects or if it still includes any predicates, such as
2821// ByteMatchSet objects.
2822//
2823// If you just want to remove a rule from a WebACL, use UpdateWebACL.
2824//
2825// To permanently delete a RateBasedRule from AWS WAF, perform the following
2826// steps:
2827//
2828// Update the RateBasedRule to remove predicates, if any. For more information,
2829// see UpdateRateBasedRule.
2830//
2831// Use GetChangeToken to get the change token that you provide in the ChangeToken
2832// parameter of a DeleteRateBasedRule request.
2833//
2834// Submit a DeleteRateBasedRule request.
2835//
2836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2837// with awserr.Error's Code and Message methods to get detailed information about
2838// the error.
2839//
2840// See the AWS API reference guide for AWS WAF Regional's
2841// API operation DeleteRateBasedRule for usage and error information.
2842//
2843// Returned Error Types:
2844//   * WAFStaleDataException
2845//   The operation failed because you tried to create, update, or delete an object
2846//   by using a change token that has already been used.
2847//
2848//   * WAFInternalErrorException
2849//   The operation failed because of a system problem, even though the request
2850//   was valid. Retry your request.
2851//
2852//   * WAFInvalidAccountException
2853//   The operation failed because you tried to create, update, or delete an object
2854//   by using an invalid account identifier.
2855//
2856//   * WAFNonexistentItemException
2857//   The operation failed because the referenced object doesn't exist.
2858//
2859//   * WAFReferencedItemException
2860//   The operation failed because you tried to delete an object that is still
2861//   in use. For example:
2862//
2863//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
2864//
2865//      * You tried to delete a Rule that is still referenced by a WebACL.
2866//
2867//   * WAFNonEmptyEntityException
2868//   The operation failed because you tried to delete an object that isn't empty.
2869//   For example:
2870//
2871//      * You tried to delete a WebACL that still contains one or more Rule objects.
2872//
2873//      * You tried to delete a Rule that still contains one or more ByteMatchSet
2874//      objects or other predicates.
2875//
2876//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
2877//      objects.
2878//
2879//      * You tried to delete an IPSet that references one or more IP addresses.
2880//
2881//   * WAFTagOperationException
2882//
2883//   * WAFTagOperationInternalErrorException
2884//
2885// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule
2886func (c *WAFRegional) DeleteRateBasedRule(input *waf.DeleteRateBasedRuleInput) (*waf.DeleteRateBasedRuleOutput, error) {
2887	req, out := c.DeleteRateBasedRuleRequest(input)
2888	return out, req.Send()
2889}
2890
2891// DeleteRateBasedRuleWithContext is the same as DeleteRateBasedRule with the addition of
2892// the ability to pass a context and additional request options.
2893//
2894// See DeleteRateBasedRule for details on how to use this API operation.
2895//
2896// The context must be non-nil and will be used for request cancellation. If
2897// the context is nil a panic will occur. In the future the SDK may create
2898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2899// for more information on using Contexts.
2900func (c *WAFRegional) DeleteRateBasedRuleWithContext(ctx aws.Context, input *waf.DeleteRateBasedRuleInput, opts ...request.Option) (*waf.DeleteRateBasedRuleOutput, error) {
2901	req, out := c.DeleteRateBasedRuleRequest(input)
2902	req.SetContext(ctx)
2903	req.ApplyOptions(opts...)
2904	return out, req.Send()
2905}
2906
2907const opDeleteRegexMatchSet = "DeleteRegexMatchSet"
2908
2909// DeleteRegexMatchSetRequest generates a "aws/request.Request" representing the
2910// client's request for the DeleteRegexMatchSet operation. The "output" return
2911// value will be populated with the request's response once the request completes
2912// successfully.
2913//
2914// Use "Send" method on the returned Request to send the API call to the service.
2915// the "output" return value is not valid until after Send returns without error.
2916//
2917// See DeleteRegexMatchSet for more information on using the DeleteRegexMatchSet
2918// API call, and error handling.
2919//
2920// This method is useful when you want to inject custom logic or configuration
2921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2922//
2923//
2924//    // Example sending a request using the DeleteRegexMatchSetRequest method.
2925//    req, resp := client.DeleteRegexMatchSetRequest(params)
2926//
2927//    err := req.Send()
2928//    if err == nil { // resp is now filled
2929//        fmt.Println(resp)
2930//    }
2931//
2932// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet
2933func (c *WAFRegional) DeleteRegexMatchSetRequest(input *waf.DeleteRegexMatchSetInput) (req *request.Request, output *waf.DeleteRegexMatchSetOutput) {
2934	op := &request.Operation{
2935		Name:       opDeleteRegexMatchSet,
2936		HTTPMethod: "POST",
2937		HTTPPath:   "/",
2938	}
2939
2940	if input == nil {
2941		input = &waf.DeleteRegexMatchSetInput{}
2942	}
2943
2944	output = &waf.DeleteRegexMatchSetOutput{}
2945	req = c.newRequest(op, input, output)
2946	return
2947}
2948
2949// DeleteRegexMatchSet API operation for AWS WAF Regional.
2950//
2951//
2952// This is AWS WAF Classic documentation. For more information, see AWS WAF
2953// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
2954// in the developer guide.
2955//
2956// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
2957// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
2958// With the latest version, AWS WAF has a single set of endpoints for regional
2959// and global use.
2960//
2961// Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if
2962// it's still used in any Rules or if it still includes any RegexMatchTuples
2963// objects (any filters).
2964//
2965// If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.
2966//
2967// To permanently delete a RegexMatchSet, perform the following steps:
2968//
2969// Update the RegexMatchSet to remove filters, if any. For more information,
2970// see UpdateRegexMatchSet.
2971//
2972// Use GetChangeToken to get the change token that you provide in the ChangeToken
2973// parameter of a DeleteRegexMatchSet request.
2974//
2975// Submit a DeleteRegexMatchSet request.
2976//
2977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2978// with awserr.Error's Code and Message methods to get detailed information about
2979// the error.
2980//
2981// See the AWS API reference guide for AWS WAF Regional's
2982// API operation DeleteRegexMatchSet for usage and error information.
2983//
2984// Returned Error Types:
2985//   * WAFInternalErrorException
2986//   The operation failed because of a system problem, even though the request
2987//   was valid. Retry your request.
2988//
2989//   * WAFInvalidAccountException
2990//   The operation failed because you tried to create, update, or delete an object
2991//   by using an invalid account identifier.
2992//
2993//   * WAFNonexistentItemException
2994//   The operation failed because the referenced object doesn't exist.
2995//
2996//   * WAFReferencedItemException
2997//   The operation failed because you tried to delete an object that is still
2998//   in use. For example:
2999//
3000//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3001//
3002//      * You tried to delete a Rule that is still referenced by a WebACL.
3003//
3004//   * WAFStaleDataException
3005//   The operation failed because you tried to create, update, or delete an object
3006//   by using a change token that has already been used.
3007//
3008//   * WAFNonEmptyEntityException
3009//   The operation failed because you tried to delete an object that isn't empty.
3010//   For example:
3011//
3012//      * You tried to delete a WebACL that still contains one or more Rule objects.
3013//
3014//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3015//      objects or other predicates.
3016//
3017//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3018//      objects.
3019//
3020//      * You tried to delete an IPSet that references one or more IP addresses.
3021//
3022// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet
3023func (c *WAFRegional) DeleteRegexMatchSet(input *waf.DeleteRegexMatchSetInput) (*waf.DeleteRegexMatchSetOutput, error) {
3024	req, out := c.DeleteRegexMatchSetRequest(input)
3025	return out, req.Send()
3026}
3027
3028// DeleteRegexMatchSetWithContext is the same as DeleteRegexMatchSet with the addition of
3029// the ability to pass a context and additional request options.
3030//
3031// See DeleteRegexMatchSet for details on how to use this API operation.
3032//
3033// The context must be non-nil and will be used for request cancellation. If
3034// the context is nil a panic will occur. In the future the SDK may create
3035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3036// for more information on using Contexts.
3037func (c *WAFRegional) DeleteRegexMatchSetWithContext(ctx aws.Context, input *waf.DeleteRegexMatchSetInput, opts ...request.Option) (*waf.DeleteRegexMatchSetOutput, error) {
3038	req, out := c.DeleteRegexMatchSetRequest(input)
3039	req.SetContext(ctx)
3040	req.ApplyOptions(opts...)
3041	return out, req.Send()
3042}
3043
3044const opDeleteRegexPatternSet = "DeleteRegexPatternSet"
3045
3046// DeleteRegexPatternSetRequest generates a "aws/request.Request" representing the
3047// client's request for the DeleteRegexPatternSet operation. The "output" return
3048// value will be populated with the request's response once the request completes
3049// successfully.
3050//
3051// Use "Send" method on the returned Request to send the API call to the service.
3052// the "output" return value is not valid until after Send returns without error.
3053//
3054// See DeleteRegexPatternSet for more information on using the DeleteRegexPatternSet
3055// API call, and error handling.
3056//
3057// This method is useful when you want to inject custom logic or configuration
3058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3059//
3060//
3061//    // Example sending a request using the DeleteRegexPatternSetRequest method.
3062//    req, resp := client.DeleteRegexPatternSetRequest(params)
3063//
3064//    err := req.Send()
3065//    if err == nil { // resp is now filled
3066//        fmt.Println(resp)
3067//    }
3068//
3069// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet
3070func (c *WAFRegional) DeleteRegexPatternSetRequest(input *waf.DeleteRegexPatternSetInput) (req *request.Request, output *waf.DeleteRegexPatternSetOutput) {
3071	op := &request.Operation{
3072		Name:       opDeleteRegexPatternSet,
3073		HTTPMethod: "POST",
3074		HTTPPath:   "/",
3075	}
3076
3077	if input == nil {
3078		input = &waf.DeleteRegexPatternSetInput{}
3079	}
3080
3081	output = &waf.DeleteRegexPatternSetOutput{}
3082	req = c.newRequest(op, input, output)
3083	return
3084}
3085
3086// DeleteRegexPatternSet API operation for AWS WAF Regional.
3087//
3088//
3089// This is AWS WAF Classic documentation. For more information, see AWS WAF
3090// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3091// in the developer guide.
3092//
3093// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3094// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3095// With the latest version, AWS WAF has a single set of endpoints for regional
3096// and global use.
3097//
3098// Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet
3099// if it's still used in any RegexMatchSet or if the RegexPatternSet is not
3100// empty.
3101//
3102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3103// with awserr.Error's Code and Message methods to get detailed information about
3104// the error.
3105//
3106// See the AWS API reference guide for AWS WAF Regional's
3107// API operation DeleteRegexPatternSet for usage and error information.
3108//
3109// Returned Error Types:
3110//   * WAFInternalErrorException
3111//   The operation failed because of a system problem, even though the request
3112//   was valid. Retry your request.
3113//
3114//   * WAFInvalidAccountException
3115//   The operation failed because you tried to create, update, or delete an object
3116//   by using an invalid account identifier.
3117//
3118//   * WAFNonexistentItemException
3119//   The operation failed because the referenced object doesn't exist.
3120//
3121//   * WAFReferencedItemException
3122//   The operation failed because you tried to delete an object that is still
3123//   in use. For example:
3124//
3125//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3126//
3127//      * You tried to delete a Rule that is still referenced by a WebACL.
3128//
3129//   * WAFStaleDataException
3130//   The operation failed because you tried to create, update, or delete an object
3131//   by using a change token that has already been used.
3132//
3133//   * WAFNonEmptyEntityException
3134//   The operation failed because you tried to delete an object that isn't empty.
3135//   For example:
3136//
3137//      * You tried to delete a WebACL that still contains one or more Rule objects.
3138//
3139//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3140//      objects or other predicates.
3141//
3142//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3143//      objects.
3144//
3145//      * You tried to delete an IPSet that references one or more IP addresses.
3146//
3147// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet
3148func (c *WAFRegional) DeleteRegexPatternSet(input *waf.DeleteRegexPatternSetInput) (*waf.DeleteRegexPatternSetOutput, error) {
3149	req, out := c.DeleteRegexPatternSetRequest(input)
3150	return out, req.Send()
3151}
3152
3153// DeleteRegexPatternSetWithContext is the same as DeleteRegexPatternSet with the addition of
3154// the ability to pass a context and additional request options.
3155//
3156// See DeleteRegexPatternSet for details on how to use this API operation.
3157//
3158// The context must be non-nil and will be used for request cancellation. If
3159// the context is nil a panic will occur. In the future the SDK may create
3160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3161// for more information on using Contexts.
3162func (c *WAFRegional) DeleteRegexPatternSetWithContext(ctx aws.Context, input *waf.DeleteRegexPatternSetInput, opts ...request.Option) (*waf.DeleteRegexPatternSetOutput, error) {
3163	req, out := c.DeleteRegexPatternSetRequest(input)
3164	req.SetContext(ctx)
3165	req.ApplyOptions(opts...)
3166	return out, req.Send()
3167}
3168
3169const opDeleteRule = "DeleteRule"
3170
3171// DeleteRuleRequest generates a "aws/request.Request" representing the
3172// client's request for the DeleteRule operation. The "output" return
3173// value will be populated with the request's response once the request completes
3174// successfully.
3175//
3176// Use "Send" method on the returned Request to send the API call to the service.
3177// the "output" return value is not valid until after Send returns without error.
3178//
3179// See DeleteRule for more information on using the DeleteRule
3180// API call, and error handling.
3181//
3182// This method is useful when you want to inject custom logic or configuration
3183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3184//
3185//
3186//    // Example sending a request using the DeleteRuleRequest method.
3187//    req, resp := client.DeleteRuleRequest(params)
3188//
3189//    err := req.Send()
3190//    if err == nil { // resp is now filled
3191//        fmt.Println(resp)
3192//    }
3193//
3194// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule
3195func (c *WAFRegional) DeleteRuleRequest(input *waf.DeleteRuleInput) (req *request.Request, output *waf.DeleteRuleOutput) {
3196	op := &request.Operation{
3197		Name:       opDeleteRule,
3198		HTTPMethod: "POST",
3199		HTTPPath:   "/",
3200	}
3201
3202	if input == nil {
3203		input = &waf.DeleteRuleInput{}
3204	}
3205
3206	output = &waf.DeleteRuleOutput{}
3207	req = c.newRequest(op, input, output)
3208	return
3209}
3210
3211// DeleteRule API operation for AWS WAF Regional.
3212//
3213//
3214// This is AWS WAF Classic documentation. For more information, see AWS WAF
3215// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3216// in the developer guide.
3217//
3218// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3219// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3220// With the latest version, AWS WAF has a single set of endpoints for regional
3221// and global use.
3222//
3223// Permanently deletes a Rule. You can't delete a Rule if it's still used in
3224// any WebACL objects or if it still includes any predicates, such as ByteMatchSet
3225// objects.
3226//
3227// If you just want to remove a Rule from a WebACL, use UpdateWebACL.
3228//
3229// To permanently delete a Rule from AWS WAF, perform the following steps:
3230//
3231// Update the Rule to remove predicates, if any. For more information, see UpdateRule.
3232//
3233// Use GetChangeToken to get the change token that you provide in the ChangeToken
3234// parameter of a DeleteRule request.
3235//
3236// Submit a DeleteRule request.
3237//
3238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3239// with awserr.Error's Code and Message methods to get detailed information about
3240// the error.
3241//
3242// See the AWS API reference guide for AWS WAF Regional's
3243// API operation DeleteRule for usage and error information.
3244//
3245// Returned Error Types:
3246//   * WAFStaleDataException
3247//   The operation failed because you tried to create, update, or delete an object
3248//   by using a change token that has already been used.
3249//
3250//   * WAFInternalErrorException
3251//   The operation failed because of a system problem, even though the request
3252//   was valid. Retry your request.
3253//
3254//   * WAFInvalidAccountException
3255//   The operation failed because you tried to create, update, or delete an object
3256//   by using an invalid account identifier.
3257//
3258//   * WAFNonexistentItemException
3259//   The operation failed because the referenced object doesn't exist.
3260//
3261//   * WAFReferencedItemException
3262//   The operation failed because you tried to delete an object that is still
3263//   in use. For example:
3264//
3265//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3266//
3267//      * You tried to delete a Rule that is still referenced by a WebACL.
3268//
3269//   * WAFNonEmptyEntityException
3270//   The operation failed because you tried to delete an object that isn't empty.
3271//   For example:
3272//
3273//      * You tried to delete a WebACL that still contains one or more Rule objects.
3274//
3275//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3276//      objects or other predicates.
3277//
3278//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3279//      objects.
3280//
3281//      * You tried to delete an IPSet that references one or more IP addresses.
3282//
3283//   * WAFTagOperationException
3284//
3285//   * WAFTagOperationInternalErrorException
3286//
3287// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule
3288func (c *WAFRegional) DeleteRule(input *waf.DeleteRuleInput) (*waf.DeleteRuleOutput, error) {
3289	req, out := c.DeleteRuleRequest(input)
3290	return out, req.Send()
3291}
3292
3293// DeleteRuleWithContext is the same as DeleteRule with the addition of
3294// the ability to pass a context and additional request options.
3295//
3296// See DeleteRule for details on how to use this API operation.
3297//
3298// The context must be non-nil and will be used for request cancellation. If
3299// the context is nil a panic will occur. In the future the SDK may create
3300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3301// for more information on using Contexts.
3302func (c *WAFRegional) DeleteRuleWithContext(ctx aws.Context, input *waf.DeleteRuleInput, opts ...request.Option) (*waf.DeleteRuleOutput, error) {
3303	req, out := c.DeleteRuleRequest(input)
3304	req.SetContext(ctx)
3305	req.ApplyOptions(opts...)
3306	return out, req.Send()
3307}
3308
3309const opDeleteRuleGroup = "DeleteRuleGroup"
3310
3311// DeleteRuleGroupRequest generates a "aws/request.Request" representing the
3312// client's request for the DeleteRuleGroup operation. The "output" return
3313// value will be populated with the request's response once the request completes
3314// successfully.
3315//
3316// Use "Send" method on the returned Request to send the API call to the service.
3317// the "output" return value is not valid until after Send returns without error.
3318//
3319// See DeleteRuleGroup for more information on using the DeleteRuleGroup
3320// API call, and error handling.
3321//
3322// This method is useful when you want to inject custom logic or configuration
3323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3324//
3325//
3326//    // Example sending a request using the DeleteRuleGroupRequest method.
3327//    req, resp := client.DeleteRuleGroupRequest(params)
3328//
3329//    err := req.Send()
3330//    if err == nil { // resp is now filled
3331//        fmt.Println(resp)
3332//    }
3333//
3334// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup
3335func (c *WAFRegional) DeleteRuleGroupRequest(input *waf.DeleteRuleGroupInput) (req *request.Request, output *waf.DeleteRuleGroupOutput) {
3336	op := &request.Operation{
3337		Name:       opDeleteRuleGroup,
3338		HTTPMethod: "POST",
3339		HTTPPath:   "/",
3340	}
3341
3342	if input == nil {
3343		input = &waf.DeleteRuleGroupInput{}
3344	}
3345
3346	output = &waf.DeleteRuleGroupOutput{}
3347	req = c.newRequest(op, input, output)
3348	return
3349}
3350
3351// DeleteRuleGroup API operation for AWS WAF Regional.
3352//
3353//
3354// This is AWS WAF Classic documentation. For more information, see AWS WAF
3355// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3356// in the developer guide.
3357//
3358// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3359// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3360// With the latest version, AWS WAF has a single set of endpoints for regional
3361// and global use.
3362//
3363// Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still
3364// used in any WebACL objects or if it still includes any rules.
3365//
3366// If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.
3367//
3368// To permanently delete a RuleGroup from AWS WAF, perform the following steps:
3369//
3370// Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.
3371//
3372// Use GetChangeToken to get the change token that you provide in the ChangeToken
3373// parameter of a DeleteRuleGroup request.
3374//
3375// Submit a DeleteRuleGroup request.
3376//
3377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3378// with awserr.Error's Code and Message methods to get detailed information about
3379// the error.
3380//
3381// See the AWS API reference guide for AWS WAF Regional's
3382// API operation DeleteRuleGroup for usage and error information.
3383//
3384// Returned Error Types:
3385//   * WAFStaleDataException
3386//   The operation failed because you tried to create, update, or delete an object
3387//   by using a change token that has already been used.
3388//
3389//   * WAFInternalErrorException
3390//   The operation failed because of a system problem, even though the request
3391//   was valid. Retry your request.
3392//
3393//   * WAFNonexistentItemException
3394//   The operation failed because the referenced object doesn't exist.
3395//
3396//   * WAFReferencedItemException
3397//   The operation failed because you tried to delete an object that is still
3398//   in use. For example:
3399//
3400//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3401//
3402//      * You tried to delete a Rule that is still referenced by a WebACL.
3403//
3404//   * WAFNonEmptyEntityException
3405//   The operation failed because you tried to delete an object that isn't empty.
3406//   For example:
3407//
3408//      * You tried to delete a WebACL that still contains one or more Rule objects.
3409//
3410//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3411//      objects or other predicates.
3412//
3413//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3414//      objects.
3415//
3416//      * You tried to delete an IPSet that references one or more IP addresses.
3417//
3418//   * WAFInvalidOperationException
3419//   The operation failed because there was nothing to do. For example:
3420//
3421//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
3422//      specified WebACL.
3423//
3424//      * You tried to remove an IP address from an IPSet, but the IP address
3425//      isn't in the specified IPSet.
3426//
3427//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
3428//      isn't in the specified WebACL.
3429//
3430//      * You tried to add a Rule to a WebACL, but the Rule already exists in
3431//      the specified WebACL.
3432//
3433//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
3434//      already exists in the specified WebACL.
3435//
3436//   * WAFTagOperationException
3437//
3438//   * WAFTagOperationInternalErrorException
3439//
3440// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup
3441func (c *WAFRegional) DeleteRuleGroup(input *waf.DeleteRuleGroupInput) (*waf.DeleteRuleGroupOutput, error) {
3442	req, out := c.DeleteRuleGroupRequest(input)
3443	return out, req.Send()
3444}
3445
3446// DeleteRuleGroupWithContext is the same as DeleteRuleGroup with the addition of
3447// the ability to pass a context and additional request options.
3448//
3449// See DeleteRuleGroup for details on how to use this API operation.
3450//
3451// The context must be non-nil and will be used for request cancellation. If
3452// the context is nil a panic will occur. In the future the SDK may create
3453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3454// for more information on using Contexts.
3455func (c *WAFRegional) DeleteRuleGroupWithContext(ctx aws.Context, input *waf.DeleteRuleGroupInput, opts ...request.Option) (*waf.DeleteRuleGroupOutput, error) {
3456	req, out := c.DeleteRuleGroupRequest(input)
3457	req.SetContext(ctx)
3458	req.ApplyOptions(opts...)
3459	return out, req.Send()
3460}
3461
3462const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet"
3463
3464// DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the
3465// client's request for the DeleteSizeConstraintSet operation. The "output" return
3466// value will be populated with the request's response once the request completes
3467// successfully.
3468//
3469// Use "Send" method on the returned Request to send the API call to the service.
3470// the "output" return value is not valid until after Send returns without error.
3471//
3472// See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet
3473// API call, and error handling.
3474//
3475// This method is useful when you want to inject custom logic or configuration
3476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3477//
3478//
3479//    // Example sending a request using the DeleteSizeConstraintSetRequest method.
3480//    req, resp := client.DeleteSizeConstraintSetRequest(params)
3481//
3482//    err := req.Send()
3483//    if err == nil { // resp is now filled
3484//        fmt.Println(resp)
3485//    }
3486//
3487// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet
3488func (c *WAFRegional) DeleteSizeConstraintSetRequest(input *waf.DeleteSizeConstraintSetInput) (req *request.Request, output *waf.DeleteSizeConstraintSetOutput) {
3489	op := &request.Operation{
3490		Name:       opDeleteSizeConstraintSet,
3491		HTTPMethod: "POST",
3492		HTTPPath:   "/",
3493	}
3494
3495	if input == nil {
3496		input = &waf.DeleteSizeConstraintSetInput{}
3497	}
3498
3499	output = &waf.DeleteSizeConstraintSetOutput{}
3500	req = c.newRequest(op, input, output)
3501	return
3502}
3503
3504// DeleteSizeConstraintSet API operation for AWS WAF Regional.
3505//
3506//
3507// This is AWS WAF Classic documentation. For more information, see AWS WAF
3508// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3509// in the developer guide.
3510//
3511// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3512// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3513// With the latest version, AWS WAF has a single set of endpoints for regional
3514// and global use.
3515//
3516// Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet
3517// if it's still used in any Rules or if it still includes any SizeConstraint
3518// objects (any filters).
3519//
3520// If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.
3521//
3522// To permanently delete a SizeConstraintSet, perform the following steps:
3523//
3524// Update the SizeConstraintSet to remove filters, if any. For more information,
3525// see UpdateSizeConstraintSet.
3526//
3527// Use GetChangeToken to get the change token that you provide in the ChangeToken
3528// parameter of a DeleteSizeConstraintSet request.
3529//
3530// Submit a DeleteSizeConstraintSet request.
3531//
3532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3533// with awserr.Error's Code and Message methods to get detailed information about
3534// the error.
3535//
3536// See the AWS API reference guide for AWS WAF Regional's
3537// API operation DeleteSizeConstraintSet for usage and error information.
3538//
3539// Returned Error Types:
3540//   * WAFStaleDataException
3541//   The operation failed because you tried to create, update, or delete an object
3542//   by using a change token that has already been used.
3543//
3544//   * WAFInternalErrorException
3545//   The operation failed because of a system problem, even though the request
3546//   was valid. Retry your request.
3547//
3548//   * WAFInvalidAccountException
3549//   The operation failed because you tried to create, update, or delete an object
3550//   by using an invalid account identifier.
3551//
3552//   * WAFNonexistentItemException
3553//   The operation failed because the referenced object doesn't exist.
3554//
3555//   * WAFReferencedItemException
3556//   The operation failed because you tried to delete an object that is still
3557//   in use. For example:
3558//
3559//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3560//
3561//      * You tried to delete a Rule that is still referenced by a WebACL.
3562//
3563//   * WAFNonEmptyEntityException
3564//   The operation failed because you tried to delete an object that isn't empty.
3565//   For example:
3566//
3567//      * You tried to delete a WebACL that still contains one or more Rule objects.
3568//
3569//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3570//      objects or other predicates.
3571//
3572//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3573//      objects.
3574//
3575//      * You tried to delete an IPSet that references one or more IP addresses.
3576//
3577// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet
3578func (c *WAFRegional) DeleteSizeConstraintSet(input *waf.DeleteSizeConstraintSetInput) (*waf.DeleteSizeConstraintSetOutput, error) {
3579	req, out := c.DeleteSizeConstraintSetRequest(input)
3580	return out, req.Send()
3581}
3582
3583// DeleteSizeConstraintSetWithContext is the same as DeleteSizeConstraintSet with the addition of
3584// the ability to pass a context and additional request options.
3585//
3586// See DeleteSizeConstraintSet for details on how to use this API operation.
3587//
3588// The context must be non-nil and will be used for request cancellation. If
3589// the context is nil a panic will occur. In the future the SDK may create
3590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3591// for more information on using Contexts.
3592func (c *WAFRegional) DeleteSizeConstraintSetWithContext(ctx aws.Context, input *waf.DeleteSizeConstraintSetInput, opts ...request.Option) (*waf.DeleteSizeConstraintSetOutput, error) {
3593	req, out := c.DeleteSizeConstraintSetRequest(input)
3594	req.SetContext(ctx)
3595	req.ApplyOptions(opts...)
3596	return out, req.Send()
3597}
3598
3599const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet"
3600
3601// DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
3602// client's request for the DeleteSqlInjectionMatchSet operation. The "output" return
3603// value will be populated with the request's response once the request completes
3604// successfully.
3605//
3606// Use "Send" method on the returned Request to send the API call to the service.
3607// the "output" return value is not valid until after Send returns without error.
3608//
3609// See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet
3610// API call, and error handling.
3611//
3612// This method is useful when you want to inject custom logic or configuration
3613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3614//
3615//
3616//    // Example sending a request using the DeleteSqlInjectionMatchSetRequest method.
3617//    req, resp := client.DeleteSqlInjectionMatchSetRequest(params)
3618//
3619//    err := req.Send()
3620//    if err == nil { // resp is now filled
3621//        fmt.Println(resp)
3622//    }
3623//
3624// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet
3625func (c *WAFRegional) DeleteSqlInjectionMatchSetRequest(input *waf.DeleteSqlInjectionMatchSetInput) (req *request.Request, output *waf.DeleteSqlInjectionMatchSetOutput) {
3626	op := &request.Operation{
3627		Name:       opDeleteSqlInjectionMatchSet,
3628		HTTPMethod: "POST",
3629		HTTPPath:   "/",
3630	}
3631
3632	if input == nil {
3633		input = &waf.DeleteSqlInjectionMatchSetInput{}
3634	}
3635
3636	output = &waf.DeleteSqlInjectionMatchSetOutput{}
3637	req = c.newRequest(op, input, output)
3638	return
3639}
3640
3641// DeleteSqlInjectionMatchSet API operation for AWS WAF Regional.
3642//
3643//
3644// This is AWS WAF Classic documentation. For more information, see AWS WAF
3645// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3646// in the developer guide.
3647//
3648// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3649// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3650// With the latest version, AWS WAF has a single set of endpoints for regional
3651// and global use.
3652//
3653// Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet
3654// if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple
3655// objects.
3656//
3657// If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.
3658//
3659// To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following
3660// steps:
3661//
3662// Update the SqlInjectionMatchSet to remove filters, if any. For more information,
3663// see UpdateSqlInjectionMatchSet.
3664//
3665// Use GetChangeToken to get the change token that you provide in the ChangeToken
3666// parameter of a DeleteSqlInjectionMatchSet request.
3667//
3668// Submit a DeleteSqlInjectionMatchSet request.
3669//
3670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3671// with awserr.Error's Code and Message methods to get detailed information about
3672// the error.
3673//
3674// See the AWS API reference guide for AWS WAF Regional's
3675// API operation DeleteSqlInjectionMatchSet for usage and error information.
3676//
3677// Returned Error Types:
3678//   * WAFInternalErrorException
3679//   The operation failed because of a system problem, even though the request
3680//   was valid. Retry your request.
3681//
3682//   * WAFInvalidAccountException
3683//   The operation failed because you tried to create, update, or delete an object
3684//   by using an invalid account identifier.
3685//
3686//   * WAFNonexistentItemException
3687//   The operation failed because the referenced object doesn't exist.
3688//
3689//   * WAFReferencedItemException
3690//   The operation failed because you tried to delete an object that is still
3691//   in use. For example:
3692//
3693//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3694//
3695//      * You tried to delete a Rule that is still referenced by a WebACL.
3696//
3697//   * WAFStaleDataException
3698//   The operation failed because you tried to create, update, or delete an object
3699//   by using a change token that has already been used.
3700//
3701//   * WAFNonEmptyEntityException
3702//   The operation failed because you tried to delete an object that isn't empty.
3703//   For example:
3704//
3705//      * You tried to delete a WebACL that still contains one or more Rule objects.
3706//
3707//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3708//      objects or other predicates.
3709//
3710//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3711//      objects.
3712//
3713//      * You tried to delete an IPSet that references one or more IP addresses.
3714//
3715// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet
3716func (c *WAFRegional) DeleteSqlInjectionMatchSet(input *waf.DeleteSqlInjectionMatchSetInput) (*waf.DeleteSqlInjectionMatchSetOutput, error) {
3717	req, out := c.DeleteSqlInjectionMatchSetRequest(input)
3718	return out, req.Send()
3719}
3720
3721// DeleteSqlInjectionMatchSetWithContext is the same as DeleteSqlInjectionMatchSet with the addition of
3722// the ability to pass a context and additional request options.
3723//
3724// See DeleteSqlInjectionMatchSet for details on how to use this API operation.
3725//
3726// The context must be non-nil and will be used for request cancellation. If
3727// the context is nil a panic will occur. In the future the SDK may create
3728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3729// for more information on using Contexts.
3730func (c *WAFRegional) DeleteSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.DeleteSqlInjectionMatchSetInput, opts ...request.Option) (*waf.DeleteSqlInjectionMatchSetOutput, error) {
3731	req, out := c.DeleteSqlInjectionMatchSetRequest(input)
3732	req.SetContext(ctx)
3733	req.ApplyOptions(opts...)
3734	return out, req.Send()
3735}
3736
3737const opDeleteWebACL = "DeleteWebACL"
3738
3739// DeleteWebACLRequest generates a "aws/request.Request" representing the
3740// client's request for the DeleteWebACL operation. The "output" return
3741// value will be populated with the request's response once the request completes
3742// successfully.
3743//
3744// Use "Send" method on the returned Request to send the API call to the service.
3745// the "output" return value is not valid until after Send returns without error.
3746//
3747// See DeleteWebACL for more information on using the DeleteWebACL
3748// API call, and error handling.
3749//
3750// This method is useful when you want to inject custom logic or configuration
3751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3752//
3753//
3754//    // Example sending a request using the DeleteWebACLRequest method.
3755//    req, resp := client.DeleteWebACLRequest(params)
3756//
3757//    err := req.Send()
3758//    if err == nil { // resp is now filled
3759//        fmt.Println(resp)
3760//    }
3761//
3762// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL
3763func (c *WAFRegional) DeleteWebACLRequest(input *waf.DeleteWebACLInput) (req *request.Request, output *waf.DeleteWebACLOutput) {
3764	op := &request.Operation{
3765		Name:       opDeleteWebACL,
3766		HTTPMethod: "POST",
3767		HTTPPath:   "/",
3768	}
3769
3770	if input == nil {
3771		input = &waf.DeleteWebACLInput{}
3772	}
3773
3774	output = &waf.DeleteWebACLOutput{}
3775	req = c.newRequest(op, input, output)
3776	return
3777}
3778
3779// DeleteWebACL API operation for AWS WAF Regional.
3780//
3781//
3782// This is AWS WAF Classic documentation. For more information, see AWS WAF
3783// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3784// in the developer guide.
3785//
3786// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3787// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3788// With the latest version, AWS WAF has a single set of endpoints for regional
3789// and global use.
3790//
3791// Permanently deletes a WebACL. You can't delete a WebACL if it still contains
3792// any Rules.
3793//
3794// To delete a WebACL, perform the following steps:
3795//
3796// Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.
3797//
3798// Use GetChangeToken to get the change token that you provide in the ChangeToken
3799// parameter of a DeleteWebACL request.
3800//
3801// Submit a DeleteWebACL request.
3802//
3803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3804// with awserr.Error's Code and Message methods to get detailed information about
3805// the error.
3806//
3807// See the AWS API reference guide for AWS WAF Regional's
3808// API operation DeleteWebACL for usage and error information.
3809//
3810// Returned Error Types:
3811//   * WAFStaleDataException
3812//   The operation failed because you tried to create, update, or delete an object
3813//   by using a change token that has already been used.
3814//
3815//   * WAFInternalErrorException
3816//   The operation failed because of a system problem, even though the request
3817//   was valid. Retry your request.
3818//
3819//   * WAFInvalidAccountException
3820//   The operation failed because you tried to create, update, or delete an object
3821//   by using an invalid account identifier.
3822//
3823//   * WAFNonexistentItemException
3824//   The operation failed because the referenced object doesn't exist.
3825//
3826//   * WAFReferencedItemException
3827//   The operation failed because you tried to delete an object that is still
3828//   in use. For example:
3829//
3830//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3831//
3832//      * You tried to delete a Rule that is still referenced by a WebACL.
3833//
3834//   * WAFNonEmptyEntityException
3835//   The operation failed because you tried to delete an object that isn't empty.
3836//   For example:
3837//
3838//      * You tried to delete a WebACL that still contains one or more Rule objects.
3839//
3840//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3841//      objects or other predicates.
3842//
3843//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3844//      objects.
3845//
3846//      * You tried to delete an IPSet that references one or more IP addresses.
3847//
3848//   * WAFTagOperationException
3849//
3850//   * WAFTagOperationInternalErrorException
3851//
3852// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL
3853func (c *WAFRegional) DeleteWebACL(input *waf.DeleteWebACLInput) (*waf.DeleteWebACLOutput, error) {
3854	req, out := c.DeleteWebACLRequest(input)
3855	return out, req.Send()
3856}
3857
3858// DeleteWebACLWithContext is the same as DeleteWebACL with the addition of
3859// the ability to pass a context and additional request options.
3860//
3861// See DeleteWebACL for details on how to use this API operation.
3862//
3863// The context must be non-nil and will be used for request cancellation. If
3864// the context is nil a panic will occur. In the future the SDK may create
3865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3866// for more information on using Contexts.
3867func (c *WAFRegional) DeleteWebACLWithContext(ctx aws.Context, input *waf.DeleteWebACLInput, opts ...request.Option) (*waf.DeleteWebACLOutput, error) {
3868	req, out := c.DeleteWebACLRequest(input)
3869	req.SetContext(ctx)
3870	req.ApplyOptions(opts...)
3871	return out, req.Send()
3872}
3873
3874const opDeleteXssMatchSet = "DeleteXssMatchSet"
3875
3876// DeleteXssMatchSetRequest generates a "aws/request.Request" representing the
3877// client's request for the DeleteXssMatchSet operation. The "output" return
3878// value will be populated with the request's response once the request completes
3879// successfully.
3880//
3881// Use "Send" method on the returned Request to send the API call to the service.
3882// the "output" return value is not valid until after Send returns without error.
3883//
3884// See DeleteXssMatchSet for more information on using the DeleteXssMatchSet
3885// API call, and error handling.
3886//
3887// This method is useful when you want to inject custom logic or configuration
3888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3889//
3890//
3891//    // Example sending a request using the DeleteXssMatchSetRequest method.
3892//    req, resp := client.DeleteXssMatchSetRequest(params)
3893//
3894//    err := req.Send()
3895//    if err == nil { // resp is now filled
3896//        fmt.Println(resp)
3897//    }
3898//
3899// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet
3900func (c *WAFRegional) DeleteXssMatchSetRequest(input *waf.DeleteXssMatchSetInput) (req *request.Request, output *waf.DeleteXssMatchSetOutput) {
3901	op := &request.Operation{
3902		Name:       opDeleteXssMatchSet,
3903		HTTPMethod: "POST",
3904		HTTPPath:   "/",
3905	}
3906
3907	if input == nil {
3908		input = &waf.DeleteXssMatchSetInput{}
3909	}
3910
3911	output = &waf.DeleteXssMatchSetOutput{}
3912	req = c.newRequest(op, input, output)
3913	return
3914}
3915
3916// DeleteXssMatchSet API operation for AWS WAF Regional.
3917//
3918//
3919// This is AWS WAF Classic documentation. For more information, see AWS WAF
3920// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
3921// in the developer guide.
3922//
3923// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
3924// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
3925// With the latest version, AWS WAF has a single set of endpoints for regional
3926// and global use.
3927//
3928// Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's
3929// still used in any Rules or if it still contains any XssMatchTuple objects.
3930//
3931// If you just want to remove an XssMatchSet from a Rule, use UpdateRule.
3932//
3933// To permanently delete an XssMatchSet from AWS WAF, perform the following
3934// steps:
3935//
3936// Update the XssMatchSet to remove filters, if any. For more information, see
3937// UpdateXssMatchSet.
3938//
3939// Use GetChangeToken to get the change token that you provide in the ChangeToken
3940// parameter of a DeleteXssMatchSet request.
3941//
3942// Submit a DeleteXssMatchSet request.
3943//
3944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3945// with awserr.Error's Code and Message methods to get detailed information about
3946// the error.
3947//
3948// See the AWS API reference guide for AWS WAF Regional's
3949// API operation DeleteXssMatchSet for usage and error information.
3950//
3951// Returned Error Types:
3952//   * WAFInternalErrorException
3953//   The operation failed because of a system problem, even though the request
3954//   was valid. Retry your request.
3955//
3956//   * WAFInvalidAccountException
3957//   The operation failed because you tried to create, update, or delete an object
3958//   by using an invalid account identifier.
3959//
3960//   * WAFNonexistentItemException
3961//   The operation failed because the referenced object doesn't exist.
3962//
3963//   * WAFReferencedItemException
3964//   The operation failed because you tried to delete an object that is still
3965//   in use. For example:
3966//
3967//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
3968//
3969//      * You tried to delete a Rule that is still referenced by a WebACL.
3970//
3971//   * WAFStaleDataException
3972//   The operation failed because you tried to create, update, or delete an object
3973//   by using a change token that has already been used.
3974//
3975//   * WAFNonEmptyEntityException
3976//   The operation failed because you tried to delete an object that isn't empty.
3977//   For example:
3978//
3979//      * You tried to delete a WebACL that still contains one or more Rule objects.
3980//
3981//      * You tried to delete a Rule that still contains one or more ByteMatchSet
3982//      objects or other predicates.
3983//
3984//      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
3985//      objects.
3986//
3987//      * You tried to delete an IPSet that references one or more IP addresses.
3988//
3989// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet
3990func (c *WAFRegional) DeleteXssMatchSet(input *waf.DeleteXssMatchSetInput) (*waf.DeleteXssMatchSetOutput, error) {
3991	req, out := c.DeleteXssMatchSetRequest(input)
3992	return out, req.Send()
3993}
3994
3995// DeleteXssMatchSetWithContext is the same as DeleteXssMatchSet with the addition of
3996// the ability to pass a context and additional request options.
3997//
3998// See DeleteXssMatchSet for details on how to use this API operation.
3999//
4000// The context must be non-nil and will be used for request cancellation. If
4001// the context is nil a panic will occur. In the future the SDK may create
4002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4003// for more information on using Contexts.
4004func (c *WAFRegional) DeleteXssMatchSetWithContext(ctx aws.Context, input *waf.DeleteXssMatchSetInput, opts ...request.Option) (*waf.DeleteXssMatchSetOutput, error) {
4005	req, out := c.DeleteXssMatchSetRequest(input)
4006	req.SetContext(ctx)
4007	req.ApplyOptions(opts...)
4008	return out, req.Send()
4009}
4010
4011const opDisassociateWebACL = "DisassociateWebACL"
4012
4013// DisassociateWebACLRequest generates a "aws/request.Request" representing the
4014// client's request for the DisassociateWebACL operation. The "output" return
4015// value will be populated with the request's response once the request completes
4016// successfully.
4017//
4018// Use "Send" method on the returned Request to send the API call to the service.
4019// the "output" return value is not valid until after Send returns without error.
4020//
4021// See DisassociateWebACL for more information on using the DisassociateWebACL
4022// API call, and error handling.
4023//
4024// This method is useful when you want to inject custom logic or configuration
4025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4026//
4027//
4028//    // Example sending a request using the DisassociateWebACLRequest method.
4029//    req, resp := client.DisassociateWebACLRequest(params)
4030//
4031//    err := req.Send()
4032//    if err == nil { // resp is now filled
4033//        fmt.Println(resp)
4034//    }
4035//
4036// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL
4037func (c *WAFRegional) DisassociateWebACLRequest(input *DisassociateWebACLInput) (req *request.Request, output *DisassociateWebACLOutput) {
4038	op := &request.Operation{
4039		Name:       opDisassociateWebACL,
4040		HTTPMethod: "POST",
4041		HTTPPath:   "/",
4042	}
4043
4044	if input == nil {
4045		input = &DisassociateWebACLInput{}
4046	}
4047
4048	output = &DisassociateWebACLOutput{}
4049	req = c.newRequest(op, input, output)
4050	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4051	return
4052}
4053
4054// DisassociateWebACL API operation for AWS WAF Regional.
4055//
4056//
4057// This is AWS WAF Classic Regional documentation. For more information, see
4058// AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4059// in the developer guide.
4060//
4061// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4062// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4063// With the latest version, AWS WAF has a single set of endpoints for regional
4064// and global use.
4065//
4066// Removes a web ACL from the specified resource, either an application load
4067// balancer or Amazon API Gateway stage.
4068//
4069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4070// with awserr.Error's Code and Message methods to get detailed information about
4071// the error.
4072//
4073// See the AWS API reference guide for AWS WAF Regional's
4074// API operation DisassociateWebACL for usage and error information.
4075//
4076// Returned Error Types:
4077//   * WAFInternalErrorException
4078//   The operation failed because of a system problem, even though the request
4079//   was valid. Retry your request.
4080//
4081//   * WAFInvalidAccountException
4082//   The operation failed because you tried to create, update, or delete an object
4083//   by using an invalid account identifier.
4084//
4085//   * WAFInvalidParameterException
4086//   The operation failed because AWS WAF didn't recognize a parameter in the
4087//   request. For example:
4088//
4089//      * You specified an invalid parameter name.
4090//
4091//      * You specified an invalid value.
4092//
4093//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
4094//      using an action other than INSERT or DELETE.
4095//
4096//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
4097//      BLOCK, or COUNT.
4098//
4099//      * You tried to create a RateBasedRule with a RateKey value other than
4100//      IP.
4101//
4102//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
4103//      BLOCK, or COUNT.
4104//
4105//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
4106//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
4107//
4108//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
4109//      for Data.
4110//
4111//      * Your request references an ARN that is malformed, or corresponds to
4112//      a resource with which a web ACL cannot be associated.
4113//
4114//   * WAFNonexistentItemException
4115//   The operation failed because the referenced object doesn't exist.
4116//
4117// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL
4118func (c *WAFRegional) DisassociateWebACL(input *DisassociateWebACLInput) (*DisassociateWebACLOutput, error) {
4119	req, out := c.DisassociateWebACLRequest(input)
4120	return out, req.Send()
4121}
4122
4123// DisassociateWebACLWithContext is the same as DisassociateWebACL with the addition of
4124// the ability to pass a context and additional request options.
4125//
4126// See DisassociateWebACL for details on how to use this API operation.
4127//
4128// The context must be non-nil and will be used for request cancellation. If
4129// the context is nil a panic will occur. In the future the SDK may create
4130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4131// for more information on using Contexts.
4132func (c *WAFRegional) DisassociateWebACLWithContext(ctx aws.Context, input *DisassociateWebACLInput, opts ...request.Option) (*DisassociateWebACLOutput, error) {
4133	req, out := c.DisassociateWebACLRequest(input)
4134	req.SetContext(ctx)
4135	req.ApplyOptions(opts...)
4136	return out, req.Send()
4137}
4138
4139const opGetByteMatchSet = "GetByteMatchSet"
4140
4141// GetByteMatchSetRequest generates a "aws/request.Request" representing the
4142// client's request for the GetByteMatchSet operation. The "output" return
4143// value will be populated with the request's response once the request completes
4144// successfully.
4145//
4146// Use "Send" method on the returned Request to send the API call to the service.
4147// the "output" return value is not valid until after Send returns without error.
4148//
4149// See GetByteMatchSet for more information on using the GetByteMatchSet
4150// API call, and error handling.
4151//
4152// This method is useful when you want to inject custom logic or configuration
4153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4154//
4155//
4156//    // Example sending a request using the GetByteMatchSetRequest method.
4157//    req, resp := client.GetByteMatchSetRequest(params)
4158//
4159//    err := req.Send()
4160//    if err == nil { // resp is now filled
4161//        fmt.Println(resp)
4162//    }
4163//
4164// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet
4165func (c *WAFRegional) GetByteMatchSetRequest(input *waf.GetByteMatchSetInput) (req *request.Request, output *waf.GetByteMatchSetOutput) {
4166	op := &request.Operation{
4167		Name:       opGetByteMatchSet,
4168		HTTPMethod: "POST",
4169		HTTPPath:   "/",
4170	}
4171
4172	if input == nil {
4173		input = &waf.GetByteMatchSetInput{}
4174	}
4175
4176	output = &waf.GetByteMatchSetOutput{}
4177	req = c.newRequest(op, input, output)
4178	return
4179}
4180
4181// GetByteMatchSet API operation for AWS WAF Regional.
4182//
4183//
4184// This is AWS WAF Classic documentation. For more information, see AWS WAF
4185// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4186// in the developer guide.
4187//
4188// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4189// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4190// With the latest version, AWS WAF has a single set of endpoints for regional
4191// and global use.
4192//
4193// Returns the ByteMatchSet specified by ByteMatchSetId.
4194//
4195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4196// with awserr.Error's Code and Message methods to get detailed information about
4197// the error.
4198//
4199// See the AWS API reference guide for AWS WAF Regional's
4200// API operation GetByteMatchSet for usage and error information.
4201//
4202// Returned Error Types:
4203//   * WAFInternalErrorException
4204//   The operation failed because of a system problem, even though the request
4205//   was valid. Retry your request.
4206//
4207//   * WAFInvalidAccountException
4208//   The operation failed because you tried to create, update, or delete an object
4209//   by using an invalid account identifier.
4210//
4211//   * WAFNonexistentItemException
4212//   The operation failed because the referenced object doesn't exist.
4213//
4214// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet
4215func (c *WAFRegional) GetByteMatchSet(input *waf.GetByteMatchSetInput) (*waf.GetByteMatchSetOutput, error) {
4216	req, out := c.GetByteMatchSetRequest(input)
4217	return out, req.Send()
4218}
4219
4220// GetByteMatchSetWithContext is the same as GetByteMatchSet with the addition of
4221// the ability to pass a context and additional request options.
4222//
4223// See GetByteMatchSet for details on how to use this API operation.
4224//
4225// The context must be non-nil and will be used for request cancellation. If
4226// the context is nil a panic will occur. In the future the SDK may create
4227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4228// for more information on using Contexts.
4229func (c *WAFRegional) GetByteMatchSetWithContext(ctx aws.Context, input *waf.GetByteMatchSetInput, opts ...request.Option) (*waf.GetByteMatchSetOutput, error) {
4230	req, out := c.GetByteMatchSetRequest(input)
4231	req.SetContext(ctx)
4232	req.ApplyOptions(opts...)
4233	return out, req.Send()
4234}
4235
4236const opGetChangeToken = "GetChangeToken"
4237
4238// GetChangeTokenRequest generates a "aws/request.Request" representing the
4239// client's request for the GetChangeToken operation. The "output" return
4240// value will be populated with the request's response once the request completes
4241// successfully.
4242//
4243// Use "Send" method on the returned Request to send the API call to the service.
4244// the "output" return value is not valid until after Send returns without error.
4245//
4246// See GetChangeToken for more information on using the GetChangeToken
4247// API call, and error handling.
4248//
4249// This method is useful when you want to inject custom logic or configuration
4250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4251//
4252//
4253//    // Example sending a request using the GetChangeTokenRequest method.
4254//    req, resp := client.GetChangeTokenRequest(params)
4255//
4256//    err := req.Send()
4257//    if err == nil { // resp is now filled
4258//        fmt.Println(resp)
4259//    }
4260//
4261// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken
4262func (c *WAFRegional) GetChangeTokenRequest(input *waf.GetChangeTokenInput) (req *request.Request, output *waf.GetChangeTokenOutput) {
4263	op := &request.Operation{
4264		Name:       opGetChangeToken,
4265		HTTPMethod: "POST",
4266		HTTPPath:   "/",
4267	}
4268
4269	if input == nil {
4270		input = &waf.GetChangeTokenInput{}
4271	}
4272
4273	output = &waf.GetChangeTokenOutput{}
4274	req = c.newRequest(op, input, output)
4275	return
4276}
4277
4278// GetChangeToken API operation for AWS WAF Regional.
4279//
4280//
4281// This is AWS WAF Classic documentation. For more information, see AWS WAF
4282// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4283// in the developer guide.
4284//
4285// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4286// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4287// With the latest version, AWS WAF has a single set of endpoints for regional
4288// and global use.
4289//
4290// When you want to create, update, or delete AWS WAF objects, get a change
4291// token and include the change token in the create, update, or delete request.
4292// Change tokens ensure that your application doesn't submit conflicting requests
4293// to AWS WAF.
4294//
4295// Each create, update, or delete request must use a unique change token. If
4296// your application submits a GetChangeToken request and then submits a second
4297// GetChangeToken request before submitting a create, update, or delete request,
4298// the second GetChangeToken request returns the same value as the first GetChangeToken
4299// request.
4300//
4301// When you use a change token in a create, update, or delete request, the status
4302// of the change token changes to PENDING, which indicates that AWS WAF is propagating
4303// the change to all AWS WAF servers. Use GetChangeTokenStatus to determine
4304// the status of your change token.
4305//
4306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4307// with awserr.Error's Code and Message methods to get detailed information about
4308// the error.
4309//
4310// See the AWS API reference guide for AWS WAF Regional's
4311// API operation GetChangeToken for usage and error information.
4312//
4313// Returned Error Types:
4314//   * WAFInternalErrorException
4315//   The operation failed because of a system problem, even though the request
4316//   was valid. Retry your request.
4317//
4318// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken
4319func (c *WAFRegional) GetChangeToken(input *waf.GetChangeTokenInput) (*waf.GetChangeTokenOutput, error) {
4320	req, out := c.GetChangeTokenRequest(input)
4321	return out, req.Send()
4322}
4323
4324// GetChangeTokenWithContext is the same as GetChangeToken with the addition of
4325// the ability to pass a context and additional request options.
4326//
4327// See GetChangeToken for details on how to use this API operation.
4328//
4329// The context must be non-nil and will be used for request cancellation. If
4330// the context is nil a panic will occur. In the future the SDK may create
4331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4332// for more information on using Contexts.
4333func (c *WAFRegional) GetChangeTokenWithContext(ctx aws.Context, input *waf.GetChangeTokenInput, opts ...request.Option) (*waf.GetChangeTokenOutput, error) {
4334	req, out := c.GetChangeTokenRequest(input)
4335	req.SetContext(ctx)
4336	req.ApplyOptions(opts...)
4337	return out, req.Send()
4338}
4339
4340const opGetChangeTokenStatus = "GetChangeTokenStatus"
4341
4342// GetChangeTokenStatusRequest generates a "aws/request.Request" representing the
4343// client's request for the GetChangeTokenStatus operation. The "output" return
4344// value will be populated with the request's response once the request completes
4345// successfully.
4346//
4347// Use "Send" method on the returned Request to send the API call to the service.
4348// the "output" return value is not valid until after Send returns without error.
4349//
4350// See GetChangeTokenStatus for more information on using the GetChangeTokenStatus
4351// API call, and error handling.
4352//
4353// This method is useful when you want to inject custom logic or configuration
4354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4355//
4356//
4357//    // Example sending a request using the GetChangeTokenStatusRequest method.
4358//    req, resp := client.GetChangeTokenStatusRequest(params)
4359//
4360//    err := req.Send()
4361//    if err == nil { // resp is now filled
4362//        fmt.Println(resp)
4363//    }
4364//
4365// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus
4366func (c *WAFRegional) GetChangeTokenStatusRequest(input *waf.GetChangeTokenStatusInput) (req *request.Request, output *waf.GetChangeTokenStatusOutput) {
4367	op := &request.Operation{
4368		Name:       opGetChangeTokenStatus,
4369		HTTPMethod: "POST",
4370		HTTPPath:   "/",
4371	}
4372
4373	if input == nil {
4374		input = &waf.GetChangeTokenStatusInput{}
4375	}
4376
4377	output = &waf.GetChangeTokenStatusOutput{}
4378	req = c.newRequest(op, input, output)
4379	return
4380}
4381
4382// GetChangeTokenStatus API operation for AWS WAF Regional.
4383//
4384//
4385// This is AWS WAF Classic documentation. For more information, see AWS WAF
4386// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4387// in the developer guide.
4388//
4389// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4390// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4391// With the latest version, AWS WAF has a single set of endpoints for regional
4392// and global use.
4393//
4394// Returns the status of a ChangeToken that you got by calling GetChangeToken.
4395// ChangeTokenStatus is one of the following values:
4396//
4397//    * PROVISIONED: You requested the change token by calling GetChangeToken,
4398//    but you haven't used it yet in a call to create, update, or delete an
4399//    AWS WAF object.
4400//
4401//    * PENDING: AWS WAF is propagating the create, update, or delete request
4402//    to all AWS WAF servers.
4403//
4404//    * INSYNC: Propagation is complete.
4405//
4406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4407// with awserr.Error's Code and Message methods to get detailed information about
4408// the error.
4409//
4410// See the AWS API reference guide for AWS WAF Regional's
4411// API operation GetChangeTokenStatus for usage and error information.
4412//
4413// Returned Error Types:
4414//   * WAFNonexistentItemException
4415//   The operation failed because the referenced object doesn't exist.
4416//
4417//   * WAFInternalErrorException
4418//   The operation failed because of a system problem, even though the request
4419//   was valid. Retry your request.
4420//
4421// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus
4422func (c *WAFRegional) GetChangeTokenStatus(input *waf.GetChangeTokenStatusInput) (*waf.GetChangeTokenStatusOutput, error) {
4423	req, out := c.GetChangeTokenStatusRequest(input)
4424	return out, req.Send()
4425}
4426
4427// GetChangeTokenStatusWithContext is the same as GetChangeTokenStatus with the addition of
4428// the ability to pass a context and additional request options.
4429//
4430// See GetChangeTokenStatus for details on how to use this API operation.
4431//
4432// The context must be non-nil and will be used for request cancellation. If
4433// the context is nil a panic will occur. In the future the SDK may create
4434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4435// for more information on using Contexts.
4436func (c *WAFRegional) GetChangeTokenStatusWithContext(ctx aws.Context, input *waf.GetChangeTokenStatusInput, opts ...request.Option) (*waf.GetChangeTokenStatusOutput, error) {
4437	req, out := c.GetChangeTokenStatusRequest(input)
4438	req.SetContext(ctx)
4439	req.ApplyOptions(opts...)
4440	return out, req.Send()
4441}
4442
4443const opGetGeoMatchSet = "GetGeoMatchSet"
4444
4445// GetGeoMatchSetRequest generates a "aws/request.Request" representing the
4446// client's request for the GetGeoMatchSet operation. The "output" return
4447// value will be populated with the request's response once the request completes
4448// successfully.
4449//
4450// Use "Send" method on the returned Request to send the API call to the service.
4451// the "output" return value is not valid until after Send returns without error.
4452//
4453// See GetGeoMatchSet for more information on using the GetGeoMatchSet
4454// API call, and error handling.
4455//
4456// This method is useful when you want to inject custom logic or configuration
4457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4458//
4459//
4460//    // Example sending a request using the GetGeoMatchSetRequest method.
4461//    req, resp := client.GetGeoMatchSetRequest(params)
4462//
4463//    err := req.Send()
4464//    if err == nil { // resp is now filled
4465//        fmt.Println(resp)
4466//    }
4467//
4468// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet
4469func (c *WAFRegional) GetGeoMatchSetRequest(input *waf.GetGeoMatchSetInput) (req *request.Request, output *waf.GetGeoMatchSetOutput) {
4470	op := &request.Operation{
4471		Name:       opGetGeoMatchSet,
4472		HTTPMethod: "POST",
4473		HTTPPath:   "/",
4474	}
4475
4476	if input == nil {
4477		input = &waf.GetGeoMatchSetInput{}
4478	}
4479
4480	output = &waf.GetGeoMatchSetOutput{}
4481	req = c.newRequest(op, input, output)
4482	return
4483}
4484
4485// GetGeoMatchSet API operation for AWS WAF Regional.
4486//
4487//
4488// This is AWS WAF Classic documentation. For more information, see AWS WAF
4489// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4490// in the developer guide.
4491//
4492// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4493// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4494// With the latest version, AWS WAF has a single set of endpoints for regional
4495// and global use.
4496//
4497// Returns the GeoMatchSet that is specified by GeoMatchSetId.
4498//
4499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4500// with awserr.Error's Code and Message methods to get detailed information about
4501// the error.
4502//
4503// See the AWS API reference guide for AWS WAF Regional's
4504// API operation GetGeoMatchSet for usage and error information.
4505//
4506// Returned Error Types:
4507//   * WAFInternalErrorException
4508//   The operation failed because of a system problem, even though the request
4509//   was valid. Retry your request.
4510//
4511//   * WAFInvalidAccountException
4512//   The operation failed because you tried to create, update, or delete an object
4513//   by using an invalid account identifier.
4514//
4515//   * WAFNonexistentItemException
4516//   The operation failed because the referenced object doesn't exist.
4517//
4518// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet
4519func (c *WAFRegional) GetGeoMatchSet(input *waf.GetGeoMatchSetInput) (*waf.GetGeoMatchSetOutput, error) {
4520	req, out := c.GetGeoMatchSetRequest(input)
4521	return out, req.Send()
4522}
4523
4524// GetGeoMatchSetWithContext is the same as GetGeoMatchSet with the addition of
4525// the ability to pass a context and additional request options.
4526//
4527// See GetGeoMatchSet for details on how to use this API operation.
4528//
4529// The context must be non-nil and will be used for request cancellation. If
4530// the context is nil a panic will occur. In the future the SDK may create
4531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4532// for more information on using Contexts.
4533func (c *WAFRegional) GetGeoMatchSetWithContext(ctx aws.Context, input *waf.GetGeoMatchSetInput, opts ...request.Option) (*waf.GetGeoMatchSetOutput, error) {
4534	req, out := c.GetGeoMatchSetRequest(input)
4535	req.SetContext(ctx)
4536	req.ApplyOptions(opts...)
4537	return out, req.Send()
4538}
4539
4540const opGetIPSet = "GetIPSet"
4541
4542// GetIPSetRequest generates a "aws/request.Request" representing the
4543// client's request for the GetIPSet operation. The "output" return
4544// value will be populated with the request's response once the request completes
4545// successfully.
4546//
4547// Use "Send" method on the returned Request to send the API call to the service.
4548// the "output" return value is not valid until after Send returns without error.
4549//
4550// See GetIPSet for more information on using the GetIPSet
4551// API call, and error handling.
4552//
4553// This method is useful when you want to inject custom logic or configuration
4554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4555//
4556//
4557//    // Example sending a request using the GetIPSetRequest method.
4558//    req, resp := client.GetIPSetRequest(params)
4559//
4560//    err := req.Send()
4561//    if err == nil { // resp is now filled
4562//        fmt.Println(resp)
4563//    }
4564//
4565// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet
4566func (c *WAFRegional) GetIPSetRequest(input *waf.GetIPSetInput) (req *request.Request, output *waf.GetIPSetOutput) {
4567	op := &request.Operation{
4568		Name:       opGetIPSet,
4569		HTTPMethod: "POST",
4570		HTTPPath:   "/",
4571	}
4572
4573	if input == nil {
4574		input = &waf.GetIPSetInput{}
4575	}
4576
4577	output = &waf.GetIPSetOutput{}
4578	req = c.newRequest(op, input, output)
4579	return
4580}
4581
4582// GetIPSet API operation for AWS WAF Regional.
4583//
4584//
4585// This is AWS WAF Classic documentation. For more information, see AWS WAF
4586// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4587// in the developer guide.
4588//
4589// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4590// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4591// With the latest version, AWS WAF has a single set of endpoints for regional
4592// and global use.
4593//
4594// Returns the IPSet that is specified by IPSetId.
4595//
4596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4597// with awserr.Error's Code and Message methods to get detailed information about
4598// the error.
4599//
4600// See the AWS API reference guide for AWS WAF Regional's
4601// API operation GetIPSet for usage and error information.
4602//
4603// Returned Error Types:
4604//   * WAFInternalErrorException
4605//   The operation failed because of a system problem, even though the request
4606//   was valid. Retry your request.
4607//
4608//   * WAFInvalidAccountException
4609//   The operation failed because you tried to create, update, or delete an object
4610//   by using an invalid account identifier.
4611//
4612//   * WAFNonexistentItemException
4613//   The operation failed because the referenced object doesn't exist.
4614//
4615// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet
4616func (c *WAFRegional) GetIPSet(input *waf.GetIPSetInput) (*waf.GetIPSetOutput, error) {
4617	req, out := c.GetIPSetRequest(input)
4618	return out, req.Send()
4619}
4620
4621// GetIPSetWithContext is the same as GetIPSet with the addition of
4622// the ability to pass a context and additional request options.
4623//
4624// See GetIPSet for details on how to use this API operation.
4625//
4626// The context must be non-nil and will be used for request cancellation. If
4627// the context is nil a panic will occur. In the future the SDK may create
4628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4629// for more information on using Contexts.
4630func (c *WAFRegional) GetIPSetWithContext(ctx aws.Context, input *waf.GetIPSetInput, opts ...request.Option) (*waf.GetIPSetOutput, error) {
4631	req, out := c.GetIPSetRequest(input)
4632	req.SetContext(ctx)
4633	req.ApplyOptions(opts...)
4634	return out, req.Send()
4635}
4636
4637const opGetLoggingConfiguration = "GetLoggingConfiguration"
4638
4639// GetLoggingConfigurationRequest generates a "aws/request.Request" representing the
4640// client's request for the GetLoggingConfiguration operation. The "output" return
4641// value will be populated with the request's response once the request completes
4642// successfully.
4643//
4644// Use "Send" method on the returned Request to send the API call to the service.
4645// the "output" return value is not valid until after Send returns without error.
4646//
4647// See GetLoggingConfiguration for more information on using the GetLoggingConfiguration
4648// API call, and error handling.
4649//
4650// This method is useful when you want to inject custom logic or configuration
4651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4652//
4653//
4654//    // Example sending a request using the GetLoggingConfigurationRequest method.
4655//    req, resp := client.GetLoggingConfigurationRequest(params)
4656//
4657//    err := req.Send()
4658//    if err == nil { // resp is now filled
4659//        fmt.Println(resp)
4660//    }
4661//
4662// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration
4663func (c *WAFRegional) GetLoggingConfigurationRequest(input *waf.GetLoggingConfigurationInput) (req *request.Request, output *waf.GetLoggingConfigurationOutput) {
4664	op := &request.Operation{
4665		Name:       opGetLoggingConfiguration,
4666		HTTPMethod: "POST",
4667		HTTPPath:   "/",
4668	}
4669
4670	if input == nil {
4671		input = &waf.GetLoggingConfigurationInput{}
4672	}
4673
4674	output = &waf.GetLoggingConfigurationOutput{}
4675	req = c.newRequest(op, input, output)
4676	return
4677}
4678
4679// GetLoggingConfiguration API operation for AWS WAF Regional.
4680//
4681//
4682// This is AWS WAF Classic documentation. For more information, see AWS WAF
4683// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4684// in the developer guide.
4685//
4686// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4687// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4688// With the latest version, AWS WAF has a single set of endpoints for regional
4689// and global use.
4690//
4691// Returns the LoggingConfiguration for the specified web ACL.
4692//
4693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4694// with awserr.Error's Code and Message methods to get detailed information about
4695// the error.
4696//
4697// See the AWS API reference guide for AWS WAF Regional's
4698// API operation GetLoggingConfiguration for usage and error information.
4699//
4700// Returned Error Types:
4701//   * WAFInternalErrorException
4702//   The operation failed because of a system problem, even though the request
4703//   was valid. Retry your request.
4704//
4705//   * WAFNonexistentItemException
4706//   The operation failed because the referenced object doesn't exist.
4707//
4708// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration
4709func (c *WAFRegional) GetLoggingConfiguration(input *waf.GetLoggingConfigurationInput) (*waf.GetLoggingConfigurationOutput, error) {
4710	req, out := c.GetLoggingConfigurationRequest(input)
4711	return out, req.Send()
4712}
4713
4714// GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of
4715// the ability to pass a context and additional request options.
4716//
4717// See GetLoggingConfiguration for details on how to use this API operation.
4718//
4719// The context must be non-nil and will be used for request cancellation. If
4720// the context is nil a panic will occur. In the future the SDK may create
4721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4722// for more information on using Contexts.
4723func (c *WAFRegional) GetLoggingConfigurationWithContext(ctx aws.Context, input *waf.GetLoggingConfigurationInput, opts ...request.Option) (*waf.GetLoggingConfigurationOutput, error) {
4724	req, out := c.GetLoggingConfigurationRequest(input)
4725	req.SetContext(ctx)
4726	req.ApplyOptions(opts...)
4727	return out, req.Send()
4728}
4729
4730const opGetPermissionPolicy = "GetPermissionPolicy"
4731
4732// GetPermissionPolicyRequest generates a "aws/request.Request" representing the
4733// client's request for the GetPermissionPolicy operation. The "output" return
4734// value will be populated with the request's response once the request completes
4735// successfully.
4736//
4737// Use "Send" method on the returned Request to send the API call to the service.
4738// the "output" return value is not valid until after Send returns without error.
4739//
4740// See GetPermissionPolicy for more information on using the GetPermissionPolicy
4741// API call, and error handling.
4742//
4743// This method is useful when you want to inject custom logic or configuration
4744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4745//
4746//
4747//    // Example sending a request using the GetPermissionPolicyRequest method.
4748//    req, resp := client.GetPermissionPolicyRequest(params)
4749//
4750//    err := req.Send()
4751//    if err == nil { // resp is now filled
4752//        fmt.Println(resp)
4753//    }
4754//
4755// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy
4756func (c *WAFRegional) GetPermissionPolicyRequest(input *waf.GetPermissionPolicyInput) (req *request.Request, output *waf.GetPermissionPolicyOutput) {
4757	op := &request.Operation{
4758		Name:       opGetPermissionPolicy,
4759		HTTPMethod: "POST",
4760		HTTPPath:   "/",
4761	}
4762
4763	if input == nil {
4764		input = &waf.GetPermissionPolicyInput{}
4765	}
4766
4767	output = &waf.GetPermissionPolicyOutput{}
4768	req = c.newRequest(op, input, output)
4769	return
4770}
4771
4772// GetPermissionPolicy API operation for AWS WAF Regional.
4773//
4774//
4775// This is AWS WAF Classic documentation. For more information, see AWS WAF
4776// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4777// in the developer guide.
4778//
4779// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4780// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4781// With the latest version, AWS WAF has a single set of endpoints for regional
4782// and global use.
4783//
4784// Returns the IAM policy attached to the RuleGroup.
4785//
4786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4787// with awserr.Error's Code and Message methods to get detailed information about
4788// the error.
4789//
4790// See the AWS API reference guide for AWS WAF Regional's
4791// API operation GetPermissionPolicy for usage and error information.
4792//
4793// Returned Error Types:
4794//   * WAFInternalErrorException
4795//   The operation failed because of a system problem, even though the request
4796//   was valid. Retry your request.
4797//
4798//   * WAFNonexistentItemException
4799//   The operation failed because the referenced object doesn't exist.
4800//
4801// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy
4802func (c *WAFRegional) GetPermissionPolicy(input *waf.GetPermissionPolicyInput) (*waf.GetPermissionPolicyOutput, error) {
4803	req, out := c.GetPermissionPolicyRequest(input)
4804	return out, req.Send()
4805}
4806
4807// GetPermissionPolicyWithContext is the same as GetPermissionPolicy with the addition of
4808// the ability to pass a context and additional request options.
4809//
4810// See GetPermissionPolicy for details on how to use this API operation.
4811//
4812// The context must be non-nil and will be used for request cancellation. If
4813// the context is nil a panic will occur. In the future the SDK may create
4814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4815// for more information on using Contexts.
4816func (c *WAFRegional) GetPermissionPolicyWithContext(ctx aws.Context, input *waf.GetPermissionPolicyInput, opts ...request.Option) (*waf.GetPermissionPolicyOutput, error) {
4817	req, out := c.GetPermissionPolicyRequest(input)
4818	req.SetContext(ctx)
4819	req.ApplyOptions(opts...)
4820	return out, req.Send()
4821}
4822
4823const opGetRateBasedRule = "GetRateBasedRule"
4824
4825// GetRateBasedRuleRequest generates a "aws/request.Request" representing the
4826// client's request for the GetRateBasedRule operation. The "output" return
4827// value will be populated with the request's response once the request completes
4828// successfully.
4829//
4830// Use "Send" method on the returned Request to send the API call to the service.
4831// the "output" return value is not valid until after Send returns without error.
4832//
4833// See GetRateBasedRule for more information on using the GetRateBasedRule
4834// API call, and error handling.
4835//
4836// This method is useful when you want to inject custom logic or configuration
4837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4838//
4839//
4840//    // Example sending a request using the GetRateBasedRuleRequest method.
4841//    req, resp := client.GetRateBasedRuleRequest(params)
4842//
4843//    err := req.Send()
4844//    if err == nil { // resp is now filled
4845//        fmt.Println(resp)
4846//    }
4847//
4848// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule
4849func (c *WAFRegional) GetRateBasedRuleRequest(input *waf.GetRateBasedRuleInput) (req *request.Request, output *waf.GetRateBasedRuleOutput) {
4850	op := &request.Operation{
4851		Name:       opGetRateBasedRule,
4852		HTTPMethod: "POST",
4853		HTTPPath:   "/",
4854	}
4855
4856	if input == nil {
4857		input = &waf.GetRateBasedRuleInput{}
4858	}
4859
4860	output = &waf.GetRateBasedRuleOutput{}
4861	req = c.newRequest(op, input, output)
4862	return
4863}
4864
4865// GetRateBasedRule API operation for AWS WAF Regional.
4866//
4867//
4868// This is AWS WAF Classic documentation. For more information, see AWS WAF
4869// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4870// in the developer guide.
4871//
4872// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4873// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4874// With the latest version, AWS WAF has a single set of endpoints for regional
4875// and global use.
4876//
4877// Returns the RateBasedRule that is specified by the RuleId that you included
4878// in the GetRateBasedRule request.
4879//
4880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4881// with awserr.Error's Code and Message methods to get detailed information about
4882// the error.
4883//
4884// See the AWS API reference guide for AWS WAF Regional's
4885// API operation GetRateBasedRule for usage and error information.
4886//
4887// Returned Error Types:
4888//   * WAFInternalErrorException
4889//   The operation failed because of a system problem, even though the request
4890//   was valid. Retry your request.
4891//
4892//   * WAFInvalidAccountException
4893//   The operation failed because you tried to create, update, or delete an object
4894//   by using an invalid account identifier.
4895//
4896//   * WAFNonexistentItemException
4897//   The operation failed because the referenced object doesn't exist.
4898//
4899// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule
4900func (c *WAFRegional) GetRateBasedRule(input *waf.GetRateBasedRuleInput) (*waf.GetRateBasedRuleOutput, error) {
4901	req, out := c.GetRateBasedRuleRequest(input)
4902	return out, req.Send()
4903}
4904
4905// GetRateBasedRuleWithContext is the same as GetRateBasedRule with the addition of
4906// the ability to pass a context and additional request options.
4907//
4908// See GetRateBasedRule for details on how to use this API operation.
4909//
4910// The context must be non-nil and will be used for request cancellation. If
4911// the context is nil a panic will occur. In the future the SDK may create
4912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4913// for more information on using Contexts.
4914func (c *WAFRegional) GetRateBasedRuleWithContext(ctx aws.Context, input *waf.GetRateBasedRuleInput, opts ...request.Option) (*waf.GetRateBasedRuleOutput, error) {
4915	req, out := c.GetRateBasedRuleRequest(input)
4916	req.SetContext(ctx)
4917	req.ApplyOptions(opts...)
4918	return out, req.Send()
4919}
4920
4921const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys"
4922
4923// GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the
4924// client's request for the GetRateBasedRuleManagedKeys operation. The "output" return
4925// value will be populated with the request's response once the request completes
4926// successfully.
4927//
4928// Use "Send" method on the returned Request to send the API call to the service.
4929// the "output" return value is not valid until after Send returns without error.
4930//
4931// See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys
4932// API call, and error handling.
4933//
4934// This method is useful when you want to inject custom logic or configuration
4935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4936//
4937//
4938//    // Example sending a request using the GetRateBasedRuleManagedKeysRequest method.
4939//    req, resp := client.GetRateBasedRuleManagedKeysRequest(params)
4940//
4941//    err := req.Send()
4942//    if err == nil { // resp is now filled
4943//        fmt.Println(resp)
4944//    }
4945//
4946// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys
4947func (c *WAFRegional) GetRateBasedRuleManagedKeysRequest(input *waf.GetRateBasedRuleManagedKeysInput) (req *request.Request, output *waf.GetRateBasedRuleManagedKeysOutput) {
4948	op := &request.Operation{
4949		Name:       opGetRateBasedRuleManagedKeys,
4950		HTTPMethod: "POST",
4951		HTTPPath:   "/",
4952	}
4953
4954	if input == nil {
4955		input = &waf.GetRateBasedRuleManagedKeysInput{}
4956	}
4957
4958	output = &waf.GetRateBasedRuleManagedKeysOutput{}
4959	req = c.newRequest(op, input, output)
4960	return
4961}
4962
4963// GetRateBasedRuleManagedKeys API operation for AWS WAF Regional.
4964//
4965//
4966// This is AWS WAF Classic documentation. For more information, see AWS WAF
4967// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
4968// in the developer guide.
4969//
4970// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
4971// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
4972// With the latest version, AWS WAF has a single set of endpoints for regional
4973// and global use.
4974//
4975// Returns an array of IP addresses currently being blocked by the RateBasedRule
4976// that is specified by the RuleId. The maximum number of managed keys that
4977// will be blocked is 10,000. If more than 10,000 addresses exceed the rate
4978// limit, the 10,000 addresses with the highest rates will be blocked.
4979//
4980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4981// with awserr.Error's Code and Message methods to get detailed information about
4982// the error.
4983//
4984// See the AWS API reference guide for AWS WAF Regional's
4985// API operation GetRateBasedRuleManagedKeys for usage and error information.
4986//
4987// Returned Error Types:
4988//   * WAFInternalErrorException
4989//   The operation failed because of a system problem, even though the request
4990//   was valid. Retry your request.
4991//
4992//   * WAFInvalidAccountException
4993//   The operation failed because you tried to create, update, or delete an object
4994//   by using an invalid account identifier.
4995//
4996//   * WAFNonexistentItemException
4997//   The operation failed because the referenced object doesn't exist.
4998//
4999//   * WAFInvalidParameterException
5000//   The operation failed because AWS WAF didn't recognize a parameter in the
5001//   request. For example:
5002//
5003//      * You specified an invalid parameter name.
5004//
5005//      * You specified an invalid value.
5006//
5007//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
5008//      using an action other than INSERT or DELETE.
5009//
5010//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
5011//      BLOCK, or COUNT.
5012//
5013//      * You tried to create a RateBasedRule with a RateKey value other than
5014//      IP.
5015//
5016//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
5017//      BLOCK, or COUNT.
5018//
5019//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
5020//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
5021//
5022//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
5023//      for Data.
5024//
5025//      * Your request references an ARN that is malformed, or corresponds to
5026//      a resource with which a web ACL cannot be associated.
5027//
5028// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys
5029func (c *WAFRegional) GetRateBasedRuleManagedKeys(input *waf.GetRateBasedRuleManagedKeysInput) (*waf.GetRateBasedRuleManagedKeysOutput, error) {
5030	req, out := c.GetRateBasedRuleManagedKeysRequest(input)
5031	return out, req.Send()
5032}
5033
5034// GetRateBasedRuleManagedKeysWithContext is the same as GetRateBasedRuleManagedKeys with the addition of
5035// the ability to pass a context and additional request options.
5036//
5037// See GetRateBasedRuleManagedKeys for details on how to use this API operation.
5038//
5039// The context must be non-nil and will be used for request cancellation. If
5040// the context is nil a panic will occur. In the future the SDK may create
5041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5042// for more information on using Contexts.
5043func (c *WAFRegional) GetRateBasedRuleManagedKeysWithContext(ctx aws.Context, input *waf.GetRateBasedRuleManagedKeysInput, opts ...request.Option) (*waf.GetRateBasedRuleManagedKeysOutput, error) {
5044	req, out := c.GetRateBasedRuleManagedKeysRequest(input)
5045	req.SetContext(ctx)
5046	req.ApplyOptions(opts...)
5047	return out, req.Send()
5048}
5049
5050const opGetRegexMatchSet = "GetRegexMatchSet"
5051
5052// GetRegexMatchSetRequest generates a "aws/request.Request" representing the
5053// client's request for the GetRegexMatchSet operation. The "output" return
5054// value will be populated with the request's response once the request completes
5055// successfully.
5056//
5057// Use "Send" method on the returned Request to send the API call to the service.
5058// the "output" return value is not valid until after Send returns without error.
5059//
5060// See GetRegexMatchSet for more information on using the GetRegexMatchSet
5061// API call, and error handling.
5062//
5063// This method is useful when you want to inject custom logic or configuration
5064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5065//
5066//
5067//    // Example sending a request using the GetRegexMatchSetRequest method.
5068//    req, resp := client.GetRegexMatchSetRequest(params)
5069//
5070//    err := req.Send()
5071//    if err == nil { // resp is now filled
5072//        fmt.Println(resp)
5073//    }
5074//
5075// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet
5076func (c *WAFRegional) GetRegexMatchSetRequest(input *waf.GetRegexMatchSetInput) (req *request.Request, output *waf.GetRegexMatchSetOutput) {
5077	op := &request.Operation{
5078		Name:       opGetRegexMatchSet,
5079		HTTPMethod: "POST",
5080		HTTPPath:   "/",
5081	}
5082
5083	if input == nil {
5084		input = &waf.GetRegexMatchSetInput{}
5085	}
5086
5087	output = &waf.GetRegexMatchSetOutput{}
5088	req = c.newRequest(op, input, output)
5089	return
5090}
5091
5092// GetRegexMatchSet API operation for AWS WAF Regional.
5093//
5094//
5095// This is AWS WAF Classic documentation. For more information, see AWS WAF
5096// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5097// in the developer guide.
5098//
5099// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5100// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5101// With the latest version, AWS WAF has a single set of endpoints for regional
5102// and global use.
5103//
5104// Returns the RegexMatchSet specified by RegexMatchSetId.
5105//
5106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5107// with awserr.Error's Code and Message methods to get detailed information about
5108// the error.
5109//
5110// See the AWS API reference guide for AWS WAF Regional's
5111// API operation GetRegexMatchSet for usage and error information.
5112//
5113// Returned Error Types:
5114//   * WAFInternalErrorException
5115//   The operation failed because of a system problem, even though the request
5116//   was valid. Retry your request.
5117//
5118//   * WAFInvalidAccountException
5119//   The operation failed because you tried to create, update, or delete an object
5120//   by using an invalid account identifier.
5121//
5122//   * WAFNonexistentItemException
5123//   The operation failed because the referenced object doesn't exist.
5124//
5125// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet
5126func (c *WAFRegional) GetRegexMatchSet(input *waf.GetRegexMatchSetInput) (*waf.GetRegexMatchSetOutput, error) {
5127	req, out := c.GetRegexMatchSetRequest(input)
5128	return out, req.Send()
5129}
5130
5131// GetRegexMatchSetWithContext is the same as GetRegexMatchSet with the addition of
5132// the ability to pass a context and additional request options.
5133//
5134// See GetRegexMatchSet for details on how to use this API operation.
5135//
5136// The context must be non-nil and will be used for request cancellation. If
5137// the context is nil a panic will occur. In the future the SDK may create
5138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5139// for more information on using Contexts.
5140func (c *WAFRegional) GetRegexMatchSetWithContext(ctx aws.Context, input *waf.GetRegexMatchSetInput, opts ...request.Option) (*waf.GetRegexMatchSetOutput, error) {
5141	req, out := c.GetRegexMatchSetRequest(input)
5142	req.SetContext(ctx)
5143	req.ApplyOptions(opts...)
5144	return out, req.Send()
5145}
5146
5147const opGetRegexPatternSet = "GetRegexPatternSet"
5148
5149// GetRegexPatternSetRequest generates a "aws/request.Request" representing the
5150// client's request for the GetRegexPatternSet operation. The "output" return
5151// value will be populated with the request's response once the request completes
5152// successfully.
5153//
5154// Use "Send" method on the returned Request to send the API call to the service.
5155// the "output" return value is not valid until after Send returns without error.
5156//
5157// See GetRegexPatternSet for more information on using the GetRegexPatternSet
5158// API call, and error handling.
5159//
5160// This method is useful when you want to inject custom logic or configuration
5161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5162//
5163//
5164//    // Example sending a request using the GetRegexPatternSetRequest method.
5165//    req, resp := client.GetRegexPatternSetRequest(params)
5166//
5167//    err := req.Send()
5168//    if err == nil { // resp is now filled
5169//        fmt.Println(resp)
5170//    }
5171//
5172// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet
5173func (c *WAFRegional) GetRegexPatternSetRequest(input *waf.GetRegexPatternSetInput) (req *request.Request, output *waf.GetRegexPatternSetOutput) {
5174	op := &request.Operation{
5175		Name:       opGetRegexPatternSet,
5176		HTTPMethod: "POST",
5177		HTTPPath:   "/",
5178	}
5179
5180	if input == nil {
5181		input = &waf.GetRegexPatternSetInput{}
5182	}
5183
5184	output = &waf.GetRegexPatternSetOutput{}
5185	req = c.newRequest(op, input, output)
5186	return
5187}
5188
5189// GetRegexPatternSet API operation for AWS WAF Regional.
5190//
5191//
5192// This is AWS WAF Classic documentation. For more information, see AWS WAF
5193// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5194// in the developer guide.
5195//
5196// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5197// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5198// With the latest version, AWS WAF has a single set of endpoints for regional
5199// and global use.
5200//
5201// Returns the RegexPatternSet specified by RegexPatternSetId.
5202//
5203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5204// with awserr.Error's Code and Message methods to get detailed information about
5205// the error.
5206//
5207// See the AWS API reference guide for AWS WAF Regional's
5208// API operation GetRegexPatternSet for usage and error information.
5209//
5210// Returned Error Types:
5211//   * WAFInternalErrorException
5212//   The operation failed because of a system problem, even though the request
5213//   was valid. Retry your request.
5214//
5215//   * WAFInvalidAccountException
5216//   The operation failed because you tried to create, update, or delete an object
5217//   by using an invalid account identifier.
5218//
5219//   * WAFNonexistentItemException
5220//   The operation failed because the referenced object doesn't exist.
5221//
5222// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet
5223func (c *WAFRegional) GetRegexPatternSet(input *waf.GetRegexPatternSetInput) (*waf.GetRegexPatternSetOutput, error) {
5224	req, out := c.GetRegexPatternSetRequest(input)
5225	return out, req.Send()
5226}
5227
5228// GetRegexPatternSetWithContext is the same as GetRegexPatternSet with the addition of
5229// the ability to pass a context and additional request options.
5230//
5231// See GetRegexPatternSet for details on how to use this API operation.
5232//
5233// The context must be non-nil and will be used for request cancellation. If
5234// the context is nil a panic will occur. In the future the SDK may create
5235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5236// for more information on using Contexts.
5237func (c *WAFRegional) GetRegexPatternSetWithContext(ctx aws.Context, input *waf.GetRegexPatternSetInput, opts ...request.Option) (*waf.GetRegexPatternSetOutput, error) {
5238	req, out := c.GetRegexPatternSetRequest(input)
5239	req.SetContext(ctx)
5240	req.ApplyOptions(opts...)
5241	return out, req.Send()
5242}
5243
5244const opGetRule = "GetRule"
5245
5246// GetRuleRequest generates a "aws/request.Request" representing the
5247// client's request for the GetRule operation. The "output" return
5248// value will be populated with the request's response once the request completes
5249// successfully.
5250//
5251// Use "Send" method on the returned Request to send the API call to the service.
5252// the "output" return value is not valid until after Send returns without error.
5253//
5254// See GetRule for more information on using the GetRule
5255// API call, and error handling.
5256//
5257// This method is useful when you want to inject custom logic or configuration
5258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5259//
5260//
5261//    // Example sending a request using the GetRuleRequest method.
5262//    req, resp := client.GetRuleRequest(params)
5263//
5264//    err := req.Send()
5265//    if err == nil { // resp is now filled
5266//        fmt.Println(resp)
5267//    }
5268//
5269// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule
5270func (c *WAFRegional) GetRuleRequest(input *waf.GetRuleInput) (req *request.Request, output *waf.GetRuleOutput) {
5271	op := &request.Operation{
5272		Name:       opGetRule,
5273		HTTPMethod: "POST",
5274		HTTPPath:   "/",
5275	}
5276
5277	if input == nil {
5278		input = &waf.GetRuleInput{}
5279	}
5280
5281	output = &waf.GetRuleOutput{}
5282	req = c.newRequest(op, input, output)
5283	return
5284}
5285
5286// GetRule API operation for AWS WAF Regional.
5287//
5288//
5289// This is AWS WAF Classic documentation. For more information, see AWS WAF
5290// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5291// in the developer guide.
5292//
5293// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5294// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5295// With the latest version, AWS WAF has a single set of endpoints for regional
5296// and global use.
5297//
5298// Returns the Rule that is specified by the RuleId that you included in the
5299// GetRule request.
5300//
5301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5302// with awserr.Error's Code and Message methods to get detailed information about
5303// the error.
5304//
5305// See the AWS API reference guide for AWS WAF Regional's
5306// API operation GetRule for usage and error information.
5307//
5308// Returned Error Types:
5309//   * WAFInternalErrorException
5310//   The operation failed because of a system problem, even though the request
5311//   was valid. Retry your request.
5312//
5313//   * WAFInvalidAccountException
5314//   The operation failed because you tried to create, update, or delete an object
5315//   by using an invalid account identifier.
5316//
5317//   * WAFNonexistentItemException
5318//   The operation failed because the referenced object doesn't exist.
5319//
5320// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule
5321func (c *WAFRegional) GetRule(input *waf.GetRuleInput) (*waf.GetRuleOutput, error) {
5322	req, out := c.GetRuleRequest(input)
5323	return out, req.Send()
5324}
5325
5326// GetRuleWithContext is the same as GetRule with the addition of
5327// the ability to pass a context and additional request options.
5328//
5329// See GetRule for details on how to use this API operation.
5330//
5331// The context must be non-nil and will be used for request cancellation. If
5332// the context is nil a panic will occur. In the future the SDK may create
5333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5334// for more information on using Contexts.
5335func (c *WAFRegional) GetRuleWithContext(ctx aws.Context, input *waf.GetRuleInput, opts ...request.Option) (*waf.GetRuleOutput, error) {
5336	req, out := c.GetRuleRequest(input)
5337	req.SetContext(ctx)
5338	req.ApplyOptions(opts...)
5339	return out, req.Send()
5340}
5341
5342const opGetRuleGroup = "GetRuleGroup"
5343
5344// GetRuleGroupRequest generates a "aws/request.Request" representing the
5345// client's request for the GetRuleGroup operation. The "output" return
5346// value will be populated with the request's response once the request completes
5347// successfully.
5348//
5349// Use "Send" method on the returned Request to send the API call to the service.
5350// the "output" return value is not valid until after Send returns without error.
5351//
5352// See GetRuleGroup for more information on using the GetRuleGroup
5353// API call, and error handling.
5354//
5355// This method is useful when you want to inject custom logic or configuration
5356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5357//
5358//
5359//    // Example sending a request using the GetRuleGroupRequest method.
5360//    req, resp := client.GetRuleGroupRequest(params)
5361//
5362//    err := req.Send()
5363//    if err == nil { // resp is now filled
5364//        fmt.Println(resp)
5365//    }
5366//
5367// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup
5368func (c *WAFRegional) GetRuleGroupRequest(input *waf.GetRuleGroupInput) (req *request.Request, output *waf.GetRuleGroupOutput) {
5369	op := &request.Operation{
5370		Name:       opGetRuleGroup,
5371		HTTPMethod: "POST",
5372		HTTPPath:   "/",
5373	}
5374
5375	if input == nil {
5376		input = &waf.GetRuleGroupInput{}
5377	}
5378
5379	output = &waf.GetRuleGroupOutput{}
5380	req = c.newRequest(op, input, output)
5381	return
5382}
5383
5384// GetRuleGroup API operation for AWS WAF Regional.
5385//
5386//
5387// This is AWS WAF Classic documentation. For more information, see AWS WAF
5388// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5389// in the developer guide.
5390//
5391// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5392// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5393// With the latest version, AWS WAF has a single set of endpoints for regional
5394// and global use.
5395//
5396// Returns the RuleGroup that is specified by the RuleGroupId that you included
5397// in the GetRuleGroup request.
5398//
5399// To view the rules in a rule group, use ListActivatedRulesInRuleGroup.
5400//
5401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5402// with awserr.Error's Code and Message methods to get detailed information about
5403// the error.
5404//
5405// See the AWS API reference guide for AWS WAF Regional's
5406// API operation GetRuleGroup for usage and error information.
5407//
5408// Returned Error Types:
5409//   * WAFInternalErrorException
5410//   The operation failed because of a system problem, even though the request
5411//   was valid. Retry your request.
5412//
5413//   * WAFNonexistentItemException
5414//   The operation failed because the referenced object doesn't exist.
5415//
5416// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup
5417func (c *WAFRegional) GetRuleGroup(input *waf.GetRuleGroupInput) (*waf.GetRuleGroupOutput, error) {
5418	req, out := c.GetRuleGroupRequest(input)
5419	return out, req.Send()
5420}
5421
5422// GetRuleGroupWithContext is the same as GetRuleGroup with the addition of
5423// the ability to pass a context and additional request options.
5424//
5425// See GetRuleGroup for details on how to use this API operation.
5426//
5427// The context must be non-nil and will be used for request cancellation. If
5428// the context is nil a panic will occur. In the future the SDK may create
5429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5430// for more information on using Contexts.
5431func (c *WAFRegional) GetRuleGroupWithContext(ctx aws.Context, input *waf.GetRuleGroupInput, opts ...request.Option) (*waf.GetRuleGroupOutput, error) {
5432	req, out := c.GetRuleGroupRequest(input)
5433	req.SetContext(ctx)
5434	req.ApplyOptions(opts...)
5435	return out, req.Send()
5436}
5437
5438const opGetSampledRequests = "GetSampledRequests"
5439
5440// GetSampledRequestsRequest generates a "aws/request.Request" representing the
5441// client's request for the GetSampledRequests operation. The "output" return
5442// value will be populated with the request's response once the request completes
5443// successfully.
5444//
5445// Use "Send" method on the returned Request to send the API call to the service.
5446// the "output" return value is not valid until after Send returns without error.
5447//
5448// See GetSampledRequests for more information on using the GetSampledRequests
5449// API call, and error handling.
5450//
5451// This method is useful when you want to inject custom logic or configuration
5452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5453//
5454//
5455//    // Example sending a request using the GetSampledRequestsRequest method.
5456//    req, resp := client.GetSampledRequestsRequest(params)
5457//
5458//    err := req.Send()
5459//    if err == nil { // resp is now filled
5460//        fmt.Println(resp)
5461//    }
5462//
5463// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests
5464func (c *WAFRegional) GetSampledRequestsRequest(input *waf.GetSampledRequestsInput) (req *request.Request, output *waf.GetSampledRequestsOutput) {
5465	op := &request.Operation{
5466		Name:       opGetSampledRequests,
5467		HTTPMethod: "POST",
5468		HTTPPath:   "/",
5469	}
5470
5471	if input == nil {
5472		input = &waf.GetSampledRequestsInput{}
5473	}
5474
5475	output = &waf.GetSampledRequestsOutput{}
5476	req = c.newRequest(op, input, output)
5477	return
5478}
5479
5480// GetSampledRequests API operation for AWS WAF Regional.
5481//
5482//
5483// This is AWS WAF Classic documentation. For more information, see AWS WAF
5484// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5485// in the developer guide.
5486//
5487// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5488// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5489// With the latest version, AWS WAF has a single set of endpoints for regional
5490// and global use.
5491//
5492// Gets detailed information about a specified number of requests--a sample--that
5493// AWS WAF randomly selects from among the first 5,000 requests that your AWS
5494// resource received during a time range that you choose. You can specify a
5495// sample size of up to 500 requests, and you can specify any time range in
5496// the previous three hours.
5497//
5498// GetSampledRequests returns a time range, which is usually the time range
5499// that you specified. However, if your resource (such as a CloudFront distribution)
5500// received 5,000 requests before the specified time range elapsed, GetSampledRequests
5501// returns an updated time range. This new time range indicates the actual period
5502// during which AWS WAF selected the requests in the sample.
5503//
5504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5505// with awserr.Error's Code and Message methods to get detailed information about
5506// the error.
5507//
5508// See the AWS API reference guide for AWS WAF Regional's
5509// API operation GetSampledRequests for usage and error information.
5510//
5511// Returned Error Types:
5512//   * WAFNonexistentItemException
5513//   The operation failed because the referenced object doesn't exist.
5514//
5515//   * WAFInternalErrorException
5516//   The operation failed because of a system problem, even though the request
5517//   was valid. Retry your request.
5518//
5519// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests
5520func (c *WAFRegional) GetSampledRequests(input *waf.GetSampledRequestsInput) (*waf.GetSampledRequestsOutput, error) {
5521	req, out := c.GetSampledRequestsRequest(input)
5522	return out, req.Send()
5523}
5524
5525// GetSampledRequestsWithContext is the same as GetSampledRequests with the addition of
5526// the ability to pass a context and additional request options.
5527//
5528// See GetSampledRequests for details on how to use this API operation.
5529//
5530// The context must be non-nil and will be used for request cancellation. If
5531// the context is nil a panic will occur. In the future the SDK may create
5532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5533// for more information on using Contexts.
5534func (c *WAFRegional) GetSampledRequestsWithContext(ctx aws.Context, input *waf.GetSampledRequestsInput, opts ...request.Option) (*waf.GetSampledRequestsOutput, error) {
5535	req, out := c.GetSampledRequestsRequest(input)
5536	req.SetContext(ctx)
5537	req.ApplyOptions(opts...)
5538	return out, req.Send()
5539}
5540
5541const opGetSizeConstraintSet = "GetSizeConstraintSet"
5542
5543// GetSizeConstraintSetRequest generates a "aws/request.Request" representing the
5544// client's request for the GetSizeConstraintSet operation. The "output" return
5545// value will be populated with the request's response once the request completes
5546// successfully.
5547//
5548// Use "Send" method on the returned Request to send the API call to the service.
5549// the "output" return value is not valid until after Send returns without error.
5550//
5551// See GetSizeConstraintSet for more information on using the GetSizeConstraintSet
5552// API call, and error handling.
5553//
5554// This method is useful when you want to inject custom logic or configuration
5555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5556//
5557//
5558//    // Example sending a request using the GetSizeConstraintSetRequest method.
5559//    req, resp := client.GetSizeConstraintSetRequest(params)
5560//
5561//    err := req.Send()
5562//    if err == nil { // resp is now filled
5563//        fmt.Println(resp)
5564//    }
5565//
5566// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet
5567func (c *WAFRegional) GetSizeConstraintSetRequest(input *waf.GetSizeConstraintSetInput) (req *request.Request, output *waf.GetSizeConstraintSetOutput) {
5568	op := &request.Operation{
5569		Name:       opGetSizeConstraintSet,
5570		HTTPMethod: "POST",
5571		HTTPPath:   "/",
5572	}
5573
5574	if input == nil {
5575		input = &waf.GetSizeConstraintSetInput{}
5576	}
5577
5578	output = &waf.GetSizeConstraintSetOutput{}
5579	req = c.newRequest(op, input, output)
5580	return
5581}
5582
5583// GetSizeConstraintSet API operation for AWS WAF Regional.
5584//
5585//
5586// This is AWS WAF Classic documentation. For more information, see AWS WAF
5587// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5588// in the developer guide.
5589//
5590// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5591// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5592// With the latest version, AWS WAF has a single set of endpoints for regional
5593// and global use.
5594//
5595// Returns the SizeConstraintSet specified by SizeConstraintSetId.
5596//
5597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5598// with awserr.Error's Code and Message methods to get detailed information about
5599// the error.
5600//
5601// See the AWS API reference guide for AWS WAF Regional's
5602// API operation GetSizeConstraintSet for usage and error information.
5603//
5604// Returned Error Types:
5605//   * WAFInternalErrorException
5606//   The operation failed because of a system problem, even though the request
5607//   was valid. Retry your request.
5608//
5609//   * WAFInvalidAccountException
5610//   The operation failed because you tried to create, update, or delete an object
5611//   by using an invalid account identifier.
5612//
5613//   * WAFNonexistentItemException
5614//   The operation failed because the referenced object doesn't exist.
5615//
5616// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet
5617func (c *WAFRegional) GetSizeConstraintSet(input *waf.GetSizeConstraintSetInput) (*waf.GetSizeConstraintSetOutput, error) {
5618	req, out := c.GetSizeConstraintSetRequest(input)
5619	return out, req.Send()
5620}
5621
5622// GetSizeConstraintSetWithContext is the same as GetSizeConstraintSet with the addition of
5623// the ability to pass a context and additional request options.
5624//
5625// See GetSizeConstraintSet for details on how to use this API operation.
5626//
5627// The context must be non-nil and will be used for request cancellation. If
5628// the context is nil a panic will occur. In the future the SDK may create
5629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5630// for more information on using Contexts.
5631func (c *WAFRegional) GetSizeConstraintSetWithContext(ctx aws.Context, input *waf.GetSizeConstraintSetInput, opts ...request.Option) (*waf.GetSizeConstraintSetOutput, error) {
5632	req, out := c.GetSizeConstraintSetRequest(input)
5633	req.SetContext(ctx)
5634	req.ApplyOptions(opts...)
5635	return out, req.Send()
5636}
5637
5638const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet"
5639
5640// GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
5641// client's request for the GetSqlInjectionMatchSet operation. The "output" return
5642// value will be populated with the request's response once the request completes
5643// successfully.
5644//
5645// Use "Send" method on the returned Request to send the API call to the service.
5646// the "output" return value is not valid until after Send returns without error.
5647//
5648// See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet
5649// API call, and error handling.
5650//
5651// This method is useful when you want to inject custom logic or configuration
5652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5653//
5654//
5655//    // Example sending a request using the GetSqlInjectionMatchSetRequest method.
5656//    req, resp := client.GetSqlInjectionMatchSetRequest(params)
5657//
5658//    err := req.Send()
5659//    if err == nil { // resp is now filled
5660//        fmt.Println(resp)
5661//    }
5662//
5663// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet
5664func (c *WAFRegional) GetSqlInjectionMatchSetRequest(input *waf.GetSqlInjectionMatchSetInput) (req *request.Request, output *waf.GetSqlInjectionMatchSetOutput) {
5665	op := &request.Operation{
5666		Name:       opGetSqlInjectionMatchSet,
5667		HTTPMethod: "POST",
5668		HTTPPath:   "/",
5669	}
5670
5671	if input == nil {
5672		input = &waf.GetSqlInjectionMatchSetInput{}
5673	}
5674
5675	output = &waf.GetSqlInjectionMatchSetOutput{}
5676	req = c.newRequest(op, input, output)
5677	return
5678}
5679
5680// GetSqlInjectionMatchSet API operation for AWS WAF Regional.
5681//
5682//
5683// This is AWS WAF Classic documentation. For more information, see AWS WAF
5684// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5685// in the developer guide.
5686//
5687// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5688// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5689// With the latest version, AWS WAF has a single set of endpoints for regional
5690// and global use.
5691//
5692// Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.
5693//
5694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5695// with awserr.Error's Code and Message methods to get detailed information about
5696// the error.
5697//
5698// See the AWS API reference guide for AWS WAF Regional's
5699// API operation GetSqlInjectionMatchSet for usage and error information.
5700//
5701// Returned Error Types:
5702//   * WAFInternalErrorException
5703//   The operation failed because of a system problem, even though the request
5704//   was valid. Retry your request.
5705//
5706//   * WAFInvalidAccountException
5707//   The operation failed because you tried to create, update, or delete an object
5708//   by using an invalid account identifier.
5709//
5710//   * WAFNonexistentItemException
5711//   The operation failed because the referenced object doesn't exist.
5712//
5713// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet
5714func (c *WAFRegional) GetSqlInjectionMatchSet(input *waf.GetSqlInjectionMatchSetInput) (*waf.GetSqlInjectionMatchSetOutput, error) {
5715	req, out := c.GetSqlInjectionMatchSetRequest(input)
5716	return out, req.Send()
5717}
5718
5719// GetSqlInjectionMatchSetWithContext is the same as GetSqlInjectionMatchSet with the addition of
5720// the ability to pass a context and additional request options.
5721//
5722// See GetSqlInjectionMatchSet for details on how to use this API operation.
5723//
5724// The context must be non-nil and will be used for request cancellation. If
5725// the context is nil a panic will occur. In the future the SDK may create
5726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5727// for more information on using Contexts.
5728func (c *WAFRegional) GetSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.GetSqlInjectionMatchSetInput, opts ...request.Option) (*waf.GetSqlInjectionMatchSetOutput, error) {
5729	req, out := c.GetSqlInjectionMatchSetRequest(input)
5730	req.SetContext(ctx)
5731	req.ApplyOptions(opts...)
5732	return out, req.Send()
5733}
5734
5735const opGetWebACL = "GetWebACL"
5736
5737// GetWebACLRequest generates a "aws/request.Request" representing the
5738// client's request for the GetWebACL operation. The "output" return
5739// value will be populated with the request's response once the request completes
5740// successfully.
5741//
5742// Use "Send" method on the returned Request to send the API call to the service.
5743// the "output" return value is not valid until after Send returns without error.
5744//
5745// See GetWebACL for more information on using the GetWebACL
5746// API call, and error handling.
5747//
5748// This method is useful when you want to inject custom logic or configuration
5749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5750//
5751//
5752//    // Example sending a request using the GetWebACLRequest method.
5753//    req, resp := client.GetWebACLRequest(params)
5754//
5755//    err := req.Send()
5756//    if err == nil { // resp is now filled
5757//        fmt.Println(resp)
5758//    }
5759//
5760// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL
5761func (c *WAFRegional) GetWebACLRequest(input *waf.GetWebACLInput) (req *request.Request, output *waf.GetWebACLOutput) {
5762	op := &request.Operation{
5763		Name:       opGetWebACL,
5764		HTTPMethod: "POST",
5765		HTTPPath:   "/",
5766	}
5767
5768	if input == nil {
5769		input = &waf.GetWebACLInput{}
5770	}
5771
5772	output = &waf.GetWebACLOutput{}
5773	req = c.newRequest(op, input, output)
5774	return
5775}
5776
5777// GetWebACL API operation for AWS WAF Regional.
5778//
5779//
5780// This is AWS WAF Classic documentation. For more information, see AWS WAF
5781// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5782// in the developer guide.
5783//
5784// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5785// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5786// With the latest version, AWS WAF has a single set of endpoints for regional
5787// and global use.
5788//
5789// Returns the WebACL that is specified by WebACLId.
5790//
5791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5792// with awserr.Error's Code and Message methods to get detailed information about
5793// the error.
5794//
5795// See the AWS API reference guide for AWS WAF Regional's
5796// API operation GetWebACL for usage and error information.
5797//
5798// Returned Error Types:
5799//   * WAFInternalErrorException
5800//   The operation failed because of a system problem, even though the request
5801//   was valid. Retry your request.
5802//
5803//   * WAFInvalidAccountException
5804//   The operation failed because you tried to create, update, or delete an object
5805//   by using an invalid account identifier.
5806//
5807//   * WAFNonexistentItemException
5808//   The operation failed because the referenced object doesn't exist.
5809//
5810// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL
5811func (c *WAFRegional) GetWebACL(input *waf.GetWebACLInput) (*waf.GetWebACLOutput, error) {
5812	req, out := c.GetWebACLRequest(input)
5813	return out, req.Send()
5814}
5815
5816// GetWebACLWithContext is the same as GetWebACL with the addition of
5817// the ability to pass a context and additional request options.
5818//
5819// See GetWebACL for details on how to use this API operation.
5820//
5821// The context must be non-nil and will be used for request cancellation. If
5822// the context is nil a panic will occur. In the future the SDK may create
5823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5824// for more information on using Contexts.
5825func (c *WAFRegional) GetWebACLWithContext(ctx aws.Context, input *waf.GetWebACLInput, opts ...request.Option) (*waf.GetWebACLOutput, error) {
5826	req, out := c.GetWebACLRequest(input)
5827	req.SetContext(ctx)
5828	req.ApplyOptions(opts...)
5829	return out, req.Send()
5830}
5831
5832const opGetWebACLForResource = "GetWebACLForResource"
5833
5834// GetWebACLForResourceRequest generates a "aws/request.Request" representing the
5835// client's request for the GetWebACLForResource operation. The "output" return
5836// value will be populated with the request's response once the request completes
5837// successfully.
5838//
5839// Use "Send" method on the returned Request to send the API call to the service.
5840// the "output" return value is not valid until after Send returns without error.
5841//
5842// See GetWebACLForResource for more information on using the GetWebACLForResource
5843// API call, and error handling.
5844//
5845// This method is useful when you want to inject custom logic or configuration
5846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5847//
5848//
5849//    // Example sending a request using the GetWebACLForResourceRequest method.
5850//    req, resp := client.GetWebACLForResourceRequest(params)
5851//
5852//    err := req.Send()
5853//    if err == nil { // resp is now filled
5854//        fmt.Println(resp)
5855//    }
5856//
5857// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource
5858func (c *WAFRegional) GetWebACLForResourceRequest(input *GetWebACLForResourceInput) (req *request.Request, output *GetWebACLForResourceOutput) {
5859	op := &request.Operation{
5860		Name:       opGetWebACLForResource,
5861		HTTPMethod: "POST",
5862		HTTPPath:   "/",
5863	}
5864
5865	if input == nil {
5866		input = &GetWebACLForResourceInput{}
5867	}
5868
5869	output = &GetWebACLForResourceOutput{}
5870	req = c.newRequest(op, input, output)
5871	return
5872}
5873
5874// GetWebACLForResource API operation for AWS WAF Regional.
5875//
5876//
5877// This is AWS WAF Classic Regional documentation. For more information, see
5878// AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
5879// in the developer guide.
5880//
5881// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
5882// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
5883// With the latest version, AWS WAF has a single set of endpoints for regional
5884// and global use.
5885//
5886// Returns the web ACL for the specified resource, either an application load
5887// balancer or Amazon API Gateway stage.
5888//
5889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5890// with awserr.Error's Code and Message methods to get detailed information about
5891// the error.
5892//
5893// See the AWS API reference guide for AWS WAF Regional's
5894// API operation GetWebACLForResource for usage and error information.
5895//
5896// Returned Error Types:
5897//   * WAFInternalErrorException
5898//   The operation failed because of a system problem, even though the request
5899//   was valid. Retry your request.
5900//
5901//   * WAFInvalidAccountException
5902//   The operation failed because you tried to create, update, or delete an object
5903//   by using an invalid account identifier.
5904//
5905//   * WAFNonexistentItemException
5906//   The operation failed because the referenced object doesn't exist.
5907//
5908//   * WAFInvalidParameterException
5909//   The operation failed because AWS WAF didn't recognize a parameter in the
5910//   request. For example:
5911//
5912//      * You specified an invalid parameter name.
5913//
5914//      * You specified an invalid value.
5915//
5916//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
5917//      using an action other than INSERT or DELETE.
5918//
5919//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
5920//      BLOCK, or COUNT.
5921//
5922//      * You tried to create a RateBasedRule with a RateKey value other than
5923//      IP.
5924//
5925//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
5926//      BLOCK, or COUNT.
5927//
5928//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
5929//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
5930//
5931//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
5932//      for Data.
5933//
5934//      * Your request references an ARN that is malformed, or corresponds to
5935//      a resource with which a web ACL cannot be associated.
5936//
5937//   * WAFUnavailableEntityException
5938//   The operation failed because the entity referenced is temporarily unavailable.
5939//   Retry your request.
5940//
5941// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource
5942func (c *WAFRegional) GetWebACLForResource(input *GetWebACLForResourceInput) (*GetWebACLForResourceOutput, error) {
5943	req, out := c.GetWebACLForResourceRequest(input)
5944	return out, req.Send()
5945}
5946
5947// GetWebACLForResourceWithContext is the same as GetWebACLForResource with the addition of
5948// the ability to pass a context and additional request options.
5949//
5950// See GetWebACLForResource for details on how to use this API operation.
5951//
5952// The context must be non-nil and will be used for request cancellation. If
5953// the context is nil a panic will occur. In the future the SDK may create
5954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5955// for more information on using Contexts.
5956func (c *WAFRegional) GetWebACLForResourceWithContext(ctx aws.Context, input *GetWebACLForResourceInput, opts ...request.Option) (*GetWebACLForResourceOutput, error) {
5957	req, out := c.GetWebACLForResourceRequest(input)
5958	req.SetContext(ctx)
5959	req.ApplyOptions(opts...)
5960	return out, req.Send()
5961}
5962
5963const opGetXssMatchSet = "GetXssMatchSet"
5964
5965// GetXssMatchSetRequest generates a "aws/request.Request" representing the
5966// client's request for the GetXssMatchSet operation. The "output" return
5967// value will be populated with the request's response once the request completes
5968// successfully.
5969//
5970// Use "Send" method on the returned Request to send the API call to the service.
5971// the "output" return value is not valid until after Send returns without error.
5972//
5973// See GetXssMatchSet for more information on using the GetXssMatchSet
5974// API call, and error handling.
5975//
5976// This method is useful when you want to inject custom logic or configuration
5977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5978//
5979//
5980//    // Example sending a request using the GetXssMatchSetRequest method.
5981//    req, resp := client.GetXssMatchSetRequest(params)
5982//
5983//    err := req.Send()
5984//    if err == nil { // resp is now filled
5985//        fmt.Println(resp)
5986//    }
5987//
5988// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet
5989func (c *WAFRegional) GetXssMatchSetRequest(input *waf.GetXssMatchSetInput) (req *request.Request, output *waf.GetXssMatchSetOutput) {
5990	op := &request.Operation{
5991		Name:       opGetXssMatchSet,
5992		HTTPMethod: "POST",
5993		HTTPPath:   "/",
5994	}
5995
5996	if input == nil {
5997		input = &waf.GetXssMatchSetInput{}
5998	}
5999
6000	output = &waf.GetXssMatchSetOutput{}
6001	req = c.newRequest(op, input, output)
6002	return
6003}
6004
6005// GetXssMatchSet API operation for AWS WAF Regional.
6006//
6007//
6008// This is AWS WAF Classic documentation. For more information, see AWS WAF
6009// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6010// in the developer guide.
6011//
6012// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6013// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6014// With the latest version, AWS WAF has a single set of endpoints for regional
6015// and global use.
6016//
6017// Returns the XssMatchSet that is specified by XssMatchSetId.
6018//
6019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6020// with awserr.Error's Code and Message methods to get detailed information about
6021// the error.
6022//
6023// See the AWS API reference guide for AWS WAF Regional's
6024// API operation GetXssMatchSet for usage and error information.
6025//
6026// Returned Error Types:
6027//   * WAFInternalErrorException
6028//   The operation failed because of a system problem, even though the request
6029//   was valid. Retry your request.
6030//
6031//   * WAFInvalidAccountException
6032//   The operation failed because you tried to create, update, or delete an object
6033//   by using an invalid account identifier.
6034//
6035//   * WAFNonexistentItemException
6036//   The operation failed because the referenced object doesn't exist.
6037//
6038// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet
6039func (c *WAFRegional) GetXssMatchSet(input *waf.GetXssMatchSetInput) (*waf.GetXssMatchSetOutput, error) {
6040	req, out := c.GetXssMatchSetRequest(input)
6041	return out, req.Send()
6042}
6043
6044// GetXssMatchSetWithContext is the same as GetXssMatchSet with the addition of
6045// the ability to pass a context and additional request options.
6046//
6047// See GetXssMatchSet for details on how to use this API operation.
6048//
6049// The context must be non-nil and will be used for request cancellation. If
6050// the context is nil a panic will occur. In the future the SDK may create
6051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6052// for more information on using Contexts.
6053func (c *WAFRegional) GetXssMatchSetWithContext(ctx aws.Context, input *waf.GetXssMatchSetInput, opts ...request.Option) (*waf.GetXssMatchSetOutput, error) {
6054	req, out := c.GetXssMatchSetRequest(input)
6055	req.SetContext(ctx)
6056	req.ApplyOptions(opts...)
6057	return out, req.Send()
6058}
6059
6060const opListActivatedRulesInRuleGroup = "ListActivatedRulesInRuleGroup"
6061
6062// ListActivatedRulesInRuleGroupRequest generates a "aws/request.Request" representing the
6063// client's request for the ListActivatedRulesInRuleGroup operation. The "output" return
6064// value will be populated with the request's response once the request completes
6065// successfully.
6066//
6067// Use "Send" method on the returned Request to send the API call to the service.
6068// the "output" return value is not valid until after Send returns without error.
6069//
6070// See ListActivatedRulesInRuleGroup for more information on using the ListActivatedRulesInRuleGroup
6071// API call, and error handling.
6072//
6073// This method is useful when you want to inject custom logic or configuration
6074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6075//
6076//
6077//    // Example sending a request using the ListActivatedRulesInRuleGroupRequest method.
6078//    req, resp := client.ListActivatedRulesInRuleGroupRequest(params)
6079//
6080//    err := req.Send()
6081//    if err == nil { // resp is now filled
6082//        fmt.Println(resp)
6083//    }
6084//
6085// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup
6086func (c *WAFRegional) ListActivatedRulesInRuleGroupRequest(input *waf.ListActivatedRulesInRuleGroupInput) (req *request.Request, output *waf.ListActivatedRulesInRuleGroupOutput) {
6087	op := &request.Operation{
6088		Name:       opListActivatedRulesInRuleGroup,
6089		HTTPMethod: "POST",
6090		HTTPPath:   "/",
6091	}
6092
6093	if input == nil {
6094		input = &waf.ListActivatedRulesInRuleGroupInput{}
6095	}
6096
6097	output = &waf.ListActivatedRulesInRuleGroupOutput{}
6098	req = c.newRequest(op, input, output)
6099	return
6100}
6101
6102// ListActivatedRulesInRuleGroup API operation for AWS WAF Regional.
6103//
6104//
6105// This is AWS WAF Classic documentation. For more information, see AWS WAF
6106// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6107// in the developer guide.
6108//
6109// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6110// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6111// With the latest version, AWS WAF has a single set of endpoints for regional
6112// and global use.
6113//
6114// Returns an array of ActivatedRule objects.
6115//
6116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6117// with awserr.Error's Code and Message methods to get detailed information about
6118// the error.
6119//
6120// See the AWS API reference guide for AWS WAF Regional's
6121// API operation ListActivatedRulesInRuleGroup for usage and error information.
6122//
6123// Returned Error Types:
6124//   * WAFInternalErrorException
6125//   The operation failed because of a system problem, even though the request
6126//   was valid. Retry your request.
6127//
6128//   * WAFNonexistentItemException
6129//   The operation failed because the referenced object doesn't exist.
6130//
6131//   * WAFInvalidParameterException
6132//   The operation failed because AWS WAF didn't recognize a parameter in the
6133//   request. For example:
6134//
6135//      * You specified an invalid parameter name.
6136//
6137//      * You specified an invalid value.
6138//
6139//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
6140//      using an action other than INSERT or DELETE.
6141//
6142//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
6143//      BLOCK, or COUNT.
6144//
6145//      * You tried to create a RateBasedRule with a RateKey value other than
6146//      IP.
6147//
6148//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
6149//      BLOCK, or COUNT.
6150//
6151//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
6152//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
6153//
6154//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
6155//      for Data.
6156//
6157//      * Your request references an ARN that is malformed, or corresponds to
6158//      a resource with which a web ACL cannot be associated.
6159//
6160// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup
6161func (c *WAFRegional) ListActivatedRulesInRuleGroup(input *waf.ListActivatedRulesInRuleGroupInput) (*waf.ListActivatedRulesInRuleGroupOutput, error) {
6162	req, out := c.ListActivatedRulesInRuleGroupRequest(input)
6163	return out, req.Send()
6164}
6165
6166// ListActivatedRulesInRuleGroupWithContext is the same as ListActivatedRulesInRuleGroup with the addition of
6167// the ability to pass a context and additional request options.
6168//
6169// See ListActivatedRulesInRuleGroup for details on how to use this API operation.
6170//
6171// The context must be non-nil and will be used for request cancellation. If
6172// the context is nil a panic will occur. In the future the SDK may create
6173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6174// for more information on using Contexts.
6175func (c *WAFRegional) ListActivatedRulesInRuleGroupWithContext(ctx aws.Context, input *waf.ListActivatedRulesInRuleGroupInput, opts ...request.Option) (*waf.ListActivatedRulesInRuleGroupOutput, error) {
6176	req, out := c.ListActivatedRulesInRuleGroupRequest(input)
6177	req.SetContext(ctx)
6178	req.ApplyOptions(opts...)
6179	return out, req.Send()
6180}
6181
6182const opListByteMatchSets = "ListByteMatchSets"
6183
6184// ListByteMatchSetsRequest generates a "aws/request.Request" representing the
6185// client's request for the ListByteMatchSets operation. The "output" return
6186// value will be populated with the request's response once the request completes
6187// successfully.
6188//
6189// Use "Send" method on the returned Request to send the API call to the service.
6190// the "output" return value is not valid until after Send returns without error.
6191//
6192// See ListByteMatchSets for more information on using the ListByteMatchSets
6193// API call, and error handling.
6194//
6195// This method is useful when you want to inject custom logic or configuration
6196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6197//
6198//
6199//    // Example sending a request using the ListByteMatchSetsRequest method.
6200//    req, resp := client.ListByteMatchSetsRequest(params)
6201//
6202//    err := req.Send()
6203//    if err == nil { // resp is now filled
6204//        fmt.Println(resp)
6205//    }
6206//
6207// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets
6208func (c *WAFRegional) ListByteMatchSetsRequest(input *waf.ListByteMatchSetsInput) (req *request.Request, output *waf.ListByteMatchSetsOutput) {
6209	op := &request.Operation{
6210		Name:       opListByteMatchSets,
6211		HTTPMethod: "POST",
6212		HTTPPath:   "/",
6213	}
6214
6215	if input == nil {
6216		input = &waf.ListByteMatchSetsInput{}
6217	}
6218
6219	output = &waf.ListByteMatchSetsOutput{}
6220	req = c.newRequest(op, input, output)
6221	return
6222}
6223
6224// ListByteMatchSets API operation for AWS WAF Regional.
6225//
6226//
6227// This is AWS WAF Classic documentation. For more information, see AWS WAF
6228// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6229// in the developer guide.
6230//
6231// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6232// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6233// With the latest version, AWS WAF has a single set of endpoints for regional
6234// and global use.
6235//
6236// Returns an array of ByteMatchSetSummary objects.
6237//
6238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6239// with awserr.Error's Code and Message methods to get detailed information about
6240// the error.
6241//
6242// See the AWS API reference guide for AWS WAF Regional's
6243// API operation ListByteMatchSets for usage and error information.
6244//
6245// Returned Error Types:
6246//   * WAFInternalErrorException
6247//   The operation failed because of a system problem, even though the request
6248//   was valid. Retry your request.
6249//
6250//   * WAFInvalidAccountException
6251//   The operation failed because you tried to create, update, or delete an object
6252//   by using an invalid account identifier.
6253//
6254// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets
6255func (c *WAFRegional) ListByteMatchSets(input *waf.ListByteMatchSetsInput) (*waf.ListByteMatchSetsOutput, error) {
6256	req, out := c.ListByteMatchSetsRequest(input)
6257	return out, req.Send()
6258}
6259
6260// ListByteMatchSetsWithContext is the same as ListByteMatchSets with the addition of
6261// the ability to pass a context and additional request options.
6262//
6263// See ListByteMatchSets for details on how to use this API operation.
6264//
6265// The context must be non-nil and will be used for request cancellation. If
6266// the context is nil a panic will occur. In the future the SDK may create
6267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6268// for more information on using Contexts.
6269func (c *WAFRegional) ListByteMatchSetsWithContext(ctx aws.Context, input *waf.ListByteMatchSetsInput, opts ...request.Option) (*waf.ListByteMatchSetsOutput, error) {
6270	req, out := c.ListByteMatchSetsRequest(input)
6271	req.SetContext(ctx)
6272	req.ApplyOptions(opts...)
6273	return out, req.Send()
6274}
6275
6276const opListGeoMatchSets = "ListGeoMatchSets"
6277
6278// ListGeoMatchSetsRequest generates a "aws/request.Request" representing the
6279// client's request for the ListGeoMatchSets operation. The "output" return
6280// value will be populated with the request's response once the request completes
6281// successfully.
6282//
6283// Use "Send" method on the returned Request to send the API call to the service.
6284// the "output" return value is not valid until after Send returns without error.
6285//
6286// See ListGeoMatchSets for more information on using the ListGeoMatchSets
6287// API call, and error handling.
6288//
6289// This method is useful when you want to inject custom logic or configuration
6290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6291//
6292//
6293//    // Example sending a request using the ListGeoMatchSetsRequest method.
6294//    req, resp := client.ListGeoMatchSetsRequest(params)
6295//
6296//    err := req.Send()
6297//    if err == nil { // resp is now filled
6298//        fmt.Println(resp)
6299//    }
6300//
6301// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets
6302func (c *WAFRegional) ListGeoMatchSetsRequest(input *waf.ListGeoMatchSetsInput) (req *request.Request, output *waf.ListGeoMatchSetsOutput) {
6303	op := &request.Operation{
6304		Name:       opListGeoMatchSets,
6305		HTTPMethod: "POST",
6306		HTTPPath:   "/",
6307	}
6308
6309	if input == nil {
6310		input = &waf.ListGeoMatchSetsInput{}
6311	}
6312
6313	output = &waf.ListGeoMatchSetsOutput{}
6314	req = c.newRequest(op, input, output)
6315	return
6316}
6317
6318// ListGeoMatchSets API operation for AWS WAF Regional.
6319//
6320//
6321// This is AWS WAF Classic documentation. For more information, see AWS WAF
6322// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6323// in the developer guide.
6324//
6325// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6326// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6327// With the latest version, AWS WAF has a single set of endpoints for regional
6328// and global use.
6329//
6330// Returns an array of GeoMatchSetSummary objects in the response.
6331//
6332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6333// with awserr.Error's Code and Message methods to get detailed information about
6334// the error.
6335//
6336// See the AWS API reference guide for AWS WAF Regional's
6337// API operation ListGeoMatchSets for usage and error information.
6338//
6339// Returned Error Types:
6340//   * WAFInternalErrorException
6341//   The operation failed because of a system problem, even though the request
6342//   was valid. Retry your request.
6343//
6344//   * WAFInvalidAccountException
6345//   The operation failed because you tried to create, update, or delete an object
6346//   by using an invalid account identifier.
6347//
6348// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets
6349func (c *WAFRegional) ListGeoMatchSets(input *waf.ListGeoMatchSetsInput) (*waf.ListGeoMatchSetsOutput, error) {
6350	req, out := c.ListGeoMatchSetsRequest(input)
6351	return out, req.Send()
6352}
6353
6354// ListGeoMatchSetsWithContext is the same as ListGeoMatchSets with the addition of
6355// the ability to pass a context and additional request options.
6356//
6357// See ListGeoMatchSets for details on how to use this API operation.
6358//
6359// The context must be non-nil and will be used for request cancellation. If
6360// the context is nil a panic will occur. In the future the SDK may create
6361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6362// for more information on using Contexts.
6363func (c *WAFRegional) ListGeoMatchSetsWithContext(ctx aws.Context, input *waf.ListGeoMatchSetsInput, opts ...request.Option) (*waf.ListGeoMatchSetsOutput, error) {
6364	req, out := c.ListGeoMatchSetsRequest(input)
6365	req.SetContext(ctx)
6366	req.ApplyOptions(opts...)
6367	return out, req.Send()
6368}
6369
6370const opListIPSets = "ListIPSets"
6371
6372// ListIPSetsRequest generates a "aws/request.Request" representing the
6373// client's request for the ListIPSets operation. The "output" return
6374// value will be populated with the request's response once the request completes
6375// successfully.
6376//
6377// Use "Send" method on the returned Request to send the API call to the service.
6378// the "output" return value is not valid until after Send returns without error.
6379//
6380// See ListIPSets for more information on using the ListIPSets
6381// API call, and error handling.
6382//
6383// This method is useful when you want to inject custom logic or configuration
6384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6385//
6386//
6387//    // Example sending a request using the ListIPSetsRequest method.
6388//    req, resp := client.ListIPSetsRequest(params)
6389//
6390//    err := req.Send()
6391//    if err == nil { // resp is now filled
6392//        fmt.Println(resp)
6393//    }
6394//
6395// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets
6396func (c *WAFRegional) ListIPSetsRequest(input *waf.ListIPSetsInput) (req *request.Request, output *waf.ListIPSetsOutput) {
6397	op := &request.Operation{
6398		Name:       opListIPSets,
6399		HTTPMethod: "POST",
6400		HTTPPath:   "/",
6401	}
6402
6403	if input == nil {
6404		input = &waf.ListIPSetsInput{}
6405	}
6406
6407	output = &waf.ListIPSetsOutput{}
6408	req = c.newRequest(op, input, output)
6409	return
6410}
6411
6412// ListIPSets API operation for AWS WAF Regional.
6413//
6414//
6415// This is AWS WAF Classic documentation. For more information, see AWS WAF
6416// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6417// in the developer guide.
6418//
6419// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6420// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6421// With the latest version, AWS WAF has a single set of endpoints for regional
6422// and global use.
6423//
6424// Returns an array of IPSetSummary objects in the response.
6425//
6426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6427// with awserr.Error's Code and Message methods to get detailed information about
6428// the error.
6429//
6430// See the AWS API reference guide for AWS WAF Regional's
6431// API operation ListIPSets for usage and error information.
6432//
6433// Returned Error Types:
6434//   * WAFInternalErrorException
6435//   The operation failed because of a system problem, even though the request
6436//   was valid. Retry your request.
6437//
6438//   * WAFInvalidAccountException
6439//   The operation failed because you tried to create, update, or delete an object
6440//   by using an invalid account identifier.
6441//
6442// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets
6443func (c *WAFRegional) ListIPSets(input *waf.ListIPSetsInput) (*waf.ListIPSetsOutput, error) {
6444	req, out := c.ListIPSetsRequest(input)
6445	return out, req.Send()
6446}
6447
6448// ListIPSetsWithContext is the same as ListIPSets with the addition of
6449// the ability to pass a context and additional request options.
6450//
6451// See ListIPSets for details on how to use this API operation.
6452//
6453// The context must be non-nil and will be used for request cancellation. If
6454// the context is nil a panic will occur. In the future the SDK may create
6455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6456// for more information on using Contexts.
6457func (c *WAFRegional) ListIPSetsWithContext(ctx aws.Context, input *waf.ListIPSetsInput, opts ...request.Option) (*waf.ListIPSetsOutput, error) {
6458	req, out := c.ListIPSetsRequest(input)
6459	req.SetContext(ctx)
6460	req.ApplyOptions(opts...)
6461	return out, req.Send()
6462}
6463
6464const opListLoggingConfigurations = "ListLoggingConfigurations"
6465
6466// ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the
6467// client's request for the ListLoggingConfigurations operation. The "output" return
6468// value will be populated with the request's response once the request completes
6469// successfully.
6470//
6471// Use "Send" method on the returned Request to send the API call to the service.
6472// the "output" return value is not valid until after Send returns without error.
6473//
6474// See ListLoggingConfigurations for more information on using the ListLoggingConfigurations
6475// API call, and error handling.
6476//
6477// This method is useful when you want to inject custom logic or configuration
6478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6479//
6480//
6481//    // Example sending a request using the ListLoggingConfigurationsRequest method.
6482//    req, resp := client.ListLoggingConfigurationsRequest(params)
6483//
6484//    err := req.Send()
6485//    if err == nil { // resp is now filled
6486//        fmt.Println(resp)
6487//    }
6488//
6489// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations
6490func (c *WAFRegional) ListLoggingConfigurationsRequest(input *waf.ListLoggingConfigurationsInput) (req *request.Request, output *waf.ListLoggingConfigurationsOutput) {
6491	op := &request.Operation{
6492		Name:       opListLoggingConfigurations,
6493		HTTPMethod: "POST",
6494		HTTPPath:   "/",
6495	}
6496
6497	if input == nil {
6498		input = &waf.ListLoggingConfigurationsInput{}
6499	}
6500
6501	output = &waf.ListLoggingConfigurationsOutput{}
6502	req = c.newRequest(op, input, output)
6503	return
6504}
6505
6506// ListLoggingConfigurations API operation for AWS WAF Regional.
6507//
6508//
6509// This is AWS WAF Classic documentation. For more information, see AWS WAF
6510// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6511// in the developer guide.
6512//
6513// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6514// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6515// With the latest version, AWS WAF has a single set of endpoints for regional
6516// and global use.
6517//
6518// Returns an array of LoggingConfiguration objects.
6519//
6520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6521// with awserr.Error's Code and Message methods to get detailed information about
6522// the error.
6523//
6524// See the AWS API reference guide for AWS WAF Regional's
6525// API operation ListLoggingConfigurations for usage and error information.
6526//
6527// Returned Error Types:
6528//   * WAFInternalErrorException
6529//   The operation failed because of a system problem, even though the request
6530//   was valid. Retry your request.
6531//
6532//   * WAFNonexistentItemException
6533//   The operation failed because the referenced object doesn't exist.
6534//
6535//   * WAFInvalidParameterException
6536//   The operation failed because AWS WAF didn't recognize a parameter in the
6537//   request. For example:
6538//
6539//      * You specified an invalid parameter name.
6540//
6541//      * You specified an invalid value.
6542//
6543//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
6544//      using an action other than INSERT or DELETE.
6545//
6546//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
6547//      BLOCK, or COUNT.
6548//
6549//      * You tried to create a RateBasedRule with a RateKey value other than
6550//      IP.
6551//
6552//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
6553//      BLOCK, or COUNT.
6554//
6555//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
6556//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
6557//
6558//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
6559//      for Data.
6560//
6561//      * Your request references an ARN that is malformed, or corresponds to
6562//      a resource with which a web ACL cannot be associated.
6563//
6564// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations
6565func (c *WAFRegional) ListLoggingConfigurations(input *waf.ListLoggingConfigurationsInput) (*waf.ListLoggingConfigurationsOutput, error) {
6566	req, out := c.ListLoggingConfigurationsRequest(input)
6567	return out, req.Send()
6568}
6569
6570// ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of
6571// the ability to pass a context and additional request options.
6572//
6573// See ListLoggingConfigurations for details on how to use this API operation.
6574//
6575// The context must be non-nil and will be used for request cancellation. If
6576// the context is nil a panic will occur. In the future the SDK may create
6577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6578// for more information on using Contexts.
6579func (c *WAFRegional) ListLoggingConfigurationsWithContext(ctx aws.Context, input *waf.ListLoggingConfigurationsInput, opts ...request.Option) (*waf.ListLoggingConfigurationsOutput, error) {
6580	req, out := c.ListLoggingConfigurationsRequest(input)
6581	req.SetContext(ctx)
6582	req.ApplyOptions(opts...)
6583	return out, req.Send()
6584}
6585
6586const opListRateBasedRules = "ListRateBasedRules"
6587
6588// ListRateBasedRulesRequest generates a "aws/request.Request" representing the
6589// client's request for the ListRateBasedRules operation. The "output" return
6590// value will be populated with the request's response once the request completes
6591// successfully.
6592//
6593// Use "Send" method on the returned Request to send the API call to the service.
6594// the "output" return value is not valid until after Send returns without error.
6595//
6596// See ListRateBasedRules for more information on using the ListRateBasedRules
6597// API call, and error handling.
6598//
6599// This method is useful when you want to inject custom logic or configuration
6600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6601//
6602//
6603//    // Example sending a request using the ListRateBasedRulesRequest method.
6604//    req, resp := client.ListRateBasedRulesRequest(params)
6605//
6606//    err := req.Send()
6607//    if err == nil { // resp is now filled
6608//        fmt.Println(resp)
6609//    }
6610//
6611// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules
6612func (c *WAFRegional) ListRateBasedRulesRequest(input *waf.ListRateBasedRulesInput) (req *request.Request, output *waf.ListRateBasedRulesOutput) {
6613	op := &request.Operation{
6614		Name:       opListRateBasedRules,
6615		HTTPMethod: "POST",
6616		HTTPPath:   "/",
6617	}
6618
6619	if input == nil {
6620		input = &waf.ListRateBasedRulesInput{}
6621	}
6622
6623	output = &waf.ListRateBasedRulesOutput{}
6624	req = c.newRequest(op, input, output)
6625	return
6626}
6627
6628// ListRateBasedRules API operation for AWS WAF Regional.
6629//
6630//
6631// This is AWS WAF Classic documentation. For more information, see AWS WAF
6632// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6633// in the developer guide.
6634//
6635// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6636// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6637// With the latest version, AWS WAF has a single set of endpoints for regional
6638// and global use.
6639//
6640// Returns an array of RuleSummary objects.
6641//
6642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6643// with awserr.Error's Code and Message methods to get detailed information about
6644// the error.
6645//
6646// See the AWS API reference guide for AWS WAF Regional's
6647// API operation ListRateBasedRules for usage and error information.
6648//
6649// Returned Error Types:
6650//   * WAFInternalErrorException
6651//   The operation failed because of a system problem, even though the request
6652//   was valid. Retry your request.
6653//
6654//   * WAFInvalidAccountException
6655//   The operation failed because you tried to create, update, or delete an object
6656//   by using an invalid account identifier.
6657//
6658// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules
6659func (c *WAFRegional) ListRateBasedRules(input *waf.ListRateBasedRulesInput) (*waf.ListRateBasedRulesOutput, error) {
6660	req, out := c.ListRateBasedRulesRequest(input)
6661	return out, req.Send()
6662}
6663
6664// ListRateBasedRulesWithContext is the same as ListRateBasedRules with the addition of
6665// the ability to pass a context and additional request options.
6666//
6667// See ListRateBasedRules for details on how to use this API operation.
6668//
6669// The context must be non-nil and will be used for request cancellation. If
6670// the context is nil a panic will occur. In the future the SDK may create
6671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6672// for more information on using Contexts.
6673func (c *WAFRegional) ListRateBasedRulesWithContext(ctx aws.Context, input *waf.ListRateBasedRulesInput, opts ...request.Option) (*waf.ListRateBasedRulesOutput, error) {
6674	req, out := c.ListRateBasedRulesRequest(input)
6675	req.SetContext(ctx)
6676	req.ApplyOptions(opts...)
6677	return out, req.Send()
6678}
6679
6680const opListRegexMatchSets = "ListRegexMatchSets"
6681
6682// ListRegexMatchSetsRequest generates a "aws/request.Request" representing the
6683// client's request for the ListRegexMatchSets operation. The "output" return
6684// value will be populated with the request's response once the request completes
6685// successfully.
6686//
6687// Use "Send" method on the returned Request to send the API call to the service.
6688// the "output" return value is not valid until after Send returns without error.
6689//
6690// See ListRegexMatchSets for more information on using the ListRegexMatchSets
6691// API call, and error handling.
6692//
6693// This method is useful when you want to inject custom logic or configuration
6694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6695//
6696//
6697//    // Example sending a request using the ListRegexMatchSetsRequest method.
6698//    req, resp := client.ListRegexMatchSetsRequest(params)
6699//
6700//    err := req.Send()
6701//    if err == nil { // resp is now filled
6702//        fmt.Println(resp)
6703//    }
6704//
6705// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets
6706func (c *WAFRegional) ListRegexMatchSetsRequest(input *waf.ListRegexMatchSetsInput) (req *request.Request, output *waf.ListRegexMatchSetsOutput) {
6707	op := &request.Operation{
6708		Name:       opListRegexMatchSets,
6709		HTTPMethod: "POST",
6710		HTTPPath:   "/",
6711	}
6712
6713	if input == nil {
6714		input = &waf.ListRegexMatchSetsInput{}
6715	}
6716
6717	output = &waf.ListRegexMatchSetsOutput{}
6718	req = c.newRequest(op, input, output)
6719	return
6720}
6721
6722// ListRegexMatchSets API operation for AWS WAF Regional.
6723//
6724//
6725// This is AWS WAF Classic documentation. For more information, see AWS WAF
6726// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6727// in the developer guide.
6728//
6729// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6730// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6731// With the latest version, AWS WAF has a single set of endpoints for regional
6732// and global use.
6733//
6734// Returns an array of RegexMatchSetSummary objects.
6735//
6736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6737// with awserr.Error's Code and Message methods to get detailed information about
6738// the error.
6739//
6740// See the AWS API reference guide for AWS WAF Regional's
6741// API operation ListRegexMatchSets for usage and error information.
6742//
6743// Returned Error Types:
6744//   * WAFInternalErrorException
6745//   The operation failed because of a system problem, even though the request
6746//   was valid. Retry your request.
6747//
6748//   * WAFInvalidAccountException
6749//   The operation failed because you tried to create, update, or delete an object
6750//   by using an invalid account identifier.
6751//
6752// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets
6753func (c *WAFRegional) ListRegexMatchSets(input *waf.ListRegexMatchSetsInput) (*waf.ListRegexMatchSetsOutput, error) {
6754	req, out := c.ListRegexMatchSetsRequest(input)
6755	return out, req.Send()
6756}
6757
6758// ListRegexMatchSetsWithContext is the same as ListRegexMatchSets with the addition of
6759// the ability to pass a context and additional request options.
6760//
6761// See ListRegexMatchSets for details on how to use this API operation.
6762//
6763// The context must be non-nil and will be used for request cancellation. If
6764// the context is nil a panic will occur. In the future the SDK may create
6765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6766// for more information on using Contexts.
6767func (c *WAFRegional) ListRegexMatchSetsWithContext(ctx aws.Context, input *waf.ListRegexMatchSetsInput, opts ...request.Option) (*waf.ListRegexMatchSetsOutput, error) {
6768	req, out := c.ListRegexMatchSetsRequest(input)
6769	req.SetContext(ctx)
6770	req.ApplyOptions(opts...)
6771	return out, req.Send()
6772}
6773
6774const opListRegexPatternSets = "ListRegexPatternSets"
6775
6776// ListRegexPatternSetsRequest generates a "aws/request.Request" representing the
6777// client's request for the ListRegexPatternSets operation. The "output" return
6778// value will be populated with the request's response once the request completes
6779// successfully.
6780//
6781// Use "Send" method on the returned Request to send the API call to the service.
6782// the "output" return value is not valid until after Send returns without error.
6783//
6784// See ListRegexPatternSets for more information on using the ListRegexPatternSets
6785// API call, and error handling.
6786//
6787// This method is useful when you want to inject custom logic or configuration
6788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6789//
6790//
6791//    // Example sending a request using the ListRegexPatternSetsRequest method.
6792//    req, resp := client.ListRegexPatternSetsRequest(params)
6793//
6794//    err := req.Send()
6795//    if err == nil { // resp is now filled
6796//        fmt.Println(resp)
6797//    }
6798//
6799// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets
6800func (c *WAFRegional) ListRegexPatternSetsRequest(input *waf.ListRegexPatternSetsInput) (req *request.Request, output *waf.ListRegexPatternSetsOutput) {
6801	op := &request.Operation{
6802		Name:       opListRegexPatternSets,
6803		HTTPMethod: "POST",
6804		HTTPPath:   "/",
6805	}
6806
6807	if input == nil {
6808		input = &waf.ListRegexPatternSetsInput{}
6809	}
6810
6811	output = &waf.ListRegexPatternSetsOutput{}
6812	req = c.newRequest(op, input, output)
6813	return
6814}
6815
6816// ListRegexPatternSets API operation for AWS WAF Regional.
6817//
6818//
6819// This is AWS WAF Classic documentation. For more information, see AWS WAF
6820// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6821// in the developer guide.
6822//
6823// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6824// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6825// With the latest version, AWS WAF has a single set of endpoints for regional
6826// and global use.
6827//
6828// Returns an array of RegexPatternSetSummary objects.
6829//
6830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6831// with awserr.Error's Code and Message methods to get detailed information about
6832// the error.
6833//
6834// See the AWS API reference guide for AWS WAF Regional's
6835// API operation ListRegexPatternSets for usage and error information.
6836//
6837// Returned Error Types:
6838//   * WAFInternalErrorException
6839//   The operation failed because of a system problem, even though the request
6840//   was valid. Retry your request.
6841//
6842//   * WAFInvalidAccountException
6843//   The operation failed because you tried to create, update, or delete an object
6844//   by using an invalid account identifier.
6845//
6846// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets
6847func (c *WAFRegional) ListRegexPatternSets(input *waf.ListRegexPatternSetsInput) (*waf.ListRegexPatternSetsOutput, error) {
6848	req, out := c.ListRegexPatternSetsRequest(input)
6849	return out, req.Send()
6850}
6851
6852// ListRegexPatternSetsWithContext is the same as ListRegexPatternSets with the addition of
6853// the ability to pass a context and additional request options.
6854//
6855// See ListRegexPatternSets for details on how to use this API operation.
6856//
6857// The context must be non-nil and will be used for request cancellation. If
6858// the context is nil a panic will occur. In the future the SDK may create
6859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6860// for more information on using Contexts.
6861func (c *WAFRegional) ListRegexPatternSetsWithContext(ctx aws.Context, input *waf.ListRegexPatternSetsInput, opts ...request.Option) (*waf.ListRegexPatternSetsOutput, error) {
6862	req, out := c.ListRegexPatternSetsRequest(input)
6863	req.SetContext(ctx)
6864	req.ApplyOptions(opts...)
6865	return out, req.Send()
6866}
6867
6868const opListResourcesForWebACL = "ListResourcesForWebACL"
6869
6870// ListResourcesForWebACLRequest generates a "aws/request.Request" representing the
6871// client's request for the ListResourcesForWebACL operation. The "output" return
6872// value will be populated with the request's response once the request completes
6873// successfully.
6874//
6875// Use "Send" method on the returned Request to send the API call to the service.
6876// the "output" return value is not valid until after Send returns without error.
6877//
6878// See ListResourcesForWebACL for more information on using the ListResourcesForWebACL
6879// API call, and error handling.
6880//
6881// This method is useful when you want to inject custom logic or configuration
6882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6883//
6884//
6885//    // Example sending a request using the ListResourcesForWebACLRequest method.
6886//    req, resp := client.ListResourcesForWebACLRequest(params)
6887//
6888//    err := req.Send()
6889//    if err == nil { // resp is now filled
6890//        fmt.Println(resp)
6891//    }
6892//
6893// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL
6894func (c *WAFRegional) ListResourcesForWebACLRequest(input *ListResourcesForWebACLInput) (req *request.Request, output *ListResourcesForWebACLOutput) {
6895	op := &request.Operation{
6896		Name:       opListResourcesForWebACL,
6897		HTTPMethod: "POST",
6898		HTTPPath:   "/",
6899	}
6900
6901	if input == nil {
6902		input = &ListResourcesForWebACLInput{}
6903	}
6904
6905	output = &ListResourcesForWebACLOutput{}
6906	req = c.newRequest(op, input, output)
6907	return
6908}
6909
6910// ListResourcesForWebACL API operation for AWS WAF Regional.
6911//
6912//
6913// This is AWS WAF Classic Regional documentation. For more information, see
6914// AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
6915// in the developer guide.
6916//
6917// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
6918// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
6919// With the latest version, AWS WAF has a single set of endpoints for regional
6920// and global use.
6921//
6922// Returns an array of resources associated with the specified web ACL.
6923//
6924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6925// with awserr.Error's Code and Message methods to get detailed information about
6926// the error.
6927//
6928// See the AWS API reference guide for AWS WAF Regional's
6929// API operation ListResourcesForWebACL for usage and error information.
6930//
6931// Returned Error Types:
6932//   * WAFInternalErrorException
6933//   The operation failed because of a system problem, even though the request
6934//   was valid. Retry your request.
6935//
6936//   * WAFInvalidAccountException
6937//   The operation failed because you tried to create, update, or delete an object
6938//   by using an invalid account identifier.
6939//
6940//   * WAFNonexistentItemException
6941//   The operation failed because the referenced object doesn't exist.
6942//
6943//   * WAFInvalidParameterException
6944//   The operation failed because AWS WAF didn't recognize a parameter in the
6945//   request. For example:
6946//
6947//      * You specified an invalid parameter name.
6948//
6949//      * You specified an invalid value.
6950//
6951//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
6952//      using an action other than INSERT or DELETE.
6953//
6954//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
6955//      BLOCK, or COUNT.
6956//
6957//      * You tried to create a RateBasedRule with a RateKey value other than
6958//      IP.
6959//
6960//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
6961//      BLOCK, or COUNT.
6962//
6963//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
6964//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
6965//
6966//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
6967//      for Data.
6968//
6969//      * Your request references an ARN that is malformed, or corresponds to
6970//      a resource with which a web ACL cannot be associated.
6971//
6972// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL
6973func (c *WAFRegional) ListResourcesForWebACL(input *ListResourcesForWebACLInput) (*ListResourcesForWebACLOutput, error) {
6974	req, out := c.ListResourcesForWebACLRequest(input)
6975	return out, req.Send()
6976}
6977
6978// ListResourcesForWebACLWithContext is the same as ListResourcesForWebACL with the addition of
6979// the ability to pass a context and additional request options.
6980//
6981// See ListResourcesForWebACL for details on how to use this API operation.
6982//
6983// The context must be non-nil and will be used for request cancellation. If
6984// the context is nil a panic will occur. In the future the SDK may create
6985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6986// for more information on using Contexts.
6987func (c *WAFRegional) ListResourcesForWebACLWithContext(ctx aws.Context, input *ListResourcesForWebACLInput, opts ...request.Option) (*ListResourcesForWebACLOutput, error) {
6988	req, out := c.ListResourcesForWebACLRequest(input)
6989	req.SetContext(ctx)
6990	req.ApplyOptions(opts...)
6991	return out, req.Send()
6992}
6993
6994const opListRuleGroups = "ListRuleGroups"
6995
6996// ListRuleGroupsRequest generates a "aws/request.Request" representing the
6997// client's request for the ListRuleGroups operation. The "output" return
6998// value will be populated with the request's response once the request completes
6999// successfully.
7000//
7001// Use "Send" method on the returned Request to send the API call to the service.
7002// the "output" return value is not valid until after Send returns without error.
7003//
7004// See ListRuleGroups for more information on using the ListRuleGroups
7005// API call, and error handling.
7006//
7007// This method is useful when you want to inject custom logic or configuration
7008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7009//
7010//
7011//    // Example sending a request using the ListRuleGroupsRequest method.
7012//    req, resp := client.ListRuleGroupsRequest(params)
7013//
7014//    err := req.Send()
7015//    if err == nil { // resp is now filled
7016//        fmt.Println(resp)
7017//    }
7018//
7019// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups
7020func (c *WAFRegional) ListRuleGroupsRequest(input *waf.ListRuleGroupsInput) (req *request.Request, output *waf.ListRuleGroupsOutput) {
7021	op := &request.Operation{
7022		Name:       opListRuleGroups,
7023		HTTPMethod: "POST",
7024		HTTPPath:   "/",
7025	}
7026
7027	if input == nil {
7028		input = &waf.ListRuleGroupsInput{}
7029	}
7030
7031	output = &waf.ListRuleGroupsOutput{}
7032	req = c.newRequest(op, input, output)
7033	return
7034}
7035
7036// ListRuleGroups API operation for AWS WAF Regional.
7037//
7038//
7039// This is AWS WAF Classic documentation. For more information, see AWS WAF
7040// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7041// in the developer guide.
7042//
7043// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7044// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7045// With the latest version, AWS WAF has a single set of endpoints for regional
7046// and global use.
7047//
7048// Returns an array of RuleGroup objects.
7049//
7050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7051// with awserr.Error's Code and Message methods to get detailed information about
7052// the error.
7053//
7054// See the AWS API reference guide for AWS WAF Regional's
7055// API operation ListRuleGroups for usage and error information.
7056//
7057// Returned Error Types:
7058//   * WAFInternalErrorException
7059//   The operation failed because of a system problem, even though the request
7060//   was valid. Retry your request.
7061//
7062// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups
7063func (c *WAFRegional) ListRuleGroups(input *waf.ListRuleGroupsInput) (*waf.ListRuleGroupsOutput, error) {
7064	req, out := c.ListRuleGroupsRequest(input)
7065	return out, req.Send()
7066}
7067
7068// ListRuleGroupsWithContext is the same as ListRuleGroups with the addition of
7069// the ability to pass a context and additional request options.
7070//
7071// See ListRuleGroups for details on how to use this API operation.
7072//
7073// The context must be non-nil and will be used for request cancellation. If
7074// the context is nil a panic will occur. In the future the SDK may create
7075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7076// for more information on using Contexts.
7077func (c *WAFRegional) ListRuleGroupsWithContext(ctx aws.Context, input *waf.ListRuleGroupsInput, opts ...request.Option) (*waf.ListRuleGroupsOutput, error) {
7078	req, out := c.ListRuleGroupsRequest(input)
7079	req.SetContext(ctx)
7080	req.ApplyOptions(opts...)
7081	return out, req.Send()
7082}
7083
7084const opListRules = "ListRules"
7085
7086// ListRulesRequest generates a "aws/request.Request" representing the
7087// client's request for the ListRules operation. The "output" return
7088// value will be populated with the request's response once the request completes
7089// successfully.
7090//
7091// Use "Send" method on the returned Request to send the API call to the service.
7092// the "output" return value is not valid until after Send returns without error.
7093//
7094// See ListRules for more information on using the ListRules
7095// API call, and error handling.
7096//
7097// This method is useful when you want to inject custom logic or configuration
7098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7099//
7100//
7101//    // Example sending a request using the ListRulesRequest method.
7102//    req, resp := client.ListRulesRequest(params)
7103//
7104//    err := req.Send()
7105//    if err == nil { // resp is now filled
7106//        fmt.Println(resp)
7107//    }
7108//
7109// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules
7110func (c *WAFRegional) ListRulesRequest(input *waf.ListRulesInput) (req *request.Request, output *waf.ListRulesOutput) {
7111	op := &request.Operation{
7112		Name:       opListRules,
7113		HTTPMethod: "POST",
7114		HTTPPath:   "/",
7115	}
7116
7117	if input == nil {
7118		input = &waf.ListRulesInput{}
7119	}
7120
7121	output = &waf.ListRulesOutput{}
7122	req = c.newRequest(op, input, output)
7123	return
7124}
7125
7126// ListRules API operation for AWS WAF Regional.
7127//
7128//
7129// This is AWS WAF Classic documentation. For more information, see AWS WAF
7130// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7131// in the developer guide.
7132//
7133// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7134// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7135// With the latest version, AWS WAF has a single set of endpoints for regional
7136// and global use.
7137//
7138// Returns an array of RuleSummary objects.
7139//
7140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7141// with awserr.Error's Code and Message methods to get detailed information about
7142// the error.
7143//
7144// See the AWS API reference guide for AWS WAF Regional's
7145// API operation ListRules for usage and error information.
7146//
7147// Returned Error Types:
7148//   * WAFInternalErrorException
7149//   The operation failed because of a system problem, even though the request
7150//   was valid. Retry your request.
7151//
7152//   * WAFInvalidAccountException
7153//   The operation failed because you tried to create, update, or delete an object
7154//   by using an invalid account identifier.
7155//
7156// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules
7157func (c *WAFRegional) ListRules(input *waf.ListRulesInput) (*waf.ListRulesOutput, error) {
7158	req, out := c.ListRulesRequest(input)
7159	return out, req.Send()
7160}
7161
7162// ListRulesWithContext is the same as ListRules with the addition of
7163// the ability to pass a context and additional request options.
7164//
7165// See ListRules for details on how to use this API operation.
7166//
7167// The context must be non-nil and will be used for request cancellation. If
7168// the context is nil a panic will occur. In the future the SDK may create
7169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7170// for more information on using Contexts.
7171func (c *WAFRegional) ListRulesWithContext(ctx aws.Context, input *waf.ListRulesInput, opts ...request.Option) (*waf.ListRulesOutput, error) {
7172	req, out := c.ListRulesRequest(input)
7173	req.SetContext(ctx)
7174	req.ApplyOptions(opts...)
7175	return out, req.Send()
7176}
7177
7178const opListSizeConstraintSets = "ListSizeConstraintSets"
7179
7180// ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the
7181// client's request for the ListSizeConstraintSets operation. The "output" return
7182// value will be populated with the request's response once the request completes
7183// successfully.
7184//
7185// Use "Send" method on the returned Request to send the API call to the service.
7186// the "output" return value is not valid until after Send returns without error.
7187//
7188// See ListSizeConstraintSets for more information on using the ListSizeConstraintSets
7189// API call, and error handling.
7190//
7191// This method is useful when you want to inject custom logic or configuration
7192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7193//
7194//
7195//    // Example sending a request using the ListSizeConstraintSetsRequest method.
7196//    req, resp := client.ListSizeConstraintSetsRequest(params)
7197//
7198//    err := req.Send()
7199//    if err == nil { // resp is now filled
7200//        fmt.Println(resp)
7201//    }
7202//
7203// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets
7204func (c *WAFRegional) ListSizeConstraintSetsRequest(input *waf.ListSizeConstraintSetsInput) (req *request.Request, output *waf.ListSizeConstraintSetsOutput) {
7205	op := &request.Operation{
7206		Name:       opListSizeConstraintSets,
7207		HTTPMethod: "POST",
7208		HTTPPath:   "/",
7209	}
7210
7211	if input == nil {
7212		input = &waf.ListSizeConstraintSetsInput{}
7213	}
7214
7215	output = &waf.ListSizeConstraintSetsOutput{}
7216	req = c.newRequest(op, input, output)
7217	return
7218}
7219
7220// ListSizeConstraintSets API operation for AWS WAF Regional.
7221//
7222//
7223// This is AWS WAF Classic documentation. For more information, see AWS WAF
7224// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7225// in the developer guide.
7226//
7227// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7228// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7229// With the latest version, AWS WAF has a single set of endpoints for regional
7230// and global use.
7231//
7232// Returns an array of SizeConstraintSetSummary objects.
7233//
7234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7235// with awserr.Error's Code and Message methods to get detailed information about
7236// the error.
7237//
7238// See the AWS API reference guide for AWS WAF Regional's
7239// API operation ListSizeConstraintSets for usage and error information.
7240//
7241// Returned Error Types:
7242//   * WAFInternalErrorException
7243//   The operation failed because of a system problem, even though the request
7244//   was valid. Retry your request.
7245//
7246//   * WAFInvalidAccountException
7247//   The operation failed because you tried to create, update, or delete an object
7248//   by using an invalid account identifier.
7249//
7250// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets
7251func (c *WAFRegional) ListSizeConstraintSets(input *waf.ListSizeConstraintSetsInput) (*waf.ListSizeConstraintSetsOutput, error) {
7252	req, out := c.ListSizeConstraintSetsRequest(input)
7253	return out, req.Send()
7254}
7255
7256// ListSizeConstraintSetsWithContext is the same as ListSizeConstraintSets with the addition of
7257// the ability to pass a context and additional request options.
7258//
7259// See ListSizeConstraintSets for details on how to use this API operation.
7260//
7261// The context must be non-nil and will be used for request cancellation. If
7262// the context is nil a panic will occur. In the future the SDK may create
7263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7264// for more information on using Contexts.
7265func (c *WAFRegional) ListSizeConstraintSetsWithContext(ctx aws.Context, input *waf.ListSizeConstraintSetsInput, opts ...request.Option) (*waf.ListSizeConstraintSetsOutput, error) {
7266	req, out := c.ListSizeConstraintSetsRequest(input)
7267	req.SetContext(ctx)
7268	req.ApplyOptions(opts...)
7269	return out, req.Send()
7270}
7271
7272const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets"
7273
7274// ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the
7275// client's request for the ListSqlInjectionMatchSets operation. The "output" return
7276// value will be populated with the request's response once the request completes
7277// successfully.
7278//
7279// Use "Send" method on the returned Request to send the API call to the service.
7280// the "output" return value is not valid until after Send returns without error.
7281//
7282// See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets
7283// API call, and error handling.
7284//
7285// This method is useful when you want to inject custom logic or configuration
7286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7287//
7288//
7289//    // Example sending a request using the ListSqlInjectionMatchSetsRequest method.
7290//    req, resp := client.ListSqlInjectionMatchSetsRequest(params)
7291//
7292//    err := req.Send()
7293//    if err == nil { // resp is now filled
7294//        fmt.Println(resp)
7295//    }
7296//
7297// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets
7298func (c *WAFRegional) ListSqlInjectionMatchSetsRequest(input *waf.ListSqlInjectionMatchSetsInput) (req *request.Request, output *waf.ListSqlInjectionMatchSetsOutput) {
7299	op := &request.Operation{
7300		Name:       opListSqlInjectionMatchSets,
7301		HTTPMethod: "POST",
7302		HTTPPath:   "/",
7303	}
7304
7305	if input == nil {
7306		input = &waf.ListSqlInjectionMatchSetsInput{}
7307	}
7308
7309	output = &waf.ListSqlInjectionMatchSetsOutput{}
7310	req = c.newRequest(op, input, output)
7311	return
7312}
7313
7314// ListSqlInjectionMatchSets API operation for AWS WAF Regional.
7315//
7316//
7317// This is AWS WAF Classic documentation. For more information, see AWS WAF
7318// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7319// in the developer guide.
7320//
7321// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7322// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7323// With the latest version, AWS WAF has a single set of endpoints for regional
7324// and global use.
7325//
7326// Returns an array of SqlInjectionMatchSet objects.
7327//
7328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7329// with awserr.Error's Code and Message methods to get detailed information about
7330// the error.
7331//
7332// See the AWS API reference guide for AWS WAF Regional's
7333// API operation ListSqlInjectionMatchSets for usage and error information.
7334//
7335// Returned Error Types:
7336//   * WAFInternalErrorException
7337//   The operation failed because of a system problem, even though the request
7338//   was valid. Retry your request.
7339//
7340//   * WAFInvalidAccountException
7341//   The operation failed because you tried to create, update, or delete an object
7342//   by using an invalid account identifier.
7343//
7344// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets
7345func (c *WAFRegional) ListSqlInjectionMatchSets(input *waf.ListSqlInjectionMatchSetsInput) (*waf.ListSqlInjectionMatchSetsOutput, error) {
7346	req, out := c.ListSqlInjectionMatchSetsRequest(input)
7347	return out, req.Send()
7348}
7349
7350// ListSqlInjectionMatchSetsWithContext is the same as ListSqlInjectionMatchSets with the addition of
7351// the ability to pass a context and additional request options.
7352//
7353// See ListSqlInjectionMatchSets for details on how to use this API operation.
7354//
7355// The context must be non-nil and will be used for request cancellation. If
7356// the context is nil a panic will occur. In the future the SDK may create
7357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7358// for more information on using Contexts.
7359func (c *WAFRegional) ListSqlInjectionMatchSetsWithContext(ctx aws.Context, input *waf.ListSqlInjectionMatchSetsInput, opts ...request.Option) (*waf.ListSqlInjectionMatchSetsOutput, error) {
7360	req, out := c.ListSqlInjectionMatchSetsRequest(input)
7361	req.SetContext(ctx)
7362	req.ApplyOptions(opts...)
7363	return out, req.Send()
7364}
7365
7366const opListSubscribedRuleGroups = "ListSubscribedRuleGroups"
7367
7368// ListSubscribedRuleGroupsRequest generates a "aws/request.Request" representing the
7369// client's request for the ListSubscribedRuleGroups operation. The "output" return
7370// value will be populated with the request's response once the request completes
7371// successfully.
7372//
7373// Use "Send" method on the returned Request to send the API call to the service.
7374// the "output" return value is not valid until after Send returns without error.
7375//
7376// See ListSubscribedRuleGroups for more information on using the ListSubscribedRuleGroups
7377// API call, and error handling.
7378//
7379// This method is useful when you want to inject custom logic or configuration
7380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7381//
7382//
7383//    // Example sending a request using the ListSubscribedRuleGroupsRequest method.
7384//    req, resp := client.ListSubscribedRuleGroupsRequest(params)
7385//
7386//    err := req.Send()
7387//    if err == nil { // resp is now filled
7388//        fmt.Println(resp)
7389//    }
7390//
7391// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups
7392func (c *WAFRegional) ListSubscribedRuleGroupsRequest(input *waf.ListSubscribedRuleGroupsInput) (req *request.Request, output *waf.ListSubscribedRuleGroupsOutput) {
7393	op := &request.Operation{
7394		Name:       opListSubscribedRuleGroups,
7395		HTTPMethod: "POST",
7396		HTTPPath:   "/",
7397	}
7398
7399	if input == nil {
7400		input = &waf.ListSubscribedRuleGroupsInput{}
7401	}
7402
7403	output = &waf.ListSubscribedRuleGroupsOutput{}
7404	req = c.newRequest(op, input, output)
7405	return
7406}
7407
7408// ListSubscribedRuleGroups API operation for AWS WAF Regional.
7409//
7410//
7411// This is AWS WAF Classic documentation. For more information, see AWS WAF
7412// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7413// in the developer guide.
7414//
7415// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7416// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7417// With the latest version, AWS WAF has a single set of endpoints for regional
7418// and global use.
7419//
7420// Returns an array of RuleGroup objects that you are subscribed to.
7421//
7422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7423// with awserr.Error's Code and Message methods to get detailed information about
7424// the error.
7425//
7426// See the AWS API reference guide for AWS WAF Regional's
7427// API operation ListSubscribedRuleGroups for usage and error information.
7428//
7429// Returned Error Types:
7430//   * WAFNonexistentItemException
7431//   The operation failed because the referenced object doesn't exist.
7432//
7433//   * WAFInternalErrorException
7434//   The operation failed because of a system problem, even though the request
7435//   was valid. Retry your request.
7436//
7437// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups
7438func (c *WAFRegional) ListSubscribedRuleGroups(input *waf.ListSubscribedRuleGroupsInput) (*waf.ListSubscribedRuleGroupsOutput, error) {
7439	req, out := c.ListSubscribedRuleGroupsRequest(input)
7440	return out, req.Send()
7441}
7442
7443// ListSubscribedRuleGroupsWithContext is the same as ListSubscribedRuleGroups with the addition of
7444// the ability to pass a context and additional request options.
7445//
7446// See ListSubscribedRuleGroups for details on how to use this API operation.
7447//
7448// The context must be non-nil and will be used for request cancellation. If
7449// the context is nil a panic will occur. In the future the SDK may create
7450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7451// for more information on using Contexts.
7452func (c *WAFRegional) ListSubscribedRuleGroupsWithContext(ctx aws.Context, input *waf.ListSubscribedRuleGroupsInput, opts ...request.Option) (*waf.ListSubscribedRuleGroupsOutput, error) {
7453	req, out := c.ListSubscribedRuleGroupsRequest(input)
7454	req.SetContext(ctx)
7455	req.ApplyOptions(opts...)
7456	return out, req.Send()
7457}
7458
7459const opListTagsForResource = "ListTagsForResource"
7460
7461// ListTagsForResourceRequest generates a "aws/request.Request" representing the
7462// client's request for the ListTagsForResource operation. The "output" return
7463// value will be populated with the request's response once the request completes
7464// successfully.
7465//
7466// Use "Send" method on the returned Request to send the API call to the service.
7467// the "output" return value is not valid until after Send returns without error.
7468//
7469// See ListTagsForResource for more information on using the ListTagsForResource
7470// API call, and error handling.
7471//
7472// This method is useful when you want to inject custom logic or configuration
7473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7474//
7475//
7476//    // Example sending a request using the ListTagsForResourceRequest method.
7477//    req, resp := client.ListTagsForResourceRequest(params)
7478//
7479//    err := req.Send()
7480//    if err == nil { // resp is now filled
7481//        fmt.Println(resp)
7482//    }
7483//
7484// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource
7485func (c *WAFRegional) ListTagsForResourceRequest(input *waf.ListTagsForResourceInput) (req *request.Request, output *waf.ListTagsForResourceOutput) {
7486	op := &request.Operation{
7487		Name:       opListTagsForResource,
7488		HTTPMethod: "POST",
7489		HTTPPath:   "/",
7490	}
7491
7492	if input == nil {
7493		input = &waf.ListTagsForResourceInput{}
7494	}
7495
7496	output = &waf.ListTagsForResourceOutput{}
7497	req = c.newRequest(op, input, output)
7498	return
7499}
7500
7501// ListTagsForResource API operation for AWS WAF Regional.
7502//
7503//
7504// This is AWS WAF Classic documentation. For more information, see AWS WAF
7505// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7506// in the developer guide.
7507//
7508// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7509// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7510// With the latest version, AWS WAF has a single set of endpoints for regional
7511// and global use.
7512//
7513// Retrieves the tags associated with the specified AWS resource. Tags are key:value
7514// pairs that you can use to categorize and manage your resources, for purposes
7515// like billing. For example, you might set the tag key to "customer" and the
7516// value to the customer name or ID. You can specify one or more tags to add
7517// to each AWS resource, up to 50 tags for a resource.
7518//
7519// Tagging is only available through the API, SDKs, and CLI. You can't manage
7520// or view tags through the AWS WAF Classic console. You can tag the AWS resources
7521// that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.
7522//
7523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7524// with awserr.Error's Code and Message methods to get detailed information about
7525// the error.
7526//
7527// See the AWS API reference guide for AWS WAF Regional's
7528// API operation ListTagsForResource for usage and error information.
7529//
7530// Returned Error Types:
7531//   * WAFInternalErrorException
7532//   The operation failed because of a system problem, even though the request
7533//   was valid. Retry your request.
7534//
7535//   * WAFInvalidParameterException
7536//   The operation failed because AWS WAF didn't recognize a parameter in the
7537//   request. For example:
7538//
7539//      * You specified an invalid parameter name.
7540//
7541//      * You specified an invalid value.
7542//
7543//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
7544//      using an action other than INSERT or DELETE.
7545//
7546//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
7547//      BLOCK, or COUNT.
7548//
7549//      * You tried to create a RateBasedRule with a RateKey value other than
7550//      IP.
7551//
7552//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
7553//      BLOCK, or COUNT.
7554//
7555//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
7556//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
7557//
7558//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
7559//      for Data.
7560//
7561//      * Your request references an ARN that is malformed, or corresponds to
7562//      a resource with which a web ACL cannot be associated.
7563//
7564//   * WAFNonexistentItemException
7565//   The operation failed because the referenced object doesn't exist.
7566//
7567//   * WAFBadRequestException
7568//
7569//   * WAFTagOperationException
7570//
7571//   * WAFTagOperationInternalErrorException
7572//
7573// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource
7574func (c *WAFRegional) ListTagsForResource(input *waf.ListTagsForResourceInput) (*waf.ListTagsForResourceOutput, error) {
7575	req, out := c.ListTagsForResourceRequest(input)
7576	return out, req.Send()
7577}
7578
7579// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
7580// the ability to pass a context and additional request options.
7581//
7582// See ListTagsForResource for details on how to use this API operation.
7583//
7584// The context must be non-nil and will be used for request cancellation. If
7585// the context is nil a panic will occur. In the future the SDK may create
7586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7587// for more information on using Contexts.
7588func (c *WAFRegional) ListTagsForResourceWithContext(ctx aws.Context, input *waf.ListTagsForResourceInput, opts ...request.Option) (*waf.ListTagsForResourceOutput, error) {
7589	req, out := c.ListTagsForResourceRequest(input)
7590	req.SetContext(ctx)
7591	req.ApplyOptions(opts...)
7592	return out, req.Send()
7593}
7594
7595const opListWebACLs = "ListWebACLs"
7596
7597// ListWebACLsRequest generates a "aws/request.Request" representing the
7598// client's request for the ListWebACLs operation. The "output" return
7599// value will be populated with the request's response once the request completes
7600// successfully.
7601//
7602// Use "Send" method on the returned Request to send the API call to the service.
7603// the "output" return value is not valid until after Send returns without error.
7604//
7605// See ListWebACLs for more information on using the ListWebACLs
7606// API call, and error handling.
7607//
7608// This method is useful when you want to inject custom logic or configuration
7609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7610//
7611//
7612//    // Example sending a request using the ListWebACLsRequest method.
7613//    req, resp := client.ListWebACLsRequest(params)
7614//
7615//    err := req.Send()
7616//    if err == nil { // resp is now filled
7617//        fmt.Println(resp)
7618//    }
7619//
7620// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs
7621func (c *WAFRegional) ListWebACLsRequest(input *waf.ListWebACLsInput) (req *request.Request, output *waf.ListWebACLsOutput) {
7622	op := &request.Operation{
7623		Name:       opListWebACLs,
7624		HTTPMethod: "POST",
7625		HTTPPath:   "/",
7626	}
7627
7628	if input == nil {
7629		input = &waf.ListWebACLsInput{}
7630	}
7631
7632	output = &waf.ListWebACLsOutput{}
7633	req = c.newRequest(op, input, output)
7634	return
7635}
7636
7637// ListWebACLs API operation for AWS WAF Regional.
7638//
7639//
7640// This is AWS WAF Classic documentation. For more information, see AWS WAF
7641// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7642// in the developer guide.
7643//
7644// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7645// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7646// With the latest version, AWS WAF has a single set of endpoints for regional
7647// and global use.
7648//
7649// Returns an array of WebACLSummary objects in the response.
7650//
7651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7652// with awserr.Error's Code and Message methods to get detailed information about
7653// the error.
7654//
7655// See the AWS API reference guide for AWS WAF Regional's
7656// API operation ListWebACLs for usage and error information.
7657//
7658// Returned Error Types:
7659//   * WAFInternalErrorException
7660//   The operation failed because of a system problem, even though the request
7661//   was valid. Retry your request.
7662//
7663//   * WAFInvalidAccountException
7664//   The operation failed because you tried to create, update, or delete an object
7665//   by using an invalid account identifier.
7666//
7667// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs
7668func (c *WAFRegional) ListWebACLs(input *waf.ListWebACLsInput) (*waf.ListWebACLsOutput, error) {
7669	req, out := c.ListWebACLsRequest(input)
7670	return out, req.Send()
7671}
7672
7673// ListWebACLsWithContext is the same as ListWebACLs with the addition of
7674// the ability to pass a context and additional request options.
7675//
7676// See ListWebACLs for details on how to use this API operation.
7677//
7678// The context must be non-nil and will be used for request cancellation. If
7679// the context is nil a panic will occur. In the future the SDK may create
7680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7681// for more information on using Contexts.
7682func (c *WAFRegional) ListWebACLsWithContext(ctx aws.Context, input *waf.ListWebACLsInput, opts ...request.Option) (*waf.ListWebACLsOutput, error) {
7683	req, out := c.ListWebACLsRequest(input)
7684	req.SetContext(ctx)
7685	req.ApplyOptions(opts...)
7686	return out, req.Send()
7687}
7688
7689const opListXssMatchSets = "ListXssMatchSets"
7690
7691// ListXssMatchSetsRequest generates a "aws/request.Request" representing the
7692// client's request for the ListXssMatchSets operation. The "output" return
7693// value will be populated with the request's response once the request completes
7694// successfully.
7695//
7696// Use "Send" method on the returned Request to send the API call to the service.
7697// the "output" return value is not valid until after Send returns without error.
7698//
7699// See ListXssMatchSets for more information on using the ListXssMatchSets
7700// API call, and error handling.
7701//
7702// This method is useful when you want to inject custom logic or configuration
7703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7704//
7705//
7706//    // Example sending a request using the ListXssMatchSetsRequest method.
7707//    req, resp := client.ListXssMatchSetsRequest(params)
7708//
7709//    err := req.Send()
7710//    if err == nil { // resp is now filled
7711//        fmt.Println(resp)
7712//    }
7713//
7714// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets
7715func (c *WAFRegional) ListXssMatchSetsRequest(input *waf.ListXssMatchSetsInput) (req *request.Request, output *waf.ListXssMatchSetsOutput) {
7716	op := &request.Operation{
7717		Name:       opListXssMatchSets,
7718		HTTPMethod: "POST",
7719		HTTPPath:   "/",
7720	}
7721
7722	if input == nil {
7723		input = &waf.ListXssMatchSetsInput{}
7724	}
7725
7726	output = &waf.ListXssMatchSetsOutput{}
7727	req = c.newRequest(op, input, output)
7728	return
7729}
7730
7731// ListXssMatchSets API operation for AWS WAF Regional.
7732//
7733//
7734// This is AWS WAF Classic documentation. For more information, see AWS WAF
7735// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7736// in the developer guide.
7737//
7738// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7739// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7740// With the latest version, AWS WAF has a single set of endpoints for regional
7741// and global use.
7742//
7743// Returns an array of XssMatchSet objects.
7744//
7745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7746// with awserr.Error's Code and Message methods to get detailed information about
7747// the error.
7748//
7749// See the AWS API reference guide for AWS WAF Regional's
7750// API operation ListXssMatchSets for usage and error information.
7751//
7752// Returned Error Types:
7753//   * WAFInternalErrorException
7754//   The operation failed because of a system problem, even though the request
7755//   was valid. Retry your request.
7756//
7757//   * WAFInvalidAccountException
7758//   The operation failed because you tried to create, update, or delete an object
7759//   by using an invalid account identifier.
7760//
7761// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets
7762func (c *WAFRegional) ListXssMatchSets(input *waf.ListXssMatchSetsInput) (*waf.ListXssMatchSetsOutput, error) {
7763	req, out := c.ListXssMatchSetsRequest(input)
7764	return out, req.Send()
7765}
7766
7767// ListXssMatchSetsWithContext is the same as ListXssMatchSets with the addition of
7768// the ability to pass a context and additional request options.
7769//
7770// See ListXssMatchSets for details on how to use this API operation.
7771//
7772// The context must be non-nil and will be used for request cancellation. If
7773// the context is nil a panic will occur. In the future the SDK may create
7774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7775// for more information on using Contexts.
7776func (c *WAFRegional) ListXssMatchSetsWithContext(ctx aws.Context, input *waf.ListXssMatchSetsInput, opts ...request.Option) (*waf.ListXssMatchSetsOutput, error) {
7777	req, out := c.ListXssMatchSetsRequest(input)
7778	req.SetContext(ctx)
7779	req.ApplyOptions(opts...)
7780	return out, req.Send()
7781}
7782
7783const opPutLoggingConfiguration = "PutLoggingConfiguration"
7784
7785// PutLoggingConfigurationRequest generates a "aws/request.Request" representing the
7786// client's request for the PutLoggingConfiguration operation. The "output" return
7787// value will be populated with the request's response once the request completes
7788// successfully.
7789//
7790// Use "Send" method on the returned Request to send the API call to the service.
7791// the "output" return value is not valid until after Send returns without error.
7792//
7793// See PutLoggingConfiguration for more information on using the PutLoggingConfiguration
7794// API call, and error handling.
7795//
7796// This method is useful when you want to inject custom logic or configuration
7797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7798//
7799//
7800//    // Example sending a request using the PutLoggingConfigurationRequest method.
7801//    req, resp := client.PutLoggingConfigurationRequest(params)
7802//
7803//    err := req.Send()
7804//    if err == nil { // resp is now filled
7805//        fmt.Println(resp)
7806//    }
7807//
7808// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration
7809func (c *WAFRegional) PutLoggingConfigurationRequest(input *waf.PutLoggingConfigurationInput) (req *request.Request, output *waf.PutLoggingConfigurationOutput) {
7810	op := &request.Operation{
7811		Name:       opPutLoggingConfiguration,
7812		HTTPMethod: "POST",
7813		HTTPPath:   "/",
7814	}
7815
7816	if input == nil {
7817		input = &waf.PutLoggingConfigurationInput{}
7818	}
7819
7820	output = &waf.PutLoggingConfigurationOutput{}
7821	req = c.newRequest(op, input, output)
7822	return
7823}
7824
7825// PutLoggingConfiguration API operation for AWS WAF Regional.
7826//
7827//
7828// This is AWS WAF Classic documentation. For more information, see AWS WAF
7829// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7830// in the developer guide.
7831//
7832// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7833// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7834// With the latest version, AWS WAF has a single set of endpoints for regional
7835// and global use.
7836//
7837// Associates a LoggingConfiguration with a specified web ACL.
7838//
7839// You can access information about all traffic that AWS WAF inspects using
7840// the following steps:
7841//
7842// Create an Amazon Kinesis Data Firehose.
7843//
7844// Create the data firehose with a PUT source and in the region that you are
7845// operating. However, if you are capturing logs for Amazon CloudFront, always
7846// create the firehose in US East (N. Virginia).
7847//
7848// Do not create the data firehose using a Kinesis stream as your source.
7849//
7850// Associate that firehose to your web ACL using a PutLoggingConfiguration request.
7851//
7852// When you successfully enable logging using a PutLoggingConfiguration request,
7853// AWS WAF will create a service linked role with the necessary permissions
7854// to write logs to the Amazon Kinesis Data Firehose. For more information,
7855// see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
7856// in the AWS WAF Developer Guide.
7857//
7858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7859// with awserr.Error's Code and Message methods to get detailed information about
7860// the error.
7861//
7862// See the AWS API reference guide for AWS WAF Regional's
7863// API operation PutLoggingConfiguration for usage and error information.
7864//
7865// Returned Error Types:
7866//   * WAFInternalErrorException
7867//   The operation failed because of a system problem, even though the request
7868//   was valid. Retry your request.
7869//
7870//   * WAFNonexistentItemException
7871//   The operation failed because the referenced object doesn't exist.
7872//
7873//   * WAFStaleDataException
7874//   The operation failed because you tried to create, update, or delete an object
7875//   by using a change token that has already been used.
7876//
7877//   * WAFServiceLinkedRoleErrorException
7878//   AWS WAF is not able to access the service linked role. This can be caused
7879//   by a previous PutLoggingConfiguration request, which can lock the service
7880//   linked role for about 20 seconds. Please try your request again. The service
7881//   linked role can also be locked by a previous DeleteServiceLinkedRole request,
7882//   which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole,
7883//   wait at least 15 minutes and try the request again. If you receive this same
7884//   exception again, you will have to wait additional time until the role is
7885//   unlocked.
7886//
7887// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration
7888func (c *WAFRegional) PutLoggingConfiguration(input *waf.PutLoggingConfigurationInput) (*waf.PutLoggingConfigurationOutput, error) {
7889	req, out := c.PutLoggingConfigurationRequest(input)
7890	return out, req.Send()
7891}
7892
7893// PutLoggingConfigurationWithContext is the same as PutLoggingConfiguration with the addition of
7894// the ability to pass a context and additional request options.
7895//
7896// See PutLoggingConfiguration for details on how to use this API operation.
7897//
7898// The context must be non-nil and will be used for request cancellation. If
7899// the context is nil a panic will occur. In the future the SDK may create
7900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7901// for more information on using Contexts.
7902func (c *WAFRegional) PutLoggingConfigurationWithContext(ctx aws.Context, input *waf.PutLoggingConfigurationInput, opts ...request.Option) (*waf.PutLoggingConfigurationOutput, error) {
7903	req, out := c.PutLoggingConfigurationRequest(input)
7904	req.SetContext(ctx)
7905	req.ApplyOptions(opts...)
7906	return out, req.Send()
7907}
7908
7909const opPutPermissionPolicy = "PutPermissionPolicy"
7910
7911// PutPermissionPolicyRequest generates a "aws/request.Request" representing the
7912// client's request for the PutPermissionPolicy operation. The "output" return
7913// value will be populated with the request's response once the request completes
7914// successfully.
7915//
7916// Use "Send" method on the returned Request to send the API call to the service.
7917// the "output" return value is not valid until after Send returns without error.
7918//
7919// See PutPermissionPolicy for more information on using the PutPermissionPolicy
7920// API call, and error handling.
7921//
7922// This method is useful when you want to inject custom logic or configuration
7923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7924//
7925//
7926//    // Example sending a request using the PutPermissionPolicyRequest method.
7927//    req, resp := client.PutPermissionPolicyRequest(params)
7928//
7929//    err := req.Send()
7930//    if err == nil { // resp is now filled
7931//        fmt.Println(resp)
7932//    }
7933//
7934// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy
7935func (c *WAFRegional) PutPermissionPolicyRequest(input *waf.PutPermissionPolicyInput) (req *request.Request, output *waf.PutPermissionPolicyOutput) {
7936	op := &request.Operation{
7937		Name:       opPutPermissionPolicy,
7938		HTTPMethod: "POST",
7939		HTTPPath:   "/",
7940	}
7941
7942	if input == nil {
7943		input = &waf.PutPermissionPolicyInput{}
7944	}
7945
7946	output = &waf.PutPermissionPolicyOutput{}
7947	req = c.newRequest(op, input, output)
7948	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7949	return
7950}
7951
7952// PutPermissionPolicy API operation for AWS WAF Regional.
7953//
7954//
7955// This is AWS WAF Classic documentation. For more information, see AWS WAF
7956// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
7957// in the developer guide.
7958//
7959// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
7960// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
7961// With the latest version, AWS WAF has a single set of endpoints for regional
7962// and global use.
7963//
7964// Attaches an IAM policy to the specified resource. The only supported use
7965// for this action is to share a RuleGroup across accounts.
7966//
7967// The PutPermissionPolicy is subject to the following restrictions:
7968//
7969//    * You can attach only one policy with each PutPermissionPolicy request.
7970//
7971//    * The policy must include an Effect, Action and Principal.
7972//
7973//    * Effect must specify Allow.
7974//
7975//    * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
7976//    waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
7977//    actions in the policy will be rejected.
7978//
7979//    * The policy cannot include a Resource parameter.
7980//
7981//    * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
7982//    must exist in the same region.
7983//
7984//    * The user making the request must be the owner of the RuleGroup.
7985//
7986//    * Your policy must be composed using IAM Policy version 2012-10-17.
7987//
7988// For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
7989//
7990// An example of a valid policy parameter is shown in the Examples section below.
7991//
7992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7993// with awserr.Error's Code and Message methods to get detailed information about
7994// the error.
7995//
7996// See the AWS API reference guide for AWS WAF Regional's
7997// API operation PutPermissionPolicy for usage and error information.
7998//
7999// Returned Error Types:
8000//   * WAFInternalErrorException
8001//   The operation failed because of a system problem, even though the request
8002//   was valid. Retry your request.
8003//
8004//   * WAFStaleDataException
8005//   The operation failed because you tried to create, update, or delete an object
8006//   by using a change token that has already been used.
8007//
8008//   * WAFNonexistentItemException
8009//   The operation failed because the referenced object doesn't exist.
8010//
8011//   * WAFInvalidPermissionPolicyException
8012//   The operation failed because the specified policy is not in the proper format.
8013//
8014//   The policy is subject to the following restrictions:
8015//
8016//      * You can attach only one policy with each PutPermissionPolicy request.
8017//
8018//      * The policy must include an Effect, Action and Principal.
8019//
8020//      * Effect must specify Allow.
8021//
8022//      * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
8023//      waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
8024//      actions in the policy will be rejected.
8025//
8026//      * The policy cannot include a Resource parameter.
8027//
8028//      * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
8029//      must exist in the same region.
8030//
8031//      * The user making the request must be the owner of the RuleGroup.
8032//
8033//      * Your policy must be composed using IAM Policy version 2012-10-17.
8034//
8035// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy
8036func (c *WAFRegional) PutPermissionPolicy(input *waf.PutPermissionPolicyInput) (*waf.PutPermissionPolicyOutput, error) {
8037	req, out := c.PutPermissionPolicyRequest(input)
8038	return out, req.Send()
8039}
8040
8041// PutPermissionPolicyWithContext is the same as PutPermissionPolicy with the addition of
8042// the ability to pass a context and additional request options.
8043//
8044// See PutPermissionPolicy for details on how to use this API operation.
8045//
8046// The context must be non-nil and will be used for request cancellation. If
8047// the context is nil a panic will occur. In the future the SDK may create
8048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8049// for more information on using Contexts.
8050func (c *WAFRegional) PutPermissionPolicyWithContext(ctx aws.Context, input *waf.PutPermissionPolicyInput, opts ...request.Option) (*waf.PutPermissionPolicyOutput, error) {
8051	req, out := c.PutPermissionPolicyRequest(input)
8052	req.SetContext(ctx)
8053	req.ApplyOptions(opts...)
8054	return out, req.Send()
8055}
8056
8057const opTagResource = "TagResource"
8058
8059// TagResourceRequest generates a "aws/request.Request" representing the
8060// client's request for the TagResource operation. The "output" return
8061// value will be populated with the request's response once the request completes
8062// successfully.
8063//
8064// Use "Send" method on the returned Request to send the API call to the service.
8065// the "output" return value is not valid until after Send returns without error.
8066//
8067// See TagResource for more information on using the TagResource
8068// API call, and error handling.
8069//
8070// This method is useful when you want to inject custom logic or configuration
8071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8072//
8073//
8074//    // Example sending a request using the TagResourceRequest method.
8075//    req, resp := client.TagResourceRequest(params)
8076//
8077//    err := req.Send()
8078//    if err == nil { // resp is now filled
8079//        fmt.Println(resp)
8080//    }
8081//
8082// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource
8083func (c *WAFRegional) TagResourceRequest(input *waf.TagResourceInput) (req *request.Request, output *waf.TagResourceOutput) {
8084	op := &request.Operation{
8085		Name:       opTagResource,
8086		HTTPMethod: "POST",
8087		HTTPPath:   "/",
8088	}
8089
8090	if input == nil {
8091		input = &waf.TagResourceInput{}
8092	}
8093
8094	output = &waf.TagResourceOutput{}
8095	req = c.newRequest(op, input, output)
8096	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8097	return
8098}
8099
8100// TagResource API operation for AWS WAF Regional.
8101//
8102//
8103// This is AWS WAF Classic documentation. For more information, see AWS WAF
8104// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
8105// in the developer guide.
8106//
8107// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
8108// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
8109// With the latest version, AWS WAF has a single set of endpoints for regional
8110// and global use.
8111//
8112// Associates tags with the specified AWS resource. Tags are key:value pairs
8113// that you can use to categorize and manage your resources, for purposes like
8114// billing. For example, you might set the tag key to "customer" and the value
8115// to the customer name or ID. You can specify one or more tags to add to each
8116// AWS resource, up to 50 tags for a resource.
8117//
8118// Tagging is only available through the API, SDKs, and CLI. You can't manage
8119// or view tags through the AWS WAF Classic console. You can use this action
8120// to tag the AWS resources that you manage through AWS WAF Classic: web ACLs,
8121// rule groups, and rules.
8122//
8123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8124// with awserr.Error's Code and Message methods to get detailed information about
8125// the error.
8126//
8127// See the AWS API reference guide for AWS WAF Regional's
8128// API operation TagResource for usage and error information.
8129//
8130// Returned Error Types:
8131//   * WAFInternalErrorException
8132//   The operation failed because of a system problem, even though the request
8133//   was valid. Retry your request.
8134//
8135//   * WAFInvalidParameterException
8136//   The operation failed because AWS WAF didn't recognize a parameter in the
8137//   request. For example:
8138//
8139//      * You specified an invalid parameter name.
8140//
8141//      * You specified an invalid value.
8142//
8143//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
8144//      using an action other than INSERT or DELETE.
8145//
8146//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
8147//      BLOCK, or COUNT.
8148//
8149//      * You tried to create a RateBasedRule with a RateKey value other than
8150//      IP.
8151//
8152//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
8153//      BLOCK, or COUNT.
8154//
8155//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
8156//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
8157//
8158//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
8159//      for Data.
8160//
8161//      * Your request references an ARN that is malformed, or corresponds to
8162//      a resource with which a web ACL cannot be associated.
8163//
8164//   * WAFLimitsExceededException
8165//   The operation exceeds a resource limit, for example, the maximum number of
8166//   WebACL objects that you can create for an AWS account. For more information,
8167//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
8168//   in the AWS WAF Developer Guide.
8169//
8170//   * WAFNonexistentItemException
8171//   The operation failed because the referenced object doesn't exist.
8172//
8173//   * WAFBadRequestException
8174//
8175//   * WAFTagOperationException
8176//
8177//   * WAFTagOperationInternalErrorException
8178//
8179// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource
8180func (c *WAFRegional) TagResource(input *waf.TagResourceInput) (*waf.TagResourceOutput, error) {
8181	req, out := c.TagResourceRequest(input)
8182	return out, req.Send()
8183}
8184
8185// TagResourceWithContext is the same as TagResource with the addition of
8186// the ability to pass a context and additional request options.
8187//
8188// See TagResource for details on how to use this API operation.
8189//
8190// The context must be non-nil and will be used for request cancellation. If
8191// the context is nil a panic will occur. In the future the SDK may create
8192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8193// for more information on using Contexts.
8194func (c *WAFRegional) TagResourceWithContext(ctx aws.Context, input *waf.TagResourceInput, opts ...request.Option) (*waf.TagResourceOutput, error) {
8195	req, out := c.TagResourceRequest(input)
8196	req.SetContext(ctx)
8197	req.ApplyOptions(opts...)
8198	return out, req.Send()
8199}
8200
8201const opUntagResource = "UntagResource"
8202
8203// UntagResourceRequest generates a "aws/request.Request" representing the
8204// client's request for the UntagResource operation. The "output" return
8205// value will be populated with the request's response once the request completes
8206// successfully.
8207//
8208// Use "Send" method on the returned Request to send the API call to the service.
8209// the "output" return value is not valid until after Send returns without error.
8210//
8211// See UntagResource for more information on using the UntagResource
8212// API call, and error handling.
8213//
8214// This method is useful when you want to inject custom logic or configuration
8215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8216//
8217//
8218//    // Example sending a request using the UntagResourceRequest method.
8219//    req, resp := client.UntagResourceRequest(params)
8220//
8221//    err := req.Send()
8222//    if err == nil { // resp is now filled
8223//        fmt.Println(resp)
8224//    }
8225//
8226// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource
8227func (c *WAFRegional) UntagResourceRequest(input *waf.UntagResourceInput) (req *request.Request, output *waf.UntagResourceOutput) {
8228	op := &request.Operation{
8229		Name:       opUntagResource,
8230		HTTPMethod: "POST",
8231		HTTPPath:   "/",
8232	}
8233
8234	if input == nil {
8235		input = &waf.UntagResourceInput{}
8236	}
8237
8238	output = &waf.UntagResourceOutput{}
8239	req = c.newRequest(op, input, output)
8240	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8241	return
8242}
8243
8244// UntagResource API operation for AWS WAF Regional.
8245//
8246//
8247// This is AWS WAF Classic documentation. For more information, see AWS WAF
8248// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
8249// in the developer guide.
8250//
8251// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
8252// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
8253// With the latest version, AWS WAF has a single set of endpoints for regional
8254// and global use.
8255//
8256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8257// with awserr.Error's Code and Message methods to get detailed information about
8258// the error.
8259//
8260// See the AWS API reference guide for AWS WAF Regional's
8261// API operation UntagResource for usage and error information.
8262//
8263// Returned Error Types:
8264//   * WAFInternalErrorException
8265//   The operation failed because of a system problem, even though the request
8266//   was valid. Retry your request.
8267//
8268//   * WAFInvalidParameterException
8269//   The operation failed because AWS WAF didn't recognize a parameter in the
8270//   request. For example:
8271//
8272//      * You specified an invalid parameter name.
8273//
8274//      * You specified an invalid value.
8275//
8276//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
8277//      using an action other than INSERT or DELETE.
8278//
8279//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
8280//      BLOCK, or COUNT.
8281//
8282//      * You tried to create a RateBasedRule with a RateKey value other than
8283//      IP.
8284//
8285//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
8286//      BLOCK, or COUNT.
8287//
8288//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
8289//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
8290//
8291//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
8292//      for Data.
8293//
8294//      * Your request references an ARN that is malformed, or corresponds to
8295//      a resource with which a web ACL cannot be associated.
8296//
8297//   * WAFNonexistentItemException
8298//   The operation failed because the referenced object doesn't exist.
8299//
8300//   * WAFBadRequestException
8301//
8302//   * WAFTagOperationException
8303//
8304//   * WAFTagOperationInternalErrorException
8305//
8306// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource
8307func (c *WAFRegional) UntagResource(input *waf.UntagResourceInput) (*waf.UntagResourceOutput, error) {
8308	req, out := c.UntagResourceRequest(input)
8309	return out, req.Send()
8310}
8311
8312// UntagResourceWithContext is the same as UntagResource with the addition of
8313// the ability to pass a context and additional request options.
8314//
8315// See UntagResource for details on how to use this API operation.
8316//
8317// The context must be non-nil and will be used for request cancellation. If
8318// the context is nil a panic will occur. In the future the SDK may create
8319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8320// for more information on using Contexts.
8321func (c *WAFRegional) UntagResourceWithContext(ctx aws.Context, input *waf.UntagResourceInput, opts ...request.Option) (*waf.UntagResourceOutput, error) {
8322	req, out := c.UntagResourceRequest(input)
8323	req.SetContext(ctx)
8324	req.ApplyOptions(opts...)
8325	return out, req.Send()
8326}
8327
8328const opUpdateByteMatchSet = "UpdateByteMatchSet"
8329
8330// UpdateByteMatchSetRequest generates a "aws/request.Request" representing the
8331// client's request for the UpdateByteMatchSet operation. The "output" return
8332// value will be populated with the request's response once the request completes
8333// successfully.
8334//
8335// Use "Send" method on the returned Request to send the API call to the service.
8336// the "output" return value is not valid until after Send returns without error.
8337//
8338// See UpdateByteMatchSet for more information on using the UpdateByteMatchSet
8339// API call, and error handling.
8340//
8341// This method is useful when you want to inject custom logic or configuration
8342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8343//
8344//
8345//    // Example sending a request using the UpdateByteMatchSetRequest method.
8346//    req, resp := client.UpdateByteMatchSetRequest(params)
8347//
8348//    err := req.Send()
8349//    if err == nil { // resp is now filled
8350//        fmt.Println(resp)
8351//    }
8352//
8353// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet
8354func (c *WAFRegional) UpdateByteMatchSetRequest(input *waf.UpdateByteMatchSetInput) (req *request.Request, output *waf.UpdateByteMatchSetOutput) {
8355	op := &request.Operation{
8356		Name:       opUpdateByteMatchSet,
8357		HTTPMethod: "POST",
8358		HTTPPath:   "/",
8359	}
8360
8361	if input == nil {
8362		input = &waf.UpdateByteMatchSetInput{}
8363	}
8364
8365	output = &waf.UpdateByteMatchSetOutput{}
8366	req = c.newRequest(op, input, output)
8367	return
8368}
8369
8370// UpdateByteMatchSet API operation for AWS WAF Regional.
8371//
8372//
8373// This is AWS WAF Classic documentation. For more information, see AWS WAF
8374// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
8375// in the developer guide.
8376//
8377// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
8378// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
8379// With the latest version, AWS WAF has a single set of endpoints for regional
8380// and global use.
8381//
8382// Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For
8383// each ByteMatchTuple object, you specify the following values:
8384//
8385//    * Whether to insert or delete the object from the array. If you want to
8386//    change a ByteMatchSetUpdate object, you delete the existing object and
8387//    add a new one.
8388//
8389//    * The part of a web request that you want AWS WAF to inspect, such as
8390//    a query string or the value of the User-Agent header.
8391//
8392//    * The bytes (typically a string that corresponds with ASCII characters)
8393//    that you want AWS WAF to look for. For more information, including how
8394//    you specify the values for the AWS WAF API and the AWS CLI or SDKs, see
8395//    TargetString in the ByteMatchTuple data type.
8396//
8397//    * Where to look, such as at the beginning or the end of a query string.
8398//
8399//    * Whether to perform any conversions on the request, such as converting
8400//    it to lowercase, before inspecting it for the specified string.
8401//
8402// For example, you can add a ByteMatchSetUpdate object that matches web requests
8403// in which User-Agent headers contain the string BadBot. You can then configure
8404// AWS WAF to block those requests.
8405//
8406// To create and configure a ByteMatchSet, perform the following steps:
8407//
8408// Create a ByteMatchSet. For more information, see CreateByteMatchSet.
8409//
8410// Use GetChangeToken to get the change token that you provide in the ChangeToken
8411// parameter of an UpdateByteMatchSet request.
8412//
8413// Submit an UpdateByteMatchSet request to specify the part of the request that
8414// you want AWS WAF to inspect (for example, the header or the URI) and the
8415// value that you want AWS WAF to watch for.
8416//
8417// For more information about how to use the AWS WAF API to allow or block HTTP
8418// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
8419//
8420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8421// with awserr.Error's Code and Message methods to get detailed information about
8422// the error.
8423//
8424// See the AWS API reference guide for AWS WAF Regional's
8425// API operation UpdateByteMatchSet for usage and error information.
8426//
8427// Returned Error Types:
8428//   * WAFInternalErrorException
8429//   The operation failed because of a system problem, even though the request
8430//   was valid. Retry your request.
8431//
8432//   * WAFInvalidAccountException
8433//   The operation failed because you tried to create, update, or delete an object
8434//   by using an invalid account identifier.
8435//
8436//   * WAFInvalidOperationException
8437//   The operation failed because there was nothing to do. For example:
8438//
8439//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
8440//      specified WebACL.
8441//
8442//      * You tried to remove an IP address from an IPSet, but the IP address
8443//      isn't in the specified IPSet.
8444//
8445//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
8446//      isn't in the specified WebACL.
8447//
8448//      * You tried to add a Rule to a WebACL, but the Rule already exists in
8449//      the specified WebACL.
8450//
8451//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
8452//      already exists in the specified WebACL.
8453//
8454//   * WAFInvalidParameterException
8455//   The operation failed because AWS WAF didn't recognize a parameter in the
8456//   request. For example:
8457//
8458//      * You specified an invalid parameter name.
8459//
8460//      * You specified an invalid value.
8461//
8462//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
8463//      using an action other than INSERT or DELETE.
8464//
8465//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
8466//      BLOCK, or COUNT.
8467//
8468//      * You tried to create a RateBasedRule with a RateKey value other than
8469//      IP.
8470//
8471//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
8472//      BLOCK, or COUNT.
8473//
8474//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
8475//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
8476//
8477//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
8478//      for Data.
8479//
8480//      * Your request references an ARN that is malformed, or corresponds to
8481//      a resource with which a web ACL cannot be associated.
8482//
8483//   * WAFNonexistentContainerException
8484//   The operation failed because you tried to add an object to or delete an object
8485//   from another object that doesn't exist. For example:
8486//
8487//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
8488//      exist.
8489//
8490//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
8491//      that doesn't exist.
8492//
8493//      * You tried to add an IP address to or delete an IP address from an IPSet
8494//      that doesn't exist.
8495//
8496//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
8497//      a ByteMatchSet that doesn't exist.
8498//
8499//   * WAFNonexistentItemException
8500//   The operation failed because the referenced object doesn't exist.
8501//
8502//   * WAFStaleDataException
8503//   The operation failed because you tried to create, update, or delete an object
8504//   by using a change token that has already been used.
8505//
8506//   * WAFLimitsExceededException
8507//   The operation exceeds a resource limit, for example, the maximum number of
8508//   WebACL objects that you can create for an AWS account. For more information,
8509//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
8510//   in the AWS WAF Developer Guide.
8511//
8512// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet
8513func (c *WAFRegional) UpdateByteMatchSet(input *waf.UpdateByteMatchSetInput) (*waf.UpdateByteMatchSetOutput, error) {
8514	req, out := c.UpdateByteMatchSetRequest(input)
8515	return out, req.Send()
8516}
8517
8518// UpdateByteMatchSetWithContext is the same as UpdateByteMatchSet with the addition of
8519// the ability to pass a context and additional request options.
8520//
8521// See UpdateByteMatchSet for details on how to use this API operation.
8522//
8523// The context must be non-nil and will be used for request cancellation. If
8524// the context is nil a panic will occur. In the future the SDK may create
8525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8526// for more information on using Contexts.
8527func (c *WAFRegional) UpdateByteMatchSetWithContext(ctx aws.Context, input *waf.UpdateByteMatchSetInput, opts ...request.Option) (*waf.UpdateByteMatchSetOutput, error) {
8528	req, out := c.UpdateByteMatchSetRequest(input)
8529	req.SetContext(ctx)
8530	req.ApplyOptions(opts...)
8531	return out, req.Send()
8532}
8533
8534const opUpdateGeoMatchSet = "UpdateGeoMatchSet"
8535
8536// UpdateGeoMatchSetRequest generates a "aws/request.Request" representing the
8537// client's request for the UpdateGeoMatchSet operation. The "output" return
8538// value will be populated with the request's response once the request completes
8539// successfully.
8540//
8541// Use "Send" method on the returned Request to send the API call to the service.
8542// the "output" return value is not valid until after Send returns without error.
8543//
8544// See UpdateGeoMatchSet for more information on using the UpdateGeoMatchSet
8545// API call, and error handling.
8546//
8547// This method is useful when you want to inject custom logic or configuration
8548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8549//
8550//
8551//    // Example sending a request using the UpdateGeoMatchSetRequest method.
8552//    req, resp := client.UpdateGeoMatchSetRequest(params)
8553//
8554//    err := req.Send()
8555//    if err == nil { // resp is now filled
8556//        fmt.Println(resp)
8557//    }
8558//
8559// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet
8560func (c *WAFRegional) UpdateGeoMatchSetRequest(input *waf.UpdateGeoMatchSetInput) (req *request.Request, output *waf.UpdateGeoMatchSetOutput) {
8561	op := &request.Operation{
8562		Name:       opUpdateGeoMatchSet,
8563		HTTPMethod: "POST",
8564		HTTPPath:   "/",
8565	}
8566
8567	if input == nil {
8568		input = &waf.UpdateGeoMatchSetInput{}
8569	}
8570
8571	output = &waf.UpdateGeoMatchSetOutput{}
8572	req = c.newRequest(op, input, output)
8573	return
8574}
8575
8576// UpdateGeoMatchSet API operation for AWS WAF Regional.
8577//
8578//
8579// This is AWS WAF Classic documentation. For more information, see AWS WAF
8580// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
8581// in the developer guide.
8582//
8583// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
8584// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
8585// With the latest version, AWS WAF has a single set of endpoints for regional
8586// and global use.
8587//
8588// Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each
8589// GeoMatchConstraint object, you specify the following values:
8590//
8591//    * Whether to insert or delete the object from the array. If you want to
8592//    change an GeoMatchConstraint object, you delete the existing object and
8593//    add a new one.
8594//
8595//    * The Type. The only valid value for Type is Country.
8596//
8597//    * The Value, which is a two character code for the country to add to the
8598//    GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.
8599//
8600// To create and configure an GeoMatchSet, perform the following steps:
8601//
8602// Submit a CreateGeoMatchSet request.
8603//
8604// Use GetChangeToken to get the change token that you provide in the ChangeToken
8605// parameter of an UpdateGeoMatchSet request.
8606//
8607// Submit an UpdateGeoMatchSet request to specify the country that you want
8608// AWS WAF to watch for.
8609//
8610// When you update an GeoMatchSet, you specify the country that you want to
8611// add and/or the country that you want to delete. If you want to change a country,
8612// you delete the existing country and add the new one.
8613//
8614// For more information about how to use the AWS WAF API to allow or block HTTP
8615// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
8616//
8617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8618// with awserr.Error's Code and Message methods to get detailed information about
8619// the error.
8620//
8621// See the AWS API reference guide for AWS WAF Regional's
8622// API operation UpdateGeoMatchSet for usage and error information.
8623//
8624// Returned Error Types:
8625//   * WAFStaleDataException
8626//   The operation failed because you tried to create, update, or delete an object
8627//   by using a change token that has already been used.
8628//
8629//   * WAFInternalErrorException
8630//   The operation failed because of a system problem, even though the request
8631//   was valid. Retry your request.
8632//
8633//   * WAFInvalidAccountException
8634//   The operation failed because you tried to create, update, or delete an object
8635//   by using an invalid account identifier.
8636//
8637//   * WAFInvalidOperationException
8638//   The operation failed because there was nothing to do. For example:
8639//
8640//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
8641//      specified WebACL.
8642//
8643//      * You tried to remove an IP address from an IPSet, but the IP address
8644//      isn't in the specified IPSet.
8645//
8646//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
8647//      isn't in the specified WebACL.
8648//
8649//      * You tried to add a Rule to a WebACL, but the Rule already exists in
8650//      the specified WebACL.
8651//
8652//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
8653//      already exists in the specified WebACL.
8654//
8655//   * WAFInvalidParameterException
8656//   The operation failed because AWS WAF didn't recognize a parameter in the
8657//   request. For example:
8658//
8659//      * You specified an invalid parameter name.
8660//
8661//      * You specified an invalid value.
8662//
8663//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
8664//      using an action other than INSERT or DELETE.
8665//
8666//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
8667//      BLOCK, or COUNT.
8668//
8669//      * You tried to create a RateBasedRule with a RateKey value other than
8670//      IP.
8671//
8672//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
8673//      BLOCK, or COUNT.
8674//
8675//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
8676//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
8677//
8678//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
8679//      for Data.
8680//
8681//      * Your request references an ARN that is malformed, or corresponds to
8682//      a resource with which a web ACL cannot be associated.
8683//
8684//   * WAFNonexistentContainerException
8685//   The operation failed because you tried to add an object to or delete an object
8686//   from another object that doesn't exist. For example:
8687//
8688//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
8689//      exist.
8690//
8691//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
8692//      that doesn't exist.
8693//
8694//      * You tried to add an IP address to or delete an IP address from an IPSet
8695//      that doesn't exist.
8696//
8697//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
8698//      a ByteMatchSet that doesn't exist.
8699//
8700//   * WAFNonexistentItemException
8701//   The operation failed because the referenced object doesn't exist.
8702//
8703//   * WAFReferencedItemException
8704//   The operation failed because you tried to delete an object that is still
8705//   in use. For example:
8706//
8707//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
8708//
8709//      * You tried to delete a Rule that is still referenced by a WebACL.
8710//
8711//   * WAFLimitsExceededException
8712//   The operation exceeds a resource limit, for example, the maximum number of
8713//   WebACL objects that you can create for an AWS account. For more information,
8714//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
8715//   in the AWS WAF Developer Guide.
8716//
8717// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet
8718func (c *WAFRegional) UpdateGeoMatchSet(input *waf.UpdateGeoMatchSetInput) (*waf.UpdateGeoMatchSetOutput, error) {
8719	req, out := c.UpdateGeoMatchSetRequest(input)
8720	return out, req.Send()
8721}
8722
8723// UpdateGeoMatchSetWithContext is the same as UpdateGeoMatchSet with the addition of
8724// the ability to pass a context and additional request options.
8725//
8726// See UpdateGeoMatchSet for details on how to use this API operation.
8727//
8728// The context must be non-nil and will be used for request cancellation. If
8729// the context is nil a panic will occur. In the future the SDK may create
8730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8731// for more information on using Contexts.
8732func (c *WAFRegional) UpdateGeoMatchSetWithContext(ctx aws.Context, input *waf.UpdateGeoMatchSetInput, opts ...request.Option) (*waf.UpdateGeoMatchSetOutput, error) {
8733	req, out := c.UpdateGeoMatchSetRequest(input)
8734	req.SetContext(ctx)
8735	req.ApplyOptions(opts...)
8736	return out, req.Send()
8737}
8738
8739const opUpdateIPSet = "UpdateIPSet"
8740
8741// UpdateIPSetRequest generates a "aws/request.Request" representing the
8742// client's request for the UpdateIPSet operation. The "output" return
8743// value will be populated with the request's response once the request completes
8744// successfully.
8745//
8746// Use "Send" method on the returned Request to send the API call to the service.
8747// the "output" return value is not valid until after Send returns without error.
8748//
8749// See UpdateIPSet for more information on using the UpdateIPSet
8750// API call, and error handling.
8751//
8752// This method is useful when you want to inject custom logic or configuration
8753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8754//
8755//
8756//    // Example sending a request using the UpdateIPSetRequest method.
8757//    req, resp := client.UpdateIPSetRequest(params)
8758//
8759//    err := req.Send()
8760//    if err == nil { // resp is now filled
8761//        fmt.Println(resp)
8762//    }
8763//
8764// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet
8765func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *request.Request, output *waf.UpdateIPSetOutput) {
8766	op := &request.Operation{
8767		Name:       opUpdateIPSet,
8768		HTTPMethod: "POST",
8769		HTTPPath:   "/",
8770	}
8771
8772	if input == nil {
8773		input = &waf.UpdateIPSetInput{}
8774	}
8775
8776	output = &waf.UpdateIPSetOutput{}
8777	req = c.newRequest(op, input, output)
8778	return
8779}
8780
8781// UpdateIPSet API operation for AWS WAF Regional.
8782//
8783//
8784// This is AWS WAF Classic documentation. For more information, see AWS WAF
8785// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
8786// in the developer guide.
8787//
8788// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
8789// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
8790// With the latest version, AWS WAF has a single set of endpoints for regional
8791// and global use.
8792//
8793// Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor
8794// object, you specify the following values:
8795//
8796//    * Whether to insert or delete the object from the array. If you want to
8797//    change an IPSetDescriptor object, you delete the existing object and add
8798//    a new one.
8799//
8800//    * The IP address version, IPv4 or IPv6.
8801//
8802//    * The IP address in CIDR notation, for example, 192.0.2.0/24 (for the
8803//    range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32
8804//    (for the individual IP address 192.0.2.44).
8805//
8806// AWS WAF supports IPv4 address ranges: /8 and any range between /16 through
8807// /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.
8808// For more information about CIDR notation, see the Wikipedia entry Classless
8809// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
8810//
8811// IPv6 addresses can be represented using any of the following formats:
8812//
8813//    * 1111:0000:0000:0000:0000:0000:0000:0111/128
8814//
8815//    * 1111:0:0:0:0:0:0:0111/128
8816//
8817//    * 1111::0111/128
8818//
8819//    * 1111::111/128
8820//
8821// You use an IPSet to specify which web requests you want to allow or block
8822// based on the IP addresses that the requests originated from. For example,
8823// if you're receiving a lot of requests from one or a small number of IP addresses
8824// and you want to block the requests, you can create an IPSet that specifies
8825// those IP addresses, and then configure AWS WAF to block the requests.
8826//
8827// To create and configure an IPSet, perform the following steps:
8828//
8829// Submit a CreateIPSet request.
8830//
8831// Use GetChangeToken to get the change token that you provide in the ChangeToken
8832// parameter of an UpdateIPSet request.
8833//
8834// Submit an UpdateIPSet request to specify the IP addresses that you want AWS
8835// WAF to watch for.
8836//
8837// When you update an IPSet, you specify the IP addresses that you want to add
8838// and/or the IP addresses that you want to delete. If you want to change an
8839// IP address, you delete the existing IP address and add the new one.
8840//
8841// You can insert a maximum of 1000 addresses in a single request.
8842//
8843// For more information about how to use the AWS WAF API to allow or block HTTP
8844// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
8845//
8846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8847// with awserr.Error's Code and Message methods to get detailed information about
8848// the error.
8849//
8850// See the AWS API reference guide for AWS WAF Regional's
8851// API operation UpdateIPSet for usage and error information.
8852//
8853// Returned Error Types:
8854//   * WAFStaleDataException
8855//   The operation failed because you tried to create, update, or delete an object
8856//   by using a change token that has already been used.
8857//
8858//   * WAFInternalErrorException
8859//   The operation failed because of a system problem, even though the request
8860//   was valid. Retry your request.
8861//
8862//   * WAFInvalidAccountException
8863//   The operation failed because you tried to create, update, or delete an object
8864//   by using an invalid account identifier.
8865//
8866//   * WAFInvalidOperationException
8867//   The operation failed because there was nothing to do. For example:
8868//
8869//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
8870//      specified WebACL.
8871//
8872//      * You tried to remove an IP address from an IPSet, but the IP address
8873//      isn't in the specified IPSet.
8874//
8875//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
8876//      isn't in the specified WebACL.
8877//
8878//      * You tried to add a Rule to a WebACL, but the Rule already exists in
8879//      the specified WebACL.
8880//
8881//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
8882//      already exists in the specified WebACL.
8883//
8884//   * WAFInvalidParameterException
8885//   The operation failed because AWS WAF didn't recognize a parameter in the
8886//   request. For example:
8887//
8888//      * You specified an invalid parameter name.
8889//
8890//      * You specified an invalid value.
8891//
8892//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
8893//      using an action other than INSERT or DELETE.
8894//
8895//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
8896//      BLOCK, or COUNT.
8897//
8898//      * You tried to create a RateBasedRule with a RateKey value other than
8899//      IP.
8900//
8901//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
8902//      BLOCK, or COUNT.
8903//
8904//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
8905//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
8906//
8907//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
8908//      for Data.
8909//
8910//      * Your request references an ARN that is malformed, or corresponds to
8911//      a resource with which a web ACL cannot be associated.
8912//
8913//   * WAFNonexistentContainerException
8914//   The operation failed because you tried to add an object to or delete an object
8915//   from another object that doesn't exist. For example:
8916//
8917//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
8918//      exist.
8919//
8920//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
8921//      that doesn't exist.
8922//
8923//      * You tried to add an IP address to or delete an IP address from an IPSet
8924//      that doesn't exist.
8925//
8926//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
8927//      a ByteMatchSet that doesn't exist.
8928//
8929//   * WAFNonexistentItemException
8930//   The operation failed because the referenced object doesn't exist.
8931//
8932//   * WAFReferencedItemException
8933//   The operation failed because you tried to delete an object that is still
8934//   in use. For example:
8935//
8936//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
8937//
8938//      * You tried to delete a Rule that is still referenced by a WebACL.
8939//
8940//   * WAFLimitsExceededException
8941//   The operation exceeds a resource limit, for example, the maximum number of
8942//   WebACL objects that you can create for an AWS account. For more information,
8943//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
8944//   in the AWS WAF Developer Guide.
8945//
8946// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet
8947func (c *WAFRegional) UpdateIPSet(input *waf.UpdateIPSetInput) (*waf.UpdateIPSetOutput, error) {
8948	req, out := c.UpdateIPSetRequest(input)
8949	return out, req.Send()
8950}
8951
8952// UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
8953// the ability to pass a context and additional request options.
8954//
8955// See UpdateIPSet for details on how to use this API operation.
8956//
8957// The context must be non-nil and will be used for request cancellation. If
8958// the context is nil a panic will occur. In the future the SDK may create
8959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8960// for more information on using Contexts.
8961func (c *WAFRegional) UpdateIPSetWithContext(ctx aws.Context, input *waf.UpdateIPSetInput, opts ...request.Option) (*waf.UpdateIPSetOutput, error) {
8962	req, out := c.UpdateIPSetRequest(input)
8963	req.SetContext(ctx)
8964	req.ApplyOptions(opts...)
8965	return out, req.Send()
8966}
8967
8968const opUpdateRateBasedRule = "UpdateRateBasedRule"
8969
8970// UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the
8971// client's request for the UpdateRateBasedRule operation. The "output" return
8972// value will be populated with the request's response once the request completes
8973// successfully.
8974//
8975// Use "Send" method on the returned Request to send the API call to the service.
8976// the "output" return value is not valid until after Send returns without error.
8977//
8978// See UpdateRateBasedRule for more information on using the UpdateRateBasedRule
8979// API call, and error handling.
8980//
8981// This method is useful when you want to inject custom logic or configuration
8982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8983//
8984//
8985//    // Example sending a request using the UpdateRateBasedRuleRequest method.
8986//    req, resp := client.UpdateRateBasedRuleRequest(params)
8987//
8988//    err := req.Send()
8989//    if err == nil { // resp is now filled
8990//        fmt.Println(resp)
8991//    }
8992//
8993// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule
8994func (c *WAFRegional) UpdateRateBasedRuleRequest(input *waf.UpdateRateBasedRuleInput) (req *request.Request, output *waf.UpdateRateBasedRuleOutput) {
8995	op := &request.Operation{
8996		Name:       opUpdateRateBasedRule,
8997		HTTPMethod: "POST",
8998		HTTPPath:   "/",
8999	}
9000
9001	if input == nil {
9002		input = &waf.UpdateRateBasedRuleInput{}
9003	}
9004
9005	output = &waf.UpdateRateBasedRuleOutput{}
9006	req = c.newRequest(op, input, output)
9007	return
9008}
9009
9010// UpdateRateBasedRule API operation for AWS WAF Regional.
9011//
9012//
9013// This is AWS WAF Classic documentation. For more information, see AWS WAF
9014// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9015// in the developer guide.
9016//
9017// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9018// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9019// With the latest version, AWS WAF has a single set of endpoints for regional
9020// and global use.
9021//
9022// Inserts or deletes Predicate objects in a rule and updates the RateLimit
9023// in the rule.
9024//
9025// Each Predicate object identifies a predicate, such as a ByteMatchSet or an
9026// IPSet, that specifies the web requests that you want to block or count. The
9027// RateLimit specifies the number of requests every five minutes that triggers
9028// the rule.
9029//
9030// If you add more than one predicate to a RateBasedRule, a request must match
9031// all the predicates and exceed the RateLimit to be counted or blocked. For
9032// example, suppose you add the following to a RateBasedRule:
9033//
9034//    * An IPSet that matches the IP address 192.0.2.44/32
9035//
9036//    * A ByteMatchSet that matches BadBot in the User-Agent header
9037//
9038// Further, you specify a RateLimit of 1,000.
9039//
9040// You then add the RateBasedRule to a WebACL and specify that you want to block
9041// requests that satisfy the rule. For a request to be blocked, it must come
9042// from the IP address 192.0.2.44 and the User-Agent header in the request must
9043// contain the value BadBot. Further, requests that match these two conditions
9044// much be received at a rate of more than 1,000 every five minutes. If the
9045// rate drops below this limit, AWS WAF no longer blocks the requests.
9046//
9047// As a second example, suppose you want to limit requests to a particular page
9048// on your site. To do this, you could add the following to a RateBasedRule:
9049//
9050//    * A ByteMatchSet with FieldToMatch of URI
9051//
9052//    * A PositionalConstraint of STARTS_WITH
9053//
9054//    * A TargetString of login
9055//
9056// Further, you specify a RateLimit of 1,000.
9057//
9058// By adding this RateBasedRule to a WebACL, you could limit requests to your
9059// login page without affecting the rest of your site.
9060//
9061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9062// with awserr.Error's Code and Message methods to get detailed information about
9063// the error.
9064//
9065// See the AWS API reference guide for AWS WAF Regional's
9066// API operation UpdateRateBasedRule for usage and error information.
9067//
9068// Returned Error Types:
9069//   * WAFStaleDataException
9070//   The operation failed because you tried to create, update, or delete an object
9071//   by using a change token that has already been used.
9072//
9073//   * WAFInternalErrorException
9074//   The operation failed because of a system problem, even though the request
9075//   was valid. Retry your request.
9076//
9077//   * WAFInvalidAccountException
9078//   The operation failed because you tried to create, update, or delete an object
9079//   by using an invalid account identifier.
9080//
9081//   * WAFInvalidOperationException
9082//   The operation failed because there was nothing to do. For example:
9083//
9084//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
9085//      specified WebACL.
9086//
9087//      * You tried to remove an IP address from an IPSet, but the IP address
9088//      isn't in the specified IPSet.
9089//
9090//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
9091//      isn't in the specified WebACL.
9092//
9093//      * You tried to add a Rule to a WebACL, but the Rule already exists in
9094//      the specified WebACL.
9095//
9096//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
9097//      already exists in the specified WebACL.
9098//
9099//   * WAFInvalidParameterException
9100//   The operation failed because AWS WAF didn't recognize a parameter in the
9101//   request. For example:
9102//
9103//      * You specified an invalid parameter name.
9104//
9105//      * You specified an invalid value.
9106//
9107//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
9108//      using an action other than INSERT or DELETE.
9109//
9110//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
9111//      BLOCK, or COUNT.
9112//
9113//      * You tried to create a RateBasedRule with a RateKey value other than
9114//      IP.
9115//
9116//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
9117//      BLOCK, or COUNT.
9118//
9119//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
9120//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
9121//
9122//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
9123//      for Data.
9124//
9125//      * Your request references an ARN that is malformed, or corresponds to
9126//      a resource with which a web ACL cannot be associated.
9127//
9128//   * WAFNonexistentContainerException
9129//   The operation failed because you tried to add an object to or delete an object
9130//   from another object that doesn't exist. For example:
9131//
9132//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
9133//      exist.
9134//
9135//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
9136//      that doesn't exist.
9137//
9138//      * You tried to add an IP address to or delete an IP address from an IPSet
9139//      that doesn't exist.
9140//
9141//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
9142//      a ByteMatchSet that doesn't exist.
9143//
9144//   * WAFNonexistentItemException
9145//   The operation failed because the referenced object doesn't exist.
9146//
9147//   * WAFReferencedItemException
9148//   The operation failed because you tried to delete an object that is still
9149//   in use. For example:
9150//
9151//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
9152//
9153//      * You tried to delete a Rule that is still referenced by a WebACL.
9154//
9155//   * WAFLimitsExceededException
9156//   The operation exceeds a resource limit, for example, the maximum number of
9157//   WebACL objects that you can create for an AWS account. For more information,
9158//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
9159//   in the AWS WAF Developer Guide.
9160//
9161// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule
9162func (c *WAFRegional) UpdateRateBasedRule(input *waf.UpdateRateBasedRuleInput) (*waf.UpdateRateBasedRuleOutput, error) {
9163	req, out := c.UpdateRateBasedRuleRequest(input)
9164	return out, req.Send()
9165}
9166
9167// UpdateRateBasedRuleWithContext is the same as UpdateRateBasedRule with the addition of
9168// the ability to pass a context and additional request options.
9169//
9170// See UpdateRateBasedRule for details on how to use this API operation.
9171//
9172// The context must be non-nil and will be used for request cancellation. If
9173// the context is nil a panic will occur. In the future the SDK may create
9174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9175// for more information on using Contexts.
9176func (c *WAFRegional) UpdateRateBasedRuleWithContext(ctx aws.Context, input *waf.UpdateRateBasedRuleInput, opts ...request.Option) (*waf.UpdateRateBasedRuleOutput, error) {
9177	req, out := c.UpdateRateBasedRuleRequest(input)
9178	req.SetContext(ctx)
9179	req.ApplyOptions(opts...)
9180	return out, req.Send()
9181}
9182
9183const opUpdateRegexMatchSet = "UpdateRegexMatchSet"
9184
9185// UpdateRegexMatchSetRequest generates a "aws/request.Request" representing the
9186// client's request for the UpdateRegexMatchSet operation. The "output" return
9187// value will be populated with the request's response once the request completes
9188// successfully.
9189//
9190// Use "Send" method on the returned Request to send the API call to the service.
9191// the "output" return value is not valid until after Send returns without error.
9192//
9193// See UpdateRegexMatchSet for more information on using the UpdateRegexMatchSet
9194// API call, and error handling.
9195//
9196// This method is useful when you want to inject custom logic or configuration
9197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9198//
9199//
9200//    // Example sending a request using the UpdateRegexMatchSetRequest method.
9201//    req, resp := client.UpdateRegexMatchSetRequest(params)
9202//
9203//    err := req.Send()
9204//    if err == nil { // resp is now filled
9205//        fmt.Println(resp)
9206//    }
9207//
9208// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet
9209func (c *WAFRegional) UpdateRegexMatchSetRequest(input *waf.UpdateRegexMatchSetInput) (req *request.Request, output *waf.UpdateRegexMatchSetOutput) {
9210	op := &request.Operation{
9211		Name:       opUpdateRegexMatchSet,
9212		HTTPMethod: "POST",
9213		HTTPPath:   "/",
9214	}
9215
9216	if input == nil {
9217		input = &waf.UpdateRegexMatchSetInput{}
9218	}
9219
9220	output = &waf.UpdateRegexMatchSetOutput{}
9221	req = c.newRequest(op, input, output)
9222	return
9223}
9224
9225// UpdateRegexMatchSet API operation for AWS WAF Regional.
9226//
9227//
9228// This is AWS WAF Classic documentation. For more information, see AWS WAF
9229// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9230// in the developer guide.
9231//
9232// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9233// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9234// With the latest version, AWS WAF has a single set of endpoints for regional
9235// and global use.
9236//
9237// Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet.
9238// For each RegexMatchSetUpdate object, you specify the following values:
9239//
9240//    * Whether to insert or delete the object from the array. If you want to
9241//    change a RegexMatchSetUpdate object, you delete the existing object and
9242//    add a new one.
9243//
9244//    * The part of a web request that you want AWS WAF to inspectupdate, such
9245//    as a query string or the value of the User-Agent header.
9246//
9247//    * The identifier of the pattern (a regular expression) that you want AWS
9248//    WAF to look for. For more information, see RegexPatternSet.
9249//
9250//    * Whether to perform any conversions on the request, such as converting
9251//    it to lowercase, before inspecting it for the specified string.
9252//
9253// For example, you can create a RegexPatternSet that matches any requests with
9254// User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure
9255// AWS WAF to reject those requests.
9256//
9257// To create and configure a RegexMatchSet, perform the following steps:
9258//
9259// Create a RegexMatchSet. For more information, see CreateRegexMatchSet.
9260//
9261// Use GetChangeToken to get the change token that you provide in the ChangeToken
9262// parameter of an UpdateRegexMatchSet request.
9263//
9264// Submit an UpdateRegexMatchSet request to specify the part of the request
9265// that you want AWS WAF to inspect (for example, the header or the URI) and
9266// the identifier of the RegexPatternSet that contain the regular expression
9267// patters you want AWS WAF to watch for.
9268//
9269// For more information about how to use the AWS WAF API to allow or block HTTP
9270// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
9271//
9272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9273// with awserr.Error's Code and Message methods to get detailed information about
9274// the error.
9275//
9276// See the AWS API reference guide for AWS WAF Regional's
9277// API operation UpdateRegexMatchSet for usage and error information.
9278//
9279// Returned Error Types:
9280//   * WAFStaleDataException
9281//   The operation failed because you tried to create, update, or delete an object
9282//   by using a change token that has already been used.
9283//
9284//   * WAFInternalErrorException
9285//   The operation failed because of a system problem, even though the request
9286//   was valid. Retry your request.
9287//
9288//   * WAFDisallowedNameException
9289//   The name specified is invalid.
9290//
9291//   * WAFLimitsExceededException
9292//   The operation exceeds a resource limit, for example, the maximum number of
9293//   WebACL objects that you can create for an AWS account. For more information,
9294//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
9295//   in the AWS WAF Developer Guide.
9296//
9297//   * WAFNonexistentItemException
9298//   The operation failed because the referenced object doesn't exist.
9299//
9300//   * WAFNonexistentContainerException
9301//   The operation failed because you tried to add an object to or delete an object
9302//   from another object that doesn't exist. For example:
9303//
9304//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
9305//      exist.
9306//
9307//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
9308//      that doesn't exist.
9309//
9310//      * You tried to add an IP address to or delete an IP address from an IPSet
9311//      that doesn't exist.
9312//
9313//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
9314//      a ByteMatchSet that doesn't exist.
9315//
9316//   * WAFInvalidOperationException
9317//   The operation failed because there was nothing to do. For example:
9318//
9319//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
9320//      specified WebACL.
9321//
9322//      * You tried to remove an IP address from an IPSet, but the IP address
9323//      isn't in the specified IPSet.
9324//
9325//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
9326//      isn't in the specified WebACL.
9327//
9328//      * You tried to add a Rule to a WebACL, but the Rule already exists in
9329//      the specified WebACL.
9330//
9331//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
9332//      already exists in the specified WebACL.
9333//
9334//   * WAFInvalidAccountException
9335//   The operation failed because you tried to create, update, or delete an object
9336//   by using an invalid account identifier.
9337//
9338// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet
9339func (c *WAFRegional) UpdateRegexMatchSet(input *waf.UpdateRegexMatchSetInput) (*waf.UpdateRegexMatchSetOutput, error) {
9340	req, out := c.UpdateRegexMatchSetRequest(input)
9341	return out, req.Send()
9342}
9343
9344// UpdateRegexMatchSetWithContext is the same as UpdateRegexMatchSet with the addition of
9345// the ability to pass a context and additional request options.
9346//
9347// See UpdateRegexMatchSet for details on how to use this API operation.
9348//
9349// The context must be non-nil and will be used for request cancellation. If
9350// the context is nil a panic will occur. In the future the SDK may create
9351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9352// for more information on using Contexts.
9353func (c *WAFRegional) UpdateRegexMatchSetWithContext(ctx aws.Context, input *waf.UpdateRegexMatchSetInput, opts ...request.Option) (*waf.UpdateRegexMatchSetOutput, error) {
9354	req, out := c.UpdateRegexMatchSetRequest(input)
9355	req.SetContext(ctx)
9356	req.ApplyOptions(opts...)
9357	return out, req.Send()
9358}
9359
9360const opUpdateRegexPatternSet = "UpdateRegexPatternSet"
9361
9362// UpdateRegexPatternSetRequest generates a "aws/request.Request" representing the
9363// client's request for the UpdateRegexPatternSet operation. The "output" return
9364// value will be populated with the request's response once the request completes
9365// successfully.
9366//
9367// Use "Send" method on the returned Request to send the API call to the service.
9368// the "output" return value is not valid until after Send returns without error.
9369//
9370// See UpdateRegexPatternSet for more information on using the UpdateRegexPatternSet
9371// API call, and error handling.
9372//
9373// This method is useful when you want to inject custom logic or configuration
9374// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9375//
9376//
9377//    // Example sending a request using the UpdateRegexPatternSetRequest method.
9378//    req, resp := client.UpdateRegexPatternSetRequest(params)
9379//
9380//    err := req.Send()
9381//    if err == nil { // resp is now filled
9382//        fmt.Println(resp)
9383//    }
9384//
9385// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet
9386func (c *WAFRegional) UpdateRegexPatternSetRequest(input *waf.UpdateRegexPatternSetInput) (req *request.Request, output *waf.UpdateRegexPatternSetOutput) {
9387	op := &request.Operation{
9388		Name:       opUpdateRegexPatternSet,
9389		HTTPMethod: "POST",
9390		HTTPPath:   "/",
9391	}
9392
9393	if input == nil {
9394		input = &waf.UpdateRegexPatternSetInput{}
9395	}
9396
9397	output = &waf.UpdateRegexPatternSetOutput{}
9398	req = c.newRequest(op, input, output)
9399	return
9400}
9401
9402// UpdateRegexPatternSet API operation for AWS WAF Regional.
9403//
9404//
9405// This is AWS WAF Classic documentation. For more information, see AWS WAF
9406// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9407// in the developer guide.
9408//
9409// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9410// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9411// With the latest version, AWS WAF has a single set of endpoints for regional
9412// and global use.
9413//
9414// Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each
9415// RegexPatternString object, you specify the following values:
9416//
9417//    * Whether to insert or delete the RegexPatternString.
9418//
9419//    * The regular expression pattern that you want to insert or delete. For
9420//    more information, see RegexPatternSet.
9421//
9422// For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS
9423// WAF will match this RegexPatternString to:
9424//
9425//    * BadBot
9426//
9427//    * BadB0t
9428//
9429//    * B@dBot
9430//
9431//    * B@dB0t
9432//
9433// To create and configure a RegexPatternSet, perform the following steps:
9434//
9435// Create a RegexPatternSet. For more information, see CreateRegexPatternSet.
9436//
9437// Use GetChangeToken to get the change token that you provide in the ChangeToken
9438// parameter of an UpdateRegexPatternSet request.
9439//
9440// Submit an UpdateRegexPatternSet request to specify the regular expression
9441// pattern that you want AWS WAF to watch for.
9442//
9443// For more information about how to use the AWS WAF API to allow or block HTTP
9444// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
9445//
9446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9447// with awserr.Error's Code and Message methods to get detailed information about
9448// the error.
9449//
9450// See the AWS API reference guide for AWS WAF Regional's
9451// API operation UpdateRegexPatternSet for usage and error information.
9452//
9453// Returned Error Types:
9454//   * WAFStaleDataException
9455//   The operation failed because you tried to create, update, or delete an object
9456//   by using a change token that has already been used.
9457//
9458//   * WAFInternalErrorException
9459//   The operation failed because of a system problem, even though the request
9460//   was valid. Retry your request.
9461//
9462//   * WAFLimitsExceededException
9463//   The operation exceeds a resource limit, for example, the maximum number of
9464//   WebACL objects that you can create for an AWS account. For more information,
9465//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
9466//   in the AWS WAF Developer Guide.
9467//
9468//   * WAFNonexistentItemException
9469//   The operation failed because the referenced object doesn't exist.
9470//
9471//   * WAFNonexistentContainerException
9472//   The operation failed because you tried to add an object to or delete an object
9473//   from another object that doesn't exist. For example:
9474//
9475//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
9476//      exist.
9477//
9478//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
9479//      that doesn't exist.
9480//
9481//      * You tried to add an IP address to or delete an IP address from an IPSet
9482//      that doesn't exist.
9483//
9484//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
9485//      a ByteMatchSet that doesn't exist.
9486//
9487//   * WAFInvalidOperationException
9488//   The operation failed because there was nothing to do. For example:
9489//
9490//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
9491//      specified WebACL.
9492//
9493//      * You tried to remove an IP address from an IPSet, but the IP address
9494//      isn't in the specified IPSet.
9495//
9496//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
9497//      isn't in the specified WebACL.
9498//
9499//      * You tried to add a Rule to a WebACL, but the Rule already exists in
9500//      the specified WebACL.
9501//
9502//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
9503//      already exists in the specified WebACL.
9504//
9505//   * WAFInvalidAccountException
9506//   The operation failed because you tried to create, update, or delete an object
9507//   by using an invalid account identifier.
9508//
9509//   * WAFInvalidRegexPatternException
9510//   The regular expression (regex) you specified in RegexPatternString is invalid.
9511//
9512// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet
9513func (c *WAFRegional) UpdateRegexPatternSet(input *waf.UpdateRegexPatternSetInput) (*waf.UpdateRegexPatternSetOutput, error) {
9514	req, out := c.UpdateRegexPatternSetRequest(input)
9515	return out, req.Send()
9516}
9517
9518// UpdateRegexPatternSetWithContext is the same as UpdateRegexPatternSet with the addition of
9519// the ability to pass a context and additional request options.
9520//
9521// See UpdateRegexPatternSet for details on how to use this API operation.
9522//
9523// The context must be non-nil and will be used for request cancellation. If
9524// the context is nil a panic will occur. In the future the SDK may create
9525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9526// for more information on using Contexts.
9527func (c *WAFRegional) UpdateRegexPatternSetWithContext(ctx aws.Context, input *waf.UpdateRegexPatternSetInput, opts ...request.Option) (*waf.UpdateRegexPatternSetOutput, error) {
9528	req, out := c.UpdateRegexPatternSetRequest(input)
9529	req.SetContext(ctx)
9530	req.ApplyOptions(opts...)
9531	return out, req.Send()
9532}
9533
9534const opUpdateRule = "UpdateRule"
9535
9536// UpdateRuleRequest generates a "aws/request.Request" representing the
9537// client's request for the UpdateRule operation. The "output" return
9538// value will be populated with the request's response once the request completes
9539// successfully.
9540//
9541// Use "Send" method on the returned Request to send the API call to the service.
9542// the "output" return value is not valid until after Send returns without error.
9543//
9544// See UpdateRule for more information on using the UpdateRule
9545// API call, and error handling.
9546//
9547// This method is useful when you want to inject custom logic or configuration
9548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9549//
9550//
9551//    // Example sending a request using the UpdateRuleRequest method.
9552//    req, resp := client.UpdateRuleRequest(params)
9553//
9554//    err := req.Send()
9555//    if err == nil { // resp is now filled
9556//        fmt.Println(resp)
9557//    }
9558//
9559// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule
9560func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *request.Request, output *waf.UpdateRuleOutput) {
9561	op := &request.Operation{
9562		Name:       opUpdateRule,
9563		HTTPMethod: "POST",
9564		HTTPPath:   "/",
9565	}
9566
9567	if input == nil {
9568		input = &waf.UpdateRuleInput{}
9569	}
9570
9571	output = &waf.UpdateRuleOutput{}
9572	req = c.newRequest(op, input, output)
9573	return
9574}
9575
9576// UpdateRule API operation for AWS WAF Regional.
9577//
9578//
9579// This is AWS WAF Classic documentation. For more information, see AWS WAF
9580// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9581// in the developer guide.
9582//
9583// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9584// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9585// With the latest version, AWS WAF has a single set of endpoints for regional
9586// and global use.
9587//
9588// Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies
9589// a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests
9590// that you want to allow, block, or count. If you add more than one predicate
9591// to a Rule, a request must match all of the specifications to be allowed,
9592// blocked, or counted. For example, suppose that you add the following to a
9593// Rule:
9594//
9595//    * A ByteMatchSet that matches the value BadBot in the User-Agent header
9596//
9597//    * An IPSet that matches the IP address 192.0.2.44
9598//
9599// You then add the Rule to a WebACL and specify that you want to block requests
9600// that satisfy the Rule. For a request to be blocked, the User-Agent header
9601// in the request must contain the value BadBot and the request must originate
9602// from the IP address 192.0.2.44.
9603//
9604// To create and configure a Rule, perform the following steps:
9605//
9606// Create and update the predicates that you want to include in the Rule.
9607//
9608// Create the Rule. See CreateRule.
9609//
9610// Use GetChangeToken to get the change token that you provide in the ChangeToken
9611// parameter of an UpdateRule request.
9612//
9613// Submit an UpdateRule request to add predicates to the Rule.
9614//
9615// Create and update a WebACL that contains the Rule. See CreateWebACL.
9616//
9617// If you want to replace one ByteMatchSet or IPSet with another, you delete
9618// the existing one and add the new one.
9619//
9620// For more information about how to use the AWS WAF API to allow or block HTTP
9621// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
9622//
9623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9624// with awserr.Error's Code and Message methods to get detailed information about
9625// the error.
9626//
9627// See the AWS API reference guide for AWS WAF Regional's
9628// API operation UpdateRule for usage and error information.
9629//
9630// Returned Error Types:
9631//   * WAFStaleDataException
9632//   The operation failed because you tried to create, update, or delete an object
9633//   by using a change token that has already been used.
9634//
9635//   * WAFInternalErrorException
9636//   The operation failed because of a system problem, even though the request
9637//   was valid. Retry your request.
9638//
9639//   * WAFInvalidAccountException
9640//   The operation failed because you tried to create, update, or delete an object
9641//   by using an invalid account identifier.
9642//
9643//   * WAFInvalidOperationException
9644//   The operation failed because there was nothing to do. For example:
9645//
9646//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
9647//      specified WebACL.
9648//
9649//      * You tried to remove an IP address from an IPSet, but the IP address
9650//      isn't in the specified IPSet.
9651//
9652//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
9653//      isn't in the specified WebACL.
9654//
9655//      * You tried to add a Rule to a WebACL, but the Rule already exists in
9656//      the specified WebACL.
9657//
9658//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
9659//      already exists in the specified WebACL.
9660//
9661//   * WAFInvalidParameterException
9662//   The operation failed because AWS WAF didn't recognize a parameter in the
9663//   request. For example:
9664//
9665//      * You specified an invalid parameter name.
9666//
9667//      * You specified an invalid value.
9668//
9669//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
9670//      using an action other than INSERT or DELETE.
9671//
9672//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
9673//      BLOCK, or COUNT.
9674//
9675//      * You tried to create a RateBasedRule with a RateKey value other than
9676//      IP.
9677//
9678//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
9679//      BLOCK, or COUNT.
9680//
9681//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
9682//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
9683//
9684//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
9685//      for Data.
9686//
9687//      * Your request references an ARN that is malformed, or corresponds to
9688//      a resource with which a web ACL cannot be associated.
9689//
9690//   * WAFNonexistentContainerException
9691//   The operation failed because you tried to add an object to or delete an object
9692//   from another object that doesn't exist. For example:
9693//
9694//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
9695//      exist.
9696//
9697//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
9698//      that doesn't exist.
9699//
9700//      * You tried to add an IP address to or delete an IP address from an IPSet
9701//      that doesn't exist.
9702//
9703//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
9704//      a ByteMatchSet that doesn't exist.
9705//
9706//   * WAFNonexistentItemException
9707//   The operation failed because the referenced object doesn't exist.
9708//
9709//   * WAFReferencedItemException
9710//   The operation failed because you tried to delete an object that is still
9711//   in use. For example:
9712//
9713//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
9714//
9715//      * You tried to delete a Rule that is still referenced by a WebACL.
9716//
9717//   * WAFLimitsExceededException
9718//   The operation exceeds a resource limit, for example, the maximum number of
9719//   WebACL objects that you can create for an AWS account. For more information,
9720//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
9721//   in the AWS WAF Developer Guide.
9722//
9723// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule
9724func (c *WAFRegional) UpdateRule(input *waf.UpdateRuleInput) (*waf.UpdateRuleOutput, error) {
9725	req, out := c.UpdateRuleRequest(input)
9726	return out, req.Send()
9727}
9728
9729// UpdateRuleWithContext is the same as UpdateRule with the addition of
9730// the ability to pass a context and additional request options.
9731//
9732// See UpdateRule for details on how to use this API operation.
9733//
9734// The context must be non-nil and will be used for request cancellation. If
9735// the context is nil a panic will occur. In the future the SDK may create
9736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9737// for more information on using Contexts.
9738func (c *WAFRegional) UpdateRuleWithContext(ctx aws.Context, input *waf.UpdateRuleInput, opts ...request.Option) (*waf.UpdateRuleOutput, error) {
9739	req, out := c.UpdateRuleRequest(input)
9740	req.SetContext(ctx)
9741	req.ApplyOptions(opts...)
9742	return out, req.Send()
9743}
9744
9745const opUpdateRuleGroup = "UpdateRuleGroup"
9746
9747// UpdateRuleGroupRequest generates a "aws/request.Request" representing the
9748// client's request for the UpdateRuleGroup operation. The "output" return
9749// value will be populated with the request's response once the request completes
9750// successfully.
9751//
9752// Use "Send" method on the returned Request to send the API call to the service.
9753// the "output" return value is not valid until after Send returns without error.
9754//
9755// See UpdateRuleGroup for more information on using the UpdateRuleGroup
9756// API call, and error handling.
9757//
9758// This method is useful when you want to inject custom logic or configuration
9759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9760//
9761//
9762//    // Example sending a request using the UpdateRuleGroupRequest method.
9763//    req, resp := client.UpdateRuleGroupRequest(params)
9764//
9765//    err := req.Send()
9766//    if err == nil { // resp is now filled
9767//        fmt.Println(resp)
9768//    }
9769//
9770// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup
9771func (c *WAFRegional) UpdateRuleGroupRequest(input *waf.UpdateRuleGroupInput) (req *request.Request, output *waf.UpdateRuleGroupOutput) {
9772	op := &request.Operation{
9773		Name:       opUpdateRuleGroup,
9774		HTTPMethod: "POST",
9775		HTTPPath:   "/",
9776	}
9777
9778	if input == nil {
9779		input = &waf.UpdateRuleGroupInput{}
9780	}
9781
9782	output = &waf.UpdateRuleGroupOutput{}
9783	req = c.newRequest(op, input, output)
9784	return
9785}
9786
9787// UpdateRuleGroup API operation for AWS WAF Regional.
9788//
9789//
9790// This is AWS WAF Classic documentation. For more information, see AWS WAF
9791// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9792// in the developer guide.
9793//
9794// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9795// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9796// With the latest version, AWS WAF has a single set of endpoints for regional
9797// and global use.
9798//
9799// Inserts or deletes ActivatedRule objects in a RuleGroup.
9800//
9801// You can only insert REGULAR rules into a rule group.
9802//
9803// You can have a maximum of ten rules per rule group.
9804//
9805// To create and configure a RuleGroup, perform the following steps:
9806//
9807// Create and update the Rules that you want to include in the RuleGroup. See
9808// CreateRule.
9809//
9810// Use GetChangeToken to get the change token that you provide in the ChangeToken
9811// parameter of an UpdateRuleGroup request.
9812//
9813// Submit an UpdateRuleGroup request to add Rules to the RuleGroup.
9814//
9815// Create and update a WebACL that contains the RuleGroup. See CreateWebACL.
9816//
9817// If you want to replace one Rule with another, you delete the existing one
9818// and add the new one.
9819//
9820// For more information about how to use the AWS WAF API to allow or block HTTP
9821// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
9822//
9823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9824// with awserr.Error's Code and Message methods to get detailed information about
9825// the error.
9826//
9827// See the AWS API reference guide for AWS WAF Regional's
9828// API operation UpdateRuleGroup for usage and error information.
9829//
9830// Returned Error Types:
9831//   * WAFStaleDataException
9832//   The operation failed because you tried to create, update, or delete an object
9833//   by using a change token that has already been used.
9834//
9835//   * WAFInternalErrorException
9836//   The operation failed because of a system problem, even though the request
9837//   was valid. Retry your request.
9838//
9839//   * WAFNonexistentContainerException
9840//   The operation failed because you tried to add an object to or delete an object
9841//   from another object that doesn't exist. For example:
9842//
9843//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
9844//      exist.
9845//
9846//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
9847//      that doesn't exist.
9848//
9849//      * You tried to add an IP address to or delete an IP address from an IPSet
9850//      that doesn't exist.
9851//
9852//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
9853//      a ByteMatchSet that doesn't exist.
9854//
9855//   * WAFNonexistentItemException
9856//   The operation failed because the referenced object doesn't exist.
9857//
9858//   * WAFInvalidOperationException
9859//   The operation failed because there was nothing to do. For example:
9860//
9861//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
9862//      specified WebACL.
9863//
9864//      * You tried to remove an IP address from an IPSet, but the IP address
9865//      isn't in the specified IPSet.
9866//
9867//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
9868//      isn't in the specified WebACL.
9869//
9870//      * You tried to add a Rule to a WebACL, but the Rule already exists in
9871//      the specified WebACL.
9872//
9873//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
9874//      already exists in the specified WebACL.
9875//
9876//   * WAFLimitsExceededException
9877//   The operation exceeds a resource limit, for example, the maximum number of
9878//   WebACL objects that you can create for an AWS account. For more information,
9879//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
9880//   in the AWS WAF Developer Guide.
9881//
9882//   * WAFInvalidParameterException
9883//   The operation failed because AWS WAF didn't recognize a parameter in the
9884//   request. For example:
9885//
9886//      * You specified an invalid parameter name.
9887//
9888//      * You specified an invalid value.
9889//
9890//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
9891//      using an action other than INSERT or DELETE.
9892//
9893//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
9894//      BLOCK, or COUNT.
9895//
9896//      * You tried to create a RateBasedRule with a RateKey value other than
9897//      IP.
9898//
9899//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
9900//      BLOCK, or COUNT.
9901//
9902//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
9903//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
9904//
9905//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
9906//      for Data.
9907//
9908//      * Your request references an ARN that is malformed, or corresponds to
9909//      a resource with which a web ACL cannot be associated.
9910//
9911// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup
9912func (c *WAFRegional) UpdateRuleGroup(input *waf.UpdateRuleGroupInput) (*waf.UpdateRuleGroupOutput, error) {
9913	req, out := c.UpdateRuleGroupRequest(input)
9914	return out, req.Send()
9915}
9916
9917// UpdateRuleGroupWithContext is the same as UpdateRuleGroup with the addition of
9918// the ability to pass a context and additional request options.
9919//
9920// See UpdateRuleGroup for details on how to use this API operation.
9921//
9922// The context must be non-nil and will be used for request cancellation. If
9923// the context is nil a panic will occur. In the future the SDK may create
9924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9925// for more information on using Contexts.
9926func (c *WAFRegional) UpdateRuleGroupWithContext(ctx aws.Context, input *waf.UpdateRuleGroupInput, opts ...request.Option) (*waf.UpdateRuleGroupOutput, error) {
9927	req, out := c.UpdateRuleGroupRequest(input)
9928	req.SetContext(ctx)
9929	req.ApplyOptions(opts...)
9930	return out, req.Send()
9931}
9932
9933const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet"
9934
9935// UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the
9936// client's request for the UpdateSizeConstraintSet operation. The "output" return
9937// value will be populated with the request's response once the request completes
9938// successfully.
9939//
9940// Use "Send" method on the returned Request to send the API call to the service.
9941// the "output" return value is not valid until after Send returns without error.
9942//
9943// See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet
9944// API call, and error handling.
9945//
9946// This method is useful when you want to inject custom logic or configuration
9947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9948//
9949//
9950//    // Example sending a request using the UpdateSizeConstraintSetRequest method.
9951//    req, resp := client.UpdateSizeConstraintSetRequest(params)
9952//
9953//    err := req.Send()
9954//    if err == nil { // resp is now filled
9955//        fmt.Println(resp)
9956//    }
9957//
9958// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet
9959func (c *WAFRegional) UpdateSizeConstraintSetRequest(input *waf.UpdateSizeConstraintSetInput) (req *request.Request, output *waf.UpdateSizeConstraintSetOutput) {
9960	op := &request.Operation{
9961		Name:       opUpdateSizeConstraintSet,
9962		HTTPMethod: "POST",
9963		HTTPPath:   "/",
9964	}
9965
9966	if input == nil {
9967		input = &waf.UpdateSizeConstraintSetInput{}
9968	}
9969
9970	output = &waf.UpdateSizeConstraintSetOutput{}
9971	req = c.newRequest(op, input, output)
9972	return
9973}
9974
9975// UpdateSizeConstraintSet API operation for AWS WAF Regional.
9976//
9977//
9978// This is AWS WAF Classic documentation. For more information, see AWS WAF
9979// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
9980// in the developer guide.
9981//
9982// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
9983// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
9984// With the latest version, AWS WAF has a single set of endpoints for regional
9985// and global use.
9986//
9987// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet.
9988// For each SizeConstraint object, you specify the following values:
9989//
9990//    * Whether to insert or delete the object from the array. If you want to
9991//    change a SizeConstraintSetUpdate object, you delete the existing object
9992//    and add a new one.
9993//
9994//    * The part of a web request that you want AWS WAF to evaluate, such as
9995//    the length of a query string or the length of the User-Agent header.
9996//
9997//    * Whether to perform any transformations on the request, such as converting
9998//    it to lowercase, before checking its length. Note that transformations
9999//    of the request body are not supported because the AWS resource forwards
10000//    only the first 8192 bytes of your request to AWS WAF. You can only specify
10001//    a single type of TextTransformation.
10002//
10003//    * A ComparisonOperator used for evaluating the selected part of the request
10004//    against the specified Size, such as equals, greater than, less than, and
10005//    so on.
10006//
10007//    * The length, in bytes, that you want AWS WAF to watch for in selected
10008//    part of the request. The length is computed after applying the transformation.
10009//
10010// For example, you can add a SizeConstraintSetUpdate object that matches web
10011// requests in which the length of the User-Agent header is greater than 100
10012// bytes. You can then configure AWS WAF to block those requests.
10013//
10014// To create and configure a SizeConstraintSet, perform the following steps:
10015//
10016// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.
10017//
10018// Use GetChangeToken to get the change token that you provide in the ChangeToken
10019// parameter of an UpdateSizeConstraintSet request.
10020//
10021// Submit an UpdateSizeConstraintSet request to specify the part of the request
10022// that you want AWS WAF to inspect (for example, the header or the URI) and
10023// the value that you want AWS WAF to watch for.
10024//
10025// For more information about how to use the AWS WAF API to allow or block HTTP
10026// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
10027//
10028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10029// with awserr.Error's Code and Message methods to get detailed information about
10030// the error.
10031//
10032// See the AWS API reference guide for AWS WAF Regional's
10033// API operation UpdateSizeConstraintSet for usage and error information.
10034//
10035// Returned Error Types:
10036//   * WAFStaleDataException
10037//   The operation failed because you tried to create, update, or delete an object
10038//   by using a change token that has already been used.
10039//
10040//   * WAFInternalErrorException
10041//   The operation failed because of a system problem, even though the request
10042//   was valid. Retry your request.
10043//
10044//   * WAFInvalidAccountException
10045//   The operation failed because you tried to create, update, or delete an object
10046//   by using an invalid account identifier.
10047//
10048//   * WAFInvalidOperationException
10049//   The operation failed because there was nothing to do. For example:
10050//
10051//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
10052//      specified WebACL.
10053//
10054//      * You tried to remove an IP address from an IPSet, but the IP address
10055//      isn't in the specified IPSet.
10056//
10057//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
10058//      isn't in the specified WebACL.
10059//
10060//      * You tried to add a Rule to a WebACL, but the Rule already exists in
10061//      the specified WebACL.
10062//
10063//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
10064//      already exists in the specified WebACL.
10065//
10066//   * WAFInvalidParameterException
10067//   The operation failed because AWS WAF didn't recognize a parameter in the
10068//   request. For example:
10069//
10070//      * You specified an invalid parameter name.
10071//
10072//      * You specified an invalid value.
10073//
10074//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
10075//      using an action other than INSERT or DELETE.
10076//
10077//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
10078//      BLOCK, or COUNT.
10079//
10080//      * You tried to create a RateBasedRule with a RateKey value other than
10081//      IP.
10082//
10083//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
10084//      BLOCK, or COUNT.
10085//
10086//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
10087//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
10088//
10089//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
10090//      for Data.
10091//
10092//      * Your request references an ARN that is malformed, or corresponds to
10093//      a resource with which a web ACL cannot be associated.
10094//
10095//   * WAFNonexistentContainerException
10096//   The operation failed because you tried to add an object to or delete an object
10097//   from another object that doesn't exist. For example:
10098//
10099//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
10100//      exist.
10101//
10102//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
10103//      that doesn't exist.
10104//
10105//      * You tried to add an IP address to or delete an IP address from an IPSet
10106//      that doesn't exist.
10107//
10108//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
10109//      a ByteMatchSet that doesn't exist.
10110//
10111//   * WAFNonexistentItemException
10112//   The operation failed because the referenced object doesn't exist.
10113//
10114//   * WAFReferencedItemException
10115//   The operation failed because you tried to delete an object that is still
10116//   in use. For example:
10117//
10118//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
10119//
10120//      * You tried to delete a Rule that is still referenced by a WebACL.
10121//
10122//   * WAFLimitsExceededException
10123//   The operation exceeds a resource limit, for example, the maximum number of
10124//   WebACL objects that you can create for an AWS account. For more information,
10125//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
10126//   in the AWS WAF Developer Guide.
10127//
10128// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet
10129func (c *WAFRegional) UpdateSizeConstraintSet(input *waf.UpdateSizeConstraintSetInput) (*waf.UpdateSizeConstraintSetOutput, error) {
10130	req, out := c.UpdateSizeConstraintSetRequest(input)
10131	return out, req.Send()
10132}
10133
10134// UpdateSizeConstraintSetWithContext is the same as UpdateSizeConstraintSet with the addition of
10135// the ability to pass a context and additional request options.
10136//
10137// See UpdateSizeConstraintSet for details on how to use this API operation.
10138//
10139// The context must be non-nil and will be used for request cancellation. If
10140// the context is nil a panic will occur. In the future the SDK may create
10141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10142// for more information on using Contexts.
10143func (c *WAFRegional) UpdateSizeConstraintSetWithContext(ctx aws.Context, input *waf.UpdateSizeConstraintSetInput, opts ...request.Option) (*waf.UpdateSizeConstraintSetOutput, error) {
10144	req, out := c.UpdateSizeConstraintSetRequest(input)
10145	req.SetContext(ctx)
10146	req.ApplyOptions(opts...)
10147	return out, req.Send()
10148}
10149
10150const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet"
10151
10152// UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
10153// client's request for the UpdateSqlInjectionMatchSet operation. The "output" return
10154// value will be populated with the request's response once the request completes
10155// successfully.
10156//
10157// Use "Send" method on the returned Request to send the API call to the service.
10158// the "output" return value is not valid until after Send returns without error.
10159//
10160// See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet
10161// API call, and error handling.
10162//
10163// This method is useful when you want to inject custom logic or configuration
10164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10165//
10166//
10167//    // Example sending a request using the UpdateSqlInjectionMatchSetRequest method.
10168//    req, resp := client.UpdateSqlInjectionMatchSetRequest(params)
10169//
10170//    err := req.Send()
10171//    if err == nil { // resp is now filled
10172//        fmt.Println(resp)
10173//    }
10174//
10175// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet
10176func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInjectionMatchSetInput) (req *request.Request, output *waf.UpdateSqlInjectionMatchSetOutput) {
10177	op := &request.Operation{
10178		Name:       opUpdateSqlInjectionMatchSet,
10179		HTTPMethod: "POST",
10180		HTTPPath:   "/",
10181	}
10182
10183	if input == nil {
10184		input = &waf.UpdateSqlInjectionMatchSetInput{}
10185	}
10186
10187	output = &waf.UpdateSqlInjectionMatchSetOutput{}
10188	req = c.newRequest(op, input, output)
10189	return
10190}
10191
10192// UpdateSqlInjectionMatchSet API operation for AWS WAF Regional.
10193//
10194//
10195// This is AWS WAF Classic documentation. For more information, see AWS WAF
10196// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
10197// in the developer guide.
10198//
10199// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
10200// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
10201// With the latest version, AWS WAF has a single set of endpoints for regional
10202// and global use.
10203//
10204// Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet.
10205// For each SqlInjectionMatchTuple object, you specify the following values:
10206//
10207//    * Action: Whether to insert the object into or delete the object from
10208//    the array. To change a SqlInjectionMatchTuple, you delete the existing
10209//    object and add a new one.
10210//
10211//    * FieldToMatch: The part of web requests that you want AWS WAF to inspect
10212//    and, if you want AWS WAF to inspect a header or custom query parameter,
10213//    the name of the header or parameter.
10214//
10215//    * TextTransformation: Which text transformation, if any, to perform on
10216//    the web request before inspecting the request for snippets of malicious
10217//    SQL code. You can only specify a single type of TextTransformation.
10218//
10219// You use SqlInjectionMatchSet objects to specify which CloudFront requests
10220// that you want to allow, block, or count. For example, if you're receiving
10221// requests that contain snippets of SQL code in the query string and you want
10222// to block the requests, you can create a SqlInjectionMatchSet with the applicable
10223// settings, and then configure AWS WAF to block the requests.
10224//
10225// To create and configure a SqlInjectionMatchSet, perform the following steps:
10226//
10227// Submit a CreateSqlInjectionMatchSet request.
10228//
10229// Use GetChangeToken to get the change token that you provide in the ChangeToken
10230// parameter of an UpdateIPSet request.
10231//
10232// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web
10233// requests that you want AWS WAF to inspect for snippets of SQL code.
10234//
10235// For more information about how to use the AWS WAF API to allow or block HTTP
10236// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
10237//
10238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10239// with awserr.Error's Code and Message methods to get detailed information about
10240// the error.
10241//
10242// See the AWS API reference guide for AWS WAF Regional's
10243// API operation UpdateSqlInjectionMatchSet for usage and error information.
10244//
10245// Returned Error Types:
10246//   * WAFInternalErrorException
10247//   The operation failed because of a system problem, even though the request
10248//   was valid. Retry your request.
10249//
10250//   * WAFInvalidAccountException
10251//   The operation failed because you tried to create, update, or delete an object
10252//   by using an invalid account identifier.
10253//
10254//   * WAFInvalidOperationException
10255//   The operation failed because there was nothing to do. For example:
10256//
10257//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
10258//      specified WebACL.
10259//
10260//      * You tried to remove an IP address from an IPSet, but the IP address
10261//      isn't in the specified IPSet.
10262//
10263//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
10264//      isn't in the specified WebACL.
10265//
10266//      * You tried to add a Rule to a WebACL, but the Rule already exists in
10267//      the specified WebACL.
10268//
10269//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
10270//      already exists in the specified WebACL.
10271//
10272//   * WAFInvalidParameterException
10273//   The operation failed because AWS WAF didn't recognize a parameter in the
10274//   request. For example:
10275//
10276//      * You specified an invalid parameter name.
10277//
10278//      * You specified an invalid value.
10279//
10280//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
10281//      using an action other than INSERT or DELETE.
10282//
10283//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
10284//      BLOCK, or COUNT.
10285//
10286//      * You tried to create a RateBasedRule with a RateKey value other than
10287//      IP.
10288//
10289//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
10290//      BLOCK, or COUNT.
10291//
10292//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
10293//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
10294//
10295//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
10296//      for Data.
10297//
10298//      * Your request references an ARN that is malformed, or corresponds to
10299//      a resource with which a web ACL cannot be associated.
10300//
10301//   * WAFNonexistentContainerException
10302//   The operation failed because you tried to add an object to or delete an object
10303//   from another object that doesn't exist. For example:
10304//
10305//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
10306//      exist.
10307//
10308//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
10309//      that doesn't exist.
10310//
10311//      * You tried to add an IP address to or delete an IP address from an IPSet
10312//      that doesn't exist.
10313//
10314//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
10315//      a ByteMatchSet that doesn't exist.
10316//
10317//   * WAFNonexistentItemException
10318//   The operation failed because the referenced object doesn't exist.
10319//
10320//   * WAFStaleDataException
10321//   The operation failed because you tried to create, update, or delete an object
10322//   by using a change token that has already been used.
10323//
10324//   * WAFLimitsExceededException
10325//   The operation exceeds a resource limit, for example, the maximum number of
10326//   WebACL objects that you can create for an AWS account. For more information,
10327//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
10328//   in the AWS WAF Developer Guide.
10329//
10330// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet
10331func (c *WAFRegional) UpdateSqlInjectionMatchSet(input *waf.UpdateSqlInjectionMatchSetInput) (*waf.UpdateSqlInjectionMatchSetOutput, error) {
10332	req, out := c.UpdateSqlInjectionMatchSetRequest(input)
10333	return out, req.Send()
10334}
10335
10336// UpdateSqlInjectionMatchSetWithContext is the same as UpdateSqlInjectionMatchSet with the addition of
10337// the ability to pass a context and additional request options.
10338//
10339// See UpdateSqlInjectionMatchSet for details on how to use this API operation.
10340//
10341// The context must be non-nil and will be used for request cancellation. If
10342// the context is nil a panic will occur. In the future the SDK may create
10343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10344// for more information on using Contexts.
10345func (c *WAFRegional) UpdateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.UpdateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.UpdateSqlInjectionMatchSetOutput, error) {
10346	req, out := c.UpdateSqlInjectionMatchSetRequest(input)
10347	req.SetContext(ctx)
10348	req.ApplyOptions(opts...)
10349	return out, req.Send()
10350}
10351
10352const opUpdateWebACL = "UpdateWebACL"
10353
10354// UpdateWebACLRequest generates a "aws/request.Request" representing the
10355// client's request for the UpdateWebACL operation. The "output" return
10356// value will be populated with the request's response once the request completes
10357// successfully.
10358//
10359// Use "Send" method on the returned Request to send the API call to the service.
10360// the "output" return value is not valid until after Send returns without error.
10361//
10362// See UpdateWebACL for more information on using the UpdateWebACL
10363// API call, and error handling.
10364//
10365// This method is useful when you want to inject custom logic or configuration
10366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10367//
10368//
10369//    // Example sending a request using the UpdateWebACLRequest method.
10370//    req, resp := client.UpdateWebACLRequest(params)
10371//
10372//    err := req.Send()
10373//    if err == nil { // resp is now filled
10374//        fmt.Println(resp)
10375//    }
10376//
10377// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL
10378func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *request.Request, output *waf.UpdateWebACLOutput) {
10379	op := &request.Operation{
10380		Name:       opUpdateWebACL,
10381		HTTPMethod: "POST",
10382		HTTPPath:   "/",
10383	}
10384
10385	if input == nil {
10386		input = &waf.UpdateWebACLInput{}
10387	}
10388
10389	output = &waf.UpdateWebACLOutput{}
10390	req = c.newRequest(op, input, output)
10391	return
10392}
10393
10394// UpdateWebACL API operation for AWS WAF Regional.
10395//
10396//
10397// This is AWS WAF Classic documentation. For more information, see AWS WAF
10398// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
10399// in the developer guide.
10400//
10401// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
10402// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
10403// With the latest version, AWS WAF has a single set of endpoints for regional
10404// and global use.
10405//
10406// Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies
10407// web requests that you want to allow, block, or count. When you update a WebACL,
10408// you specify the following values:
10409//
10410//    * A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs
10411//    the default action if a request doesn't match the criteria in any of the
10412//    Rules in a WebACL.
10413//
10414//    * The Rules that you want to add or delete. If you want to replace one
10415//    Rule with another, you delete the existing Rule and add the new one.
10416//
10417//    * For each Rule, whether you want AWS WAF to allow requests, block requests,
10418//    or count requests that match the conditions in the Rule.
10419//
10420//    * The order in which you want AWS WAF to evaluate the Rules in a WebACL.
10421//    If you add more than one Rule to a WebACL, AWS WAF evaluates each request
10422//    against the Rules in order based on the value of Priority. (The Rule that
10423//    has the lowest value for Priority is evaluated first.) When a web request
10424//    matches all the predicates (such as ByteMatchSets and IPSets) in a Rule,
10425//    AWS WAF immediately takes the corresponding action, allow or block, and
10426//    doesn't evaluate the request against the remaining Rules in the WebACL,
10427//    if any.
10428//
10429// To create and configure a WebACL, perform the following steps:
10430//
10431// Create and update the predicates that you want to include in Rules. For more
10432// information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
10433// CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
10434//
10435// Create and update the Rules that you want to include in the WebACL. For more
10436// information, see CreateRule and UpdateRule.
10437//
10438// Create a WebACL. See CreateWebACL.
10439//
10440// Use GetChangeToken to get the change token that you provide in the ChangeToken
10441// parameter of an UpdateWebACL request.
10442//
10443// Submit an UpdateWebACL request to specify the Rules that you want to include
10444// in the WebACL, to specify the default action, and to associate the WebACL
10445// with a CloudFront distribution.
10446//
10447// The ActivatedRule can be a rule group. If you specify a rule group as your
10448// ActivatedRule , you can exclude specific rules from that rule group.
10449//
10450// If you already have a rule group associated with a web ACL and want to submit
10451// an UpdateWebACL request to exclude certain rules from that rule group, you
10452// must first remove the rule group from the web ACL, the re-insert it again,
10453// specifying the excluded rules. For details, see ActivatedRule$ExcludedRules .
10454//
10455// Be aware that if you try to add a RATE_BASED rule to a web ACL without setting
10456// the rule type when first creating the rule, the UpdateWebACL request will
10457// fail because the request tries to add a REGULAR rule (the default rule type)
10458// with the specified ID, which does not exist.
10459//
10460// For more information about how to use the AWS WAF API to allow or block HTTP
10461// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
10462//
10463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10464// with awserr.Error's Code and Message methods to get detailed information about
10465// the error.
10466//
10467// See the AWS API reference guide for AWS WAF Regional's
10468// API operation UpdateWebACL for usage and error information.
10469//
10470// Returned Error Types:
10471//   * WAFStaleDataException
10472//   The operation failed because you tried to create, update, or delete an object
10473//   by using a change token that has already been used.
10474//
10475//   * WAFInternalErrorException
10476//   The operation failed because of a system problem, even though the request
10477//   was valid. Retry your request.
10478//
10479//   * WAFInvalidAccountException
10480//   The operation failed because you tried to create, update, or delete an object
10481//   by using an invalid account identifier.
10482//
10483//   * WAFInvalidOperationException
10484//   The operation failed because there was nothing to do. For example:
10485//
10486//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
10487//      specified WebACL.
10488//
10489//      * You tried to remove an IP address from an IPSet, but the IP address
10490//      isn't in the specified IPSet.
10491//
10492//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
10493//      isn't in the specified WebACL.
10494//
10495//      * You tried to add a Rule to a WebACL, but the Rule already exists in
10496//      the specified WebACL.
10497//
10498//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
10499//      already exists in the specified WebACL.
10500//
10501//   * WAFInvalidParameterException
10502//   The operation failed because AWS WAF didn't recognize a parameter in the
10503//   request. For example:
10504//
10505//      * You specified an invalid parameter name.
10506//
10507//      * You specified an invalid value.
10508//
10509//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
10510//      using an action other than INSERT or DELETE.
10511//
10512//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
10513//      BLOCK, or COUNT.
10514//
10515//      * You tried to create a RateBasedRule with a RateKey value other than
10516//      IP.
10517//
10518//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
10519//      BLOCK, or COUNT.
10520//
10521//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
10522//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
10523//
10524//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
10525//      for Data.
10526//
10527//      * Your request references an ARN that is malformed, or corresponds to
10528//      a resource with which a web ACL cannot be associated.
10529//
10530//   * WAFNonexistentContainerException
10531//   The operation failed because you tried to add an object to or delete an object
10532//   from another object that doesn't exist. For example:
10533//
10534//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
10535//      exist.
10536//
10537//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
10538//      that doesn't exist.
10539//
10540//      * You tried to add an IP address to or delete an IP address from an IPSet
10541//      that doesn't exist.
10542//
10543//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
10544//      a ByteMatchSet that doesn't exist.
10545//
10546//   * WAFNonexistentItemException
10547//   The operation failed because the referenced object doesn't exist.
10548//
10549//   * WAFReferencedItemException
10550//   The operation failed because you tried to delete an object that is still
10551//   in use. For example:
10552//
10553//      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
10554//
10555//      * You tried to delete a Rule that is still referenced by a WebACL.
10556//
10557//   * WAFLimitsExceededException
10558//   The operation exceeds a resource limit, for example, the maximum number of
10559//   WebACL objects that you can create for an AWS account. For more information,
10560//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
10561//   in the AWS WAF Developer Guide.
10562//
10563//   * WAFSubscriptionNotFoundException
10564//   The specified subscription does not exist.
10565//
10566// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL
10567func (c *WAFRegional) UpdateWebACL(input *waf.UpdateWebACLInput) (*waf.UpdateWebACLOutput, error) {
10568	req, out := c.UpdateWebACLRequest(input)
10569	return out, req.Send()
10570}
10571
10572// UpdateWebACLWithContext is the same as UpdateWebACL with the addition of
10573// the ability to pass a context and additional request options.
10574//
10575// See UpdateWebACL for details on how to use this API operation.
10576//
10577// The context must be non-nil and will be used for request cancellation. If
10578// the context is nil a panic will occur. In the future the SDK may create
10579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10580// for more information on using Contexts.
10581func (c *WAFRegional) UpdateWebACLWithContext(ctx aws.Context, input *waf.UpdateWebACLInput, opts ...request.Option) (*waf.UpdateWebACLOutput, error) {
10582	req, out := c.UpdateWebACLRequest(input)
10583	req.SetContext(ctx)
10584	req.ApplyOptions(opts...)
10585	return out, req.Send()
10586}
10587
10588const opUpdateXssMatchSet = "UpdateXssMatchSet"
10589
10590// UpdateXssMatchSetRequest generates a "aws/request.Request" representing the
10591// client's request for the UpdateXssMatchSet operation. The "output" return
10592// value will be populated with the request's response once the request completes
10593// successfully.
10594//
10595// Use "Send" method on the returned Request to send the API call to the service.
10596// the "output" return value is not valid until after Send returns without error.
10597//
10598// See UpdateXssMatchSet for more information on using the UpdateXssMatchSet
10599// API call, and error handling.
10600//
10601// This method is useful when you want to inject custom logic or configuration
10602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10603//
10604//
10605//    // Example sending a request using the UpdateXssMatchSetRequest method.
10606//    req, resp := client.UpdateXssMatchSetRequest(params)
10607//
10608//    err := req.Send()
10609//    if err == nil { // resp is now filled
10610//        fmt.Println(resp)
10611//    }
10612//
10613// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet
10614func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput) (req *request.Request, output *waf.UpdateXssMatchSetOutput) {
10615	op := &request.Operation{
10616		Name:       opUpdateXssMatchSet,
10617		HTTPMethod: "POST",
10618		HTTPPath:   "/",
10619	}
10620
10621	if input == nil {
10622		input = &waf.UpdateXssMatchSetInput{}
10623	}
10624
10625	output = &waf.UpdateXssMatchSetOutput{}
10626	req = c.newRequest(op, input, output)
10627	return
10628}
10629
10630// UpdateXssMatchSet API operation for AWS WAF Regional.
10631//
10632//
10633// This is AWS WAF Classic documentation. For more information, see AWS WAF
10634// Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
10635// in the developer guide.
10636//
10637// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
10638// WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
10639// With the latest version, AWS WAF has a single set of endpoints for regional
10640// and global use.
10641//
10642// Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For
10643// each XssMatchTuple object, you specify the following values:
10644//
10645//    * Action: Whether to insert the object into or delete the object from
10646//    the array. To change an XssMatchTuple, you delete the existing object
10647//    and add a new one.
10648//
10649//    * FieldToMatch: The part of web requests that you want AWS WAF to inspect
10650//    and, if you want AWS WAF to inspect a header or custom query parameter,
10651//    the name of the header or parameter.
10652//
10653//    * TextTransformation: Which text transformation, if any, to perform on
10654//    the web request before inspecting the request for cross-site scripting
10655//    attacks. You can only specify a single type of TextTransformation.
10656//
10657// You use XssMatchSet objects to specify which CloudFront requests that you
10658// want to allow, block, or count. For example, if you're receiving requests
10659// that contain cross-site scripting attacks in the request body and you want
10660// to block the requests, you can create an XssMatchSet with the applicable
10661// settings, and then configure AWS WAF to block the requests.
10662//
10663// To create and configure an XssMatchSet, perform the following steps:
10664//
10665// Submit a CreateXssMatchSet request.
10666//
10667// Use GetChangeToken to get the change token that you provide in the ChangeToken
10668// parameter of an UpdateIPSet request.
10669//
10670// Submit an UpdateXssMatchSet request to specify the parts of web requests
10671// that you want AWS WAF to inspect for cross-site scripting attacks.
10672//
10673// For more information about how to use the AWS WAF API to allow or block HTTP
10674// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
10675//
10676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10677// with awserr.Error's Code and Message methods to get detailed information about
10678// the error.
10679//
10680// See the AWS API reference guide for AWS WAF Regional's
10681// API operation UpdateXssMatchSet for usage and error information.
10682//
10683// Returned Error Types:
10684//   * WAFInternalErrorException
10685//   The operation failed because of a system problem, even though the request
10686//   was valid. Retry your request.
10687//
10688//   * WAFInvalidAccountException
10689//   The operation failed because you tried to create, update, or delete an object
10690//   by using an invalid account identifier.
10691//
10692//   * WAFInvalidOperationException
10693//   The operation failed because there was nothing to do. For example:
10694//
10695//      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
10696//      specified WebACL.
10697//
10698//      * You tried to remove an IP address from an IPSet, but the IP address
10699//      isn't in the specified IPSet.
10700//
10701//      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
10702//      isn't in the specified WebACL.
10703//
10704//      * You tried to add a Rule to a WebACL, but the Rule already exists in
10705//      the specified WebACL.
10706//
10707//      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
10708//      already exists in the specified WebACL.
10709//
10710//   * WAFInvalidParameterException
10711//   The operation failed because AWS WAF didn't recognize a parameter in the
10712//   request. For example:
10713//
10714//      * You specified an invalid parameter name.
10715//
10716//      * You specified an invalid value.
10717//
10718//      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
10719//      using an action other than INSERT or DELETE.
10720//
10721//      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
10722//      BLOCK, or COUNT.
10723//
10724//      * You tried to create a RateBasedRule with a RateKey value other than
10725//      IP.
10726//
10727//      * You tried to update a WebACL with a WafAction Type other than ALLOW,
10728//      BLOCK, or COUNT.
10729//
10730//      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
10731//      HEADER, METHOD, QUERY_STRING, URI, or BODY.
10732//
10733//      * You tried to update a ByteMatchSet with a Field of HEADER but no value
10734//      for Data.
10735//
10736//      * Your request references an ARN that is malformed, or corresponds to
10737//      a resource with which a web ACL cannot be associated.
10738//
10739//   * WAFNonexistentContainerException
10740//   The operation failed because you tried to add an object to or delete an object
10741//   from another object that doesn't exist. For example:
10742//
10743//      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
10744//      exist.
10745//
10746//      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
10747//      that doesn't exist.
10748//
10749//      * You tried to add an IP address to or delete an IP address from an IPSet
10750//      that doesn't exist.
10751//
10752//      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
10753//      a ByteMatchSet that doesn't exist.
10754//
10755//   * WAFNonexistentItemException
10756//   The operation failed because the referenced object doesn't exist.
10757//
10758//   * WAFStaleDataException
10759//   The operation failed because you tried to create, update, or delete an object
10760//   by using a change token that has already been used.
10761//
10762//   * WAFLimitsExceededException
10763//   The operation exceeds a resource limit, for example, the maximum number of
10764//   WebACL objects that you can create for an AWS account. For more information,
10765//   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
10766//   in the AWS WAF Developer Guide.
10767//
10768// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet
10769func (c *WAFRegional) UpdateXssMatchSet(input *waf.UpdateXssMatchSetInput) (*waf.UpdateXssMatchSetOutput, error) {
10770	req, out := c.UpdateXssMatchSetRequest(input)
10771	return out, req.Send()
10772}
10773
10774// UpdateXssMatchSetWithContext is the same as UpdateXssMatchSet with the addition of
10775// the ability to pass a context and additional request options.
10776//
10777// See UpdateXssMatchSet for details on how to use this API operation.
10778//
10779// The context must be non-nil and will be used for request cancellation. If
10780// the context is nil a panic will occur. In the future the SDK may create
10781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10782// for more information on using Contexts.
10783func (c *WAFRegional) UpdateXssMatchSetWithContext(ctx aws.Context, input *waf.UpdateXssMatchSetInput, opts ...request.Option) (*waf.UpdateXssMatchSetOutput, error) {
10784	req, out := c.UpdateXssMatchSetRequest(input)
10785	req.SetContext(ctx)
10786	req.ApplyOptions(opts...)
10787	return out, req.Send()
10788}
10789
10790type AssociateWebACLInput struct {
10791	_ struct{} `type:"structure"`
10792
10793	// The ARN (Amazon Resource Name) of the resource to be protected, either an
10794	// application load balancer or Amazon API Gateway stage.
10795	//
10796	// The ARN should be in one of the following formats:
10797	//
10798	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
10799	//
10800	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
10801	//
10802	// ResourceArn is a required field
10803	ResourceArn *string `min:"1" type:"string" required:"true"`
10804
10805	// A unique identifier (ID) for the web ACL.
10806	//
10807	// WebACLId is a required field
10808	WebACLId *string `min:"1" type:"string" required:"true"`
10809}
10810
10811// String returns the string representation
10812func (s AssociateWebACLInput) String() string {
10813	return awsutil.Prettify(s)
10814}
10815
10816// GoString returns the string representation
10817func (s AssociateWebACLInput) GoString() string {
10818	return s.String()
10819}
10820
10821// Validate inspects the fields of the type to determine if they are valid.
10822func (s *AssociateWebACLInput) Validate() error {
10823	invalidParams := request.ErrInvalidParams{Context: "AssociateWebACLInput"}
10824	if s.ResourceArn == nil {
10825		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10826	}
10827	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10828		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10829	}
10830	if s.WebACLId == nil {
10831		invalidParams.Add(request.NewErrParamRequired("WebACLId"))
10832	}
10833	if s.WebACLId != nil && len(*s.WebACLId) < 1 {
10834		invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1))
10835	}
10836
10837	if invalidParams.Len() > 0 {
10838		return invalidParams
10839	}
10840	return nil
10841}
10842
10843// SetResourceArn sets the ResourceArn field's value.
10844func (s *AssociateWebACLInput) SetResourceArn(v string) *AssociateWebACLInput {
10845	s.ResourceArn = &v
10846	return s
10847}
10848
10849// SetWebACLId sets the WebACLId field's value.
10850func (s *AssociateWebACLInput) SetWebACLId(v string) *AssociateWebACLInput {
10851	s.WebACLId = &v
10852	return s
10853}
10854
10855type AssociateWebACLOutput struct {
10856	_ struct{} `type:"structure"`
10857}
10858
10859// String returns the string representation
10860func (s AssociateWebACLOutput) String() string {
10861	return awsutil.Prettify(s)
10862}
10863
10864// GoString returns the string representation
10865func (s AssociateWebACLOutput) GoString() string {
10866	return s.String()
10867}
10868
10869type DisassociateWebACLInput struct {
10870	_ struct{} `type:"structure"`
10871
10872	// The ARN (Amazon Resource Name) of the resource from which the web ACL is
10873	// being removed, either an application load balancer or Amazon API Gateway
10874	// stage.
10875	//
10876	// The ARN should be in one of the following formats:
10877	//
10878	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
10879	//
10880	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
10881	//
10882	// ResourceArn is a required field
10883	ResourceArn *string `min:"1" type:"string" required:"true"`
10884}
10885
10886// String returns the string representation
10887func (s DisassociateWebACLInput) String() string {
10888	return awsutil.Prettify(s)
10889}
10890
10891// GoString returns the string representation
10892func (s DisassociateWebACLInput) GoString() string {
10893	return s.String()
10894}
10895
10896// Validate inspects the fields of the type to determine if they are valid.
10897func (s *DisassociateWebACLInput) Validate() error {
10898	invalidParams := request.ErrInvalidParams{Context: "DisassociateWebACLInput"}
10899	if s.ResourceArn == nil {
10900		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10901	}
10902	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10903		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10904	}
10905
10906	if invalidParams.Len() > 0 {
10907		return invalidParams
10908	}
10909	return nil
10910}
10911
10912// SetResourceArn sets the ResourceArn field's value.
10913func (s *DisassociateWebACLInput) SetResourceArn(v string) *DisassociateWebACLInput {
10914	s.ResourceArn = &v
10915	return s
10916}
10917
10918type DisassociateWebACLOutput struct {
10919	_ struct{} `type:"structure"`
10920}
10921
10922// String returns the string representation
10923func (s DisassociateWebACLOutput) String() string {
10924	return awsutil.Prettify(s)
10925}
10926
10927// GoString returns the string representation
10928func (s DisassociateWebACLOutput) GoString() string {
10929	return s.String()
10930}
10931
10932type GetWebACLForResourceInput struct {
10933	_ struct{} `type:"structure"`
10934
10935	// The ARN (Amazon Resource Name) of the resource for which to get the web ACL,
10936	// either an application load balancer or Amazon API Gateway stage.
10937	//
10938	// The ARN should be in one of the following formats:
10939	//
10940	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
10941	//
10942	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
10943	//
10944	// ResourceArn is a required field
10945	ResourceArn *string `min:"1" type:"string" required:"true"`
10946}
10947
10948// String returns the string representation
10949func (s GetWebACLForResourceInput) String() string {
10950	return awsutil.Prettify(s)
10951}
10952
10953// GoString returns the string representation
10954func (s GetWebACLForResourceInput) GoString() string {
10955	return s.String()
10956}
10957
10958// Validate inspects the fields of the type to determine if they are valid.
10959func (s *GetWebACLForResourceInput) Validate() error {
10960	invalidParams := request.ErrInvalidParams{Context: "GetWebACLForResourceInput"}
10961	if s.ResourceArn == nil {
10962		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10963	}
10964	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10965		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10966	}
10967
10968	if invalidParams.Len() > 0 {
10969		return invalidParams
10970	}
10971	return nil
10972}
10973
10974// SetResourceArn sets the ResourceArn field's value.
10975func (s *GetWebACLForResourceInput) SetResourceArn(v string) *GetWebACLForResourceInput {
10976	s.ResourceArn = &v
10977	return s
10978}
10979
10980type GetWebACLForResourceOutput struct {
10981	_ struct{} `type:"structure"`
10982
10983	// Information about the web ACL that you specified in the GetWebACLForResource
10984	// request. If there is no associated resource, a null WebACLSummary is returned.
10985	WebACLSummary *waf.WebACLSummary `type:"structure"`
10986}
10987
10988// String returns the string representation
10989func (s GetWebACLForResourceOutput) String() string {
10990	return awsutil.Prettify(s)
10991}
10992
10993// GoString returns the string representation
10994func (s GetWebACLForResourceOutput) GoString() string {
10995	return s.String()
10996}
10997
10998// SetWebACLSummary sets the WebACLSummary field's value.
10999func (s *GetWebACLForResourceOutput) SetWebACLSummary(v *waf.WebACLSummary) *GetWebACLForResourceOutput {
11000	s.WebACLSummary = v
11001	return s
11002}
11003
11004type ListResourcesForWebACLInput struct {
11005	_ struct{} `type:"structure"`
11006
11007	// The type of resource to list, either an application load balancer or Amazon
11008	// API Gateway.
11009	ResourceType *string `type:"string" enum:"ResourceType"`
11010
11011	// The unique identifier (ID) of the web ACL for which to list the associated
11012	// resources.
11013	//
11014	// WebACLId is a required field
11015	WebACLId *string `min:"1" type:"string" required:"true"`
11016}
11017
11018// String returns the string representation
11019func (s ListResourcesForWebACLInput) String() string {
11020	return awsutil.Prettify(s)
11021}
11022
11023// GoString returns the string representation
11024func (s ListResourcesForWebACLInput) GoString() string {
11025	return s.String()
11026}
11027
11028// Validate inspects the fields of the type to determine if they are valid.
11029func (s *ListResourcesForWebACLInput) Validate() error {
11030	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForWebACLInput"}
11031	if s.WebACLId == nil {
11032		invalidParams.Add(request.NewErrParamRequired("WebACLId"))
11033	}
11034	if s.WebACLId != nil && len(*s.WebACLId) < 1 {
11035		invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1))
11036	}
11037
11038	if invalidParams.Len() > 0 {
11039		return invalidParams
11040	}
11041	return nil
11042}
11043
11044// SetResourceType sets the ResourceType field's value.
11045func (s *ListResourcesForWebACLInput) SetResourceType(v string) *ListResourcesForWebACLInput {
11046	s.ResourceType = &v
11047	return s
11048}
11049
11050// SetWebACLId sets the WebACLId field's value.
11051func (s *ListResourcesForWebACLInput) SetWebACLId(v string) *ListResourcesForWebACLInput {
11052	s.WebACLId = &v
11053	return s
11054}
11055
11056type ListResourcesForWebACLOutput struct {
11057	_ struct{} `type:"structure"`
11058
11059	// An array of ARNs (Amazon Resource Names) of the resources associated with
11060	// the specified web ACL. An array with zero elements is returned if there are
11061	// no resources associated with the web ACL.
11062	ResourceArns []*string `type:"list"`
11063}
11064
11065// String returns the string representation
11066func (s ListResourcesForWebACLOutput) String() string {
11067	return awsutil.Prettify(s)
11068}
11069
11070// GoString returns the string representation
11071func (s ListResourcesForWebACLOutput) GoString() string {
11072	return s.String()
11073}
11074
11075// SetResourceArns sets the ResourceArns field's value.
11076func (s *ListResourcesForWebACLOutput) SetResourceArns(v []*string) *ListResourcesForWebACLOutput {
11077	s.ResourceArns = v
11078	return s
11079}
11080
11081type WAFBadRequestException struct {
11082	_            struct{}                  `type:"structure"`
11083	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11084
11085	Message_ *string `locationName:"message" type:"string"`
11086}
11087
11088// String returns the string representation
11089func (s WAFBadRequestException) String() string {
11090	return awsutil.Prettify(s)
11091}
11092
11093// GoString returns the string representation
11094func (s WAFBadRequestException) GoString() string {
11095	return s.String()
11096}
11097
11098func newErrorWAFBadRequestException(v protocol.ResponseMetadata) error {
11099	return &WAFBadRequestException{
11100		RespMetadata: v,
11101	}
11102}
11103
11104// Code returns the exception type name.
11105func (s *WAFBadRequestException) Code() string {
11106	return "WAFBadRequestException"
11107}
11108
11109// Message returns the exception's message.
11110func (s *WAFBadRequestException) Message() string {
11111	if s.Message_ != nil {
11112		return *s.Message_
11113	}
11114	return ""
11115}
11116
11117// OrigErr always returns nil, satisfies awserr.Error interface.
11118func (s *WAFBadRequestException) OrigErr() error {
11119	return nil
11120}
11121
11122func (s *WAFBadRequestException) Error() string {
11123	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11124}
11125
11126// Status code returns the HTTP status code for the request's response error.
11127func (s *WAFBadRequestException) StatusCode() int {
11128	return s.RespMetadata.StatusCode
11129}
11130
11131// RequestID returns the service's response RequestID for request.
11132func (s *WAFBadRequestException) RequestID() string {
11133	return s.RespMetadata.RequestID
11134}
11135
11136// The name specified is invalid.
11137type WAFDisallowedNameException struct {
11138	_            struct{}                  `type:"structure"`
11139	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11140
11141	Message_ *string `locationName:"message" type:"string"`
11142}
11143
11144// String returns the string representation
11145func (s WAFDisallowedNameException) String() string {
11146	return awsutil.Prettify(s)
11147}
11148
11149// GoString returns the string representation
11150func (s WAFDisallowedNameException) GoString() string {
11151	return s.String()
11152}
11153
11154func newErrorWAFDisallowedNameException(v protocol.ResponseMetadata) error {
11155	return &WAFDisallowedNameException{
11156		RespMetadata: v,
11157	}
11158}
11159
11160// Code returns the exception type name.
11161func (s *WAFDisallowedNameException) Code() string {
11162	return "WAFDisallowedNameException"
11163}
11164
11165// Message returns the exception's message.
11166func (s *WAFDisallowedNameException) Message() string {
11167	if s.Message_ != nil {
11168		return *s.Message_
11169	}
11170	return ""
11171}
11172
11173// OrigErr always returns nil, satisfies awserr.Error interface.
11174func (s *WAFDisallowedNameException) OrigErr() error {
11175	return nil
11176}
11177
11178func (s *WAFDisallowedNameException) Error() string {
11179	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11180}
11181
11182// Status code returns the HTTP status code for the request's response error.
11183func (s *WAFDisallowedNameException) StatusCode() int {
11184	return s.RespMetadata.StatusCode
11185}
11186
11187// RequestID returns the service's response RequestID for request.
11188func (s *WAFDisallowedNameException) RequestID() string {
11189	return s.RespMetadata.RequestID
11190}
11191
11192// The operation failed due to a problem with the migration. The failure cause
11193// is provided in the exception, in the MigrationErrorType:
11194//
11195//    * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the
11196//    IgnoreUnsupportedType is not set to true.
11197//
11198//    * ENTITY_NOT_FOUND - The web ACL doesn't exist.
11199//
11200//    * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject
11201//    action to the specified Amazon S3 bucket.
11202//
11203//    * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to
11204//    perform the PutObject action in the bucket.
11205//
11206//    * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.
11207//
11208//    * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as
11209//    the web ACL.
11210//
11211//    * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3
11212//    bucket for another reason.
11213type WAFEntityMigrationException struct {
11214	_            struct{}                  `type:"structure"`
11215	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11216
11217	Message_ *string `locationName:"message" type:"string"`
11218
11219	MigrationErrorReason *string `type:"string"`
11220
11221	MigrationErrorType *string `type:"string" enum:"MigrationErrorType"`
11222}
11223
11224// String returns the string representation
11225func (s WAFEntityMigrationException) String() string {
11226	return awsutil.Prettify(s)
11227}
11228
11229// GoString returns the string representation
11230func (s WAFEntityMigrationException) GoString() string {
11231	return s.String()
11232}
11233
11234func newErrorWAFEntityMigrationException(v protocol.ResponseMetadata) error {
11235	return &WAFEntityMigrationException{
11236		RespMetadata: v,
11237	}
11238}
11239
11240// Code returns the exception type name.
11241func (s *WAFEntityMigrationException) Code() string {
11242	return "WAFEntityMigrationException"
11243}
11244
11245// Message returns the exception's message.
11246func (s *WAFEntityMigrationException) Message() string {
11247	if s.Message_ != nil {
11248		return *s.Message_
11249	}
11250	return ""
11251}
11252
11253// OrigErr always returns nil, satisfies awserr.Error interface.
11254func (s *WAFEntityMigrationException) OrigErr() error {
11255	return nil
11256}
11257
11258func (s *WAFEntityMigrationException) Error() string {
11259	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11260}
11261
11262// Status code returns the HTTP status code for the request's response error.
11263func (s *WAFEntityMigrationException) StatusCode() int {
11264	return s.RespMetadata.StatusCode
11265}
11266
11267// RequestID returns the service's response RequestID for request.
11268func (s *WAFEntityMigrationException) RequestID() string {
11269	return s.RespMetadata.RequestID
11270}
11271
11272// The operation failed because of a system problem, even though the request
11273// was valid. Retry your request.
11274type WAFInternalErrorException struct {
11275	_            struct{}                  `type:"structure"`
11276	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11277
11278	Message_ *string `locationName:"message" type:"string"`
11279}
11280
11281// String returns the string representation
11282func (s WAFInternalErrorException) String() string {
11283	return awsutil.Prettify(s)
11284}
11285
11286// GoString returns the string representation
11287func (s WAFInternalErrorException) GoString() string {
11288	return s.String()
11289}
11290
11291func newErrorWAFInternalErrorException(v protocol.ResponseMetadata) error {
11292	return &WAFInternalErrorException{
11293		RespMetadata: v,
11294	}
11295}
11296
11297// Code returns the exception type name.
11298func (s *WAFInternalErrorException) Code() string {
11299	return "WAFInternalErrorException"
11300}
11301
11302// Message returns the exception's message.
11303func (s *WAFInternalErrorException) Message() string {
11304	if s.Message_ != nil {
11305		return *s.Message_
11306	}
11307	return ""
11308}
11309
11310// OrigErr always returns nil, satisfies awserr.Error interface.
11311func (s *WAFInternalErrorException) OrigErr() error {
11312	return nil
11313}
11314
11315func (s *WAFInternalErrorException) Error() string {
11316	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11317}
11318
11319// Status code returns the HTTP status code for the request's response error.
11320func (s *WAFInternalErrorException) StatusCode() int {
11321	return s.RespMetadata.StatusCode
11322}
11323
11324// RequestID returns the service's response RequestID for request.
11325func (s *WAFInternalErrorException) RequestID() string {
11326	return s.RespMetadata.RequestID
11327}
11328
11329// The operation failed because you tried to create, update, or delete an object
11330// by using an invalid account identifier.
11331type WAFInvalidAccountException struct {
11332	_            struct{}                  `type:"structure"`
11333	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11334
11335	Message_ *string `locationName:"message" type:"string"`
11336}
11337
11338// String returns the string representation
11339func (s WAFInvalidAccountException) String() string {
11340	return awsutil.Prettify(s)
11341}
11342
11343// GoString returns the string representation
11344func (s WAFInvalidAccountException) GoString() string {
11345	return s.String()
11346}
11347
11348func newErrorWAFInvalidAccountException(v protocol.ResponseMetadata) error {
11349	return &WAFInvalidAccountException{
11350		RespMetadata: v,
11351	}
11352}
11353
11354// Code returns the exception type name.
11355func (s *WAFInvalidAccountException) Code() string {
11356	return "WAFInvalidAccountException"
11357}
11358
11359// Message returns the exception's message.
11360func (s *WAFInvalidAccountException) Message() string {
11361	if s.Message_ != nil {
11362		return *s.Message_
11363	}
11364	return ""
11365}
11366
11367// OrigErr always returns nil, satisfies awserr.Error interface.
11368func (s *WAFInvalidAccountException) OrigErr() error {
11369	return nil
11370}
11371
11372func (s *WAFInvalidAccountException) Error() string {
11373	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11374}
11375
11376// Status code returns the HTTP status code for the request's response error.
11377func (s *WAFInvalidAccountException) StatusCode() int {
11378	return s.RespMetadata.StatusCode
11379}
11380
11381// RequestID returns the service's response RequestID for request.
11382func (s *WAFInvalidAccountException) RequestID() string {
11383	return s.RespMetadata.RequestID
11384}
11385
11386// The operation failed because there was nothing to do. For example:
11387//
11388//    * You tried to remove a Rule from a WebACL, but the Rule isn't in the
11389//    specified WebACL.
11390//
11391//    * You tried to remove an IP address from an IPSet, but the IP address
11392//    isn't in the specified IPSet.
11393//
11394//    * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
11395//    isn't in the specified WebACL.
11396//
11397//    * You tried to add a Rule to a WebACL, but the Rule already exists in
11398//    the specified WebACL.
11399//
11400//    * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
11401//    already exists in the specified WebACL.
11402type WAFInvalidOperationException struct {
11403	_            struct{}                  `type:"structure"`
11404	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11405
11406	Message_ *string `locationName:"message" type:"string"`
11407}
11408
11409// String returns the string representation
11410func (s WAFInvalidOperationException) String() string {
11411	return awsutil.Prettify(s)
11412}
11413
11414// GoString returns the string representation
11415func (s WAFInvalidOperationException) GoString() string {
11416	return s.String()
11417}
11418
11419func newErrorWAFInvalidOperationException(v protocol.ResponseMetadata) error {
11420	return &WAFInvalidOperationException{
11421		RespMetadata: v,
11422	}
11423}
11424
11425// Code returns the exception type name.
11426func (s *WAFInvalidOperationException) Code() string {
11427	return "WAFInvalidOperationException"
11428}
11429
11430// Message returns the exception's message.
11431func (s *WAFInvalidOperationException) Message() string {
11432	if s.Message_ != nil {
11433		return *s.Message_
11434	}
11435	return ""
11436}
11437
11438// OrigErr always returns nil, satisfies awserr.Error interface.
11439func (s *WAFInvalidOperationException) OrigErr() error {
11440	return nil
11441}
11442
11443func (s *WAFInvalidOperationException) Error() string {
11444	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11445}
11446
11447// Status code returns the HTTP status code for the request's response error.
11448func (s *WAFInvalidOperationException) StatusCode() int {
11449	return s.RespMetadata.StatusCode
11450}
11451
11452// RequestID returns the service's response RequestID for request.
11453func (s *WAFInvalidOperationException) RequestID() string {
11454	return s.RespMetadata.RequestID
11455}
11456
11457// The operation failed because AWS WAF didn't recognize a parameter in the
11458// request. For example:
11459//
11460//    * You specified an invalid parameter name.
11461//
11462//    * You specified an invalid value.
11463//
11464//    * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
11465//    using an action other than INSERT or DELETE.
11466//
11467//    * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
11468//    BLOCK, or COUNT.
11469//
11470//    * You tried to create a RateBasedRule with a RateKey value other than
11471//    IP.
11472//
11473//    * You tried to update a WebACL with a WafAction Type other than ALLOW,
11474//    BLOCK, or COUNT.
11475//
11476//    * You tried to update a ByteMatchSet with a FieldToMatch Type other than
11477//    HEADER, METHOD, QUERY_STRING, URI, or BODY.
11478//
11479//    * You tried to update a ByteMatchSet with a Field of HEADER but no value
11480//    for Data.
11481//
11482//    * Your request references an ARN that is malformed, or corresponds to
11483//    a resource with which a web ACL cannot be associated.
11484type WAFInvalidParameterException struct {
11485	_            struct{}                  `type:"structure"`
11486	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11487
11488	Field *string `locationName:"field" type:"string" enum:"ParameterExceptionField"`
11489
11490	Message_ *string `locationName:"message" type:"string"`
11491
11492	Parameter *string `locationName:"parameter" min:"1" type:"string"`
11493
11494	Reason *string `locationName:"reason" type:"string" enum:"ParameterExceptionReason"`
11495}
11496
11497// String returns the string representation
11498func (s WAFInvalidParameterException) String() string {
11499	return awsutil.Prettify(s)
11500}
11501
11502// GoString returns the string representation
11503func (s WAFInvalidParameterException) GoString() string {
11504	return s.String()
11505}
11506
11507func newErrorWAFInvalidParameterException(v protocol.ResponseMetadata) error {
11508	return &WAFInvalidParameterException{
11509		RespMetadata: v,
11510	}
11511}
11512
11513// Code returns the exception type name.
11514func (s *WAFInvalidParameterException) Code() string {
11515	return "WAFInvalidParameterException"
11516}
11517
11518// Message returns the exception's message.
11519func (s *WAFInvalidParameterException) Message() string {
11520	if s.Message_ != nil {
11521		return *s.Message_
11522	}
11523	return ""
11524}
11525
11526// OrigErr always returns nil, satisfies awserr.Error interface.
11527func (s *WAFInvalidParameterException) OrigErr() error {
11528	return nil
11529}
11530
11531func (s *WAFInvalidParameterException) Error() string {
11532	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11533}
11534
11535// Status code returns the HTTP status code for the request's response error.
11536func (s *WAFInvalidParameterException) StatusCode() int {
11537	return s.RespMetadata.StatusCode
11538}
11539
11540// RequestID returns the service's response RequestID for request.
11541func (s *WAFInvalidParameterException) RequestID() string {
11542	return s.RespMetadata.RequestID
11543}
11544
11545// The operation failed because the specified policy is not in the proper format.
11546//
11547// The policy is subject to the following restrictions:
11548//
11549//    * You can attach only one policy with each PutPermissionPolicy request.
11550//
11551//    * The policy must include an Effect, Action and Principal.
11552//
11553//    * Effect must specify Allow.
11554//
11555//    * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
11556//    waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
11557//    actions in the policy will be rejected.
11558//
11559//    * The policy cannot include a Resource parameter.
11560//
11561//    * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
11562//    must exist in the same region.
11563//
11564//    * The user making the request must be the owner of the RuleGroup.
11565//
11566//    * Your policy must be composed using IAM Policy version 2012-10-17.
11567type WAFInvalidPermissionPolicyException struct {
11568	_            struct{}                  `type:"structure"`
11569	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11570
11571	Message_ *string `locationName:"message" type:"string"`
11572}
11573
11574// String returns the string representation
11575func (s WAFInvalidPermissionPolicyException) String() string {
11576	return awsutil.Prettify(s)
11577}
11578
11579// GoString returns the string representation
11580func (s WAFInvalidPermissionPolicyException) GoString() string {
11581	return s.String()
11582}
11583
11584func newErrorWAFInvalidPermissionPolicyException(v protocol.ResponseMetadata) error {
11585	return &WAFInvalidPermissionPolicyException{
11586		RespMetadata: v,
11587	}
11588}
11589
11590// Code returns the exception type name.
11591func (s *WAFInvalidPermissionPolicyException) Code() string {
11592	return "WAFInvalidPermissionPolicyException"
11593}
11594
11595// Message returns the exception's message.
11596func (s *WAFInvalidPermissionPolicyException) Message() string {
11597	if s.Message_ != nil {
11598		return *s.Message_
11599	}
11600	return ""
11601}
11602
11603// OrigErr always returns nil, satisfies awserr.Error interface.
11604func (s *WAFInvalidPermissionPolicyException) OrigErr() error {
11605	return nil
11606}
11607
11608func (s *WAFInvalidPermissionPolicyException) Error() string {
11609	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11610}
11611
11612// Status code returns the HTTP status code for the request's response error.
11613func (s *WAFInvalidPermissionPolicyException) StatusCode() int {
11614	return s.RespMetadata.StatusCode
11615}
11616
11617// RequestID returns the service's response RequestID for request.
11618func (s *WAFInvalidPermissionPolicyException) RequestID() string {
11619	return s.RespMetadata.RequestID
11620}
11621
11622// The regular expression (regex) you specified in RegexPatternString is invalid.
11623type WAFInvalidRegexPatternException struct {
11624	_            struct{}                  `type:"structure"`
11625	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11626
11627	Message_ *string `locationName:"message" type:"string"`
11628}
11629
11630// String returns the string representation
11631func (s WAFInvalidRegexPatternException) String() string {
11632	return awsutil.Prettify(s)
11633}
11634
11635// GoString returns the string representation
11636func (s WAFInvalidRegexPatternException) GoString() string {
11637	return s.String()
11638}
11639
11640func newErrorWAFInvalidRegexPatternException(v protocol.ResponseMetadata) error {
11641	return &WAFInvalidRegexPatternException{
11642		RespMetadata: v,
11643	}
11644}
11645
11646// Code returns the exception type name.
11647func (s *WAFInvalidRegexPatternException) Code() string {
11648	return "WAFInvalidRegexPatternException"
11649}
11650
11651// Message returns the exception's message.
11652func (s *WAFInvalidRegexPatternException) Message() string {
11653	if s.Message_ != nil {
11654		return *s.Message_
11655	}
11656	return ""
11657}
11658
11659// OrigErr always returns nil, satisfies awserr.Error interface.
11660func (s *WAFInvalidRegexPatternException) OrigErr() error {
11661	return nil
11662}
11663
11664func (s *WAFInvalidRegexPatternException) Error() string {
11665	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11666}
11667
11668// Status code returns the HTTP status code for the request's response error.
11669func (s *WAFInvalidRegexPatternException) StatusCode() int {
11670	return s.RespMetadata.StatusCode
11671}
11672
11673// RequestID returns the service's response RequestID for request.
11674func (s *WAFInvalidRegexPatternException) RequestID() string {
11675	return s.RespMetadata.RequestID
11676}
11677
11678// The operation exceeds a resource limit, for example, the maximum number of
11679// WebACL objects that you can create for an AWS account. For more information,
11680// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
11681// in the AWS WAF Developer Guide.
11682type WAFLimitsExceededException struct {
11683	_            struct{}                  `type:"structure"`
11684	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11685
11686	Message_ *string `locationName:"message" type:"string"`
11687}
11688
11689// String returns the string representation
11690func (s WAFLimitsExceededException) String() string {
11691	return awsutil.Prettify(s)
11692}
11693
11694// GoString returns the string representation
11695func (s WAFLimitsExceededException) GoString() string {
11696	return s.String()
11697}
11698
11699func newErrorWAFLimitsExceededException(v protocol.ResponseMetadata) error {
11700	return &WAFLimitsExceededException{
11701		RespMetadata: v,
11702	}
11703}
11704
11705// Code returns the exception type name.
11706func (s *WAFLimitsExceededException) Code() string {
11707	return "WAFLimitsExceededException"
11708}
11709
11710// Message returns the exception's message.
11711func (s *WAFLimitsExceededException) Message() string {
11712	if s.Message_ != nil {
11713		return *s.Message_
11714	}
11715	return ""
11716}
11717
11718// OrigErr always returns nil, satisfies awserr.Error interface.
11719func (s *WAFLimitsExceededException) OrigErr() error {
11720	return nil
11721}
11722
11723func (s *WAFLimitsExceededException) Error() string {
11724	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11725}
11726
11727// Status code returns the HTTP status code for the request's response error.
11728func (s *WAFLimitsExceededException) StatusCode() int {
11729	return s.RespMetadata.StatusCode
11730}
11731
11732// RequestID returns the service's response RequestID for request.
11733func (s *WAFLimitsExceededException) RequestID() string {
11734	return s.RespMetadata.RequestID
11735}
11736
11737// The operation failed because you tried to delete an object that isn't empty.
11738// For example:
11739//
11740//    * You tried to delete a WebACL that still contains one or more Rule objects.
11741//
11742//    * You tried to delete a Rule that still contains one or more ByteMatchSet
11743//    objects or other predicates.
11744//
11745//    * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
11746//    objects.
11747//
11748//    * You tried to delete an IPSet that references one or more IP addresses.
11749type WAFNonEmptyEntityException struct {
11750	_            struct{}                  `type:"structure"`
11751	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11752
11753	Message_ *string `locationName:"message" type:"string"`
11754}
11755
11756// String returns the string representation
11757func (s WAFNonEmptyEntityException) String() string {
11758	return awsutil.Prettify(s)
11759}
11760
11761// GoString returns the string representation
11762func (s WAFNonEmptyEntityException) GoString() string {
11763	return s.String()
11764}
11765
11766func newErrorWAFNonEmptyEntityException(v protocol.ResponseMetadata) error {
11767	return &WAFNonEmptyEntityException{
11768		RespMetadata: v,
11769	}
11770}
11771
11772// Code returns the exception type name.
11773func (s *WAFNonEmptyEntityException) Code() string {
11774	return "WAFNonEmptyEntityException"
11775}
11776
11777// Message returns the exception's message.
11778func (s *WAFNonEmptyEntityException) Message() string {
11779	if s.Message_ != nil {
11780		return *s.Message_
11781	}
11782	return ""
11783}
11784
11785// OrigErr always returns nil, satisfies awserr.Error interface.
11786func (s *WAFNonEmptyEntityException) OrigErr() error {
11787	return nil
11788}
11789
11790func (s *WAFNonEmptyEntityException) Error() string {
11791	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11792}
11793
11794// Status code returns the HTTP status code for the request's response error.
11795func (s *WAFNonEmptyEntityException) StatusCode() int {
11796	return s.RespMetadata.StatusCode
11797}
11798
11799// RequestID returns the service's response RequestID for request.
11800func (s *WAFNonEmptyEntityException) RequestID() string {
11801	return s.RespMetadata.RequestID
11802}
11803
11804// The operation failed because you tried to add an object to or delete an object
11805// from another object that doesn't exist. For example:
11806//
11807//    * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
11808//    exist.
11809//
11810//    * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
11811//    that doesn't exist.
11812//
11813//    * You tried to add an IP address to or delete an IP address from an IPSet
11814//    that doesn't exist.
11815//
11816//    * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
11817//    a ByteMatchSet that doesn't exist.
11818type WAFNonexistentContainerException struct {
11819	_            struct{}                  `type:"structure"`
11820	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11821
11822	Message_ *string `locationName:"message" type:"string"`
11823}
11824
11825// String returns the string representation
11826func (s WAFNonexistentContainerException) String() string {
11827	return awsutil.Prettify(s)
11828}
11829
11830// GoString returns the string representation
11831func (s WAFNonexistentContainerException) GoString() string {
11832	return s.String()
11833}
11834
11835func newErrorWAFNonexistentContainerException(v protocol.ResponseMetadata) error {
11836	return &WAFNonexistentContainerException{
11837		RespMetadata: v,
11838	}
11839}
11840
11841// Code returns the exception type name.
11842func (s *WAFNonexistentContainerException) Code() string {
11843	return "WAFNonexistentContainerException"
11844}
11845
11846// Message returns the exception's message.
11847func (s *WAFNonexistentContainerException) Message() string {
11848	if s.Message_ != nil {
11849		return *s.Message_
11850	}
11851	return ""
11852}
11853
11854// OrigErr always returns nil, satisfies awserr.Error interface.
11855func (s *WAFNonexistentContainerException) OrigErr() error {
11856	return nil
11857}
11858
11859func (s *WAFNonexistentContainerException) Error() string {
11860	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11861}
11862
11863// Status code returns the HTTP status code for the request's response error.
11864func (s *WAFNonexistentContainerException) StatusCode() int {
11865	return s.RespMetadata.StatusCode
11866}
11867
11868// RequestID returns the service's response RequestID for request.
11869func (s *WAFNonexistentContainerException) RequestID() string {
11870	return s.RespMetadata.RequestID
11871}
11872
11873// The operation failed because the referenced object doesn't exist.
11874type WAFNonexistentItemException struct {
11875	_            struct{}                  `type:"structure"`
11876	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11877
11878	Message_ *string `locationName:"message" type:"string"`
11879}
11880
11881// String returns the string representation
11882func (s WAFNonexistentItemException) String() string {
11883	return awsutil.Prettify(s)
11884}
11885
11886// GoString returns the string representation
11887func (s WAFNonexistentItemException) GoString() string {
11888	return s.String()
11889}
11890
11891func newErrorWAFNonexistentItemException(v protocol.ResponseMetadata) error {
11892	return &WAFNonexistentItemException{
11893		RespMetadata: v,
11894	}
11895}
11896
11897// Code returns the exception type name.
11898func (s *WAFNonexistentItemException) Code() string {
11899	return "WAFNonexistentItemException"
11900}
11901
11902// Message returns the exception's message.
11903func (s *WAFNonexistentItemException) Message() string {
11904	if s.Message_ != nil {
11905		return *s.Message_
11906	}
11907	return ""
11908}
11909
11910// OrigErr always returns nil, satisfies awserr.Error interface.
11911func (s *WAFNonexistentItemException) OrigErr() error {
11912	return nil
11913}
11914
11915func (s *WAFNonexistentItemException) Error() string {
11916	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11917}
11918
11919// Status code returns the HTTP status code for the request's response error.
11920func (s *WAFNonexistentItemException) StatusCode() int {
11921	return s.RespMetadata.StatusCode
11922}
11923
11924// RequestID returns the service's response RequestID for request.
11925func (s *WAFNonexistentItemException) RequestID() string {
11926	return s.RespMetadata.RequestID
11927}
11928
11929// The operation failed because you tried to delete an object that is still
11930// in use. For example:
11931//
11932//    * You tried to delete a ByteMatchSet that is still referenced by a Rule.
11933//
11934//    * You tried to delete a Rule that is still referenced by a WebACL.
11935type WAFReferencedItemException struct {
11936	_            struct{}                  `type:"structure"`
11937	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11938
11939	Message_ *string `locationName:"message" type:"string"`
11940}
11941
11942// String returns the string representation
11943func (s WAFReferencedItemException) String() string {
11944	return awsutil.Prettify(s)
11945}
11946
11947// GoString returns the string representation
11948func (s WAFReferencedItemException) GoString() string {
11949	return s.String()
11950}
11951
11952func newErrorWAFReferencedItemException(v protocol.ResponseMetadata) error {
11953	return &WAFReferencedItemException{
11954		RespMetadata: v,
11955	}
11956}
11957
11958// Code returns the exception type name.
11959func (s *WAFReferencedItemException) Code() string {
11960	return "WAFReferencedItemException"
11961}
11962
11963// Message returns the exception's message.
11964func (s *WAFReferencedItemException) Message() string {
11965	if s.Message_ != nil {
11966		return *s.Message_
11967	}
11968	return ""
11969}
11970
11971// OrigErr always returns nil, satisfies awserr.Error interface.
11972func (s *WAFReferencedItemException) OrigErr() error {
11973	return nil
11974}
11975
11976func (s *WAFReferencedItemException) Error() string {
11977	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11978}
11979
11980// Status code returns the HTTP status code for the request's response error.
11981func (s *WAFReferencedItemException) StatusCode() int {
11982	return s.RespMetadata.StatusCode
11983}
11984
11985// RequestID returns the service's response RequestID for request.
11986func (s *WAFReferencedItemException) RequestID() string {
11987	return s.RespMetadata.RequestID
11988}
11989
11990// AWS WAF is not able to access the service linked role. This can be caused
11991// by a previous PutLoggingConfiguration request, which can lock the service
11992// linked role for about 20 seconds. Please try your request again. The service
11993// linked role can also be locked by a previous DeleteServiceLinkedRole request,
11994// which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole,
11995// wait at least 15 minutes and try the request again. If you receive this same
11996// exception again, you will have to wait additional time until the role is
11997// unlocked.
11998type WAFServiceLinkedRoleErrorException struct {
11999	_            struct{}                  `type:"structure"`
12000	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12001
12002	Message_ *string `locationName:"message" type:"string"`
12003}
12004
12005// String returns the string representation
12006func (s WAFServiceLinkedRoleErrorException) String() string {
12007	return awsutil.Prettify(s)
12008}
12009
12010// GoString returns the string representation
12011func (s WAFServiceLinkedRoleErrorException) GoString() string {
12012	return s.String()
12013}
12014
12015func newErrorWAFServiceLinkedRoleErrorException(v protocol.ResponseMetadata) error {
12016	return &WAFServiceLinkedRoleErrorException{
12017		RespMetadata: v,
12018	}
12019}
12020
12021// Code returns the exception type name.
12022func (s *WAFServiceLinkedRoleErrorException) Code() string {
12023	return "WAFServiceLinkedRoleErrorException"
12024}
12025
12026// Message returns the exception's message.
12027func (s *WAFServiceLinkedRoleErrorException) Message() string {
12028	if s.Message_ != nil {
12029		return *s.Message_
12030	}
12031	return ""
12032}
12033
12034// OrigErr always returns nil, satisfies awserr.Error interface.
12035func (s *WAFServiceLinkedRoleErrorException) OrigErr() error {
12036	return nil
12037}
12038
12039func (s *WAFServiceLinkedRoleErrorException) Error() string {
12040	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12041}
12042
12043// Status code returns the HTTP status code for the request's response error.
12044func (s *WAFServiceLinkedRoleErrorException) StatusCode() int {
12045	return s.RespMetadata.StatusCode
12046}
12047
12048// RequestID returns the service's response RequestID for request.
12049func (s *WAFServiceLinkedRoleErrorException) RequestID() string {
12050	return s.RespMetadata.RequestID
12051}
12052
12053// The operation failed because you tried to create, update, or delete an object
12054// by using a change token that has already been used.
12055type WAFStaleDataException struct {
12056	_            struct{}                  `type:"structure"`
12057	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12058
12059	Message_ *string `locationName:"message" type:"string"`
12060}
12061
12062// String returns the string representation
12063func (s WAFStaleDataException) String() string {
12064	return awsutil.Prettify(s)
12065}
12066
12067// GoString returns the string representation
12068func (s WAFStaleDataException) GoString() string {
12069	return s.String()
12070}
12071
12072func newErrorWAFStaleDataException(v protocol.ResponseMetadata) error {
12073	return &WAFStaleDataException{
12074		RespMetadata: v,
12075	}
12076}
12077
12078// Code returns the exception type name.
12079func (s *WAFStaleDataException) Code() string {
12080	return "WAFStaleDataException"
12081}
12082
12083// Message returns the exception's message.
12084func (s *WAFStaleDataException) Message() string {
12085	if s.Message_ != nil {
12086		return *s.Message_
12087	}
12088	return ""
12089}
12090
12091// OrigErr always returns nil, satisfies awserr.Error interface.
12092func (s *WAFStaleDataException) OrigErr() error {
12093	return nil
12094}
12095
12096func (s *WAFStaleDataException) Error() string {
12097	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12098}
12099
12100// Status code returns the HTTP status code for the request's response error.
12101func (s *WAFStaleDataException) StatusCode() int {
12102	return s.RespMetadata.StatusCode
12103}
12104
12105// RequestID returns the service's response RequestID for request.
12106func (s *WAFStaleDataException) RequestID() string {
12107	return s.RespMetadata.RequestID
12108}
12109
12110// The specified subscription does not exist.
12111type WAFSubscriptionNotFoundException struct {
12112	_            struct{}                  `type:"structure"`
12113	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12114
12115	Message_ *string `locationName:"message" type:"string"`
12116}
12117
12118// String returns the string representation
12119func (s WAFSubscriptionNotFoundException) String() string {
12120	return awsutil.Prettify(s)
12121}
12122
12123// GoString returns the string representation
12124func (s WAFSubscriptionNotFoundException) GoString() string {
12125	return s.String()
12126}
12127
12128func newErrorWAFSubscriptionNotFoundException(v protocol.ResponseMetadata) error {
12129	return &WAFSubscriptionNotFoundException{
12130		RespMetadata: v,
12131	}
12132}
12133
12134// Code returns the exception type name.
12135func (s *WAFSubscriptionNotFoundException) Code() string {
12136	return "WAFSubscriptionNotFoundException"
12137}
12138
12139// Message returns the exception's message.
12140func (s *WAFSubscriptionNotFoundException) Message() string {
12141	if s.Message_ != nil {
12142		return *s.Message_
12143	}
12144	return ""
12145}
12146
12147// OrigErr always returns nil, satisfies awserr.Error interface.
12148func (s *WAFSubscriptionNotFoundException) OrigErr() error {
12149	return nil
12150}
12151
12152func (s *WAFSubscriptionNotFoundException) Error() string {
12153	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12154}
12155
12156// Status code returns the HTTP status code for the request's response error.
12157func (s *WAFSubscriptionNotFoundException) StatusCode() int {
12158	return s.RespMetadata.StatusCode
12159}
12160
12161// RequestID returns the service's response RequestID for request.
12162func (s *WAFSubscriptionNotFoundException) RequestID() string {
12163	return s.RespMetadata.RequestID
12164}
12165
12166type WAFTagOperationException struct {
12167	_            struct{}                  `type:"structure"`
12168	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12169
12170	Message_ *string `locationName:"message" type:"string"`
12171}
12172
12173// String returns the string representation
12174func (s WAFTagOperationException) String() string {
12175	return awsutil.Prettify(s)
12176}
12177
12178// GoString returns the string representation
12179func (s WAFTagOperationException) GoString() string {
12180	return s.String()
12181}
12182
12183func newErrorWAFTagOperationException(v protocol.ResponseMetadata) error {
12184	return &WAFTagOperationException{
12185		RespMetadata: v,
12186	}
12187}
12188
12189// Code returns the exception type name.
12190func (s *WAFTagOperationException) Code() string {
12191	return "WAFTagOperationException"
12192}
12193
12194// Message returns the exception's message.
12195func (s *WAFTagOperationException) Message() string {
12196	if s.Message_ != nil {
12197		return *s.Message_
12198	}
12199	return ""
12200}
12201
12202// OrigErr always returns nil, satisfies awserr.Error interface.
12203func (s *WAFTagOperationException) OrigErr() error {
12204	return nil
12205}
12206
12207func (s *WAFTagOperationException) Error() string {
12208	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12209}
12210
12211// Status code returns the HTTP status code for the request's response error.
12212func (s *WAFTagOperationException) StatusCode() int {
12213	return s.RespMetadata.StatusCode
12214}
12215
12216// RequestID returns the service's response RequestID for request.
12217func (s *WAFTagOperationException) RequestID() string {
12218	return s.RespMetadata.RequestID
12219}
12220
12221type WAFTagOperationInternalErrorException struct {
12222	_            struct{}                  `type:"structure"`
12223	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12224
12225	Message_ *string `locationName:"message" type:"string"`
12226}
12227
12228// String returns the string representation
12229func (s WAFTagOperationInternalErrorException) String() string {
12230	return awsutil.Prettify(s)
12231}
12232
12233// GoString returns the string representation
12234func (s WAFTagOperationInternalErrorException) GoString() string {
12235	return s.String()
12236}
12237
12238func newErrorWAFTagOperationInternalErrorException(v protocol.ResponseMetadata) error {
12239	return &WAFTagOperationInternalErrorException{
12240		RespMetadata: v,
12241	}
12242}
12243
12244// Code returns the exception type name.
12245func (s *WAFTagOperationInternalErrorException) Code() string {
12246	return "WAFTagOperationInternalErrorException"
12247}
12248
12249// Message returns the exception's message.
12250func (s *WAFTagOperationInternalErrorException) Message() string {
12251	if s.Message_ != nil {
12252		return *s.Message_
12253	}
12254	return ""
12255}
12256
12257// OrigErr always returns nil, satisfies awserr.Error interface.
12258func (s *WAFTagOperationInternalErrorException) OrigErr() error {
12259	return nil
12260}
12261
12262func (s *WAFTagOperationInternalErrorException) Error() string {
12263	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12264}
12265
12266// Status code returns the HTTP status code for the request's response error.
12267func (s *WAFTagOperationInternalErrorException) StatusCode() int {
12268	return s.RespMetadata.StatusCode
12269}
12270
12271// RequestID returns the service's response RequestID for request.
12272func (s *WAFTagOperationInternalErrorException) RequestID() string {
12273	return s.RespMetadata.RequestID
12274}
12275
12276// The operation failed because the entity referenced is temporarily unavailable.
12277// Retry your request.
12278type WAFUnavailableEntityException struct {
12279	_            struct{}                  `type:"structure"`
12280	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12281
12282	Message_ *string `locationName:"message" type:"string"`
12283}
12284
12285// String returns the string representation
12286func (s WAFUnavailableEntityException) String() string {
12287	return awsutil.Prettify(s)
12288}
12289
12290// GoString returns the string representation
12291func (s WAFUnavailableEntityException) GoString() string {
12292	return s.String()
12293}
12294
12295func newErrorWAFUnavailableEntityException(v protocol.ResponseMetadata) error {
12296	return &WAFUnavailableEntityException{
12297		RespMetadata: v,
12298	}
12299}
12300
12301// Code returns the exception type name.
12302func (s *WAFUnavailableEntityException) Code() string {
12303	return "WAFUnavailableEntityException"
12304}
12305
12306// Message returns the exception's message.
12307func (s *WAFUnavailableEntityException) Message() string {
12308	if s.Message_ != nil {
12309		return *s.Message_
12310	}
12311	return ""
12312}
12313
12314// OrigErr always returns nil, satisfies awserr.Error interface.
12315func (s *WAFUnavailableEntityException) OrigErr() error {
12316	return nil
12317}
12318
12319func (s *WAFUnavailableEntityException) Error() string {
12320	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12321}
12322
12323// Status code returns the HTTP status code for the request's response error.
12324func (s *WAFUnavailableEntityException) StatusCode() int {
12325	return s.RespMetadata.StatusCode
12326}
12327
12328// RequestID returns the service's response RequestID for request.
12329func (s *WAFUnavailableEntityException) RequestID() string {
12330	return s.RespMetadata.RequestID
12331}
12332
12333const (
12334	// ChangeActionInsert is a ChangeAction enum value
12335	ChangeActionInsert = "INSERT"
12336
12337	// ChangeActionDelete is a ChangeAction enum value
12338	ChangeActionDelete = "DELETE"
12339)
12340
12341// ChangeAction_Values returns all elements of the ChangeAction enum
12342func ChangeAction_Values() []string {
12343	return []string{
12344		ChangeActionInsert,
12345		ChangeActionDelete,
12346	}
12347}
12348
12349const (
12350	// ChangeTokenStatusProvisioned is a ChangeTokenStatus enum value
12351	ChangeTokenStatusProvisioned = "PROVISIONED"
12352
12353	// ChangeTokenStatusPending is a ChangeTokenStatus enum value
12354	ChangeTokenStatusPending = "PENDING"
12355
12356	// ChangeTokenStatusInsync is a ChangeTokenStatus enum value
12357	ChangeTokenStatusInsync = "INSYNC"
12358)
12359
12360// ChangeTokenStatus_Values returns all elements of the ChangeTokenStatus enum
12361func ChangeTokenStatus_Values() []string {
12362	return []string{
12363		ChangeTokenStatusProvisioned,
12364		ChangeTokenStatusPending,
12365		ChangeTokenStatusInsync,
12366	}
12367}
12368
12369const (
12370	// ComparisonOperatorEq is a ComparisonOperator enum value
12371	ComparisonOperatorEq = "EQ"
12372
12373	// ComparisonOperatorNe is a ComparisonOperator enum value
12374	ComparisonOperatorNe = "NE"
12375
12376	// ComparisonOperatorLe is a ComparisonOperator enum value
12377	ComparisonOperatorLe = "LE"
12378
12379	// ComparisonOperatorLt is a ComparisonOperator enum value
12380	ComparisonOperatorLt = "LT"
12381
12382	// ComparisonOperatorGe is a ComparisonOperator enum value
12383	ComparisonOperatorGe = "GE"
12384
12385	// ComparisonOperatorGt is a ComparisonOperator enum value
12386	ComparisonOperatorGt = "GT"
12387)
12388
12389// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
12390func ComparisonOperator_Values() []string {
12391	return []string{
12392		ComparisonOperatorEq,
12393		ComparisonOperatorNe,
12394		ComparisonOperatorLe,
12395		ComparisonOperatorLt,
12396		ComparisonOperatorGe,
12397		ComparisonOperatorGt,
12398	}
12399}
12400
12401const (
12402	// GeoMatchConstraintTypeCountry is a GeoMatchConstraintType enum value
12403	GeoMatchConstraintTypeCountry = "Country"
12404)
12405
12406// GeoMatchConstraintType_Values returns all elements of the GeoMatchConstraintType enum
12407func GeoMatchConstraintType_Values() []string {
12408	return []string{
12409		GeoMatchConstraintTypeCountry,
12410	}
12411}
12412
12413const (
12414	// GeoMatchConstraintValueAf is a GeoMatchConstraintValue enum value
12415	GeoMatchConstraintValueAf = "AF"
12416
12417	// GeoMatchConstraintValueAx is a GeoMatchConstraintValue enum value
12418	GeoMatchConstraintValueAx = "AX"
12419
12420	// GeoMatchConstraintValueAl is a GeoMatchConstraintValue enum value
12421	GeoMatchConstraintValueAl = "AL"
12422
12423	// GeoMatchConstraintValueDz is a GeoMatchConstraintValue enum value
12424	GeoMatchConstraintValueDz = "DZ"
12425
12426	// GeoMatchConstraintValueAs is a GeoMatchConstraintValue enum value
12427	GeoMatchConstraintValueAs = "AS"
12428
12429	// GeoMatchConstraintValueAd is a GeoMatchConstraintValue enum value
12430	GeoMatchConstraintValueAd = "AD"
12431
12432	// GeoMatchConstraintValueAo is a GeoMatchConstraintValue enum value
12433	GeoMatchConstraintValueAo = "AO"
12434
12435	// GeoMatchConstraintValueAi is a GeoMatchConstraintValue enum value
12436	GeoMatchConstraintValueAi = "AI"
12437
12438	// GeoMatchConstraintValueAq is a GeoMatchConstraintValue enum value
12439	GeoMatchConstraintValueAq = "AQ"
12440
12441	// GeoMatchConstraintValueAg is a GeoMatchConstraintValue enum value
12442	GeoMatchConstraintValueAg = "AG"
12443
12444	// GeoMatchConstraintValueAr is a GeoMatchConstraintValue enum value
12445	GeoMatchConstraintValueAr = "AR"
12446
12447	// GeoMatchConstraintValueAm is a GeoMatchConstraintValue enum value
12448	GeoMatchConstraintValueAm = "AM"
12449
12450	// GeoMatchConstraintValueAw is a GeoMatchConstraintValue enum value
12451	GeoMatchConstraintValueAw = "AW"
12452
12453	// GeoMatchConstraintValueAu is a GeoMatchConstraintValue enum value
12454	GeoMatchConstraintValueAu = "AU"
12455
12456	// GeoMatchConstraintValueAt is a GeoMatchConstraintValue enum value
12457	GeoMatchConstraintValueAt = "AT"
12458
12459	// GeoMatchConstraintValueAz is a GeoMatchConstraintValue enum value
12460	GeoMatchConstraintValueAz = "AZ"
12461
12462	// GeoMatchConstraintValueBs is a GeoMatchConstraintValue enum value
12463	GeoMatchConstraintValueBs = "BS"
12464
12465	// GeoMatchConstraintValueBh is a GeoMatchConstraintValue enum value
12466	GeoMatchConstraintValueBh = "BH"
12467
12468	// GeoMatchConstraintValueBd is a GeoMatchConstraintValue enum value
12469	GeoMatchConstraintValueBd = "BD"
12470
12471	// GeoMatchConstraintValueBb is a GeoMatchConstraintValue enum value
12472	GeoMatchConstraintValueBb = "BB"
12473
12474	// GeoMatchConstraintValueBy is a GeoMatchConstraintValue enum value
12475	GeoMatchConstraintValueBy = "BY"
12476
12477	// GeoMatchConstraintValueBe is a GeoMatchConstraintValue enum value
12478	GeoMatchConstraintValueBe = "BE"
12479
12480	// GeoMatchConstraintValueBz is a GeoMatchConstraintValue enum value
12481	GeoMatchConstraintValueBz = "BZ"
12482
12483	// GeoMatchConstraintValueBj is a GeoMatchConstraintValue enum value
12484	GeoMatchConstraintValueBj = "BJ"
12485
12486	// GeoMatchConstraintValueBm is a GeoMatchConstraintValue enum value
12487	GeoMatchConstraintValueBm = "BM"
12488
12489	// GeoMatchConstraintValueBt is a GeoMatchConstraintValue enum value
12490	GeoMatchConstraintValueBt = "BT"
12491
12492	// GeoMatchConstraintValueBo is a GeoMatchConstraintValue enum value
12493	GeoMatchConstraintValueBo = "BO"
12494
12495	// GeoMatchConstraintValueBq is a GeoMatchConstraintValue enum value
12496	GeoMatchConstraintValueBq = "BQ"
12497
12498	// GeoMatchConstraintValueBa is a GeoMatchConstraintValue enum value
12499	GeoMatchConstraintValueBa = "BA"
12500
12501	// GeoMatchConstraintValueBw is a GeoMatchConstraintValue enum value
12502	GeoMatchConstraintValueBw = "BW"
12503
12504	// GeoMatchConstraintValueBv is a GeoMatchConstraintValue enum value
12505	GeoMatchConstraintValueBv = "BV"
12506
12507	// GeoMatchConstraintValueBr is a GeoMatchConstraintValue enum value
12508	GeoMatchConstraintValueBr = "BR"
12509
12510	// GeoMatchConstraintValueIo is a GeoMatchConstraintValue enum value
12511	GeoMatchConstraintValueIo = "IO"
12512
12513	// GeoMatchConstraintValueBn is a GeoMatchConstraintValue enum value
12514	GeoMatchConstraintValueBn = "BN"
12515
12516	// GeoMatchConstraintValueBg is a GeoMatchConstraintValue enum value
12517	GeoMatchConstraintValueBg = "BG"
12518
12519	// GeoMatchConstraintValueBf is a GeoMatchConstraintValue enum value
12520	GeoMatchConstraintValueBf = "BF"
12521
12522	// GeoMatchConstraintValueBi is a GeoMatchConstraintValue enum value
12523	GeoMatchConstraintValueBi = "BI"
12524
12525	// GeoMatchConstraintValueKh is a GeoMatchConstraintValue enum value
12526	GeoMatchConstraintValueKh = "KH"
12527
12528	// GeoMatchConstraintValueCm is a GeoMatchConstraintValue enum value
12529	GeoMatchConstraintValueCm = "CM"
12530
12531	// GeoMatchConstraintValueCa is a GeoMatchConstraintValue enum value
12532	GeoMatchConstraintValueCa = "CA"
12533
12534	// GeoMatchConstraintValueCv is a GeoMatchConstraintValue enum value
12535	GeoMatchConstraintValueCv = "CV"
12536
12537	// GeoMatchConstraintValueKy is a GeoMatchConstraintValue enum value
12538	GeoMatchConstraintValueKy = "KY"
12539
12540	// GeoMatchConstraintValueCf is a GeoMatchConstraintValue enum value
12541	GeoMatchConstraintValueCf = "CF"
12542
12543	// GeoMatchConstraintValueTd is a GeoMatchConstraintValue enum value
12544	GeoMatchConstraintValueTd = "TD"
12545
12546	// GeoMatchConstraintValueCl is a GeoMatchConstraintValue enum value
12547	GeoMatchConstraintValueCl = "CL"
12548
12549	// GeoMatchConstraintValueCn is a GeoMatchConstraintValue enum value
12550	GeoMatchConstraintValueCn = "CN"
12551
12552	// GeoMatchConstraintValueCx is a GeoMatchConstraintValue enum value
12553	GeoMatchConstraintValueCx = "CX"
12554
12555	// GeoMatchConstraintValueCc is a GeoMatchConstraintValue enum value
12556	GeoMatchConstraintValueCc = "CC"
12557
12558	// GeoMatchConstraintValueCo is a GeoMatchConstraintValue enum value
12559	GeoMatchConstraintValueCo = "CO"
12560
12561	// GeoMatchConstraintValueKm is a GeoMatchConstraintValue enum value
12562	GeoMatchConstraintValueKm = "KM"
12563
12564	// GeoMatchConstraintValueCg is a GeoMatchConstraintValue enum value
12565	GeoMatchConstraintValueCg = "CG"
12566
12567	// GeoMatchConstraintValueCd is a GeoMatchConstraintValue enum value
12568	GeoMatchConstraintValueCd = "CD"
12569
12570	// GeoMatchConstraintValueCk is a GeoMatchConstraintValue enum value
12571	GeoMatchConstraintValueCk = "CK"
12572
12573	// GeoMatchConstraintValueCr is a GeoMatchConstraintValue enum value
12574	GeoMatchConstraintValueCr = "CR"
12575
12576	// GeoMatchConstraintValueCi is a GeoMatchConstraintValue enum value
12577	GeoMatchConstraintValueCi = "CI"
12578
12579	// GeoMatchConstraintValueHr is a GeoMatchConstraintValue enum value
12580	GeoMatchConstraintValueHr = "HR"
12581
12582	// GeoMatchConstraintValueCu is a GeoMatchConstraintValue enum value
12583	GeoMatchConstraintValueCu = "CU"
12584
12585	// GeoMatchConstraintValueCw is a GeoMatchConstraintValue enum value
12586	GeoMatchConstraintValueCw = "CW"
12587
12588	// GeoMatchConstraintValueCy is a GeoMatchConstraintValue enum value
12589	GeoMatchConstraintValueCy = "CY"
12590
12591	// GeoMatchConstraintValueCz is a GeoMatchConstraintValue enum value
12592	GeoMatchConstraintValueCz = "CZ"
12593
12594	// GeoMatchConstraintValueDk is a GeoMatchConstraintValue enum value
12595	GeoMatchConstraintValueDk = "DK"
12596
12597	// GeoMatchConstraintValueDj is a GeoMatchConstraintValue enum value
12598	GeoMatchConstraintValueDj = "DJ"
12599
12600	// GeoMatchConstraintValueDm is a GeoMatchConstraintValue enum value
12601	GeoMatchConstraintValueDm = "DM"
12602
12603	// GeoMatchConstraintValueDo is a GeoMatchConstraintValue enum value
12604	GeoMatchConstraintValueDo = "DO"
12605
12606	// GeoMatchConstraintValueEc is a GeoMatchConstraintValue enum value
12607	GeoMatchConstraintValueEc = "EC"
12608
12609	// GeoMatchConstraintValueEg is a GeoMatchConstraintValue enum value
12610	GeoMatchConstraintValueEg = "EG"
12611
12612	// GeoMatchConstraintValueSv is a GeoMatchConstraintValue enum value
12613	GeoMatchConstraintValueSv = "SV"
12614
12615	// GeoMatchConstraintValueGq is a GeoMatchConstraintValue enum value
12616	GeoMatchConstraintValueGq = "GQ"
12617
12618	// GeoMatchConstraintValueEr is a GeoMatchConstraintValue enum value
12619	GeoMatchConstraintValueEr = "ER"
12620
12621	// GeoMatchConstraintValueEe is a GeoMatchConstraintValue enum value
12622	GeoMatchConstraintValueEe = "EE"
12623
12624	// GeoMatchConstraintValueEt is a GeoMatchConstraintValue enum value
12625	GeoMatchConstraintValueEt = "ET"
12626
12627	// GeoMatchConstraintValueFk is a GeoMatchConstraintValue enum value
12628	GeoMatchConstraintValueFk = "FK"
12629
12630	// GeoMatchConstraintValueFo is a GeoMatchConstraintValue enum value
12631	GeoMatchConstraintValueFo = "FO"
12632
12633	// GeoMatchConstraintValueFj is a GeoMatchConstraintValue enum value
12634	GeoMatchConstraintValueFj = "FJ"
12635
12636	// GeoMatchConstraintValueFi is a GeoMatchConstraintValue enum value
12637	GeoMatchConstraintValueFi = "FI"
12638
12639	// GeoMatchConstraintValueFr is a GeoMatchConstraintValue enum value
12640	GeoMatchConstraintValueFr = "FR"
12641
12642	// GeoMatchConstraintValueGf is a GeoMatchConstraintValue enum value
12643	GeoMatchConstraintValueGf = "GF"
12644
12645	// GeoMatchConstraintValuePf is a GeoMatchConstraintValue enum value
12646	GeoMatchConstraintValuePf = "PF"
12647
12648	// GeoMatchConstraintValueTf is a GeoMatchConstraintValue enum value
12649	GeoMatchConstraintValueTf = "TF"
12650
12651	// GeoMatchConstraintValueGa is a GeoMatchConstraintValue enum value
12652	GeoMatchConstraintValueGa = "GA"
12653
12654	// GeoMatchConstraintValueGm is a GeoMatchConstraintValue enum value
12655	GeoMatchConstraintValueGm = "GM"
12656
12657	// GeoMatchConstraintValueGe is a GeoMatchConstraintValue enum value
12658	GeoMatchConstraintValueGe = "GE"
12659
12660	// GeoMatchConstraintValueDe is a GeoMatchConstraintValue enum value
12661	GeoMatchConstraintValueDe = "DE"
12662
12663	// GeoMatchConstraintValueGh is a GeoMatchConstraintValue enum value
12664	GeoMatchConstraintValueGh = "GH"
12665
12666	// GeoMatchConstraintValueGi is a GeoMatchConstraintValue enum value
12667	GeoMatchConstraintValueGi = "GI"
12668
12669	// GeoMatchConstraintValueGr is a GeoMatchConstraintValue enum value
12670	GeoMatchConstraintValueGr = "GR"
12671
12672	// GeoMatchConstraintValueGl is a GeoMatchConstraintValue enum value
12673	GeoMatchConstraintValueGl = "GL"
12674
12675	// GeoMatchConstraintValueGd is a GeoMatchConstraintValue enum value
12676	GeoMatchConstraintValueGd = "GD"
12677
12678	// GeoMatchConstraintValueGp is a GeoMatchConstraintValue enum value
12679	GeoMatchConstraintValueGp = "GP"
12680
12681	// GeoMatchConstraintValueGu is a GeoMatchConstraintValue enum value
12682	GeoMatchConstraintValueGu = "GU"
12683
12684	// GeoMatchConstraintValueGt is a GeoMatchConstraintValue enum value
12685	GeoMatchConstraintValueGt = "GT"
12686
12687	// GeoMatchConstraintValueGg is a GeoMatchConstraintValue enum value
12688	GeoMatchConstraintValueGg = "GG"
12689
12690	// GeoMatchConstraintValueGn is a GeoMatchConstraintValue enum value
12691	GeoMatchConstraintValueGn = "GN"
12692
12693	// GeoMatchConstraintValueGw is a GeoMatchConstraintValue enum value
12694	GeoMatchConstraintValueGw = "GW"
12695
12696	// GeoMatchConstraintValueGy is a GeoMatchConstraintValue enum value
12697	GeoMatchConstraintValueGy = "GY"
12698
12699	// GeoMatchConstraintValueHt is a GeoMatchConstraintValue enum value
12700	GeoMatchConstraintValueHt = "HT"
12701
12702	// GeoMatchConstraintValueHm is a GeoMatchConstraintValue enum value
12703	GeoMatchConstraintValueHm = "HM"
12704
12705	// GeoMatchConstraintValueVa is a GeoMatchConstraintValue enum value
12706	GeoMatchConstraintValueVa = "VA"
12707
12708	// GeoMatchConstraintValueHn is a GeoMatchConstraintValue enum value
12709	GeoMatchConstraintValueHn = "HN"
12710
12711	// GeoMatchConstraintValueHk is a GeoMatchConstraintValue enum value
12712	GeoMatchConstraintValueHk = "HK"
12713
12714	// GeoMatchConstraintValueHu is a GeoMatchConstraintValue enum value
12715	GeoMatchConstraintValueHu = "HU"
12716
12717	// GeoMatchConstraintValueIs is a GeoMatchConstraintValue enum value
12718	GeoMatchConstraintValueIs = "IS"
12719
12720	// GeoMatchConstraintValueIn is a GeoMatchConstraintValue enum value
12721	GeoMatchConstraintValueIn = "IN"
12722
12723	// GeoMatchConstraintValueId is a GeoMatchConstraintValue enum value
12724	GeoMatchConstraintValueId = "ID"
12725
12726	// GeoMatchConstraintValueIr is a GeoMatchConstraintValue enum value
12727	GeoMatchConstraintValueIr = "IR"
12728
12729	// GeoMatchConstraintValueIq is a GeoMatchConstraintValue enum value
12730	GeoMatchConstraintValueIq = "IQ"
12731
12732	// GeoMatchConstraintValueIe is a GeoMatchConstraintValue enum value
12733	GeoMatchConstraintValueIe = "IE"
12734
12735	// GeoMatchConstraintValueIm is a GeoMatchConstraintValue enum value
12736	GeoMatchConstraintValueIm = "IM"
12737
12738	// GeoMatchConstraintValueIl is a GeoMatchConstraintValue enum value
12739	GeoMatchConstraintValueIl = "IL"
12740
12741	// GeoMatchConstraintValueIt is a GeoMatchConstraintValue enum value
12742	GeoMatchConstraintValueIt = "IT"
12743
12744	// GeoMatchConstraintValueJm is a GeoMatchConstraintValue enum value
12745	GeoMatchConstraintValueJm = "JM"
12746
12747	// GeoMatchConstraintValueJp is a GeoMatchConstraintValue enum value
12748	GeoMatchConstraintValueJp = "JP"
12749
12750	// GeoMatchConstraintValueJe is a GeoMatchConstraintValue enum value
12751	GeoMatchConstraintValueJe = "JE"
12752
12753	// GeoMatchConstraintValueJo is a GeoMatchConstraintValue enum value
12754	GeoMatchConstraintValueJo = "JO"
12755
12756	// GeoMatchConstraintValueKz is a GeoMatchConstraintValue enum value
12757	GeoMatchConstraintValueKz = "KZ"
12758
12759	// GeoMatchConstraintValueKe is a GeoMatchConstraintValue enum value
12760	GeoMatchConstraintValueKe = "KE"
12761
12762	// GeoMatchConstraintValueKi is a GeoMatchConstraintValue enum value
12763	GeoMatchConstraintValueKi = "KI"
12764
12765	// GeoMatchConstraintValueKp is a GeoMatchConstraintValue enum value
12766	GeoMatchConstraintValueKp = "KP"
12767
12768	// GeoMatchConstraintValueKr is a GeoMatchConstraintValue enum value
12769	GeoMatchConstraintValueKr = "KR"
12770
12771	// GeoMatchConstraintValueKw is a GeoMatchConstraintValue enum value
12772	GeoMatchConstraintValueKw = "KW"
12773
12774	// GeoMatchConstraintValueKg is a GeoMatchConstraintValue enum value
12775	GeoMatchConstraintValueKg = "KG"
12776
12777	// GeoMatchConstraintValueLa is a GeoMatchConstraintValue enum value
12778	GeoMatchConstraintValueLa = "LA"
12779
12780	// GeoMatchConstraintValueLv is a GeoMatchConstraintValue enum value
12781	GeoMatchConstraintValueLv = "LV"
12782
12783	// GeoMatchConstraintValueLb is a GeoMatchConstraintValue enum value
12784	GeoMatchConstraintValueLb = "LB"
12785
12786	// GeoMatchConstraintValueLs is a GeoMatchConstraintValue enum value
12787	GeoMatchConstraintValueLs = "LS"
12788
12789	// GeoMatchConstraintValueLr is a GeoMatchConstraintValue enum value
12790	GeoMatchConstraintValueLr = "LR"
12791
12792	// GeoMatchConstraintValueLy is a GeoMatchConstraintValue enum value
12793	GeoMatchConstraintValueLy = "LY"
12794
12795	// GeoMatchConstraintValueLi is a GeoMatchConstraintValue enum value
12796	GeoMatchConstraintValueLi = "LI"
12797
12798	// GeoMatchConstraintValueLt is a GeoMatchConstraintValue enum value
12799	GeoMatchConstraintValueLt = "LT"
12800
12801	// GeoMatchConstraintValueLu is a GeoMatchConstraintValue enum value
12802	GeoMatchConstraintValueLu = "LU"
12803
12804	// GeoMatchConstraintValueMo is a GeoMatchConstraintValue enum value
12805	GeoMatchConstraintValueMo = "MO"
12806
12807	// GeoMatchConstraintValueMk is a GeoMatchConstraintValue enum value
12808	GeoMatchConstraintValueMk = "MK"
12809
12810	// GeoMatchConstraintValueMg is a GeoMatchConstraintValue enum value
12811	GeoMatchConstraintValueMg = "MG"
12812
12813	// GeoMatchConstraintValueMw is a GeoMatchConstraintValue enum value
12814	GeoMatchConstraintValueMw = "MW"
12815
12816	// GeoMatchConstraintValueMy is a GeoMatchConstraintValue enum value
12817	GeoMatchConstraintValueMy = "MY"
12818
12819	// GeoMatchConstraintValueMv is a GeoMatchConstraintValue enum value
12820	GeoMatchConstraintValueMv = "MV"
12821
12822	// GeoMatchConstraintValueMl is a GeoMatchConstraintValue enum value
12823	GeoMatchConstraintValueMl = "ML"
12824
12825	// GeoMatchConstraintValueMt is a GeoMatchConstraintValue enum value
12826	GeoMatchConstraintValueMt = "MT"
12827
12828	// GeoMatchConstraintValueMh is a GeoMatchConstraintValue enum value
12829	GeoMatchConstraintValueMh = "MH"
12830
12831	// GeoMatchConstraintValueMq is a GeoMatchConstraintValue enum value
12832	GeoMatchConstraintValueMq = "MQ"
12833
12834	// GeoMatchConstraintValueMr is a GeoMatchConstraintValue enum value
12835	GeoMatchConstraintValueMr = "MR"
12836
12837	// GeoMatchConstraintValueMu is a GeoMatchConstraintValue enum value
12838	GeoMatchConstraintValueMu = "MU"
12839
12840	// GeoMatchConstraintValueYt is a GeoMatchConstraintValue enum value
12841	GeoMatchConstraintValueYt = "YT"
12842
12843	// GeoMatchConstraintValueMx is a GeoMatchConstraintValue enum value
12844	GeoMatchConstraintValueMx = "MX"
12845
12846	// GeoMatchConstraintValueFm is a GeoMatchConstraintValue enum value
12847	GeoMatchConstraintValueFm = "FM"
12848
12849	// GeoMatchConstraintValueMd is a GeoMatchConstraintValue enum value
12850	GeoMatchConstraintValueMd = "MD"
12851
12852	// GeoMatchConstraintValueMc is a GeoMatchConstraintValue enum value
12853	GeoMatchConstraintValueMc = "MC"
12854
12855	// GeoMatchConstraintValueMn is a GeoMatchConstraintValue enum value
12856	GeoMatchConstraintValueMn = "MN"
12857
12858	// GeoMatchConstraintValueMe is a GeoMatchConstraintValue enum value
12859	GeoMatchConstraintValueMe = "ME"
12860
12861	// GeoMatchConstraintValueMs is a GeoMatchConstraintValue enum value
12862	GeoMatchConstraintValueMs = "MS"
12863
12864	// GeoMatchConstraintValueMa is a GeoMatchConstraintValue enum value
12865	GeoMatchConstraintValueMa = "MA"
12866
12867	// GeoMatchConstraintValueMz is a GeoMatchConstraintValue enum value
12868	GeoMatchConstraintValueMz = "MZ"
12869
12870	// GeoMatchConstraintValueMm is a GeoMatchConstraintValue enum value
12871	GeoMatchConstraintValueMm = "MM"
12872
12873	// GeoMatchConstraintValueNa is a GeoMatchConstraintValue enum value
12874	GeoMatchConstraintValueNa = "NA"
12875
12876	// GeoMatchConstraintValueNr is a GeoMatchConstraintValue enum value
12877	GeoMatchConstraintValueNr = "NR"
12878
12879	// GeoMatchConstraintValueNp is a GeoMatchConstraintValue enum value
12880	GeoMatchConstraintValueNp = "NP"
12881
12882	// GeoMatchConstraintValueNl is a GeoMatchConstraintValue enum value
12883	GeoMatchConstraintValueNl = "NL"
12884
12885	// GeoMatchConstraintValueNc is a GeoMatchConstraintValue enum value
12886	GeoMatchConstraintValueNc = "NC"
12887
12888	// GeoMatchConstraintValueNz is a GeoMatchConstraintValue enum value
12889	GeoMatchConstraintValueNz = "NZ"
12890
12891	// GeoMatchConstraintValueNi is a GeoMatchConstraintValue enum value
12892	GeoMatchConstraintValueNi = "NI"
12893
12894	// GeoMatchConstraintValueNe is a GeoMatchConstraintValue enum value
12895	GeoMatchConstraintValueNe = "NE"
12896
12897	// GeoMatchConstraintValueNg is a GeoMatchConstraintValue enum value
12898	GeoMatchConstraintValueNg = "NG"
12899
12900	// GeoMatchConstraintValueNu is a GeoMatchConstraintValue enum value
12901	GeoMatchConstraintValueNu = "NU"
12902
12903	// GeoMatchConstraintValueNf is a GeoMatchConstraintValue enum value
12904	GeoMatchConstraintValueNf = "NF"
12905
12906	// GeoMatchConstraintValueMp is a GeoMatchConstraintValue enum value
12907	GeoMatchConstraintValueMp = "MP"
12908
12909	// GeoMatchConstraintValueNo is a GeoMatchConstraintValue enum value
12910	GeoMatchConstraintValueNo = "NO"
12911
12912	// GeoMatchConstraintValueOm is a GeoMatchConstraintValue enum value
12913	GeoMatchConstraintValueOm = "OM"
12914
12915	// GeoMatchConstraintValuePk is a GeoMatchConstraintValue enum value
12916	GeoMatchConstraintValuePk = "PK"
12917
12918	// GeoMatchConstraintValuePw is a GeoMatchConstraintValue enum value
12919	GeoMatchConstraintValuePw = "PW"
12920
12921	// GeoMatchConstraintValuePs is a GeoMatchConstraintValue enum value
12922	GeoMatchConstraintValuePs = "PS"
12923
12924	// GeoMatchConstraintValuePa is a GeoMatchConstraintValue enum value
12925	GeoMatchConstraintValuePa = "PA"
12926
12927	// GeoMatchConstraintValuePg is a GeoMatchConstraintValue enum value
12928	GeoMatchConstraintValuePg = "PG"
12929
12930	// GeoMatchConstraintValuePy is a GeoMatchConstraintValue enum value
12931	GeoMatchConstraintValuePy = "PY"
12932
12933	// GeoMatchConstraintValuePe is a GeoMatchConstraintValue enum value
12934	GeoMatchConstraintValuePe = "PE"
12935
12936	// GeoMatchConstraintValuePh is a GeoMatchConstraintValue enum value
12937	GeoMatchConstraintValuePh = "PH"
12938
12939	// GeoMatchConstraintValuePn is a GeoMatchConstraintValue enum value
12940	GeoMatchConstraintValuePn = "PN"
12941
12942	// GeoMatchConstraintValuePl is a GeoMatchConstraintValue enum value
12943	GeoMatchConstraintValuePl = "PL"
12944
12945	// GeoMatchConstraintValuePt is a GeoMatchConstraintValue enum value
12946	GeoMatchConstraintValuePt = "PT"
12947
12948	// GeoMatchConstraintValuePr is a GeoMatchConstraintValue enum value
12949	GeoMatchConstraintValuePr = "PR"
12950
12951	// GeoMatchConstraintValueQa is a GeoMatchConstraintValue enum value
12952	GeoMatchConstraintValueQa = "QA"
12953
12954	// GeoMatchConstraintValueRe is a GeoMatchConstraintValue enum value
12955	GeoMatchConstraintValueRe = "RE"
12956
12957	// GeoMatchConstraintValueRo is a GeoMatchConstraintValue enum value
12958	GeoMatchConstraintValueRo = "RO"
12959
12960	// GeoMatchConstraintValueRu is a GeoMatchConstraintValue enum value
12961	GeoMatchConstraintValueRu = "RU"
12962
12963	// GeoMatchConstraintValueRw is a GeoMatchConstraintValue enum value
12964	GeoMatchConstraintValueRw = "RW"
12965
12966	// GeoMatchConstraintValueBl is a GeoMatchConstraintValue enum value
12967	GeoMatchConstraintValueBl = "BL"
12968
12969	// GeoMatchConstraintValueSh is a GeoMatchConstraintValue enum value
12970	GeoMatchConstraintValueSh = "SH"
12971
12972	// GeoMatchConstraintValueKn is a GeoMatchConstraintValue enum value
12973	GeoMatchConstraintValueKn = "KN"
12974
12975	// GeoMatchConstraintValueLc is a GeoMatchConstraintValue enum value
12976	GeoMatchConstraintValueLc = "LC"
12977
12978	// GeoMatchConstraintValueMf is a GeoMatchConstraintValue enum value
12979	GeoMatchConstraintValueMf = "MF"
12980
12981	// GeoMatchConstraintValuePm is a GeoMatchConstraintValue enum value
12982	GeoMatchConstraintValuePm = "PM"
12983
12984	// GeoMatchConstraintValueVc is a GeoMatchConstraintValue enum value
12985	GeoMatchConstraintValueVc = "VC"
12986
12987	// GeoMatchConstraintValueWs is a GeoMatchConstraintValue enum value
12988	GeoMatchConstraintValueWs = "WS"
12989
12990	// GeoMatchConstraintValueSm is a GeoMatchConstraintValue enum value
12991	GeoMatchConstraintValueSm = "SM"
12992
12993	// GeoMatchConstraintValueSt is a GeoMatchConstraintValue enum value
12994	GeoMatchConstraintValueSt = "ST"
12995
12996	// GeoMatchConstraintValueSa is a GeoMatchConstraintValue enum value
12997	GeoMatchConstraintValueSa = "SA"
12998
12999	// GeoMatchConstraintValueSn is a GeoMatchConstraintValue enum value
13000	GeoMatchConstraintValueSn = "SN"
13001
13002	// GeoMatchConstraintValueRs is a GeoMatchConstraintValue enum value
13003	GeoMatchConstraintValueRs = "RS"
13004
13005	// GeoMatchConstraintValueSc is a GeoMatchConstraintValue enum value
13006	GeoMatchConstraintValueSc = "SC"
13007
13008	// GeoMatchConstraintValueSl is a GeoMatchConstraintValue enum value
13009	GeoMatchConstraintValueSl = "SL"
13010
13011	// GeoMatchConstraintValueSg is a GeoMatchConstraintValue enum value
13012	GeoMatchConstraintValueSg = "SG"
13013
13014	// GeoMatchConstraintValueSx is a GeoMatchConstraintValue enum value
13015	GeoMatchConstraintValueSx = "SX"
13016
13017	// GeoMatchConstraintValueSk is a GeoMatchConstraintValue enum value
13018	GeoMatchConstraintValueSk = "SK"
13019
13020	// GeoMatchConstraintValueSi is a GeoMatchConstraintValue enum value
13021	GeoMatchConstraintValueSi = "SI"
13022
13023	// GeoMatchConstraintValueSb is a GeoMatchConstraintValue enum value
13024	GeoMatchConstraintValueSb = "SB"
13025
13026	// GeoMatchConstraintValueSo is a GeoMatchConstraintValue enum value
13027	GeoMatchConstraintValueSo = "SO"
13028
13029	// GeoMatchConstraintValueZa is a GeoMatchConstraintValue enum value
13030	GeoMatchConstraintValueZa = "ZA"
13031
13032	// GeoMatchConstraintValueGs is a GeoMatchConstraintValue enum value
13033	GeoMatchConstraintValueGs = "GS"
13034
13035	// GeoMatchConstraintValueSs is a GeoMatchConstraintValue enum value
13036	GeoMatchConstraintValueSs = "SS"
13037
13038	// GeoMatchConstraintValueEs is a GeoMatchConstraintValue enum value
13039	GeoMatchConstraintValueEs = "ES"
13040
13041	// GeoMatchConstraintValueLk is a GeoMatchConstraintValue enum value
13042	GeoMatchConstraintValueLk = "LK"
13043
13044	// GeoMatchConstraintValueSd is a GeoMatchConstraintValue enum value
13045	GeoMatchConstraintValueSd = "SD"
13046
13047	// GeoMatchConstraintValueSr is a GeoMatchConstraintValue enum value
13048	GeoMatchConstraintValueSr = "SR"
13049
13050	// GeoMatchConstraintValueSj is a GeoMatchConstraintValue enum value
13051	GeoMatchConstraintValueSj = "SJ"
13052
13053	// GeoMatchConstraintValueSz is a GeoMatchConstraintValue enum value
13054	GeoMatchConstraintValueSz = "SZ"
13055
13056	// GeoMatchConstraintValueSe is a GeoMatchConstraintValue enum value
13057	GeoMatchConstraintValueSe = "SE"
13058
13059	// GeoMatchConstraintValueCh is a GeoMatchConstraintValue enum value
13060	GeoMatchConstraintValueCh = "CH"
13061
13062	// GeoMatchConstraintValueSy is a GeoMatchConstraintValue enum value
13063	GeoMatchConstraintValueSy = "SY"
13064
13065	// GeoMatchConstraintValueTw is a GeoMatchConstraintValue enum value
13066	GeoMatchConstraintValueTw = "TW"
13067
13068	// GeoMatchConstraintValueTj is a GeoMatchConstraintValue enum value
13069	GeoMatchConstraintValueTj = "TJ"
13070
13071	// GeoMatchConstraintValueTz is a GeoMatchConstraintValue enum value
13072	GeoMatchConstraintValueTz = "TZ"
13073
13074	// GeoMatchConstraintValueTh is a GeoMatchConstraintValue enum value
13075	GeoMatchConstraintValueTh = "TH"
13076
13077	// GeoMatchConstraintValueTl is a GeoMatchConstraintValue enum value
13078	GeoMatchConstraintValueTl = "TL"
13079
13080	// GeoMatchConstraintValueTg is a GeoMatchConstraintValue enum value
13081	GeoMatchConstraintValueTg = "TG"
13082
13083	// GeoMatchConstraintValueTk is a GeoMatchConstraintValue enum value
13084	GeoMatchConstraintValueTk = "TK"
13085
13086	// GeoMatchConstraintValueTo is a GeoMatchConstraintValue enum value
13087	GeoMatchConstraintValueTo = "TO"
13088
13089	// GeoMatchConstraintValueTt is a GeoMatchConstraintValue enum value
13090	GeoMatchConstraintValueTt = "TT"
13091
13092	// GeoMatchConstraintValueTn is a GeoMatchConstraintValue enum value
13093	GeoMatchConstraintValueTn = "TN"
13094
13095	// GeoMatchConstraintValueTr is a GeoMatchConstraintValue enum value
13096	GeoMatchConstraintValueTr = "TR"
13097
13098	// GeoMatchConstraintValueTm is a GeoMatchConstraintValue enum value
13099	GeoMatchConstraintValueTm = "TM"
13100
13101	// GeoMatchConstraintValueTc is a GeoMatchConstraintValue enum value
13102	GeoMatchConstraintValueTc = "TC"
13103
13104	// GeoMatchConstraintValueTv is a GeoMatchConstraintValue enum value
13105	GeoMatchConstraintValueTv = "TV"
13106
13107	// GeoMatchConstraintValueUg is a GeoMatchConstraintValue enum value
13108	GeoMatchConstraintValueUg = "UG"
13109
13110	// GeoMatchConstraintValueUa is a GeoMatchConstraintValue enum value
13111	GeoMatchConstraintValueUa = "UA"
13112
13113	// GeoMatchConstraintValueAe is a GeoMatchConstraintValue enum value
13114	GeoMatchConstraintValueAe = "AE"
13115
13116	// GeoMatchConstraintValueGb is a GeoMatchConstraintValue enum value
13117	GeoMatchConstraintValueGb = "GB"
13118
13119	// GeoMatchConstraintValueUs is a GeoMatchConstraintValue enum value
13120	GeoMatchConstraintValueUs = "US"
13121
13122	// GeoMatchConstraintValueUm is a GeoMatchConstraintValue enum value
13123	GeoMatchConstraintValueUm = "UM"
13124
13125	// GeoMatchConstraintValueUy is a GeoMatchConstraintValue enum value
13126	GeoMatchConstraintValueUy = "UY"
13127
13128	// GeoMatchConstraintValueUz is a GeoMatchConstraintValue enum value
13129	GeoMatchConstraintValueUz = "UZ"
13130
13131	// GeoMatchConstraintValueVu is a GeoMatchConstraintValue enum value
13132	GeoMatchConstraintValueVu = "VU"
13133
13134	// GeoMatchConstraintValueVe is a GeoMatchConstraintValue enum value
13135	GeoMatchConstraintValueVe = "VE"
13136
13137	// GeoMatchConstraintValueVn is a GeoMatchConstraintValue enum value
13138	GeoMatchConstraintValueVn = "VN"
13139
13140	// GeoMatchConstraintValueVg is a GeoMatchConstraintValue enum value
13141	GeoMatchConstraintValueVg = "VG"
13142
13143	// GeoMatchConstraintValueVi is a GeoMatchConstraintValue enum value
13144	GeoMatchConstraintValueVi = "VI"
13145
13146	// GeoMatchConstraintValueWf is a GeoMatchConstraintValue enum value
13147	GeoMatchConstraintValueWf = "WF"
13148
13149	// GeoMatchConstraintValueEh is a GeoMatchConstraintValue enum value
13150	GeoMatchConstraintValueEh = "EH"
13151
13152	// GeoMatchConstraintValueYe is a GeoMatchConstraintValue enum value
13153	GeoMatchConstraintValueYe = "YE"
13154
13155	// GeoMatchConstraintValueZm is a GeoMatchConstraintValue enum value
13156	GeoMatchConstraintValueZm = "ZM"
13157
13158	// GeoMatchConstraintValueZw is a GeoMatchConstraintValue enum value
13159	GeoMatchConstraintValueZw = "ZW"
13160)
13161
13162// GeoMatchConstraintValue_Values returns all elements of the GeoMatchConstraintValue enum
13163func GeoMatchConstraintValue_Values() []string {
13164	return []string{
13165		GeoMatchConstraintValueAf,
13166		GeoMatchConstraintValueAx,
13167		GeoMatchConstraintValueAl,
13168		GeoMatchConstraintValueDz,
13169		GeoMatchConstraintValueAs,
13170		GeoMatchConstraintValueAd,
13171		GeoMatchConstraintValueAo,
13172		GeoMatchConstraintValueAi,
13173		GeoMatchConstraintValueAq,
13174		GeoMatchConstraintValueAg,
13175		GeoMatchConstraintValueAr,
13176		GeoMatchConstraintValueAm,
13177		GeoMatchConstraintValueAw,
13178		GeoMatchConstraintValueAu,
13179		GeoMatchConstraintValueAt,
13180		GeoMatchConstraintValueAz,
13181		GeoMatchConstraintValueBs,
13182		GeoMatchConstraintValueBh,
13183		GeoMatchConstraintValueBd,
13184		GeoMatchConstraintValueBb,
13185		GeoMatchConstraintValueBy,
13186		GeoMatchConstraintValueBe,
13187		GeoMatchConstraintValueBz,
13188		GeoMatchConstraintValueBj,
13189		GeoMatchConstraintValueBm,
13190		GeoMatchConstraintValueBt,
13191		GeoMatchConstraintValueBo,
13192		GeoMatchConstraintValueBq,
13193		GeoMatchConstraintValueBa,
13194		GeoMatchConstraintValueBw,
13195		GeoMatchConstraintValueBv,
13196		GeoMatchConstraintValueBr,
13197		GeoMatchConstraintValueIo,
13198		GeoMatchConstraintValueBn,
13199		GeoMatchConstraintValueBg,
13200		GeoMatchConstraintValueBf,
13201		GeoMatchConstraintValueBi,
13202		GeoMatchConstraintValueKh,
13203		GeoMatchConstraintValueCm,
13204		GeoMatchConstraintValueCa,
13205		GeoMatchConstraintValueCv,
13206		GeoMatchConstraintValueKy,
13207		GeoMatchConstraintValueCf,
13208		GeoMatchConstraintValueTd,
13209		GeoMatchConstraintValueCl,
13210		GeoMatchConstraintValueCn,
13211		GeoMatchConstraintValueCx,
13212		GeoMatchConstraintValueCc,
13213		GeoMatchConstraintValueCo,
13214		GeoMatchConstraintValueKm,
13215		GeoMatchConstraintValueCg,
13216		GeoMatchConstraintValueCd,
13217		GeoMatchConstraintValueCk,
13218		GeoMatchConstraintValueCr,
13219		GeoMatchConstraintValueCi,
13220		GeoMatchConstraintValueHr,
13221		GeoMatchConstraintValueCu,
13222		GeoMatchConstraintValueCw,
13223		GeoMatchConstraintValueCy,
13224		GeoMatchConstraintValueCz,
13225		GeoMatchConstraintValueDk,
13226		GeoMatchConstraintValueDj,
13227		GeoMatchConstraintValueDm,
13228		GeoMatchConstraintValueDo,
13229		GeoMatchConstraintValueEc,
13230		GeoMatchConstraintValueEg,
13231		GeoMatchConstraintValueSv,
13232		GeoMatchConstraintValueGq,
13233		GeoMatchConstraintValueEr,
13234		GeoMatchConstraintValueEe,
13235		GeoMatchConstraintValueEt,
13236		GeoMatchConstraintValueFk,
13237		GeoMatchConstraintValueFo,
13238		GeoMatchConstraintValueFj,
13239		GeoMatchConstraintValueFi,
13240		GeoMatchConstraintValueFr,
13241		GeoMatchConstraintValueGf,
13242		GeoMatchConstraintValuePf,
13243		GeoMatchConstraintValueTf,
13244		GeoMatchConstraintValueGa,
13245		GeoMatchConstraintValueGm,
13246		GeoMatchConstraintValueGe,
13247		GeoMatchConstraintValueDe,
13248		GeoMatchConstraintValueGh,
13249		GeoMatchConstraintValueGi,
13250		GeoMatchConstraintValueGr,
13251		GeoMatchConstraintValueGl,
13252		GeoMatchConstraintValueGd,
13253		GeoMatchConstraintValueGp,
13254		GeoMatchConstraintValueGu,
13255		GeoMatchConstraintValueGt,
13256		GeoMatchConstraintValueGg,
13257		GeoMatchConstraintValueGn,
13258		GeoMatchConstraintValueGw,
13259		GeoMatchConstraintValueGy,
13260		GeoMatchConstraintValueHt,
13261		GeoMatchConstraintValueHm,
13262		GeoMatchConstraintValueVa,
13263		GeoMatchConstraintValueHn,
13264		GeoMatchConstraintValueHk,
13265		GeoMatchConstraintValueHu,
13266		GeoMatchConstraintValueIs,
13267		GeoMatchConstraintValueIn,
13268		GeoMatchConstraintValueId,
13269		GeoMatchConstraintValueIr,
13270		GeoMatchConstraintValueIq,
13271		GeoMatchConstraintValueIe,
13272		GeoMatchConstraintValueIm,
13273		GeoMatchConstraintValueIl,
13274		GeoMatchConstraintValueIt,
13275		GeoMatchConstraintValueJm,
13276		GeoMatchConstraintValueJp,
13277		GeoMatchConstraintValueJe,
13278		GeoMatchConstraintValueJo,
13279		GeoMatchConstraintValueKz,
13280		GeoMatchConstraintValueKe,
13281		GeoMatchConstraintValueKi,
13282		GeoMatchConstraintValueKp,
13283		GeoMatchConstraintValueKr,
13284		GeoMatchConstraintValueKw,
13285		GeoMatchConstraintValueKg,
13286		GeoMatchConstraintValueLa,
13287		GeoMatchConstraintValueLv,
13288		GeoMatchConstraintValueLb,
13289		GeoMatchConstraintValueLs,
13290		GeoMatchConstraintValueLr,
13291		GeoMatchConstraintValueLy,
13292		GeoMatchConstraintValueLi,
13293		GeoMatchConstraintValueLt,
13294		GeoMatchConstraintValueLu,
13295		GeoMatchConstraintValueMo,
13296		GeoMatchConstraintValueMk,
13297		GeoMatchConstraintValueMg,
13298		GeoMatchConstraintValueMw,
13299		GeoMatchConstraintValueMy,
13300		GeoMatchConstraintValueMv,
13301		GeoMatchConstraintValueMl,
13302		GeoMatchConstraintValueMt,
13303		GeoMatchConstraintValueMh,
13304		GeoMatchConstraintValueMq,
13305		GeoMatchConstraintValueMr,
13306		GeoMatchConstraintValueMu,
13307		GeoMatchConstraintValueYt,
13308		GeoMatchConstraintValueMx,
13309		GeoMatchConstraintValueFm,
13310		GeoMatchConstraintValueMd,
13311		GeoMatchConstraintValueMc,
13312		GeoMatchConstraintValueMn,
13313		GeoMatchConstraintValueMe,
13314		GeoMatchConstraintValueMs,
13315		GeoMatchConstraintValueMa,
13316		GeoMatchConstraintValueMz,
13317		GeoMatchConstraintValueMm,
13318		GeoMatchConstraintValueNa,
13319		GeoMatchConstraintValueNr,
13320		GeoMatchConstraintValueNp,
13321		GeoMatchConstraintValueNl,
13322		GeoMatchConstraintValueNc,
13323		GeoMatchConstraintValueNz,
13324		GeoMatchConstraintValueNi,
13325		GeoMatchConstraintValueNe,
13326		GeoMatchConstraintValueNg,
13327		GeoMatchConstraintValueNu,
13328		GeoMatchConstraintValueNf,
13329		GeoMatchConstraintValueMp,
13330		GeoMatchConstraintValueNo,
13331		GeoMatchConstraintValueOm,
13332		GeoMatchConstraintValuePk,
13333		GeoMatchConstraintValuePw,
13334		GeoMatchConstraintValuePs,
13335		GeoMatchConstraintValuePa,
13336		GeoMatchConstraintValuePg,
13337		GeoMatchConstraintValuePy,
13338		GeoMatchConstraintValuePe,
13339		GeoMatchConstraintValuePh,
13340		GeoMatchConstraintValuePn,
13341		GeoMatchConstraintValuePl,
13342		GeoMatchConstraintValuePt,
13343		GeoMatchConstraintValuePr,
13344		GeoMatchConstraintValueQa,
13345		GeoMatchConstraintValueRe,
13346		GeoMatchConstraintValueRo,
13347		GeoMatchConstraintValueRu,
13348		GeoMatchConstraintValueRw,
13349		GeoMatchConstraintValueBl,
13350		GeoMatchConstraintValueSh,
13351		GeoMatchConstraintValueKn,
13352		GeoMatchConstraintValueLc,
13353		GeoMatchConstraintValueMf,
13354		GeoMatchConstraintValuePm,
13355		GeoMatchConstraintValueVc,
13356		GeoMatchConstraintValueWs,
13357		GeoMatchConstraintValueSm,
13358		GeoMatchConstraintValueSt,
13359		GeoMatchConstraintValueSa,
13360		GeoMatchConstraintValueSn,
13361		GeoMatchConstraintValueRs,
13362		GeoMatchConstraintValueSc,
13363		GeoMatchConstraintValueSl,
13364		GeoMatchConstraintValueSg,
13365		GeoMatchConstraintValueSx,
13366		GeoMatchConstraintValueSk,
13367		GeoMatchConstraintValueSi,
13368		GeoMatchConstraintValueSb,
13369		GeoMatchConstraintValueSo,
13370		GeoMatchConstraintValueZa,
13371		GeoMatchConstraintValueGs,
13372		GeoMatchConstraintValueSs,
13373		GeoMatchConstraintValueEs,
13374		GeoMatchConstraintValueLk,
13375		GeoMatchConstraintValueSd,
13376		GeoMatchConstraintValueSr,
13377		GeoMatchConstraintValueSj,
13378		GeoMatchConstraintValueSz,
13379		GeoMatchConstraintValueSe,
13380		GeoMatchConstraintValueCh,
13381		GeoMatchConstraintValueSy,
13382		GeoMatchConstraintValueTw,
13383		GeoMatchConstraintValueTj,
13384		GeoMatchConstraintValueTz,
13385		GeoMatchConstraintValueTh,
13386		GeoMatchConstraintValueTl,
13387		GeoMatchConstraintValueTg,
13388		GeoMatchConstraintValueTk,
13389		GeoMatchConstraintValueTo,
13390		GeoMatchConstraintValueTt,
13391		GeoMatchConstraintValueTn,
13392		GeoMatchConstraintValueTr,
13393		GeoMatchConstraintValueTm,
13394		GeoMatchConstraintValueTc,
13395		GeoMatchConstraintValueTv,
13396		GeoMatchConstraintValueUg,
13397		GeoMatchConstraintValueUa,
13398		GeoMatchConstraintValueAe,
13399		GeoMatchConstraintValueGb,
13400		GeoMatchConstraintValueUs,
13401		GeoMatchConstraintValueUm,
13402		GeoMatchConstraintValueUy,
13403		GeoMatchConstraintValueUz,
13404		GeoMatchConstraintValueVu,
13405		GeoMatchConstraintValueVe,
13406		GeoMatchConstraintValueVn,
13407		GeoMatchConstraintValueVg,
13408		GeoMatchConstraintValueVi,
13409		GeoMatchConstraintValueWf,
13410		GeoMatchConstraintValueEh,
13411		GeoMatchConstraintValueYe,
13412		GeoMatchConstraintValueZm,
13413		GeoMatchConstraintValueZw,
13414	}
13415}
13416
13417const (
13418	// IPSetDescriptorTypeIpv4 is a IPSetDescriptorType enum value
13419	IPSetDescriptorTypeIpv4 = "IPV4"
13420
13421	// IPSetDescriptorTypeIpv6 is a IPSetDescriptorType enum value
13422	IPSetDescriptorTypeIpv6 = "IPV6"
13423)
13424
13425// IPSetDescriptorType_Values returns all elements of the IPSetDescriptorType enum
13426func IPSetDescriptorType_Values() []string {
13427	return []string{
13428		IPSetDescriptorTypeIpv4,
13429		IPSetDescriptorTypeIpv6,
13430	}
13431}
13432
13433const (
13434	// MatchFieldTypeUri is a MatchFieldType enum value
13435	MatchFieldTypeUri = "URI"
13436
13437	// MatchFieldTypeQueryString is a MatchFieldType enum value
13438	MatchFieldTypeQueryString = "QUERY_STRING"
13439
13440	// MatchFieldTypeHeader is a MatchFieldType enum value
13441	MatchFieldTypeHeader = "HEADER"
13442
13443	// MatchFieldTypeMethod is a MatchFieldType enum value
13444	MatchFieldTypeMethod = "METHOD"
13445
13446	// MatchFieldTypeBody is a MatchFieldType enum value
13447	MatchFieldTypeBody = "BODY"
13448
13449	// MatchFieldTypeSingleQueryArg is a MatchFieldType enum value
13450	MatchFieldTypeSingleQueryArg = "SINGLE_QUERY_ARG"
13451
13452	// MatchFieldTypeAllQueryArgs is a MatchFieldType enum value
13453	MatchFieldTypeAllQueryArgs = "ALL_QUERY_ARGS"
13454)
13455
13456// MatchFieldType_Values returns all elements of the MatchFieldType enum
13457func MatchFieldType_Values() []string {
13458	return []string{
13459		MatchFieldTypeUri,
13460		MatchFieldTypeQueryString,
13461		MatchFieldTypeHeader,
13462		MatchFieldTypeMethod,
13463		MatchFieldTypeBody,
13464		MatchFieldTypeSingleQueryArg,
13465		MatchFieldTypeAllQueryArgs,
13466	}
13467}
13468
13469const (
13470	// MigrationErrorTypeEntityNotSupported is a MigrationErrorType enum value
13471	MigrationErrorTypeEntityNotSupported = "ENTITY_NOT_SUPPORTED"
13472
13473	// MigrationErrorTypeEntityNotFound is a MigrationErrorType enum value
13474	MigrationErrorTypeEntityNotFound = "ENTITY_NOT_FOUND"
13475
13476	// MigrationErrorTypeS3BucketNoPermission is a MigrationErrorType enum value
13477	MigrationErrorTypeS3BucketNoPermission = "S3_BUCKET_NO_PERMISSION"
13478
13479	// MigrationErrorTypeS3BucketNotAccessible is a MigrationErrorType enum value
13480	MigrationErrorTypeS3BucketNotAccessible = "S3_BUCKET_NOT_ACCESSIBLE"
13481
13482	// MigrationErrorTypeS3BucketNotFound is a MigrationErrorType enum value
13483	MigrationErrorTypeS3BucketNotFound = "S3_BUCKET_NOT_FOUND"
13484
13485	// MigrationErrorTypeS3BucketInvalidRegion is a MigrationErrorType enum value
13486	MigrationErrorTypeS3BucketInvalidRegion = "S3_BUCKET_INVALID_REGION"
13487
13488	// MigrationErrorTypeS3InternalError is a MigrationErrorType enum value
13489	MigrationErrorTypeS3InternalError = "S3_INTERNAL_ERROR"
13490)
13491
13492// MigrationErrorType_Values returns all elements of the MigrationErrorType enum
13493func MigrationErrorType_Values() []string {
13494	return []string{
13495		MigrationErrorTypeEntityNotSupported,
13496		MigrationErrorTypeEntityNotFound,
13497		MigrationErrorTypeS3BucketNoPermission,
13498		MigrationErrorTypeS3BucketNotAccessible,
13499		MigrationErrorTypeS3BucketNotFound,
13500		MigrationErrorTypeS3BucketInvalidRegion,
13501		MigrationErrorTypeS3InternalError,
13502	}
13503}
13504
13505const (
13506	// ParameterExceptionFieldChangeAction is a ParameterExceptionField enum value
13507	ParameterExceptionFieldChangeAction = "CHANGE_ACTION"
13508
13509	// ParameterExceptionFieldWafAction is a ParameterExceptionField enum value
13510	ParameterExceptionFieldWafAction = "WAF_ACTION"
13511
13512	// ParameterExceptionFieldWafOverrideAction is a ParameterExceptionField enum value
13513	ParameterExceptionFieldWafOverrideAction = "WAF_OVERRIDE_ACTION"
13514
13515	// ParameterExceptionFieldPredicateType is a ParameterExceptionField enum value
13516	ParameterExceptionFieldPredicateType = "PREDICATE_TYPE"
13517
13518	// ParameterExceptionFieldIpsetType is a ParameterExceptionField enum value
13519	ParameterExceptionFieldIpsetType = "IPSET_TYPE"
13520
13521	// ParameterExceptionFieldByteMatchFieldType is a ParameterExceptionField enum value
13522	ParameterExceptionFieldByteMatchFieldType = "BYTE_MATCH_FIELD_TYPE"
13523
13524	// ParameterExceptionFieldSqlInjectionMatchFieldType is a ParameterExceptionField enum value
13525	ParameterExceptionFieldSqlInjectionMatchFieldType = "SQL_INJECTION_MATCH_FIELD_TYPE"
13526
13527	// ParameterExceptionFieldByteMatchTextTransformation is a ParameterExceptionField enum value
13528	ParameterExceptionFieldByteMatchTextTransformation = "BYTE_MATCH_TEXT_TRANSFORMATION"
13529
13530	// ParameterExceptionFieldByteMatchPositionalConstraint is a ParameterExceptionField enum value
13531	ParameterExceptionFieldByteMatchPositionalConstraint = "BYTE_MATCH_POSITIONAL_CONSTRAINT"
13532
13533	// ParameterExceptionFieldSizeConstraintComparisonOperator is a ParameterExceptionField enum value
13534	ParameterExceptionFieldSizeConstraintComparisonOperator = "SIZE_CONSTRAINT_COMPARISON_OPERATOR"
13535
13536	// ParameterExceptionFieldGeoMatchLocationType is a ParameterExceptionField enum value
13537	ParameterExceptionFieldGeoMatchLocationType = "GEO_MATCH_LOCATION_TYPE"
13538
13539	// ParameterExceptionFieldGeoMatchLocationValue is a ParameterExceptionField enum value
13540	ParameterExceptionFieldGeoMatchLocationValue = "GEO_MATCH_LOCATION_VALUE"
13541
13542	// ParameterExceptionFieldRateKey is a ParameterExceptionField enum value
13543	ParameterExceptionFieldRateKey = "RATE_KEY"
13544
13545	// ParameterExceptionFieldRuleType is a ParameterExceptionField enum value
13546	ParameterExceptionFieldRuleType = "RULE_TYPE"
13547
13548	// ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value
13549	ParameterExceptionFieldNextMarker = "NEXT_MARKER"
13550
13551	// ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value
13552	ParameterExceptionFieldResourceArn = "RESOURCE_ARN"
13553
13554	// ParameterExceptionFieldTags is a ParameterExceptionField enum value
13555	ParameterExceptionFieldTags = "TAGS"
13556
13557	// ParameterExceptionFieldTagKeys is a ParameterExceptionField enum value
13558	ParameterExceptionFieldTagKeys = "TAG_KEYS"
13559)
13560
13561// ParameterExceptionField_Values returns all elements of the ParameterExceptionField enum
13562func ParameterExceptionField_Values() []string {
13563	return []string{
13564		ParameterExceptionFieldChangeAction,
13565		ParameterExceptionFieldWafAction,
13566		ParameterExceptionFieldWafOverrideAction,
13567		ParameterExceptionFieldPredicateType,
13568		ParameterExceptionFieldIpsetType,
13569		ParameterExceptionFieldByteMatchFieldType,
13570		ParameterExceptionFieldSqlInjectionMatchFieldType,
13571		ParameterExceptionFieldByteMatchTextTransformation,
13572		ParameterExceptionFieldByteMatchPositionalConstraint,
13573		ParameterExceptionFieldSizeConstraintComparisonOperator,
13574		ParameterExceptionFieldGeoMatchLocationType,
13575		ParameterExceptionFieldGeoMatchLocationValue,
13576		ParameterExceptionFieldRateKey,
13577		ParameterExceptionFieldRuleType,
13578		ParameterExceptionFieldNextMarker,
13579		ParameterExceptionFieldResourceArn,
13580		ParameterExceptionFieldTags,
13581		ParameterExceptionFieldTagKeys,
13582	}
13583}
13584
13585const (
13586	// ParameterExceptionReasonInvalidOption is a ParameterExceptionReason enum value
13587	ParameterExceptionReasonInvalidOption = "INVALID_OPTION"
13588
13589	// ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value
13590	ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION"
13591
13592	// ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value
13593	ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT"
13594
13595	// ParameterExceptionReasonInvalidTagKey is a ParameterExceptionReason enum value
13596	ParameterExceptionReasonInvalidTagKey = "INVALID_TAG_KEY"
13597)
13598
13599// ParameterExceptionReason_Values returns all elements of the ParameterExceptionReason enum
13600func ParameterExceptionReason_Values() []string {
13601	return []string{
13602		ParameterExceptionReasonInvalidOption,
13603		ParameterExceptionReasonIllegalCombination,
13604		ParameterExceptionReasonIllegalArgument,
13605		ParameterExceptionReasonInvalidTagKey,
13606	}
13607}
13608
13609const (
13610	// PositionalConstraintExactly is a PositionalConstraint enum value
13611	PositionalConstraintExactly = "EXACTLY"
13612
13613	// PositionalConstraintStartsWith is a PositionalConstraint enum value
13614	PositionalConstraintStartsWith = "STARTS_WITH"
13615
13616	// PositionalConstraintEndsWith is a PositionalConstraint enum value
13617	PositionalConstraintEndsWith = "ENDS_WITH"
13618
13619	// PositionalConstraintContains is a PositionalConstraint enum value
13620	PositionalConstraintContains = "CONTAINS"
13621
13622	// PositionalConstraintContainsWord is a PositionalConstraint enum value
13623	PositionalConstraintContainsWord = "CONTAINS_WORD"
13624)
13625
13626// PositionalConstraint_Values returns all elements of the PositionalConstraint enum
13627func PositionalConstraint_Values() []string {
13628	return []string{
13629		PositionalConstraintExactly,
13630		PositionalConstraintStartsWith,
13631		PositionalConstraintEndsWith,
13632		PositionalConstraintContains,
13633		PositionalConstraintContainsWord,
13634	}
13635}
13636
13637const (
13638	// PredicateTypeIpmatch is a PredicateType enum value
13639	PredicateTypeIpmatch = "IPMatch"
13640
13641	// PredicateTypeByteMatch is a PredicateType enum value
13642	PredicateTypeByteMatch = "ByteMatch"
13643
13644	// PredicateTypeSqlInjectionMatch is a PredicateType enum value
13645	PredicateTypeSqlInjectionMatch = "SqlInjectionMatch"
13646
13647	// PredicateTypeGeoMatch is a PredicateType enum value
13648	PredicateTypeGeoMatch = "GeoMatch"
13649
13650	// PredicateTypeSizeConstraint is a PredicateType enum value
13651	PredicateTypeSizeConstraint = "SizeConstraint"
13652
13653	// PredicateTypeXssMatch is a PredicateType enum value
13654	PredicateTypeXssMatch = "XssMatch"
13655
13656	// PredicateTypeRegexMatch is a PredicateType enum value
13657	PredicateTypeRegexMatch = "RegexMatch"
13658)
13659
13660// PredicateType_Values returns all elements of the PredicateType enum
13661func PredicateType_Values() []string {
13662	return []string{
13663		PredicateTypeIpmatch,
13664		PredicateTypeByteMatch,
13665		PredicateTypeSqlInjectionMatch,
13666		PredicateTypeGeoMatch,
13667		PredicateTypeSizeConstraint,
13668		PredicateTypeXssMatch,
13669		PredicateTypeRegexMatch,
13670	}
13671}
13672
13673const (
13674	// RateKeyIp is a RateKey enum value
13675	RateKeyIp = "IP"
13676)
13677
13678// RateKey_Values returns all elements of the RateKey enum
13679func RateKey_Values() []string {
13680	return []string{
13681		RateKeyIp,
13682	}
13683}
13684
13685const (
13686	// ResourceTypeApplicationLoadBalancer is a ResourceType enum value
13687	ResourceTypeApplicationLoadBalancer = "APPLICATION_LOAD_BALANCER"
13688
13689	// ResourceTypeApiGateway is a ResourceType enum value
13690	ResourceTypeApiGateway = "API_GATEWAY"
13691)
13692
13693// ResourceType_Values returns all elements of the ResourceType enum
13694func ResourceType_Values() []string {
13695	return []string{
13696		ResourceTypeApplicationLoadBalancer,
13697		ResourceTypeApiGateway,
13698	}
13699}
13700
13701const (
13702	// TextTransformationNone is a TextTransformation enum value
13703	TextTransformationNone = "NONE"
13704
13705	// TextTransformationCompressWhiteSpace is a TextTransformation enum value
13706	TextTransformationCompressWhiteSpace = "COMPRESS_WHITE_SPACE"
13707
13708	// TextTransformationHtmlEntityDecode is a TextTransformation enum value
13709	TextTransformationHtmlEntityDecode = "HTML_ENTITY_DECODE"
13710
13711	// TextTransformationLowercase is a TextTransformation enum value
13712	TextTransformationLowercase = "LOWERCASE"
13713
13714	// TextTransformationCmdLine is a TextTransformation enum value
13715	TextTransformationCmdLine = "CMD_LINE"
13716
13717	// TextTransformationUrlDecode is a TextTransformation enum value
13718	TextTransformationUrlDecode = "URL_DECODE"
13719)
13720
13721// TextTransformation_Values returns all elements of the TextTransformation enum
13722func TextTransformation_Values() []string {
13723	return []string{
13724		TextTransformationNone,
13725		TextTransformationCompressWhiteSpace,
13726		TextTransformationHtmlEntityDecode,
13727		TextTransformationLowercase,
13728		TextTransformationCmdLine,
13729		TextTransformationUrlDecode,
13730	}
13731}
13732
13733const (
13734	// WafActionTypeBlock is a WafActionType enum value
13735	WafActionTypeBlock = "BLOCK"
13736
13737	// WafActionTypeAllow is a WafActionType enum value
13738	WafActionTypeAllow = "ALLOW"
13739
13740	// WafActionTypeCount is a WafActionType enum value
13741	WafActionTypeCount = "COUNT"
13742)
13743
13744// WafActionType_Values returns all elements of the WafActionType enum
13745func WafActionType_Values() []string {
13746	return []string{
13747		WafActionTypeBlock,
13748		WafActionTypeAllow,
13749		WafActionTypeCount,
13750	}
13751}
13752
13753const (
13754	// WafOverrideActionTypeNone is a WafOverrideActionType enum value
13755	WafOverrideActionTypeNone = "NONE"
13756
13757	// WafOverrideActionTypeCount is a WafOverrideActionType enum value
13758	WafOverrideActionTypeCount = "COUNT"
13759)
13760
13761// WafOverrideActionType_Values returns all elements of the WafOverrideActionType enum
13762func WafOverrideActionType_Values() []string {
13763	return []string{
13764		WafOverrideActionTypeNone,
13765		WafOverrideActionTypeCount,
13766	}
13767}
13768
13769const (
13770	// WafRuleTypeRegular is a WafRuleType enum value
13771	WafRuleTypeRegular = "REGULAR"
13772
13773	// WafRuleTypeRateBased is a WafRuleType enum value
13774	WafRuleTypeRateBased = "RATE_BASED"
13775
13776	// WafRuleTypeGroup is a WafRuleType enum value
13777	WafRuleTypeGroup = "GROUP"
13778)
13779
13780// WafRuleType_Values returns all elements of the WafRuleType enum
13781func WafRuleType_Values() []string {
13782	return []string{
13783		WafRuleTypeRegular,
13784		WafRuleTypeRateBased,
13785		WafRuleTypeGroup,
13786	}
13787}
13788