1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package wafregional 4 5import ( 6 "github.com/aws/aws-sdk-go/aws" 7 "github.com/aws/aws-sdk-go/aws/awsutil" 8 "github.com/aws/aws-sdk-go/aws/request" 9 "github.com/aws/aws-sdk-go/private/protocol" 10 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 11 "github.com/aws/aws-sdk-go/service/waf" 12) 13 14const opAssociateWebACL = "AssociateWebACL" 15 16// AssociateWebACLRequest generates a "aws/request.Request" representing the 17// client's request for the AssociateWebACL operation. The "output" return 18// value will be populated with the request's response once the request completes 19// successfully. 20// 21// Use "Send" method on the returned Request to send the API call to the service. 22// the "output" return value is not valid until after Send returns without error. 23// 24// See AssociateWebACL for more information on using the AssociateWebACL 25// API call, and error handling. 26// 27// This method is useful when you want to inject custom logic or configuration 28// into the SDK's request lifecycle. Such as custom headers, or retry logic. 29// 30// 31// // Example sending a request using the AssociateWebACLRequest method. 32// req, resp := client.AssociateWebACLRequest(params) 33// 34// err := req.Send() 35// if err == nil { // resp is now filled 36// fmt.Println(resp) 37// } 38// 39// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/AssociateWebACL 40func (c *WAFRegional) AssociateWebACLRequest(input *AssociateWebACLInput) (req *request.Request, output *AssociateWebACLOutput) { 41 op := &request.Operation{ 42 Name: opAssociateWebACL, 43 HTTPMethod: "POST", 44 HTTPPath: "/", 45 } 46 47 if input == nil { 48 input = &AssociateWebACLInput{} 49 } 50 51 output = &AssociateWebACLOutput{} 52 req = c.newRequest(op, input, output) 53 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 54 return 55} 56 57// AssociateWebACL API operation for AWS WAF Regional. 58// 59// Associates a web ACL with a resource, either an application load balancer 60// or Amazon API Gateway stage. 61// 62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63// with awserr.Error's Code and Message methods to get detailed information about 64// the error. 65// 66// See the AWS API reference guide for AWS WAF Regional's 67// API operation AssociateWebACL for usage and error information. 68// 69// Returned Error Codes: 70// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 71// The operation failed because of a system problem, even though the request 72// was valid. Retry your request. 73// 74// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 75// The operation failed because you tried to create, update, or delete an object 76// by using an invalid account identifier. 77// 78// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 79// The operation failed because AWS WAF didn't recognize a parameter in the 80// request. For example: 81// 82// * You specified an invalid parameter name. 83// 84// * You specified an invalid value. 85// 86// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 87// using an action other than INSERT or DELETE. 88// 89// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 90// BLOCK, or COUNT. 91// 92// * You tried to create a RateBasedRule with a RateKey value other than 93// IP. 94// 95// * You tried to update a WebACL with a WafAction Type other than ALLOW, 96// BLOCK, or COUNT. 97// 98// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 99// HEADER, METHOD, QUERY_STRING, URI, or BODY. 100// 101// * You tried to update a ByteMatchSet with a Field of HEADER but no value 102// for Data. 103// 104// * Your request references an ARN that is malformed, or corresponds to 105// a resource with which a web ACL cannot be associated. 106// 107// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 108// The operation failed because the referenced object doesn't exist. 109// 110// * ErrCodeWAFUnavailableEntityException "WAFUnavailableEntityException" 111// The operation failed because the entity referenced is temporarily unavailable. 112// Retry your request. 113// 114// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/AssociateWebACL 115func (c *WAFRegional) AssociateWebACL(input *AssociateWebACLInput) (*AssociateWebACLOutput, error) { 116 req, out := c.AssociateWebACLRequest(input) 117 return out, req.Send() 118} 119 120// AssociateWebACLWithContext is the same as AssociateWebACL with the addition of 121// the ability to pass a context and additional request options. 122// 123// See AssociateWebACL for details on how to use this API operation. 124// 125// The context must be non-nil and will be used for request cancellation. If 126// the context is nil a panic will occur. In the future the SDK may create 127// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 128// for more information on using Contexts. 129func (c *WAFRegional) AssociateWebACLWithContext(ctx aws.Context, input *AssociateWebACLInput, opts ...request.Option) (*AssociateWebACLOutput, error) { 130 req, out := c.AssociateWebACLRequest(input) 131 req.SetContext(ctx) 132 req.ApplyOptions(opts...) 133 return out, req.Send() 134} 135 136const opCreateByteMatchSet = "CreateByteMatchSet" 137 138// CreateByteMatchSetRequest generates a "aws/request.Request" representing the 139// client's request for the CreateByteMatchSet operation. The "output" return 140// value will be populated with the request's response once the request completes 141// successfully. 142// 143// Use "Send" method on the returned Request to send the API call to the service. 144// the "output" return value is not valid until after Send returns without error. 145// 146// See CreateByteMatchSet for more information on using the CreateByteMatchSet 147// API call, and error handling. 148// 149// This method is useful when you want to inject custom logic or configuration 150// into the SDK's request lifecycle. Such as custom headers, or retry logic. 151// 152// 153// // Example sending a request using the CreateByteMatchSetRequest method. 154// req, resp := client.CreateByteMatchSetRequest(params) 155// 156// err := req.Send() 157// if err == nil { // resp is now filled 158// fmt.Println(resp) 159// } 160// 161// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet 162func (c *WAFRegional) CreateByteMatchSetRequest(input *waf.CreateByteMatchSetInput) (req *request.Request, output *waf.CreateByteMatchSetOutput) { 163 op := &request.Operation{ 164 Name: opCreateByteMatchSet, 165 HTTPMethod: "POST", 166 HTTPPath: "/", 167 } 168 169 if input == nil { 170 input = &waf.CreateByteMatchSetInput{} 171 } 172 173 output = &waf.CreateByteMatchSetOutput{} 174 req = c.newRequest(op, input, output) 175 return 176} 177 178// CreateByteMatchSet API operation for AWS WAF Regional. 179// 180// Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part 181// of a web request that you want AWS WAF to inspect, such as the values of 182// the User-Agent header or the query string. For example, you can create a 183// ByteMatchSet that matches any requests with User-Agent headers that contain 184// the string BadBot. You can then configure AWS WAF to reject those requests. 185// 186// To create and configure a ByteMatchSet, perform the following steps: 187// 188// Use GetChangeToken to get the change token that you provide in the ChangeToken 189// parameter of a CreateByteMatchSet request. 190// 191// Submit a CreateByteMatchSet request. 192// 193// Use GetChangeToken to get the change token that you provide in the ChangeToken 194// parameter of an UpdateByteMatchSet request. 195// 196// Submit an UpdateByteMatchSet request to specify the part of the request that 197// you want AWS WAF to inspect (for example, the header or the URI) and the 198// value that you want AWS WAF to watch for. 199// 200// For more information about how to use the AWS WAF API to allow or block HTTP 201// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 202// 203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 204// with awserr.Error's Code and Message methods to get detailed information about 205// the error. 206// 207// See the AWS API reference guide for AWS WAF Regional's 208// API operation CreateByteMatchSet for usage and error information. 209// 210// Returned Error Codes: 211// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 212// The name specified is invalid. 213// 214// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 215// The operation failed because of a system problem, even though the request 216// was valid. Retry your request. 217// 218// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 219// The operation failed because you tried to create, update, or delete an object 220// by using an invalid account identifier. 221// 222// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 223// The operation failed because AWS WAF didn't recognize a parameter in the 224// request. For example: 225// 226// * You specified an invalid parameter name. 227// 228// * You specified an invalid value. 229// 230// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 231// using an action other than INSERT or DELETE. 232// 233// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 234// BLOCK, or COUNT. 235// 236// * You tried to create a RateBasedRule with a RateKey value other than 237// IP. 238// 239// * You tried to update a WebACL with a WafAction Type other than ALLOW, 240// BLOCK, or COUNT. 241// 242// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 243// HEADER, METHOD, QUERY_STRING, URI, or BODY. 244// 245// * You tried to update a ByteMatchSet with a Field of HEADER but no value 246// for Data. 247// 248// * Your request references an ARN that is malformed, or corresponds to 249// a resource with which a web ACL cannot be associated. 250// 251// * ErrCodeWAFStaleDataException "WAFStaleDataException" 252// The operation failed because you tried to create, update, or delete an object 253// by using a change token that has already been used. 254// 255// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 256// The operation exceeds a resource limit, for example, the maximum number of 257// WebACL objects that you can create for an AWS account. For more information, 258// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 259// in the AWS WAF Developer Guide. 260// 261// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet 262func (c *WAFRegional) CreateByteMatchSet(input *waf.CreateByteMatchSetInput) (*waf.CreateByteMatchSetOutput, error) { 263 req, out := c.CreateByteMatchSetRequest(input) 264 return out, req.Send() 265} 266 267// CreateByteMatchSetWithContext is the same as CreateByteMatchSet with the addition of 268// the ability to pass a context and additional request options. 269// 270// See CreateByteMatchSet for details on how to use this API operation. 271// 272// The context must be non-nil and will be used for request cancellation. If 273// the context is nil a panic will occur. In the future the SDK may create 274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 275// for more information on using Contexts. 276func (c *WAFRegional) CreateByteMatchSetWithContext(ctx aws.Context, input *waf.CreateByteMatchSetInput, opts ...request.Option) (*waf.CreateByteMatchSetOutput, error) { 277 req, out := c.CreateByteMatchSetRequest(input) 278 req.SetContext(ctx) 279 req.ApplyOptions(opts...) 280 return out, req.Send() 281} 282 283const opCreateGeoMatchSet = "CreateGeoMatchSet" 284 285// CreateGeoMatchSetRequest generates a "aws/request.Request" representing the 286// client's request for the CreateGeoMatchSet operation. The "output" return 287// value will be populated with the request's response once the request completes 288// successfully. 289// 290// Use "Send" method on the returned Request to send the API call to the service. 291// the "output" return value is not valid until after Send returns without error. 292// 293// See CreateGeoMatchSet for more information on using the CreateGeoMatchSet 294// API call, and error handling. 295// 296// This method is useful when you want to inject custom logic or configuration 297// into the SDK's request lifecycle. Such as custom headers, or retry logic. 298// 299// 300// // Example sending a request using the CreateGeoMatchSetRequest method. 301// req, resp := client.CreateGeoMatchSetRequest(params) 302// 303// err := req.Send() 304// if err == nil { // resp is now filled 305// fmt.Println(resp) 306// } 307// 308// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet 309func (c *WAFRegional) CreateGeoMatchSetRequest(input *waf.CreateGeoMatchSetInput) (req *request.Request, output *waf.CreateGeoMatchSetOutput) { 310 op := &request.Operation{ 311 Name: opCreateGeoMatchSet, 312 HTTPMethod: "POST", 313 HTTPPath: "/", 314 } 315 316 if input == nil { 317 input = &waf.CreateGeoMatchSetInput{} 318 } 319 320 output = &waf.CreateGeoMatchSetOutput{} 321 req = c.newRequest(op, input, output) 322 return 323} 324 325// CreateGeoMatchSet API operation for AWS WAF Regional. 326// 327// Creates an GeoMatchSet, which you use to specify which web requests you want 328// to allow or block based on the country that the requests originate from. 329// For example, if you're receiving a lot of requests from one or more countries 330// and you want to block the requests, you can create an GeoMatchSet that contains 331// those countries and then configure AWS WAF to block the requests. 332// 333// To create and configure a GeoMatchSet, perform the following steps: 334// 335// Use GetChangeToken to get the change token that you provide in the ChangeToken 336// parameter of a CreateGeoMatchSet request. 337// 338// Submit a CreateGeoMatchSet request. 339// 340// Use GetChangeToken to get the change token that you provide in the ChangeToken 341// parameter of an UpdateGeoMatchSet request. 342// 343// Submit an UpdateGeoMatchSetSet request to specify the countries that you 344// want AWS WAF to watch for. 345// 346// For more information about how to use the AWS WAF API to allow or block HTTP 347// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 348// 349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 350// with awserr.Error's Code and Message methods to get detailed information about 351// the error. 352// 353// See the AWS API reference guide for AWS WAF Regional's 354// API operation CreateGeoMatchSet for usage and error information. 355// 356// Returned Error Codes: 357// * ErrCodeWAFStaleDataException "WAFStaleDataException" 358// The operation failed because you tried to create, update, or delete an object 359// by using a change token that has already been used. 360// 361// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 362// The operation failed because of a system problem, even though the request 363// was valid. Retry your request. 364// 365// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 366// The operation failed because you tried to create, update, or delete an object 367// by using an invalid account identifier. 368// 369// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 370// The name specified is invalid. 371// 372// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 373// The operation failed because AWS WAF didn't recognize a parameter in the 374// request. For example: 375// 376// * You specified an invalid parameter name. 377// 378// * You specified an invalid value. 379// 380// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 381// using an action other than INSERT or DELETE. 382// 383// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 384// BLOCK, or COUNT. 385// 386// * You tried to create a RateBasedRule with a RateKey value other than 387// IP. 388// 389// * You tried to update a WebACL with a WafAction Type other than ALLOW, 390// BLOCK, or COUNT. 391// 392// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 393// HEADER, METHOD, QUERY_STRING, URI, or BODY. 394// 395// * You tried to update a ByteMatchSet with a Field of HEADER but no value 396// for Data. 397// 398// * Your request references an ARN that is malformed, or corresponds to 399// a resource with which a web ACL cannot be associated. 400// 401// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 402// The operation exceeds a resource limit, for example, the maximum number of 403// WebACL objects that you can create for an AWS account. For more information, 404// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 405// in the AWS WAF Developer Guide. 406// 407// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet 408func (c *WAFRegional) CreateGeoMatchSet(input *waf.CreateGeoMatchSetInput) (*waf.CreateGeoMatchSetOutput, error) { 409 req, out := c.CreateGeoMatchSetRequest(input) 410 return out, req.Send() 411} 412 413// CreateGeoMatchSetWithContext is the same as CreateGeoMatchSet with the addition of 414// the ability to pass a context and additional request options. 415// 416// See CreateGeoMatchSet for details on how to use this API operation. 417// 418// The context must be non-nil and will be used for request cancellation. If 419// the context is nil a panic will occur. In the future the SDK may create 420// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 421// for more information on using Contexts. 422func (c *WAFRegional) CreateGeoMatchSetWithContext(ctx aws.Context, input *waf.CreateGeoMatchSetInput, opts ...request.Option) (*waf.CreateGeoMatchSetOutput, error) { 423 req, out := c.CreateGeoMatchSetRequest(input) 424 req.SetContext(ctx) 425 req.ApplyOptions(opts...) 426 return out, req.Send() 427} 428 429const opCreateIPSet = "CreateIPSet" 430 431// CreateIPSetRequest generates a "aws/request.Request" representing the 432// client's request for the CreateIPSet operation. The "output" return 433// value will be populated with the request's response once the request completes 434// successfully. 435// 436// Use "Send" method on the returned Request to send the API call to the service. 437// the "output" return value is not valid until after Send returns without error. 438// 439// See CreateIPSet for more information on using the CreateIPSet 440// API call, and error handling. 441// 442// This method is useful when you want to inject custom logic or configuration 443// into the SDK's request lifecycle. Such as custom headers, or retry logic. 444// 445// 446// // Example sending a request using the CreateIPSetRequest method. 447// req, resp := client.CreateIPSetRequest(params) 448// 449// err := req.Send() 450// if err == nil { // resp is now filled 451// fmt.Println(resp) 452// } 453// 454// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet 455func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *request.Request, output *waf.CreateIPSetOutput) { 456 op := &request.Operation{ 457 Name: opCreateIPSet, 458 HTTPMethod: "POST", 459 HTTPPath: "/", 460 } 461 462 if input == nil { 463 input = &waf.CreateIPSetInput{} 464 } 465 466 output = &waf.CreateIPSetOutput{} 467 req = c.newRequest(op, input, output) 468 return 469} 470 471// CreateIPSet API operation for AWS WAF Regional. 472// 473// Creates an IPSet, which you use to specify which web requests that you want 474// to allow or block based on the IP addresses that the requests originate from. 475// For example, if you're receiving a lot of requests from one or more individual 476// IP addresses or one or more ranges of IP addresses and you want to block 477// the requests, you can create an IPSet that contains those IP addresses and 478// then configure AWS WAF to block the requests. 479// 480// To create and configure an IPSet, perform the following steps: 481// 482// Use GetChangeToken to get the change token that you provide in the ChangeToken 483// parameter of a CreateIPSet request. 484// 485// Submit a CreateIPSet request. 486// 487// Use GetChangeToken to get the change token that you provide in the ChangeToken 488// parameter of an UpdateIPSet request. 489// 490// Submit an UpdateIPSet request to specify the IP addresses that you want AWS 491// WAF to watch for. 492// 493// For more information about how to use the AWS WAF API to allow or block HTTP 494// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 495// 496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 497// with awserr.Error's Code and Message methods to get detailed information about 498// the error. 499// 500// See the AWS API reference guide for AWS WAF Regional's 501// API operation CreateIPSet for usage and error information. 502// 503// Returned Error Codes: 504// * ErrCodeWAFStaleDataException "WAFStaleDataException" 505// The operation failed because you tried to create, update, or delete an object 506// by using a change token that has already been used. 507// 508// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 509// The operation failed because of a system problem, even though the request 510// was valid. Retry your request. 511// 512// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 513// The operation failed because you tried to create, update, or delete an object 514// by using an invalid account identifier. 515// 516// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 517// The name specified is invalid. 518// 519// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 520// The operation failed because AWS WAF didn't recognize a parameter in the 521// request. For example: 522// 523// * You specified an invalid parameter name. 524// 525// * You specified an invalid value. 526// 527// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 528// using an action other than INSERT or DELETE. 529// 530// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 531// BLOCK, or COUNT. 532// 533// * You tried to create a RateBasedRule with a RateKey value other than 534// IP. 535// 536// * You tried to update a WebACL with a WafAction Type other than ALLOW, 537// BLOCK, or COUNT. 538// 539// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 540// HEADER, METHOD, QUERY_STRING, URI, or BODY. 541// 542// * You tried to update a ByteMatchSet with a Field of HEADER but no value 543// for Data. 544// 545// * Your request references an ARN that is malformed, or corresponds to 546// a resource with which a web ACL cannot be associated. 547// 548// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 549// The operation exceeds a resource limit, for example, the maximum number of 550// WebACL objects that you can create for an AWS account. For more information, 551// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 552// in the AWS WAF Developer Guide. 553// 554// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet 555func (c *WAFRegional) CreateIPSet(input *waf.CreateIPSetInput) (*waf.CreateIPSetOutput, error) { 556 req, out := c.CreateIPSetRequest(input) 557 return out, req.Send() 558} 559 560// CreateIPSetWithContext is the same as CreateIPSet with the addition of 561// the ability to pass a context and additional request options. 562// 563// See CreateIPSet for details on how to use this API operation. 564// 565// The context must be non-nil and will be used for request cancellation. If 566// the context is nil a panic will occur. In the future the SDK may create 567// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 568// for more information on using Contexts. 569func (c *WAFRegional) CreateIPSetWithContext(ctx aws.Context, input *waf.CreateIPSetInput, opts ...request.Option) (*waf.CreateIPSetOutput, error) { 570 req, out := c.CreateIPSetRequest(input) 571 req.SetContext(ctx) 572 req.ApplyOptions(opts...) 573 return out, req.Send() 574} 575 576const opCreateRateBasedRule = "CreateRateBasedRule" 577 578// CreateRateBasedRuleRequest generates a "aws/request.Request" representing the 579// client's request for the CreateRateBasedRule operation. The "output" return 580// value will be populated with the request's response once the request completes 581// successfully. 582// 583// Use "Send" method on the returned Request to send the API call to the service. 584// the "output" return value is not valid until after Send returns without error. 585// 586// See CreateRateBasedRule for more information on using the CreateRateBasedRule 587// API call, and error handling. 588// 589// This method is useful when you want to inject custom logic or configuration 590// into the SDK's request lifecycle. Such as custom headers, or retry logic. 591// 592// 593// // Example sending a request using the CreateRateBasedRuleRequest method. 594// req, resp := client.CreateRateBasedRuleRequest(params) 595// 596// err := req.Send() 597// if err == nil { // resp is now filled 598// fmt.Println(resp) 599// } 600// 601// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule 602func (c *WAFRegional) CreateRateBasedRuleRequest(input *waf.CreateRateBasedRuleInput) (req *request.Request, output *waf.CreateRateBasedRuleOutput) { 603 op := &request.Operation{ 604 Name: opCreateRateBasedRule, 605 HTTPMethod: "POST", 606 HTTPPath: "/", 607 } 608 609 if input == nil { 610 input = &waf.CreateRateBasedRuleInput{} 611 } 612 613 output = &waf.CreateRateBasedRuleOutput{} 614 req = c.newRequest(op, input, output) 615 return 616} 617 618// CreateRateBasedRule API operation for AWS WAF Regional. 619// 620// Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies 621// the maximum number of requests that AWS WAF allows from a specified IP address 622// in a five-minute period. The RateBasedRule also contains the IPSet objects, 623// ByteMatchSet objects, and other predicates that identify the requests that 624// you want to count or block if these requests exceed the RateLimit. 625// 626// If you add more than one predicate to a RateBasedRule, a request not only 627// must exceed the RateLimit, but it also must match all the specifications 628// to be counted or blocked. For example, suppose you add the following to a 629// RateBasedRule: 630// 631// * An IPSet that matches the IP address 192.0.2.44/32 632// 633// * A ByteMatchSet that matches BadBot in the User-Agent header 634// 635// Further, you specify a RateLimit of 15,000. 636// 637// You then add the RateBasedRule to a WebACL and specify that you want to block 638// requests that meet the conditions in the rule. For a request to be blocked, 639// it must come from the IP address 192.0.2.44 and the User-Agent header in 640// the request must contain the value BadBot. Further, requests that match these 641// two conditions must be received at a rate of more than 15,000 requests every 642// five minutes. If both conditions are met and the rate is exceeded, AWS WAF 643// blocks the requests. If the rate drops below 15,000 for a five-minute period, 644// AWS WAF no longer blocks the requests. 645// 646// As a second example, suppose you want to limit requests to a particular page 647// on your site. To do this, you could add the following to a RateBasedRule: 648// 649// * A ByteMatchSet with FieldToMatch of URI 650// 651// * A PositionalConstraint of STARTS_WITH 652// 653// * A TargetString of login 654// 655// Further, you specify a RateLimit of 15,000. 656// 657// By adding this RateBasedRule to a WebACL, you could limit requests to your 658// login page without affecting the rest of your site. 659// 660// To create and configure a RateBasedRule, perform the following steps: 661// 662// Create and update the predicates that you want to include in the rule. For 663// more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. 664// 665// Use GetChangeToken to get the change token that you provide in the ChangeToken 666// parameter of a CreateRule request. 667// 668// Submit a CreateRateBasedRule request. 669// 670// Use GetChangeToken to get the change token that you provide in the ChangeToken 671// parameter of an UpdateRule request. 672// 673// Submit an UpdateRateBasedRule request to specify the predicates that you 674// want to include in the rule. 675// 676// Create and update a WebACL that contains the RateBasedRule. For more information, 677// see CreateWebACL. 678// 679// For more information about how to use the AWS WAF API to allow or block HTTP 680// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 681// 682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 683// with awserr.Error's Code and Message methods to get detailed information about 684// the error. 685// 686// See the AWS API reference guide for AWS WAF Regional's 687// API operation CreateRateBasedRule for usage and error information. 688// 689// Returned Error Codes: 690// * ErrCodeWAFStaleDataException "WAFStaleDataException" 691// The operation failed because you tried to create, update, or delete an object 692// by using a change token that has already been used. 693// 694// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 695// The operation failed because of a system problem, even though the request 696// was valid. Retry your request. 697// 698// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 699// The name specified is invalid. 700// 701// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 702// The operation failed because AWS WAF didn't recognize a parameter in the 703// request. For example: 704// 705// * You specified an invalid parameter name. 706// 707// * You specified an invalid value. 708// 709// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 710// using an action other than INSERT or DELETE. 711// 712// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 713// BLOCK, or COUNT. 714// 715// * You tried to create a RateBasedRule with a RateKey value other than 716// IP. 717// 718// * You tried to update a WebACL with a WafAction Type other than ALLOW, 719// BLOCK, or COUNT. 720// 721// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 722// HEADER, METHOD, QUERY_STRING, URI, or BODY. 723// 724// * You tried to update a ByteMatchSet with a Field of HEADER but no value 725// for Data. 726// 727// * Your request references an ARN that is malformed, or corresponds to 728// a resource with which a web ACL cannot be associated. 729// 730// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 731// The operation exceeds a resource limit, for example, the maximum number of 732// WebACL objects that you can create for an AWS account. For more information, 733// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 734// in the AWS WAF Developer Guide. 735// 736// * ErrCodeWAFTagOperationException "WAFTagOperationException" 737// 738// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 739// 740// * ErrCodeWAFBadRequestException "WAFBadRequestException" 741// 742// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule 743func (c *WAFRegional) CreateRateBasedRule(input *waf.CreateRateBasedRuleInput) (*waf.CreateRateBasedRuleOutput, error) { 744 req, out := c.CreateRateBasedRuleRequest(input) 745 return out, req.Send() 746} 747 748// CreateRateBasedRuleWithContext is the same as CreateRateBasedRule with the addition of 749// the ability to pass a context and additional request options. 750// 751// See CreateRateBasedRule for details on how to use this API operation. 752// 753// The context must be non-nil and will be used for request cancellation. If 754// the context is nil a panic will occur. In the future the SDK may create 755// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 756// for more information on using Contexts. 757func (c *WAFRegional) CreateRateBasedRuleWithContext(ctx aws.Context, input *waf.CreateRateBasedRuleInput, opts ...request.Option) (*waf.CreateRateBasedRuleOutput, error) { 758 req, out := c.CreateRateBasedRuleRequest(input) 759 req.SetContext(ctx) 760 req.ApplyOptions(opts...) 761 return out, req.Send() 762} 763 764const opCreateRegexMatchSet = "CreateRegexMatchSet" 765 766// CreateRegexMatchSetRequest generates a "aws/request.Request" representing the 767// client's request for the CreateRegexMatchSet operation. The "output" return 768// value will be populated with the request's response once the request completes 769// successfully. 770// 771// Use "Send" method on the returned Request to send the API call to the service. 772// the "output" return value is not valid until after Send returns without error. 773// 774// See CreateRegexMatchSet for more information on using the CreateRegexMatchSet 775// API call, and error handling. 776// 777// This method is useful when you want to inject custom logic or configuration 778// into the SDK's request lifecycle. Such as custom headers, or retry logic. 779// 780// 781// // Example sending a request using the CreateRegexMatchSetRequest method. 782// req, resp := client.CreateRegexMatchSetRequest(params) 783// 784// err := req.Send() 785// if err == nil { // resp is now filled 786// fmt.Println(resp) 787// } 788// 789// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet 790func (c *WAFRegional) CreateRegexMatchSetRequest(input *waf.CreateRegexMatchSetInput) (req *request.Request, output *waf.CreateRegexMatchSetOutput) { 791 op := &request.Operation{ 792 Name: opCreateRegexMatchSet, 793 HTTPMethod: "POST", 794 HTTPPath: "/", 795 } 796 797 if input == nil { 798 input = &waf.CreateRegexMatchSetInput{} 799 } 800 801 output = &waf.CreateRegexMatchSetOutput{} 802 req = c.newRequest(op, input, output) 803 return 804} 805 806// CreateRegexMatchSet API operation for AWS WAF Regional. 807// 808// Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the 809// part of a web request that you want AWS WAF to inspect, such as the values 810// of the User-Agent header or the query string. For example, you can create 811// a RegexMatchSet that contains a RegexMatchTuple that looks for any requests 812// with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. 813// You can then configure AWS WAF to reject those requests. 814// 815// To create and configure a RegexMatchSet, perform the following steps: 816// 817// Use GetChangeToken to get the change token that you provide in the ChangeToken 818// parameter of a CreateRegexMatchSet request. 819// 820// Submit a CreateRegexMatchSet request. 821// 822// Use GetChangeToken to get the change token that you provide in the ChangeToken 823// parameter of an UpdateRegexMatchSet request. 824// 825// Submit an UpdateRegexMatchSet request to specify the part of the request 826// that you want AWS WAF to inspect (for example, the header or the URI) and 827// the value, using a RegexPatternSet, that you want AWS WAF to watch for. 828// 829// For more information about how to use the AWS WAF API to allow or block HTTP 830// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 831// 832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 833// with awserr.Error's Code and Message methods to get detailed information about 834// the error. 835// 836// See the AWS API reference guide for AWS WAF Regional's 837// API operation CreateRegexMatchSet for usage and error information. 838// 839// Returned Error Codes: 840// * ErrCodeWAFStaleDataException "WAFStaleDataException" 841// The operation failed because you tried to create, update, or delete an object 842// by using a change token that has already been used. 843// 844// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 845// The operation failed because of a system problem, even though the request 846// was valid. Retry your request. 847// 848// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 849// The name specified is invalid. 850// 851// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 852// The operation exceeds a resource limit, for example, the maximum number of 853// WebACL objects that you can create for an AWS account. For more information, 854// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 855// in the AWS WAF Developer Guide. 856// 857// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet 858func (c *WAFRegional) CreateRegexMatchSet(input *waf.CreateRegexMatchSetInput) (*waf.CreateRegexMatchSetOutput, error) { 859 req, out := c.CreateRegexMatchSetRequest(input) 860 return out, req.Send() 861} 862 863// CreateRegexMatchSetWithContext is the same as CreateRegexMatchSet with the addition of 864// the ability to pass a context and additional request options. 865// 866// See CreateRegexMatchSet for details on how to use this API operation. 867// 868// The context must be non-nil and will be used for request cancellation. If 869// the context is nil a panic will occur. In the future the SDK may create 870// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 871// for more information on using Contexts. 872func (c *WAFRegional) CreateRegexMatchSetWithContext(ctx aws.Context, input *waf.CreateRegexMatchSetInput, opts ...request.Option) (*waf.CreateRegexMatchSetOutput, error) { 873 req, out := c.CreateRegexMatchSetRequest(input) 874 req.SetContext(ctx) 875 req.ApplyOptions(opts...) 876 return out, req.Send() 877} 878 879const opCreateRegexPatternSet = "CreateRegexPatternSet" 880 881// CreateRegexPatternSetRequest generates a "aws/request.Request" representing the 882// client's request for the CreateRegexPatternSet operation. The "output" return 883// value will be populated with the request's response once the request completes 884// successfully. 885// 886// Use "Send" method on the returned Request to send the API call to the service. 887// the "output" return value is not valid until after Send returns without error. 888// 889// See CreateRegexPatternSet for more information on using the CreateRegexPatternSet 890// API call, and error handling. 891// 892// This method is useful when you want to inject custom logic or configuration 893// into the SDK's request lifecycle. Such as custom headers, or retry logic. 894// 895// 896// // Example sending a request using the CreateRegexPatternSetRequest method. 897// req, resp := client.CreateRegexPatternSetRequest(params) 898// 899// err := req.Send() 900// if err == nil { // resp is now filled 901// fmt.Println(resp) 902// } 903// 904// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet 905func (c *WAFRegional) CreateRegexPatternSetRequest(input *waf.CreateRegexPatternSetInput) (req *request.Request, output *waf.CreateRegexPatternSetOutput) { 906 op := &request.Operation{ 907 Name: opCreateRegexPatternSet, 908 HTTPMethod: "POST", 909 HTTPPath: "/", 910 } 911 912 if input == nil { 913 input = &waf.CreateRegexPatternSetInput{} 914 } 915 916 output = &waf.CreateRegexPatternSetOutput{} 917 req = c.newRequest(op, input, output) 918 return 919} 920 921// CreateRegexPatternSet API operation for AWS WAF Regional. 922// 923// Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify 924// the regular expression (regex) pattern that you want AWS WAF to search for, 925// such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. 926// 927// To create and configure a RegexPatternSet, perform the following steps: 928// 929// Use GetChangeToken to get the change token that you provide in the ChangeToken 930// parameter of a CreateRegexPatternSet request. 931// 932// Submit a CreateRegexPatternSet request. 933// 934// Use GetChangeToken to get the change token that you provide in the ChangeToken 935// parameter of an UpdateRegexPatternSet request. 936// 937// Submit an UpdateRegexPatternSet request to specify the string that you want 938// AWS WAF to watch for. 939// 940// For more information about how to use the AWS WAF API to allow or block HTTP 941// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 942// 943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 944// with awserr.Error's Code and Message methods to get detailed information about 945// the error. 946// 947// See the AWS API reference guide for AWS WAF Regional's 948// API operation CreateRegexPatternSet for usage and error information. 949// 950// Returned Error Codes: 951// * ErrCodeWAFStaleDataException "WAFStaleDataException" 952// The operation failed because you tried to create, update, or delete an object 953// by using a change token that has already been used. 954// 955// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 956// The operation failed because of a system problem, even though the request 957// was valid. Retry your request. 958// 959// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 960// The name specified is invalid. 961// 962// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 963// The operation exceeds a resource limit, for example, the maximum number of 964// WebACL objects that you can create for an AWS account. For more information, 965// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 966// in the AWS WAF Developer Guide. 967// 968// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet 969func (c *WAFRegional) CreateRegexPatternSet(input *waf.CreateRegexPatternSetInput) (*waf.CreateRegexPatternSetOutput, error) { 970 req, out := c.CreateRegexPatternSetRequest(input) 971 return out, req.Send() 972} 973 974// CreateRegexPatternSetWithContext is the same as CreateRegexPatternSet with the addition of 975// the ability to pass a context and additional request options. 976// 977// See CreateRegexPatternSet for details on how to use this API operation. 978// 979// The context must be non-nil and will be used for request cancellation. If 980// the context is nil a panic will occur. In the future the SDK may create 981// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 982// for more information on using Contexts. 983func (c *WAFRegional) CreateRegexPatternSetWithContext(ctx aws.Context, input *waf.CreateRegexPatternSetInput, opts ...request.Option) (*waf.CreateRegexPatternSetOutput, error) { 984 req, out := c.CreateRegexPatternSetRequest(input) 985 req.SetContext(ctx) 986 req.ApplyOptions(opts...) 987 return out, req.Send() 988} 989 990const opCreateRule = "CreateRule" 991 992// CreateRuleRequest generates a "aws/request.Request" representing the 993// client's request for the CreateRule operation. The "output" return 994// value will be populated with the request's response once the request completes 995// successfully. 996// 997// Use "Send" method on the returned Request to send the API call to the service. 998// the "output" return value is not valid until after Send returns without error. 999// 1000// See CreateRule for more information on using the CreateRule 1001// API call, and error handling. 1002// 1003// This method is useful when you want to inject custom logic or configuration 1004// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1005// 1006// 1007// // Example sending a request using the CreateRuleRequest method. 1008// req, resp := client.CreateRuleRequest(params) 1009// 1010// err := req.Send() 1011// if err == nil { // resp is now filled 1012// fmt.Println(resp) 1013// } 1014// 1015// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule 1016func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *request.Request, output *waf.CreateRuleOutput) { 1017 op := &request.Operation{ 1018 Name: opCreateRule, 1019 HTTPMethod: "POST", 1020 HTTPPath: "/", 1021 } 1022 1023 if input == nil { 1024 input = &waf.CreateRuleInput{} 1025 } 1026 1027 output = &waf.CreateRuleOutput{} 1028 req = c.newRequest(op, input, output) 1029 return 1030} 1031 1032// CreateRule API operation for AWS WAF Regional. 1033// 1034// Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and 1035// other predicates that identify the requests that you want to block. If you 1036// add more than one predicate to a Rule, a request must match all of the specifications 1037// to be allowed or blocked. For example, suppose that you add the following 1038// to a Rule: 1039// 1040// * An IPSet that matches the IP address 192.0.2.44/32 1041// 1042// * A ByteMatchSet that matches BadBot in the User-Agent header 1043// 1044// You then add the Rule to a WebACL and specify that you want to blocks requests 1045// that satisfy the Rule. For a request to be blocked, it must come from the 1046// IP address 192.0.2.44 and the User-Agent header in the request must contain 1047// the value BadBot. 1048// 1049// To create and configure a Rule, perform the following steps: 1050// 1051// Create and update the predicates that you want to include in the Rule. For 1052// more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. 1053// 1054// Use GetChangeToken to get the change token that you provide in the ChangeToken 1055// parameter of a CreateRule request. 1056// 1057// Submit a CreateRule request. 1058// 1059// Use GetChangeToken to get the change token that you provide in the ChangeToken 1060// parameter of an UpdateRule request. 1061// 1062// Submit an UpdateRule request to specify the predicates that you want to include 1063// in the Rule. 1064// 1065// Create and update a WebACL that contains the Rule. For more information, 1066// see CreateWebACL. 1067// 1068// For more information about how to use the AWS WAF API to allow or block HTTP 1069// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1070// 1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1072// with awserr.Error's Code and Message methods to get detailed information about 1073// the error. 1074// 1075// See the AWS API reference guide for AWS WAF Regional's 1076// API operation CreateRule for usage and error information. 1077// 1078// Returned Error Codes: 1079// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1080// The operation failed because you tried to create, update, or delete an object 1081// by using a change token that has already been used. 1082// 1083// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1084// The operation failed because of a system problem, even though the request 1085// was valid. Retry your request. 1086// 1087// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1088// The name specified is invalid. 1089// 1090// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 1091// The operation failed because AWS WAF didn't recognize a parameter in the 1092// request. For example: 1093// 1094// * You specified an invalid parameter name. 1095// 1096// * You specified an invalid value. 1097// 1098// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1099// using an action other than INSERT or DELETE. 1100// 1101// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1102// BLOCK, or COUNT. 1103// 1104// * You tried to create a RateBasedRule with a RateKey value other than 1105// IP. 1106// 1107// * You tried to update a WebACL with a WafAction Type other than ALLOW, 1108// BLOCK, or COUNT. 1109// 1110// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1111// HEADER, METHOD, QUERY_STRING, URI, or BODY. 1112// 1113// * You tried to update a ByteMatchSet with a Field of HEADER but no value 1114// for Data. 1115// 1116// * Your request references an ARN that is malformed, or corresponds to 1117// a resource with which a web ACL cannot be associated. 1118// 1119// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1120// The operation exceeds a resource limit, for example, the maximum number of 1121// WebACL objects that you can create for an AWS account. For more information, 1122// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1123// in the AWS WAF Developer Guide. 1124// 1125// * ErrCodeWAFTagOperationException "WAFTagOperationException" 1126// 1127// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 1128// 1129// * ErrCodeWAFBadRequestException "WAFBadRequestException" 1130// 1131// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule 1132func (c *WAFRegional) CreateRule(input *waf.CreateRuleInput) (*waf.CreateRuleOutput, error) { 1133 req, out := c.CreateRuleRequest(input) 1134 return out, req.Send() 1135} 1136 1137// CreateRuleWithContext is the same as CreateRule with the addition of 1138// the ability to pass a context and additional request options. 1139// 1140// See CreateRule for details on how to use this API operation. 1141// 1142// The context must be non-nil and will be used for request cancellation. If 1143// the context is nil a panic will occur. In the future the SDK may create 1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1145// for more information on using Contexts. 1146func (c *WAFRegional) CreateRuleWithContext(ctx aws.Context, input *waf.CreateRuleInput, opts ...request.Option) (*waf.CreateRuleOutput, error) { 1147 req, out := c.CreateRuleRequest(input) 1148 req.SetContext(ctx) 1149 req.ApplyOptions(opts...) 1150 return out, req.Send() 1151} 1152 1153const opCreateRuleGroup = "CreateRuleGroup" 1154 1155// CreateRuleGroupRequest generates a "aws/request.Request" representing the 1156// client's request for the CreateRuleGroup operation. The "output" return 1157// value will be populated with the request's response once the request completes 1158// successfully. 1159// 1160// Use "Send" method on the returned Request to send the API call to the service. 1161// the "output" return value is not valid until after Send returns without error. 1162// 1163// See CreateRuleGroup for more information on using the CreateRuleGroup 1164// API call, and error handling. 1165// 1166// This method is useful when you want to inject custom logic or configuration 1167// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1168// 1169// 1170// // Example sending a request using the CreateRuleGroupRequest method. 1171// req, resp := client.CreateRuleGroupRequest(params) 1172// 1173// err := req.Send() 1174// if err == nil { // resp is now filled 1175// fmt.Println(resp) 1176// } 1177// 1178// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup 1179func (c *WAFRegional) CreateRuleGroupRequest(input *waf.CreateRuleGroupInput) (req *request.Request, output *waf.CreateRuleGroupOutput) { 1180 op := &request.Operation{ 1181 Name: opCreateRuleGroup, 1182 HTTPMethod: "POST", 1183 HTTPPath: "/", 1184 } 1185 1186 if input == nil { 1187 input = &waf.CreateRuleGroupInput{} 1188 } 1189 1190 output = &waf.CreateRuleGroupOutput{} 1191 req = c.newRequest(op, input, output) 1192 return 1193} 1194 1195// CreateRuleGroup API operation for AWS WAF Regional. 1196// 1197// Creates a RuleGroup. A rule group is a collection of predefined rules that 1198// you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group. 1199// 1200// Rule groups are subject to the following limits: 1201// 1202// * Three rule groups per account. You can request an increase to this limit 1203// by contacting customer support. 1204// 1205// * One rule group per web ACL. 1206// 1207// * Ten rules per rule group. 1208// 1209// For more information about how to use the AWS WAF API to allow or block HTTP 1210// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1211// 1212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1213// with awserr.Error's Code and Message methods to get detailed information about 1214// the error. 1215// 1216// See the AWS API reference guide for AWS WAF Regional's 1217// API operation CreateRuleGroup for usage and error information. 1218// 1219// Returned Error Codes: 1220// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1221// The operation failed because you tried to create, update, or delete an object 1222// by using a change token that has already been used. 1223// 1224// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1225// The operation failed because of a system problem, even though the request 1226// was valid. Retry your request. 1227// 1228// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1229// The name specified is invalid. 1230// 1231// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1232// The operation exceeds a resource limit, for example, the maximum number of 1233// WebACL objects that you can create for an AWS account. For more information, 1234// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1235// in the AWS WAF Developer Guide. 1236// 1237// * ErrCodeWAFTagOperationException "WAFTagOperationException" 1238// 1239// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 1240// 1241// * ErrCodeWAFBadRequestException "WAFBadRequestException" 1242// 1243// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup 1244func (c *WAFRegional) CreateRuleGroup(input *waf.CreateRuleGroupInput) (*waf.CreateRuleGroupOutput, error) { 1245 req, out := c.CreateRuleGroupRequest(input) 1246 return out, req.Send() 1247} 1248 1249// CreateRuleGroupWithContext is the same as CreateRuleGroup with the addition of 1250// the ability to pass a context and additional request options. 1251// 1252// See CreateRuleGroup for details on how to use this API operation. 1253// 1254// The context must be non-nil and will be used for request cancellation. If 1255// the context is nil a panic will occur. In the future the SDK may create 1256// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1257// for more information on using Contexts. 1258func (c *WAFRegional) CreateRuleGroupWithContext(ctx aws.Context, input *waf.CreateRuleGroupInput, opts ...request.Option) (*waf.CreateRuleGroupOutput, error) { 1259 req, out := c.CreateRuleGroupRequest(input) 1260 req.SetContext(ctx) 1261 req.ApplyOptions(opts...) 1262 return out, req.Send() 1263} 1264 1265const opCreateSizeConstraintSet = "CreateSizeConstraintSet" 1266 1267// CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the 1268// client's request for the CreateSizeConstraintSet operation. The "output" return 1269// value will be populated with the request's response once the request completes 1270// successfully. 1271// 1272// Use "Send" method on the returned Request to send the API call to the service. 1273// the "output" return value is not valid until after Send returns without error. 1274// 1275// See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet 1276// API call, and error handling. 1277// 1278// This method is useful when you want to inject custom logic or configuration 1279// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1280// 1281// 1282// // Example sending a request using the CreateSizeConstraintSetRequest method. 1283// req, resp := client.CreateSizeConstraintSetRequest(params) 1284// 1285// err := req.Send() 1286// if err == nil { // resp is now filled 1287// fmt.Println(resp) 1288// } 1289// 1290// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet 1291func (c *WAFRegional) CreateSizeConstraintSetRequest(input *waf.CreateSizeConstraintSetInput) (req *request.Request, output *waf.CreateSizeConstraintSetOutput) { 1292 op := &request.Operation{ 1293 Name: opCreateSizeConstraintSet, 1294 HTTPMethod: "POST", 1295 HTTPPath: "/", 1296 } 1297 1298 if input == nil { 1299 input = &waf.CreateSizeConstraintSetInput{} 1300 } 1301 1302 output = &waf.CreateSizeConstraintSetOutput{} 1303 req = c.newRequest(op, input, output) 1304 return 1305} 1306 1307// CreateSizeConstraintSet API operation for AWS WAF Regional. 1308// 1309// Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify 1310// the part of a web request that you want AWS WAF to check for length, such 1311// as the length of the User-Agent header or the length of the query string. 1312// For example, you can create a SizeConstraintSet that matches any requests 1313// that have a query string that is longer than 100 bytes. You can then configure 1314// AWS WAF to reject those requests. 1315// 1316// To create and configure a SizeConstraintSet, perform the following steps: 1317// 1318// Use GetChangeToken to get the change token that you provide in the ChangeToken 1319// parameter of a CreateSizeConstraintSet request. 1320// 1321// Submit a CreateSizeConstraintSet request. 1322// 1323// Use GetChangeToken to get the change token that you provide in the ChangeToken 1324// parameter of an UpdateSizeConstraintSet request. 1325// 1326// Submit an UpdateSizeConstraintSet request to specify the part of the request 1327// that you want AWS WAF to inspect (for example, the header or the URI) and 1328// the value that you want AWS WAF to watch for. 1329// 1330// For more information about how to use the AWS WAF API to allow or block HTTP 1331// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1332// 1333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1334// with awserr.Error's Code and Message methods to get detailed information about 1335// the error. 1336// 1337// See the AWS API reference guide for AWS WAF Regional's 1338// API operation CreateSizeConstraintSet for usage and error information. 1339// 1340// Returned Error Codes: 1341// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1342// The operation failed because you tried to create, update, or delete an object 1343// by using a change token that has already been used. 1344// 1345// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1346// The operation failed because of a system problem, even though the request 1347// was valid. Retry your request. 1348// 1349// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 1350// The operation failed because you tried to create, update, or delete an object 1351// by using an invalid account identifier. 1352// 1353// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1354// The name specified is invalid. 1355// 1356// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 1357// The operation failed because AWS WAF didn't recognize a parameter in the 1358// request. For example: 1359// 1360// * You specified an invalid parameter name. 1361// 1362// * You specified an invalid value. 1363// 1364// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1365// using an action other than INSERT or DELETE. 1366// 1367// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1368// BLOCK, or COUNT. 1369// 1370// * You tried to create a RateBasedRule with a RateKey value other than 1371// IP. 1372// 1373// * You tried to update a WebACL with a WafAction Type other than ALLOW, 1374// BLOCK, or COUNT. 1375// 1376// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1377// HEADER, METHOD, QUERY_STRING, URI, or BODY. 1378// 1379// * You tried to update a ByteMatchSet with a Field of HEADER but no value 1380// for Data. 1381// 1382// * Your request references an ARN that is malformed, or corresponds to 1383// a resource with which a web ACL cannot be associated. 1384// 1385// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1386// The operation exceeds a resource limit, for example, the maximum number of 1387// WebACL objects that you can create for an AWS account. For more information, 1388// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1389// in the AWS WAF Developer Guide. 1390// 1391// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet 1392func (c *WAFRegional) CreateSizeConstraintSet(input *waf.CreateSizeConstraintSetInput) (*waf.CreateSizeConstraintSetOutput, error) { 1393 req, out := c.CreateSizeConstraintSetRequest(input) 1394 return out, req.Send() 1395} 1396 1397// CreateSizeConstraintSetWithContext is the same as CreateSizeConstraintSet with the addition of 1398// the ability to pass a context and additional request options. 1399// 1400// See CreateSizeConstraintSet for details on how to use this API operation. 1401// 1402// The context must be non-nil and will be used for request cancellation. If 1403// the context is nil a panic will occur. In the future the SDK may create 1404// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1405// for more information on using Contexts. 1406func (c *WAFRegional) CreateSizeConstraintSetWithContext(ctx aws.Context, input *waf.CreateSizeConstraintSetInput, opts ...request.Option) (*waf.CreateSizeConstraintSetOutput, error) { 1407 req, out := c.CreateSizeConstraintSetRequest(input) 1408 req.SetContext(ctx) 1409 req.ApplyOptions(opts...) 1410 return out, req.Send() 1411} 1412 1413const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet" 1414 1415// CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 1416// client's request for the CreateSqlInjectionMatchSet operation. The "output" return 1417// value will be populated with the request's response once the request completes 1418// successfully. 1419// 1420// Use "Send" method on the returned Request to send the API call to the service. 1421// the "output" return value is not valid until after Send returns without error. 1422// 1423// See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet 1424// API call, and error handling. 1425// 1426// This method is useful when you want to inject custom logic or configuration 1427// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1428// 1429// 1430// // Example sending a request using the CreateSqlInjectionMatchSetRequest method. 1431// req, resp := client.CreateSqlInjectionMatchSetRequest(params) 1432// 1433// err := req.Send() 1434// if err == nil { // resp is now filled 1435// fmt.Println(resp) 1436// } 1437// 1438// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet 1439func (c *WAFRegional) CreateSqlInjectionMatchSetRequest(input *waf.CreateSqlInjectionMatchSetInput) (req *request.Request, output *waf.CreateSqlInjectionMatchSetOutput) { 1440 op := &request.Operation{ 1441 Name: opCreateSqlInjectionMatchSet, 1442 HTTPMethod: "POST", 1443 HTTPPath: "/", 1444 } 1445 1446 if input == nil { 1447 input = &waf.CreateSqlInjectionMatchSetInput{} 1448 } 1449 1450 output = &waf.CreateSqlInjectionMatchSetOutput{} 1451 req = c.newRequest(op, input, output) 1452 return 1453} 1454 1455// CreateSqlInjectionMatchSet API operation for AWS WAF Regional. 1456// 1457// Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests 1458// that contain snippets of SQL code in a specified part of web requests. AWS 1459// WAF searches for character sequences that are likely to be malicious strings. 1460// 1461// To create and configure a SqlInjectionMatchSet, perform the following steps: 1462// 1463// Use GetChangeToken to get the change token that you provide in the ChangeToken 1464// parameter of a CreateSqlInjectionMatchSet request. 1465// 1466// Submit a CreateSqlInjectionMatchSet request. 1467// 1468// Use GetChangeToken to get the change token that you provide in the ChangeToken 1469// parameter of an UpdateSqlInjectionMatchSet request. 1470// 1471// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web 1472// requests in which you want to allow, block, or count malicious SQL code. 1473// 1474// For more information about how to use the AWS WAF API to allow or block HTTP 1475// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1476// 1477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1478// with awserr.Error's Code and Message methods to get detailed information about 1479// the error. 1480// 1481// See the AWS API reference guide for AWS WAF Regional's 1482// API operation CreateSqlInjectionMatchSet for usage and error information. 1483// 1484// Returned Error Codes: 1485// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1486// The name specified is invalid. 1487// 1488// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1489// The operation failed because of a system problem, even though the request 1490// was valid. Retry your request. 1491// 1492// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 1493// The operation failed because you tried to create, update, or delete an object 1494// by using an invalid account identifier. 1495// 1496// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 1497// The operation failed because AWS WAF didn't recognize a parameter in the 1498// request. For example: 1499// 1500// * You specified an invalid parameter name. 1501// 1502// * You specified an invalid value. 1503// 1504// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1505// using an action other than INSERT or DELETE. 1506// 1507// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1508// BLOCK, or COUNT. 1509// 1510// * You tried to create a RateBasedRule with a RateKey value other than 1511// IP. 1512// 1513// * You tried to update a WebACL with a WafAction Type other than ALLOW, 1514// BLOCK, or COUNT. 1515// 1516// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1517// HEADER, METHOD, QUERY_STRING, URI, or BODY. 1518// 1519// * You tried to update a ByteMatchSet with a Field of HEADER but no value 1520// for Data. 1521// 1522// * Your request references an ARN that is malformed, or corresponds to 1523// a resource with which a web ACL cannot be associated. 1524// 1525// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1526// The operation failed because you tried to create, update, or delete an object 1527// by using a change token that has already been used. 1528// 1529// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1530// The operation exceeds a resource limit, for example, the maximum number of 1531// WebACL objects that you can create for an AWS account. For more information, 1532// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1533// in the AWS WAF Developer Guide. 1534// 1535// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet 1536func (c *WAFRegional) CreateSqlInjectionMatchSet(input *waf.CreateSqlInjectionMatchSetInput) (*waf.CreateSqlInjectionMatchSetOutput, error) { 1537 req, out := c.CreateSqlInjectionMatchSetRequest(input) 1538 return out, req.Send() 1539} 1540 1541// CreateSqlInjectionMatchSetWithContext is the same as CreateSqlInjectionMatchSet with the addition of 1542// the ability to pass a context and additional request options. 1543// 1544// See CreateSqlInjectionMatchSet for details on how to use this API operation. 1545// 1546// The context must be non-nil and will be used for request cancellation. If 1547// the context is nil a panic will occur. In the future the SDK may create 1548// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1549// for more information on using Contexts. 1550func (c *WAFRegional) CreateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.CreateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.CreateSqlInjectionMatchSetOutput, error) { 1551 req, out := c.CreateSqlInjectionMatchSetRequest(input) 1552 req.SetContext(ctx) 1553 req.ApplyOptions(opts...) 1554 return out, req.Send() 1555} 1556 1557const opCreateWebACL = "CreateWebACL" 1558 1559// CreateWebACLRequest generates a "aws/request.Request" representing the 1560// client's request for the CreateWebACL operation. The "output" return 1561// value will be populated with the request's response once the request completes 1562// successfully. 1563// 1564// Use "Send" method on the returned Request to send the API call to the service. 1565// the "output" return value is not valid until after Send returns without error. 1566// 1567// See CreateWebACL for more information on using the CreateWebACL 1568// API call, and error handling. 1569// 1570// This method is useful when you want to inject custom logic or configuration 1571// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1572// 1573// 1574// // Example sending a request using the CreateWebACLRequest method. 1575// req, resp := client.CreateWebACLRequest(params) 1576// 1577// err := req.Send() 1578// if err == nil { // resp is now filled 1579// fmt.Println(resp) 1580// } 1581// 1582// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL 1583func (c *WAFRegional) CreateWebACLRequest(input *waf.CreateWebACLInput) (req *request.Request, output *waf.CreateWebACLOutput) { 1584 op := &request.Operation{ 1585 Name: opCreateWebACL, 1586 HTTPMethod: "POST", 1587 HTTPPath: "/", 1588 } 1589 1590 if input == nil { 1591 input = &waf.CreateWebACLInput{} 1592 } 1593 1594 output = &waf.CreateWebACLOutput{} 1595 req = c.newRequest(op, input, output) 1596 return 1597} 1598 1599// CreateWebACL API operation for AWS WAF Regional. 1600// 1601// Creates a WebACL, which contains the Rules that identify the CloudFront web 1602// requests that you want to allow, block, or count. AWS WAF evaluates Rules 1603// in order based on the value of Priority for each Rule. 1604// 1605// You also specify a default action, either ALLOW or BLOCK. If a web request 1606// doesn't match any of the Rules in a WebACL, AWS WAF responds to the request 1607// with the default action. 1608// 1609// To create and configure a WebACL, perform the following steps: 1610// 1611// Create and update the ByteMatchSet objects and other predicates that you 1612// want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, 1613// CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. 1614// 1615// Create and update the Rules that you want to include in the WebACL. For more 1616// information, see CreateRule and UpdateRule. 1617// 1618// Use GetChangeToken to get the change token that you provide in the ChangeToken 1619// parameter of a CreateWebACL request. 1620// 1621// Submit a CreateWebACL request. 1622// 1623// Use GetChangeToken to get the change token that you provide in the ChangeToken 1624// parameter of an UpdateWebACL request. 1625// 1626// Submit an UpdateWebACL request to specify the Rules that you want to include 1627// in the WebACL, to specify the default action, and to associate the WebACL 1628// with a CloudFront distribution. 1629// 1630// For more information about how to use the AWS WAF API, see the AWS WAF Developer 1631// Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1632// 1633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1634// with awserr.Error's Code and Message methods to get detailed information about 1635// the error. 1636// 1637// See the AWS API reference guide for AWS WAF Regional's 1638// API operation CreateWebACL for usage and error information. 1639// 1640// Returned Error Codes: 1641// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1642// The operation failed because you tried to create, update, or delete an object 1643// by using a change token that has already been used. 1644// 1645// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1646// The operation failed because of a system problem, even though the request 1647// was valid. Retry your request. 1648// 1649// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 1650// The operation failed because you tried to create, update, or delete an object 1651// by using an invalid account identifier. 1652// 1653// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1654// The name specified is invalid. 1655// 1656// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 1657// The operation failed because AWS WAF didn't recognize a parameter in the 1658// request. For example: 1659// 1660// * You specified an invalid parameter name. 1661// 1662// * You specified an invalid value. 1663// 1664// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1665// using an action other than INSERT or DELETE. 1666// 1667// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1668// BLOCK, or COUNT. 1669// 1670// * You tried to create a RateBasedRule with a RateKey value other than 1671// IP. 1672// 1673// * You tried to update a WebACL with a WafAction Type other than ALLOW, 1674// BLOCK, or COUNT. 1675// 1676// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1677// HEADER, METHOD, QUERY_STRING, URI, or BODY. 1678// 1679// * You tried to update a ByteMatchSet with a Field of HEADER but no value 1680// for Data. 1681// 1682// * Your request references an ARN that is malformed, or corresponds to 1683// a resource with which a web ACL cannot be associated. 1684// 1685// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1686// The operation exceeds a resource limit, for example, the maximum number of 1687// WebACL objects that you can create for an AWS account. For more information, 1688// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1689// in the AWS WAF Developer Guide. 1690// 1691// * ErrCodeWAFTagOperationException "WAFTagOperationException" 1692// 1693// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 1694// 1695// * ErrCodeWAFBadRequestException "WAFBadRequestException" 1696// 1697// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL 1698func (c *WAFRegional) CreateWebACL(input *waf.CreateWebACLInput) (*waf.CreateWebACLOutput, error) { 1699 req, out := c.CreateWebACLRequest(input) 1700 return out, req.Send() 1701} 1702 1703// CreateWebACLWithContext is the same as CreateWebACL with the addition of 1704// the ability to pass a context and additional request options. 1705// 1706// See CreateWebACL for details on how to use this API operation. 1707// 1708// The context must be non-nil and will be used for request cancellation. If 1709// the context is nil a panic will occur. In the future the SDK may create 1710// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1711// for more information on using Contexts. 1712func (c *WAFRegional) CreateWebACLWithContext(ctx aws.Context, input *waf.CreateWebACLInput, opts ...request.Option) (*waf.CreateWebACLOutput, error) { 1713 req, out := c.CreateWebACLRequest(input) 1714 req.SetContext(ctx) 1715 req.ApplyOptions(opts...) 1716 return out, req.Send() 1717} 1718 1719const opCreateXssMatchSet = "CreateXssMatchSet" 1720 1721// CreateXssMatchSetRequest generates a "aws/request.Request" representing the 1722// client's request for the CreateXssMatchSet operation. The "output" return 1723// value will be populated with the request's response once the request completes 1724// successfully. 1725// 1726// Use "Send" method on the returned Request to send the API call to the service. 1727// the "output" return value is not valid until after Send returns without error. 1728// 1729// See CreateXssMatchSet for more information on using the CreateXssMatchSet 1730// API call, and error handling. 1731// 1732// This method is useful when you want to inject custom logic or configuration 1733// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1734// 1735// 1736// // Example sending a request using the CreateXssMatchSetRequest method. 1737// req, resp := client.CreateXssMatchSetRequest(params) 1738// 1739// err := req.Send() 1740// if err == nil { // resp is now filled 1741// fmt.Println(resp) 1742// } 1743// 1744// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet 1745func (c *WAFRegional) CreateXssMatchSetRequest(input *waf.CreateXssMatchSetInput) (req *request.Request, output *waf.CreateXssMatchSetOutput) { 1746 op := &request.Operation{ 1747 Name: opCreateXssMatchSet, 1748 HTTPMethod: "POST", 1749 HTTPPath: "/", 1750 } 1751 1752 if input == nil { 1753 input = &waf.CreateXssMatchSetInput{} 1754 } 1755 1756 output = &waf.CreateXssMatchSetOutput{} 1757 req = c.newRequest(op, input, output) 1758 return 1759} 1760 1761// CreateXssMatchSet API operation for AWS WAF Regional. 1762// 1763// Creates an XssMatchSet, which you use to allow, block, or count requests 1764// that contain cross-site scripting attacks in the specified part of web requests. 1765// AWS WAF searches for character sequences that are likely to be malicious 1766// strings. 1767// 1768// To create and configure an XssMatchSet, perform the following steps: 1769// 1770// Use GetChangeToken to get the change token that you provide in the ChangeToken 1771// parameter of a CreateXssMatchSet request. 1772// 1773// Submit a CreateXssMatchSet request. 1774// 1775// Use GetChangeToken to get the change token that you provide in the ChangeToken 1776// parameter of an UpdateXssMatchSet request. 1777// 1778// Submit an UpdateXssMatchSet request to specify the parts of web requests 1779// in which you want to allow, block, or count cross-site scripting attacks. 1780// 1781// For more information about how to use the AWS WAF API to allow or block HTTP 1782// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1783// 1784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1785// with awserr.Error's Code and Message methods to get detailed information about 1786// the error. 1787// 1788// See the AWS API reference guide for AWS WAF Regional's 1789// API operation CreateXssMatchSet for usage and error information. 1790// 1791// Returned Error Codes: 1792// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 1793// The name specified is invalid. 1794// 1795// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1796// The operation failed because of a system problem, even though the request 1797// was valid. Retry your request. 1798// 1799// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 1800// The operation failed because you tried to create, update, or delete an object 1801// by using an invalid account identifier. 1802// 1803// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 1804// The operation failed because AWS WAF didn't recognize a parameter in the 1805// request. For example: 1806// 1807// * You specified an invalid parameter name. 1808// 1809// * You specified an invalid value. 1810// 1811// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1812// using an action other than INSERT or DELETE. 1813// 1814// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1815// BLOCK, or COUNT. 1816// 1817// * You tried to create a RateBasedRule with a RateKey value other than 1818// IP. 1819// 1820// * You tried to update a WebACL with a WafAction Type other than ALLOW, 1821// BLOCK, or COUNT. 1822// 1823// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1824// HEADER, METHOD, QUERY_STRING, URI, or BODY. 1825// 1826// * You tried to update a ByteMatchSet with a Field of HEADER but no value 1827// for Data. 1828// 1829// * Your request references an ARN that is malformed, or corresponds to 1830// a resource with which a web ACL cannot be associated. 1831// 1832// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1833// The operation failed because you tried to create, update, or delete an object 1834// by using a change token that has already been used. 1835// 1836// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 1837// The operation exceeds a resource limit, for example, the maximum number of 1838// WebACL objects that you can create for an AWS account. For more information, 1839// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1840// in the AWS WAF Developer Guide. 1841// 1842// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet 1843func (c *WAFRegional) CreateXssMatchSet(input *waf.CreateXssMatchSetInput) (*waf.CreateXssMatchSetOutput, error) { 1844 req, out := c.CreateXssMatchSetRequest(input) 1845 return out, req.Send() 1846} 1847 1848// CreateXssMatchSetWithContext is the same as CreateXssMatchSet with the addition of 1849// the ability to pass a context and additional request options. 1850// 1851// See CreateXssMatchSet for details on how to use this API operation. 1852// 1853// The context must be non-nil and will be used for request cancellation. If 1854// the context is nil a panic will occur. In the future the SDK may create 1855// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1856// for more information on using Contexts. 1857func (c *WAFRegional) CreateXssMatchSetWithContext(ctx aws.Context, input *waf.CreateXssMatchSetInput, opts ...request.Option) (*waf.CreateXssMatchSetOutput, error) { 1858 req, out := c.CreateXssMatchSetRequest(input) 1859 req.SetContext(ctx) 1860 req.ApplyOptions(opts...) 1861 return out, req.Send() 1862} 1863 1864const opDeleteByteMatchSet = "DeleteByteMatchSet" 1865 1866// DeleteByteMatchSetRequest generates a "aws/request.Request" representing the 1867// client's request for the DeleteByteMatchSet operation. The "output" return 1868// value will be populated with the request's response once the request completes 1869// successfully. 1870// 1871// Use "Send" method on the returned Request to send the API call to the service. 1872// the "output" return value is not valid until after Send returns without error. 1873// 1874// See DeleteByteMatchSet for more information on using the DeleteByteMatchSet 1875// API call, and error handling. 1876// 1877// This method is useful when you want to inject custom logic or configuration 1878// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1879// 1880// 1881// // Example sending a request using the DeleteByteMatchSetRequest method. 1882// req, resp := client.DeleteByteMatchSetRequest(params) 1883// 1884// err := req.Send() 1885// if err == nil { // resp is now filled 1886// fmt.Println(resp) 1887// } 1888// 1889// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet 1890func (c *WAFRegional) DeleteByteMatchSetRequest(input *waf.DeleteByteMatchSetInput) (req *request.Request, output *waf.DeleteByteMatchSetOutput) { 1891 op := &request.Operation{ 1892 Name: opDeleteByteMatchSet, 1893 HTTPMethod: "POST", 1894 HTTPPath: "/", 1895 } 1896 1897 if input == nil { 1898 input = &waf.DeleteByteMatchSetInput{} 1899 } 1900 1901 output = &waf.DeleteByteMatchSetOutput{} 1902 req = c.newRequest(op, input, output) 1903 return 1904} 1905 1906// DeleteByteMatchSet API operation for AWS WAF Regional. 1907// 1908// Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's 1909// still used in any Rules or if it still includes any ByteMatchTuple objects 1910// (any filters). 1911// 1912// If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. 1913// 1914// To permanently delete a ByteMatchSet, perform the following steps: 1915// 1916// Update the ByteMatchSet to remove filters, if any. For more information, 1917// see UpdateByteMatchSet. 1918// 1919// Use GetChangeToken to get the change token that you provide in the ChangeToken 1920// parameter of a DeleteByteMatchSet request. 1921// 1922// Submit a DeleteByteMatchSet request. 1923// 1924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1925// with awserr.Error's Code and Message methods to get detailed information about 1926// the error. 1927// 1928// See the AWS API reference guide for AWS WAF Regional's 1929// API operation DeleteByteMatchSet for usage and error information. 1930// 1931// Returned Error Codes: 1932// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 1933// The operation failed because of a system problem, even though the request 1934// was valid. Retry your request. 1935// 1936// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 1937// The operation failed because you tried to create, update, or delete an object 1938// by using an invalid account identifier. 1939// 1940// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 1941// The operation failed because the referenced object doesn't exist. 1942// 1943// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 1944// The operation failed because you tried to delete an object that is still 1945// in use. For example: 1946// 1947// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 1948// 1949// * You tried to delete a Rule that is still referenced by a WebACL. 1950// 1951// * ErrCodeWAFStaleDataException "WAFStaleDataException" 1952// The operation failed because you tried to create, update, or delete an object 1953// by using a change token that has already been used. 1954// 1955// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 1956// The operation failed because you tried to delete an object that isn't empty. 1957// For example: 1958// 1959// * You tried to delete a WebACL that still contains one or more Rule objects. 1960// 1961// * You tried to delete a Rule that still contains one or more ByteMatchSet 1962// objects or other predicates. 1963// 1964// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 1965// objects. 1966// 1967// * You tried to delete an IPSet that references one or more IP addresses. 1968// 1969// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet 1970func (c *WAFRegional) DeleteByteMatchSet(input *waf.DeleteByteMatchSetInput) (*waf.DeleteByteMatchSetOutput, error) { 1971 req, out := c.DeleteByteMatchSetRequest(input) 1972 return out, req.Send() 1973} 1974 1975// DeleteByteMatchSetWithContext is the same as DeleteByteMatchSet with the addition of 1976// the ability to pass a context and additional request options. 1977// 1978// See DeleteByteMatchSet for details on how to use this API operation. 1979// 1980// The context must be non-nil and will be used for request cancellation. If 1981// the context is nil a panic will occur. In the future the SDK may create 1982// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1983// for more information on using Contexts. 1984func (c *WAFRegional) DeleteByteMatchSetWithContext(ctx aws.Context, input *waf.DeleteByteMatchSetInput, opts ...request.Option) (*waf.DeleteByteMatchSetOutput, error) { 1985 req, out := c.DeleteByteMatchSetRequest(input) 1986 req.SetContext(ctx) 1987 req.ApplyOptions(opts...) 1988 return out, req.Send() 1989} 1990 1991const opDeleteGeoMatchSet = "DeleteGeoMatchSet" 1992 1993// DeleteGeoMatchSetRequest generates a "aws/request.Request" representing the 1994// client's request for the DeleteGeoMatchSet operation. The "output" return 1995// value will be populated with the request's response once the request completes 1996// successfully. 1997// 1998// Use "Send" method on the returned Request to send the API call to the service. 1999// the "output" return value is not valid until after Send returns without error. 2000// 2001// See DeleteGeoMatchSet for more information on using the DeleteGeoMatchSet 2002// API call, and error handling. 2003// 2004// This method is useful when you want to inject custom logic or configuration 2005// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2006// 2007// 2008// // Example sending a request using the DeleteGeoMatchSetRequest method. 2009// req, resp := client.DeleteGeoMatchSetRequest(params) 2010// 2011// err := req.Send() 2012// if err == nil { // resp is now filled 2013// fmt.Println(resp) 2014// } 2015// 2016// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet 2017func (c *WAFRegional) DeleteGeoMatchSetRequest(input *waf.DeleteGeoMatchSetInput) (req *request.Request, output *waf.DeleteGeoMatchSetOutput) { 2018 op := &request.Operation{ 2019 Name: opDeleteGeoMatchSet, 2020 HTTPMethod: "POST", 2021 HTTPPath: "/", 2022 } 2023 2024 if input == nil { 2025 input = &waf.DeleteGeoMatchSetInput{} 2026 } 2027 2028 output = &waf.DeleteGeoMatchSetOutput{} 2029 req = c.newRequest(op, input, output) 2030 return 2031} 2032 2033// DeleteGeoMatchSet API operation for AWS WAF Regional. 2034// 2035// Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's 2036// still used in any Rules or if it still includes any countries. 2037// 2038// If you just want to remove a GeoMatchSet from a Rule, use UpdateRule. 2039// 2040// To permanently delete a GeoMatchSet from AWS WAF, perform the following steps: 2041// 2042// Update the GeoMatchSet to remove any countries. For more information, see 2043// UpdateGeoMatchSet. 2044// 2045// Use GetChangeToken to get the change token that you provide in the ChangeToken 2046// parameter of a DeleteGeoMatchSet request. 2047// 2048// Submit a DeleteGeoMatchSet request. 2049// 2050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2051// with awserr.Error's Code and Message methods to get detailed information about 2052// the error. 2053// 2054// See the AWS API reference guide for AWS WAF Regional's 2055// API operation DeleteGeoMatchSet for usage and error information. 2056// 2057// Returned Error Codes: 2058// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2059// The operation failed because you tried to create, update, or delete an object 2060// by using a change token that has already been used. 2061// 2062// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2063// The operation failed because of a system problem, even though the request 2064// was valid. Retry your request. 2065// 2066// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2067// The operation failed because you tried to create, update, or delete an object 2068// by using an invalid account identifier. 2069// 2070// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2071// The operation failed because the referenced object doesn't exist. 2072// 2073// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2074// The operation failed because you tried to delete an object that is still 2075// in use. For example: 2076// 2077// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2078// 2079// * You tried to delete a Rule that is still referenced by a WebACL. 2080// 2081// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2082// The operation failed because you tried to delete an object that isn't empty. 2083// For example: 2084// 2085// * You tried to delete a WebACL that still contains one or more Rule objects. 2086// 2087// * You tried to delete a Rule that still contains one or more ByteMatchSet 2088// objects or other predicates. 2089// 2090// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2091// objects. 2092// 2093// * You tried to delete an IPSet that references one or more IP addresses. 2094// 2095// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet 2096func (c *WAFRegional) DeleteGeoMatchSet(input *waf.DeleteGeoMatchSetInput) (*waf.DeleteGeoMatchSetOutput, error) { 2097 req, out := c.DeleteGeoMatchSetRequest(input) 2098 return out, req.Send() 2099} 2100 2101// DeleteGeoMatchSetWithContext is the same as DeleteGeoMatchSet with the addition of 2102// the ability to pass a context and additional request options. 2103// 2104// See DeleteGeoMatchSet for details on how to use this API operation. 2105// 2106// The context must be non-nil and will be used for request cancellation. If 2107// the context is nil a panic will occur. In the future the SDK may create 2108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2109// for more information on using Contexts. 2110func (c *WAFRegional) DeleteGeoMatchSetWithContext(ctx aws.Context, input *waf.DeleteGeoMatchSetInput, opts ...request.Option) (*waf.DeleteGeoMatchSetOutput, error) { 2111 req, out := c.DeleteGeoMatchSetRequest(input) 2112 req.SetContext(ctx) 2113 req.ApplyOptions(opts...) 2114 return out, req.Send() 2115} 2116 2117const opDeleteIPSet = "DeleteIPSet" 2118 2119// DeleteIPSetRequest generates a "aws/request.Request" representing the 2120// client's request for the DeleteIPSet operation. The "output" return 2121// value will be populated with the request's response once the request completes 2122// successfully. 2123// 2124// Use "Send" method on the returned Request to send the API call to the service. 2125// the "output" return value is not valid until after Send returns without error. 2126// 2127// See DeleteIPSet for more information on using the DeleteIPSet 2128// API call, and error handling. 2129// 2130// This method is useful when you want to inject custom logic or configuration 2131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2132// 2133// 2134// // Example sending a request using the DeleteIPSetRequest method. 2135// req, resp := client.DeleteIPSetRequest(params) 2136// 2137// err := req.Send() 2138// if err == nil { // resp is now filled 2139// fmt.Println(resp) 2140// } 2141// 2142// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet 2143func (c *WAFRegional) DeleteIPSetRequest(input *waf.DeleteIPSetInput) (req *request.Request, output *waf.DeleteIPSetOutput) { 2144 op := &request.Operation{ 2145 Name: opDeleteIPSet, 2146 HTTPMethod: "POST", 2147 HTTPPath: "/", 2148 } 2149 2150 if input == nil { 2151 input = &waf.DeleteIPSetInput{} 2152 } 2153 2154 output = &waf.DeleteIPSetOutput{} 2155 req = c.newRequest(op, input, output) 2156 return 2157} 2158 2159// DeleteIPSet API operation for AWS WAF Regional. 2160// 2161// Permanently deletes an IPSet. You can't delete an IPSet if it's still used 2162// in any Rules or if it still includes any IP addresses. 2163// 2164// If you just want to remove an IPSet from a Rule, use UpdateRule. 2165// 2166// To permanently delete an IPSet from AWS WAF, perform the following steps: 2167// 2168// Update the IPSet to remove IP address ranges, if any. For more information, 2169// see UpdateIPSet. 2170// 2171// Use GetChangeToken to get the change token that you provide in the ChangeToken 2172// parameter of a DeleteIPSet request. 2173// 2174// Submit a DeleteIPSet request. 2175// 2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2177// with awserr.Error's Code and Message methods to get detailed information about 2178// the error. 2179// 2180// See the AWS API reference guide for AWS WAF Regional's 2181// API operation DeleteIPSet for usage and error information. 2182// 2183// Returned Error Codes: 2184// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2185// The operation failed because you tried to create, update, or delete an object 2186// by using a change token that has already been used. 2187// 2188// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2189// The operation failed because of a system problem, even though the request 2190// was valid. Retry your request. 2191// 2192// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2193// The operation failed because you tried to create, update, or delete an object 2194// by using an invalid account identifier. 2195// 2196// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2197// The operation failed because the referenced object doesn't exist. 2198// 2199// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2200// The operation failed because you tried to delete an object that is still 2201// in use. For example: 2202// 2203// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2204// 2205// * You tried to delete a Rule that is still referenced by a WebACL. 2206// 2207// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2208// The operation failed because you tried to delete an object that isn't empty. 2209// For example: 2210// 2211// * You tried to delete a WebACL that still contains one or more Rule objects. 2212// 2213// * You tried to delete a Rule that still contains one or more ByteMatchSet 2214// objects or other predicates. 2215// 2216// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2217// objects. 2218// 2219// * You tried to delete an IPSet that references one or more IP addresses. 2220// 2221// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet 2222func (c *WAFRegional) DeleteIPSet(input *waf.DeleteIPSetInput) (*waf.DeleteIPSetOutput, error) { 2223 req, out := c.DeleteIPSetRequest(input) 2224 return out, req.Send() 2225} 2226 2227// DeleteIPSetWithContext is the same as DeleteIPSet with the addition of 2228// the ability to pass a context and additional request options. 2229// 2230// See DeleteIPSet for details on how to use this API operation. 2231// 2232// The context must be non-nil and will be used for request cancellation. If 2233// the context is nil a panic will occur. In the future the SDK may create 2234// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2235// for more information on using Contexts. 2236func (c *WAFRegional) DeleteIPSetWithContext(ctx aws.Context, input *waf.DeleteIPSetInput, opts ...request.Option) (*waf.DeleteIPSetOutput, error) { 2237 req, out := c.DeleteIPSetRequest(input) 2238 req.SetContext(ctx) 2239 req.ApplyOptions(opts...) 2240 return out, req.Send() 2241} 2242 2243const opDeleteLoggingConfiguration = "DeleteLoggingConfiguration" 2244 2245// DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the 2246// client's request for the DeleteLoggingConfiguration operation. The "output" return 2247// value will be populated with the request's response once the request completes 2248// successfully. 2249// 2250// Use "Send" method on the returned Request to send the API call to the service. 2251// the "output" return value is not valid until after Send returns without error. 2252// 2253// See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration 2254// API call, and error handling. 2255// 2256// This method is useful when you want to inject custom logic or configuration 2257// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2258// 2259// 2260// // Example sending a request using the DeleteLoggingConfigurationRequest method. 2261// req, resp := client.DeleteLoggingConfigurationRequest(params) 2262// 2263// err := req.Send() 2264// if err == nil { // resp is now filled 2265// fmt.Println(resp) 2266// } 2267// 2268// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration 2269func (c *WAFRegional) DeleteLoggingConfigurationRequest(input *waf.DeleteLoggingConfigurationInput) (req *request.Request, output *waf.DeleteLoggingConfigurationOutput) { 2270 op := &request.Operation{ 2271 Name: opDeleteLoggingConfiguration, 2272 HTTPMethod: "POST", 2273 HTTPPath: "/", 2274 } 2275 2276 if input == nil { 2277 input = &waf.DeleteLoggingConfigurationInput{} 2278 } 2279 2280 output = &waf.DeleteLoggingConfigurationOutput{} 2281 req = c.newRequest(op, input, output) 2282 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2283 return 2284} 2285 2286// DeleteLoggingConfiguration API operation for AWS WAF Regional. 2287// 2288// Permanently deletes the LoggingConfiguration from the specified web ACL. 2289// 2290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2291// with awserr.Error's Code and Message methods to get detailed information about 2292// the error. 2293// 2294// See the AWS API reference guide for AWS WAF Regional's 2295// API operation DeleteLoggingConfiguration for usage and error information. 2296// 2297// Returned Error Codes: 2298// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2299// The operation failed because of a system problem, even though the request 2300// was valid. Retry your request. 2301// 2302// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2303// The operation failed because the referenced object doesn't exist. 2304// 2305// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2306// The operation failed because you tried to create, update, or delete an object 2307// by using a change token that has already been used. 2308// 2309// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration 2310func (c *WAFRegional) DeleteLoggingConfiguration(input *waf.DeleteLoggingConfigurationInput) (*waf.DeleteLoggingConfigurationOutput, error) { 2311 req, out := c.DeleteLoggingConfigurationRequest(input) 2312 return out, req.Send() 2313} 2314 2315// DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of 2316// the ability to pass a context and additional request options. 2317// 2318// See DeleteLoggingConfiguration for details on how to use this API operation. 2319// 2320// The context must be non-nil and will be used for request cancellation. If 2321// the context is nil a panic will occur. In the future the SDK may create 2322// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2323// for more information on using Contexts. 2324func (c *WAFRegional) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *waf.DeleteLoggingConfigurationInput, opts ...request.Option) (*waf.DeleteLoggingConfigurationOutput, error) { 2325 req, out := c.DeleteLoggingConfigurationRequest(input) 2326 req.SetContext(ctx) 2327 req.ApplyOptions(opts...) 2328 return out, req.Send() 2329} 2330 2331const opDeletePermissionPolicy = "DeletePermissionPolicy" 2332 2333// DeletePermissionPolicyRequest generates a "aws/request.Request" representing the 2334// client's request for the DeletePermissionPolicy operation. The "output" return 2335// value will be populated with the request's response once the request completes 2336// successfully. 2337// 2338// Use "Send" method on the returned Request to send the API call to the service. 2339// the "output" return value is not valid until after Send returns without error. 2340// 2341// See DeletePermissionPolicy for more information on using the DeletePermissionPolicy 2342// API call, and error handling. 2343// 2344// This method is useful when you want to inject custom logic or configuration 2345// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2346// 2347// 2348// // Example sending a request using the DeletePermissionPolicyRequest method. 2349// req, resp := client.DeletePermissionPolicyRequest(params) 2350// 2351// err := req.Send() 2352// if err == nil { // resp is now filled 2353// fmt.Println(resp) 2354// } 2355// 2356// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy 2357func (c *WAFRegional) DeletePermissionPolicyRequest(input *waf.DeletePermissionPolicyInput) (req *request.Request, output *waf.DeletePermissionPolicyOutput) { 2358 op := &request.Operation{ 2359 Name: opDeletePermissionPolicy, 2360 HTTPMethod: "POST", 2361 HTTPPath: "/", 2362 } 2363 2364 if input == nil { 2365 input = &waf.DeletePermissionPolicyInput{} 2366 } 2367 2368 output = &waf.DeletePermissionPolicyOutput{} 2369 req = c.newRequest(op, input, output) 2370 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2371 return 2372} 2373 2374// DeletePermissionPolicy API operation for AWS WAF Regional. 2375// 2376// Permanently deletes an IAM policy from the specified RuleGroup. 2377// 2378// The user making the request must be the owner of the RuleGroup. 2379// 2380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2381// with awserr.Error's Code and Message methods to get detailed information about 2382// the error. 2383// 2384// See the AWS API reference guide for AWS WAF Regional's 2385// API operation DeletePermissionPolicy for usage and error information. 2386// 2387// Returned Error Codes: 2388// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2389// The operation failed because of a system problem, even though the request 2390// was valid. Retry your request. 2391// 2392// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2393// The operation failed because you tried to create, update, or delete an object 2394// by using a change token that has already been used. 2395// 2396// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2397// The operation failed because the referenced object doesn't exist. 2398// 2399// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy 2400func (c *WAFRegional) DeletePermissionPolicy(input *waf.DeletePermissionPolicyInput) (*waf.DeletePermissionPolicyOutput, error) { 2401 req, out := c.DeletePermissionPolicyRequest(input) 2402 return out, req.Send() 2403} 2404 2405// DeletePermissionPolicyWithContext is the same as DeletePermissionPolicy with the addition of 2406// the ability to pass a context and additional request options. 2407// 2408// See DeletePermissionPolicy for details on how to use this API operation. 2409// 2410// The context must be non-nil and will be used for request cancellation. If 2411// the context is nil a panic will occur. In the future the SDK may create 2412// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2413// for more information on using Contexts. 2414func (c *WAFRegional) DeletePermissionPolicyWithContext(ctx aws.Context, input *waf.DeletePermissionPolicyInput, opts ...request.Option) (*waf.DeletePermissionPolicyOutput, error) { 2415 req, out := c.DeletePermissionPolicyRequest(input) 2416 req.SetContext(ctx) 2417 req.ApplyOptions(opts...) 2418 return out, req.Send() 2419} 2420 2421const opDeleteRateBasedRule = "DeleteRateBasedRule" 2422 2423// DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the 2424// client's request for the DeleteRateBasedRule operation. The "output" return 2425// value will be populated with the request's response once the request completes 2426// successfully. 2427// 2428// Use "Send" method on the returned Request to send the API call to the service. 2429// the "output" return value is not valid until after Send returns without error. 2430// 2431// See DeleteRateBasedRule for more information on using the DeleteRateBasedRule 2432// API call, and error handling. 2433// 2434// This method is useful when you want to inject custom logic or configuration 2435// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2436// 2437// 2438// // Example sending a request using the DeleteRateBasedRuleRequest method. 2439// req, resp := client.DeleteRateBasedRuleRequest(params) 2440// 2441// err := req.Send() 2442// if err == nil { // resp is now filled 2443// fmt.Println(resp) 2444// } 2445// 2446// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule 2447func (c *WAFRegional) DeleteRateBasedRuleRequest(input *waf.DeleteRateBasedRuleInput) (req *request.Request, output *waf.DeleteRateBasedRuleOutput) { 2448 op := &request.Operation{ 2449 Name: opDeleteRateBasedRule, 2450 HTTPMethod: "POST", 2451 HTTPPath: "/", 2452 } 2453 2454 if input == nil { 2455 input = &waf.DeleteRateBasedRuleInput{} 2456 } 2457 2458 output = &waf.DeleteRateBasedRuleOutput{} 2459 req = c.newRequest(op, input, output) 2460 return 2461} 2462 2463// DeleteRateBasedRule API operation for AWS WAF Regional. 2464// 2465// Permanently deletes a RateBasedRule. You can't delete a rule if it's still 2466// used in any WebACL objects or if it still includes any predicates, such as 2467// ByteMatchSet objects. 2468// 2469// If you just want to remove a rule from a WebACL, use UpdateWebACL. 2470// 2471// To permanently delete a RateBasedRule from AWS WAF, perform the following 2472// steps: 2473// 2474// Update the RateBasedRule to remove predicates, if any. For more information, 2475// see UpdateRateBasedRule. 2476// 2477// Use GetChangeToken to get the change token that you provide in the ChangeToken 2478// parameter of a DeleteRateBasedRule request. 2479// 2480// Submit a DeleteRateBasedRule request. 2481// 2482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2483// with awserr.Error's Code and Message methods to get detailed information about 2484// the error. 2485// 2486// See the AWS API reference guide for AWS WAF Regional's 2487// API operation DeleteRateBasedRule for usage and error information. 2488// 2489// Returned Error Codes: 2490// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2491// The operation failed because you tried to create, update, or delete an object 2492// by using a change token that has already been used. 2493// 2494// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2495// The operation failed because of a system problem, even though the request 2496// was valid. Retry your request. 2497// 2498// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2499// The operation failed because you tried to create, update, or delete an object 2500// by using an invalid account identifier. 2501// 2502// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2503// The operation failed because the referenced object doesn't exist. 2504// 2505// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2506// The operation failed because you tried to delete an object that is still 2507// in use. For example: 2508// 2509// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2510// 2511// * You tried to delete a Rule that is still referenced by a WebACL. 2512// 2513// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2514// The operation failed because you tried to delete an object that isn't empty. 2515// For example: 2516// 2517// * You tried to delete a WebACL that still contains one or more Rule objects. 2518// 2519// * You tried to delete a Rule that still contains one or more ByteMatchSet 2520// objects or other predicates. 2521// 2522// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2523// objects. 2524// 2525// * You tried to delete an IPSet that references one or more IP addresses. 2526// 2527// * ErrCodeWAFTagOperationException "WAFTagOperationException" 2528// 2529// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 2530// 2531// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule 2532func (c *WAFRegional) DeleteRateBasedRule(input *waf.DeleteRateBasedRuleInput) (*waf.DeleteRateBasedRuleOutput, error) { 2533 req, out := c.DeleteRateBasedRuleRequest(input) 2534 return out, req.Send() 2535} 2536 2537// DeleteRateBasedRuleWithContext is the same as DeleteRateBasedRule with the addition of 2538// the ability to pass a context and additional request options. 2539// 2540// See DeleteRateBasedRule for details on how to use this API operation. 2541// 2542// The context must be non-nil and will be used for request cancellation. If 2543// the context is nil a panic will occur. In the future the SDK may create 2544// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2545// for more information on using Contexts. 2546func (c *WAFRegional) DeleteRateBasedRuleWithContext(ctx aws.Context, input *waf.DeleteRateBasedRuleInput, opts ...request.Option) (*waf.DeleteRateBasedRuleOutput, error) { 2547 req, out := c.DeleteRateBasedRuleRequest(input) 2548 req.SetContext(ctx) 2549 req.ApplyOptions(opts...) 2550 return out, req.Send() 2551} 2552 2553const opDeleteRegexMatchSet = "DeleteRegexMatchSet" 2554 2555// DeleteRegexMatchSetRequest generates a "aws/request.Request" representing the 2556// client's request for the DeleteRegexMatchSet operation. The "output" return 2557// value will be populated with the request's response once the request completes 2558// successfully. 2559// 2560// Use "Send" method on the returned Request to send the API call to the service. 2561// the "output" return value is not valid until after Send returns without error. 2562// 2563// See DeleteRegexMatchSet for more information on using the DeleteRegexMatchSet 2564// API call, and error handling. 2565// 2566// This method is useful when you want to inject custom logic or configuration 2567// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2568// 2569// 2570// // Example sending a request using the DeleteRegexMatchSetRequest method. 2571// req, resp := client.DeleteRegexMatchSetRequest(params) 2572// 2573// err := req.Send() 2574// if err == nil { // resp is now filled 2575// fmt.Println(resp) 2576// } 2577// 2578// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet 2579func (c *WAFRegional) DeleteRegexMatchSetRequest(input *waf.DeleteRegexMatchSetInput) (req *request.Request, output *waf.DeleteRegexMatchSetOutput) { 2580 op := &request.Operation{ 2581 Name: opDeleteRegexMatchSet, 2582 HTTPMethod: "POST", 2583 HTTPPath: "/", 2584 } 2585 2586 if input == nil { 2587 input = &waf.DeleteRegexMatchSetInput{} 2588 } 2589 2590 output = &waf.DeleteRegexMatchSetOutput{} 2591 req = c.newRequest(op, input, output) 2592 return 2593} 2594 2595// DeleteRegexMatchSet API operation for AWS WAF Regional. 2596// 2597// Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if 2598// it's still used in any Rules or if it still includes any RegexMatchTuples 2599// objects (any filters). 2600// 2601// If you just want to remove a RegexMatchSet from a Rule, use UpdateRule. 2602// 2603// To permanently delete a RegexMatchSet, perform the following steps: 2604// 2605// Update the RegexMatchSet to remove filters, if any. For more information, 2606// see UpdateRegexMatchSet. 2607// 2608// Use GetChangeToken to get the change token that you provide in the ChangeToken 2609// parameter of a DeleteRegexMatchSet request. 2610// 2611// Submit a DeleteRegexMatchSet request. 2612// 2613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2614// with awserr.Error's Code and Message methods to get detailed information about 2615// the error. 2616// 2617// See the AWS API reference guide for AWS WAF Regional's 2618// API operation DeleteRegexMatchSet for usage and error information. 2619// 2620// Returned Error Codes: 2621// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2622// The operation failed because of a system problem, even though the request 2623// was valid. Retry your request. 2624// 2625// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2626// The operation failed because you tried to create, update, or delete an object 2627// by using an invalid account identifier. 2628// 2629// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2630// The operation failed because the referenced object doesn't exist. 2631// 2632// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2633// The operation failed because you tried to delete an object that is still 2634// in use. For example: 2635// 2636// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2637// 2638// * You tried to delete a Rule that is still referenced by a WebACL. 2639// 2640// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2641// The operation failed because you tried to create, update, or delete an object 2642// by using a change token that has already been used. 2643// 2644// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2645// The operation failed because you tried to delete an object that isn't empty. 2646// For example: 2647// 2648// * You tried to delete a WebACL that still contains one or more Rule objects. 2649// 2650// * You tried to delete a Rule that still contains one or more ByteMatchSet 2651// objects or other predicates. 2652// 2653// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2654// objects. 2655// 2656// * You tried to delete an IPSet that references one or more IP addresses. 2657// 2658// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet 2659func (c *WAFRegional) DeleteRegexMatchSet(input *waf.DeleteRegexMatchSetInput) (*waf.DeleteRegexMatchSetOutput, error) { 2660 req, out := c.DeleteRegexMatchSetRequest(input) 2661 return out, req.Send() 2662} 2663 2664// DeleteRegexMatchSetWithContext is the same as DeleteRegexMatchSet with the addition of 2665// the ability to pass a context and additional request options. 2666// 2667// See DeleteRegexMatchSet for details on how to use this API operation. 2668// 2669// The context must be non-nil and will be used for request cancellation. If 2670// the context is nil a panic will occur. In the future the SDK may create 2671// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2672// for more information on using Contexts. 2673func (c *WAFRegional) DeleteRegexMatchSetWithContext(ctx aws.Context, input *waf.DeleteRegexMatchSetInput, opts ...request.Option) (*waf.DeleteRegexMatchSetOutput, error) { 2674 req, out := c.DeleteRegexMatchSetRequest(input) 2675 req.SetContext(ctx) 2676 req.ApplyOptions(opts...) 2677 return out, req.Send() 2678} 2679 2680const opDeleteRegexPatternSet = "DeleteRegexPatternSet" 2681 2682// DeleteRegexPatternSetRequest generates a "aws/request.Request" representing the 2683// client's request for the DeleteRegexPatternSet operation. The "output" return 2684// value will be populated with the request's response once the request completes 2685// successfully. 2686// 2687// Use "Send" method on the returned Request to send the API call to the service. 2688// the "output" return value is not valid until after Send returns without error. 2689// 2690// See DeleteRegexPatternSet for more information on using the DeleteRegexPatternSet 2691// API call, and error handling. 2692// 2693// This method is useful when you want to inject custom logic or configuration 2694// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2695// 2696// 2697// // Example sending a request using the DeleteRegexPatternSetRequest method. 2698// req, resp := client.DeleteRegexPatternSetRequest(params) 2699// 2700// err := req.Send() 2701// if err == nil { // resp is now filled 2702// fmt.Println(resp) 2703// } 2704// 2705// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet 2706func (c *WAFRegional) DeleteRegexPatternSetRequest(input *waf.DeleteRegexPatternSetInput) (req *request.Request, output *waf.DeleteRegexPatternSetOutput) { 2707 op := &request.Operation{ 2708 Name: opDeleteRegexPatternSet, 2709 HTTPMethod: "POST", 2710 HTTPPath: "/", 2711 } 2712 2713 if input == nil { 2714 input = &waf.DeleteRegexPatternSetInput{} 2715 } 2716 2717 output = &waf.DeleteRegexPatternSetOutput{} 2718 req = c.newRequest(op, input, output) 2719 return 2720} 2721 2722// DeleteRegexPatternSet API operation for AWS WAF Regional. 2723// 2724// Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet 2725// if it's still used in any RegexMatchSet or if the RegexPatternSet is not 2726// empty. 2727// 2728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2729// with awserr.Error's Code and Message methods to get detailed information about 2730// the error. 2731// 2732// See the AWS API reference guide for AWS WAF Regional's 2733// API operation DeleteRegexPatternSet for usage and error information. 2734// 2735// Returned Error Codes: 2736// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2737// The operation failed because of a system problem, even though the request 2738// was valid. Retry your request. 2739// 2740// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2741// The operation failed because you tried to create, update, or delete an object 2742// by using an invalid account identifier. 2743// 2744// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2745// The operation failed because the referenced object doesn't exist. 2746// 2747// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2748// The operation failed because you tried to delete an object that is still 2749// in use. For example: 2750// 2751// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2752// 2753// * You tried to delete a Rule that is still referenced by a WebACL. 2754// 2755// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2756// The operation failed because you tried to create, update, or delete an object 2757// by using a change token that has already been used. 2758// 2759// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2760// The operation failed because you tried to delete an object that isn't empty. 2761// For example: 2762// 2763// * You tried to delete a WebACL that still contains one or more Rule objects. 2764// 2765// * You tried to delete a Rule that still contains one or more ByteMatchSet 2766// objects or other predicates. 2767// 2768// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2769// objects. 2770// 2771// * You tried to delete an IPSet that references one or more IP addresses. 2772// 2773// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet 2774func (c *WAFRegional) DeleteRegexPatternSet(input *waf.DeleteRegexPatternSetInput) (*waf.DeleteRegexPatternSetOutput, error) { 2775 req, out := c.DeleteRegexPatternSetRequest(input) 2776 return out, req.Send() 2777} 2778 2779// DeleteRegexPatternSetWithContext is the same as DeleteRegexPatternSet with the addition of 2780// the ability to pass a context and additional request options. 2781// 2782// See DeleteRegexPatternSet for details on how to use this API operation. 2783// 2784// The context must be non-nil and will be used for request cancellation. If 2785// the context is nil a panic will occur. In the future the SDK may create 2786// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2787// for more information on using Contexts. 2788func (c *WAFRegional) DeleteRegexPatternSetWithContext(ctx aws.Context, input *waf.DeleteRegexPatternSetInput, opts ...request.Option) (*waf.DeleteRegexPatternSetOutput, error) { 2789 req, out := c.DeleteRegexPatternSetRequest(input) 2790 req.SetContext(ctx) 2791 req.ApplyOptions(opts...) 2792 return out, req.Send() 2793} 2794 2795const opDeleteRule = "DeleteRule" 2796 2797// DeleteRuleRequest generates a "aws/request.Request" representing the 2798// client's request for the DeleteRule operation. The "output" return 2799// value will be populated with the request's response once the request completes 2800// successfully. 2801// 2802// Use "Send" method on the returned Request to send the API call to the service. 2803// the "output" return value is not valid until after Send returns without error. 2804// 2805// See DeleteRule for more information on using the DeleteRule 2806// API call, and error handling. 2807// 2808// This method is useful when you want to inject custom logic or configuration 2809// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2810// 2811// 2812// // Example sending a request using the DeleteRuleRequest method. 2813// req, resp := client.DeleteRuleRequest(params) 2814// 2815// err := req.Send() 2816// if err == nil { // resp is now filled 2817// fmt.Println(resp) 2818// } 2819// 2820// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule 2821func (c *WAFRegional) DeleteRuleRequest(input *waf.DeleteRuleInput) (req *request.Request, output *waf.DeleteRuleOutput) { 2822 op := &request.Operation{ 2823 Name: opDeleteRule, 2824 HTTPMethod: "POST", 2825 HTTPPath: "/", 2826 } 2827 2828 if input == nil { 2829 input = &waf.DeleteRuleInput{} 2830 } 2831 2832 output = &waf.DeleteRuleOutput{} 2833 req = c.newRequest(op, input, output) 2834 return 2835} 2836 2837// DeleteRule API operation for AWS WAF Regional. 2838// 2839// Permanently deletes a Rule. You can't delete a Rule if it's still used in 2840// any WebACL objects or if it still includes any predicates, such as ByteMatchSet 2841// objects. 2842// 2843// If you just want to remove a Rule from a WebACL, use UpdateWebACL. 2844// 2845// To permanently delete a Rule from AWS WAF, perform the following steps: 2846// 2847// Update the Rule to remove predicates, if any. For more information, see UpdateRule. 2848// 2849// Use GetChangeToken to get the change token that you provide in the ChangeToken 2850// parameter of a DeleteRule request. 2851// 2852// Submit a DeleteRule request. 2853// 2854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2855// with awserr.Error's Code and Message methods to get detailed information about 2856// the error. 2857// 2858// See the AWS API reference guide for AWS WAF Regional's 2859// API operation DeleteRule for usage and error information. 2860// 2861// Returned Error Codes: 2862// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2863// The operation failed because you tried to create, update, or delete an object 2864// by using a change token that has already been used. 2865// 2866// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2867// The operation failed because of a system problem, even though the request 2868// was valid. Retry your request. 2869// 2870// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 2871// The operation failed because you tried to create, update, or delete an object 2872// by using an invalid account identifier. 2873// 2874// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 2875// The operation failed because the referenced object doesn't exist. 2876// 2877// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 2878// The operation failed because you tried to delete an object that is still 2879// in use. For example: 2880// 2881// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2882// 2883// * You tried to delete a Rule that is still referenced by a WebACL. 2884// 2885// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 2886// The operation failed because you tried to delete an object that isn't empty. 2887// For example: 2888// 2889// * You tried to delete a WebACL that still contains one or more Rule objects. 2890// 2891// * You tried to delete a Rule that still contains one or more ByteMatchSet 2892// objects or other predicates. 2893// 2894// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2895// objects. 2896// 2897// * You tried to delete an IPSet that references one or more IP addresses. 2898// 2899// * ErrCodeWAFTagOperationException "WAFTagOperationException" 2900// 2901// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 2902// 2903// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule 2904func (c *WAFRegional) DeleteRule(input *waf.DeleteRuleInput) (*waf.DeleteRuleOutput, error) { 2905 req, out := c.DeleteRuleRequest(input) 2906 return out, req.Send() 2907} 2908 2909// DeleteRuleWithContext is the same as DeleteRule with the addition of 2910// the ability to pass a context and additional request options. 2911// 2912// See DeleteRule for details on how to use this API operation. 2913// 2914// The context must be non-nil and will be used for request cancellation. If 2915// the context is nil a panic will occur. In the future the SDK may create 2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2917// for more information on using Contexts. 2918func (c *WAFRegional) DeleteRuleWithContext(ctx aws.Context, input *waf.DeleteRuleInput, opts ...request.Option) (*waf.DeleteRuleOutput, error) { 2919 req, out := c.DeleteRuleRequest(input) 2920 req.SetContext(ctx) 2921 req.ApplyOptions(opts...) 2922 return out, req.Send() 2923} 2924 2925const opDeleteRuleGroup = "DeleteRuleGroup" 2926 2927// DeleteRuleGroupRequest generates a "aws/request.Request" representing the 2928// client's request for the DeleteRuleGroup operation. The "output" return 2929// value will be populated with the request's response once the request completes 2930// successfully. 2931// 2932// Use "Send" method on the returned Request to send the API call to the service. 2933// the "output" return value is not valid until after Send returns without error. 2934// 2935// See DeleteRuleGroup for more information on using the DeleteRuleGroup 2936// API call, and error handling. 2937// 2938// This method is useful when you want to inject custom logic or configuration 2939// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2940// 2941// 2942// // Example sending a request using the DeleteRuleGroupRequest method. 2943// req, resp := client.DeleteRuleGroupRequest(params) 2944// 2945// err := req.Send() 2946// if err == nil { // resp is now filled 2947// fmt.Println(resp) 2948// } 2949// 2950// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup 2951func (c *WAFRegional) DeleteRuleGroupRequest(input *waf.DeleteRuleGroupInput) (req *request.Request, output *waf.DeleteRuleGroupOutput) { 2952 op := &request.Operation{ 2953 Name: opDeleteRuleGroup, 2954 HTTPMethod: "POST", 2955 HTTPPath: "/", 2956 } 2957 2958 if input == nil { 2959 input = &waf.DeleteRuleGroupInput{} 2960 } 2961 2962 output = &waf.DeleteRuleGroupOutput{} 2963 req = c.newRequest(op, input, output) 2964 return 2965} 2966 2967// DeleteRuleGroup API operation for AWS WAF Regional. 2968// 2969// Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still 2970// used in any WebACL objects or if it still includes any rules. 2971// 2972// If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL. 2973// 2974// To permanently delete a RuleGroup from AWS WAF, perform the following steps: 2975// 2976// Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup. 2977// 2978// Use GetChangeToken to get the change token that you provide in the ChangeToken 2979// parameter of a DeleteRuleGroup request. 2980// 2981// Submit a DeleteRuleGroup request. 2982// 2983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2984// with awserr.Error's Code and Message methods to get detailed information about 2985// the error. 2986// 2987// See the AWS API reference guide for AWS WAF Regional's 2988// API operation DeleteRuleGroup for usage and error information. 2989// 2990// Returned Error Codes: 2991// * ErrCodeWAFStaleDataException "WAFStaleDataException" 2992// The operation failed because you tried to create, update, or delete an object 2993// by using a change token that has already been used. 2994// 2995// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 2996// The operation failed because of a system problem, even though the request 2997// was valid. Retry your request. 2998// 2999// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3000// The operation failed because the referenced object doesn't exist. 3001// 3002// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 3003// The operation failed because you tried to delete an object that is still 3004// in use. For example: 3005// 3006// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3007// 3008// * You tried to delete a Rule that is still referenced by a WebACL. 3009// 3010// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 3011// The operation failed because you tried to delete an object that isn't empty. 3012// For example: 3013// 3014// * You tried to delete a WebACL that still contains one or more Rule objects. 3015// 3016// * You tried to delete a Rule that still contains one or more ByteMatchSet 3017// objects or other predicates. 3018// 3019// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3020// objects. 3021// 3022// * You tried to delete an IPSet that references one or more IP addresses. 3023// 3024// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 3025// The operation failed because there was nothing to do. For example: 3026// 3027// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 3028// specified WebACL. 3029// 3030// * You tried to remove an IP address from an IPSet, but the IP address 3031// isn't in the specified IPSet. 3032// 3033// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 3034// isn't in the specified WebACL. 3035// 3036// * You tried to add a Rule to a WebACL, but the Rule already exists in 3037// the specified WebACL. 3038// 3039// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 3040// already exists in the specified WebACL. 3041// 3042// * ErrCodeWAFTagOperationException "WAFTagOperationException" 3043// 3044// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 3045// 3046// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup 3047func (c *WAFRegional) DeleteRuleGroup(input *waf.DeleteRuleGroupInput) (*waf.DeleteRuleGroupOutput, error) { 3048 req, out := c.DeleteRuleGroupRequest(input) 3049 return out, req.Send() 3050} 3051 3052// DeleteRuleGroupWithContext is the same as DeleteRuleGroup with the addition of 3053// the ability to pass a context and additional request options. 3054// 3055// See DeleteRuleGroup for details on how to use this API operation. 3056// 3057// The context must be non-nil and will be used for request cancellation. If 3058// the context is nil a panic will occur. In the future the SDK may create 3059// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3060// for more information on using Contexts. 3061func (c *WAFRegional) DeleteRuleGroupWithContext(ctx aws.Context, input *waf.DeleteRuleGroupInput, opts ...request.Option) (*waf.DeleteRuleGroupOutput, error) { 3062 req, out := c.DeleteRuleGroupRequest(input) 3063 req.SetContext(ctx) 3064 req.ApplyOptions(opts...) 3065 return out, req.Send() 3066} 3067 3068const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet" 3069 3070// DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the 3071// client's request for the DeleteSizeConstraintSet operation. The "output" return 3072// value will be populated with the request's response once the request completes 3073// successfully. 3074// 3075// Use "Send" method on the returned Request to send the API call to the service. 3076// the "output" return value is not valid until after Send returns without error. 3077// 3078// See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet 3079// API call, and error handling. 3080// 3081// This method is useful when you want to inject custom logic or configuration 3082// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3083// 3084// 3085// // Example sending a request using the DeleteSizeConstraintSetRequest method. 3086// req, resp := client.DeleteSizeConstraintSetRequest(params) 3087// 3088// err := req.Send() 3089// if err == nil { // resp is now filled 3090// fmt.Println(resp) 3091// } 3092// 3093// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet 3094func (c *WAFRegional) DeleteSizeConstraintSetRequest(input *waf.DeleteSizeConstraintSetInput) (req *request.Request, output *waf.DeleteSizeConstraintSetOutput) { 3095 op := &request.Operation{ 3096 Name: opDeleteSizeConstraintSet, 3097 HTTPMethod: "POST", 3098 HTTPPath: "/", 3099 } 3100 3101 if input == nil { 3102 input = &waf.DeleteSizeConstraintSetInput{} 3103 } 3104 3105 output = &waf.DeleteSizeConstraintSetOutput{} 3106 req = c.newRequest(op, input, output) 3107 return 3108} 3109 3110// DeleteSizeConstraintSet API operation for AWS WAF Regional. 3111// 3112// Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet 3113// if it's still used in any Rules or if it still includes any SizeConstraint 3114// objects (any filters). 3115// 3116// If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule. 3117// 3118// To permanently delete a SizeConstraintSet, perform the following steps: 3119// 3120// Update the SizeConstraintSet to remove filters, if any. For more information, 3121// see UpdateSizeConstraintSet. 3122// 3123// Use GetChangeToken to get the change token that you provide in the ChangeToken 3124// parameter of a DeleteSizeConstraintSet request. 3125// 3126// Submit a DeleteSizeConstraintSet request. 3127// 3128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3129// with awserr.Error's Code and Message methods to get detailed information about 3130// the error. 3131// 3132// See the AWS API reference guide for AWS WAF Regional's 3133// API operation DeleteSizeConstraintSet for usage and error information. 3134// 3135// Returned Error Codes: 3136// * ErrCodeWAFStaleDataException "WAFStaleDataException" 3137// The operation failed because you tried to create, update, or delete an object 3138// by using a change token that has already been used. 3139// 3140// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3141// The operation failed because of a system problem, even though the request 3142// was valid. Retry your request. 3143// 3144// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3145// The operation failed because you tried to create, update, or delete an object 3146// by using an invalid account identifier. 3147// 3148// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3149// The operation failed because the referenced object doesn't exist. 3150// 3151// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 3152// The operation failed because you tried to delete an object that is still 3153// in use. For example: 3154// 3155// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3156// 3157// * You tried to delete a Rule that is still referenced by a WebACL. 3158// 3159// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 3160// The operation failed because you tried to delete an object that isn't empty. 3161// For example: 3162// 3163// * You tried to delete a WebACL that still contains one or more Rule objects. 3164// 3165// * You tried to delete a Rule that still contains one or more ByteMatchSet 3166// objects or other predicates. 3167// 3168// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3169// objects. 3170// 3171// * You tried to delete an IPSet that references one or more IP addresses. 3172// 3173// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet 3174func (c *WAFRegional) DeleteSizeConstraintSet(input *waf.DeleteSizeConstraintSetInput) (*waf.DeleteSizeConstraintSetOutput, error) { 3175 req, out := c.DeleteSizeConstraintSetRequest(input) 3176 return out, req.Send() 3177} 3178 3179// DeleteSizeConstraintSetWithContext is the same as DeleteSizeConstraintSet with the addition of 3180// the ability to pass a context and additional request options. 3181// 3182// See DeleteSizeConstraintSet for details on how to use this API operation. 3183// 3184// The context must be non-nil and will be used for request cancellation. If 3185// the context is nil a panic will occur. In the future the SDK may create 3186// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3187// for more information on using Contexts. 3188func (c *WAFRegional) DeleteSizeConstraintSetWithContext(ctx aws.Context, input *waf.DeleteSizeConstraintSetInput, opts ...request.Option) (*waf.DeleteSizeConstraintSetOutput, error) { 3189 req, out := c.DeleteSizeConstraintSetRequest(input) 3190 req.SetContext(ctx) 3191 req.ApplyOptions(opts...) 3192 return out, req.Send() 3193} 3194 3195const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet" 3196 3197// DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 3198// client's request for the DeleteSqlInjectionMatchSet operation. The "output" return 3199// value will be populated with the request's response once the request completes 3200// successfully. 3201// 3202// Use "Send" method on the returned Request to send the API call to the service. 3203// the "output" return value is not valid until after Send returns without error. 3204// 3205// See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet 3206// API call, and error handling. 3207// 3208// This method is useful when you want to inject custom logic or configuration 3209// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3210// 3211// 3212// // Example sending a request using the DeleteSqlInjectionMatchSetRequest method. 3213// req, resp := client.DeleteSqlInjectionMatchSetRequest(params) 3214// 3215// err := req.Send() 3216// if err == nil { // resp is now filled 3217// fmt.Println(resp) 3218// } 3219// 3220// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet 3221func (c *WAFRegional) DeleteSqlInjectionMatchSetRequest(input *waf.DeleteSqlInjectionMatchSetInput) (req *request.Request, output *waf.DeleteSqlInjectionMatchSetOutput) { 3222 op := &request.Operation{ 3223 Name: opDeleteSqlInjectionMatchSet, 3224 HTTPMethod: "POST", 3225 HTTPPath: "/", 3226 } 3227 3228 if input == nil { 3229 input = &waf.DeleteSqlInjectionMatchSetInput{} 3230 } 3231 3232 output = &waf.DeleteSqlInjectionMatchSetOutput{} 3233 req = c.newRequest(op, input, output) 3234 return 3235} 3236 3237// DeleteSqlInjectionMatchSet API operation for AWS WAF Regional. 3238// 3239// Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet 3240// if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple 3241// objects. 3242// 3243// If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule. 3244// 3245// To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following 3246// steps: 3247// 3248// Update the SqlInjectionMatchSet to remove filters, if any. For more information, 3249// see UpdateSqlInjectionMatchSet. 3250// 3251// Use GetChangeToken to get the change token that you provide in the ChangeToken 3252// parameter of a DeleteSqlInjectionMatchSet request. 3253// 3254// Submit a DeleteSqlInjectionMatchSet request. 3255// 3256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3257// with awserr.Error's Code and Message methods to get detailed information about 3258// the error. 3259// 3260// See the AWS API reference guide for AWS WAF Regional's 3261// API operation DeleteSqlInjectionMatchSet for usage and error information. 3262// 3263// Returned Error Codes: 3264// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3265// The operation failed because of a system problem, even though the request 3266// was valid. Retry your request. 3267// 3268// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3269// The operation failed because you tried to create, update, or delete an object 3270// by using an invalid account identifier. 3271// 3272// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3273// The operation failed because the referenced object doesn't exist. 3274// 3275// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 3276// The operation failed because you tried to delete an object that is still 3277// in use. For example: 3278// 3279// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3280// 3281// * You tried to delete a Rule that is still referenced by a WebACL. 3282// 3283// * ErrCodeWAFStaleDataException "WAFStaleDataException" 3284// The operation failed because you tried to create, update, or delete an object 3285// by using a change token that has already been used. 3286// 3287// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 3288// The operation failed because you tried to delete an object that isn't empty. 3289// For example: 3290// 3291// * You tried to delete a WebACL that still contains one or more Rule objects. 3292// 3293// * You tried to delete a Rule that still contains one or more ByteMatchSet 3294// objects or other predicates. 3295// 3296// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3297// objects. 3298// 3299// * You tried to delete an IPSet that references one or more IP addresses. 3300// 3301// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet 3302func (c *WAFRegional) DeleteSqlInjectionMatchSet(input *waf.DeleteSqlInjectionMatchSetInput) (*waf.DeleteSqlInjectionMatchSetOutput, error) { 3303 req, out := c.DeleteSqlInjectionMatchSetRequest(input) 3304 return out, req.Send() 3305} 3306 3307// DeleteSqlInjectionMatchSetWithContext is the same as DeleteSqlInjectionMatchSet with the addition of 3308// the ability to pass a context and additional request options. 3309// 3310// See DeleteSqlInjectionMatchSet for details on how to use this API operation. 3311// 3312// The context must be non-nil and will be used for request cancellation. If 3313// the context is nil a panic will occur. In the future the SDK may create 3314// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3315// for more information on using Contexts. 3316func (c *WAFRegional) DeleteSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.DeleteSqlInjectionMatchSetInput, opts ...request.Option) (*waf.DeleteSqlInjectionMatchSetOutput, error) { 3317 req, out := c.DeleteSqlInjectionMatchSetRequest(input) 3318 req.SetContext(ctx) 3319 req.ApplyOptions(opts...) 3320 return out, req.Send() 3321} 3322 3323const opDeleteWebACL = "DeleteWebACL" 3324 3325// DeleteWebACLRequest generates a "aws/request.Request" representing the 3326// client's request for the DeleteWebACL operation. The "output" return 3327// value will be populated with the request's response once the request completes 3328// successfully. 3329// 3330// Use "Send" method on the returned Request to send the API call to the service. 3331// the "output" return value is not valid until after Send returns without error. 3332// 3333// See DeleteWebACL for more information on using the DeleteWebACL 3334// API call, and error handling. 3335// 3336// This method is useful when you want to inject custom logic or configuration 3337// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3338// 3339// 3340// // Example sending a request using the DeleteWebACLRequest method. 3341// req, resp := client.DeleteWebACLRequest(params) 3342// 3343// err := req.Send() 3344// if err == nil { // resp is now filled 3345// fmt.Println(resp) 3346// } 3347// 3348// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL 3349func (c *WAFRegional) DeleteWebACLRequest(input *waf.DeleteWebACLInput) (req *request.Request, output *waf.DeleteWebACLOutput) { 3350 op := &request.Operation{ 3351 Name: opDeleteWebACL, 3352 HTTPMethod: "POST", 3353 HTTPPath: "/", 3354 } 3355 3356 if input == nil { 3357 input = &waf.DeleteWebACLInput{} 3358 } 3359 3360 output = &waf.DeleteWebACLOutput{} 3361 req = c.newRequest(op, input, output) 3362 return 3363} 3364 3365// DeleteWebACL API operation for AWS WAF Regional. 3366// 3367// Permanently deletes a WebACL. You can't delete a WebACL if it still contains 3368// any Rules. 3369// 3370// To delete a WebACL, perform the following steps: 3371// 3372// Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. 3373// 3374// Use GetChangeToken to get the change token that you provide in the ChangeToken 3375// parameter of a DeleteWebACL request. 3376// 3377// Submit a DeleteWebACL request. 3378// 3379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3380// with awserr.Error's Code and Message methods to get detailed information about 3381// the error. 3382// 3383// See the AWS API reference guide for AWS WAF Regional's 3384// API operation DeleteWebACL for usage and error information. 3385// 3386// Returned Error Codes: 3387// * ErrCodeWAFStaleDataException "WAFStaleDataException" 3388// The operation failed because you tried to create, update, or delete an object 3389// by using a change token that has already been used. 3390// 3391// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3392// The operation failed because of a system problem, even though the request 3393// was valid. Retry your request. 3394// 3395// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3396// The operation failed because you tried to create, update, or delete an object 3397// by using an invalid account identifier. 3398// 3399// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3400// The operation failed because the referenced object doesn't exist. 3401// 3402// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 3403// The operation failed because you tried to delete an object that is still 3404// in use. For example: 3405// 3406// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3407// 3408// * You tried to delete a Rule that is still referenced by a WebACL. 3409// 3410// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 3411// The operation failed because you tried to delete an object that isn't empty. 3412// For example: 3413// 3414// * You tried to delete a WebACL that still contains one or more Rule objects. 3415// 3416// * You tried to delete a Rule that still contains one or more ByteMatchSet 3417// objects or other predicates. 3418// 3419// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3420// objects. 3421// 3422// * You tried to delete an IPSet that references one or more IP addresses. 3423// 3424// * ErrCodeWAFTagOperationException "WAFTagOperationException" 3425// 3426// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 3427// 3428// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL 3429func (c *WAFRegional) DeleteWebACL(input *waf.DeleteWebACLInput) (*waf.DeleteWebACLOutput, error) { 3430 req, out := c.DeleteWebACLRequest(input) 3431 return out, req.Send() 3432} 3433 3434// DeleteWebACLWithContext is the same as DeleteWebACL with the addition of 3435// the ability to pass a context and additional request options. 3436// 3437// See DeleteWebACL for details on how to use this API operation. 3438// 3439// The context must be non-nil and will be used for request cancellation. If 3440// the context is nil a panic will occur. In the future the SDK may create 3441// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3442// for more information on using Contexts. 3443func (c *WAFRegional) DeleteWebACLWithContext(ctx aws.Context, input *waf.DeleteWebACLInput, opts ...request.Option) (*waf.DeleteWebACLOutput, error) { 3444 req, out := c.DeleteWebACLRequest(input) 3445 req.SetContext(ctx) 3446 req.ApplyOptions(opts...) 3447 return out, req.Send() 3448} 3449 3450const opDeleteXssMatchSet = "DeleteXssMatchSet" 3451 3452// DeleteXssMatchSetRequest generates a "aws/request.Request" representing the 3453// client's request for the DeleteXssMatchSet operation. The "output" return 3454// value will be populated with the request's response once the request completes 3455// successfully. 3456// 3457// Use "Send" method on the returned Request to send the API call to the service. 3458// the "output" return value is not valid until after Send returns without error. 3459// 3460// See DeleteXssMatchSet for more information on using the DeleteXssMatchSet 3461// API call, and error handling. 3462// 3463// This method is useful when you want to inject custom logic or configuration 3464// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3465// 3466// 3467// // Example sending a request using the DeleteXssMatchSetRequest method. 3468// req, resp := client.DeleteXssMatchSetRequest(params) 3469// 3470// err := req.Send() 3471// if err == nil { // resp is now filled 3472// fmt.Println(resp) 3473// } 3474// 3475// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet 3476func (c *WAFRegional) DeleteXssMatchSetRequest(input *waf.DeleteXssMatchSetInput) (req *request.Request, output *waf.DeleteXssMatchSetOutput) { 3477 op := &request.Operation{ 3478 Name: opDeleteXssMatchSet, 3479 HTTPMethod: "POST", 3480 HTTPPath: "/", 3481 } 3482 3483 if input == nil { 3484 input = &waf.DeleteXssMatchSetInput{} 3485 } 3486 3487 output = &waf.DeleteXssMatchSetOutput{} 3488 req = c.newRequest(op, input, output) 3489 return 3490} 3491 3492// DeleteXssMatchSet API operation for AWS WAF Regional. 3493// 3494// Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's 3495// still used in any Rules or if it still contains any XssMatchTuple objects. 3496// 3497// If you just want to remove an XssMatchSet from a Rule, use UpdateRule. 3498// 3499// To permanently delete an XssMatchSet from AWS WAF, perform the following 3500// steps: 3501// 3502// Update the XssMatchSet to remove filters, if any. For more information, see 3503// UpdateXssMatchSet. 3504// 3505// Use GetChangeToken to get the change token that you provide in the ChangeToken 3506// parameter of a DeleteXssMatchSet request. 3507// 3508// Submit a DeleteXssMatchSet request. 3509// 3510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3511// with awserr.Error's Code and Message methods to get detailed information about 3512// the error. 3513// 3514// See the AWS API reference guide for AWS WAF Regional's 3515// API operation DeleteXssMatchSet for usage and error information. 3516// 3517// Returned Error Codes: 3518// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3519// The operation failed because of a system problem, even though the request 3520// was valid. Retry your request. 3521// 3522// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3523// The operation failed because you tried to create, update, or delete an object 3524// by using an invalid account identifier. 3525// 3526// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3527// The operation failed because the referenced object doesn't exist. 3528// 3529// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 3530// The operation failed because you tried to delete an object that is still 3531// in use. For example: 3532// 3533// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3534// 3535// * You tried to delete a Rule that is still referenced by a WebACL. 3536// 3537// * ErrCodeWAFStaleDataException "WAFStaleDataException" 3538// The operation failed because you tried to create, update, or delete an object 3539// by using a change token that has already been used. 3540// 3541// * ErrCodeWAFNonEmptyEntityException "WAFNonEmptyEntityException" 3542// The operation failed because you tried to delete an object that isn't empty. 3543// For example: 3544// 3545// * You tried to delete a WebACL that still contains one or more Rule objects. 3546// 3547// * You tried to delete a Rule that still contains one or more ByteMatchSet 3548// objects or other predicates. 3549// 3550// * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3551// objects. 3552// 3553// * You tried to delete an IPSet that references one or more IP addresses. 3554// 3555// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet 3556func (c *WAFRegional) DeleteXssMatchSet(input *waf.DeleteXssMatchSetInput) (*waf.DeleteXssMatchSetOutput, error) { 3557 req, out := c.DeleteXssMatchSetRequest(input) 3558 return out, req.Send() 3559} 3560 3561// DeleteXssMatchSetWithContext is the same as DeleteXssMatchSet with the addition of 3562// the ability to pass a context and additional request options. 3563// 3564// See DeleteXssMatchSet for details on how to use this API operation. 3565// 3566// The context must be non-nil and will be used for request cancellation. If 3567// the context is nil a panic will occur. In the future the SDK may create 3568// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3569// for more information on using Contexts. 3570func (c *WAFRegional) DeleteXssMatchSetWithContext(ctx aws.Context, input *waf.DeleteXssMatchSetInput, opts ...request.Option) (*waf.DeleteXssMatchSetOutput, error) { 3571 req, out := c.DeleteXssMatchSetRequest(input) 3572 req.SetContext(ctx) 3573 req.ApplyOptions(opts...) 3574 return out, req.Send() 3575} 3576 3577const opDisassociateWebACL = "DisassociateWebACL" 3578 3579// DisassociateWebACLRequest generates a "aws/request.Request" representing the 3580// client's request for the DisassociateWebACL operation. The "output" return 3581// value will be populated with the request's response once the request completes 3582// successfully. 3583// 3584// Use "Send" method on the returned Request to send the API call to the service. 3585// the "output" return value is not valid until after Send returns without error. 3586// 3587// See DisassociateWebACL for more information on using the DisassociateWebACL 3588// API call, and error handling. 3589// 3590// This method is useful when you want to inject custom logic or configuration 3591// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3592// 3593// 3594// // Example sending a request using the DisassociateWebACLRequest method. 3595// req, resp := client.DisassociateWebACLRequest(params) 3596// 3597// err := req.Send() 3598// if err == nil { // resp is now filled 3599// fmt.Println(resp) 3600// } 3601// 3602// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL 3603func (c *WAFRegional) DisassociateWebACLRequest(input *DisassociateWebACLInput) (req *request.Request, output *DisassociateWebACLOutput) { 3604 op := &request.Operation{ 3605 Name: opDisassociateWebACL, 3606 HTTPMethod: "POST", 3607 HTTPPath: "/", 3608 } 3609 3610 if input == nil { 3611 input = &DisassociateWebACLInput{} 3612 } 3613 3614 output = &DisassociateWebACLOutput{} 3615 req = c.newRequest(op, input, output) 3616 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3617 return 3618} 3619 3620// DisassociateWebACL API operation for AWS WAF Regional. 3621// 3622// Removes a web ACL from the specified resource, either an application load 3623// balancer or Amazon API Gateway stage. 3624// 3625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3626// with awserr.Error's Code and Message methods to get detailed information about 3627// the error. 3628// 3629// See the AWS API reference guide for AWS WAF Regional's 3630// API operation DisassociateWebACL for usage and error information. 3631// 3632// Returned Error Codes: 3633// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3634// The operation failed because of a system problem, even though the request 3635// was valid. Retry your request. 3636// 3637// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3638// The operation failed because you tried to create, update, or delete an object 3639// by using an invalid account identifier. 3640// 3641// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 3642// The operation failed because AWS WAF didn't recognize a parameter in the 3643// request. For example: 3644// 3645// * You specified an invalid parameter name. 3646// 3647// * You specified an invalid value. 3648// 3649// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 3650// using an action other than INSERT or DELETE. 3651// 3652// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 3653// BLOCK, or COUNT. 3654// 3655// * You tried to create a RateBasedRule with a RateKey value other than 3656// IP. 3657// 3658// * You tried to update a WebACL with a WafAction Type other than ALLOW, 3659// BLOCK, or COUNT. 3660// 3661// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 3662// HEADER, METHOD, QUERY_STRING, URI, or BODY. 3663// 3664// * You tried to update a ByteMatchSet with a Field of HEADER but no value 3665// for Data. 3666// 3667// * Your request references an ARN that is malformed, or corresponds to 3668// a resource with which a web ACL cannot be associated. 3669// 3670// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3671// The operation failed because the referenced object doesn't exist. 3672// 3673// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL 3674func (c *WAFRegional) DisassociateWebACL(input *DisassociateWebACLInput) (*DisassociateWebACLOutput, error) { 3675 req, out := c.DisassociateWebACLRequest(input) 3676 return out, req.Send() 3677} 3678 3679// DisassociateWebACLWithContext is the same as DisassociateWebACL with the addition of 3680// the ability to pass a context and additional request options. 3681// 3682// See DisassociateWebACL for details on how to use this API operation. 3683// 3684// The context must be non-nil and will be used for request cancellation. If 3685// the context is nil a panic will occur. In the future the SDK may create 3686// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3687// for more information on using Contexts. 3688func (c *WAFRegional) DisassociateWebACLWithContext(ctx aws.Context, input *DisassociateWebACLInput, opts ...request.Option) (*DisassociateWebACLOutput, error) { 3689 req, out := c.DisassociateWebACLRequest(input) 3690 req.SetContext(ctx) 3691 req.ApplyOptions(opts...) 3692 return out, req.Send() 3693} 3694 3695const opGetByteMatchSet = "GetByteMatchSet" 3696 3697// GetByteMatchSetRequest generates a "aws/request.Request" representing the 3698// client's request for the GetByteMatchSet operation. The "output" return 3699// value will be populated with the request's response once the request completes 3700// successfully. 3701// 3702// Use "Send" method on the returned Request to send the API call to the service. 3703// the "output" return value is not valid until after Send returns without error. 3704// 3705// See GetByteMatchSet for more information on using the GetByteMatchSet 3706// API call, and error handling. 3707// 3708// This method is useful when you want to inject custom logic or configuration 3709// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3710// 3711// 3712// // Example sending a request using the GetByteMatchSetRequest method. 3713// req, resp := client.GetByteMatchSetRequest(params) 3714// 3715// err := req.Send() 3716// if err == nil { // resp is now filled 3717// fmt.Println(resp) 3718// } 3719// 3720// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet 3721func (c *WAFRegional) GetByteMatchSetRequest(input *waf.GetByteMatchSetInput) (req *request.Request, output *waf.GetByteMatchSetOutput) { 3722 op := &request.Operation{ 3723 Name: opGetByteMatchSet, 3724 HTTPMethod: "POST", 3725 HTTPPath: "/", 3726 } 3727 3728 if input == nil { 3729 input = &waf.GetByteMatchSetInput{} 3730 } 3731 3732 output = &waf.GetByteMatchSetOutput{} 3733 req = c.newRequest(op, input, output) 3734 return 3735} 3736 3737// GetByteMatchSet API operation for AWS WAF Regional. 3738// 3739// Returns the ByteMatchSet specified by ByteMatchSetId. 3740// 3741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3742// with awserr.Error's Code and Message methods to get detailed information about 3743// the error. 3744// 3745// See the AWS API reference guide for AWS WAF Regional's 3746// API operation GetByteMatchSet for usage and error information. 3747// 3748// Returned Error Codes: 3749// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3750// The operation failed because of a system problem, even though the request 3751// was valid. Retry your request. 3752// 3753// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 3754// The operation failed because you tried to create, update, or delete an object 3755// by using an invalid account identifier. 3756// 3757// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3758// The operation failed because the referenced object doesn't exist. 3759// 3760// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet 3761func (c *WAFRegional) GetByteMatchSet(input *waf.GetByteMatchSetInput) (*waf.GetByteMatchSetOutput, error) { 3762 req, out := c.GetByteMatchSetRequest(input) 3763 return out, req.Send() 3764} 3765 3766// GetByteMatchSetWithContext is the same as GetByteMatchSet with the addition of 3767// the ability to pass a context and additional request options. 3768// 3769// See GetByteMatchSet for details on how to use this API operation. 3770// 3771// The context must be non-nil and will be used for request cancellation. If 3772// the context is nil a panic will occur. In the future the SDK may create 3773// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3774// for more information on using Contexts. 3775func (c *WAFRegional) GetByteMatchSetWithContext(ctx aws.Context, input *waf.GetByteMatchSetInput, opts ...request.Option) (*waf.GetByteMatchSetOutput, error) { 3776 req, out := c.GetByteMatchSetRequest(input) 3777 req.SetContext(ctx) 3778 req.ApplyOptions(opts...) 3779 return out, req.Send() 3780} 3781 3782const opGetChangeToken = "GetChangeToken" 3783 3784// GetChangeTokenRequest generates a "aws/request.Request" representing the 3785// client's request for the GetChangeToken operation. The "output" return 3786// value will be populated with the request's response once the request completes 3787// successfully. 3788// 3789// Use "Send" method on the returned Request to send the API call to the service. 3790// the "output" return value is not valid until after Send returns without error. 3791// 3792// See GetChangeToken for more information on using the GetChangeToken 3793// API call, and error handling. 3794// 3795// This method is useful when you want to inject custom logic or configuration 3796// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3797// 3798// 3799// // Example sending a request using the GetChangeTokenRequest method. 3800// req, resp := client.GetChangeTokenRequest(params) 3801// 3802// err := req.Send() 3803// if err == nil { // resp is now filled 3804// fmt.Println(resp) 3805// } 3806// 3807// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken 3808func (c *WAFRegional) GetChangeTokenRequest(input *waf.GetChangeTokenInput) (req *request.Request, output *waf.GetChangeTokenOutput) { 3809 op := &request.Operation{ 3810 Name: opGetChangeToken, 3811 HTTPMethod: "POST", 3812 HTTPPath: "/", 3813 } 3814 3815 if input == nil { 3816 input = &waf.GetChangeTokenInput{} 3817 } 3818 3819 output = &waf.GetChangeTokenOutput{} 3820 req = c.newRequest(op, input, output) 3821 return 3822} 3823 3824// GetChangeToken API operation for AWS WAF Regional. 3825// 3826// When you want to create, update, or delete AWS WAF objects, get a change 3827// token and include the change token in the create, update, or delete request. 3828// Change tokens ensure that your application doesn't submit conflicting requests 3829// to AWS WAF. 3830// 3831// Each create, update, or delete request must use a unique change token. If 3832// your application submits a GetChangeToken request and then submits a second 3833// GetChangeToken request before submitting a create, update, or delete request, 3834// the second GetChangeToken request returns the same value as the first GetChangeToken 3835// request. 3836// 3837// When you use a change token in a create, update, or delete request, the status 3838// of the change token changes to PENDING, which indicates that AWS WAF is propagating 3839// the change to all AWS WAF servers. Use GetChangeTokenStatus to determine 3840// the status of your change token. 3841// 3842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3843// with awserr.Error's Code and Message methods to get detailed information about 3844// the error. 3845// 3846// See the AWS API reference guide for AWS WAF Regional's 3847// API operation GetChangeToken for usage and error information. 3848// 3849// Returned Error Codes: 3850// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3851// The operation failed because of a system problem, even though the request 3852// was valid. Retry your request. 3853// 3854// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken 3855func (c *WAFRegional) GetChangeToken(input *waf.GetChangeTokenInput) (*waf.GetChangeTokenOutput, error) { 3856 req, out := c.GetChangeTokenRequest(input) 3857 return out, req.Send() 3858} 3859 3860// GetChangeTokenWithContext is the same as GetChangeToken with the addition of 3861// the ability to pass a context and additional request options. 3862// 3863// See GetChangeToken for details on how to use this API operation. 3864// 3865// The context must be non-nil and will be used for request cancellation. If 3866// the context is nil a panic will occur. In the future the SDK may create 3867// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3868// for more information on using Contexts. 3869func (c *WAFRegional) GetChangeTokenWithContext(ctx aws.Context, input *waf.GetChangeTokenInput, opts ...request.Option) (*waf.GetChangeTokenOutput, error) { 3870 req, out := c.GetChangeTokenRequest(input) 3871 req.SetContext(ctx) 3872 req.ApplyOptions(opts...) 3873 return out, req.Send() 3874} 3875 3876const opGetChangeTokenStatus = "GetChangeTokenStatus" 3877 3878// GetChangeTokenStatusRequest generates a "aws/request.Request" representing the 3879// client's request for the GetChangeTokenStatus operation. The "output" return 3880// value will be populated with the request's response once the request completes 3881// successfully. 3882// 3883// Use "Send" method on the returned Request to send the API call to the service. 3884// the "output" return value is not valid until after Send returns without error. 3885// 3886// See GetChangeTokenStatus for more information on using the GetChangeTokenStatus 3887// API call, and error handling. 3888// 3889// This method is useful when you want to inject custom logic or configuration 3890// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3891// 3892// 3893// // Example sending a request using the GetChangeTokenStatusRequest method. 3894// req, resp := client.GetChangeTokenStatusRequest(params) 3895// 3896// err := req.Send() 3897// if err == nil { // resp is now filled 3898// fmt.Println(resp) 3899// } 3900// 3901// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus 3902func (c *WAFRegional) GetChangeTokenStatusRequest(input *waf.GetChangeTokenStatusInput) (req *request.Request, output *waf.GetChangeTokenStatusOutput) { 3903 op := &request.Operation{ 3904 Name: opGetChangeTokenStatus, 3905 HTTPMethod: "POST", 3906 HTTPPath: "/", 3907 } 3908 3909 if input == nil { 3910 input = &waf.GetChangeTokenStatusInput{} 3911 } 3912 3913 output = &waf.GetChangeTokenStatusOutput{} 3914 req = c.newRequest(op, input, output) 3915 return 3916} 3917 3918// GetChangeTokenStatus API operation for AWS WAF Regional. 3919// 3920// Returns the status of a ChangeToken that you got by calling GetChangeToken. 3921// ChangeTokenStatus is one of the following values: 3922// 3923// * PROVISIONED: You requested the change token by calling GetChangeToken, 3924// but you haven't used it yet in a call to create, update, or delete an 3925// AWS WAF object. 3926// 3927// * PENDING: AWS WAF is propagating the create, update, or delete request 3928// to all AWS WAF servers. 3929// 3930// * INSYNC: Propagation is complete. 3931// 3932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3933// with awserr.Error's Code and Message methods to get detailed information about 3934// the error. 3935// 3936// See the AWS API reference guide for AWS WAF Regional's 3937// API operation GetChangeTokenStatus for usage and error information. 3938// 3939// Returned Error Codes: 3940// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 3941// The operation failed because the referenced object doesn't exist. 3942// 3943// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 3944// The operation failed because of a system problem, even though the request 3945// was valid. Retry your request. 3946// 3947// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus 3948func (c *WAFRegional) GetChangeTokenStatus(input *waf.GetChangeTokenStatusInput) (*waf.GetChangeTokenStatusOutput, error) { 3949 req, out := c.GetChangeTokenStatusRequest(input) 3950 return out, req.Send() 3951} 3952 3953// GetChangeTokenStatusWithContext is the same as GetChangeTokenStatus with the addition of 3954// the ability to pass a context and additional request options. 3955// 3956// See GetChangeTokenStatus for details on how to use this API operation. 3957// 3958// The context must be non-nil and will be used for request cancellation. If 3959// the context is nil a panic will occur. In the future the SDK may create 3960// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3961// for more information on using Contexts. 3962func (c *WAFRegional) GetChangeTokenStatusWithContext(ctx aws.Context, input *waf.GetChangeTokenStatusInput, opts ...request.Option) (*waf.GetChangeTokenStatusOutput, error) { 3963 req, out := c.GetChangeTokenStatusRequest(input) 3964 req.SetContext(ctx) 3965 req.ApplyOptions(opts...) 3966 return out, req.Send() 3967} 3968 3969const opGetGeoMatchSet = "GetGeoMatchSet" 3970 3971// GetGeoMatchSetRequest generates a "aws/request.Request" representing the 3972// client's request for the GetGeoMatchSet operation. The "output" return 3973// value will be populated with the request's response once the request completes 3974// successfully. 3975// 3976// Use "Send" method on the returned Request to send the API call to the service. 3977// the "output" return value is not valid until after Send returns without error. 3978// 3979// See GetGeoMatchSet for more information on using the GetGeoMatchSet 3980// API call, and error handling. 3981// 3982// This method is useful when you want to inject custom logic or configuration 3983// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3984// 3985// 3986// // Example sending a request using the GetGeoMatchSetRequest method. 3987// req, resp := client.GetGeoMatchSetRequest(params) 3988// 3989// err := req.Send() 3990// if err == nil { // resp is now filled 3991// fmt.Println(resp) 3992// } 3993// 3994// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet 3995func (c *WAFRegional) GetGeoMatchSetRequest(input *waf.GetGeoMatchSetInput) (req *request.Request, output *waf.GetGeoMatchSetOutput) { 3996 op := &request.Operation{ 3997 Name: opGetGeoMatchSet, 3998 HTTPMethod: "POST", 3999 HTTPPath: "/", 4000 } 4001 4002 if input == nil { 4003 input = &waf.GetGeoMatchSetInput{} 4004 } 4005 4006 output = &waf.GetGeoMatchSetOutput{} 4007 req = c.newRequest(op, input, output) 4008 return 4009} 4010 4011// GetGeoMatchSet API operation for AWS WAF Regional. 4012// 4013// Returns the GeoMatchSet that is specified by GeoMatchSetId. 4014// 4015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4016// with awserr.Error's Code and Message methods to get detailed information about 4017// the error. 4018// 4019// See the AWS API reference guide for AWS WAF Regional's 4020// API operation GetGeoMatchSet for usage and error information. 4021// 4022// Returned Error Codes: 4023// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4024// The operation failed because of a system problem, even though the request 4025// was valid. Retry your request. 4026// 4027// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4028// The operation failed because you tried to create, update, or delete an object 4029// by using an invalid account identifier. 4030// 4031// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4032// The operation failed because the referenced object doesn't exist. 4033// 4034// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet 4035func (c *WAFRegional) GetGeoMatchSet(input *waf.GetGeoMatchSetInput) (*waf.GetGeoMatchSetOutput, error) { 4036 req, out := c.GetGeoMatchSetRequest(input) 4037 return out, req.Send() 4038} 4039 4040// GetGeoMatchSetWithContext is the same as GetGeoMatchSet with the addition of 4041// the ability to pass a context and additional request options. 4042// 4043// See GetGeoMatchSet for details on how to use this API operation. 4044// 4045// The context must be non-nil and will be used for request cancellation. If 4046// the context is nil a panic will occur. In the future the SDK may create 4047// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4048// for more information on using Contexts. 4049func (c *WAFRegional) GetGeoMatchSetWithContext(ctx aws.Context, input *waf.GetGeoMatchSetInput, opts ...request.Option) (*waf.GetGeoMatchSetOutput, error) { 4050 req, out := c.GetGeoMatchSetRequest(input) 4051 req.SetContext(ctx) 4052 req.ApplyOptions(opts...) 4053 return out, req.Send() 4054} 4055 4056const opGetIPSet = "GetIPSet" 4057 4058// GetIPSetRequest generates a "aws/request.Request" representing the 4059// client's request for the GetIPSet operation. The "output" return 4060// value will be populated with the request's response once the request completes 4061// successfully. 4062// 4063// Use "Send" method on the returned Request to send the API call to the service. 4064// the "output" return value is not valid until after Send returns without error. 4065// 4066// See GetIPSet for more information on using the GetIPSet 4067// API call, and error handling. 4068// 4069// This method is useful when you want to inject custom logic or configuration 4070// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4071// 4072// 4073// // Example sending a request using the GetIPSetRequest method. 4074// req, resp := client.GetIPSetRequest(params) 4075// 4076// err := req.Send() 4077// if err == nil { // resp is now filled 4078// fmt.Println(resp) 4079// } 4080// 4081// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet 4082func (c *WAFRegional) GetIPSetRequest(input *waf.GetIPSetInput) (req *request.Request, output *waf.GetIPSetOutput) { 4083 op := &request.Operation{ 4084 Name: opGetIPSet, 4085 HTTPMethod: "POST", 4086 HTTPPath: "/", 4087 } 4088 4089 if input == nil { 4090 input = &waf.GetIPSetInput{} 4091 } 4092 4093 output = &waf.GetIPSetOutput{} 4094 req = c.newRequest(op, input, output) 4095 return 4096} 4097 4098// GetIPSet API operation for AWS WAF Regional. 4099// 4100// Returns the IPSet that is specified by IPSetId. 4101// 4102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4103// with awserr.Error's Code and Message methods to get detailed information about 4104// the error. 4105// 4106// See the AWS API reference guide for AWS WAF Regional's 4107// API operation GetIPSet for usage and error information. 4108// 4109// Returned Error Codes: 4110// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4111// The operation failed because of a system problem, even though the request 4112// was valid. Retry your request. 4113// 4114// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4115// The operation failed because you tried to create, update, or delete an object 4116// by using an invalid account identifier. 4117// 4118// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4119// The operation failed because the referenced object doesn't exist. 4120// 4121// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet 4122func (c *WAFRegional) GetIPSet(input *waf.GetIPSetInput) (*waf.GetIPSetOutput, error) { 4123 req, out := c.GetIPSetRequest(input) 4124 return out, req.Send() 4125} 4126 4127// GetIPSetWithContext is the same as GetIPSet with the addition of 4128// the ability to pass a context and additional request options. 4129// 4130// See GetIPSet for details on how to use this API operation. 4131// 4132// The context must be non-nil and will be used for request cancellation. If 4133// the context is nil a panic will occur. In the future the SDK may create 4134// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4135// for more information on using Contexts. 4136func (c *WAFRegional) GetIPSetWithContext(ctx aws.Context, input *waf.GetIPSetInput, opts ...request.Option) (*waf.GetIPSetOutput, error) { 4137 req, out := c.GetIPSetRequest(input) 4138 req.SetContext(ctx) 4139 req.ApplyOptions(opts...) 4140 return out, req.Send() 4141} 4142 4143const opGetLoggingConfiguration = "GetLoggingConfiguration" 4144 4145// GetLoggingConfigurationRequest generates a "aws/request.Request" representing the 4146// client's request for the GetLoggingConfiguration operation. The "output" return 4147// value will be populated with the request's response once the request completes 4148// successfully. 4149// 4150// Use "Send" method on the returned Request to send the API call to the service. 4151// the "output" return value is not valid until after Send returns without error. 4152// 4153// See GetLoggingConfiguration for more information on using the GetLoggingConfiguration 4154// API call, and error handling. 4155// 4156// This method is useful when you want to inject custom logic or configuration 4157// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4158// 4159// 4160// // Example sending a request using the GetLoggingConfigurationRequest method. 4161// req, resp := client.GetLoggingConfigurationRequest(params) 4162// 4163// err := req.Send() 4164// if err == nil { // resp is now filled 4165// fmt.Println(resp) 4166// } 4167// 4168// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration 4169func (c *WAFRegional) GetLoggingConfigurationRequest(input *waf.GetLoggingConfigurationInput) (req *request.Request, output *waf.GetLoggingConfigurationOutput) { 4170 op := &request.Operation{ 4171 Name: opGetLoggingConfiguration, 4172 HTTPMethod: "POST", 4173 HTTPPath: "/", 4174 } 4175 4176 if input == nil { 4177 input = &waf.GetLoggingConfigurationInput{} 4178 } 4179 4180 output = &waf.GetLoggingConfigurationOutput{} 4181 req = c.newRequest(op, input, output) 4182 return 4183} 4184 4185// GetLoggingConfiguration API operation for AWS WAF Regional. 4186// 4187// Returns the LoggingConfiguration for the specified web ACL. 4188// 4189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4190// with awserr.Error's Code and Message methods to get detailed information about 4191// the error. 4192// 4193// See the AWS API reference guide for AWS WAF Regional's 4194// API operation GetLoggingConfiguration for usage and error information. 4195// 4196// Returned Error Codes: 4197// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4198// The operation failed because of a system problem, even though the request 4199// was valid. Retry your request. 4200// 4201// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4202// The operation failed because the referenced object doesn't exist. 4203// 4204// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration 4205func (c *WAFRegional) GetLoggingConfiguration(input *waf.GetLoggingConfigurationInput) (*waf.GetLoggingConfigurationOutput, error) { 4206 req, out := c.GetLoggingConfigurationRequest(input) 4207 return out, req.Send() 4208} 4209 4210// GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of 4211// the ability to pass a context and additional request options. 4212// 4213// See GetLoggingConfiguration for details on how to use this API operation. 4214// 4215// The context must be non-nil and will be used for request cancellation. If 4216// the context is nil a panic will occur. In the future the SDK may create 4217// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4218// for more information on using Contexts. 4219func (c *WAFRegional) GetLoggingConfigurationWithContext(ctx aws.Context, input *waf.GetLoggingConfigurationInput, opts ...request.Option) (*waf.GetLoggingConfigurationOutput, error) { 4220 req, out := c.GetLoggingConfigurationRequest(input) 4221 req.SetContext(ctx) 4222 req.ApplyOptions(opts...) 4223 return out, req.Send() 4224} 4225 4226const opGetPermissionPolicy = "GetPermissionPolicy" 4227 4228// GetPermissionPolicyRequest generates a "aws/request.Request" representing the 4229// client's request for the GetPermissionPolicy operation. The "output" return 4230// value will be populated with the request's response once the request completes 4231// successfully. 4232// 4233// Use "Send" method on the returned Request to send the API call to the service. 4234// the "output" return value is not valid until after Send returns without error. 4235// 4236// See GetPermissionPolicy for more information on using the GetPermissionPolicy 4237// API call, and error handling. 4238// 4239// This method is useful when you want to inject custom logic or configuration 4240// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4241// 4242// 4243// // Example sending a request using the GetPermissionPolicyRequest method. 4244// req, resp := client.GetPermissionPolicyRequest(params) 4245// 4246// err := req.Send() 4247// if err == nil { // resp is now filled 4248// fmt.Println(resp) 4249// } 4250// 4251// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy 4252func (c *WAFRegional) GetPermissionPolicyRequest(input *waf.GetPermissionPolicyInput) (req *request.Request, output *waf.GetPermissionPolicyOutput) { 4253 op := &request.Operation{ 4254 Name: opGetPermissionPolicy, 4255 HTTPMethod: "POST", 4256 HTTPPath: "/", 4257 } 4258 4259 if input == nil { 4260 input = &waf.GetPermissionPolicyInput{} 4261 } 4262 4263 output = &waf.GetPermissionPolicyOutput{} 4264 req = c.newRequest(op, input, output) 4265 return 4266} 4267 4268// GetPermissionPolicy API operation for AWS WAF Regional. 4269// 4270// Returns the IAM policy attached to the RuleGroup. 4271// 4272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4273// with awserr.Error's Code and Message methods to get detailed information about 4274// the error. 4275// 4276// See the AWS API reference guide for AWS WAF Regional's 4277// API operation GetPermissionPolicy for usage and error information. 4278// 4279// Returned Error Codes: 4280// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4281// The operation failed because of a system problem, even though the request 4282// was valid. Retry your request. 4283// 4284// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4285// The operation failed because the referenced object doesn't exist. 4286// 4287// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy 4288func (c *WAFRegional) GetPermissionPolicy(input *waf.GetPermissionPolicyInput) (*waf.GetPermissionPolicyOutput, error) { 4289 req, out := c.GetPermissionPolicyRequest(input) 4290 return out, req.Send() 4291} 4292 4293// GetPermissionPolicyWithContext is the same as GetPermissionPolicy with the addition of 4294// the ability to pass a context and additional request options. 4295// 4296// See GetPermissionPolicy for details on how to use this API operation. 4297// 4298// The context must be non-nil and will be used for request cancellation. If 4299// the context is nil a panic will occur. In the future the SDK may create 4300// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4301// for more information on using Contexts. 4302func (c *WAFRegional) GetPermissionPolicyWithContext(ctx aws.Context, input *waf.GetPermissionPolicyInput, opts ...request.Option) (*waf.GetPermissionPolicyOutput, error) { 4303 req, out := c.GetPermissionPolicyRequest(input) 4304 req.SetContext(ctx) 4305 req.ApplyOptions(opts...) 4306 return out, req.Send() 4307} 4308 4309const opGetRateBasedRule = "GetRateBasedRule" 4310 4311// GetRateBasedRuleRequest generates a "aws/request.Request" representing the 4312// client's request for the GetRateBasedRule operation. The "output" return 4313// value will be populated with the request's response once the request completes 4314// successfully. 4315// 4316// Use "Send" method on the returned Request to send the API call to the service. 4317// the "output" return value is not valid until after Send returns without error. 4318// 4319// See GetRateBasedRule for more information on using the GetRateBasedRule 4320// API call, and error handling. 4321// 4322// This method is useful when you want to inject custom logic or configuration 4323// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4324// 4325// 4326// // Example sending a request using the GetRateBasedRuleRequest method. 4327// req, resp := client.GetRateBasedRuleRequest(params) 4328// 4329// err := req.Send() 4330// if err == nil { // resp is now filled 4331// fmt.Println(resp) 4332// } 4333// 4334// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule 4335func (c *WAFRegional) GetRateBasedRuleRequest(input *waf.GetRateBasedRuleInput) (req *request.Request, output *waf.GetRateBasedRuleOutput) { 4336 op := &request.Operation{ 4337 Name: opGetRateBasedRule, 4338 HTTPMethod: "POST", 4339 HTTPPath: "/", 4340 } 4341 4342 if input == nil { 4343 input = &waf.GetRateBasedRuleInput{} 4344 } 4345 4346 output = &waf.GetRateBasedRuleOutput{} 4347 req = c.newRequest(op, input, output) 4348 return 4349} 4350 4351// GetRateBasedRule API operation for AWS WAF Regional. 4352// 4353// Returns the RateBasedRule that is specified by the RuleId that you included 4354// in the GetRateBasedRule request. 4355// 4356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4357// with awserr.Error's Code and Message methods to get detailed information about 4358// the error. 4359// 4360// See the AWS API reference guide for AWS WAF Regional's 4361// API operation GetRateBasedRule for usage and error information. 4362// 4363// Returned Error Codes: 4364// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4365// The operation failed because of a system problem, even though the request 4366// was valid. Retry your request. 4367// 4368// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4369// The operation failed because you tried to create, update, or delete an object 4370// by using an invalid account identifier. 4371// 4372// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4373// The operation failed because the referenced object doesn't exist. 4374// 4375// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule 4376func (c *WAFRegional) GetRateBasedRule(input *waf.GetRateBasedRuleInput) (*waf.GetRateBasedRuleOutput, error) { 4377 req, out := c.GetRateBasedRuleRequest(input) 4378 return out, req.Send() 4379} 4380 4381// GetRateBasedRuleWithContext is the same as GetRateBasedRule with the addition of 4382// the ability to pass a context and additional request options. 4383// 4384// See GetRateBasedRule for details on how to use this API operation. 4385// 4386// The context must be non-nil and will be used for request cancellation. If 4387// the context is nil a panic will occur. In the future the SDK may create 4388// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4389// for more information on using Contexts. 4390func (c *WAFRegional) GetRateBasedRuleWithContext(ctx aws.Context, input *waf.GetRateBasedRuleInput, opts ...request.Option) (*waf.GetRateBasedRuleOutput, error) { 4391 req, out := c.GetRateBasedRuleRequest(input) 4392 req.SetContext(ctx) 4393 req.ApplyOptions(opts...) 4394 return out, req.Send() 4395} 4396 4397const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys" 4398 4399// GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the 4400// client's request for the GetRateBasedRuleManagedKeys operation. The "output" return 4401// value will be populated with the request's response once the request completes 4402// successfully. 4403// 4404// Use "Send" method on the returned Request to send the API call to the service. 4405// the "output" return value is not valid until after Send returns without error. 4406// 4407// See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys 4408// API call, and error handling. 4409// 4410// This method is useful when you want to inject custom logic or configuration 4411// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4412// 4413// 4414// // Example sending a request using the GetRateBasedRuleManagedKeysRequest method. 4415// req, resp := client.GetRateBasedRuleManagedKeysRequest(params) 4416// 4417// err := req.Send() 4418// if err == nil { // resp is now filled 4419// fmt.Println(resp) 4420// } 4421// 4422// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys 4423func (c *WAFRegional) GetRateBasedRuleManagedKeysRequest(input *waf.GetRateBasedRuleManagedKeysInput) (req *request.Request, output *waf.GetRateBasedRuleManagedKeysOutput) { 4424 op := &request.Operation{ 4425 Name: opGetRateBasedRuleManagedKeys, 4426 HTTPMethod: "POST", 4427 HTTPPath: "/", 4428 } 4429 4430 if input == nil { 4431 input = &waf.GetRateBasedRuleManagedKeysInput{} 4432 } 4433 4434 output = &waf.GetRateBasedRuleManagedKeysOutput{} 4435 req = c.newRequest(op, input, output) 4436 return 4437} 4438 4439// GetRateBasedRuleManagedKeys API operation for AWS WAF Regional. 4440// 4441// Returns an array of IP addresses currently being blocked by the RateBasedRule 4442// that is specified by the RuleId. The maximum number of managed keys that 4443// will be blocked is 10,000. If more than 10,000 addresses exceed the rate 4444// limit, the 10,000 addresses with the highest rates will be blocked. 4445// 4446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4447// with awserr.Error's Code and Message methods to get detailed information about 4448// the error. 4449// 4450// See the AWS API reference guide for AWS WAF Regional's 4451// API operation GetRateBasedRuleManagedKeys for usage and error information. 4452// 4453// Returned Error Codes: 4454// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4455// The operation failed because of a system problem, even though the request 4456// was valid. Retry your request. 4457// 4458// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4459// The operation failed because you tried to create, update, or delete an object 4460// by using an invalid account identifier. 4461// 4462// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4463// The operation failed because the referenced object doesn't exist. 4464// 4465// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 4466// The operation failed because AWS WAF didn't recognize a parameter in the 4467// request. For example: 4468// 4469// * You specified an invalid parameter name. 4470// 4471// * You specified an invalid value. 4472// 4473// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 4474// using an action other than INSERT or DELETE. 4475// 4476// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 4477// BLOCK, or COUNT. 4478// 4479// * You tried to create a RateBasedRule with a RateKey value other than 4480// IP. 4481// 4482// * You tried to update a WebACL with a WafAction Type other than ALLOW, 4483// BLOCK, or COUNT. 4484// 4485// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 4486// HEADER, METHOD, QUERY_STRING, URI, or BODY. 4487// 4488// * You tried to update a ByteMatchSet with a Field of HEADER but no value 4489// for Data. 4490// 4491// * Your request references an ARN that is malformed, or corresponds to 4492// a resource with which a web ACL cannot be associated. 4493// 4494// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys 4495func (c *WAFRegional) GetRateBasedRuleManagedKeys(input *waf.GetRateBasedRuleManagedKeysInput) (*waf.GetRateBasedRuleManagedKeysOutput, error) { 4496 req, out := c.GetRateBasedRuleManagedKeysRequest(input) 4497 return out, req.Send() 4498} 4499 4500// GetRateBasedRuleManagedKeysWithContext is the same as GetRateBasedRuleManagedKeys with the addition of 4501// the ability to pass a context and additional request options. 4502// 4503// See GetRateBasedRuleManagedKeys for details on how to use this API operation. 4504// 4505// The context must be non-nil and will be used for request cancellation. If 4506// the context is nil a panic will occur. In the future the SDK may create 4507// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4508// for more information on using Contexts. 4509func (c *WAFRegional) GetRateBasedRuleManagedKeysWithContext(ctx aws.Context, input *waf.GetRateBasedRuleManagedKeysInput, opts ...request.Option) (*waf.GetRateBasedRuleManagedKeysOutput, error) { 4510 req, out := c.GetRateBasedRuleManagedKeysRequest(input) 4511 req.SetContext(ctx) 4512 req.ApplyOptions(opts...) 4513 return out, req.Send() 4514} 4515 4516const opGetRegexMatchSet = "GetRegexMatchSet" 4517 4518// GetRegexMatchSetRequest generates a "aws/request.Request" representing the 4519// client's request for the GetRegexMatchSet operation. The "output" return 4520// value will be populated with the request's response once the request completes 4521// successfully. 4522// 4523// Use "Send" method on the returned Request to send the API call to the service. 4524// the "output" return value is not valid until after Send returns without error. 4525// 4526// See GetRegexMatchSet for more information on using the GetRegexMatchSet 4527// API call, and error handling. 4528// 4529// This method is useful when you want to inject custom logic or configuration 4530// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4531// 4532// 4533// // Example sending a request using the GetRegexMatchSetRequest method. 4534// req, resp := client.GetRegexMatchSetRequest(params) 4535// 4536// err := req.Send() 4537// if err == nil { // resp is now filled 4538// fmt.Println(resp) 4539// } 4540// 4541// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet 4542func (c *WAFRegional) GetRegexMatchSetRequest(input *waf.GetRegexMatchSetInput) (req *request.Request, output *waf.GetRegexMatchSetOutput) { 4543 op := &request.Operation{ 4544 Name: opGetRegexMatchSet, 4545 HTTPMethod: "POST", 4546 HTTPPath: "/", 4547 } 4548 4549 if input == nil { 4550 input = &waf.GetRegexMatchSetInput{} 4551 } 4552 4553 output = &waf.GetRegexMatchSetOutput{} 4554 req = c.newRequest(op, input, output) 4555 return 4556} 4557 4558// GetRegexMatchSet API operation for AWS WAF Regional. 4559// 4560// Returns the RegexMatchSet specified by RegexMatchSetId. 4561// 4562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4563// with awserr.Error's Code and Message methods to get detailed information about 4564// the error. 4565// 4566// See the AWS API reference guide for AWS WAF Regional's 4567// API operation GetRegexMatchSet for usage and error information. 4568// 4569// Returned Error Codes: 4570// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4571// The operation failed because of a system problem, even though the request 4572// was valid. Retry your request. 4573// 4574// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4575// The operation failed because you tried to create, update, or delete an object 4576// by using an invalid account identifier. 4577// 4578// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4579// The operation failed because the referenced object doesn't exist. 4580// 4581// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet 4582func (c *WAFRegional) GetRegexMatchSet(input *waf.GetRegexMatchSetInput) (*waf.GetRegexMatchSetOutput, error) { 4583 req, out := c.GetRegexMatchSetRequest(input) 4584 return out, req.Send() 4585} 4586 4587// GetRegexMatchSetWithContext is the same as GetRegexMatchSet with the addition of 4588// the ability to pass a context and additional request options. 4589// 4590// See GetRegexMatchSet for details on how to use this API operation. 4591// 4592// The context must be non-nil and will be used for request cancellation. If 4593// the context is nil a panic will occur. In the future the SDK may create 4594// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4595// for more information on using Contexts. 4596func (c *WAFRegional) GetRegexMatchSetWithContext(ctx aws.Context, input *waf.GetRegexMatchSetInput, opts ...request.Option) (*waf.GetRegexMatchSetOutput, error) { 4597 req, out := c.GetRegexMatchSetRequest(input) 4598 req.SetContext(ctx) 4599 req.ApplyOptions(opts...) 4600 return out, req.Send() 4601} 4602 4603const opGetRegexPatternSet = "GetRegexPatternSet" 4604 4605// GetRegexPatternSetRequest generates a "aws/request.Request" representing the 4606// client's request for the GetRegexPatternSet operation. The "output" return 4607// value will be populated with the request's response once the request completes 4608// successfully. 4609// 4610// Use "Send" method on the returned Request to send the API call to the service. 4611// the "output" return value is not valid until after Send returns without error. 4612// 4613// See GetRegexPatternSet for more information on using the GetRegexPatternSet 4614// API call, and error handling. 4615// 4616// This method is useful when you want to inject custom logic or configuration 4617// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4618// 4619// 4620// // Example sending a request using the GetRegexPatternSetRequest method. 4621// req, resp := client.GetRegexPatternSetRequest(params) 4622// 4623// err := req.Send() 4624// if err == nil { // resp is now filled 4625// fmt.Println(resp) 4626// } 4627// 4628// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet 4629func (c *WAFRegional) GetRegexPatternSetRequest(input *waf.GetRegexPatternSetInput) (req *request.Request, output *waf.GetRegexPatternSetOutput) { 4630 op := &request.Operation{ 4631 Name: opGetRegexPatternSet, 4632 HTTPMethod: "POST", 4633 HTTPPath: "/", 4634 } 4635 4636 if input == nil { 4637 input = &waf.GetRegexPatternSetInput{} 4638 } 4639 4640 output = &waf.GetRegexPatternSetOutput{} 4641 req = c.newRequest(op, input, output) 4642 return 4643} 4644 4645// GetRegexPatternSet API operation for AWS WAF Regional. 4646// 4647// Returns the RegexPatternSet specified by RegexPatternSetId. 4648// 4649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4650// with awserr.Error's Code and Message methods to get detailed information about 4651// the error. 4652// 4653// See the AWS API reference guide for AWS WAF Regional's 4654// API operation GetRegexPatternSet for usage and error information. 4655// 4656// Returned Error Codes: 4657// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4658// The operation failed because of a system problem, even though the request 4659// was valid. Retry your request. 4660// 4661// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4662// The operation failed because you tried to create, update, or delete an object 4663// by using an invalid account identifier. 4664// 4665// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4666// The operation failed because the referenced object doesn't exist. 4667// 4668// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet 4669func (c *WAFRegional) GetRegexPatternSet(input *waf.GetRegexPatternSetInput) (*waf.GetRegexPatternSetOutput, error) { 4670 req, out := c.GetRegexPatternSetRequest(input) 4671 return out, req.Send() 4672} 4673 4674// GetRegexPatternSetWithContext is the same as GetRegexPatternSet with the addition of 4675// the ability to pass a context and additional request options. 4676// 4677// See GetRegexPatternSet for details on how to use this API operation. 4678// 4679// The context must be non-nil and will be used for request cancellation. If 4680// the context is nil a panic will occur. In the future the SDK may create 4681// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4682// for more information on using Contexts. 4683func (c *WAFRegional) GetRegexPatternSetWithContext(ctx aws.Context, input *waf.GetRegexPatternSetInput, opts ...request.Option) (*waf.GetRegexPatternSetOutput, error) { 4684 req, out := c.GetRegexPatternSetRequest(input) 4685 req.SetContext(ctx) 4686 req.ApplyOptions(opts...) 4687 return out, req.Send() 4688} 4689 4690const opGetRule = "GetRule" 4691 4692// GetRuleRequest generates a "aws/request.Request" representing the 4693// client's request for the GetRule operation. The "output" return 4694// value will be populated with the request's response once the request completes 4695// successfully. 4696// 4697// Use "Send" method on the returned Request to send the API call to the service. 4698// the "output" return value is not valid until after Send returns without error. 4699// 4700// See GetRule for more information on using the GetRule 4701// API call, and error handling. 4702// 4703// This method is useful when you want to inject custom logic or configuration 4704// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4705// 4706// 4707// // Example sending a request using the GetRuleRequest method. 4708// req, resp := client.GetRuleRequest(params) 4709// 4710// err := req.Send() 4711// if err == nil { // resp is now filled 4712// fmt.Println(resp) 4713// } 4714// 4715// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule 4716func (c *WAFRegional) GetRuleRequest(input *waf.GetRuleInput) (req *request.Request, output *waf.GetRuleOutput) { 4717 op := &request.Operation{ 4718 Name: opGetRule, 4719 HTTPMethod: "POST", 4720 HTTPPath: "/", 4721 } 4722 4723 if input == nil { 4724 input = &waf.GetRuleInput{} 4725 } 4726 4727 output = &waf.GetRuleOutput{} 4728 req = c.newRequest(op, input, output) 4729 return 4730} 4731 4732// GetRule API operation for AWS WAF Regional. 4733// 4734// Returns the Rule that is specified by the RuleId that you included in the 4735// GetRule request. 4736// 4737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4738// with awserr.Error's Code and Message methods to get detailed information about 4739// the error. 4740// 4741// See the AWS API reference guide for AWS WAF Regional's 4742// API operation GetRule for usage and error information. 4743// 4744// Returned Error Codes: 4745// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4746// The operation failed because of a system problem, even though the request 4747// was valid. Retry your request. 4748// 4749// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 4750// The operation failed because you tried to create, update, or delete an object 4751// by using an invalid account identifier. 4752// 4753// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4754// The operation failed because the referenced object doesn't exist. 4755// 4756// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule 4757func (c *WAFRegional) GetRule(input *waf.GetRuleInput) (*waf.GetRuleOutput, error) { 4758 req, out := c.GetRuleRequest(input) 4759 return out, req.Send() 4760} 4761 4762// GetRuleWithContext is the same as GetRule with the addition of 4763// the ability to pass a context and additional request options. 4764// 4765// See GetRule for details on how to use this API operation. 4766// 4767// The context must be non-nil and will be used for request cancellation. If 4768// the context is nil a panic will occur. In the future the SDK may create 4769// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4770// for more information on using Contexts. 4771func (c *WAFRegional) GetRuleWithContext(ctx aws.Context, input *waf.GetRuleInput, opts ...request.Option) (*waf.GetRuleOutput, error) { 4772 req, out := c.GetRuleRequest(input) 4773 req.SetContext(ctx) 4774 req.ApplyOptions(opts...) 4775 return out, req.Send() 4776} 4777 4778const opGetRuleGroup = "GetRuleGroup" 4779 4780// GetRuleGroupRequest generates a "aws/request.Request" representing the 4781// client's request for the GetRuleGroup operation. The "output" return 4782// value will be populated with the request's response once the request completes 4783// successfully. 4784// 4785// Use "Send" method on the returned Request to send the API call to the service. 4786// the "output" return value is not valid until after Send returns without error. 4787// 4788// See GetRuleGroup for more information on using the GetRuleGroup 4789// API call, and error handling. 4790// 4791// This method is useful when you want to inject custom logic or configuration 4792// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4793// 4794// 4795// // Example sending a request using the GetRuleGroupRequest method. 4796// req, resp := client.GetRuleGroupRequest(params) 4797// 4798// err := req.Send() 4799// if err == nil { // resp is now filled 4800// fmt.Println(resp) 4801// } 4802// 4803// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup 4804func (c *WAFRegional) GetRuleGroupRequest(input *waf.GetRuleGroupInput) (req *request.Request, output *waf.GetRuleGroupOutput) { 4805 op := &request.Operation{ 4806 Name: opGetRuleGroup, 4807 HTTPMethod: "POST", 4808 HTTPPath: "/", 4809 } 4810 4811 if input == nil { 4812 input = &waf.GetRuleGroupInput{} 4813 } 4814 4815 output = &waf.GetRuleGroupOutput{} 4816 req = c.newRequest(op, input, output) 4817 return 4818} 4819 4820// GetRuleGroup API operation for AWS WAF Regional. 4821// 4822// Returns the RuleGroup that is specified by the RuleGroupId that you included 4823// in the GetRuleGroup request. 4824// 4825// To view the rules in a rule group, use ListActivatedRulesInRuleGroup. 4826// 4827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4828// with awserr.Error's Code and Message methods to get detailed information about 4829// the error. 4830// 4831// See the AWS API reference guide for AWS WAF Regional's 4832// API operation GetRuleGroup for usage and error information. 4833// 4834// Returned Error Codes: 4835// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4836// The operation failed because of a system problem, even though the request 4837// was valid. Retry your request. 4838// 4839// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4840// The operation failed because the referenced object doesn't exist. 4841// 4842// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup 4843func (c *WAFRegional) GetRuleGroup(input *waf.GetRuleGroupInput) (*waf.GetRuleGroupOutput, error) { 4844 req, out := c.GetRuleGroupRequest(input) 4845 return out, req.Send() 4846} 4847 4848// GetRuleGroupWithContext is the same as GetRuleGroup with the addition of 4849// the ability to pass a context and additional request options. 4850// 4851// See GetRuleGroup for details on how to use this API operation. 4852// 4853// The context must be non-nil and will be used for request cancellation. If 4854// the context is nil a panic will occur. In the future the SDK may create 4855// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4856// for more information on using Contexts. 4857func (c *WAFRegional) GetRuleGroupWithContext(ctx aws.Context, input *waf.GetRuleGroupInput, opts ...request.Option) (*waf.GetRuleGroupOutput, error) { 4858 req, out := c.GetRuleGroupRequest(input) 4859 req.SetContext(ctx) 4860 req.ApplyOptions(opts...) 4861 return out, req.Send() 4862} 4863 4864const opGetSampledRequests = "GetSampledRequests" 4865 4866// GetSampledRequestsRequest generates a "aws/request.Request" representing the 4867// client's request for the GetSampledRequests operation. The "output" return 4868// value will be populated with the request's response once the request completes 4869// successfully. 4870// 4871// Use "Send" method on the returned Request to send the API call to the service. 4872// the "output" return value is not valid until after Send returns without error. 4873// 4874// See GetSampledRequests for more information on using the GetSampledRequests 4875// API call, and error handling. 4876// 4877// This method is useful when you want to inject custom logic or configuration 4878// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4879// 4880// 4881// // Example sending a request using the GetSampledRequestsRequest method. 4882// req, resp := client.GetSampledRequestsRequest(params) 4883// 4884// err := req.Send() 4885// if err == nil { // resp is now filled 4886// fmt.Println(resp) 4887// } 4888// 4889// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests 4890func (c *WAFRegional) GetSampledRequestsRequest(input *waf.GetSampledRequestsInput) (req *request.Request, output *waf.GetSampledRequestsOutput) { 4891 op := &request.Operation{ 4892 Name: opGetSampledRequests, 4893 HTTPMethod: "POST", 4894 HTTPPath: "/", 4895 } 4896 4897 if input == nil { 4898 input = &waf.GetSampledRequestsInput{} 4899 } 4900 4901 output = &waf.GetSampledRequestsOutput{} 4902 req = c.newRequest(op, input, output) 4903 return 4904} 4905 4906// GetSampledRequests API operation for AWS WAF Regional. 4907// 4908// Gets detailed information about a specified number of requests--a sample--that 4909// AWS WAF randomly selects from among the first 5,000 requests that your AWS 4910// resource received during a time range that you choose. You can specify a 4911// sample size of up to 500 requests, and you can specify any time range in 4912// the previous three hours. 4913// 4914// GetSampledRequests returns a time range, which is usually the time range 4915// that you specified. However, if your resource (such as a CloudFront distribution) 4916// received 5,000 requests before the specified time range elapsed, GetSampledRequests 4917// returns an updated time range. This new time range indicates the actual period 4918// during which AWS WAF selected the requests in the sample. 4919// 4920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4921// with awserr.Error's Code and Message methods to get detailed information about 4922// the error. 4923// 4924// See the AWS API reference guide for AWS WAF Regional's 4925// API operation GetSampledRequests for usage and error information. 4926// 4927// Returned Error Codes: 4928// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 4929// The operation failed because the referenced object doesn't exist. 4930// 4931// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 4932// The operation failed because of a system problem, even though the request 4933// was valid. Retry your request. 4934// 4935// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests 4936func (c *WAFRegional) GetSampledRequests(input *waf.GetSampledRequestsInput) (*waf.GetSampledRequestsOutput, error) { 4937 req, out := c.GetSampledRequestsRequest(input) 4938 return out, req.Send() 4939} 4940 4941// GetSampledRequestsWithContext is the same as GetSampledRequests with the addition of 4942// the ability to pass a context and additional request options. 4943// 4944// See GetSampledRequests for details on how to use this API operation. 4945// 4946// The context must be non-nil and will be used for request cancellation. If 4947// the context is nil a panic will occur. In the future the SDK may create 4948// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4949// for more information on using Contexts. 4950func (c *WAFRegional) GetSampledRequestsWithContext(ctx aws.Context, input *waf.GetSampledRequestsInput, opts ...request.Option) (*waf.GetSampledRequestsOutput, error) { 4951 req, out := c.GetSampledRequestsRequest(input) 4952 req.SetContext(ctx) 4953 req.ApplyOptions(opts...) 4954 return out, req.Send() 4955} 4956 4957const opGetSizeConstraintSet = "GetSizeConstraintSet" 4958 4959// GetSizeConstraintSetRequest generates a "aws/request.Request" representing the 4960// client's request for the GetSizeConstraintSet operation. The "output" return 4961// value will be populated with the request's response once the request completes 4962// successfully. 4963// 4964// Use "Send" method on the returned Request to send the API call to the service. 4965// the "output" return value is not valid until after Send returns without error. 4966// 4967// See GetSizeConstraintSet for more information on using the GetSizeConstraintSet 4968// API call, and error handling. 4969// 4970// This method is useful when you want to inject custom logic or configuration 4971// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4972// 4973// 4974// // Example sending a request using the GetSizeConstraintSetRequest method. 4975// req, resp := client.GetSizeConstraintSetRequest(params) 4976// 4977// err := req.Send() 4978// if err == nil { // resp is now filled 4979// fmt.Println(resp) 4980// } 4981// 4982// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet 4983func (c *WAFRegional) GetSizeConstraintSetRequest(input *waf.GetSizeConstraintSetInput) (req *request.Request, output *waf.GetSizeConstraintSetOutput) { 4984 op := &request.Operation{ 4985 Name: opGetSizeConstraintSet, 4986 HTTPMethod: "POST", 4987 HTTPPath: "/", 4988 } 4989 4990 if input == nil { 4991 input = &waf.GetSizeConstraintSetInput{} 4992 } 4993 4994 output = &waf.GetSizeConstraintSetOutput{} 4995 req = c.newRequest(op, input, output) 4996 return 4997} 4998 4999// GetSizeConstraintSet API operation for AWS WAF Regional. 5000// 5001// Returns the SizeConstraintSet specified by SizeConstraintSetId. 5002// 5003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5004// with awserr.Error's Code and Message methods to get detailed information about 5005// the error. 5006// 5007// See the AWS API reference guide for AWS WAF Regional's 5008// API operation GetSizeConstraintSet for usage and error information. 5009// 5010// Returned Error Codes: 5011// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5012// The operation failed because of a system problem, even though the request 5013// was valid. Retry your request. 5014// 5015// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5016// The operation failed because you tried to create, update, or delete an object 5017// by using an invalid account identifier. 5018// 5019// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5020// The operation failed because the referenced object doesn't exist. 5021// 5022// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet 5023func (c *WAFRegional) GetSizeConstraintSet(input *waf.GetSizeConstraintSetInput) (*waf.GetSizeConstraintSetOutput, error) { 5024 req, out := c.GetSizeConstraintSetRequest(input) 5025 return out, req.Send() 5026} 5027 5028// GetSizeConstraintSetWithContext is the same as GetSizeConstraintSet with the addition of 5029// the ability to pass a context and additional request options. 5030// 5031// See GetSizeConstraintSet for details on how to use this API operation. 5032// 5033// The context must be non-nil and will be used for request cancellation. If 5034// the context is nil a panic will occur. In the future the SDK may create 5035// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5036// for more information on using Contexts. 5037func (c *WAFRegional) GetSizeConstraintSetWithContext(ctx aws.Context, input *waf.GetSizeConstraintSetInput, opts ...request.Option) (*waf.GetSizeConstraintSetOutput, error) { 5038 req, out := c.GetSizeConstraintSetRequest(input) 5039 req.SetContext(ctx) 5040 req.ApplyOptions(opts...) 5041 return out, req.Send() 5042} 5043 5044const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet" 5045 5046// GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 5047// client's request for the GetSqlInjectionMatchSet operation. The "output" return 5048// value will be populated with the request's response once the request completes 5049// successfully. 5050// 5051// Use "Send" method on the returned Request to send the API call to the service. 5052// the "output" return value is not valid until after Send returns without error. 5053// 5054// See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet 5055// API call, and error handling. 5056// 5057// This method is useful when you want to inject custom logic or configuration 5058// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5059// 5060// 5061// // Example sending a request using the GetSqlInjectionMatchSetRequest method. 5062// req, resp := client.GetSqlInjectionMatchSetRequest(params) 5063// 5064// err := req.Send() 5065// if err == nil { // resp is now filled 5066// fmt.Println(resp) 5067// } 5068// 5069// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet 5070func (c *WAFRegional) GetSqlInjectionMatchSetRequest(input *waf.GetSqlInjectionMatchSetInput) (req *request.Request, output *waf.GetSqlInjectionMatchSetOutput) { 5071 op := &request.Operation{ 5072 Name: opGetSqlInjectionMatchSet, 5073 HTTPMethod: "POST", 5074 HTTPPath: "/", 5075 } 5076 5077 if input == nil { 5078 input = &waf.GetSqlInjectionMatchSetInput{} 5079 } 5080 5081 output = &waf.GetSqlInjectionMatchSetOutput{} 5082 req = c.newRequest(op, input, output) 5083 return 5084} 5085 5086// GetSqlInjectionMatchSet API operation for AWS WAF Regional. 5087// 5088// Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. 5089// 5090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5091// with awserr.Error's Code and Message methods to get detailed information about 5092// the error. 5093// 5094// See the AWS API reference guide for AWS WAF Regional's 5095// API operation GetSqlInjectionMatchSet for usage and error information. 5096// 5097// Returned Error Codes: 5098// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5099// The operation failed because of a system problem, even though the request 5100// was valid. Retry your request. 5101// 5102// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5103// The operation failed because you tried to create, update, or delete an object 5104// by using an invalid account identifier. 5105// 5106// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5107// The operation failed because the referenced object doesn't exist. 5108// 5109// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet 5110func (c *WAFRegional) GetSqlInjectionMatchSet(input *waf.GetSqlInjectionMatchSetInput) (*waf.GetSqlInjectionMatchSetOutput, error) { 5111 req, out := c.GetSqlInjectionMatchSetRequest(input) 5112 return out, req.Send() 5113} 5114 5115// GetSqlInjectionMatchSetWithContext is the same as GetSqlInjectionMatchSet with the addition of 5116// the ability to pass a context and additional request options. 5117// 5118// See GetSqlInjectionMatchSet for details on how to use this API operation. 5119// 5120// The context must be non-nil and will be used for request cancellation. If 5121// the context is nil a panic will occur. In the future the SDK may create 5122// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5123// for more information on using Contexts. 5124func (c *WAFRegional) GetSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.GetSqlInjectionMatchSetInput, opts ...request.Option) (*waf.GetSqlInjectionMatchSetOutput, error) { 5125 req, out := c.GetSqlInjectionMatchSetRequest(input) 5126 req.SetContext(ctx) 5127 req.ApplyOptions(opts...) 5128 return out, req.Send() 5129} 5130 5131const opGetWebACL = "GetWebACL" 5132 5133// GetWebACLRequest generates a "aws/request.Request" representing the 5134// client's request for the GetWebACL operation. The "output" return 5135// value will be populated with the request's response once the request completes 5136// successfully. 5137// 5138// Use "Send" method on the returned Request to send the API call to the service. 5139// the "output" return value is not valid until after Send returns without error. 5140// 5141// See GetWebACL for more information on using the GetWebACL 5142// API call, and error handling. 5143// 5144// This method is useful when you want to inject custom logic or configuration 5145// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5146// 5147// 5148// // Example sending a request using the GetWebACLRequest method. 5149// req, resp := client.GetWebACLRequest(params) 5150// 5151// err := req.Send() 5152// if err == nil { // resp is now filled 5153// fmt.Println(resp) 5154// } 5155// 5156// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL 5157func (c *WAFRegional) GetWebACLRequest(input *waf.GetWebACLInput) (req *request.Request, output *waf.GetWebACLOutput) { 5158 op := &request.Operation{ 5159 Name: opGetWebACL, 5160 HTTPMethod: "POST", 5161 HTTPPath: "/", 5162 } 5163 5164 if input == nil { 5165 input = &waf.GetWebACLInput{} 5166 } 5167 5168 output = &waf.GetWebACLOutput{} 5169 req = c.newRequest(op, input, output) 5170 return 5171} 5172 5173// GetWebACL API operation for AWS WAF Regional. 5174// 5175// Returns the WebACL that is specified by WebACLId. 5176// 5177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5178// with awserr.Error's Code and Message methods to get detailed information about 5179// the error. 5180// 5181// See the AWS API reference guide for AWS WAF Regional's 5182// API operation GetWebACL for usage and error information. 5183// 5184// Returned Error Codes: 5185// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5186// The operation failed because of a system problem, even though the request 5187// was valid. Retry your request. 5188// 5189// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5190// The operation failed because you tried to create, update, or delete an object 5191// by using an invalid account identifier. 5192// 5193// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5194// The operation failed because the referenced object doesn't exist. 5195// 5196// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL 5197func (c *WAFRegional) GetWebACL(input *waf.GetWebACLInput) (*waf.GetWebACLOutput, error) { 5198 req, out := c.GetWebACLRequest(input) 5199 return out, req.Send() 5200} 5201 5202// GetWebACLWithContext is the same as GetWebACL with the addition of 5203// the ability to pass a context and additional request options. 5204// 5205// See GetWebACL for details on how to use this API operation. 5206// 5207// The context must be non-nil and will be used for request cancellation. If 5208// the context is nil a panic will occur. In the future the SDK may create 5209// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5210// for more information on using Contexts. 5211func (c *WAFRegional) GetWebACLWithContext(ctx aws.Context, input *waf.GetWebACLInput, opts ...request.Option) (*waf.GetWebACLOutput, error) { 5212 req, out := c.GetWebACLRequest(input) 5213 req.SetContext(ctx) 5214 req.ApplyOptions(opts...) 5215 return out, req.Send() 5216} 5217 5218const opGetWebACLForResource = "GetWebACLForResource" 5219 5220// GetWebACLForResourceRequest generates a "aws/request.Request" representing the 5221// client's request for the GetWebACLForResource operation. The "output" return 5222// value will be populated with the request's response once the request completes 5223// successfully. 5224// 5225// Use "Send" method on the returned Request to send the API call to the service. 5226// the "output" return value is not valid until after Send returns without error. 5227// 5228// See GetWebACLForResource for more information on using the GetWebACLForResource 5229// API call, and error handling. 5230// 5231// This method is useful when you want to inject custom logic or configuration 5232// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5233// 5234// 5235// // Example sending a request using the GetWebACLForResourceRequest method. 5236// req, resp := client.GetWebACLForResourceRequest(params) 5237// 5238// err := req.Send() 5239// if err == nil { // resp is now filled 5240// fmt.Println(resp) 5241// } 5242// 5243// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource 5244func (c *WAFRegional) GetWebACLForResourceRequest(input *GetWebACLForResourceInput) (req *request.Request, output *GetWebACLForResourceOutput) { 5245 op := &request.Operation{ 5246 Name: opGetWebACLForResource, 5247 HTTPMethod: "POST", 5248 HTTPPath: "/", 5249 } 5250 5251 if input == nil { 5252 input = &GetWebACLForResourceInput{} 5253 } 5254 5255 output = &GetWebACLForResourceOutput{} 5256 req = c.newRequest(op, input, output) 5257 return 5258} 5259 5260// GetWebACLForResource API operation for AWS WAF Regional. 5261// 5262// Returns the web ACL for the specified resource, either an application load 5263// balancer or Amazon API Gateway stage. 5264// 5265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5266// with awserr.Error's Code and Message methods to get detailed information about 5267// the error. 5268// 5269// See the AWS API reference guide for AWS WAF Regional's 5270// API operation GetWebACLForResource for usage and error information. 5271// 5272// Returned Error Codes: 5273// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5274// The operation failed because of a system problem, even though the request 5275// was valid. Retry your request. 5276// 5277// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5278// The operation failed because you tried to create, update, or delete an object 5279// by using an invalid account identifier. 5280// 5281// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5282// The operation failed because the referenced object doesn't exist. 5283// 5284// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 5285// The operation failed because AWS WAF didn't recognize a parameter in the 5286// request. For example: 5287// 5288// * You specified an invalid parameter name. 5289// 5290// * You specified an invalid value. 5291// 5292// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 5293// using an action other than INSERT or DELETE. 5294// 5295// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 5296// BLOCK, or COUNT. 5297// 5298// * You tried to create a RateBasedRule with a RateKey value other than 5299// IP. 5300// 5301// * You tried to update a WebACL with a WafAction Type other than ALLOW, 5302// BLOCK, or COUNT. 5303// 5304// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 5305// HEADER, METHOD, QUERY_STRING, URI, or BODY. 5306// 5307// * You tried to update a ByteMatchSet with a Field of HEADER but no value 5308// for Data. 5309// 5310// * Your request references an ARN that is malformed, or corresponds to 5311// a resource with which a web ACL cannot be associated. 5312// 5313// * ErrCodeWAFUnavailableEntityException "WAFUnavailableEntityException" 5314// The operation failed because the entity referenced is temporarily unavailable. 5315// Retry your request. 5316// 5317// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource 5318func (c *WAFRegional) GetWebACLForResource(input *GetWebACLForResourceInput) (*GetWebACLForResourceOutput, error) { 5319 req, out := c.GetWebACLForResourceRequest(input) 5320 return out, req.Send() 5321} 5322 5323// GetWebACLForResourceWithContext is the same as GetWebACLForResource with the addition of 5324// the ability to pass a context and additional request options. 5325// 5326// See GetWebACLForResource for details on how to use this API operation. 5327// 5328// The context must be non-nil and will be used for request cancellation. If 5329// the context is nil a panic will occur. In the future the SDK may create 5330// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5331// for more information on using Contexts. 5332func (c *WAFRegional) GetWebACLForResourceWithContext(ctx aws.Context, input *GetWebACLForResourceInput, opts ...request.Option) (*GetWebACLForResourceOutput, error) { 5333 req, out := c.GetWebACLForResourceRequest(input) 5334 req.SetContext(ctx) 5335 req.ApplyOptions(opts...) 5336 return out, req.Send() 5337} 5338 5339const opGetXssMatchSet = "GetXssMatchSet" 5340 5341// GetXssMatchSetRequest generates a "aws/request.Request" representing the 5342// client's request for the GetXssMatchSet operation. The "output" return 5343// value will be populated with the request's response once the request completes 5344// successfully. 5345// 5346// Use "Send" method on the returned Request to send the API call to the service. 5347// the "output" return value is not valid until after Send returns without error. 5348// 5349// See GetXssMatchSet for more information on using the GetXssMatchSet 5350// API call, and error handling. 5351// 5352// This method is useful when you want to inject custom logic or configuration 5353// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5354// 5355// 5356// // Example sending a request using the GetXssMatchSetRequest method. 5357// req, resp := client.GetXssMatchSetRequest(params) 5358// 5359// err := req.Send() 5360// if err == nil { // resp is now filled 5361// fmt.Println(resp) 5362// } 5363// 5364// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet 5365func (c *WAFRegional) GetXssMatchSetRequest(input *waf.GetXssMatchSetInput) (req *request.Request, output *waf.GetXssMatchSetOutput) { 5366 op := &request.Operation{ 5367 Name: opGetXssMatchSet, 5368 HTTPMethod: "POST", 5369 HTTPPath: "/", 5370 } 5371 5372 if input == nil { 5373 input = &waf.GetXssMatchSetInput{} 5374 } 5375 5376 output = &waf.GetXssMatchSetOutput{} 5377 req = c.newRequest(op, input, output) 5378 return 5379} 5380 5381// GetXssMatchSet API operation for AWS WAF Regional. 5382// 5383// Returns the XssMatchSet that is specified by XssMatchSetId. 5384// 5385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5386// with awserr.Error's Code and Message methods to get detailed information about 5387// the error. 5388// 5389// See the AWS API reference guide for AWS WAF Regional's 5390// API operation GetXssMatchSet for usage and error information. 5391// 5392// Returned Error Codes: 5393// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5394// The operation failed because of a system problem, even though the request 5395// was valid. Retry your request. 5396// 5397// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5398// The operation failed because you tried to create, update, or delete an object 5399// by using an invalid account identifier. 5400// 5401// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5402// The operation failed because the referenced object doesn't exist. 5403// 5404// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet 5405func (c *WAFRegional) GetXssMatchSet(input *waf.GetXssMatchSetInput) (*waf.GetXssMatchSetOutput, error) { 5406 req, out := c.GetXssMatchSetRequest(input) 5407 return out, req.Send() 5408} 5409 5410// GetXssMatchSetWithContext is the same as GetXssMatchSet with the addition of 5411// the ability to pass a context and additional request options. 5412// 5413// See GetXssMatchSet for details on how to use this API operation. 5414// 5415// The context must be non-nil and will be used for request cancellation. If 5416// the context is nil a panic will occur. In the future the SDK may create 5417// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5418// for more information on using Contexts. 5419func (c *WAFRegional) GetXssMatchSetWithContext(ctx aws.Context, input *waf.GetXssMatchSetInput, opts ...request.Option) (*waf.GetXssMatchSetOutput, error) { 5420 req, out := c.GetXssMatchSetRequest(input) 5421 req.SetContext(ctx) 5422 req.ApplyOptions(opts...) 5423 return out, req.Send() 5424} 5425 5426const opListActivatedRulesInRuleGroup = "ListActivatedRulesInRuleGroup" 5427 5428// ListActivatedRulesInRuleGroupRequest generates a "aws/request.Request" representing the 5429// client's request for the ListActivatedRulesInRuleGroup operation. The "output" return 5430// value will be populated with the request's response once the request completes 5431// successfully. 5432// 5433// Use "Send" method on the returned Request to send the API call to the service. 5434// the "output" return value is not valid until after Send returns without error. 5435// 5436// See ListActivatedRulesInRuleGroup for more information on using the ListActivatedRulesInRuleGroup 5437// API call, and error handling. 5438// 5439// This method is useful when you want to inject custom logic or configuration 5440// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5441// 5442// 5443// // Example sending a request using the ListActivatedRulesInRuleGroupRequest method. 5444// req, resp := client.ListActivatedRulesInRuleGroupRequest(params) 5445// 5446// err := req.Send() 5447// if err == nil { // resp is now filled 5448// fmt.Println(resp) 5449// } 5450// 5451// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup 5452func (c *WAFRegional) ListActivatedRulesInRuleGroupRequest(input *waf.ListActivatedRulesInRuleGroupInput) (req *request.Request, output *waf.ListActivatedRulesInRuleGroupOutput) { 5453 op := &request.Operation{ 5454 Name: opListActivatedRulesInRuleGroup, 5455 HTTPMethod: "POST", 5456 HTTPPath: "/", 5457 } 5458 5459 if input == nil { 5460 input = &waf.ListActivatedRulesInRuleGroupInput{} 5461 } 5462 5463 output = &waf.ListActivatedRulesInRuleGroupOutput{} 5464 req = c.newRequest(op, input, output) 5465 return 5466} 5467 5468// ListActivatedRulesInRuleGroup API operation for AWS WAF Regional. 5469// 5470// Returns an array of ActivatedRule objects. 5471// 5472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5473// with awserr.Error's Code and Message methods to get detailed information about 5474// the error. 5475// 5476// See the AWS API reference guide for AWS WAF Regional's 5477// API operation ListActivatedRulesInRuleGroup for usage and error information. 5478// 5479// Returned Error Codes: 5480// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5481// The operation failed because of a system problem, even though the request 5482// was valid. Retry your request. 5483// 5484// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5485// The operation failed because the referenced object doesn't exist. 5486// 5487// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 5488// The operation failed because AWS WAF didn't recognize a parameter in the 5489// request. For example: 5490// 5491// * You specified an invalid parameter name. 5492// 5493// * You specified an invalid value. 5494// 5495// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 5496// using an action other than INSERT or DELETE. 5497// 5498// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 5499// BLOCK, or COUNT. 5500// 5501// * You tried to create a RateBasedRule with a RateKey value other than 5502// IP. 5503// 5504// * You tried to update a WebACL with a WafAction Type other than ALLOW, 5505// BLOCK, or COUNT. 5506// 5507// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 5508// HEADER, METHOD, QUERY_STRING, URI, or BODY. 5509// 5510// * You tried to update a ByteMatchSet with a Field of HEADER but no value 5511// for Data. 5512// 5513// * Your request references an ARN that is malformed, or corresponds to 5514// a resource with which a web ACL cannot be associated. 5515// 5516// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup 5517func (c *WAFRegional) ListActivatedRulesInRuleGroup(input *waf.ListActivatedRulesInRuleGroupInput) (*waf.ListActivatedRulesInRuleGroupOutput, error) { 5518 req, out := c.ListActivatedRulesInRuleGroupRequest(input) 5519 return out, req.Send() 5520} 5521 5522// ListActivatedRulesInRuleGroupWithContext is the same as ListActivatedRulesInRuleGroup with the addition of 5523// the ability to pass a context and additional request options. 5524// 5525// See ListActivatedRulesInRuleGroup for details on how to use this API operation. 5526// 5527// The context must be non-nil and will be used for request cancellation. If 5528// the context is nil a panic will occur. In the future the SDK may create 5529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5530// for more information on using Contexts. 5531func (c *WAFRegional) ListActivatedRulesInRuleGroupWithContext(ctx aws.Context, input *waf.ListActivatedRulesInRuleGroupInput, opts ...request.Option) (*waf.ListActivatedRulesInRuleGroupOutput, error) { 5532 req, out := c.ListActivatedRulesInRuleGroupRequest(input) 5533 req.SetContext(ctx) 5534 req.ApplyOptions(opts...) 5535 return out, req.Send() 5536} 5537 5538const opListByteMatchSets = "ListByteMatchSets" 5539 5540// ListByteMatchSetsRequest generates a "aws/request.Request" representing the 5541// client's request for the ListByteMatchSets operation. The "output" return 5542// value will be populated with the request's response once the request completes 5543// successfully. 5544// 5545// Use "Send" method on the returned Request to send the API call to the service. 5546// the "output" return value is not valid until after Send returns without error. 5547// 5548// See ListByteMatchSets for more information on using the ListByteMatchSets 5549// API call, and error handling. 5550// 5551// This method is useful when you want to inject custom logic or configuration 5552// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5553// 5554// 5555// // Example sending a request using the ListByteMatchSetsRequest method. 5556// req, resp := client.ListByteMatchSetsRequest(params) 5557// 5558// err := req.Send() 5559// if err == nil { // resp is now filled 5560// fmt.Println(resp) 5561// } 5562// 5563// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets 5564func (c *WAFRegional) ListByteMatchSetsRequest(input *waf.ListByteMatchSetsInput) (req *request.Request, output *waf.ListByteMatchSetsOutput) { 5565 op := &request.Operation{ 5566 Name: opListByteMatchSets, 5567 HTTPMethod: "POST", 5568 HTTPPath: "/", 5569 } 5570 5571 if input == nil { 5572 input = &waf.ListByteMatchSetsInput{} 5573 } 5574 5575 output = &waf.ListByteMatchSetsOutput{} 5576 req = c.newRequest(op, input, output) 5577 return 5578} 5579 5580// ListByteMatchSets API operation for AWS WAF Regional. 5581// 5582// Returns an array of ByteMatchSetSummary objects. 5583// 5584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5585// with awserr.Error's Code and Message methods to get detailed information about 5586// the error. 5587// 5588// See the AWS API reference guide for AWS WAF Regional's 5589// API operation ListByteMatchSets for usage and error information. 5590// 5591// Returned Error Codes: 5592// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5593// The operation failed because of a system problem, even though the request 5594// was valid. Retry your request. 5595// 5596// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5597// The operation failed because you tried to create, update, or delete an object 5598// by using an invalid account identifier. 5599// 5600// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets 5601func (c *WAFRegional) ListByteMatchSets(input *waf.ListByteMatchSetsInput) (*waf.ListByteMatchSetsOutput, error) { 5602 req, out := c.ListByteMatchSetsRequest(input) 5603 return out, req.Send() 5604} 5605 5606// ListByteMatchSetsWithContext is the same as ListByteMatchSets with the addition of 5607// the ability to pass a context and additional request options. 5608// 5609// See ListByteMatchSets for details on how to use this API operation. 5610// 5611// The context must be non-nil and will be used for request cancellation. If 5612// the context is nil a panic will occur. In the future the SDK may create 5613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5614// for more information on using Contexts. 5615func (c *WAFRegional) ListByteMatchSetsWithContext(ctx aws.Context, input *waf.ListByteMatchSetsInput, opts ...request.Option) (*waf.ListByteMatchSetsOutput, error) { 5616 req, out := c.ListByteMatchSetsRequest(input) 5617 req.SetContext(ctx) 5618 req.ApplyOptions(opts...) 5619 return out, req.Send() 5620} 5621 5622const opListGeoMatchSets = "ListGeoMatchSets" 5623 5624// ListGeoMatchSetsRequest generates a "aws/request.Request" representing the 5625// client's request for the ListGeoMatchSets operation. The "output" return 5626// value will be populated with the request's response once the request completes 5627// successfully. 5628// 5629// Use "Send" method on the returned Request to send the API call to the service. 5630// the "output" return value is not valid until after Send returns without error. 5631// 5632// See ListGeoMatchSets for more information on using the ListGeoMatchSets 5633// API call, and error handling. 5634// 5635// This method is useful when you want to inject custom logic or configuration 5636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5637// 5638// 5639// // Example sending a request using the ListGeoMatchSetsRequest method. 5640// req, resp := client.ListGeoMatchSetsRequest(params) 5641// 5642// err := req.Send() 5643// if err == nil { // resp is now filled 5644// fmt.Println(resp) 5645// } 5646// 5647// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets 5648func (c *WAFRegional) ListGeoMatchSetsRequest(input *waf.ListGeoMatchSetsInput) (req *request.Request, output *waf.ListGeoMatchSetsOutput) { 5649 op := &request.Operation{ 5650 Name: opListGeoMatchSets, 5651 HTTPMethod: "POST", 5652 HTTPPath: "/", 5653 } 5654 5655 if input == nil { 5656 input = &waf.ListGeoMatchSetsInput{} 5657 } 5658 5659 output = &waf.ListGeoMatchSetsOutput{} 5660 req = c.newRequest(op, input, output) 5661 return 5662} 5663 5664// ListGeoMatchSets API operation for AWS WAF Regional. 5665// 5666// Returns an array of GeoMatchSetSummary objects in the response. 5667// 5668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5669// with awserr.Error's Code and Message methods to get detailed information about 5670// the error. 5671// 5672// See the AWS API reference guide for AWS WAF Regional's 5673// API operation ListGeoMatchSets for usage and error information. 5674// 5675// Returned Error Codes: 5676// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5677// The operation failed because of a system problem, even though the request 5678// was valid. Retry your request. 5679// 5680// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5681// The operation failed because you tried to create, update, or delete an object 5682// by using an invalid account identifier. 5683// 5684// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets 5685func (c *WAFRegional) ListGeoMatchSets(input *waf.ListGeoMatchSetsInput) (*waf.ListGeoMatchSetsOutput, error) { 5686 req, out := c.ListGeoMatchSetsRequest(input) 5687 return out, req.Send() 5688} 5689 5690// ListGeoMatchSetsWithContext is the same as ListGeoMatchSets with the addition of 5691// the ability to pass a context and additional request options. 5692// 5693// See ListGeoMatchSets for details on how to use this API operation. 5694// 5695// The context must be non-nil and will be used for request cancellation. If 5696// the context is nil a panic will occur. In the future the SDK may create 5697// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5698// for more information on using Contexts. 5699func (c *WAFRegional) ListGeoMatchSetsWithContext(ctx aws.Context, input *waf.ListGeoMatchSetsInput, opts ...request.Option) (*waf.ListGeoMatchSetsOutput, error) { 5700 req, out := c.ListGeoMatchSetsRequest(input) 5701 req.SetContext(ctx) 5702 req.ApplyOptions(opts...) 5703 return out, req.Send() 5704} 5705 5706const opListIPSets = "ListIPSets" 5707 5708// ListIPSetsRequest generates a "aws/request.Request" representing the 5709// client's request for the ListIPSets operation. The "output" return 5710// value will be populated with the request's response once the request completes 5711// successfully. 5712// 5713// Use "Send" method on the returned Request to send the API call to the service. 5714// the "output" return value is not valid until after Send returns without error. 5715// 5716// See ListIPSets for more information on using the ListIPSets 5717// API call, and error handling. 5718// 5719// This method is useful when you want to inject custom logic or configuration 5720// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5721// 5722// 5723// // Example sending a request using the ListIPSetsRequest method. 5724// req, resp := client.ListIPSetsRequest(params) 5725// 5726// err := req.Send() 5727// if err == nil { // resp is now filled 5728// fmt.Println(resp) 5729// } 5730// 5731// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets 5732func (c *WAFRegional) ListIPSetsRequest(input *waf.ListIPSetsInput) (req *request.Request, output *waf.ListIPSetsOutput) { 5733 op := &request.Operation{ 5734 Name: opListIPSets, 5735 HTTPMethod: "POST", 5736 HTTPPath: "/", 5737 } 5738 5739 if input == nil { 5740 input = &waf.ListIPSetsInput{} 5741 } 5742 5743 output = &waf.ListIPSetsOutput{} 5744 req = c.newRequest(op, input, output) 5745 return 5746} 5747 5748// ListIPSets API operation for AWS WAF Regional. 5749// 5750// Returns an array of IPSetSummary objects in the response. 5751// 5752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5753// with awserr.Error's Code and Message methods to get detailed information about 5754// the error. 5755// 5756// See the AWS API reference guide for AWS WAF Regional's 5757// API operation ListIPSets for usage and error information. 5758// 5759// Returned Error Codes: 5760// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5761// The operation failed because of a system problem, even though the request 5762// was valid. Retry your request. 5763// 5764// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5765// The operation failed because you tried to create, update, or delete an object 5766// by using an invalid account identifier. 5767// 5768// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets 5769func (c *WAFRegional) ListIPSets(input *waf.ListIPSetsInput) (*waf.ListIPSetsOutput, error) { 5770 req, out := c.ListIPSetsRequest(input) 5771 return out, req.Send() 5772} 5773 5774// ListIPSetsWithContext is the same as ListIPSets with the addition of 5775// the ability to pass a context and additional request options. 5776// 5777// See ListIPSets for details on how to use this API operation. 5778// 5779// The context must be non-nil and will be used for request cancellation. If 5780// the context is nil a panic will occur. In the future the SDK may create 5781// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5782// for more information on using Contexts. 5783func (c *WAFRegional) ListIPSetsWithContext(ctx aws.Context, input *waf.ListIPSetsInput, opts ...request.Option) (*waf.ListIPSetsOutput, error) { 5784 req, out := c.ListIPSetsRequest(input) 5785 req.SetContext(ctx) 5786 req.ApplyOptions(opts...) 5787 return out, req.Send() 5788} 5789 5790const opListLoggingConfigurations = "ListLoggingConfigurations" 5791 5792// ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the 5793// client's request for the ListLoggingConfigurations operation. The "output" return 5794// value will be populated with the request's response once the request completes 5795// successfully. 5796// 5797// Use "Send" method on the returned Request to send the API call to the service. 5798// the "output" return value is not valid until after Send returns without error. 5799// 5800// See ListLoggingConfigurations for more information on using the ListLoggingConfigurations 5801// API call, and error handling. 5802// 5803// This method is useful when you want to inject custom logic or configuration 5804// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5805// 5806// 5807// // Example sending a request using the ListLoggingConfigurationsRequest method. 5808// req, resp := client.ListLoggingConfigurationsRequest(params) 5809// 5810// err := req.Send() 5811// if err == nil { // resp is now filled 5812// fmt.Println(resp) 5813// } 5814// 5815// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations 5816func (c *WAFRegional) ListLoggingConfigurationsRequest(input *waf.ListLoggingConfigurationsInput) (req *request.Request, output *waf.ListLoggingConfigurationsOutput) { 5817 op := &request.Operation{ 5818 Name: opListLoggingConfigurations, 5819 HTTPMethod: "POST", 5820 HTTPPath: "/", 5821 } 5822 5823 if input == nil { 5824 input = &waf.ListLoggingConfigurationsInput{} 5825 } 5826 5827 output = &waf.ListLoggingConfigurationsOutput{} 5828 req = c.newRequest(op, input, output) 5829 return 5830} 5831 5832// ListLoggingConfigurations API operation for AWS WAF Regional. 5833// 5834// Returns an array of LoggingConfiguration objects. 5835// 5836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5837// with awserr.Error's Code and Message methods to get detailed information about 5838// the error. 5839// 5840// See the AWS API reference guide for AWS WAF Regional's 5841// API operation ListLoggingConfigurations for usage and error information. 5842// 5843// Returned Error Codes: 5844// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5845// The operation failed because of a system problem, even though the request 5846// was valid. Retry your request. 5847// 5848// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 5849// The operation failed because the referenced object doesn't exist. 5850// 5851// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 5852// The operation failed because AWS WAF didn't recognize a parameter in the 5853// request. For example: 5854// 5855// * You specified an invalid parameter name. 5856// 5857// * You specified an invalid value. 5858// 5859// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 5860// using an action other than INSERT or DELETE. 5861// 5862// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 5863// BLOCK, or COUNT. 5864// 5865// * You tried to create a RateBasedRule with a RateKey value other than 5866// IP. 5867// 5868// * You tried to update a WebACL with a WafAction Type other than ALLOW, 5869// BLOCK, or COUNT. 5870// 5871// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 5872// HEADER, METHOD, QUERY_STRING, URI, or BODY. 5873// 5874// * You tried to update a ByteMatchSet with a Field of HEADER but no value 5875// for Data. 5876// 5877// * Your request references an ARN that is malformed, or corresponds to 5878// a resource with which a web ACL cannot be associated. 5879// 5880// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations 5881func (c *WAFRegional) ListLoggingConfigurations(input *waf.ListLoggingConfigurationsInput) (*waf.ListLoggingConfigurationsOutput, error) { 5882 req, out := c.ListLoggingConfigurationsRequest(input) 5883 return out, req.Send() 5884} 5885 5886// ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of 5887// the ability to pass a context and additional request options. 5888// 5889// See ListLoggingConfigurations for details on how to use this API operation. 5890// 5891// The context must be non-nil and will be used for request cancellation. If 5892// the context is nil a panic will occur. In the future the SDK may create 5893// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5894// for more information on using Contexts. 5895func (c *WAFRegional) ListLoggingConfigurationsWithContext(ctx aws.Context, input *waf.ListLoggingConfigurationsInput, opts ...request.Option) (*waf.ListLoggingConfigurationsOutput, error) { 5896 req, out := c.ListLoggingConfigurationsRequest(input) 5897 req.SetContext(ctx) 5898 req.ApplyOptions(opts...) 5899 return out, req.Send() 5900} 5901 5902const opListRateBasedRules = "ListRateBasedRules" 5903 5904// ListRateBasedRulesRequest generates a "aws/request.Request" representing the 5905// client's request for the ListRateBasedRules operation. The "output" return 5906// value will be populated with the request's response once the request completes 5907// successfully. 5908// 5909// Use "Send" method on the returned Request to send the API call to the service. 5910// the "output" return value is not valid until after Send returns without error. 5911// 5912// See ListRateBasedRules for more information on using the ListRateBasedRules 5913// API call, and error handling. 5914// 5915// This method is useful when you want to inject custom logic or configuration 5916// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5917// 5918// 5919// // Example sending a request using the ListRateBasedRulesRequest method. 5920// req, resp := client.ListRateBasedRulesRequest(params) 5921// 5922// err := req.Send() 5923// if err == nil { // resp is now filled 5924// fmt.Println(resp) 5925// } 5926// 5927// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules 5928func (c *WAFRegional) ListRateBasedRulesRequest(input *waf.ListRateBasedRulesInput) (req *request.Request, output *waf.ListRateBasedRulesOutput) { 5929 op := &request.Operation{ 5930 Name: opListRateBasedRules, 5931 HTTPMethod: "POST", 5932 HTTPPath: "/", 5933 } 5934 5935 if input == nil { 5936 input = &waf.ListRateBasedRulesInput{} 5937 } 5938 5939 output = &waf.ListRateBasedRulesOutput{} 5940 req = c.newRequest(op, input, output) 5941 return 5942} 5943 5944// ListRateBasedRules API operation for AWS WAF Regional. 5945// 5946// Returns an array of RuleSummary objects. 5947// 5948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5949// with awserr.Error's Code and Message methods to get detailed information about 5950// the error. 5951// 5952// See the AWS API reference guide for AWS WAF Regional's 5953// API operation ListRateBasedRules for usage and error information. 5954// 5955// Returned Error Codes: 5956// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 5957// The operation failed because of a system problem, even though the request 5958// was valid. Retry your request. 5959// 5960// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 5961// The operation failed because you tried to create, update, or delete an object 5962// by using an invalid account identifier. 5963// 5964// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules 5965func (c *WAFRegional) ListRateBasedRules(input *waf.ListRateBasedRulesInput) (*waf.ListRateBasedRulesOutput, error) { 5966 req, out := c.ListRateBasedRulesRequest(input) 5967 return out, req.Send() 5968} 5969 5970// ListRateBasedRulesWithContext is the same as ListRateBasedRules with the addition of 5971// the ability to pass a context and additional request options. 5972// 5973// See ListRateBasedRules for details on how to use this API operation. 5974// 5975// The context must be non-nil and will be used for request cancellation. If 5976// the context is nil a panic will occur. In the future the SDK may create 5977// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5978// for more information on using Contexts. 5979func (c *WAFRegional) ListRateBasedRulesWithContext(ctx aws.Context, input *waf.ListRateBasedRulesInput, opts ...request.Option) (*waf.ListRateBasedRulesOutput, error) { 5980 req, out := c.ListRateBasedRulesRequest(input) 5981 req.SetContext(ctx) 5982 req.ApplyOptions(opts...) 5983 return out, req.Send() 5984} 5985 5986const opListRegexMatchSets = "ListRegexMatchSets" 5987 5988// ListRegexMatchSetsRequest generates a "aws/request.Request" representing the 5989// client's request for the ListRegexMatchSets operation. The "output" return 5990// value will be populated with the request's response once the request completes 5991// successfully. 5992// 5993// Use "Send" method on the returned Request to send the API call to the service. 5994// the "output" return value is not valid until after Send returns without error. 5995// 5996// See ListRegexMatchSets for more information on using the ListRegexMatchSets 5997// API call, and error handling. 5998// 5999// This method is useful when you want to inject custom logic or configuration 6000// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6001// 6002// 6003// // Example sending a request using the ListRegexMatchSetsRequest method. 6004// req, resp := client.ListRegexMatchSetsRequest(params) 6005// 6006// err := req.Send() 6007// if err == nil { // resp is now filled 6008// fmt.Println(resp) 6009// } 6010// 6011// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets 6012func (c *WAFRegional) ListRegexMatchSetsRequest(input *waf.ListRegexMatchSetsInput) (req *request.Request, output *waf.ListRegexMatchSetsOutput) { 6013 op := &request.Operation{ 6014 Name: opListRegexMatchSets, 6015 HTTPMethod: "POST", 6016 HTTPPath: "/", 6017 } 6018 6019 if input == nil { 6020 input = &waf.ListRegexMatchSetsInput{} 6021 } 6022 6023 output = &waf.ListRegexMatchSetsOutput{} 6024 req = c.newRequest(op, input, output) 6025 return 6026} 6027 6028// ListRegexMatchSets API operation for AWS WAF Regional. 6029// 6030// Returns an array of RegexMatchSetSummary objects. 6031// 6032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6033// with awserr.Error's Code and Message methods to get detailed information about 6034// the error. 6035// 6036// See the AWS API reference guide for AWS WAF Regional's 6037// API operation ListRegexMatchSets for usage and error information. 6038// 6039// Returned Error Codes: 6040// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6041// The operation failed because of a system problem, even though the request 6042// was valid. Retry your request. 6043// 6044// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6045// The operation failed because you tried to create, update, or delete an object 6046// by using an invalid account identifier. 6047// 6048// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets 6049func (c *WAFRegional) ListRegexMatchSets(input *waf.ListRegexMatchSetsInput) (*waf.ListRegexMatchSetsOutput, error) { 6050 req, out := c.ListRegexMatchSetsRequest(input) 6051 return out, req.Send() 6052} 6053 6054// ListRegexMatchSetsWithContext is the same as ListRegexMatchSets with the addition of 6055// the ability to pass a context and additional request options. 6056// 6057// See ListRegexMatchSets for details on how to use this API operation. 6058// 6059// The context must be non-nil and will be used for request cancellation. If 6060// the context is nil a panic will occur. In the future the SDK may create 6061// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6062// for more information on using Contexts. 6063func (c *WAFRegional) ListRegexMatchSetsWithContext(ctx aws.Context, input *waf.ListRegexMatchSetsInput, opts ...request.Option) (*waf.ListRegexMatchSetsOutput, error) { 6064 req, out := c.ListRegexMatchSetsRequest(input) 6065 req.SetContext(ctx) 6066 req.ApplyOptions(opts...) 6067 return out, req.Send() 6068} 6069 6070const opListRegexPatternSets = "ListRegexPatternSets" 6071 6072// ListRegexPatternSetsRequest generates a "aws/request.Request" representing the 6073// client's request for the ListRegexPatternSets operation. The "output" return 6074// value will be populated with the request's response once the request completes 6075// successfully. 6076// 6077// Use "Send" method on the returned Request to send the API call to the service. 6078// the "output" return value is not valid until after Send returns without error. 6079// 6080// See ListRegexPatternSets for more information on using the ListRegexPatternSets 6081// API call, and error handling. 6082// 6083// This method is useful when you want to inject custom logic or configuration 6084// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6085// 6086// 6087// // Example sending a request using the ListRegexPatternSetsRequest method. 6088// req, resp := client.ListRegexPatternSetsRequest(params) 6089// 6090// err := req.Send() 6091// if err == nil { // resp is now filled 6092// fmt.Println(resp) 6093// } 6094// 6095// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets 6096func (c *WAFRegional) ListRegexPatternSetsRequest(input *waf.ListRegexPatternSetsInput) (req *request.Request, output *waf.ListRegexPatternSetsOutput) { 6097 op := &request.Operation{ 6098 Name: opListRegexPatternSets, 6099 HTTPMethod: "POST", 6100 HTTPPath: "/", 6101 } 6102 6103 if input == nil { 6104 input = &waf.ListRegexPatternSetsInput{} 6105 } 6106 6107 output = &waf.ListRegexPatternSetsOutput{} 6108 req = c.newRequest(op, input, output) 6109 return 6110} 6111 6112// ListRegexPatternSets API operation for AWS WAF Regional. 6113// 6114// Returns an array of RegexPatternSetSummary 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 ListRegexPatternSets for usage and error information. 6122// 6123// Returned Error Codes: 6124// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6125// The operation failed because of a system problem, even though the request 6126// was valid. Retry your request. 6127// 6128// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6129// The operation failed because you tried to create, update, or delete an object 6130// by using an invalid account identifier. 6131// 6132// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets 6133func (c *WAFRegional) ListRegexPatternSets(input *waf.ListRegexPatternSetsInput) (*waf.ListRegexPatternSetsOutput, error) { 6134 req, out := c.ListRegexPatternSetsRequest(input) 6135 return out, req.Send() 6136} 6137 6138// ListRegexPatternSetsWithContext is the same as ListRegexPatternSets with the addition of 6139// the ability to pass a context and additional request options. 6140// 6141// See ListRegexPatternSets for details on how to use this API operation. 6142// 6143// The context must be non-nil and will be used for request cancellation. If 6144// the context is nil a panic will occur. In the future the SDK may create 6145// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6146// for more information on using Contexts. 6147func (c *WAFRegional) ListRegexPatternSetsWithContext(ctx aws.Context, input *waf.ListRegexPatternSetsInput, opts ...request.Option) (*waf.ListRegexPatternSetsOutput, error) { 6148 req, out := c.ListRegexPatternSetsRequest(input) 6149 req.SetContext(ctx) 6150 req.ApplyOptions(opts...) 6151 return out, req.Send() 6152} 6153 6154const opListResourcesForWebACL = "ListResourcesForWebACL" 6155 6156// ListResourcesForWebACLRequest generates a "aws/request.Request" representing the 6157// client's request for the ListResourcesForWebACL operation. The "output" return 6158// value will be populated with the request's response once the request completes 6159// successfully. 6160// 6161// Use "Send" method on the returned Request to send the API call to the service. 6162// the "output" return value is not valid until after Send returns without error. 6163// 6164// See ListResourcesForWebACL for more information on using the ListResourcesForWebACL 6165// API call, and error handling. 6166// 6167// This method is useful when you want to inject custom logic or configuration 6168// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6169// 6170// 6171// // Example sending a request using the ListResourcesForWebACLRequest method. 6172// req, resp := client.ListResourcesForWebACLRequest(params) 6173// 6174// err := req.Send() 6175// if err == nil { // resp is now filled 6176// fmt.Println(resp) 6177// } 6178// 6179// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL 6180func (c *WAFRegional) ListResourcesForWebACLRequest(input *ListResourcesForWebACLInput) (req *request.Request, output *ListResourcesForWebACLOutput) { 6181 op := &request.Operation{ 6182 Name: opListResourcesForWebACL, 6183 HTTPMethod: "POST", 6184 HTTPPath: "/", 6185 } 6186 6187 if input == nil { 6188 input = &ListResourcesForWebACLInput{} 6189 } 6190 6191 output = &ListResourcesForWebACLOutput{} 6192 req = c.newRequest(op, input, output) 6193 return 6194} 6195 6196// ListResourcesForWebACL API operation for AWS WAF Regional. 6197// 6198// Returns an array of resources associated with the specified web ACL. 6199// 6200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6201// with awserr.Error's Code and Message methods to get detailed information about 6202// the error. 6203// 6204// See the AWS API reference guide for AWS WAF Regional's 6205// API operation ListResourcesForWebACL for usage and error information. 6206// 6207// Returned Error Codes: 6208// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6209// The operation failed because of a system problem, even though the request 6210// was valid. Retry your request. 6211// 6212// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6213// The operation failed because you tried to create, update, or delete an object 6214// by using an invalid account identifier. 6215// 6216// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 6217// The operation failed because the referenced object doesn't exist. 6218// 6219// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 6220// The operation failed because AWS WAF didn't recognize a parameter in the 6221// request. For example: 6222// 6223// * You specified an invalid parameter name. 6224// 6225// * You specified an invalid value. 6226// 6227// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 6228// using an action other than INSERT or DELETE. 6229// 6230// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 6231// BLOCK, or COUNT. 6232// 6233// * You tried to create a RateBasedRule with a RateKey value other than 6234// IP. 6235// 6236// * You tried to update a WebACL with a WafAction Type other than ALLOW, 6237// BLOCK, or COUNT. 6238// 6239// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 6240// HEADER, METHOD, QUERY_STRING, URI, or BODY. 6241// 6242// * You tried to update a ByteMatchSet with a Field of HEADER but no value 6243// for Data. 6244// 6245// * Your request references an ARN that is malformed, or corresponds to 6246// a resource with which a web ACL cannot be associated. 6247// 6248// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL 6249func (c *WAFRegional) ListResourcesForWebACL(input *ListResourcesForWebACLInput) (*ListResourcesForWebACLOutput, error) { 6250 req, out := c.ListResourcesForWebACLRequest(input) 6251 return out, req.Send() 6252} 6253 6254// ListResourcesForWebACLWithContext is the same as ListResourcesForWebACL with the addition of 6255// the ability to pass a context and additional request options. 6256// 6257// See ListResourcesForWebACL for details on how to use this API operation. 6258// 6259// The context must be non-nil and will be used for request cancellation. If 6260// the context is nil a panic will occur. In the future the SDK may create 6261// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6262// for more information on using Contexts. 6263func (c *WAFRegional) ListResourcesForWebACLWithContext(ctx aws.Context, input *ListResourcesForWebACLInput, opts ...request.Option) (*ListResourcesForWebACLOutput, error) { 6264 req, out := c.ListResourcesForWebACLRequest(input) 6265 req.SetContext(ctx) 6266 req.ApplyOptions(opts...) 6267 return out, req.Send() 6268} 6269 6270const opListRuleGroups = "ListRuleGroups" 6271 6272// ListRuleGroupsRequest generates a "aws/request.Request" representing the 6273// client's request for the ListRuleGroups operation. The "output" return 6274// value will be populated with the request's response once the request completes 6275// successfully. 6276// 6277// Use "Send" method on the returned Request to send the API call to the service. 6278// the "output" return value is not valid until after Send returns without error. 6279// 6280// See ListRuleGroups for more information on using the ListRuleGroups 6281// API call, and error handling. 6282// 6283// This method is useful when you want to inject custom logic or configuration 6284// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6285// 6286// 6287// // Example sending a request using the ListRuleGroupsRequest method. 6288// req, resp := client.ListRuleGroupsRequest(params) 6289// 6290// err := req.Send() 6291// if err == nil { // resp is now filled 6292// fmt.Println(resp) 6293// } 6294// 6295// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups 6296func (c *WAFRegional) ListRuleGroupsRequest(input *waf.ListRuleGroupsInput) (req *request.Request, output *waf.ListRuleGroupsOutput) { 6297 op := &request.Operation{ 6298 Name: opListRuleGroups, 6299 HTTPMethod: "POST", 6300 HTTPPath: "/", 6301 } 6302 6303 if input == nil { 6304 input = &waf.ListRuleGroupsInput{} 6305 } 6306 6307 output = &waf.ListRuleGroupsOutput{} 6308 req = c.newRequest(op, input, output) 6309 return 6310} 6311 6312// ListRuleGroups API operation for AWS WAF Regional. 6313// 6314// Returns an array of RuleGroup objects. 6315// 6316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6317// with awserr.Error's Code and Message methods to get detailed information about 6318// the error. 6319// 6320// See the AWS API reference guide for AWS WAF Regional's 6321// API operation ListRuleGroups for usage and error information. 6322// 6323// Returned Error Codes: 6324// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6325// The operation failed because of a system problem, even though the request 6326// was valid. Retry your request. 6327// 6328// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups 6329func (c *WAFRegional) ListRuleGroups(input *waf.ListRuleGroupsInput) (*waf.ListRuleGroupsOutput, error) { 6330 req, out := c.ListRuleGroupsRequest(input) 6331 return out, req.Send() 6332} 6333 6334// ListRuleGroupsWithContext is the same as ListRuleGroups with the addition of 6335// the ability to pass a context and additional request options. 6336// 6337// See ListRuleGroups for details on how to use this API operation. 6338// 6339// The context must be non-nil and will be used for request cancellation. If 6340// the context is nil a panic will occur. In the future the SDK may create 6341// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6342// for more information on using Contexts. 6343func (c *WAFRegional) ListRuleGroupsWithContext(ctx aws.Context, input *waf.ListRuleGroupsInput, opts ...request.Option) (*waf.ListRuleGroupsOutput, error) { 6344 req, out := c.ListRuleGroupsRequest(input) 6345 req.SetContext(ctx) 6346 req.ApplyOptions(opts...) 6347 return out, req.Send() 6348} 6349 6350const opListRules = "ListRules" 6351 6352// ListRulesRequest generates a "aws/request.Request" representing the 6353// client's request for the ListRules operation. The "output" return 6354// value will be populated with the request's response once the request completes 6355// successfully. 6356// 6357// Use "Send" method on the returned Request to send the API call to the service. 6358// the "output" return value is not valid until after Send returns without error. 6359// 6360// See ListRules for more information on using the ListRules 6361// API call, and error handling. 6362// 6363// This method is useful when you want to inject custom logic or configuration 6364// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6365// 6366// 6367// // Example sending a request using the ListRulesRequest method. 6368// req, resp := client.ListRulesRequest(params) 6369// 6370// err := req.Send() 6371// if err == nil { // resp is now filled 6372// fmt.Println(resp) 6373// } 6374// 6375// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules 6376func (c *WAFRegional) ListRulesRequest(input *waf.ListRulesInput) (req *request.Request, output *waf.ListRulesOutput) { 6377 op := &request.Operation{ 6378 Name: opListRules, 6379 HTTPMethod: "POST", 6380 HTTPPath: "/", 6381 } 6382 6383 if input == nil { 6384 input = &waf.ListRulesInput{} 6385 } 6386 6387 output = &waf.ListRulesOutput{} 6388 req = c.newRequest(op, input, output) 6389 return 6390} 6391 6392// ListRules API operation for AWS WAF Regional. 6393// 6394// Returns an array of RuleSummary objects. 6395// 6396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6397// with awserr.Error's Code and Message methods to get detailed information about 6398// the error. 6399// 6400// See the AWS API reference guide for AWS WAF Regional's 6401// API operation ListRules for usage and error information. 6402// 6403// Returned Error Codes: 6404// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6405// The operation failed because of a system problem, even though the request 6406// was valid. Retry your request. 6407// 6408// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6409// The operation failed because you tried to create, update, or delete an object 6410// by using an invalid account identifier. 6411// 6412// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules 6413func (c *WAFRegional) ListRules(input *waf.ListRulesInput) (*waf.ListRulesOutput, error) { 6414 req, out := c.ListRulesRequest(input) 6415 return out, req.Send() 6416} 6417 6418// ListRulesWithContext is the same as ListRules with the addition of 6419// the ability to pass a context and additional request options. 6420// 6421// See ListRules for details on how to use this API operation. 6422// 6423// The context must be non-nil and will be used for request cancellation. If 6424// the context is nil a panic will occur. In the future the SDK may create 6425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6426// for more information on using Contexts. 6427func (c *WAFRegional) ListRulesWithContext(ctx aws.Context, input *waf.ListRulesInput, opts ...request.Option) (*waf.ListRulesOutput, error) { 6428 req, out := c.ListRulesRequest(input) 6429 req.SetContext(ctx) 6430 req.ApplyOptions(opts...) 6431 return out, req.Send() 6432} 6433 6434const opListSizeConstraintSets = "ListSizeConstraintSets" 6435 6436// ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the 6437// client's request for the ListSizeConstraintSets operation. The "output" return 6438// value will be populated with the request's response once the request completes 6439// successfully. 6440// 6441// Use "Send" method on the returned Request to send the API call to the service. 6442// the "output" return value is not valid until after Send returns without error. 6443// 6444// See ListSizeConstraintSets for more information on using the ListSizeConstraintSets 6445// API call, and error handling. 6446// 6447// This method is useful when you want to inject custom logic or configuration 6448// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6449// 6450// 6451// // Example sending a request using the ListSizeConstraintSetsRequest method. 6452// req, resp := client.ListSizeConstraintSetsRequest(params) 6453// 6454// err := req.Send() 6455// if err == nil { // resp is now filled 6456// fmt.Println(resp) 6457// } 6458// 6459// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets 6460func (c *WAFRegional) ListSizeConstraintSetsRequest(input *waf.ListSizeConstraintSetsInput) (req *request.Request, output *waf.ListSizeConstraintSetsOutput) { 6461 op := &request.Operation{ 6462 Name: opListSizeConstraintSets, 6463 HTTPMethod: "POST", 6464 HTTPPath: "/", 6465 } 6466 6467 if input == nil { 6468 input = &waf.ListSizeConstraintSetsInput{} 6469 } 6470 6471 output = &waf.ListSizeConstraintSetsOutput{} 6472 req = c.newRequest(op, input, output) 6473 return 6474} 6475 6476// ListSizeConstraintSets API operation for AWS WAF Regional. 6477// 6478// Returns an array of SizeConstraintSetSummary objects. 6479// 6480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6481// with awserr.Error's Code and Message methods to get detailed information about 6482// the error. 6483// 6484// See the AWS API reference guide for AWS WAF Regional's 6485// API operation ListSizeConstraintSets for usage and error information. 6486// 6487// Returned Error Codes: 6488// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6489// The operation failed because of a system problem, even though the request 6490// was valid. Retry your request. 6491// 6492// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6493// The operation failed because you tried to create, update, or delete an object 6494// by using an invalid account identifier. 6495// 6496// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets 6497func (c *WAFRegional) ListSizeConstraintSets(input *waf.ListSizeConstraintSetsInput) (*waf.ListSizeConstraintSetsOutput, error) { 6498 req, out := c.ListSizeConstraintSetsRequest(input) 6499 return out, req.Send() 6500} 6501 6502// ListSizeConstraintSetsWithContext is the same as ListSizeConstraintSets with the addition of 6503// the ability to pass a context and additional request options. 6504// 6505// See ListSizeConstraintSets for details on how to use this API operation. 6506// 6507// The context must be non-nil and will be used for request cancellation. If 6508// the context is nil a panic will occur. In the future the SDK may create 6509// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6510// for more information on using Contexts. 6511func (c *WAFRegional) ListSizeConstraintSetsWithContext(ctx aws.Context, input *waf.ListSizeConstraintSetsInput, opts ...request.Option) (*waf.ListSizeConstraintSetsOutput, error) { 6512 req, out := c.ListSizeConstraintSetsRequest(input) 6513 req.SetContext(ctx) 6514 req.ApplyOptions(opts...) 6515 return out, req.Send() 6516} 6517 6518const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets" 6519 6520// ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the 6521// client's request for the ListSqlInjectionMatchSets operation. The "output" return 6522// value will be populated with the request's response once the request completes 6523// successfully. 6524// 6525// Use "Send" method on the returned Request to send the API call to the service. 6526// the "output" return value is not valid until after Send returns without error. 6527// 6528// See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets 6529// API call, and error handling. 6530// 6531// This method is useful when you want to inject custom logic or configuration 6532// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6533// 6534// 6535// // Example sending a request using the ListSqlInjectionMatchSetsRequest method. 6536// req, resp := client.ListSqlInjectionMatchSetsRequest(params) 6537// 6538// err := req.Send() 6539// if err == nil { // resp is now filled 6540// fmt.Println(resp) 6541// } 6542// 6543// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets 6544func (c *WAFRegional) ListSqlInjectionMatchSetsRequest(input *waf.ListSqlInjectionMatchSetsInput) (req *request.Request, output *waf.ListSqlInjectionMatchSetsOutput) { 6545 op := &request.Operation{ 6546 Name: opListSqlInjectionMatchSets, 6547 HTTPMethod: "POST", 6548 HTTPPath: "/", 6549 } 6550 6551 if input == nil { 6552 input = &waf.ListSqlInjectionMatchSetsInput{} 6553 } 6554 6555 output = &waf.ListSqlInjectionMatchSetsOutput{} 6556 req = c.newRequest(op, input, output) 6557 return 6558} 6559 6560// ListSqlInjectionMatchSets API operation for AWS WAF Regional. 6561// 6562// Returns an array of SqlInjectionMatchSet objects. 6563// 6564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6565// with awserr.Error's Code and Message methods to get detailed information about 6566// the error. 6567// 6568// See the AWS API reference guide for AWS WAF Regional's 6569// API operation ListSqlInjectionMatchSets for usage and error information. 6570// 6571// Returned Error Codes: 6572// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6573// The operation failed because of a system problem, even though the request 6574// was valid. Retry your request. 6575// 6576// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6577// The operation failed because you tried to create, update, or delete an object 6578// by using an invalid account identifier. 6579// 6580// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets 6581func (c *WAFRegional) ListSqlInjectionMatchSets(input *waf.ListSqlInjectionMatchSetsInput) (*waf.ListSqlInjectionMatchSetsOutput, error) { 6582 req, out := c.ListSqlInjectionMatchSetsRequest(input) 6583 return out, req.Send() 6584} 6585 6586// ListSqlInjectionMatchSetsWithContext is the same as ListSqlInjectionMatchSets with the addition of 6587// the ability to pass a context and additional request options. 6588// 6589// See ListSqlInjectionMatchSets for details on how to use this API operation. 6590// 6591// The context must be non-nil and will be used for request cancellation. If 6592// the context is nil a panic will occur. In the future the SDK may create 6593// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6594// for more information on using Contexts. 6595func (c *WAFRegional) ListSqlInjectionMatchSetsWithContext(ctx aws.Context, input *waf.ListSqlInjectionMatchSetsInput, opts ...request.Option) (*waf.ListSqlInjectionMatchSetsOutput, error) { 6596 req, out := c.ListSqlInjectionMatchSetsRequest(input) 6597 req.SetContext(ctx) 6598 req.ApplyOptions(opts...) 6599 return out, req.Send() 6600} 6601 6602const opListSubscribedRuleGroups = "ListSubscribedRuleGroups" 6603 6604// ListSubscribedRuleGroupsRequest generates a "aws/request.Request" representing the 6605// client's request for the ListSubscribedRuleGroups operation. The "output" return 6606// value will be populated with the request's response once the request completes 6607// successfully. 6608// 6609// Use "Send" method on the returned Request to send the API call to the service. 6610// the "output" return value is not valid until after Send returns without error. 6611// 6612// See ListSubscribedRuleGroups for more information on using the ListSubscribedRuleGroups 6613// API call, and error handling. 6614// 6615// This method is useful when you want to inject custom logic or configuration 6616// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6617// 6618// 6619// // Example sending a request using the ListSubscribedRuleGroupsRequest method. 6620// req, resp := client.ListSubscribedRuleGroupsRequest(params) 6621// 6622// err := req.Send() 6623// if err == nil { // resp is now filled 6624// fmt.Println(resp) 6625// } 6626// 6627// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups 6628func (c *WAFRegional) ListSubscribedRuleGroupsRequest(input *waf.ListSubscribedRuleGroupsInput) (req *request.Request, output *waf.ListSubscribedRuleGroupsOutput) { 6629 op := &request.Operation{ 6630 Name: opListSubscribedRuleGroups, 6631 HTTPMethod: "POST", 6632 HTTPPath: "/", 6633 } 6634 6635 if input == nil { 6636 input = &waf.ListSubscribedRuleGroupsInput{} 6637 } 6638 6639 output = &waf.ListSubscribedRuleGroupsOutput{} 6640 req = c.newRequest(op, input, output) 6641 return 6642} 6643 6644// ListSubscribedRuleGroups API operation for AWS WAF Regional. 6645// 6646// Returns an array of RuleGroup objects that you are subscribed to. 6647// 6648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6649// with awserr.Error's Code and Message methods to get detailed information about 6650// the error. 6651// 6652// See the AWS API reference guide for AWS WAF Regional's 6653// API operation ListSubscribedRuleGroups for usage and error information. 6654// 6655// Returned Error Codes: 6656// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 6657// The operation failed because the referenced object doesn't exist. 6658// 6659// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6660// The operation failed because of a system problem, even though the request 6661// was valid. Retry your request. 6662// 6663// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups 6664func (c *WAFRegional) ListSubscribedRuleGroups(input *waf.ListSubscribedRuleGroupsInput) (*waf.ListSubscribedRuleGroupsOutput, error) { 6665 req, out := c.ListSubscribedRuleGroupsRequest(input) 6666 return out, req.Send() 6667} 6668 6669// ListSubscribedRuleGroupsWithContext is the same as ListSubscribedRuleGroups with the addition of 6670// the ability to pass a context and additional request options. 6671// 6672// See ListSubscribedRuleGroups for details on how to use this API operation. 6673// 6674// The context must be non-nil and will be used for request cancellation. If 6675// the context is nil a panic will occur. In the future the SDK may create 6676// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6677// for more information on using Contexts. 6678func (c *WAFRegional) ListSubscribedRuleGroupsWithContext(ctx aws.Context, input *waf.ListSubscribedRuleGroupsInput, opts ...request.Option) (*waf.ListSubscribedRuleGroupsOutput, error) { 6679 req, out := c.ListSubscribedRuleGroupsRequest(input) 6680 req.SetContext(ctx) 6681 req.ApplyOptions(opts...) 6682 return out, req.Send() 6683} 6684 6685const opListTagsForResource = "ListTagsForResource" 6686 6687// ListTagsForResourceRequest generates a "aws/request.Request" representing the 6688// client's request for the ListTagsForResource operation. The "output" return 6689// value will be populated with the request's response once the request completes 6690// successfully. 6691// 6692// Use "Send" method on the returned Request to send the API call to the service. 6693// the "output" return value is not valid until after Send returns without error. 6694// 6695// See ListTagsForResource for more information on using the ListTagsForResource 6696// API call, and error handling. 6697// 6698// This method is useful when you want to inject custom logic or configuration 6699// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6700// 6701// 6702// // Example sending a request using the ListTagsForResourceRequest method. 6703// req, resp := client.ListTagsForResourceRequest(params) 6704// 6705// err := req.Send() 6706// if err == nil { // resp is now filled 6707// fmt.Println(resp) 6708// } 6709// 6710// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource 6711func (c *WAFRegional) ListTagsForResourceRequest(input *waf.ListTagsForResourceInput) (req *request.Request, output *waf.ListTagsForResourceOutput) { 6712 op := &request.Operation{ 6713 Name: opListTagsForResource, 6714 HTTPMethod: "POST", 6715 HTTPPath: "/", 6716 } 6717 6718 if input == nil { 6719 input = &waf.ListTagsForResourceInput{} 6720 } 6721 6722 output = &waf.ListTagsForResourceOutput{} 6723 req = c.newRequest(op, input, output) 6724 return 6725} 6726 6727// ListTagsForResource API operation for AWS WAF Regional. 6728// 6729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6730// with awserr.Error's Code and Message methods to get detailed information about 6731// the error. 6732// 6733// See the AWS API reference guide for AWS WAF Regional's 6734// API operation ListTagsForResource for usage and error information. 6735// 6736// Returned Error Codes: 6737// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6738// The operation failed because of a system problem, even though the request 6739// was valid. Retry your request. 6740// 6741// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 6742// The operation failed because AWS WAF didn't recognize a parameter in the 6743// request. For example: 6744// 6745// * You specified an invalid parameter name. 6746// 6747// * You specified an invalid value. 6748// 6749// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 6750// using an action other than INSERT or DELETE. 6751// 6752// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 6753// BLOCK, or COUNT. 6754// 6755// * You tried to create a RateBasedRule with a RateKey value other than 6756// IP. 6757// 6758// * You tried to update a WebACL with a WafAction Type other than ALLOW, 6759// BLOCK, or COUNT. 6760// 6761// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 6762// HEADER, METHOD, QUERY_STRING, URI, or BODY. 6763// 6764// * You tried to update a ByteMatchSet with a Field of HEADER but no value 6765// for Data. 6766// 6767// * Your request references an ARN that is malformed, or corresponds to 6768// a resource with which a web ACL cannot be associated. 6769// 6770// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 6771// The operation failed because the referenced object doesn't exist. 6772// 6773// * ErrCodeWAFBadRequestException "WAFBadRequestException" 6774// 6775// * ErrCodeWAFTagOperationException "WAFTagOperationException" 6776// 6777// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 6778// 6779// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource 6780func (c *WAFRegional) ListTagsForResource(input *waf.ListTagsForResourceInput) (*waf.ListTagsForResourceOutput, error) { 6781 req, out := c.ListTagsForResourceRequest(input) 6782 return out, req.Send() 6783} 6784 6785// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 6786// the ability to pass a context and additional request options. 6787// 6788// See ListTagsForResource for details on how to use this API operation. 6789// 6790// The context must be non-nil and will be used for request cancellation. If 6791// the context is nil a panic will occur. In the future the SDK may create 6792// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6793// for more information on using Contexts. 6794func (c *WAFRegional) ListTagsForResourceWithContext(ctx aws.Context, input *waf.ListTagsForResourceInput, opts ...request.Option) (*waf.ListTagsForResourceOutput, error) { 6795 req, out := c.ListTagsForResourceRequest(input) 6796 req.SetContext(ctx) 6797 req.ApplyOptions(opts...) 6798 return out, req.Send() 6799} 6800 6801const opListWebACLs = "ListWebACLs" 6802 6803// ListWebACLsRequest generates a "aws/request.Request" representing the 6804// client's request for the ListWebACLs operation. The "output" return 6805// value will be populated with the request's response once the request completes 6806// successfully. 6807// 6808// Use "Send" method on the returned Request to send the API call to the service. 6809// the "output" return value is not valid until after Send returns without error. 6810// 6811// See ListWebACLs for more information on using the ListWebACLs 6812// API call, and error handling. 6813// 6814// This method is useful when you want to inject custom logic or configuration 6815// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6816// 6817// 6818// // Example sending a request using the ListWebACLsRequest method. 6819// req, resp := client.ListWebACLsRequest(params) 6820// 6821// err := req.Send() 6822// if err == nil { // resp is now filled 6823// fmt.Println(resp) 6824// } 6825// 6826// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs 6827func (c *WAFRegional) ListWebACLsRequest(input *waf.ListWebACLsInput) (req *request.Request, output *waf.ListWebACLsOutput) { 6828 op := &request.Operation{ 6829 Name: opListWebACLs, 6830 HTTPMethod: "POST", 6831 HTTPPath: "/", 6832 } 6833 6834 if input == nil { 6835 input = &waf.ListWebACLsInput{} 6836 } 6837 6838 output = &waf.ListWebACLsOutput{} 6839 req = c.newRequest(op, input, output) 6840 return 6841} 6842 6843// ListWebACLs API operation for AWS WAF Regional. 6844// 6845// Returns an array of WebACLSummary objects in the response. 6846// 6847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6848// with awserr.Error's Code and Message methods to get detailed information about 6849// the error. 6850// 6851// See the AWS API reference guide for AWS WAF Regional's 6852// API operation ListWebACLs for usage and error information. 6853// 6854// Returned Error Codes: 6855// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6856// The operation failed because of a system problem, even though the request 6857// was valid. Retry your request. 6858// 6859// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6860// The operation failed because you tried to create, update, or delete an object 6861// by using an invalid account identifier. 6862// 6863// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs 6864func (c *WAFRegional) ListWebACLs(input *waf.ListWebACLsInput) (*waf.ListWebACLsOutput, error) { 6865 req, out := c.ListWebACLsRequest(input) 6866 return out, req.Send() 6867} 6868 6869// ListWebACLsWithContext is the same as ListWebACLs with the addition of 6870// the ability to pass a context and additional request options. 6871// 6872// See ListWebACLs for details on how to use this API operation. 6873// 6874// The context must be non-nil and will be used for request cancellation. If 6875// the context is nil a panic will occur. In the future the SDK may create 6876// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6877// for more information on using Contexts. 6878func (c *WAFRegional) ListWebACLsWithContext(ctx aws.Context, input *waf.ListWebACLsInput, opts ...request.Option) (*waf.ListWebACLsOutput, error) { 6879 req, out := c.ListWebACLsRequest(input) 6880 req.SetContext(ctx) 6881 req.ApplyOptions(opts...) 6882 return out, req.Send() 6883} 6884 6885const opListXssMatchSets = "ListXssMatchSets" 6886 6887// ListXssMatchSetsRequest generates a "aws/request.Request" representing the 6888// client's request for the ListXssMatchSets operation. The "output" return 6889// value will be populated with the request's response once the request completes 6890// successfully. 6891// 6892// Use "Send" method on the returned Request to send the API call to the service. 6893// the "output" return value is not valid until after Send returns without error. 6894// 6895// See ListXssMatchSets for more information on using the ListXssMatchSets 6896// API call, and error handling. 6897// 6898// This method is useful when you want to inject custom logic or configuration 6899// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6900// 6901// 6902// // Example sending a request using the ListXssMatchSetsRequest method. 6903// req, resp := client.ListXssMatchSetsRequest(params) 6904// 6905// err := req.Send() 6906// if err == nil { // resp is now filled 6907// fmt.Println(resp) 6908// } 6909// 6910// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets 6911func (c *WAFRegional) ListXssMatchSetsRequest(input *waf.ListXssMatchSetsInput) (req *request.Request, output *waf.ListXssMatchSetsOutput) { 6912 op := &request.Operation{ 6913 Name: opListXssMatchSets, 6914 HTTPMethod: "POST", 6915 HTTPPath: "/", 6916 } 6917 6918 if input == nil { 6919 input = &waf.ListXssMatchSetsInput{} 6920 } 6921 6922 output = &waf.ListXssMatchSetsOutput{} 6923 req = c.newRequest(op, input, output) 6924 return 6925} 6926 6927// ListXssMatchSets API operation for AWS WAF Regional. 6928// 6929// Returns an array of XssMatchSet objects. 6930// 6931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6932// with awserr.Error's Code and Message methods to get detailed information about 6933// the error. 6934// 6935// See the AWS API reference guide for AWS WAF Regional's 6936// API operation ListXssMatchSets for usage and error information. 6937// 6938// Returned Error Codes: 6939// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 6940// The operation failed because of a system problem, even though the request 6941// was valid. Retry your request. 6942// 6943// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 6944// The operation failed because you tried to create, update, or delete an object 6945// by using an invalid account identifier. 6946// 6947// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets 6948func (c *WAFRegional) ListXssMatchSets(input *waf.ListXssMatchSetsInput) (*waf.ListXssMatchSetsOutput, error) { 6949 req, out := c.ListXssMatchSetsRequest(input) 6950 return out, req.Send() 6951} 6952 6953// ListXssMatchSetsWithContext is the same as ListXssMatchSets with the addition of 6954// the ability to pass a context and additional request options. 6955// 6956// See ListXssMatchSets for details on how to use this API operation. 6957// 6958// The context must be non-nil and will be used for request cancellation. If 6959// the context is nil a panic will occur. In the future the SDK may create 6960// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6961// for more information on using Contexts. 6962func (c *WAFRegional) ListXssMatchSetsWithContext(ctx aws.Context, input *waf.ListXssMatchSetsInput, opts ...request.Option) (*waf.ListXssMatchSetsOutput, error) { 6963 req, out := c.ListXssMatchSetsRequest(input) 6964 req.SetContext(ctx) 6965 req.ApplyOptions(opts...) 6966 return out, req.Send() 6967} 6968 6969const opPutLoggingConfiguration = "PutLoggingConfiguration" 6970 6971// PutLoggingConfigurationRequest generates a "aws/request.Request" representing the 6972// client's request for the PutLoggingConfiguration operation. The "output" return 6973// value will be populated with the request's response once the request completes 6974// successfully. 6975// 6976// Use "Send" method on the returned Request to send the API call to the service. 6977// the "output" return value is not valid until after Send returns without error. 6978// 6979// See PutLoggingConfiguration for more information on using the PutLoggingConfiguration 6980// API call, and error handling. 6981// 6982// This method is useful when you want to inject custom logic or configuration 6983// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6984// 6985// 6986// // Example sending a request using the PutLoggingConfigurationRequest method. 6987// req, resp := client.PutLoggingConfigurationRequest(params) 6988// 6989// err := req.Send() 6990// if err == nil { // resp is now filled 6991// fmt.Println(resp) 6992// } 6993// 6994// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration 6995func (c *WAFRegional) PutLoggingConfigurationRequest(input *waf.PutLoggingConfigurationInput) (req *request.Request, output *waf.PutLoggingConfigurationOutput) { 6996 op := &request.Operation{ 6997 Name: opPutLoggingConfiguration, 6998 HTTPMethod: "POST", 6999 HTTPPath: "/", 7000 } 7001 7002 if input == nil { 7003 input = &waf.PutLoggingConfigurationInput{} 7004 } 7005 7006 output = &waf.PutLoggingConfigurationOutput{} 7007 req = c.newRequest(op, input, output) 7008 return 7009} 7010 7011// PutLoggingConfiguration API operation for AWS WAF Regional. 7012// 7013// Associates a LoggingConfiguration with a specified web ACL. 7014// 7015// You can access information about all traffic that AWS WAF inspects using 7016// the following steps: 7017// 7018// Create an Amazon Kinesis Data Firehose. 7019// 7020// Create the data firehose with a PUT source and in the region that you are 7021// operating. However, if you are capturing logs for Amazon CloudFront, always 7022// create the firehose in US East (N. Virginia). 7023// 7024// Do not create the data firehose using a Kinesis stream as your source. 7025// 7026// Associate that firehose to your web ACL using a PutLoggingConfiguration request. 7027// 7028// When you successfully enable logging using a PutLoggingConfiguration request, 7029// AWS WAF will create a service linked role with the necessary permissions 7030// to write logs to the Amazon Kinesis Data Firehose. For more information, 7031// see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) 7032// in the AWS WAF Developer Guide. 7033// 7034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7035// with awserr.Error's Code and Message methods to get detailed information about 7036// the error. 7037// 7038// See the AWS API reference guide for AWS WAF Regional's 7039// API operation PutLoggingConfiguration for usage and error information. 7040// 7041// Returned Error Codes: 7042// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7043// The operation failed because of a system problem, even though the request 7044// was valid. Retry your request. 7045// 7046// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7047// The operation failed because the referenced object doesn't exist. 7048// 7049// * ErrCodeWAFStaleDataException "WAFStaleDataException" 7050// The operation failed because you tried to create, update, or delete an object 7051// by using a change token that has already been used. 7052// 7053// * ErrCodeWAFServiceLinkedRoleErrorException "WAFServiceLinkedRoleErrorException" 7054// AWS WAF is not able to access the service linked role. This can be caused 7055// by a previous PutLoggingConfiguration request, which can lock the service 7056// linked role for about 20 seconds. Please try your request again. The service 7057// linked role can also be locked by a previous DeleteServiceLinkedRole request, 7058// which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, 7059// wait at least 15 minutes and try the request again. If you receive this same 7060// exception again, you will have to wait additional time until the role is 7061// unlocked. 7062// 7063// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration 7064func (c *WAFRegional) PutLoggingConfiguration(input *waf.PutLoggingConfigurationInput) (*waf.PutLoggingConfigurationOutput, error) { 7065 req, out := c.PutLoggingConfigurationRequest(input) 7066 return out, req.Send() 7067} 7068 7069// PutLoggingConfigurationWithContext is the same as PutLoggingConfiguration with the addition of 7070// the ability to pass a context and additional request options. 7071// 7072// See PutLoggingConfiguration for details on how to use this API operation. 7073// 7074// The context must be non-nil and will be used for request cancellation. If 7075// the context is nil a panic will occur. In the future the SDK may create 7076// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7077// for more information on using Contexts. 7078func (c *WAFRegional) PutLoggingConfigurationWithContext(ctx aws.Context, input *waf.PutLoggingConfigurationInput, opts ...request.Option) (*waf.PutLoggingConfigurationOutput, error) { 7079 req, out := c.PutLoggingConfigurationRequest(input) 7080 req.SetContext(ctx) 7081 req.ApplyOptions(opts...) 7082 return out, req.Send() 7083} 7084 7085const opPutPermissionPolicy = "PutPermissionPolicy" 7086 7087// PutPermissionPolicyRequest generates a "aws/request.Request" representing the 7088// client's request for the PutPermissionPolicy operation. The "output" return 7089// value will be populated with the request's response once the request completes 7090// successfully. 7091// 7092// Use "Send" method on the returned Request to send the API call to the service. 7093// the "output" return value is not valid until after Send returns without error. 7094// 7095// See PutPermissionPolicy for more information on using the PutPermissionPolicy 7096// API call, and error handling. 7097// 7098// This method is useful when you want to inject custom logic or configuration 7099// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7100// 7101// 7102// // Example sending a request using the PutPermissionPolicyRequest method. 7103// req, resp := client.PutPermissionPolicyRequest(params) 7104// 7105// err := req.Send() 7106// if err == nil { // resp is now filled 7107// fmt.Println(resp) 7108// } 7109// 7110// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy 7111func (c *WAFRegional) PutPermissionPolicyRequest(input *waf.PutPermissionPolicyInput) (req *request.Request, output *waf.PutPermissionPolicyOutput) { 7112 op := &request.Operation{ 7113 Name: opPutPermissionPolicy, 7114 HTTPMethod: "POST", 7115 HTTPPath: "/", 7116 } 7117 7118 if input == nil { 7119 input = &waf.PutPermissionPolicyInput{} 7120 } 7121 7122 output = &waf.PutPermissionPolicyOutput{} 7123 req = c.newRequest(op, input, output) 7124 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7125 return 7126} 7127 7128// PutPermissionPolicy API operation for AWS WAF Regional. 7129// 7130// Attaches a IAM policy to the specified resource. The only supported use for 7131// this action is to share a RuleGroup across accounts. 7132// 7133// The PutPermissionPolicy is subject to the following restrictions: 7134// 7135// * You can attach only one policy with each PutPermissionPolicy request. 7136// 7137// * The policy must include an Effect, Action and Principal. 7138// 7139// * Effect must specify Allow. 7140// 7141// * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, 7142// waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard 7143// actions in the policy will be rejected. 7144// 7145// * The policy cannot include a Resource parameter. 7146// 7147// * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup 7148// must exist in the same region. 7149// 7150// * The user making the request must be the owner of the RuleGroup. 7151// 7152// * Your policy must be composed using IAM Policy version 2012-10-17. 7153// 7154// For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). 7155// 7156// An example of a valid policy parameter is shown in the Examples section below. 7157// 7158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7159// with awserr.Error's Code and Message methods to get detailed information about 7160// the error. 7161// 7162// See the AWS API reference guide for AWS WAF Regional's 7163// API operation PutPermissionPolicy for usage and error information. 7164// 7165// Returned Error Codes: 7166// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7167// The operation failed because of a system problem, even though the request 7168// was valid. Retry your request. 7169// 7170// * ErrCodeWAFStaleDataException "WAFStaleDataException" 7171// The operation failed because you tried to create, update, or delete an object 7172// by using a change token that has already been used. 7173// 7174// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7175// The operation failed because the referenced object doesn't exist. 7176// 7177// * ErrCodeWAFInvalidPermissionPolicyException "WAFInvalidPermissionPolicyException" 7178// The operation failed because the specified policy is not in the proper format. 7179// 7180// The policy is subject to the following restrictions: 7181// 7182// * You can attach only one policy with each PutPermissionPolicy request. 7183// 7184// * The policy must include an Effect, Action and Principal. 7185// 7186// * Effect must specify Allow. 7187// 7188// * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, 7189// waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard 7190// actions in the policy will be rejected. 7191// 7192// * The policy cannot include a Resource parameter. 7193// 7194// * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup 7195// must exist in the same region. 7196// 7197// * The user making the request must be the owner of the RuleGroup. 7198// 7199// * Your policy must be composed using IAM Policy version 2012-10-17. 7200// 7201// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy 7202func (c *WAFRegional) PutPermissionPolicy(input *waf.PutPermissionPolicyInput) (*waf.PutPermissionPolicyOutput, error) { 7203 req, out := c.PutPermissionPolicyRequest(input) 7204 return out, req.Send() 7205} 7206 7207// PutPermissionPolicyWithContext is the same as PutPermissionPolicy with the addition of 7208// the ability to pass a context and additional request options. 7209// 7210// See PutPermissionPolicy for details on how to use this API operation. 7211// 7212// The context must be non-nil and will be used for request cancellation. If 7213// the context is nil a panic will occur. In the future the SDK may create 7214// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7215// for more information on using Contexts. 7216func (c *WAFRegional) PutPermissionPolicyWithContext(ctx aws.Context, input *waf.PutPermissionPolicyInput, opts ...request.Option) (*waf.PutPermissionPolicyOutput, error) { 7217 req, out := c.PutPermissionPolicyRequest(input) 7218 req.SetContext(ctx) 7219 req.ApplyOptions(opts...) 7220 return out, req.Send() 7221} 7222 7223const opTagResource = "TagResource" 7224 7225// TagResourceRequest generates a "aws/request.Request" representing the 7226// client's request for the TagResource operation. The "output" return 7227// value will be populated with the request's response once the request completes 7228// successfully. 7229// 7230// Use "Send" method on the returned Request to send the API call to the service. 7231// the "output" return value is not valid until after Send returns without error. 7232// 7233// See TagResource for more information on using the TagResource 7234// API call, and error handling. 7235// 7236// This method is useful when you want to inject custom logic or configuration 7237// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7238// 7239// 7240// // Example sending a request using the TagResourceRequest method. 7241// req, resp := client.TagResourceRequest(params) 7242// 7243// err := req.Send() 7244// if err == nil { // resp is now filled 7245// fmt.Println(resp) 7246// } 7247// 7248// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource 7249func (c *WAFRegional) TagResourceRequest(input *waf.TagResourceInput) (req *request.Request, output *waf.TagResourceOutput) { 7250 op := &request.Operation{ 7251 Name: opTagResource, 7252 HTTPMethod: "POST", 7253 HTTPPath: "/", 7254 } 7255 7256 if input == nil { 7257 input = &waf.TagResourceInput{} 7258 } 7259 7260 output = &waf.TagResourceOutput{} 7261 req = c.newRequest(op, input, output) 7262 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7263 return 7264} 7265 7266// TagResource API operation for AWS WAF Regional. 7267// 7268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7269// with awserr.Error's Code and Message methods to get detailed information about 7270// the error. 7271// 7272// See the AWS API reference guide for AWS WAF Regional's 7273// API operation TagResource for usage and error information. 7274// 7275// Returned Error Codes: 7276// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7277// The operation failed because of a system problem, even though the request 7278// was valid. Retry your request. 7279// 7280// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 7281// The operation failed because AWS WAF didn't recognize a parameter in the 7282// request. For example: 7283// 7284// * You specified an invalid parameter name. 7285// 7286// * You specified an invalid value. 7287// 7288// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7289// using an action other than INSERT or DELETE. 7290// 7291// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7292// BLOCK, or COUNT. 7293// 7294// * You tried to create a RateBasedRule with a RateKey value other than 7295// IP. 7296// 7297// * You tried to update a WebACL with a WafAction Type other than ALLOW, 7298// BLOCK, or COUNT. 7299// 7300// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7301// HEADER, METHOD, QUERY_STRING, URI, or BODY. 7302// 7303// * You tried to update a ByteMatchSet with a Field of HEADER but no value 7304// for Data. 7305// 7306// * Your request references an ARN that is malformed, or corresponds to 7307// a resource with which a web ACL cannot be associated. 7308// 7309// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 7310// The operation exceeds a resource limit, for example, the maximum number of 7311// WebACL objects that you can create for an AWS account. For more information, 7312// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 7313// in the AWS WAF Developer Guide. 7314// 7315// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7316// The operation failed because the referenced object doesn't exist. 7317// 7318// * ErrCodeWAFBadRequestException "WAFBadRequestException" 7319// 7320// * ErrCodeWAFTagOperationException "WAFTagOperationException" 7321// 7322// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 7323// 7324// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource 7325func (c *WAFRegional) TagResource(input *waf.TagResourceInput) (*waf.TagResourceOutput, error) { 7326 req, out := c.TagResourceRequest(input) 7327 return out, req.Send() 7328} 7329 7330// TagResourceWithContext is the same as TagResource with the addition of 7331// the ability to pass a context and additional request options. 7332// 7333// See TagResource for details on how to use this API operation. 7334// 7335// The context must be non-nil and will be used for request cancellation. If 7336// the context is nil a panic will occur. In the future the SDK may create 7337// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7338// for more information on using Contexts. 7339func (c *WAFRegional) TagResourceWithContext(ctx aws.Context, input *waf.TagResourceInput, opts ...request.Option) (*waf.TagResourceOutput, error) { 7340 req, out := c.TagResourceRequest(input) 7341 req.SetContext(ctx) 7342 req.ApplyOptions(opts...) 7343 return out, req.Send() 7344} 7345 7346const opUntagResource = "UntagResource" 7347 7348// UntagResourceRequest generates a "aws/request.Request" representing the 7349// client's request for the UntagResource operation. The "output" return 7350// value will be populated with the request's response once the request completes 7351// successfully. 7352// 7353// Use "Send" method on the returned Request to send the API call to the service. 7354// the "output" return value is not valid until after Send returns without error. 7355// 7356// See UntagResource for more information on using the UntagResource 7357// API call, and error handling. 7358// 7359// This method is useful when you want to inject custom logic or configuration 7360// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7361// 7362// 7363// // Example sending a request using the UntagResourceRequest method. 7364// req, resp := client.UntagResourceRequest(params) 7365// 7366// err := req.Send() 7367// if err == nil { // resp is now filled 7368// fmt.Println(resp) 7369// } 7370// 7371// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource 7372func (c *WAFRegional) UntagResourceRequest(input *waf.UntagResourceInput) (req *request.Request, output *waf.UntagResourceOutput) { 7373 op := &request.Operation{ 7374 Name: opUntagResource, 7375 HTTPMethod: "POST", 7376 HTTPPath: "/", 7377 } 7378 7379 if input == nil { 7380 input = &waf.UntagResourceInput{} 7381 } 7382 7383 output = &waf.UntagResourceOutput{} 7384 req = c.newRequest(op, input, output) 7385 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7386 return 7387} 7388 7389// UntagResource API operation for AWS WAF Regional. 7390// 7391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7392// with awserr.Error's Code and Message methods to get detailed information about 7393// the error. 7394// 7395// See the AWS API reference guide for AWS WAF Regional's 7396// API operation UntagResource for usage and error information. 7397// 7398// Returned Error Codes: 7399// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7400// The operation failed because of a system problem, even though the request 7401// was valid. Retry your request. 7402// 7403// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 7404// The operation failed because AWS WAF didn't recognize a parameter in the 7405// request. For example: 7406// 7407// * You specified an invalid parameter name. 7408// 7409// * You specified an invalid value. 7410// 7411// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7412// using an action other than INSERT or DELETE. 7413// 7414// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7415// BLOCK, or COUNT. 7416// 7417// * You tried to create a RateBasedRule with a RateKey value other than 7418// IP. 7419// 7420// * You tried to update a WebACL with a WafAction Type other than ALLOW, 7421// BLOCK, or COUNT. 7422// 7423// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7424// HEADER, METHOD, QUERY_STRING, URI, or BODY. 7425// 7426// * You tried to update a ByteMatchSet with a Field of HEADER but no value 7427// for Data. 7428// 7429// * Your request references an ARN that is malformed, or corresponds to 7430// a resource with which a web ACL cannot be associated. 7431// 7432// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7433// The operation failed because the referenced object doesn't exist. 7434// 7435// * ErrCodeWAFBadRequestException "WAFBadRequestException" 7436// 7437// * ErrCodeWAFTagOperationException "WAFTagOperationException" 7438// 7439// * ErrCodeWAFTagOperationInternalErrorException "WAFTagOperationInternalErrorException" 7440// 7441// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource 7442func (c *WAFRegional) UntagResource(input *waf.UntagResourceInput) (*waf.UntagResourceOutput, error) { 7443 req, out := c.UntagResourceRequest(input) 7444 return out, req.Send() 7445} 7446 7447// UntagResourceWithContext is the same as UntagResource with the addition of 7448// the ability to pass a context and additional request options. 7449// 7450// See UntagResource for details on how to use this API operation. 7451// 7452// The context must be non-nil and will be used for request cancellation. If 7453// the context is nil a panic will occur. In the future the SDK may create 7454// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7455// for more information on using Contexts. 7456func (c *WAFRegional) UntagResourceWithContext(ctx aws.Context, input *waf.UntagResourceInput, opts ...request.Option) (*waf.UntagResourceOutput, error) { 7457 req, out := c.UntagResourceRequest(input) 7458 req.SetContext(ctx) 7459 req.ApplyOptions(opts...) 7460 return out, req.Send() 7461} 7462 7463const opUpdateByteMatchSet = "UpdateByteMatchSet" 7464 7465// UpdateByteMatchSetRequest generates a "aws/request.Request" representing the 7466// client's request for the UpdateByteMatchSet operation. The "output" return 7467// value will be populated with the request's response once the request completes 7468// successfully. 7469// 7470// Use "Send" method on the returned Request to send the API call to the service. 7471// the "output" return value is not valid until after Send returns without error. 7472// 7473// See UpdateByteMatchSet for more information on using the UpdateByteMatchSet 7474// API call, and error handling. 7475// 7476// This method is useful when you want to inject custom logic or configuration 7477// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7478// 7479// 7480// // Example sending a request using the UpdateByteMatchSetRequest method. 7481// req, resp := client.UpdateByteMatchSetRequest(params) 7482// 7483// err := req.Send() 7484// if err == nil { // resp is now filled 7485// fmt.Println(resp) 7486// } 7487// 7488// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet 7489func (c *WAFRegional) UpdateByteMatchSetRequest(input *waf.UpdateByteMatchSetInput) (req *request.Request, output *waf.UpdateByteMatchSetOutput) { 7490 op := &request.Operation{ 7491 Name: opUpdateByteMatchSet, 7492 HTTPMethod: "POST", 7493 HTTPPath: "/", 7494 } 7495 7496 if input == nil { 7497 input = &waf.UpdateByteMatchSetInput{} 7498 } 7499 7500 output = &waf.UpdateByteMatchSetOutput{} 7501 req = c.newRequest(op, input, output) 7502 return 7503} 7504 7505// UpdateByteMatchSet API operation for AWS WAF Regional. 7506// 7507// Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For 7508// each ByteMatchTuple object, you specify the following values: 7509// 7510// * Whether to insert or delete the object from the array. If you want to 7511// change a ByteMatchSetUpdate object, you delete the existing object and 7512// add a new one. 7513// 7514// * The part of a web request that you want AWS WAF to inspect, such as 7515// a query string or the value of the User-Agent header. 7516// 7517// * The bytes (typically a string that corresponds with ASCII characters) 7518// that you want AWS WAF to look for. For more information, including how 7519// you specify the values for the AWS WAF API and the AWS CLI or SDKs, see 7520// TargetString in the ByteMatchTuple data type. 7521// 7522// * Where to look, such as at the beginning or the end of a query string. 7523// 7524// * Whether to perform any conversions on the request, such as converting 7525// it to lowercase, before inspecting it for the specified string. 7526// 7527// For example, you can add a ByteMatchSetUpdate object that matches web requests 7528// in which User-Agent headers contain the string BadBot. You can then configure 7529// AWS WAF to block those requests. 7530// 7531// To create and configure a ByteMatchSet, perform the following steps: 7532// 7533// Create a ByteMatchSet. For more information, see CreateByteMatchSet. 7534// 7535// Use GetChangeToken to get the change token that you provide in the ChangeToken 7536// parameter of an UpdateByteMatchSet request. 7537// 7538// Submit an UpdateByteMatchSet request to specify the part of the request that 7539// you want AWS WAF to inspect (for example, the header or the URI) and the 7540// value that you want AWS WAF to watch for. 7541// 7542// For more information about how to use the AWS WAF API to allow or block HTTP 7543// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 7544// 7545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7546// with awserr.Error's Code and Message methods to get detailed information about 7547// the error. 7548// 7549// See the AWS API reference guide for AWS WAF Regional's 7550// API operation UpdateByteMatchSet for usage and error information. 7551// 7552// Returned Error Codes: 7553// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7554// The operation failed because of a system problem, even though the request 7555// was valid. Retry your request. 7556// 7557// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 7558// The operation failed because you tried to create, update, or delete an object 7559// by using an invalid account identifier. 7560// 7561// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 7562// The operation failed because there was nothing to do. For example: 7563// 7564// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 7565// specified WebACL. 7566// 7567// * You tried to remove an IP address from an IPSet, but the IP address 7568// isn't in the specified IPSet. 7569// 7570// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 7571// isn't in the specified WebACL. 7572// 7573// * You tried to add a Rule to a WebACL, but the Rule already exists in 7574// the specified WebACL. 7575// 7576// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 7577// already exists in the specified WebACL. 7578// 7579// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 7580// The operation failed because AWS WAF didn't recognize a parameter in the 7581// request. For example: 7582// 7583// * You specified an invalid parameter name. 7584// 7585// * You specified an invalid value. 7586// 7587// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7588// using an action other than INSERT or DELETE. 7589// 7590// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7591// BLOCK, or COUNT. 7592// 7593// * You tried to create a RateBasedRule with a RateKey value other than 7594// IP. 7595// 7596// * You tried to update a WebACL with a WafAction Type other than ALLOW, 7597// BLOCK, or COUNT. 7598// 7599// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7600// HEADER, METHOD, QUERY_STRING, URI, or BODY. 7601// 7602// * You tried to update a ByteMatchSet with a Field of HEADER but no value 7603// for Data. 7604// 7605// * Your request references an ARN that is malformed, or corresponds to 7606// a resource with which a web ACL cannot be associated. 7607// 7608// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 7609// The operation failed because you tried to add an object to or delete an object 7610// from another object that doesn't exist. For example: 7611// 7612// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 7613// exist. 7614// 7615// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 7616// that doesn't exist. 7617// 7618// * You tried to add an IP address to or delete an IP address from an IPSet 7619// that doesn't exist. 7620// 7621// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 7622// a ByteMatchSet that doesn't exist. 7623// 7624// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7625// The operation failed because the referenced object doesn't exist. 7626// 7627// * ErrCodeWAFStaleDataException "WAFStaleDataException" 7628// The operation failed because you tried to create, update, or delete an object 7629// by using a change token that has already been used. 7630// 7631// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 7632// The operation exceeds a resource limit, for example, the maximum number of 7633// WebACL objects that you can create for an AWS account. For more information, 7634// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 7635// in the AWS WAF Developer Guide. 7636// 7637// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet 7638func (c *WAFRegional) UpdateByteMatchSet(input *waf.UpdateByteMatchSetInput) (*waf.UpdateByteMatchSetOutput, error) { 7639 req, out := c.UpdateByteMatchSetRequest(input) 7640 return out, req.Send() 7641} 7642 7643// UpdateByteMatchSetWithContext is the same as UpdateByteMatchSet with the addition of 7644// the ability to pass a context and additional request options. 7645// 7646// See UpdateByteMatchSet for details on how to use this API operation. 7647// 7648// The context must be non-nil and will be used for request cancellation. If 7649// the context is nil a panic will occur. In the future the SDK may create 7650// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7651// for more information on using Contexts. 7652func (c *WAFRegional) UpdateByteMatchSetWithContext(ctx aws.Context, input *waf.UpdateByteMatchSetInput, opts ...request.Option) (*waf.UpdateByteMatchSetOutput, error) { 7653 req, out := c.UpdateByteMatchSetRequest(input) 7654 req.SetContext(ctx) 7655 req.ApplyOptions(opts...) 7656 return out, req.Send() 7657} 7658 7659const opUpdateGeoMatchSet = "UpdateGeoMatchSet" 7660 7661// UpdateGeoMatchSetRequest generates a "aws/request.Request" representing the 7662// client's request for the UpdateGeoMatchSet operation. The "output" return 7663// value will be populated with the request's response once the request completes 7664// successfully. 7665// 7666// Use "Send" method on the returned Request to send the API call to the service. 7667// the "output" return value is not valid until after Send returns without error. 7668// 7669// See UpdateGeoMatchSet for more information on using the UpdateGeoMatchSet 7670// API call, and error handling. 7671// 7672// This method is useful when you want to inject custom logic or configuration 7673// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7674// 7675// 7676// // Example sending a request using the UpdateGeoMatchSetRequest method. 7677// req, resp := client.UpdateGeoMatchSetRequest(params) 7678// 7679// err := req.Send() 7680// if err == nil { // resp is now filled 7681// fmt.Println(resp) 7682// } 7683// 7684// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet 7685func (c *WAFRegional) UpdateGeoMatchSetRequest(input *waf.UpdateGeoMatchSetInput) (req *request.Request, output *waf.UpdateGeoMatchSetOutput) { 7686 op := &request.Operation{ 7687 Name: opUpdateGeoMatchSet, 7688 HTTPMethod: "POST", 7689 HTTPPath: "/", 7690 } 7691 7692 if input == nil { 7693 input = &waf.UpdateGeoMatchSetInput{} 7694 } 7695 7696 output = &waf.UpdateGeoMatchSetOutput{} 7697 req = c.newRequest(op, input, output) 7698 return 7699} 7700 7701// UpdateGeoMatchSet API operation for AWS WAF Regional. 7702// 7703// Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each 7704// GeoMatchConstraint object, you specify the following values: 7705// 7706// * Whether to insert or delete the object from the array. If you want to 7707// change an GeoMatchConstraint object, you delete the existing object and 7708// add a new one. 7709// 7710// * The Type. The only valid value for Type is Country. 7711// 7712// * The Value, which is a two character code for the country to add to the 7713// GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value. 7714// 7715// To create and configure an GeoMatchSet, perform the following steps: 7716// 7717// Submit a CreateGeoMatchSet request. 7718// 7719// Use GetChangeToken to get the change token that you provide in the ChangeToken 7720// parameter of an UpdateGeoMatchSet request. 7721// 7722// Submit an UpdateGeoMatchSet request to specify the country that you want 7723// AWS WAF to watch for. 7724// 7725// When you update an GeoMatchSet, you specify the country that you want to 7726// add and/or the country that you want to delete. If you want to change a country, 7727// you delete the existing country and add the new one. 7728// 7729// For more information about how to use the AWS WAF API to allow or block HTTP 7730// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 7731// 7732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7733// with awserr.Error's Code and Message methods to get detailed information about 7734// the error. 7735// 7736// See the AWS API reference guide for AWS WAF Regional's 7737// API operation UpdateGeoMatchSet for usage and error information. 7738// 7739// Returned Error Codes: 7740// * ErrCodeWAFStaleDataException "WAFStaleDataException" 7741// The operation failed because you tried to create, update, or delete an object 7742// by using a change token that has already been used. 7743// 7744// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7745// The operation failed because of a system problem, even though the request 7746// was valid. Retry your request. 7747// 7748// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 7749// The operation failed because you tried to create, update, or delete an object 7750// by using an invalid account identifier. 7751// 7752// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 7753// The operation failed because there was nothing to do. For example: 7754// 7755// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 7756// specified WebACL. 7757// 7758// * You tried to remove an IP address from an IPSet, but the IP address 7759// isn't in the specified IPSet. 7760// 7761// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 7762// isn't in the specified WebACL. 7763// 7764// * You tried to add a Rule to a WebACL, but the Rule already exists in 7765// the specified WebACL. 7766// 7767// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 7768// already exists in the specified WebACL. 7769// 7770// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 7771// The operation failed because AWS WAF didn't recognize a parameter in the 7772// request. For example: 7773// 7774// * You specified an invalid parameter name. 7775// 7776// * You specified an invalid value. 7777// 7778// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7779// using an action other than INSERT or DELETE. 7780// 7781// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7782// BLOCK, or COUNT. 7783// 7784// * You tried to create a RateBasedRule with a RateKey value other than 7785// IP. 7786// 7787// * You tried to update a WebACL with a WafAction Type other than ALLOW, 7788// BLOCK, or COUNT. 7789// 7790// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7791// HEADER, METHOD, QUERY_STRING, URI, or BODY. 7792// 7793// * You tried to update a ByteMatchSet with a Field of HEADER but no value 7794// for Data. 7795// 7796// * Your request references an ARN that is malformed, or corresponds to 7797// a resource with which a web ACL cannot be associated. 7798// 7799// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 7800// The operation failed because you tried to add an object to or delete an object 7801// from another object that doesn't exist. For example: 7802// 7803// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 7804// exist. 7805// 7806// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 7807// that doesn't exist. 7808// 7809// * You tried to add an IP address to or delete an IP address from an IPSet 7810// that doesn't exist. 7811// 7812// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 7813// a ByteMatchSet that doesn't exist. 7814// 7815// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 7816// The operation failed because the referenced object doesn't exist. 7817// 7818// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 7819// The operation failed because you tried to delete an object that is still 7820// in use. For example: 7821// 7822// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 7823// 7824// * You tried to delete a Rule that is still referenced by a WebACL. 7825// 7826// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 7827// The operation exceeds a resource limit, for example, the maximum number of 7828// WebACL objects that you can create for an AWS account. For more information, 7829// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 7830// in the AWS WAF Developer Guide. 7831// 7832// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet 7833func (c *WAFRegional) UpdateGeoMatchSet(input *waf.UpdateGeoMatchSetInput) (*waf.UpdateGeoMatchSetOutput, error) { 7834 req, out := c.UpdateGeoMatchSetRequest(input) 7835 return out, req.Send() 7836} 7837 7838// UpdateGeoMatchSetWithContext is the same as UpdateGeoMatchSet with the addition of 7839// the ability to pass a context and additional request options. 7840// 7841// See UpdateGeoMatchSet for details on how to use this API operation. 7842// 7843// The context must be non-nil and will be used for request cancellation. If 7844// the context is nil a panic will occur. In the future the SDK may create 7845// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7846// for more information on using Contexts. 7847func (c *WAFRegional) UpdateGeoMatchSetWithContext(ctx aws.Context, input *waf.UpdateGeoMatchSetInput, opts ...request.Option) (*waf.UpdateGeoMatchSetOutput, error) { 7848 req, out := c.UpdateGeoMatchSetRequest(input) 7849 req.SetContext(ctx) 7850 req.ApplyOptions(opts...) 7851 return out, req.Send() 7852} 7853 7854const opUpdateIPSet = "UpdateIPSet" 7855 7856// UpdateIPSetRequest generates a "aws/request.Request" representing the 7857// client's request for the UpdateIPSet operation. The "output" return 7858// value will be populated with the request's response once the request completes 7859// successfully. 7860// 7861// Use "Send" method on the returned Request to send the API call to the service. 7862// the "output" return value is not valid until after Send returns without error. 7863// 7864// See UpdateIPSet for more information on using the UpdateIPSet 7865// API call, and error handling. 7866// 7867// This method is useful when you want to inject custom logic or configuration 7868// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7869// 7870// 7871// // Example sending a request using the UpdateIPSetRequest method. 7872// req, resp := client.UpdateIPSetRequest(params) 7873// 7874// err := req.Send() 7875// if err == nil { // resp is now filled 7876// fmt.Println(resp) 7877// } 7878// 7879// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet 7880func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *request.Request, output *waf.UpdateIPSetOutput) { 7881 op := &request.Operation{ 7882 Name: opUpdateIPSet, 7883 HTTPMethod: "POST", 7884 HTTPPath: "/", 7885 } 7886 7887 if input == nil { 7888 input = &waf.UpdateIPSetInput{} 7889 } 7890 7891 output = &waf.UpdateIPSetOutput{} 7892 req = c.newRequest(op, input, output) 7893 return 7894} 7895 7896// UpdateIPSet API operation for AWS WAF Regional. 7897// 7898// Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor 7899// object, you specify the following values: 7900// 7901// * Whether to insert or delete the object from the array. If you want to 7902// change an IPSetDescriptor object, you delete the existing object and add 7903// a new one. 7904// 7905// * The IP address version, IPv4 or IPv6. 7906// 7907// * The IP address in CIDR notation, for example, 192.0.2.0/24 (for the 7908// range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 7909// (for the individual IP address 192.0.2.44). 7910// 7911// AWS WAF supports IPv4 address ranges: /8 and any range between /16 through 7912// /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. 7913// For more information about CIDR notation, see the Wikipedia entry Classless 7914// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). 7915// 7916// IPv6 addresses can be represented using any of the following formats: 7917// 7918// * 1111:0000:0000:0000:0000:0000:0000:0111/128 7919// 7920// * 1111:0:0:0:0:0:0:0111/128 7921// 7922// * 1111::0111/128 7923// 7924// * 1111::111/128 7925// 7926// You use an IPSet to specify which web requests you want to allow or block 7927// based on the IP addresses that the requests originated from. For example, 7928// if you're receiving a lot of requests from one or a small number of IP addresses 7929// and you want to block the requests, you can create an IPSet that specifies 7930// those IP addresses, and then configure AWS WAF to block the requests. 7931// 7932// To create and configure an IPSet, perform the following steps: 7933// 7934// Submit a CreateIPSet request. 7935// 7936// Use GetChangeToken to get the change token that you provide in the ChangeToken 7937// parameter of an UpdateIPSet request. 7938// 7939// Submit an UpdateIPSet request to specify the IP addresses that you want AWS 7940// WAF to watch for. 7941// 7942// When you update an IPSet, you specify the IP addresses that you want to add 7943// and/or the IP addresses that you want to delete. If you want to change an 7944// IP address, you delete the existing IP address and add the new one. 7945// 7946// You can insert a maximum of 1000 addresses in a single request. 7947// 7948// For more information about how to use the AWS WAF API to allow or block HTTP 7949// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 7950// 7951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7952// with awserr.Error's Code and Message methods to get detailed information about 7953// the error. 7954// 7955// See the AWS API reference guide for AWS WAF Regional's 7956// API operation UpdateIPSet for usage and error information. 7957// 7958// Returned Error Codes: 7959// * ErrCodeWAFStaleDataException "WAFStaleDataException" 7960// The operation failed because you tried to create, update, or delete an object 7961// by using a change token that has already been used. 7962// 7963// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 7964// The operation failed because of a system problem, even though the request 7965// was valid. Retry your request. 7966// 7967// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 7968// The operation failed because you tried to create, update, or delete an object 7969// by using an invalid account identifier. 7970// 7971// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 7972// The operation failed because there was nothing to do. For example: 7973// 7974// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 7975// specified WebACL. 7976// 7977// * You tried to remove an IP address from an IPSet, but the IP address 7978// isn't in the specified IPSet. 7979// 7980// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 7981// isn't in the specified WebACL. 7982// 7983// * You tried to add a Rule to a WebACL, but the Rule already exists in 7984// the specified WebACL. 7985// 7986// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 7987// already exists in the specified WebACL. 7988// 7989// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 7990// The operation failed because AWS WAF didn't recognize a parameter in the 7991// request. For example: 7992// 7993// * You specified an invalid parameter name. 7994// 7995// * You specified an invalid value. 7996// 7997// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7998// using an action other than INSERT or DELETE. 7999// 8000// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8001// BLOCK, or COUNT. 8002// 8003// * You tried to create a RateBasedRule with a RateKey value other than 8004// IP. 8005// 8006// * You tried to update a WebACL with a WafAction Type other than ALLOW, 8007// BLOCK, or COUNT. 8008// 8009// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8010// HEADER, METHOD, QUERY_STRING, URI, or BODY. 8011// 8012// * You tried to update a ByteMatchSet with a Field of HEADER but no value 8013// for Data. 8014// 8015// * Your request references an ARN that is malformed, or corresponds to 8016// a resource with which a web ACL cannot be associated. 8017// 8018// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8019// The operation failed because you tried to add an object to or delete an object 8020// from another object that doesn't exist. For example: 8021// 8022// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8023// exist. 8024// 8025// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8026// that doesn't exist. 8027// 8028// * You tried to add an IP address to or delete an IP address from an IPSet 8029// that doesn't exist. 8030// 8031// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8032// a ByteMatchSet that doesn't exist. 8033// 8034// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8035// The operation failed because the referenced object doesn't exist. 8036// 8037// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 8038// The operation failed because you tried to delete an object that is still 8039// in use. For example: 8040// 8041// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8042// 8043// * You tried to delete a Rule that is still referenced by a WebACL. 8044// 8045// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8046// The operation exceeds a resource limit, for example, the maximum number of 8047// WebACL objects that you can create for an AWS account. For more information, 8048// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8049// in the AWS WAF Developer Guide. 8050// 8051// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet 8052func (c *WAFRegional) UpdateIPSet(input *waf.UpdateIPSetInput) (*waf.UpdateIPSetOutput, error) { 8053 req, out := c.UpdateIPSetRequest(input) 8054 return out, req.Send() 8055} 8056 8057// UpdateIPSetWithContext is the same as UpdateIPSet with the addition of 8058// the ability to pass a context and additional request options. 8059// 8060// See UpdateIPSet for details on how to use this API operation. 8061// 8062// The context must be non-nil and will be used for request cancellation. If 8063// the context is nil a panic will occur. In the future the SDK may create 8064// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8065// for more information on using Contexts. 8066func (c *WAFRegional) UpdateIPSetWithContext(ctx aws.Context, input *waf.UpdateIPSetInput, opts ...request.Option) (*waf.UpdateIPSetOutput, error) { 8067 req, out := c.UpdateIPSetRequest(input) 8068 req.SetContext(ctx) 8069 req.ApplyOptions(opts...) 8070 return out, req.Send() 8071} 8072 8073const opUpdateRateBasedRule = "UpdateRateBasedRule" 8074 8075// UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the 8076// client's request for the UpdateRateBasedRule operation. The "output" return 8077// value will be populated with the request's response once the request completes 8078// successfully. 8079// 8080// Use "Send" method on the returned Request to send the API call to the service. 8081// the "output" return value is not valid until after Send returns without error. 8082// 8083// See UpdateRateBasedRule for more information on using the UpdateRateBasedRule 8084// API call, and error handling. 8085// 8086// This method is useful when you want to inject custom logic or configuration 8087// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8088// 8089// 8090// // Example sending a request using the UpdateRateBasedRuleRequest method. 8091// req, resp := client.UpdateRateBasedRuleRequest(params) 8092// 8093// err := req.Send() 8094// if err == nil { // resp is now filled 8095// fmt.Println(resp) 8096// } 8097// 8098// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule 8099func (c *WAFRegional) UpdateRateBasedRuleRequest(input *waf.UpdateRateBasedRuleInput) (req *request.Request, output *waf.UpdateRateBasedRuleOutput) { 8100 op := &request.Operation{ 8101 Name: opUpdateRateBasedRule, 8102 HTTPMethod: "POST", 8103 HTTPPath: "/", 8104 } 8105 8106 if input == nil { 8107 input = &waf.UpdateRateBasedRuleInput{} 8108 } 8109 8110 output = &waf.UpdateRateBasedRuleOutput{} 8111 req = c.newRequest(op, input, output) 8112 return 8113} 8114 8115// UpdateRateBasedRule API operation for AWS WAF Regional. 8116// 8117// Inserts or deletes Predicate objects in a rule and updates the RateLimit 8118// in the rule. 8119// 8120// Each Predicate object identifies a predicate, such as a ByteMatchSet or an 8121// IPSet, that specifies the web requests that you want to block or count. The 8122// RateLimit specifies the number of requests every five minutes that triggers 8123// the rule. 8124// 8125// If you add more than one predicate to a RateBasedRule, a request must match 8126// all the predicates and exceed the RateLimit to be counted or blocked. For 8127// example, suppose you add the following to a RateBasedRule: 8128// 8129// * An IPSet that matches the IP address 192.0.2.44/32 8130// 8131// * A ByteMatchSet that matches BadBot in the User-Agent header 8132// 8133// Further, you specify a RateLimit of 15,000. 8134// 8135// You then add the RateBasedRule to a WebACL and specify that you want to block 8136// requests that satisfy the rule. For a request to be blocked, it must come 8137// from the IP address 192.0.2.44 and the User-Agent header in the request must 8138// contain the value BadBot. Further, requests that match these two conditions 8139// much be received at a rate of more than 15,000 every five minutes. If the 8140// rate drops below this limit, AWS WAF no longer blocks the requests. 8141// 8142// As a second example, suppose you want to limit requests to a particular page 8143// on your site. To do this, you could add the following to a RateBasedRule: 8144// 8145// * A ByteMatchSet with FieldToMatch of URI 8146// 8147// * A PositionalConstraint of STARTS_WITH 8148// 8149// * A TargetString of login 8150// 8151// Further, you specify a RateLimit of 15,000. 8152// 8153// By adding this RateBasedRule to a WebACL, you could limit requests to your 8154// login page without affecting the rest of your site. 8155// 8156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8157// with awserr.Error's Code and Message methods to get detailed information about 8158// the error. 8159// 8160// See the AWS API reference guide for AWS WAF Regional's 8161// API operation UpdateRateBasedRule for usage and error information. 8162// 8163// Returned Error Codes: 8164// * ErrCodeWAFStaleDataException "WAFStaleDataException" 8165// The operation failed because you tried to create, update, or delete an object 8166// by using a change token that has already been used. 8167// 8168// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 8169// The operation failed because of a system problem, even though the request 8170// was valid. Retry your request. 8171// 8172// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 8173// The operation failed because you tried to create, update, or delete an object 8174// by using an invalid account identifier. 8175// 8176// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 8177// The operation failed because there was nothing to do. For example: 8178// 8179// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8180// specified WebACL. 8181// 8182// * You tried to remove an IP address from an IPSet, but the IP address 8183// isn't in the specified IPSet. 8184// 8185// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8186// isn't in the specified WebACL. 8187// 8188// * You tried to add a Rule to a WebACL, but the Rule already exists in 8189// the specified WebACL. 8190// 8191// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8192// already exists in the specified WebACL. 8193// 8194// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 8195// The operation failed because AWS WAF didn't recognize a parameter in the 8196// request. For example: 8197// 8198// * You specified an invalid parameter name. 8199// 8200// * You specified an invalid value. 8201// 8202// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8203// using an action other than INSERT or DELETE. 8204// 8205// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8206// BLOCK, or COUNT. 8207// 8208// * You tried to create a RateBasedRule with a RateKey value other than 8209// IP. 8210// 8211// * You tried to update a WebACL with a WafAction Type other than ALLOW, 8212// BLOCK, or COUNT. 8213// 8214// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8215// HEADER, METHOD, QUERY_STRING, URI, or BODY. 8216// 8217// * You tried to update a ByteMatchSet with a Field of HEADER but no value 8218// for Data. 8219// 8220// * Your request references an ARN that is malformed, or corresponds to 8221// a resource with which a web ACL cannot be associated. 8222// 8223// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8224// The operation failed because you tried to add an object to or delete an object 8225// from another object that doesn't exist. For example: 8226// 8227// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8228// exist. 8229// 8230// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8231// that doesn't exist. 8232// 8233// * You tried to add an IP address to or delete an IP address from an IPSet 8234// that doesn't exist. 8235// 8236// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8237// a ByteMatchSet that doesn't exist. 8238// 8239// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8240// The operation failed because the referenced object doesn't exist. 8241// 8242// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 8243// The operation failed because you tried to delete an object that is still 8244// in use. For example: 8245// 8246// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8247// 8248// * You tried to delete a Rule that is still referenced by a WebACL. 8249// 8250// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8251// The operation exceeds a resource limit, for example, the maximum number of 8252// WebACL objects that you can create for an AWS account. For more information, 8253// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8254// in the AWS WAF Developer Guide. 8255// 8256// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule 8257func (c *WAFRegional) UpdateRateBasedRule(input *waf.UpdateRateBasedRuleInput) (*waf.UpdateRateBasedRuleOutput, error) { 8258 req, out := c.UpdateRateBasedRuleRequest(input) 8259 return out, req.Send() 8260} 8261 8262// UpdateRateBasedRuleWithContext is the same as UpdateRateBasedRule with the addition of 8263// the ability to pass a context and additional request options. 8264// 8265// See UpdateRateBasedRule for details on how to use this API operation. 8266// 8267// The context must be non-nil and will be used for request cancellation. If 8268// the context is nil a panic will occur. In the future the SDK may create 8269// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8270// for more information on using Contexts. 8271func (c *WAFRegional) UpdateRateBasedRuleWithContext(ctx aws.Context, input *waf.UpdateRateBasedRuleInput, opts ...request.Option) (*waf.UpdateRateBasedRuleOutput, error) { 8272 req, out := c.UpdateRateBasedRuleRequest(input) 8273 req.SetContext(ctx) 8274 req.ApplyOptions(opts...) 8275 return out, req.Send() 8276} 8277 8278const opUpdateRegexMatchSet = "UpdateRegexMatchSet" 8279 8280// UpdateRegexMatchSetRequest generates a "aws/request.Request" representing the 8281// client's request for the UpdateRegexMatchSet operation. The "output" return 8282// value will be populated with the request's response once the request completes 8283// successfully. 8284// 8285// Use "Send" method on the returned Request to send the API call to the service. 8286// the "output" return value is not valid until after Send returns without error. 8287// 8288// See UpdateRegexMatchSet for more information on using the UpdateRegexMatchSet 8289// API call, and error handling. 8290// 8291// This method is useful when you want to inject custom logic or configuration 8292// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8293// 8294// 8295// // Example sending a request using the UpdateRegexMatchSetRequest method. 8296// req, resp := client.UpdateRegexMatchSetRequest(params) 8297// 8298// err := req.Send() 8299// if err == nil { // resp is now filled 8300// fmt.Println(resp) 8301// } 8302// 8303// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet 8304func (c *WAFRegional) UpdateRegexMatchSetRequest(input *waf.UpdateRegexMatchSetInput) (req *request.Request, output *waf.UpdateRegexMatchSetOutput) { 8305 op := &request.Operation{ 8306 Name: opUpdateRegexMatchSet, 8307 HTTPMethod: "POST", 8308 HTTPPath: "/", 8309 } 8310 8311 if input == nil { 8312 input = &waf.UpdateRegexMatchSetInput{} 8313 } 8314 8315 output = &waf.UpdateRegexMatchSetOutput{} 8316 req = c.newRequest(op, input, output) 8317 return 8318} 8319 8320// UpdateRegexMatchSet API operation for AWS WAF Regional. 8321// 8322// Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. 8323// For each RegexMatchSetUpdate object, you specify the following values: 8324// 8325// * Whether to insert or delete the object from the array. If you want to 8326// change a RegexMatchSetUpdate object, you delete the existing object and 8327// add a new one. 8328// 8329// * The part of a web request that you want AWS WAF to inspectupdate, such 8330// as a query string or the value of the User-Agent header. 8331// 8332// * The identifier of the pattern (a regular expression) that you want AWS 8333// WAF to look for. For more information, see RegexPatternSet. 8334// 8335// * Whether to perform any conversions on the request, such as converting 8336// it to lowercase, before inspecting it for the specified string. 8337// 8338// For example, you can create a RegexPatternSet that matches any requests with 8339// User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure 8340// AWS WAF to reject those requests. 8341// 8342// To create and configure a RegexMatchSet, perform the following steps: 8343// 8344// Create a RegexMatchSet. For more information, see CreateRegexMatchSet. 8345// 8346// Use GetChangeToken to get the change token that you provide in the ChangeToken 8347// parameter of an UpdateRegexMatchSet request. 8348// 8349// Submit an UpdateRegexMatchSet request to specify the part of the request 8350// that you want AWS WAF to inspect (for example, the header or the URI) and 8351// the identifier of the RegexPatternSet that contain the regular expression 8352// patters you want AWS WAF to watch for. 8353// 8354// For more information about how to use the AWS WAF API to allow or block HTTP 8355// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8356// 8357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8358// with awserr.Error's Code and Message methods to get detailed information about 8359// the error. 8360// 8361// See the AWS API reference guide for AWS WAF Regional's 8362// API operation UpdateRegexMatchSet for usage and error information. 8363// 8364// Returned Error Codes: 8365// * ErrCodeWAFStaleDataException "WAFStaleDataException" 8366// The operation failed because you tried to create, update, or delete an object 8367// by using a change token that has already been used. 8368// 8369// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 8370// The operation failed because of a system problem, even though the request 8371// was valid. Retry your request. 8372// 8373// * ErrCodeWAFDisallowedNameException "WAFDisallowedNameException" 8374// The name specified is invalid. 8375// 8376// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8377// The operation exceeds a resource limit, for example, the maximum number of 8378// WebACL objects that you can create for an AWS account. For more information, 8379// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8380// in the AWS WAF Developer Guide. 8381// 8382// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8383// The operation failed because the referenced object doesn't exist. 8384// 8385// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8386// The operation failed because you tried to add an object to or delete an object 8387// from another object that doesn't exist. For example: 8388// 8389// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8390// exist. 8391// 8392// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8393// that doesn't exist. 8394// 8395// * You tried to add an IP address to or delete an IP address from an IPSet 8396// that doesn't exist. 8397// 8398// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8399// a ByteMatchSet that doesn't exist. 8400// 8401// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 8402// The operation failed because there was nothing to do. For example: 8403// 8404// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8405// specified WebACL. 8406// 8407// * You tried to remove an IP address from an IPSet, but the IP address 8408// isn't in the specified IPSet. 8409// 8410// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8411// isn't in the specified WebACL. 8412// 8413// * You tried to add a Rule to a WebACL, but the Rule already exists in 8414// the specified WebACL. 8415// 8416// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8417// already exists in the specified WebACL. 8418// 8419// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 8420// The operation failed because you tried to create, update, or delete an object 8421// by using an invalid account identifier. 8422// 8423// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet 8424func (c *WAFRegional) UpdateRegexMatchSet(input *waf.UpdateRegexMatchSetInput) (*waf.UpdateRegexMatchSetOutput, error) { 8425 req, out := c.UpdateRegexMatchSetRequest(input) 8426 return out, req.Send() 8427} 8428 8429// UpdateRegexMatchSetWithContext is the same as UpdateRegexMatchSet with the addition of 8430// the ability to pass a context and additional request options. 8431// 8432// See UpdateRegexMatchSet for details on how to use this API operation. 8433// 8434// The context must be non-nil and will be used for request cancellation. If 8435// the context is nil a panic will occur. In the future the SDK may create 8436// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8437// for more information on using Contexts. 8438func (c *WAFRegional) UpdateRegexMatchSetWithContext(ctx aws.Context, input *waf.UpdateRegexMatchSetInput, opts ...request.Option) (*waf.UpdateRegexMatchSetOutput, error) { 8439 req, out := c.UpdateRegexMatchSetRequest(input) 8440 req.SetContext(ctx) 8441 req.ApplyOptions(opts...) 8442 return out, req.Send() 8443} 8444 8445const opUpdateRegexPatternSet = "UpdateRegexPatternSet" 8446 8447// UpdateRegexPatternSetRequest generates a "aws/request.Request" representing the 8448// client's request for the UpdateRegexPatternSet operation. The "output" return 8449// value will be populated with the request's response once the request completes 8450// successfully. 8451// 8452// Use "Send" method on the returned Request to send the API call to the service. 8453// the "output" return value is not valid until after Send returns without error. 8454// 8455// See UpdateRegexPatternSet for more information on using the UpdateRegexPatternSet 8456// API call, and error handling. 8457// 8458// This method is useful when you want to inject custom logic or configuration 8459// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8460// 8461// 8462// // Example sending a request using the UpdateRegexPatternSetRequest method. 8463// req, resp := client.UpdateRegexPatternSetRequest(params) 8464// 8465// err := req.Send() 8466// if err == nil { // resp is now filled 8467// fmt.Println(resp) 8468// } 8469// 8470// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet 8471func (c *WAFRegional) UpdateRegexPatternSetRequest(input *waf.UpdateRegexPatternSetInput) (req *request.Request, output *waf.UpdateRegexPatternSetOutput) { 8472 op := &request.Operation{ 8473 Name: opUpdateRegexPatternSet, 8474 HTTPMethod: "POST", 8475 HTTPPath: "/", 8476 } 8477 8478 if input == nil { 8479 input = &waf.UpdateRegexPatternSetInput{} 8480 } 8481 8482 output = &waf.UpdateRegexPatternSetOutput{} 8483 req = c.newRequest(op, input, output) 8484 return 8485} 8486 8487// UpdateRegexPatternSet API operation for AWS WAF Regional. 8488// 8489// Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each 8490// RegexPatternString object, you specify the following values: 8491// 8492// * Whether to insert or delete the RegexPatternString. 8493// 8494// * The regular expression pattern that you want to insert or delete. For 8495// more information, see RegexPatternSet. 8496// 8497// For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS 8498// WAF will match this RegexPatternString to: 8499// 8500// * BadBot 8501// 8502// * BadB0t 8503// 8504// * B@dBot 8505// 8506// * B@dB0t 8507// 8508// To create and configure a RegexPatternSet, perform the following steps: 8509// 8510// Create a RegexPatternSet. For more information, see CreateRegexPatternSet. 8511// 8512// Use GetChangeToken to get the change token that you provide in the ChangeToken 8513// parameter of an UpdateRegexPatternSet request. 8514// 8515// Submit an UpdateRegexPatternSet request to specify the regular expression 8516// pattern that you want AWS WAF to watch for. 8517// 8518// For more information about how to use the AWS WAF API to allow or block HTTP 8519// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8520// 8521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8522// with awserr.Error's Code and Message methods to get detailed information about 8523// the error. 8524// 8525// See the AWS API reference guide for AWS WAF Regional's 8526// API operation UpdateRegexPatternSet for usage and error information. 8527// 8528// Returned Error Codes: 8529// * ErrCodeWAFStaleDataException "WAFStaleDataException" 8530// The operation failed because you tried to create, update, or delete an object 8531// by using a change token that has already been used. 8532// 8533// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 8534// The operation failed because of a system problem, even though the request 8535// was valid. Retry your request. 8536// 8537// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8538// The operation exceeds a resource limit, for example, the maximum number of 8539// WebACL objects that you can create for an AWS account. For more information, 8540// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8541// in the AWS WAF Developer Guide. 8542// 8543// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8544// The operation failed because the referenced object doesn't exist. 8545// 8546// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8547// The operation failed because you tried to add an object to or delete an object 8548// from another object that doesn't exist. For example: 8549// 8550// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8551// exist. 8552// 8553// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8554// that doesn't exist. 8555// 8556// * You tried to add an IP address to or delete an IP address from an IPSet 8557// that doesn't exist. 8558// 8559// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8560// a ByteMatchSet that doesn't exist. 8561// 8562// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 8563// The operation failed because there was nothing to do. For example: 8564// 8565// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8566// specified WebACL. 8567// 8568// * You tried to remove an IP address from an IPSet, but the IP address 8569// isn't in the specified IPSet. 8570// 8571// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8572// isn't in the specified WebACL. 8573// 8574// * You tried to add a Rule to a WebACL, but the Rule already exists in 8575// the specified WebACL. 8576// 8577// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8578// already exists in the specified WebACL. 8579// 8580// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 8581// The operation failed because you tried to create, update, or delete an object 8582// by using an invalid account identifier. 8583// 8584// * ErrCodeWAFInvalidRegexPatternException "WAFInvalidRegexPatternException" 8585// The regular expression (regex) you specified in RegexPatternString is invalid. 8586// 8587// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet 8588func (c *WAFRegional) UpdateRegexPatternSet(input *waf.UpdateRegexPatternSetInput) (*waf.UpdateRegexPatternSetOutput, error) { 8589 req, out := c.UpdateRegexPatternSetRequest(input) 8590 return out, req.Send() 8591} 8592 8593// UpdateRegexPatternSetWithContext is the same as UpdateRegexPatternSet with the addition of 8594// the ability to pass a context and additional request options. 8595// 8596// See UpdateRegexPatternSet for details on how to use this API operation. 8597// 8598// The context must be non-nil and will be used for request cancellation. If 8599// the context is nil a panic will occur. In the future the SDK may create 8600// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8601// for more information on using Contexts. 8602func (c *WAFRegional) UpdateRegexPatternSetWithContext(ctx aws.Context, input *waf.UpdateRegexPatternSetInput, opts ...request.Option) (*waf.UpdateRegexPatternSetOutput, error) { 8603 req, out := c.UpdateRegexPatternSetRequest(input) 8604 req.SetContext(ctx) 8605 req.ApplyOptions(opts...) 8606 return out, req.Send() 8607} 8608 8609const opUpdateRule = "UpdateRule" 8610 8611// UpdateRuleRequest generates a "aws/request.Request" representing the 8612// client's request for the UpdateRule operation. The "output" return 8613// value will be populated with the request's response once the request completes 8614// successfully. 8615// 8616// Use "Send" method on the returned Request to send the API call to the service. 8617// the "output" return value is not valid until after Send returns without error. 8618// 8619// See UpdateRule for more information on using the UpdateRule 8620// API call, and error handling. 8621// 8622// This method is useful when you want to inject custom logic or configuration 8623// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8624// 8625// 8626// // Example sending a request using the UpdateRuleRequest method. 8627// req, resp := client.UpdateRuleRequest(params) 8628// 8629// err := req.Send() 8630// if err == nil { // resp is now filled 8631// fmt.Println(resp) 8632// } 8633// 8634// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule 8635func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *request.Request, output *waf.UpdateRuleOutput) { 8636 op := &request.Operation{ 8637 Name: opUpdateRule, 8638 HTTPMethod: "POST", 8639 HTTPPath: "/", 8640 } 8641 8642 if input == nil { 8643 input = &waf.UpdateRuleInput{} 8644 } 8645 8646 output = &waf.UpdateRuleOutput{} 8647 req = c.newRequest(op, input, output) 8648 return 8649} 8650 8651// UpdateRule API operation for AWS WAF Regional. 8652// 8653// Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies 8654// a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests 8655// that you want to allow, block, or count. If you add more than one predicate 8656// to a Rule, a request must match all of the specifications to be allowed, 8657// blocked, or counted. For example, suppose that you add the following to a 8658// Rule: 8659// 8660// * A ByteMatchSet that matches the value BadBot in the User-Agent header 8661// 8662// * An IPSet that matches the IP address 192.0.2.44 8663// 8664// You then add the Rule to a WebACL and specify that you want to block requests 8665// that satisfy the Rule. For a request to be blocked, the User-Agent header 8666// in the request must contain the value BadBot and the request must originate 8667// from the IP address 192.0.2.44. 8668// 8669// To create and configure a Rule, perform the following steps: 8670// 8671// Create and update the predicates that you want to include in the Rule. 8672// 8673// Create the Rule. See CreateRule. 8674// 8675// Use GetChangeToken to get the change token that you provide in the ChangeToken 8676// parameter of an UpdateRule request. 8677// 8678// Submit an UpdateRule request to add predicates to the Rule. 8679// 8680// Create and update a WebACL that contains the Rule. See CreateWebACL. 8681// 8682// If you want to replace one ByteMatchSet or IPSet with another, you delete 8683// the existing one and add the new one. 8684// 8685// For more information about how to use the AWS WAF API to allow or block HTTP 8686// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8687// 8688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8689// with awserr.Error's Code and Message methods to get detailed information about 8690// the error. 8691// 8692// See the AWS API reference guide for AWS WAF Regional's 8693// API operation UpdateRule for usage and error information. 8694// 8695// Returned Error Codes: 8696// * ErrCodeWAFStaleDataException "WAFStaleDataException" 8697// The operation failed because you tried to create, update, or delete an object 8698// by using a change token that has already been used. 8699// 8700// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 8701// The operation failed because of a system problem, even though the request 8702// was valid. Retry your request. 8703// 8704// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 8705// The operation failed because you tried to create, update, or delete an object 8706// by using an invalid account identifier. 8707// 8708// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 8709// The operation failed because there was nothing to do. For example: 8710// 8711// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8712// specified WebACL. 8713// 8714// * You tried to remove an IP address from an IPSet, but the IP address 8715// isn't in the specified IPSet. 8716// 8717// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8718// isn't in the specified WebACL. 8719// 8720// * You tried to add a Rule to a WebACL, but the Rule already exists in 8721// the specified WebACL. 8722// 8723// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8724// already exists in the specified WebACL. 8725// 8726// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 8727// The operation failed because AWS WAF didn't recognize a parameter in the 8728// request. For example: 8729// 8730// * You specified an invalid parameter name. 8731// 8732// * You specified an invalid value. 8733// 8734// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8735// using an action other than INSERT or DELETE. 8736// 8737// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8738// BLOCK, or COUNT. 8739// 8740// * You tried to create a RateBasedRule with a RateKey value other than 8741// IP. 8742// 8743// * You tried to update a WebACL with a WafAction Type other than ALLOW, 8744// BLOCK, or COUNT. 8745// 8746// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8747// HEADER, METHOD, QUERY_STRING, URI, or BODY. 8748// 8749// * You tried to update a ByteMatchSet with a Field of HEADER but no value 8750// for Data. 8751// 8752// * Your request references an ARN that is malformed, or corresponds to 8753// a resource with which a web ACL cannot be associated. 8754// 8755// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8756// The operation failed because you tried to add an object to or delete an object 8757// from another object that doesn't exist. For example: 8758// 8759// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8760// exist. 8761// 8762// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8763// that doesn't exist. 8764// 8765// * You tried to add an IP address to or delete an IP address from an IPSet 8766// that doesn't exist. 8767// 8768// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8769// a ByteMatchSet that doesn't exist. 8770// 8771// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8772// The operation failed because the referenced object doesn't exist. 8773// 8774// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 8775// The operation failed because you tried to delete an object that is still 8776// in use. For example: 8777// 8778// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8779// 8780// * You tried to delete a Rule that is still referenced by a WebACL. 8781// 8782// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8783// The operation exceeds a resource limit, for example, the maximum number of 8784// WebACL objects that you can create for an AWS account. For more information, 8785// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8786// in the AWS WAF Developer Guide. 8787// 8788// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule 8789func (c *WAFRegional) UpdateRule(input *waf.UpdateRuleInput) (*waf.UpdateRuleOutput, error) { 8790 req, out := c.UpdateRuleRequest(input) 8791 return out, req.Send() 8792} 8793 8794// UpdateRuleWithContext is the same as UpdateRule with the addition of 8795// the ability to pass a context and additional request options. 8796// 8797// See UpdateRule for details on how to use this API operation. 8798// 8799// The context must be non-nil and will be used for request cancellation. If 8800// the context is nil a panic will occur. In the future the SDK may create 8801// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8802// for more information on using Contexts. 8803func (c *WAFRegional) UpdateRuleWithContext(ctx aws.Context, input *waf.UpdateRuleInput, opts ...request.Option) (*waf.UpdateRuleOutput, error) { 8804 req, out := c.UpdateRuleRequest(input) 8805 req.SetContext(ctx) 8806 req.ApplyOptions(opts...) 8807 return out, req.Send() 8808} 8809 8810const opUpdateRuleGroup = "UpdateRuleGroup" 8811 8812// UpdateRuleGroupRequest generates a "aws/request.Request" representing the 8813// client's request for the UpdateRuleGroup operation. The "output" return 8814// value will be populated with the request's response once the request completes 8815// successfully. 8816// 8817// Use "Send" method on the returned Request to send the API call to the service. 8818// the "output" return value is not valid until after Send returns without error. 8819// 8820// See UpdateRuleGroup for more information on using the UpdateRuleGroup 8821// API call, and error handling. 8822// 8823// This method is useful when you want to inject custom logic or configuration 8824// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8825// 8826// 8827// // Example sending a request using the UpdateRuleGroupRequest method. 8828// req, resp := client.UpdateRuleGroupRequest(params) 8829// 8830// err := req.Send() 8831// if err == nil { // resp is now filled 8832// fmt.Println(resp) 8833// } 8834// 8835// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup 8836func (c *WAFRegional) UpdateRuleGroupRequest(input *waf.UpdateRuleGroupInput) (req *request.Request, output *waf.UpdateRuleGroupOutput) { 8837 op := &request.Operation{ 8838 Name: opUpdateRuleGroup, 8839 HTTPMethod: "POST", 8840 HTTPPath: "/", 8841 } 8842 8843 if input == nil { 8844 input = &waf.UpdateRuleGroupInput{} 8845 } 8846 8847 output = &waf.UpdateRuleGroupOutput{} 8848 req = c.newRequest(op, input, output) 8849 return 8850} 8851 8852// UpdateRuleGroup API operation for AWS WAF Regional. 8853// 8854// Inserts or deletes ActivatedRule objects in a RuleGroup. 8855// 8856// You can only insert REGULAR rules into a rule group. 8857// 8858// You can have a maximum of ten rules per rule group. 8859// 8860// To create and configure a RuleGroup, perform the following steps: 8861// 8862// Create and update the Rules that you want to include in the RuleGroup. See 8863// CreateRule. 8864// 8865// Use GetChangeToken to get the change token that you provide in the ChangeToken 8866// parameter of an UpdateRuleGroup request. 8867// 8868// Submit an UpdateRuleGroup request to add Rules to the RuleGroup. 8869// 8870// Create and update a WebACL that contains the RuleGroup. See CreateWebACL. 8871// 8872// If you want to replace one Rule with another, you delete the existing one 8873// and add the new one. 8874// 8875// For more information about how to use the AWS WAF API to allow or block HTTP 8876// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8877// 8878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8879// with awserr.Error's Code and Message methods to get detailed information about 8880// the error. 8881// 8882// See the AWS API reference guide for AWS WAF Regional's 8883// API operation UpdateRuleGroup for usage and error information. 8884// 8885// Returned Error Codes: 8886// * ErrCodeWAFStaleDataException "WAFStaleDataException" 8887// The operation failed because you tried to create, update, or delete an object 8888// by using a change token that has already been used. 8889// 8890// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 8891// The operation failed because of a system problem, even though the request 8892// was valid. Retry your request. 8893// 8894// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 8895// The operation failed because you tried to add an object to or delete an object 8896// from another object that doesn't exist. For example: 8897// 8898// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8899// exist. 8900// 8901// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8902// that doesn't exist. 8903// 8904// * You tried to add an IP address to or delete an IP address from an IPSet 8905// that doesn't exist. 8906// 8907// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8908// a ByteMatchSet that doesn't exist. 8909// 8910// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 8911// The operation failed because the referenced object doesn't exist. 8912// 8913// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 8914// The operation failed because there was nothing to do. For example: 8915// 8916// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8917// specified WebACL. 8918// 8919// * You tried to remove an IP address from an IPSet, but the IP address 8920// isn't in the specified IPSet. 8921// 8922// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8923// isn't in the specified WebACL. 8924// 8925// * You tried to add a Rule to a WebACL, but the Rule already exists in 8926// the specified WebACL. 8927// 8928// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8929// already exists in the specified WebACL. 8930// 8931// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 8932// The operation exceeds a resource limit, for example, the maximum number of 8933// WebACL objects that you can create for an AWS account. For more information, 8934// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8935// in the AWS WAF Developer Guide. 8936// 8937// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 8938// The operation failed because AWS WAF didn't recognize a parameter in the 8939// request. For example: 8940// 8941// * You specified an invalid parameter name. 8942// 8943// * You specified an invalid value. 8944// 8945// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8946// using an action other than INSERT or DELETE. 8947// 8948// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8949// BLOCK, or COUNT. 8950// 8951// * You tried to create a RateBasedRule with a RateKey value other than 8952// IP. 8953// 8954// * You tried to update a WebACL with a WafAction Type other than ALLOW, 8955// BLOCK, or COUNT. 8956// 8957// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8958// HEADER, METHOD, QUERY_STRING, URI, or BODY. 8959// 8960// * You tried to update a ByteMatchSet with a Field of HEADER but no value 8961// for Data. 8962// 8963// * Your request references an ARN that is malformed, or corresponds to 8964// a resource with which a web ACL cannot be associated. 8965// 8966// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup 8967func (c *WAFRegional) UpdateRuleGroup(input *waf.UpdateRuleGroupInput) (*waf.UpdateRuleGroupOutput, error) { 8968 req, out := c.UpdateRuleGroupRequest(input) 8969 return out, req.Send() 8970} 8971 8972// UpdateRuleGroupWithContext is the same as UpdateRuleGroup with the addition of 8973// the ability to pass a context and additional request options. 8974// 8975// See UpdateRuleGroup for details on how to use this API operation. 8976// 8977// The context must be non-nil and will be used for request cancellation. If 8978// the context is nil a panic will occur. In the future the SDK may create 8979// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8980// for more information on using Contexts. 8981func (c *WAFRegional) UpdateRuleGroupWithContext(ctx aws.Context, input *waf.UpdateRuleGroupInput, opts ...request.Option) (*waf.UpdateRuleGroupOutput, error) { 8982 req, out := c.UpdateRuleGroupRequest(input) 8983 req.SetContext(ctx) 8984 req.ApplyOptions(opts...) 8985 return out, req.Send() 8986} 8987 8988const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet" 8989 8990// UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the 8991// client's request for the UpdateSizeConstraintSet operation. The "output" return 8992// value will be populated with the request's response once the request completes 8993// successfully. 8994// 8995// Use "Send" method on the returned Request to send the API call to the service. 8996// the "output" return value is not valid until after Send returns without error. 8997// 8998// See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet 8999// API call, and error handling. 9000// 9001// This method is useful when you want to inject custom logic or configuration 9002// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9003// 9004// 9005// // Example sending a request using the UpdateSizeConstraintSetRequest method. 9006// req, resp := client.UpdateSizeConstraintSetRequest(params) 9007// 9008// err := req.Send() 9009// if err == nil { // resp is now filled 9010// fmt.Println(resp) 9011// } 9012// 9013// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet 9014func (c *WAFRegional) UpdateSizeConstraintSetRequest(input *waf.UpdateSizeConstraintSetInput) (req *request.Request, output *waf.UpdateSizeConstraintSetOutput) { 9015 op := &request.Operation{ 9016 Name: opUpdateSizeConstraintSet, 9017 HTTPMethod: "POST", 9018 HTTPPath: "/", 9019 } 9020 9021 if input == nil { 9022 input = &waf.UpdateSizeConstraintSetInput{} 9023 } 9024 9025 output = &waf.UpdateSizeConstraintSetOutput{} 9026 req = c.newRequest(op, input, output) 9027 return 9028} 9029 9030// UpdateSizeConstraintSet API operation for AWS WAF Regional. 9031// 9032// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. 9033// For each SizeConstraint object, you specify the following values: 9034// 9035// * Whether to insert or delete the object from the array. If you want to 9036// change a SizeConstraintSetUpdate object, you delete the existing object 9037// and add a new one. 9038// 9039// * The part of a web request that you want AWS WAF to evaluate, such as 9040// the length of a query string or the length of the User-Agent header. 9041// 9042// * Whether to perform any transformations on the request, such as converting 9043// it to lowercase, before checking its length. Note that transformations 9044// of the request body are not supported because the AWS resource forwards 9045// only the first 8192 bytes of your request to AWS WAF. You can only specify 9046// a single type of TextTransformation. 9047// 9048// * A ComparisonOperator used for evaluating the selected part of the request 9049// against the specified Size, such as equals, greater than, less than, and 9050// so on. 9051// 9052// * The length, in bytes, that you want AWS WAF to watch for in selected 9053// part of the request. The length is computed after applying the transformation. 9054// 9055// For example, you can add a SizeConstraintSetUpdate object that matches web 9056// requests in which the length of the User-Agent header is greater than 100 9057// bytes. You can then configure AWS WAF to block those requests. 9058// 9059// To create and configure a SizeConstraintSet, perform the following steps: 9060// 9061// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. 9062// 9063// Use GetChangeToken to get the change token that you provide in the ChangeToken 9064// parameter of an UpdateSizeConstraintSet request. 9065// 9066// Submit an UpdateSizeConstraintSet request to specify the part of the request 9067// that you want AWS WAF to inspect (for example, the header or the URI) and 9068// the value that you want AWS WAF to watch for. 9069// 9070// For more information about how to use the AWS WAF API to allow or block HTTP 9071// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9072// 9073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9074// with awserr.Error's Code and Message methods to get detailed information about 9075// the error. 9076// 9077// See the AWS API reference guide for AWS WAF Regional's 9078// API operation UpdateSizeConstraintSet for usage and error information. 9079// 9080// Returned Error Codes: 9081// * ErrCodeWAFStaleDataException "WAFStaleDataException" 9082// The operation failed because you tried to create, update, or delete an object 9083// by using a change token that has already been used. 9084// 9085// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 9086// The operation failed because of a system problem, even though the request 9087// was valid. Retry your request. 9088// 9089// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 9090// The operation failed because you tried to create, update, or delete an object 9091// by using an invalid account identifier. 9092// 9093// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 9094// The operation failed because there was nothing to do. For example: 9095// 9096// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9097// specified WebACL. 9098// 9099// * You tried to remove an IP address from an IPSet, but the IP address 9100// isn't in the specified IPSet. 9101// 9102// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9103// isn't in the specified WebACL. 9104// 9105// * You tried to add a Rule to a WebACL, but the Rule already exists in 9106// the specified WebACL. 9107// 9108// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9109// already exists in the specified WebACL. 9110// 9111// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 9112// The operation failed because AWS WAF didn't recognize a parameter in the 9113// request. For example: 9114// 9115// * You specified an invalid parameter name. 9116// 9117// * You specified an invalid value. 9118// 9119// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9120// using an action other than INSERT or DELETE. 9121// 9122// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9123// BLOCK, or COUNT. 9124// 9125// * You tried to create a RateBasedRule with a RateKey value other than 9126// IP. 9127// 9128// * You tried to update a WebACL with a WafAction Type other than ALLOW, 9129// BLOCK, or COUNT. 9130// 9131// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9132// HEADER, METHOD, QUERY_STRING, URI, or BODY. 9133// 9134// * You tried to update a ByteMatchSet with a Field of HEADER but no value 9135// for Data. 9136// 9137// * Your request references an ARN that is malformed, or corresponds to 9138// a resource with which a web ACL cannot be associated. 9139// 9140// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 9141// The operation failed because you tried to add an object to or delete an object 9142// from another object that doesn't exist. For example: 9143// 9144// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9145// exist. 9146// 9147// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9148// that doesn't exist. 9149// 9150// * You tried to add an IP address to or delete an IP address from an IPSet 9151// that doesn't exist. 9152// 9153// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9154// a ByteMatchSet that doesn't exist. 9155// 9156// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 9157// The operation failed because the referenced object doesn't exist. 9158// 9159// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 9160// The operation failed because you tried to delete an object that is still 9161// in use. For example: 9162// 9163// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 9164// 9165// * You tried to delete a Rule that is still referenced by a WebACL. 9166// 9167// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 9168// The operation exceeds a resource limit, for example, the maximum number of 9169// WebACL objects that you can create for an AWS account. For more information, 9170// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9171// in the AWS WAF Developer Guide. 9172// 9173// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet 9174func (c *WAFRegional) UpdateSizeConstraintSet(input *waf.UpdateSizeConstraintSetInput) (*waf.UpdateSizeConstraintSetOutput, error) { 9175 req, out := c.UpdateSizeConstraintSetRequest(input) 9176 return out, req.Send() 9177} 9178 9179// UpdateSizeConstraintSetWithContext is the same as UpdateSizeConstraintSet with the addition of 9180// the ability to pass a context and additional request options. 9181// 9182// See UpdateSizeConstraintSet for details on how to use this API operation. 9183// 9184// The context must be non-nil and will be used for request cancellation. If 9185// the context is nil a panic will occur. In the future the SDK may create 9186// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9187// for more information on using Contexts. 9188func (c *WAFRegional) UpdateSizeConstraintSetWithContext(ctx aws.Context, input *waf.UpdateSizeConstraintSetInput, opts ...request.Option) (*waf.UpdateSizeConstraintSetOutput, error) { 9189 req, out := c.UpdateSizeConstraintSetRequest(input) 9190 req.SetContext(ctx) 9191 req.ApplyOptions(opts...) 9192 return out, req.Send() 9193} 9194 9195const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet" 9196 9197// UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 9198// client's request for the UpdateSqlInjectionMatchSet operation. The "output" return 9199// value will be populated with the request's response once the request completes 9200// successfully. 9201// 9202// Use "Send" method on the returned Request to send the API call to the service. 9203// the "output" return value is not valid until after Send returns without error. 9204// 9205// See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet 9206// API call, and error handling. 9207// 9208// This method is useful when you want to inject custom logic or configuration 9209// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9210// 9211// 9212// // Example sending a request using the UpdateSqlInjectionMatchSetRequest method. 9213// req, resp := client.UpdateSqlInjectionMatchSetRequest(params) 9214// 9215// err := req.Send() 9216// if err == nil { // resp is now filled 9217// fmt.Println(resp) 9218// } 9219// 9220// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet 9221func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInjectionMatchSetInput) (req *request.Request, output *waf.UpdateSqlInjectionMatchSetOutput) { 9222 op := &request.Operation{ 9223 Name: opUpdateSqlInjectionMatchSet, 9224 HTTPMethod: "POST", 9225 HTTPPath: "/", 9226 } 9227 9228 if input == nil { 9229 input = &waf.UpdateSqlInjectionMatchSetInput{} 9230 } 9231 9232 output = &waf.UpdateSqlInjectionMatchSetOutput{} 9233 req = c.newRequest(op, input, output) 9234 return 9235} 9236 9237// UpdateSqlInjectionMatchSet API operation for AWS WAF Regional. 9238// 9239// Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. 9240// For each SqlInjectionMatchTuple object, you specify the following values: 9241// 9242// * Action: Whether to insert the object into or delete the object from 9243// the array. To change a SqlInjectionMatchTuple, you delete the existing 9244// object and add a new one. 9245// 9246// * FieldToMatch: The part of web requests that you want AWS WAF to inspect 9247// and, if you want AWS WAF to inspect a header or custom query parameter, 9248// the name of the header or parameter. 9249// 9250// * TextTransformation: Which text transformation, if any, to perform on 9251// the web request before inspecting the request for snippets of malicious 9252// SQL code. You can only specify a single type of TextTransformation. 9253// 9254// You use SqlInjectionMatchSet objects to specify which CloudFront requests 9255// that you want to allow, block, or count. For example, if you're receiving 9256// requests that contain snippets of SQL code in the query string and you want 9257// to block the requests, you can create a SqlInjectionMatchSet with the applicable 9258// settings, and then configure AWS WAF to block the requests. 9259// 9260// To create and configure a SqlInjectionMatchSet, perform the following steps: 9261// 9262// Submit a CreateSqlInjectionMatchSet request. 9263// 9264// Use GetChangeToken to get the change token that you provide in the ChangeToken 9265// parameter of an UpdateIPSet request. 9266// 9267// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web 9268// requests that you want AWS WAF to inspect for snippets of SQL code. 9269// 9270// For more information about how to use the AWS WAF API to allow or block HTTP 9271// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9272// 9273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9274// with awserr.Error's Code and Message methods to get detailed information about 9275// the error. 9276// 9277// See the AWS API reference guide for AWS WAF Regional's 9278// API operation UpdateSqlInjectionMatchSet for usage and error information. 9279// 9280// Returned Error Codes: 9281// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 9282// The operation failed because of a system problem, even though the request 9283// was valid. Retry your request. 9284// 9285// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 9286// The operation failed because you tried to create, update, or delete an object 9287// by using an invalid account identifier. 9288// 9289// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 9290// The operation failed because there was nothing to do. For example: 9291// 9292// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9293// specified WebACL. 9294// 9295// * You tried to remove an IP address from an IPSet, but the IP address 9296// isn't in the specified IPSet. 9297// 9298// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9299// isn't in the specified WebACL. 9300// 9301// * You tried to add a Rule to a WebACL, but the Rule already exists in 9302// the specified WebACL. 9303// 9304// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9305// already exists in the specified WebACL. 9306// 9307// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 9308// The operation failed because AWS WAF didn't recognize a parameter in the 9309// request. For example: 9310// 9311// * You specified an invalid parameter name. 9312// 9313// * You specified an invalid value. 9314// 9315// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9316// using an action other than INSERT or DELETE. 9317// 9318// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9319// BLOCK, or COUNT. 9320// 9321// * You tried to create a RateBasedRule with a RateKey value other than 9322// IP. 9323// 9324// * You tried to update a WebACL with a WafAction Type other than ALLOW, 9325// BLOCK, or COUNT. 9326// 9327// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9328// HEADER, METHOD, QUERY_STRING, URI, or BODY. 9329// 9330// * You tried to update a ByteMatchSet with a Field of HEADER but no value 9331// for Data. 9332// 9333// * Your request references an ARN that is malformed, or corresponds to 9334// a resource with which a web ACL cannot be associated. 9335// 9336// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 9337// The operation failed because you tried to add an object to or delete an object 9338// from another object that doesn't exist. For example: 9339// 9340// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9341// exist. 9342// 9343// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9344// that doesn't exist. 9345// 9346// * You tried to add an IP address to or delete an IP address from an IPSet 9347// that doesn't exist. 9348// 9349// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9350// a ByteMatchSet that doesn't exist. 9351// 9352// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 9353// The operation failed because the referenced object doesn't exist. 9354// 9355// * ErrCodeWAFStaleDataException "WAFStaleDataException" 9356// The operation failed because you tried to create, update, or delete an object 9357// by using a change token that has already been used. 9358// 9359// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 9360// The operation exceeds a resource limit, for example, the maximum number of 9361// WebACL objects that you can create for an AWS account. For more information, 9362// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9363// in the AWS WAF Developer Guide. 9364// 9365// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet 9366func (c *WAFRegional) UpdateSqlInjectionMatchSet(input *waf.UpdateSqlInjectionMatchSetInput) (*waf.UpdateSqlInjectionMatchSetOutput, error) { 9367 req, out := c.UpdateSqlInjectionMatchSetRequest(input) 9368 return out, req.Send() 9369} 9370 9371// UpdateSqlInjectionMatchSetWithContext is the same as UpdateSqlInjectionMatchSet with the addition of 9372// the ability to pass a context and additional request options. 9373// 9374// See UpdateSqlInjectionMatchSet for details on how to use this API operation. 9375// 9376// The context must be non-nil and will be used for request cancellation. If 9377// the context is nil a panic will occur. In the future the SDK may create 9378// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9379// for more information on using Contexts. 9380func (c *WAFRegional) UpdateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.UpdateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.UpdateSqlInjectionMatchSetOutput, error) { 9381 req, out := c.UpdateSqlInjectionMatchSetRequest(input) 9382 req.SetContext(ctx) 9383 req.ApplyOptions(opts...) 9384 return out, req.Send() 9385} 9386 9387const opUpdateWebACL = "UpdateWebACL" 9388 9389// UpdateWebACLRequest generates a "aws/request.Request" representing the 9390// client's request for the UpdateWebACL operation. The "output" return 9391// value will be populated with the request's response once the request completes 9392// successfully. 9393// 9394// Use "Send" method on the returned Request to send the API call to the service. 9395// the "output" return value is not valid until after Send returns without error. 9396// 9397// See UpdateWebACL for more information on using the UpdateWebACL 9398// API call, and error handling. 9399// 9400// This method is useful when you want to inject custom logic or configuration 9401// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9402// 9403// 9404// // Example sending a request using the UpdateWebACLRequest method. 9405// req, resp := client.UpdateWebACLRequest(params) 9406// 9407// err := req.Send() 9408// if err == nil { // resp is now filled 9409// fmt.Println(resp) 9410// } 9411// 9412// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL 9413func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *request.Request, output *waf.UpdateWebACLOutput) { 9414 op := &request.Operation{ 9415 Name: opUpdateWebACL, 9416 HTTPMethod: "POST", 9417 HTTPPath: "/", 9418 } 9419 9420 if input == nil { 9421 input = &waf.UpdateWebACLInput{} 9422 } 9423 9424 output = &waf.UpdateWebACLOutput{} 9425 req = c.newRequest(op, input, output) 9426 return 9427} 9428 9429// UpdateWebACL API operation for AWS WAF Regional. 9430// 9431// Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies 9432// web requests that you want to allow, block, or count. When you update a WebACL, 9433// you specify the following values: 9434// 9435// * A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs 9436// the default action if a request doesn't match the criteria in any of the 9437// Rules in a WebACL. 9438// 9439// * The Rules that you want to add or delete. If you want to replace one 9440// Rule with another, you delete the existing Rule and add the new one. 9441// 9442// * For each Rule, whether you want AWS WAF to allow requests, block requests, 9443// or count requests that match the conditions in the Rule. 9444// 9445// * The order in which you want AWS WAF to evaluate the Rules in a WebACL. 9446// If you add more than one Rule to a WebACL, AWS WAF evaluates each request 9447// against the Rules in order based on the value of Priority. (The Rule that 9448// has the lowest value for Priority is evaluated first.) When a web request 9449// matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, 9450// AWS WAF immediately takes the corresponding action, allow or block, and 9451// doesn't evaluate the request against the remaining Rules in the WebACL, 9452// if any. 9453// 9454// To create and configure a WebACL, perform the following steps: 9455// 9456// Create and update the predicates that you want to include in Rules. For more 9457// information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, 9458// CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. 9459// 9460// Create and update the Rules that you want to include in the WebACL. For more 9461// information, see CreateRule and UpdateRule. 9462// 9463// Create a WebACL. See CreateWebACL. 9464// 9465// Use GetChangeToken to get the change token that you provide in the ChangeToken 9466// parameter of an UpdateWebACL request. 9467// 9468// Submit an UpdateWebACL request to specify the Rules that you want to include 9469// in the WebACL, to specify the default action, and to associate the WebACL 9470// with a CloudFront distribution. 9471// 9472// The ActivatedRule can be a rule group. If you specify a rule group as your 9473// ActivatedRule, you can exclude specific rules from that rule group. 9474// 9475// If you already have a rule group associated with a web ACL and want to submit 9476// an UpdateWebACL request to exclude certain rules from that rule group, you 9477// must first remove the rule group from the web ACL, the re-insert it again, 9478// specifying the excluded rules. For details, see ActivatedRule$ExcludedRules. 9479// 9480// Be aware that if you try to add a RATE_BASED rule to a web ACL without setting 9481// the rule type when first creating the rule, the UpdateWebACL request will 9482// fail because the request tries to add a REGULAR rule (the default rule type) 9483// with the specified ID, which does not exist. 9484// 9485// For more information about how to use the AWS WAF API to allow or block HTTP 9486// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9487// 9488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9489// with awserr.Error's Code and Message methods to get detailed information about 9490// the error. 9491// 9492// See the AWS API reference guide for AWS WAF Regional's 9493// API operation UpdateWebACL for usage and error information. 9494// 9495// Returned Error Codes: 9496// * ErrCodeWAFStaleDataException "WAFStaleDataException" 9497// The operation failed because you tried to create, update, or delete an object 9498// by using a change token that has already been used. 9499// 9500// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 9501// The operation failed because of a system problem, even though the request 9502// was valid. Retry your request. 9503// 9504// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 9505// The operation failed because you tried to create, update, or delete an object 9506// by using an invalid account identifier. 9507// 9508// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 9509// The operation failed because there was nothing to do. For example: 9510// 9511// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9512// specified WebACL. 9513// 9514// * You tried to remove an IP address from an IPSet, but the IP address 9515// isn't in the specified IPSet. 9516// 9517// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9518// isn't in the specified WebACL. 9519// 9520// * You tried to add a Rule to a WebACL, but the Rule already exists in 9521// the specified WebACL. 9522// 9523// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9524// already exists in the specified WebACL. 9525// 9526// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 9527// The operation failed because AWS WAF didn't recognize a parameter in the 9528// request. For example: 9529// 9530// * You specified an invalid parameter name. 9531// 9532// * You specified an invalid value. 9533// 9534// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9535// using an action other than INSERT or DELETE. 9536// 9537// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9538// BLOCK, or COUNT. 9539// 9540// * You tried to create a RateBasedRule with a RateKey value other than 9541// IP. 9542// 9543// * You tried to update a WebACL with a WafAction Type other than ALLOW, 9544// BLOCK, or COUNT. 9545// 9546// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9547// HEADER, METHOD, QUERY_STRING, URI, or BODY. 9548// 9549// * You tried to update a ByteMatchSet with a Field of HEADER but no value 9550// for Data. 9551// 9552// * Your request references an ARN that is malformed, or corresponds to 9553// a resource with which a web ACL cannot be associated. 9554// 9555// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 9556// The operation failed because you tried to add an object to or delete an object 9557// from another object that doesn't exist. For example: 9558// 9559// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9560// exist. 9561// 9562// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9563// that doesn't exist. 9564// 9565// * You tried to add an IP address to or delete an IP address from an IPSet 9566// that doesn't exist. 9567// 9568// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9569// a ByteMatchSet that doesn't exist. 9570// 9571// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 9572// The operation failed because the referenced object doesn't exist. 9573// 9574// * ErrCodeWAFReferencedItemException "WAFReferencedItemException" 9575// The operation failed because you tried to delete an object that is still 9576// in use. For example: 9577// 9578// * You tried to delete a ByteMatchSet that is still referenced by a Rule. 9579// 9580// * You tried to delete a Rule that is still referenced by a WebACL. 9581// 9582// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 9583// The operation exceeds a resource limit, for example, the maximum number of 9584// WebACL objects that you can create for an AWS account. For more information, 9585// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9586// in the AWS WAF Developer Guide. 9587// 9588// * ErrCodeWAFSubscriptionNotFoundException "WAFSubscriptionNotFoundException" 9589// The specified subscription does not exist. 9590// 9591// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL 9592func (c *WAFRegional) UpdateWebACL(input *waf.UpdateWebACLInput) (*waf.UpdateWebACLOutput, error) { 9593 req, out := c.UpdateWebACLRequest(input) 9594 return out, req.Send() 9595} 9596 9597// UpdateWebACLWithContext is the same as UpdateWebACL with the addition of 9598// the ability to pass a context and additional request options. 9599// 9600// See UpdateWebACL for details on how to use this API operation. 9601// 9602// The context must be non-nil and will be used for request cancellation. If 9603// the context is nil a panic will occur. In the future the SDK may create 9604// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9605// for more information on using Contexts. 9606func (c *WAFRegional) UpdateWebACLWithContext(ctx aws.Context, input *waf.UpdateWebACLInput, opts ...request.Option) (*waf.UpdateWebACLOutput, error) { 9607 req, out := c.UpdateWebACLRequest(input) 9608 req.SetContext(ctx) 9609 req.ApplyOptions(opts...) 9610 return out, req.Send() 9611} 9612 9613const opUpdateXssMatchSet = "UpdateXssMatchSet" 9614 9615// UpdateXssMatchSetRequest generates a "aws/request.Request" representing the 9616// client's request for the UpdateXssMatchSet operation. The "output" return 9617// value will be populated with the request's response once the request completes 9618// successfully. 9619// 9620// Use "Send" method on the returned Request to send the API call to the service. 9621// the "output" return value is not valid until after Send returns without error. 9622// 9623// See UpdateXssMatchSet for more information on using the UpdateXssMatchSet 9624// API call, and error handling. 9625// 9626// This method is useful when you want to inject custom logic or configuration 9627// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9628// 9629// 9630// // Example sending a request using the UpdateXssMatchSetRequest method. 9631// req, resp := client.UpdateXssMatchSetRequest(params) 9632// 9633// err := req.Send() 9634// if err == nil { // resp is now filled 9635// fmt.Println(resp) 9636// } 9637// 9638// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet 9639func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput) (req *request.Request, output *waf.UpdateXssMatchSetOutput) { 9640 op := &request.Operation{ 9641 Name: opUpdateXssMatchSet, 9642 HTTPMethod: "POST", 9643 HTTPPath: "/", 9644 } 9645 9646 if input == nil { 9647 input = &waf.UpdateXssMatchSetInput{} 9648 } 9649 9650 output = &waf.UpdateXssMatchSetOutput{} 9651 req = c.newRequest(op, input, output) 9652 return 9653} 9654 9655// UpdateXssMatchSet API operation for AWS WAF Regional. 9656// 9657// Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For 9658// each XssMatchTuple object, you specify the following values: 9659// 9660// * Action: Whether to insert the object into or delete the object from 9661// the array. To change an XssMatchTuple, you delete the existing object 9662// and add a new one. 9663// 9664// * FieldToMatch: The part of web requests that you want AWS WAF to inspect 9665// and, if you want AWS WAF to inspect a header or custom query parameter, 9666// the name of the header or parameter. 9667// 9668// * TextTransformation: Which text transformation, if any, to perform on 9669// the web request before inspecting the request for cross-site scripting 9670// attacks. You can only specify a single type of TextTransformation. 9671// 9672// You use XssMatchSet objects to specify which CloudFront requests that you 9673// want to allow, block, or count. For example, if you're receiving requests 9674// that contain cross-site scripting attacks in the request body and you want 9675// to block the requests, you can create an XssMatchSet with the applicable 9676// settings, and then configure AWS WAF to block the requests. 9677// 9678// To create and configure an XssMatchSet, perform the following steps: 9679// 9680// Submit a CreateXssMatchSet request. 9681// 9682// Use GetChangeToken to get the change token that you provide in the ChangeToken 9683// parameter of an UpdateIPSet request. 9684// 9685// Submit an UpdateXssMatchSet request to specify the parts of web requests 9686// that you want AWS WAF to inspect for cross-site scripting attacks. 9687// 9688// For more information about how to use the AWS WAF API to allow or block HTTP 9689// requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9690// 9691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9692// with awserr.Error's Code and Message methods to get detailed information about 9693// the error. 9694// 9695// See the AWS API reference guide for AWS WAF Regional's 9696// API operation UpdateXssMatchSet for usage and error information. 9697// 9698// Returned Error Codes: 9699// * ErrCodeWAFInternalErrorException "WAFInternalErrorException" 9700// The operation failed because of a system problem, even though the request 9701// was valid. Retry your request. 9702// 9703// * ErrCodeWAFInvalidAccountException "WAFInvalidAccountException" 9704// The operation failed because you tried to create, update, or delete an object 9705// by using an invalid account identifier. 9706// 9707// * ErrCodeWAFInvalidOperationException "WAFInvalidOperationException" 9708// The operation failed because there was nothing to do. For example: 9709// 9710// * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9711// specified WebACL. 9712// 9713// * You tried to remove an IP address from an IPSet, but the IP address 9714// isn't in the specified IPSet. 9715// 9716// * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9717// isn't in the specified WebACL. 9718// 9719// * You tried to add a Rule to a WebACL, but the Rule already exists in 9720// the specified WebACL. 9721// 9722// * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9723// already exists in the specified WebACL. 9724// 9725// * ErrCodeWAFInvalidParameterException "WAFInvalidParameterException" 9726// The operation failed because AWS WAF didn't recognize a parameter in the 9727// request. For example: 9728// 9729// * You specified an invalid parameter name. 9730// 9731// * You specified an invalid value. 9732// 9733// * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9734// using an action other than INSERT or DELETE. 9735// 9736// * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9737// BLOCK, or COUNT. 9738// 9739// * You tried to create a RateBasedRule with a RateKey value other than 9740// IP. 9741// 9742// * You tried to update a WebACL with a WafAction Type other than ALLOW, 9743// BLOCK, or COUNT. 9744// 9745// * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9746// HEADER, METHOD, QUERY_STRING, URI, or BODY. 9747// 9748// * You tried to update a ByteMatchSet with a Field of HEADER but no value 9749// for Data. 9750// 9751// * Your request references an ARN that is malformed, or corresponds to 9752// a resource with which a web ACL cannot be associated. 9753// 9754// * ErrCodeWAFNonexistentContainerException "WAFNonexistentContainerException" 9755// The operation failed because you tried to add an object to or delete an object 9756// from another object that doesn't exist. For example: 9757// 9758// * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9759// exist. 9760// 9761// * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9762// that doesn't exist. 9763// 9764// * You tried to add an IP address to or delete an IP address from an IPSet 9765// that doesn't exist. 9766// 9767// * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9768// a ByteMatchSet that doesn't exist. 9769// 9770// * ErrCodeWAFNonexistentItemException "WAFNonexistentItemException" 9771// The operation failed because the referenced object doesn't exist. 9772// 9773// * ErrCodeWAFStaleDataException "WAFStaleDataException" 9774// The operation failed because you tried to create, update, or delete an object 9775// by using a change token that has already been used. 9776// 9777// * ErrCodeWAFLimitsExceededException "WAFLimitsExceededException" 9778// The operation exceeds a resource limit, for example, the maximum number of 9779// WebACL objects that you can create for an AWS account. For more information, 9780// see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9781// in the AWS WAF Developer Guide. 9782// 9783// See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet 9784func (c *WAFRegional) UpdateXssMatchSet(input *waf.UpdateXssMatchSetInput) (*waf.UpdateXssMatchSetOutput, error) { 9785 req, out := c.UpdateXssMatchSetRequest(input) 9786 return out, req.Send() 9787} 9788 9789// UpdateXssMatchSetWithContext is the same as UpdateXssMatchSet with the addition of 9790// the ability to pass a context and additional request options. 9791// 9792// See UpdateXssMatchSet for details on how to use this API operation. 9793// 9794// The context must be non-nil and will be used for request cancellation. If 9795// the context is nil a panic will occur. In the future the SDK may create 9796// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9797// for more information on using Contexts. 9798func (c *WAFRegional) UpdateXssMatchSetWithContext(ctx aws.Context, input *waf.UpdateXssMatchSetInput, opts ...request.Option) (*waf.UpdateXssMatchSetOutput, error) { 9799 req, out := c.UpdateXssMatchSetRequest(input) 9800 req.SetContext(ctx) 9801 req.ApplyOptions(opts...) 9802 return out, req.Send() 9803} 9804 9805type AssociateWebACLInput struct { 9806 _ struct{} `type:"structure"` 9807 9808 // The ARN (Amazon Resource Name) of the resource to be protected, either an 9809 // application load balancer or Amazon API Gateway stage. 9810 // 9811 // The ARN should be in one of the following formats: 9812 // 9813 // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id 9814 // 9815 // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name 9816 // 9817 // ResourceArn is a required field 9818 ResourceArn *string `min:"1" type:"string" required:"true"` 9819 9820 // A unique identifier (ID) for the web ACL. 9821 // 9822 // WebACLId is a required field 9823 WebACLId *string `min:"1" type:"string" required:"true"` 9824} 9825 9826// String returns the string representation 9827func (s AssociateWebACLInput) String() string { 9828 return awsutil.Prettify(s) 9829} 9830 9831// GoString returns the string representation 9832func (s AssociateWebACLInput) GoString() string { 9833 return s.String() 9834} 9835 9836// Validate inspects the fields of the type to determine if they are valid. 9837func (s *AssociateWebACLInput) Validate() error { 9838 invalidParams := request.ErrInvalidParams{Context: "AssociateWebACLInput"} 9839 if s.ResourceArn == nil { 9840 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9841 } 9842 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9843 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9844 } 9845 if s.WebACLId == nil { 9846 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 9847 } 9848 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 9849 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 9850 } 9851 9852 if invalidParams.Len() > 0 { 9853 return invalidParams 9854 } 9855 return nil 9856} 9857 9858// SetResourceArn sets the ResourceArn field's value. 9859func (s *AssociateWebACLInput) SetResourceArn(v string) *AssociateWebACLInput { 9860 s.ResourceArn = &v 9861 return s 9862} 9863 9864// SetWebACLId sets the WebACLId field's value. 9865func (s *AssociateWebACLInput) SetWebACLId(v string) *AssociateWebACLInput { 9866 s.WebACLId = &v 9867 return s 9868} 9869 9870type AssociateWebACLOutput struct { 9871 _ struct{} `type:"structure"` 9872} 9873 9874// String returns the string representation 9875func (s AssociateWebACLOutput) String() string { 9876 return awsutil.Prettify(s) 9877} 9878 9879// GoString returns the string representation 9880func (s AssociateWebACLOutput) GoString() string { 9881 return s.String() 9882} 9883 9884type DisassociateWebACLInput struct { 9885 _ struct{} `type:"structure"` 9886 9887 // The ARN (Amazon Resource Name) of the resource from which the web ACL is 9888 // being removed, either an application load balancer or Amazon API Gateway 9889 // stage. 9890 // 9891 // The ARN should be in one of the following formats: 9892 // 9893 // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id 9894 // 9895 // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name 9896 // 9897 // ResourceArn is a required field 9898 ResourceArn *string `min:"1" type:"string" required:"true"` 9899} 9900 9901// String returns the string representation 9902func (s DisassociateWebACLInput) String() string { 9903 return awsutil.Prettify(s) 9904} 9905 9906// GoString returns the string representation 9907func (s DisassociateWebACLInput) GoString() string { 9908 return s.String() 9909} 9910 9911// Validate inspects the fields of the type to determine if they are valid. 9912func (s *DisassociateWebACLInput) Validate() error { 9913 invalidParams := request.ErrInvalidParams{Context: "DisassociateWebACLInput"} 9914 if s.ResourceArn == nil { 9915 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9916 } 9917 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9918 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9919 } 9920 9921 if invalidParams.Len() > 0 { 9922 return invalidParams 9923 } 9924 return nil 9925} 9926 9927// SetResourceArn sets the ResourceArn field's value. 9928func (s *DisassociateWebACLInput) SetResourceArn(v string) *DisassociateWebACLInput { 9929 s.ResourceArn = &v 9930 return s 9931} 9932 9933type DisassociateWebACLOutput struct { 9934 _ struct{} `type:"structure"` 9935} 9936 9937// String returns the string representation 9938func (s DisassociateWebACLOutput) String() string { 9939 return awsutil.Prettify(s) 9940} 9941 9942// GoString returns the string representation 9943func (s DisassociateWebACLOutput) GoString() string { 9944 return s.String() 9945} 9946 9947type GetWebACLForResourceInput struct { 9948 _ struct{} `type:"structure"` 9949 9950 // The ARN (Amazon Resource Name) of the resource for which to get the web ACL, 9951 // either an application load balancer or Amazon API Gateway stage. 9952 // 9953 // The ARN should be in one of the following formats: 9954 // 9955 // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id 9956 // 9957 // * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name 9958 // 9959 // ResourceArn is a required field 9960 ResourceArn *string `min:"1" type:"string" required:"true"` 9961} 9962 9963// String returns the string representation 9964func (s GetWebACLForResourceInput) String() string { 9965 return awsutil.Prettify(s) 9966} 9967 9968// GoString returns the string representation 9969func (s GetWebACLForResourceInput) GoString() string { 9970 return s.String() 9971} 9972 9973// Validate inspects the fields of the type to determine if they are valid. 9974func (s *GetWebACLForResourceInput) Validate() error { 9975 invalidParams := request.ErrInvalidParams{Context: "GetWebACLForResourceInput"} 9976 if s.ResourceArn == nil { 9977 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9978 } 9979 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9980 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9981 } 9982 9983 if invalidParams.Len() > 0 { 9984 return invalidParams 9985 } 9986 return nil 9987} 9988 9989// SetResourceArn sets the ResourceArn field's value. 9990func (s *GetWebACLForResourceInput) SetResourceArn(v string) *GetWebACLForResourceInput { 9991 s.ResourceArn = &v 9992 return s 9993} 9994 9995type GetWebACLForResourceOutput struct { 9996 _ struct{} `type:"structure"` 9997 9998 // Information about the web ACL that you specified in the GetWebACLForResource 9999 // request. If there is no associated resource, a null WebACLSummary is returned. 10000 WebACLSummary *waf.WebACLSummary `type:"structure"` 10001} 10002 10003// String returns the string representation 10004func (s GetWebACLForResourceOutput) String() string { 10005 return awsutil.Prettify(s) 10006} 10007 10008// GoString returns the string representation 10009func (s GetWebACLForResourceOutput) GoString() string { 10010 return s.String() 10011} 10012 10013// SetWebACLSummary sets the WebACLSummary field's value. 10014func (s *GetWebACLForResourceOutput) SetWebACLSummary(v *waf.WebACLSummary) *GetWebACLForResourceOutput { 10015 s.WebACLSummary = v 10016 return s 10017} 10018 10019type ListResourcesForWebACLInput struct { 10020 _ struct{} `type:"structure"` 10021 10022 // The type of resource to list, either an application load balancer or Amazon 10023 // API Gateway. 10024 ResourceType *string `type:"string" enum:"ResourceType"` 10025 10026 // The unique identifier (ID) of the web ACL for which to list the associated 10027 // resources. 10028 // 10029 // WebACLId is a required field 10030 WebACLId *string `min:"1" type:"string" required:"true"` 10031} 10032 10033// String returns the string representation 10034func (s ListResourcesForWebACLInput) String() string { 10035 return awsutil.Prettify(s) 10036} 10037 10038// GoString returns the string representation 10039func (s ListResourcesForWebACLInput) GoString() string { 10040 return s.String() 10041} 10042 10043// Validate inspects the fields of the type to determine if they are valid. 10044func (s *ListResourcesForWebACLInput) Validate() error { 10045 invalidParams := request.ErrInvalidParams{Context: "ListResourcesForWebACLInput"} 10046 if s.WebACLId == nil { 10047 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 10048 } 10049 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 10050 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 10051 } 10052 10053 if invalidParams.Len() > 0 { 10054 return invalidParams 10055 } 10056 return nil 10057} 10058 10059// SetResourceType sets the ResourceType field's value. 10060func (s *ListResourcesForWebACLInput) SetResourceType(v string) *ListResourcesForWebACLInput { 10061 s.ResourceType = &v 10062 return s 10063} 10064 10065// SetWebACLId sets the WebACLId field's value. 10066func (s *ListResourcesForWebACLInput) SetWebACLId(v string) *ListResourcesForWebACLInput { 10067 s.WebACLId = &v 10068 return s 10069} 10070 10071type ListResourcesForWebACLOutput struct { 10072 _ struct{} `type:"structure"` 10073 10074 // An array of ARNs (Amazon Resource Names) of the resources associated with 10075 // the specified web ACL. An array with zero elements is returned if there are 10076 // no resources associated with the web ACL. 10077 ResourceArns []*string `type:"list"` 10078} 10079 10080// String returns the string representation 10081func (s ListResourcesForWebACLOutput) String() string { 10082 return awsutil.Prettify(s) 10083} 10084 10085// GoString returns the string representation 10086func (s ListResourcesForWebACLOutput) GoString() string { 10087 return s.String() 10088} 10089 10090// SetResourceArns sets the ResourceArns field's value. 10091func (s *ListResourcesForWebACLOutput) SetResourceArns(v []*string) *ListResourcesForWebACLOutput { 10092 s.ResourceArns = v 10093 return s 10094} 10095 10096const ( 10097 // ChangeActionInsert is a ChangeAction enum value 10098 ChangeActionInsert = "INSERT" 10099 10100 // ChangeActionDelete is a ChangeAction enum value 10101 ChangeActionDelete = "DELETE" 10102) 10103 10104const ( 10105 // ChangeTokenStatusProvisioned is a ChangeTokenStatus enum value 10106 ChangeTokenStatusProvisioned = "PROVISIONED" 10107 10108 // ChangeTokenStatusPending is a ChangeTokenStatus enum value 10109 ChangeTokenStatusPending = "PENDING" 10110 10111 // ChangeTokenStatusInsync is a ChangeTokenStatus enum value 10112 ChangeTokenStatusInsync = "INSYNC" 10113) 10114 10115const ( 10116 // ComparisonOperatorEq is a ComparisonOperator enum value 10117 ComparisonOperatorEq = "EQ" 10118 10119 // ComparisonOperatorNe is a ComparisonOperator enum value 10120 ComparisonOperatorNe = "NE" 10121 10122 // ComparisonOperatorLe is a ComparisonOperator enum value 10123 ComparisonOperatorLe = "LE" 10124 10125 // ComparisonOperatorLt is a ComparisonOperator enum value 10126 ComparisonOperatorLt = "LT" 10127 10128 // ComparisonOperatorGe is a ComparisonOperator enum value 10129 ComparisonOperatorGe = "GE" 10130 10131 // ComparisonOperatorGt is a ComparisonOperator enum value 10132 ComparisonOperatorGt = "GT" 10133) 10134 10135const ( 10136 // GeoMatchConstraintTypeCountry is a GeoMatchConstraintType enum value 10137 GeoMatchConstraintTypeCountry = "Country" 10138) 10139 10140const ( 10141 // GeoMatchConstraintValueAf is a GeoMatchConstraintValue enum value 10142 GeoMatchConstraintValueAf = "AF" 10143 10144 // GeoMatchConstraintValueAx is a GeoMatchConstraintValue enum value 10145 GeoMatchConstraintValueAx = "AX" 10146 10147 // GeoMatchConstraintValueAl is a GeoMatchConstraintValue enum value 10148 GeoMatchConstraintValueAl = "AL" 10149 10150 // GeoMatchConstraintValueDz is a GeoMatchConstraintValue enum value 10151 GeoMatchConstraintValueDz = "DZ" 10152 10153 // GeoMatchConstraintValueAs is a GeoMatchConstraintValue enum value 10154 GeoMatchConstraintValueAs = "AS" 10155 10156 // GeoMatchConstraintValueAd is a GeoMatchConstraintValue enum value 10157 GeoMatchConstraintValueAd = "AD" 10158 10159 // GeoMatchConstraintValueAo is a GeoMatchConstraintValue enum value 10160 GeoMatchConstraintValueAo = "AO" 10161 10162 // GeoMatchConstraintValueAi is a GeoMatchConstraintValue enum value 10163 GeoMatchConstraintValueAi = "AI" 10164 10165 // GeoMatchConstraintValueAq is a GeoMatchConstraintValue enum value 10166 GeoMatchConstraintValueAq = "AQ" 10167 10168 // GeoMatchConstraintValueAg is a GeoMatchConstraintValue enum value 10169 GeoMatchConstraintValueAg = "AG" 10170 10171 // GeoMatchConstraintValueAr is a GeoMatchConstraintValue enum value 10172 GeoMatchConstraintValueAr = "AR" 10173 10174 // GeoMatchConstraintValueAm is a GeoMatchConstraintValue enum value 10175 GeoMatchConstraintValueAm = "AM" 10176 10177 // GeoMatchConstraintValueAw is a GeoMatchConstraintValue enum value 10178 GeoMatchConstraintValueAw = "AW" 10179 10180 // GeoMatchConstraintValueAu is a GeoMatchConstraintValue enum value 10181 GeoMatchConstraintValueAu = "AU" 10182 10183 // GeoMatchConstraintValueAt is a GeoMatchConstraintValue enum value 10184 GeoMatchConstraintValueAt = "AT" 10185 10186 // GeoMatchConstraintValueAz is a GeoMatchConstraintValue enum value 10187 GeoMatchConstraintValueAz = "AZ" 10188 10189 // GeoMatchConstraintValueBs is a GeoMatchConstraintValue enum value 10190 GeoMatchConstraintValueBs = "BS" 10191 10192 // GeoMatchConstraintValueBh is a GeoMatchConstraintValue enum value 10193 GeoMatchConstraintValueBh = "BH" 10194 10195 // GeoMatchConstraintValueBd is a GeoMatchConstraintValue enum value 10196 GeoMatchConstraintValueBd = "BD" 10197 10198 // GeoMatchConstraintValueBb is a GeoMatchConstraintValue enum value 10199 GeoMatchConstraintValueBb = "BB" 10200 10201 // GeoMatchConstraintValueBy is a GeoMatchConstraintValue enum value 10202 GeoMatchConstraintValueBy = "BY" 10203 10204 // GeoMatchConstraintValueBe is a GeoMatchConstraintValue enum value 10205 GeoMatchConstraintValueBe = "BE" 10206 10207 // GeoMatchConstraintValueBz is a GeoMatchConstraintValue enum value 10208 GeoMatchConstraintValueBz = "BZ" 10209 10210 // GeoMatchConstraintValueBj is a GeoMatchConstraintValue enum value 10211 GeoMatchConstraintValueBj = "BJ" 10212 10213 // GeoMatchConstraintValueBm is a GeoMatchConstraintValue enum value 10214 GeoMatchConstraintValueBm = "BM" 10215 10216 // GeoMatchConstraintValueBt is a GeoMatchConstraintValue enum value 10217 GeoMatchConstraintValueBt = "BT" 10218 10219 // GeoMatchConstraintValueBo is a GeoMatchConstraintValue enum value 10220 GeoMatchConstraintValueBo = "BO" 10221 10222 // GeoMatchConstraintValueBq is a GeoMatchConstraintValue enum value 10223 GeoMatchConstraintValueBq = "BQ" 10224 10225 // GeoMatchConstraintValueBa is a GeoMatchConstraintValue enum value 10226 GeoMatchConstraintValueBa = "BA" 10227 10228 // GeoMatchConstraintValueBw is a GeoMatchConstraintValue enum value 10229 GeoMatchConstraintValueBw = "BW" 10230 10231 // GeoMatchConstraintValueBv is a GeoMatchConstraintValue enum value 10232 GeoMatchConstraintValueBv = "BV" 10233 10234 // GeoMatchConstraintValueBr is a GeoMatchConstraintValue enum value 10235 GeoMatchConstraintValueBr = "BR" 10236 10237 // GeoMatchConstraintValueIo is a GeoMatchConstraintValue enum value 10238 GeoMatchConstraintValueIo = "IO" 10239 10240 // GeoMatchConstraintValueBn is a GeoMatchConstraintValue enum value 10241 GeoMatchConstraintValueBn = "BN" 10242 10243 // GeoMatchConstraintValueBg is a GeoMatchConstraintValue enum value 10244 GeoMatchConstraintValueBg = "BG" 10245 10246 // GeoMatchConstraintValueBf is a GeoMatchConstraintValue enum value 10247 GeoMatchConstraintValueBf = "BF" 10248 10249 // GeoMatchConstraintValueBi is a GeoMatchConstraintValue enum value 10250 GeoMatchConstraintValueBi = "BI" 10251 10252 // GeoMatchConstraintValueKh is a GeoMatchConstraintValue enum value 10253 GeoMatchConstraintValueKh = "KH" 10254 10255 // GeoMatchConstraintValueCm is a GeoMatchConstraintValue enum value 10256 GeoMatchConstraintValueCm = "CM" 10257 10258 // GeoMatchConstraintValueCa is a GeoMatchConstraintValue enum value 10259 GeoMatchConstraintValueCa = "CA" 10260 10261 // GeoMatchConstraintValueCv is a GeoMatchConstraintValue enum value 10262 GeoMatchConstraintValueCv = "CV" 10263 10264 // GeoMatchConstraintValueKy is a GeoMatchConstraintValue enum value 10265 GeoMatchConstraintValueKy = "KY" 10266 10267 // GeoMatchConstraintValueCf is a GeoMatchConstraintValue enum value 10268 GeoMatchConstraintValueCf = "CF" 10269 10270 // GeoMatchConstraintValueTd is a GeoMatchConstraintValue enum value 10271 GeoMatchConstraintValueTd = "TD" 10272 10273 // GeoMatchConstraintValueCl is a GeoMatchConstraintValue enum value 10274 GeoMatchConstraintValueCl = "CL" 10275 10276 // GeoMatchConstraintValueCn is a GeoMatchConstraintValue enum value 10277 GeoMatchConstraintValueCn = "CN" 10278 10279 // GeoMatchConstraintValueCx is a GeoMatchConstraintValue enum value 10280 GeoMatchConstraintValueCx = "CX" 10281 10282 // GeoMatchConstraintValueCc is a GeoMatchConstraintValue enum value 10283 GeoMatchConstraintValueCc = "CC" 10284 10285 // GeoMatchConstraintValueCo is a GeoMatchConstraintValue enum value 10286 GeoMatchConstraintValueCo = "CO" 10287 10288 // GeoMatchConstraintValueKm is a GeoMatchConstraintValue enum value 10289 GeoMatchConstraintValueKm = "KM" 10290 10291 // GeoMatchConstraintValueCg is a GeoMatchConstraintValue enum value 10292 GeoMatchConstraintValueCg = "CG" 10293 10294 // GeoMatchConstraintValueCd is a GeoMatchConstraintValue enum value 10295 GeoMatchConstraintValueCd = "CD" 10296 10297 // GeoMatchConstraintValueCk is a GeoMatchConstraintValue enum value 10298 GeoMatchConstraintValueCk = "CK" 10299 10300 // GeoMatchConstraintValueCr is a GeoMatchConstraintValue enum value 10301 GeoMatchConstraintValueCr = "CR" 10302 10303 // GeoMatchConstraintValueCi is a GeoMatchConstraintValue enum value 10304 GeoMatchConstraintValueCi = "CI" 10305 10306 // GeoMatchConstraintValueHr is a GeoMatchConstraintValue enum value 10307 GeoMatchConstraintValueHr = "HR" 10308 10309 // GeoMatchConstraintValueCu is a GeoMatchConstraintValue enum value 10310 GeoMatchConstraintValueCu = "CU" 10311 10312 // GeoMatchConstraintValueCw is a GeoMatchConstraintValue enum value 10313 GeoMatchConstraintValueCw = "CW" 10314 10315 // GeoMatchConstraintValueCy is a GeoMatchConstraintValue enum value 10316 GeoMatchConstraintValueCy = "CY" 10317 10318 // GeoMatchConstraintValueCz is a GeoMatchConstraintValue enum value 10319 GeoMatchConstraintValueCz = "CZ" 10320 10321 // GeoMatchConstraintValueDk is a GeoMatchConstraintValue enum value 10322 GeoMatchConstraintValueDk = "DK" 10323 10324 // GeoMatchConstraintValueDj is a GeoMatchConstraintValue enum value 10325 GeoMatchConstraintValueDj = "DJ" 10326 10327 // GeoMatchConstraintValueDm is a GeoMatchConstraintValue enum value 10328 GeoMatchConstraintValueDm = "DM" 10329 10330 // GeoMatchConstraintValueDo is a GeoMatchConstraintValue enum value 10331 GeoMatchConstraintValueDo = "DO" 10332 10333 // GeoMatchConstraintValueEc is a GeoMatchConstraintValue enum value 10334 GeoMatchConstraintValueEc = "EC" 10335 10336 // GeoMatchConstraintValueEg is a GeoMatchConstraintValue enum value 10337 GeoMatchConstraintValueEg = "EG" 10338 10339 // GeoMatchConstraintValueSv is a GeoMatchConstraintValue enum value 10340 GeoMatchConstraintValueSv = "SV" 10341 10342 // GeoMatchConstraintValueGq is a GeoMatchConstraintValue enum value 10343 GeoMatchConstraintValueGq = "GQ" 10344 10345 // GeoMatchConstraintValueEr is a GeoMatchConstraintValue enum value 10346 GeoMatchConstraintValueEr = "ER" 10347 10348 // GeoMatchConstraintValueEe is a GeoMatchConstraintValue enum value 10349 GeoMatchConstraintValueEe = "EE" 10350 10351 // GeoMatchConstraintValueEt is a GeoMatchConstraintValue enum value 10352 GeoMatchConstraintValueEt = "ET" 10353 10354 // GeoMatchConstraintValueFk is a GeoMatchConstraintValue enum value 10355 GeoMatchConstraintValueFk = "FK" 10356 10357 // GeoMatchConstraintValueFo is a GeoMatchConstraintValue enum value 10358 GeoMatchConstraintValueFo = "FO" 10359 10360 // GeoMatchConstraintValueFj is a GeoMatchConstraintValue enum value 10361 GeoMatchConstraintValueFj = "FJ" 10362 10363 // GeoMatchConstraintValueFi is a GeoMatchConstraintValue enum value 10364 GeoMatchConstraintValueFi = "FI" 10365 10366 // GeoMatchConstraintValueFr is a GeoMatchConstraintValue enum value 10367 GeoMatchConstraintValueFr = "FR" 10368 10369 // GeoMatchConstraintValueGf is a GeoMatchConstraintValue enum value 10370 GeoMatchConstraintValueGf = "GF" 10371 10372 // GeoMatchConstraintValuePf is a GeoMatchConstraintValue enum value 10373 GeoMatchConstraintValuePf = "PF" 10374 10375 // GeoMatchConstraintValueTf is a GeoMatchConstraintValue enum value 10376 GeoMatchConstraintValueTf = "TF" 10377 10378 // GeoMatchConstraintValueGa is a GeoMatchConstraintValue enum value 10379 GeoMatchConstraintValueGa = "GA" 10380 10381 // GeoMatchConstraintValueGm is a GeoMatchConstraintValue enum value 10382 GeoMatchConstraintValueGm = "GM" 10383 10384 // GeoMatchConstraintValueGe is a GeoMatchConstraintValue enum value 10385 GeoMatchConstraintValueGe = "GE" 10386 10387 // GeoMatchConstraintValueDe is a GeoMatchConstraintValue enum value 10388 GeoMatchConstraintValueDe = "DE" 10389 10390 // GeoMatchConstraintValueGh is a GeoMatchConstraintValue enum value 10391 GeoMatchConstraintValueGh = "GH" 10392 10393 // GeoMatchConstraintValueGi is a GeoMatchConstraintValue enum value 10394 GeoMatchConstraintValueGi = "GI" 10395 10396 // GeoMatchConstraintValueGr is a GeoMatchConstraintValue enum value 10397 GeoMatchConstraintValueGr = "GR" 10398 10399 // GeoMatchConstraintValueGl is a GeoMatchConstraintValue enum value 10400 GeoMatchConstraintValueGl = "GL" 10401 10402 // GeoMatchConstraintValueGd is a GeoMatchConstraintValue enum value 10403 GeoMatchConstraintValueGd = "GD" 10404 10405 // GeoMatchConstraintValueGp is a GeoMatchConstraintValue enum value 10406 GeoMatchConstraintValueGp = "GP" 10407 10408 // GeoMatchConstraintValueGu is a GeoMatchConstraintValue enum value 10409 GeoMatchConstraintValueGu = "GU" 10410 10411 // GeoMatchConstraintValueGt is a GeoMatchConstraintValue enum value 10412 GeoMatchConstraintValueGt = "GT" 10413 10414 // GeoMatchConstraintValueGg is a GeoMatchConstraintValue enum value 10415 GeoMatchConstraintValueGg = "GG" 10416 10417 // GeoMatchConstraintValueGn is a GeoMatchConstraintValue enum value 10418 GeoMatchConstraintValueGn = "GN" 10419 10420 // GeoMatchConstraintValueGw is a GeoMatchConstraintValue enum value 10421 GeoMatchConstraintValueGw = "GW" 10422 10423 // GeoMatchConstraintValueGy is a GeoMatchConstraintValue enum value 10424 GeoMatchConstraintValueGy = "GY" 10425 10426 // GeoMatchConstraintValueHt is a GeoMatchConstraintValue enum value 10427 GeoMatchConstraintValueHt = "HT" 10428 10429 // GeoMatchConstraintValueHm is a GeoMatchConstraintValue enum value 10430 GeoMatchConstraintValueHm = "HM" 10431 10432 // GeoMatchConstraintValueVa is a GeoMatchConstraintValue enum value 10433 GeoMatchConstraintValueVa = "VA" 10434 10435 // GeoMatchConstraintValueHn is a GeoMatchConstraintValue enum value 10436 GeoMatchConstraintValueHn = "HN" 10437 10438 // GeoMatchConstraintValueHk is a GeoMatchConstraintValue enum value 10439 GeoMatchConstraintValueHk = "HK" 10440 10441 // GeoMatchConstraintValueHu is a GeoMatchConstraintValue enum value 10442 GeoMatchConstraintValueHu = "HU" 10443 10444 // GeoMatchConstraintValueIs is a GeoMatchConstraintValue enum value 10445 GeoMatchConstraintValueIs = "IS" 10446 10447 // GeoMatchConstraintValueIn is a GeoMatchConstraintValue enum value 10448 GeoMatchConstraintValueIn = "IN" 10449 10450 // GeoMatchConstraintValueId is a GeoMatchConstraintValue enum value 10451 GeoMatchConstraintValueId = "ID" 10452 10453 // GeoMatchConstraintValueIr is a GeoMatchConstraintValue enum value 10454 GeoMatchConstraintValueIr = "IR" 10455 10456 // GeoMatchConstraintValueIq is a GeoMatchConstraintValue enum value 10457 GeoMatchConstraintValueIq = "IQ" 10458 10459 // GeoMatchConstraintValueIe is a GeoMatchConstraintValue enum value 10460 GeoMatchConstraintValueIe = "IE" 10461 10462 // GeoMatchConstraintValueIm is a GeoMatchConstraintValue enum value 10463 GeoMatchConstraintValueIm = "IM" 10464 10465 // GeoMatchConstraintValueIl is a GeoMatchConstraintValue enum value 10466 GeoMatchConstraintValueIl = "IL" 10467 10468 // GeoMatchConstraintValueIt is a GeoMatchConstraintValue enum value 10469 GeoMatchConstraintValueIt = "IT" 10470 10471 // GeoMatchConstraintValueJm is a GeoMatchConstraintValue enum value 10472 GeoMatchConstraintValueJm = "JM" 10473 10474 // GeoMatchConstraintValueJp is a GeoMatchConstraintValue enum value 10475 GeoMatchConstraintValueJp = "JP" 10476 10477 // GeoMatchConstraintValueJe is a GeoMatchConstraintValue enum value 10478 GeoMatchConstraintValueJe = "JE" 10479 10480 // GeoMatchConstraintValueJo is a GeoMatchConstraintValue enum value 10481 GeoMatchConstraintValueJo = "JO" 10482 10483 // GeoMatchConstraintValueKz is a GeoMatchConstraintValue enum value 10484 GeoMatchConstraintValueKz = "KZ" 10485 10486 // GeoMatchConstraintValueKe is a GeoMatchConstraintValue enum value 10487 GeoMatchConstraintValueKe = "KE" 10488 10489 // GeoMatchConstraintValueKi is a GeoMatchConstraintValue enum value 10490 GeoMatchConstraintValueKi = "KI" 10491 10492 // GeoMatchConstraintValueKp is a GeoMatchConstraintValue enum value 10493 GeoMatchConstraintValueKp = "KP" 10494 10495 // GeoMatchConstraintValueKr is a GeoMatchConstraintValue enum value 10496 GeoMatchConstraintValueKr = "KR" 10497 10498 // GeoMatchConstraintValueKw is a GeoMatchConstraintValue enum value 10499 GeoMatchConstraintValueKw = "KW" 10500 10501 // GeoMatchConstraintValueKg is a GeoMatchConstraintValue enum value 10502 GeoMatchConstraintValueKg = "KG" 10503 10504 // GeoMatchConstraintValueLa is a GeoMatchConstraintValue enum value 10505 GeoMatchConstraintValueLa = "LA" 10506 10507 // GeoMatchConstraintValueLv is a GeoMatchConstraintValue enum value 10508 GeoMatchConstraintValueLv = "LV" 10509 10510 // GeoMatchConstraintValueLb is a GeoMatchConstraintValue enum value 10511 GeoMatchConstraintValueLb = "LB" 10512 10513 // GeoMatchConstraintValueLs is a GeoMatchConstraintValue enum value 10514 GeoMatchConstraintValueLs = "LS" 10515 10516 // GeoMatchConstraintValueLr is a GeoMatchConstraintValue enum value 10517 GeoMatchConstraintValueLr = "LR" 10518 10519 // GeoMatchConstraintValueLy is a GeoMatchConstraintValue enum value 10520 GeoMatchConstraintValueLy = "LY" 10521 10522 // GeoMatchConstraintValueLi is a GeoMatchConstraintValue enum value 10523 GeoMatchConstraintValueLi = "LI" 10524 10525 // GeoMatchConstraintValueLt is a GeoMatchConstraintValue enum value 10526 GeoMatchConstraintValueLt = "LT" 10527 10528 // GeoMatchConstraintValueLu is a GeoMatchConstraintValue enum value 10529 GeoMatchConstraintValueLu = "LU" 10530 10531 // GeoMatchConstraintValueMo is a GeoMatchConstraintValue enum value 10532 GeoMatchConstraintValueMo = "MO" 10533 10534 // GeoMatchConstraintValueMk is a GeoMatchConstraintValue enum value 10535 GeoMatchConstraintValueMk = "MK" 10536 10537 // GeoMatchConstraintValueMg is a GeoMatchConstraintValue enum value 10538 GeoMatchConstraintValueMg = "MG" 10539 10540 // GeoMatchConstraintValueMw is a GeoMatchConstraintValue enum value 10541 GeoMatchConstraintValueMw = "MW" 10542 10543 // GeoMatchConstraintValueMy is a GeoMatchConstraintValue enum value 10544 GeoMatchConstraintValueMy = "MY" 10545 10546 // GeoMatchConstraintValueMv is a GeoMatchConstraintValue enum value 10547 GeoMatchConstraintValueMv = "MV" 10548 10549 // GeoMatchConstraintValueMl is a GeoMatchConstraintValue enum value 10550 GeoMatchConstraintValueMl = "ML" 10551 10552 // GeoMatchConstraintValueMt is a GeoMatchConstraintValue enum value 10553 GeoMatchConstraintValueMt = "MT" 10554 10555 // GeoMatchConstraintValueMh is a GeoMatchConstraintValue enum value 10556 GeoMatchConstraintValueMh = "MH" 10557 10558 // GeoMatchConstraintValueMq is a GeoMatchConstraintValue enum value 10559 GeoMatchConstraintValueMq = "MQ" 10560 10561 // GeoMatchConstraintValueMr is a GeoMatchConstraintValue enum value 10562 GeoMatchConstraintValueMr = "MR" 10563 10564 // GeoMatchConstraintValueMu is a GeoMatchConstraintValue enum value 10565 GeoMatchConstraintValueMu = "MU" 10566 10567 // GeoMatchConstraintValueYt is a GeoMatchConstraintValue enum value 10568 GeoMatchConstraintValueYt = "YT" 10569 10570 // GeoMatchConstraintValueMx is a GeoMatchConstraintValue enum value 10571 GeoMatchConstraintValueMx = "MX" 10572 10573 // GeoMatchConstraintValueFm is a GeoMatchConstraintValue enum value 10574 GeoMatchConstraintValueFm = "FM" 10575 10576 // GeoMatchConstraintValueMd is a GeoMatchConstraintValue enum value 10577 GeoMatchConstraintValueMd = "MD" 10578 10579 // GeoMatchConstraintValueMc is a GeoMatchConstraintValue enum value 10580 GeoMatchConstraintValueMc = "MC" 10581 10582 // GeoMatchConstraintValueMn is a GeoMatchConstraintValue enum value 10583 GeoMatchConstraintValueMn = "MN" 10584 10585 // GeoMatchConstraintValueMe is a GeoMatchConstraintValue enum value 10586 GeoMatchConstraintValueMe = "ME" 10587 10588 // GeoMatchConstraintValueMs is a GeoMatchConstraintValue enum value 10589 GeoMatchConstraintValueMs = "MS" 10590 10591 // GeoMatchConstraintValueMa is a GeoMatchConstraintValue enum value 10592 GeoMatchConstraintValueMa = "MA" 10593 10594 // GeoMatchConstraintValueMz is a GeoMatchConstraintValue enum value 10595 GeoMatchConstraintValueMz = "MZ" 10596 10597 // GeoMatchConstraintValueMm is a GeoMatchConstraintValue enum value 10598 GeoMatchConstraintValueMm = "MM" 10599 10600 // GeoMatchConstraintValueNa is a GeoMatchConstraintValue enum value 10601 GeoMatchConstraintValueNa = "NA" 10602 10603 // GeoMatchConstraintValueNr is a GeoMatchConstraintValue enum value 10604 GeoMatchConstraintValueNr = "NR" 10605 10606 // GeoMatchConstraintValueNp is a GeoMatchConstraintValue enum value 10607 GeoMatchConstraintValueNp = "NP" 10608 10609 // GeoMatchConstraintValueNl is a GeoMatchConstraintValue enum value 10610 GeoMatchConstraintValueNl = "NL" 10611 10612 // GeoMatchConstraintValueNc is a GeoMatchConstraintValue enum value 10613 GeoMatchConstraintValueNc = "NC" 10614 10615 // GeoMatchConstraintValueNz is a GeoMatchConstraintValue enum value 10616 GeoMatchConstraintValueNz = "NZ" 10617 10618 // GeoMatchConstraintValueNi is a GeoMatchConstraintValue enum value 10619 GeoMatchConstraintValueNi = "NI" 10620 10621 // GeoMatchConstraintValueNe is a GeoMatchConstraintValue enum value 10622 GeoMatchConstraintValueNe = "NE" 10623 10624 // GeoMatchConstraintValueNg is a GeoMatchConstraintValue enum value 10625 GeoMatchConstraintValueNg = "NG" 10626 10627 // GeoMatchConstraintValueNu is a GeoMatchConstraintValue enum value 10628 GeoMatchConstraintValueNu = "NU" 10629 10630 // GeoMatchConstraintValueNf is a GeoMatchConstraintValue enum value 10631 GeoMatchConstraintValueNf = "NF" 10632 10633 // GeoMatchConstraintValueMp is a GeoMatchConstraintValue enum value 10634 GeoMatchConstraintValueMp = "MP" 10635 10636 // GeoMatchConstraintValueNo is a GeoMatchConstraintValue enum value 10637 GeoMatchConstraintValueNo = "NO" 10638 10639 // GeoMatchConstraintValueOm is a GeoMatchConstraintValue enum value 10640 GeoMatchConstraintValueOm = "OM" 10641 10642 // GeoMatchConstraintValuePk is a GeoMatchConstraintValue enum value 10643 GeoMatchConstraintValuePk = "PK" 10644 10645 // GeoMatchConstraintValuePw is a GeoMatchConstraintValue enum value 10646 GeoMatchConstraintValuePw = "PW" 10647 10648 // GeoMatchConstraintValuePs is a GeoMatchConstraintValue enum value 10649 GeoMatchConstraintValuePs = "PS" 10650 10651 // GeoMatchConstraintValuePa is a GeoMatchConstraintValue enum value 10652 GeoMatchConstraintValuePa = "PA" 10653 10654 // GeoMatchConstraintValuePg is a GeoMatchConstraintValue enum value 10655 GeoMatchConstraintValuePg = "PG" 10656 10657 // GeoMatchConstraintValuePy is a GeoMatchConstraintValue enum value 10658 GeoMatchConstraintValuePy = "PY" 10659 10660 // GeoMatchConstraintValuePe is a GeoMatchConstraintValue enum value 10661 GeoMatchConstraintValuePe = "PE" 10662 10663 // GeoMatchConstraintValuePh is a GeoMatchConstraintValue enum value 10664 GeoMatchConstraintValuePh = "PH" 10665 10666 // GeoMatchConstraintValuePn is a GeoMatchConstraintValue enum value 10667 GeoMatchConstraintValuePn = "PN" 10668 10669 // GeoMatchConstraintValuePl is a GeoMatchConstraintValue enum value 10670 GeoMatchConstraintValuePl = "PL" 10671 10672 // GeoMatchConstraintValuePt is a GeoMatchConstraintValue enum value 10673 GeoMatchConstraintValuePt = "PT" 10674 10675 // GeoMatchConstraintValuePr is a GeoMatchConstraintValue enum value 10676 GeoMatchConstraintValuePr = "PR" 10677 10678 // GeoMatchConstraintValueQa is a GeoMatchConstraintValue enum value 10679 GeoMatchConstraintValueQa = "QA" 10680 10681 // GeoMatchConstraintValueRe is a GeoMatchConstraintValue enum value 10682 GeoMatchConstraintValueRe = "RE" 10683 10684 // GeoMatchConstraintValueRo is a GeoMatchConstraintValue enum value 10685 GeoMatchConstraintValueRo = "RO" 10686 10687 // GeoMatchConstraintValueRu is a GeoMatchConstraintValue enum value 10688 GeoMatchConstraintValueRu = "RU" 10689 10690 // GeoMatchConstraintValueRw is a GeoMatchConstraintValue enum value 10691 GeoMatchConstraintValueRw = "RW" 10692 10693 // GeoMatchConstraintValueBl is a GeoMatchConstraintValue enum value 10694 GeoMatchConstraintValueBl = "BL" 10695 10696 // GeoMatchConstraintValueSh is a GeoMatchConstraintValue enum value 10697 GeoMatchConstraintValueSh = "SH" 10698 10699 // GeoMatchConstraintValueKn is a GeoMatchConstraintValue enum value 10700 GeoMatchConstraintValueKn = "KN" 10701 10702 // GeoMatchConstraintValueLc is a GeoMatchConstraintValue enum value 10703 GeoMatchConstraintValueLc = "LC" 10704 10705 // GeoMatchConstraintValueMf is a GeoMatchConstraintValue enum value 10706 GeoMatchConstraintValueMf = "MF" 10707 10708 // GeoMatchConstraintValuePm is a GeoMatchConstraintValue enum value 10709 GeoMatchConstraintValuePm = "PM" 10710 10711 // GeoMatchConstraintValueVc is a GeoMatchConstraintValue enum value 10712 GeoMatchConstraintValueVc = "VC" 10713 10714 // GeoMatchConstraintValueWs is a GeoMatchConstraintValue enum value 10715 GeoMatchConstraintValueWs = "WS" 10716 10717 // GeoMatchConstraintValueSm is a GeoMatchConstraintValue enum value 10718 GeoMatchConstraintValueSm = "SM" 10719 10720 // GeoMatchConstraintValueSt is a GeoMatchConstraintValue enum value 10721 GeoMatchConstraintValueSt = "ST" 10722 10723 // GeoMatchConstraintValueSa is a GeoMatchConstraintValue enum value 10724 GeoMatchConstraintValueSa = "SA" 10725 10726 // GeoMatchConstraintValueSn is a GeoMatchConstraintValue enum value 10727 GeoMatchConstraintValueSn = "SN" 10728 10729 // GeoMatchConstraintValueRs is a GeoMatchConstraintValue enum value 10730 GeoMatchConstraintValueRs = "RS" 10731 10732 // GeoMatchConstraintValueSc is a GeoMatchConstraintValue enum value 10733 GeoMatchConstraintValueSc = "SC" 10734 10735 // GeoMatchConstraintValueSl is a GeoMatchConstraintValue enum value 10736 GeoMatchConstraintValueSl = "SL" 10737 10738 // GeoMatchConstraintValueSg is a GeoMatchConstraintValue enum value 10739 GeoMatchConstraintValueSg = "SG" 10740 10741 // GeoMatchConstraintValueSx is a GeoMatchConstraintValue enum value 10742 GeoMatchConstraintValueSx = "SX" 10743 10744 // GeoMatchConstraintValueSk is a GeoMatchConstraintValue enum value 10745 GeoMatchConstraintValueSk = "SK" 10746 10747 // GeoMatchConstraintValueSi is a GeoMatchConstraintValue enum value 10748 GeoMatchConstraintValueSi = "SI" 10749 10750 // GeoMatchConstraintValueSb is a GeoMatchConstraintValue enum value 10751 GeoMatchConstraintValueSb = "SB" 10752 10753 // GeoMatchConstraintValueSo is a GeoMatchConstraintValue enum value 10754 GeoMatchConstraintValueSo = "SO" 10755 10756 // GeoMatchConstraintValueZa is a GeoMatchConstraintValue enum value 10757 GeoMatchConstraintValueZa = "ZA" 10758 10759 // GeoMatchConstraintValueGs is a GeoMatchConstraintValue enum value 10760 GeoMatchConstraintValueGs = "GS" 10761 10762 // GeoMatchConstraintValueSs is a GeoMatchConstraintValue enum value 10763 GeoMatchConstraintValueSs = "SS" 10764 10765 // GeoMatchConstraintValueEs is a GeoMatchConstraintValue enum value 10766 GeoMatchConstraintValueEs = "ES" 10767 10768 // GeoMatchConstraintValueLk is a GeoMatchConstraintValue enum value 10769 GeoMatchConstraintValueLk = "LK" 10770 10771 // GeoMatchConstraintValueSd is a GeoMatchConstraintValue enum value 10772 GeoMatchConstraintValueSd = "SD" 10773 10774 // GeoMatchConstraintValueSr is a GeoMatchConstraintValue enum value 10775 GeoMatchConstraintValueSr = "SR" 10776 10777 // GeoMatchConstraintValueSj is a GeoMatchConstraintValue enum value 10778 GeoMatchConstraintValueSj = "SJ" 10779 10780 // GeoMatchConstraintValueSz is a GeoMatchConstraintValue enum value 10781 GeoMatchConstraintValueSz = "SZ" 10782 10783 // GeoMatchConstraintValueSe is a GeoMatchConstraintValue enum value 10784 GeoMatchConstraintValueSe = "SE" 10785 10786 // GeoMatchConstraintValueCh is a GeoMatchConstraintValue enum value 10787 GeoMatchConstraintValueCh = "CH" 10788 10789 // GeoMatchConstraintValueSy is a GeoMatchConstraintValue enum value 10790 GeoMatchConstraintValueSy = "SY" 10791 10792 // GeoMatchConstraintValueTw is a GeoMatchConstraintValue enum value 10793 GeoMatchConstraintValueTw = "TW" 10794 10795 // GeoMatchConstraintValueTj is a GeoMatchConstraintValue enum value 10796 GeoMatchConstraintValueTj = "TJ" 10797 10798 // GeoMatchConstraintValueTz is a GeoMatchConstraintValue enum value 10799 GeoMatchConstraintValueTz = "TZ" 10800 10801 // GeoMatchConstraintValueTh is a GeoMatchConstraintValue enum value 10802 GeoMatchConstraintValueTh = "TH" 10803 10804 // GeoMatchConstraintValueTl is a GeoMatchConstraintValue enum value 10805 GeoMatchConstraintValueTl = "TL" 10806 10807 // GeoMatchConstraintValueTg is a GeoMatchConstraintValue enum value 10808 GeoMatchConstraintValueTg = "TG" 10809 10810 // GeoMatchConstraintValueTk is a GeoMatchConstraintValue enum value 10811 GeoMatchConstraintValueTk = "TK" 10812 10813 // GeoMatchConstraintValueTo is a GeoMatchConstraintValue enum value 10814 GeoMatchConstraintValueTo = "TO" 10815 10816 // GeoMatchConstraintValueTt is a GeoMatchConstraintValue enum value 10817 GeoMatchConstraintValueTt = "TT" 10818 10819 // GeoMatchConstraintValueTn is a GeoMatchConstraintValue enum value 10820 GeoMatchConstraintValueTn = "TN" 10821 10822 // GeoMatchConstraintValueTr is a GeoMatchConstraintValue enum value 10823 GeoMatchConstraintValueTr = "TR" 10824 10825 // GeoMatchConstraintValueTm is a GeoMatchConstraintValue enum value 10826 GeoMatchConstraintValueTm = "TM" 10827 10828 // GeoMatchConstraintValueTc is a GeoMatchConstraintValue enum value 10829 GeoMatchConstraintValueTc = "TC" 10830 10831 // GeoMatchConstraintValueTv is a GeoMatchConstraintValue enum value 10832 GeoMatchConstraintValueTv = "TV" 10833 10834 // GeoMatchConstraintValueUg is a GeoMatchConstraintValue enum value 10835 GeoMatchConstraintValueUg = "UG" 10836 10837 // GeoMatchConstraintValueUa is a GeoMatchConstraintValue enum value 10838 GeoMatchConstraintValueUa = "UA" 10839 10840 // GeoMatchConstraintValueAe is a GeoMatchConstraintValue enum value 10841 GeoMatchConstraintValueAe = "AE" 10842 10843 // GeoMatchConstraintValueGb is a GeoMatchConstraintValue enum value 10844 GeoMatchConstraintValueGb = "GB" 10845 10846 // GeoMatchConstraintValueUs is a GeoMatchConstraintValue enum value 10847 GeoMatchConstraintValueUs = "US" 10848 10849 // GeoMatchConstraintValueUm is a GeoMatchConstraintValue enum value 10850 GeoMatchConstraintValueUm = "UM" 10851 10852 // GeoMatchConstraintValueUy is a GeoMatchConstraintValue enum value 10853 GeoMatchConstraintValueUy = "UY" 10854 10855 // GeoMatchConstraintValueUz is a GeoMatchConstraintValue enum value 10856 GeoMatchConstraintValueUz = "UZ" 10857 10858 // GeoMatchConstraintValueVu is a GeoMatchConstraintValue enum value 10859 GeoMatchConstraintValueVu = "VU" 10860 10861 // GeoMatchConstraintValueVe is a GeoMatchConstraintValue enum value 10862 GeoMatchConstraintValueVe = "VE" 10863 10864 // GeoMatchConstraintValueVn is a GeoMatchConstraintValue enum value 10865 GeoMatchConstraintValueVn = "VN" 10866 10867 // GeoMatchConstraintValueVg is a GeoMatchConstraintValue enum value 10868 GeoMatchConstraintValueVg = "VG" 10869 10870 // GeoMatchConstraintValueVi is a GeoMatchConstraintValue enum value 10871 GeoMatchConstraintValueVi = "VI" 10872 10873 // GeoMatchConstraintValueWf is a GeoMatchConstraintValue enum value 10874 GeoMatchConstraintValueWf = "WF" 10875 10876 // GeoMatchConstraintValueEh is a GeoMatchConstraintValue enum value 10877 GeoMatchConstraintValueEh = "EH" 10878 10879 // GeoMatchConstraintValueYe is a GeoMatchConstraintValue enum value 10880 GeoMatchConstraintValueYe = "YE" 10881 10882 // GeoMatchConstraintValueZm is a GeoMatchConstraintValue enum value 10883 GeoMatchConstraintValueZm = "ZM" 10884 10885 // GeoMatchConstraintValueZw is a GeoMatchConstraintValue enum value 10886 GeoMatchConstraintValueZw = "ZW" 10887) 10888 10889const ( 10890 // IPSetDescriptorTypeIpv4 is a IPSetDescriptorType enum value 10891 IPSetDescriptorTypeIpv4 = "IPV4" 10892 10893 // IPSetDescriptorTypeIpv6 is a IPSetDescriptorType enum value 10894 IPSetDescriptorTypeIpv6 = "IPV6" 10895) 10896 10897const ( 10898 // MatchFieldTypeUri is a MatchFieldType enum value 10899 MatchFieldTypeUri = "URI" 10900 10901 // MatchFieldTypeQueryString is a MatchFieldType enum value 10902 MatchFieldTypeQueryString = "QUERY_STRING" 10903 10904 // MatchFieldTypeHeader is a MatchFieldType enum value 10905 MatchFieldTypeHeader = "HEADER" 10906 10907 // MatchFieldTypeMethod is a MatchFieldType enum value 10908 MatchFieldTypeMethod = "METHOD" 10909 10910 // MatchFieldTypeBody is a MatchFieldType enum value 10911 MatchFieldTypeBody = "BODY" 10912 10913 // MatchFieldTypeSingleQueryArg is a MatchFieldType enum value 10914 MatchFieldTypeSingleQueryArg = "SINGLE_QUERY_ARG" 10915 10916 // MatchFieldTypeAllQueryArgs is a MatchFieldType enum value 10917 MatchFieldTypeAllQueryArgs = "ALL_QUERY_ARGS" 10918) 10919 10920const ( 10921 // ParameterExceptionFieldChangeAction is a ParameterExceptionField enum value 10922 ParameterExceptionFieldChangeAction = "CHANGE_ACTION" 10923 10924 // ParameterExceptionFieldWafAction is a ParameterExceptionField enum value 10925 ParameterExceptionFieldWafAction = "WAF_ACTION" 10926 10927 // ParameterExceptionFieldWafOverrideAction is a ParameterExceptionField enum value 10928 ParameterExceptionFieldWafOverrideAction = "WAF_OVERRIDE_ACTION" 10929 10930 // ParameterExceptionFieldPredicateType is a ParameterExceptionField enum value 10931 ParameterExceptionFieldPredicateType = "PREDICATE_TYPE" 10932 10933 // ParameterExceptionFieldIpsetType is a ParameterExceptionField enum value 10934 ParameterExceptionFieldIpsetType = "IPSET_TYPE" 10935 10936 // ParameterExceptionFieldByteMatchFieldType is a ParameterExceptionField enum value 10937 ParameterExceptionFieldByteMatchFieldType = "BYTE_MATCH_FIELD_TYPE" 10938 10939 // ParameterExceptionFieldSqlInjectionMatchFieldType is a ParameterExceptionField enum value 10940 ParameterExceptionFieldSqlInjectionMatchFieldType = "SQL_INJECTION_MATCH_FIELD_TYPE" 10941 10942 // ParameterExceptionFieldByteMatchTextTransformation is a ParameterExceptionField enum value 10943 ParameterExceptionFieldByteMatchTextTransformation = "BYTE_MATCH_TEXT_TRANSFORMATION" 10944 10945 // ParameterExceptionFieldByteMatchPositionalConstraint is a ParameterExceptionField enum value 10946 ParameterExceptionFieldByteMatchPositionalConstraint = "BYTE_MATCH_POSITIONAL_CONSTRAINT" 10947 10948 // ParameterExceptionFieldSizeConstraintComparisonOperator is a ParameterExceptionField enum value 10949 ParameterExceptionFieldSizeConstraintComparisonOperator = "SIZE_CONSTRAINT_COMPARISON_OPERATOR" 10950 10951 // ParameterExceptionFieldGeoMatchLocationType is a ParameterExceptionField enum value 10952 ParameterExceptionFieldGeoMatchLocationType = "GEO_MATCH_LOCATION_TYPE" 10953 10954 // ParameterExceptionFieldGeoMatchLocationValue is a ParameterExceptionField enum value 10955 ParameterExceptionFieldGeoMatchLocationValue = "GEO_MATCH_LOCATION_VALUE" 10956 10957 // ParameterExceptionFieldRateKey is a ParameterExceptionField enum value 10958 ParameterExceptionFieldRateKey = "RATE_KEY" 10959 10960 // ParameterExceptionFieldRuleType is a ParameterExceptionField enum value 10961 ParameterExceptionFieldRuleType = "RULE_TYPE" 10962 10963 // ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value 10964 ParameterExceptionFieldNextMarker = "NEXT_MARKER" 10965 10966 // ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value 10967 ParameterExceptionFieldResourceArn = "RESOURCE_ARN" 10968 10969 // ParameterExceptionFieldTags is a ParameterExceptionField enum value 10970 ParameterExceptionFieldTags = "TAGS" 10971 10972 // ParameterExceptionFieldTagKeys is a ParameterExceptionField enum value 10973 ParameterExceptionFieldTagKeys = "TAG_KEYS" 10974) 10975 10976const ( 10977 // ParameterExceptionReasonInvalidOption is a ParameterExceptionReason enum value 10978 ParameterExceptionReasonInvalidOption = "INVALID_OPTION" 10979 10980 // ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value 10981 ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION" 10982 10983 // ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value 10984 ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT" 10985 10986 // ParameterExceptionReasonInvalidTagKey is a ParameterExceptionReason enum value 10987 ParameterExceptionReasonInvalidTagKey = "INVALID_TAG_KEY" 10988) 10989 10990const ( 10991 // PositionalConstraintExactly is a PositionalConstraint enum value 10992 PositionalConstraintExactly = "EXACTLY" 10993 10994 // PositionalConstraintStartsWith is a PositionalConstraint enum value 10995 PositionalConstraintStartsWith = "STARTS_WITH" 10996 10997 // PositionalConstraintEndsWith is a PositionalConstraint enum value 10998 PositionalConstraintEndsWith = "ENDS_WITH" 10999 11000 // PositionalConstraintContains is a PositionalConstraint enum value 11001 PositionalConstraintContains = "CONTAINS" 11002 11003 // PositionalConstraintContainsWord is a PositionalConstraint enum value 11004 PositionalConstraintContainsWord = "CONTAINS_WORD" 11005) 11006 11007const ( 11008 // PredicateTypeIpmatch is a PredicateType enum value 11009 PredicateTypeIpmatch = "IPMatch" 11010 11011 // PredicateTypeByteMatch is a PredicateType enum value 11012 PredicateTypeByteMatch = "ByteMatch" 11013 11014 // PredicateTypeSqlInjectionMatch is a PredicateType enum value 11015 PredicateTypeSqlInjectionMatch = "SqlInjectionMatch" 11016 11017 // PredicateTypeGeoMatch is a PredicateType enum value 11018 PredicateTypeGeoMatch = "GeoMatch" 11019 11020 // PredicateTypeSizeConstraint is a PredicateType enum value 11021 PredicateTypeSizeConstraint = "SizeConstraint" 11022 11023 // PredicateTypeXssMatch is a PredicateType enum value 11024 PredicateTypeXssMatch = "XssMatch" 11025 11026 // PredicateTypeRegexMatch is a PredicateType enum value 11027 PredicateTypeRegexMatch = "RegexMatch" 11028) 11029 11030const ( 11031 // RateKeyIp is a RateKey enum value 11032 RateKeyIp = "IP" 11033) 11034 11035const ( 11036 // ResourceTypeApplicationLoadBalancer is a ResourceType enum value 11037 ResourceTypeApplicationLoadBalancer = "APPLICATION_LOAD_BALANCER" 11038 11039 // ResourceTypeApiGateway is a ResourceType enum value 11040 ResourceTypeApiGateway = "API_GATEWAY" 11041) 11042 11043const ( 11044 // TextTransformationNone is a TextTransformation enum value 11045 TextTransformationNone = "NONE" 11046 11047 // TextTransformationCompressWhiteSpace is a TextTransformation enum value 11048 TextTransformationCompressWhiteSpace = "COMPRESS_WHITE_SPACE" 11049 11050 // TextTransformationHtmlEntityDecode is a TextTransformation enum value 11051 TextTransformationHtmlEntityDecode = "HTML_ENTITY_DECODE" 11052 11053 // TextTransformationLowercase is a TextTransformation enum value 11054 TextTransformationLowercase = "LOWERCASE" 11055 11056 // TextTransformationCmdLine is a TextTransformation enum value 11057 TextTransformationCmdLine = "CMD_LINE" 11058 11059 // TextTransformationUrlDecode is a TextTransformation enum value 11060 TextTransformationUrlDecode = "URL_DECODE" 11061) 11062 11063const ( 11064 // WafActionTypeBlock is a WafActionType enum value 11065 WafActionTypeBlock = "BLOCK" 11066 11067 // WafActionTypeAllow is a WafActionType enum value 11068 WafActionTypeAllow = "ALLOW" 11069 11070 // WafActionTypeCount is a WafActionType enum value 11071 WafActionTypeCount = "COUNT" 11072) 11073 11074const ( 11075 // WafOverrideActionTypeNone is a WafOverrideActionType enum value 11076 WafOverrideActionTypeNone = "NONE" 11077 11078 // WafOverrideActionTypeCount is a WafOverrideActionType enum value 11079 WafOverrideActionTypeCount = "COUNT" 11080) 11081 11082const ( 11083 // WafRuleTypeRegular is a WafRuleType enum value 11084 WafRuleTypeRegular = "REGULAR" 11085 11086 // WafRuleTypeRateBased is a WafRuleType enum value 11087 WafRuleTypeRateBased = "RATE_BASED" 11088 11089 // WafRuleTypeGroup is a WafRuleType enum value 11090 WafRuleTypeGroup = "GROUP" 11091) 11092