github.com/aavshr/aws-sdk-go@v1.41.3/service/waf/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package waf 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const opCreateByteMatchSet = "CreateByteMatchSet" 17 18 // CreateByteMatchSetRequest generates a "aws/request.Request" representing the 19 // client's request for the CreateByteMatchSet operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See CreateByteMatchSet for more information on using the CreateByteMatchSet 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the CreateByteMatchSetRequest method. 34 // req, resp := client.CreateByteMatchSetRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 // 41 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateByteMatchSet 42 func (c *WAF) CreateByteMatchSetRequest(input *CreateByteMatchSetInput) (req *request.Request, output *CreateByteMatchSetOutput) { 43 op := &request.Operation{ 44 Name: opCreateByteMatchSet, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateByteMatchSetInput{} 51 } 52 53 output = &CreateByteMatchSetOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // CreateByteMatchSet API operation for AWS WAF. 59 // 60 // 61 // This is AWS WAF Classic documentation. For more information, see AWS WAF 62 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 63 // in the developer guide. 64 // 65 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 66 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 67 // With the latest version, AWS WAF has a single set of endpoints for regional 68 // and global use. 69 // 70 // Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part 71 // of a web request that you want AWS WAF to inspect, such as the values of 72 // the User-Agent header or the query string. For example, you can create a 73 // ByteMatchSet that matches any requests with User-Agent headers that contain 74 // the string BadBot. You can then configure AWS WAF to reject those requests. 75 // 76 // To create and configure a ByteMatchSet, perform the following steps: 77 // 78 // Use GetChangeToken to get the change token that you provide in the ChangeToken 79 // parameter of a CreateByteMatchSet request. 80 // 81 // Submit a CreateByteMatchSet request. 82 // 83 // Use GetChangeToken to get the change token that you provide in the ChangeToken 84 // parameter of an UpdateByteMatchSet request. 85 // 86 // Submit an UpdateByteMatchSet request to specify the part of the request that 87 // you want AWS WAF to inspect (for example, the header or the URI) and the 88 // value that you want AWS WAF to watch for. 89 // 90 // For more information about how to use the AWS WAF API to allow or block HTTP 91 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 92 // 93 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 94 // with awserr.Error's Code and Message methods to get detailed information about 95 // the error. 96 // 97 // See the AWS API reference guide for AWS WAF's 98 // API operation CreateByteMatchSet for usage and error information. 99 // 100 // Returned Error Types: 101 // * DisallowedNameException 102 // The name specified is invalid. 103 // 104 // * InternalErrorException 105 // The operation failed because of a system problem, even though the request 106 // was valid. Retry your request. 107 // 108 // * InvalidAccountException 109 // The operation failed because you tried to create, update, or delete an object 110 // by using an invalid account identifier. 111 // 112 // * InvalidParameterException 113 // The operation failed because AWS WAF didn't recognize a parameter in the 114 // request. For example: 115 // 116 // * You specified an invalid parameter name. 117 // 118 // * You specified an invalid value. 119 // 120 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 121 // using an action other than INSERT or DELETE. 122 // 123 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 124 // BLOCK, or COUNT. 125 // 126 // * You tried to create a RateBasedRule with a RateKey value other than 127 // IP. 128 // 129 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 130 // BLOCK, or COUNT. 131 // 132 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 133 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 134 // 135 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 136 // for Data. 137 // 138 // * Your request references an ARN that is malformed, or corresponds to 139 // a resource with which a web ACL cannot be associated. 140 // 141 // * StaleDataException 142 // The operation failed because you tried to create, update, or delete an object 143 // by using a change token that has already been used. 144 // 145 // * LimitsExceededException 146 // The operation exceeds a resource limit, for example, the maximum number of 147 // WebACL objects that you can create for an AWS account. For more information, 148 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 149 // in the AWS WAF Developer Guide. 150 // 151 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateByteMatchSet 152 func (c *WAF) CreateByteMatchSet(input *CreateByteMatchSetInput) (*CreateByteMatchSetOutput, error) { 153 req, out := c.CreateByteMatchSetRequest(input) 154 return out, req.Send() 155 } 156 157 // CreateByteMatchSetWithContext is the same as CreateByteMatchSet with the addition of 158 // the ability to pass a context and additional request options. 159 // 160 // See CreateByteMatchSet for details on how to use this API operation. 161 // 162 // The context must be non-nil and will be used for request cancellation. If 163 // the context is nil a panic will occur. In the future the SDK may create 164 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 165 // for more information on using Contexts. 166 func (c *WAF) CreateByteMatchSetWithContext(ctx aws.Context, input *CreateByteMatchSetInput, opts ...request.Option) (*CreateByteMatchSetOutput, error) { 167 req, out := c.CreateByteMatchSetRequest(input) 168 req.SetContext(ctx) 169 req.ApplyOptions(opts...) 170 return out, req.Send() 171 } 172 173 const opCreateGeoMatchSet = "CreateGeoMatchSet" 174 175 // CreateGeoMatchSetRequest generates a "aws/request.Request" representing the 176 // client's request for the CreateGeoMatchSet operation. The "output" return 177 // value will be populated with the request's response once the request completes 178 // successfully. 179 // 180 // Use "Send" method on the returned Request to send the API call to the service. 181 // the "output" return value is not valid until after Send returns without error. 182 // 183 // See CreateGeoMatchSet for more information on using the CreateGeoMatchSet 184 // API call, and error handling. 185 // 186 // This method is useful when you want to inject custom logic or configuration 187 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 188 // 189 // 190 // // Example sending a request using the CreateGeoMatchSetRequest method. 191 // req, resp := client.CreateGeoMatchSetRequest(params) 192 // 193 // err := req.Send() 194 // if err == nil { // resp is now filled 195 // fmt.Println(resp) 196 // } 197 // 198 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSet 199 func (c *WAF) CreateGeoMatchSetRequest(input *CreateGeoMatchSetInput) (req *request.Request, output *CreateGeoMatchSetOutput) { 200 op := &request.Operation{ 201 Name: opCreateGeoMatchSet, 202 HTTPMethod: "POST", 203 HTTPPath: "/", 204 } 205 206 if input == nil { 207 input = &CreateGeoMatchSetInput{} 208 } 209 210 output = &CreateGeoMatchSetOutput{} 211 req = c.newRequest(op, input, output) 212 return 213 } 214 215 // CreateGeoMatchSet API operation for AWS WAF. 216 // 217 // 218 // This is AWS WAF Classic documentation. For more information, see AWS WAF 219 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 220 // in the developer guide. 221 // 222 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 223 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 224 // With the latest version, AWS WAF has a single set of endpoints for regional 225 // and global use. 226 // 227 // Creates an GeoMatchSet, which you use to specify which web requests you want 228 // to allow or block based on the country that the requests originate from. 229 // For example, if you're receiving a lot of requests from one or more countries 230 // and you want to block the requests, you can create an GeoMatchSet that contains 231 // those countries and then configure AWS WAF to block the requests. 232 // 233 // To create and configure a GeoMatchSet, perform the following steps: 234 // 235 // Use GetChangeToken to get the change token that you provide in the ChangeToken 236 // parameter of a CreateGeoMatchSet request. 237 // 238 // Submit a CreateGeoMatchSet request. 239 // 240 // Use GetChangeToken to get the change token that you provide in the ChangeToken 241 // parameter of an UpdateGeoMatchSet request. 242 // 243 // Submit an UpdateGeoMatchSetSet request to specify the countries that you 244 // want AWS WAF to watch for. 245 // 246 // For more information about how to use the AWS WAF API to allow or block HTTP 247 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 248 // 249 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 250 // with awserr.Error's Code and Message methods to get detailed information about 251 // the error. 252 // 253 // See the AWS API reference guide for AWS WAF's 254 // API operation CreateGeoMatchSet for usage and error information. 255 // 256 // Returned Error Types: 257 // * StaleDataException 258 // The operation failed because you tried to create, update, or delete an object 259 // by using a change token that has already been used. 260 // 261 // * InternalErrorException 262 // The operation failed because of a system problem, even though the request 263 // was valid. Retry your request. 264 // 265 // * InvalidAccountException 266 // The operation failed because you tried to create, update, or delete an object 267 // by using an invalid account identifier. 268 // 269 // * DisallowedNameException 270 // The name specified is invalid. 271 // 272 // * InvalidParameterException 273 // The operation failed because AWS WAF didn't recognize a parameter in the 274 // request. For example: 275 // 276 // * You specified an invalid parameter name. 277 // 278 // * You specified an invalid value. 279 // 280 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 281 // using an action other than INSERT or DELETE. 282 // 283 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 284 // BLOCK, or COUNT. 285 // 286 // * You tried to create a RateBasedRule with a RateKey value other than 287 // IP. 288 // 289 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 290 // BLOCK, or COUNT. 291 // 292 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 293 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 294 // 295 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 296 // for Data. 297 // 298 // * Your request references an ARN that is malformed, or corresponds to 299 // a resource with which a web ACL cannot be associated. 300 // 301 // * LimitsExceededException 302 // The operation exceeds a resource limit, for example, the maximum number of 303 // WebACL objects that you can create for an AWS account. For more information, 304 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 305 // in the AWS WAF Developer Guide. 306 // 307 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSet 308 func (c *WAF) CreateGeoMatchSet(input *CreateGeoMatchSetInput) (*CreateGeoMatchSetOutput, error) { 309 req, out := c.CreateGeoMatchSetRequest(input) 310 return out, req.Send() 311 } 312 313 // CreateGeoMatchSetWithContext is the same as CreateGeoMatchSet with the addition of 314 // the ability to pass a context and additional request options. 315 // 316 // See CreateGeoMatchSet for details on how to use this API operation. 317 // 318 // The context must be non-nil and will be used for request cancellation. If 319 // the context is nil a panic will occur. In the future the SDK may create 320 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 321 // for more information on using Contexts. 322 func (c *WAF) CreateGeoMatchSetWithContext(ctx aws.Context, input *CreateGeoMatchSetInput, opts ...request.Option) (*CreateGeoMatchSetOutput, error) { 323 req, out := c.CreateGeoMatchSetRequest(input) 324 req.SetContext(ctx) 325 req.ApplyOptions(opts...) 326 return out, req.Send() 327 } 328 329 const opCreateIPSet = "CreateIPSet" 330 331 // CreateIPSetRequest generates a "aws/request.Request" representing the 332 // client's request for the CreateIPSet operation. The "output" return 333 // value will be populated with the request's response once the request completes 334 // successfully. 335 // 336 // Use "Send" method on the returned Request to send the API call to the service. 337 // the "output" return value is not valid until after Send returns without error. 338 // 339 // See CreateIPSet for more information on using the CreateIPSet 340 // API call, and error handling. 341 // 342 // This method is useful when you want to inject custom logic or configuration 343 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 344 // 345 // 346 // // Example sending a request using the CreateIPSetRequest method. 347 // req, resp := client.CreateIPSetRequest(params) 348 // 349 // err := req.Send() 350 // if err == nil { // resp is now filled 351 // fmt.Println(resp) 352 // } 353 // 354 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateIPSet 355 func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) { 356 op := &request.Operation{ 357 Name: opCreateIPSet, 358 HTTPMethod: "POST", 359 HTTPPath: "/", 360 } 361 362 if input == nil { 363 input = &CreateIPSetInput{} 364 } 365 366 output = &CreateIPSetOutput{} 367 req = c.newRequest(op, input, output) 368 return 369 } 370 371 // CreateIPSet API operation for AWS WAF. 372 // 373 // 374 // This is AWS WAF Classic documentation. For more information, see AWS WAF 375 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 376 // in the developer guide. 377 // 378 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 379 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 380 // With the latest version, AWS WAF has a single set of endpoints for regional 381 // and global use. 382 // 383 // Creates an IPSet, which you use to specify which web requests that you want 384 // to allow or block based on the IP addresses that the requests originate from. 385 // For example, if you're receiving a lot of requests from one or more individual 386 // IP addresses or one or more ranges of IP addresses and you want to block 387 // the requests, you can create an IPSet that contains those IP addresses and 388 // then configure AWS WAF to block the requests. 389 // 390 // To create and configure an IPSet, perform the following steps: 391 // 392 // Use GetChangeToken to get the change token that you provide in the ChangeToken 393 // parameter of a CreateIPSet request. 394 // 395 // Submit a CreateIPSet request. 396 // 397 // Use GetChangeToken to get the change token that you provide in the ChangeToken 398 // parameter of an UpdateIPSet request. 399 // 400 // Submit an UpdateIPSet request to specify the IP addresses that you want AWS 401 // WAF to watch for. 402 // 403 // For more information about how to use the AWS WAF API to allow or block HTTP 404 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 405 // 406 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 407 // with awserr.Error's Code and Message methods to get detailed information about 408 // the error. 409 // 410 // See the AWS API reference guide for AWS WAF's 411 // API operation CreateIPSet for usage and error information. 412 // 413 // Returned Error Types: 414 // * StaleDataException 415 // The operation failed because you tried to create, update, or delete an object 416 // by using a change token that has already been used. 417 // 418 // * InternalErrorException 419 // The operation failed because of a system problem, even though the request 420 // was valid. Retry your request. 421 // 422 // * InvalidAccountException 423 // The operation failed because you tried to create, update, or delete an object 424 // by using an invalid account identifier. 425 // 426 // * DisallowedNameException 427 // The name specified is invalid. 428 // 429 // * InvalidParameterException 430 // The operation failed because AWS WAF didn't recognize a parameter in the 431 // request. For example: 432 // 433 // * You specified an invalid parameter name. 434 // 435 // * You specified an invalid value. 436 // 437 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 438 // using an action other than INSERT or DELETE. 439 // 440 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 441 // BLOCK, or COUNT. 442 // 443 // * You tried to create a RateBasedRule with a RateKey value other than 444 // IP. 445 // 446 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 447 // BLOCK, or COUNT. 448 // 449 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 450 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 451 // 452 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 453 // for Data. 454 // 455 // * Your request references an ARN that is malformed, or corresponds to 456 // a resource with which a web ACL cannot be associated. 457 // 458 // * LimitsExceededException 459 // The operation exceeds a resource limit, for example, the maximum number of 460 // WebACL objects that you can create for an AWS account. For more information, 461 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 462 // in the AWS WAF Developer Guide. 463 // 464 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateIPSet 465 func (c *WAF) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) { 466 req, out := c.CreateIPSetRequest(input) 467 return out, req.Send() 468 } 469 470 // CreateIPSetWithContext is the same as CreateIPSet with the addition of 471 // the ability to pass a context and additional request options. 472 // 473 // See CreateIPSet for details on how to use this API operation. 474 // 475 // The context must be non-nil and will be used for request cancellation. If 476 // the context is nil a panic will occur. In the future the SDK may create 477 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 478 // for more information on using Contexts. 479 func (c *WAF) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error) { 480 req, out := c.CreateIPSetRequest(input) 481 req.SetContext(ctx) 482 req.ApplyOptions(opts...) 483 return out, req.Send() 484 } 485 486 const opCreateRateBasedRule = "CreateRateBasedRule" 487 488 // CreateRateBasedRuleRequest generates a "aws/request.Request" representing the 489 // client's request for the CreateRateBasedRule operation. The "output" return 490 // value will be populated with the request's response once the request completes 491 // successfully. 492 // 493 // Use "Send" method on the returned Request to send the API call to the service. 494 // the "output" return value is not valid until after Send returns without error. 495 // 496 // See CreateRateBasedRule for more information on using the CreateRateBasedRule 497 // API call, and error handling. 498 // 499 // This method is useful when you want to inject custom logic or configuration 500 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 501 // 502 // 503 // // Example sending a request using the CreateRateBasedRuleRequest method. 504 // req, resp := client.CreateRateBasedRuleRequest(params) 505 // 506 // err := req.Send() 507 // if err == nil { // resp is now filled 508 // fmt.Println(resp) 509 // } 510 // 511 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRateBasedRule 512 func (c *WAF) CreateRateBasedRuleRequest(input *CreateRateBasedRuleInput) (req *request.Request, output *CreateRateBasedRuleOutput) { 513 op := &request.Operation{ 514 Name: opCreateRateBasedRule, 515 HTTPMethod: "POST", 516 HTTPPath: "/", 517 } 518 519 if input == nil { 520 input = &CreateRateBasedRuleInput{} 521 } 522 523 output = &CreateRateBasedRuleOutput{} 524 req = c.newRequest(op, input, output) 525 return 526 } 527 528 // CreateRateBasedRule API operation for AWS WAF. 529 // 530 // 531 // This is AWS WAF Classic documentation. For more information, see AWS WAF 532 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 533 // in the developer guide. 534 // 535 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 536 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 537 // With the latest version, AWS WAF has a single set of endpoints for regional 538 // and global use. 539 // 540 // Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies 541 // the maximum number of requests that AWS WAF allows from a specified IP address 542 // in a five-minute period. The RateBasedRule also contains the IPSet objects, 543 // ByteMatchSet objects, and other predicates that identify the requests that 544 // you want to count or block if these requests exceed the RateLimit. 545 // 546 // If you add more than one predicate to a RateBasedRule, a request not only 547 // must exceed the RateLimit, but it also must match all the conditions to be 548 // counted or blocked. For example, suppose you add the following to a RateBasedRule: 549 // 550 // * An IPSet that matches the IP address 192.0.2.44/32 551 // 552 // * A ByteMatchSet that matches BadBot in the User-Agent header 553 // 554 // Further, you specify a RateLimit of 1,000. 555 // 556 // You then add the RateBasedRule to a WebACL and specify that you want to block 557 // requests that meet the conditions in the rule. For a request to be blocked, 558 // it must come from the IP address 192.0.2.44 and the User-Agent header in 559 // the request must contain the value BadBot. Further, requests that match these 560 // two conditions must be received at a rate of more than 1,000 requests every 561 // five minutes. If both conditions are met and the rate is exceeded, AWS WAF 562 // blocks the requests. If the rate drops below 1,000 for a five-minute period, 563 // AWS WAF no longer blocks the requests. 564 // 565 // As a second example, suppose you want to limit requests to a particular page 566 // on your site. To do this, you could add the following to a RateBasedRule: 567 // 568 // * A ByteMatchSet with FieldToMatch of URI 569 // 570 // * A PositionalConstraint of STARTS_WITH 571 // 572 // * A TargetString of login 573 // 574 // Further, you specify a RateLimit of 1,000. 575 // 576 // By adding this RateBasedRule to a WebACL, you could limit requests to your 577 // login page without affecting the rest of your site. 578 // 579 // To create and configure a RateBasedRule, perform the following steps: 580 // 581 // Create and update the predicates that you want to include in the rule. For 582 // more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. 583 // 584 // Use GetChangeToken to get the change token that you provide in the ChangeToken 585 // parameter of a CreateRule request. 586 // 587 // Submit a CreateRateBasedRule request. 588 // 589 // Use GetChangeToken to get the change token that you provide in the ChangeToken 590 // parameter of an UpdateRule request. 591 // 592 // Submit an UpdateRateBasedRule request to specify the predicates that you 593 // want to include in the rule. 594 // 595 // Create and update a WebACL that contains the RateBasedRule. For more information, 596 // see CreateWebACL. 597 // 598 // For more information about how to use the AWS WAF API to allow or block HTTP 599 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 600 // 601 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 602 // with awserr.Error's Code and Message methods to get detailed information about 603 // the error. 604 // 605 // See the AWS API reference guide for AWS WAF's 606 // API operation CreateRateBasedRule for usage and error information. 607 // 608 // Returned Error Types: 609 // * StaleDataException 610 // The operation failed because you tried to create, update, or delete an object 611 // by using a change token that has already been used. 612 // 613 // * InternalErrorException 614 // The operation failed because of a system problem, even though the request 615 // was valid. Retry your request. 616 // 617 // * DisallowedNameException 618 // The name specified is invalid. 619 // 620 // * InvalidParameterException 621 // The operation failed because AWS WAF didn't recognize a parameter in the 622 // request. For example: 623 // 624 // * You specified an invalid parameter name. 625 // 626 // * You specified an invalid value. 627 // 628 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 629 // using an action other than INSERT or DELETE. 630 // 631 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 632 // BLOCK, or COUNT. 633 // 634 // * You tried to create a RateBasedRule with a RateKey value other than 635 // IP. 636 // 637 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 638 // BLOCK, or COUNT. 639 // 640 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 641 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 642 // 643 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 644 // for Data. 645 // 646 // * Your request references an ARN that is malformed, or corresponds to 647 // a resource with which a web ACL cannot be associated. 648 // 649 // * LimitsExceededException 650 // The operation exceeds a resource limit, for example, the maximum number of 651 // WebACL objects that you can create for an AWS account. For more information, 652 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 653 // in the AWS WAF Developer Guide. 654 // 655 // * TagOperationException 656 // 657 // * TagOperationInternalErrorException 658 // 659 // * BadRequestException 660 // 661 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRateBasedRule 662 func (c *WAF) CreateRateBasedRule(input *CreateRateBasedRuleInput) (*CreateRateBasedRuleOutput, error) { 663 req, out := c.CreateRateBasedRuleRequest(input) 664 return out, req.Send() 665 } 666 667 // CreateRateBasedRuleWithContext is the same as CreateRateBasedRule with the addition of 668 // the ability to pass a context and additional request options. 669 // 670 // See CreateRateBasedRule for details on how to use this API operation. 671 // 672 // The context must be non-nil and will be used for request cancellation. If 673 // the context is nil a panic will occur. In the future the SDK may create 674 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 675 // for more information on using Contexts. 676 func (c *WAF) CreateRateBasedRuleWithContext(ctx aws.Context, input *CreateRateBasedRuleInput, opts ...request.Option) (*CreateRateBasedRuleOutput, error) { 677 req, out := c.CreateRateBasedRuleRequest(input) 678 req.SetContext(ctx) 679 req.ApplyOptions(opts...) 680 return out, req.Send() 681 } 682 683 const opCreateRegexMatchSet = "CreateRegexMatchSet" 684 685 // CreateRegexMatchSetRequest generates a "aws/request.Request" representing the 686 // client's request for the CreateRegexMatchSet operation. The "output" return 687 // value will be populated with the request's response once the request completes 688 // successfully. 689 // 690 // Use "Send" method on the returned Request to send the API call to the service. 691 // the "output" return value is not valid until after Send returns without error. 692 // 693 // See CreateRegexMatchSet for more information on using the CreateRegexMatchSet 694 // API call, and error handling. 695 // 696 // This method is useful when you want to inject custom logic or configuration 697 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 698 // 699 // 700 // // Example sending a request using the CreateRegexMatchSetRequest method. 701 // req, resp := client.CreateRegexMatchSetRequest(params) 702 // 703 // err := req.Send() 704 // if err == nil { // resp is now filled 705 // fmt.Println(resp) 706 // } 707 // 708 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSet 709 func (c *WAF) CreateRegexMatchSetRequest(input *CreateRegexMatchSetInput) (req *request.Request, output *CreateRegexMatchSetOutput) { 710 op := &request.Operation{ 711 Name: opCreateRegexMatchSet, 712 HTTPMethod: "POST", 713 HTTPPath: "/", 714 } 715 716 if input == nil { 717 input = &CreateRegexMatchSetInput{} 718 } 719 720 output = &CreateRegexMatchSetOutput{} 721 req = c.newRequest(op, input, output) 722 return 723 } 724 725 // CreateRegexMatchSet API operation for AWS WAF. 726 // 727 // 728 // This is AWS WAF Classic documentation. For more information, see AWS WAF 729 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 730 // in the developer guide. 731 // 732 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 733 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 734 // With the latest version, AWS WAF has a single set of endpoints for regional 735 // and global use. 736 // 737 // Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the 738 // part of a web request that you want AWS WAF to inspect, such as the values 739 // of the User-Agent header or the query string. For example, you can create 740 // a RegexMatchSet that contains a RegexMatchTuple that looks for any requests 741 // with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. 742 // You can then configure AWS WAF to reject those requests. 743 // 744 // To create and configure a RegexMatchSet, perform the following steps: 745 // 746 // Use GetChangeToken to get the change token that you provide in the ChangeToken 747 // parameter of a CreateRegexMatchSet request. 748 // 749 // Submit a CreateRegexMatchSet request. 750 // 751 // Use GetChangeToken to get the change token that you provide in the ChangeToken 752 // parameter of an UpdateRegexMatchSet request. 753 // 754 // Submit an UpdateRegexMatchSet request to specify the part of the request 755 // that you want AWS WAF to inspect (for example, the header or the URI) and 756 // the value, using a RegexPatternSet, that you want AWS WAF to watch for. 757 // 758 // For more information about how to use the AWS WAF API to allow or block HTTP 759 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 760 // 761 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 762 // with awserr.Error's Code and Message methods to get detailed information about 763 // the error. 764 // 765 // See the AWS API reference guide for AWS WAF's 766 // API operation CreateRegexMatchSet for usage and error information. 767 // 768 // Returned Error Types: 769 // * StaleDataException 770 // The operation failed because you tried to create, update, or delete an object 771 // by using a change token that has already been used. 772 // 773 // * InternalErrorException 774 // The operation failed because of a system problem, even though the request 775 // was valid. Retry your request. 776 // 777 // * DisallowedNameException 778 // The name specified is invalid. 779 // 780 // * LimitsExceededException 781 // The operation exceeds a resource limit, for example, the maximum number of 782 // WebACL objects that you can create for an AWS account. For more information, 783 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 784 // in the AWS WAF Developer Guide. 785 // 786 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSet 787 func (c *WAF) CreateRegexMatchSet(input *CreateRegexMatchSetInput) (*CreateRegexMatchSetOutput, error) { 788 req, out := c.CreateRegexMatchSetRequest(input) 789 return out, req.Send() 790 } 791 792 // CreateRegexMatchSetWithContext is the same as CreateRegexMatchSet with the addition of 793 // the ability to pass a context and additional request options. 794 // 795 // See CreateRegexMatchSet for details on how to use this API operation. 796 // 797 // The context must be non-nil and will be used for request cancellation. If 798 // the context is nil a panic will occur. In the future the SDK may create 799 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 800 // for more information on using Contexts. 801 func (c *WAF) CreateRegexMatchSetWithContext(ctx aws.Context, input *CreateRegexMatchSetInput, opts ...request.Option) (*CreateRegexMatchSetOutput, error) { 802 req, out := c.CreateRegexMatchSetRequest(input) 803 req.SetContext(ctx) 804 req.ApplyOptions(opts...) 805 return out, req.Send() 806 } 807 808 const opCreateRegexPatternSet = "CreateRegexPatternSet" 809 810 // CreateRegexPatternSetRequest generates a "aws/request.Request" representing the 811 // client's request for the CreateRegexPatternSet operation. The "output" return 812 // value will be populated with the request's response once the request completes 813 // successfully. 814 // 815 // Use "Send" method on the returned Request to send the API call to the service. 816 // the "output" return value is not valid until after Send returns without error. 817 // 818 // See CreateRegexPatternSet for more information on using the CreateRegexPatternSet 819 // API call, and error handling. 820 // 821 // This method is useful when you want to inject custom logic or configuration 822 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 823 // 824 // 825 // // Example sending a request using the CreateRegexPatternSetRequest method. 826 // req, resp := client.CreateRegexPatternSetRequest(params) 827 // 828 // err := req.Send() 829 // if err == nil { // resp is now filled 830 // fmt.Println(resp) 831 // } 832 // 833 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSet 834 func (c *WAF) CreateRegexPatternSetRequest(input *CreateRegexPatternSetInput) (req *request.Request, output *CreateRegexPatternSetOutput) { 835 op := &request.Operation{ 836 Name: opCreateRegexPatternSet, 837 HTTPMethod: "POST", 838 HTTPPath: "/", 839 } 840 841 if input == nil { 842 input = &CreateRegexPatternSetInput{} 843 } 844 845 output = &CreateRegexPatternSetOutput{} 846 req = c.newRequest(op, input, output) 847 return 848 } 849 850 // CreateRegexPatternSet API operation for AWS WAF. 851 // 852 // 853 // This is AWS WAF Classic documentation. For more information, see AWS WAF 854 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 855 // in the developer guide. 856 // 857 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 858 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 859 // With the latest version, AWS WAF has a single set of endpoints for regional 860 // and global use. 861 // 862 // Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify 863 // the regular expression (regex) pattern that you want AWS WAF to search for, 864 // such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests. 865 // 866 // To create and configure a RegexPatternSet, perform the following steps: 867 // 868 // Use GetChangeToken to get the change token that you provide in the ChangeToken 869 // parameter of a CreateRegexPatternSet request. 870 // 871 // Submit a CreateRegexPatternSet request. 872 // 873 // Use GetChangeToken to get the change token that you provide in the ChangeToken 874 // parameter of an UpdateRegexPatternSet request. 875 // 876 // Submit an UpdateRegexPatternSet request to specify the string that you want 877 // AWS WAF to watch for. 878 // 879 // For more information about how to use the AWS WAF API to allow or block HTTP 880 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 881 // 882 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 883 // with awserr.Error's Code and Message methods to get detailed information about 884 // the error. 885 // 886 // See the AWS API reference guide for AWS WAF's 887 // API operation CreateRegexPatternSet for usage and error information. 888 // 889 // Returned Error Types: 890 // * StaleDataException 891 // The operation failed because you tried to create, update, or delete an object 892 // by using a change token that has already been used. 893 // 894 // * InternalErrorException 895 // The operation failed because of a system problem, even though the request 896 // was valid. Retry your request. 897 // 898 // * DisallowedNameException 899 // The name specified is invalid. 900 // 901 // * LimitsExceededException 902 // The operation exceeds a resource limit, for example, the maximum number of 903 // WebACL objects that you can create for an AWS account. For more information, 904 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 905 // in the AWS WAF Developer Guide. 906 // 907 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSet 908 func (c *WAF) CreateRegexPatternSet(input *CreateRegexPatternSetInput) (*CreateRegexPatternSetOutput, error) { 909 req, out := c.CreateRegexPatternSetRequest(input) 910 return out, req.Send() 911 } 912 913 // CreateRegexPatternSetWithContext is the same as CreateRegexPatternSet with the addition of 914 // the ability to pass a context and additional request options. 915 // 916 // See CreateRegexPatternSet for details on how to use this API operation. 917 // 918 // The context must be non-nil and will be used for request cancellation. If 919 // the context is nil a panic will occur. In the future the SDK may create 920 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 921 // for more information on using Contexts. 922 func (c *WAF) CreateRegexPatternSetWithContext(ctx aws.Context, input *CreateRegexPatternSetInput, opts ...request.Option) (*CreateRegexPatternSetOutput, error) { 923 req, out := c.CreateRegexPatternSetRequest(input) 924 req.SetContext(ctx) 925 req.ApplyOptions(opts...) 926 return out, req.Send() 927 } 928 929 const opCreateRule = "CreateRule" 930 931 // CreateRuleRequest generates a "aws/request.Request" representing the 932 // client's request for the CreateRule operation. The "output" return 933 // value will be populated with the request's response once the request completes 934 // successfully. 935 // 936 // Use "Send" method on the returned Request to send the API call to the service. 937 // the "output" return value is not valid until after Send returns without error. 938 // 939 // See CreateRule for more information on using the CreateRule 940 // API call, and error handling. 941 // 942 // This method is useful when you want to inject custom logic or configuration 943 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 944 // 945 // 946 // // Example sending a request using the CreateRuleRequest method. 947 // req, resp := client.CreateRuleRequest(params) 948 // 949 // err := req.Send() 950 // if err == nil { // resp is now filled 951 // fmt.Println(resp) 952 // } 953 // 954 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRule 955 func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) { 956 op := &request.Operation{ 957 Name: opCreateRule, 958 HTTPMethod: "POST", 959 HTTPPath: "/", 960 } 961 962 if input == nil { 963 input = &CreateRuleInput{} 964 } 965 966 output = &CreateRuleOutput{} 967 req = c.newRequest(op, input, output) 968 return 969 } 970 971 // CreateRule API operation for AWS WAF. 972 // 973 // 974 // This is AWS WAF Classic documentation. For more information, see AWS WAF 975 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 976 // in the developer guide. 977 // 978 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 979 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 980 // With the latest version, AWS WAF has a single set of endpoints for regional 981 // and global use. 982 // 983 // Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and 984 // other predicates that identify the requests that you want to block. If you 985 // add more than one predicate to a Rule, a request must match all of the specifications 986 // to be allowed or blocked. For example, suppose that you add the following 987 // to a Rule: 988 // 989 // * An IPSet that matches the IP address 192.0.2.44/32 990 // 991 // * A ByteMatchSet that matches BadBot in the User-Agent header 992 // 993 // You then add the Rule to a WebACL and specify that you want to blocks requests 994 // that satisfy the Rule. For a request to be blocked, it must come from the 995 // IP address 192.0.2.44 and the User-Agent header in the request must contain 996 // the value BadBot. 997 // 998 // To create and configure a Rule, perform the following steps: 999 // 1000 // Create and update the predicates that you want to include in the Rule. For 1001 // more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. 1002 // 1003 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1004 // parameter of a CreateRule request. 1005 // 1006 // Submit a CreateRule request. 1007 // 1008 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1009 // parameter of an UpdateRule request. 1010 // 1011 // Submit an UpdateRule request to specify the predicates that you want to include 1012 // in the Rule. 1013 // 1014 // Create and update a WebACL that contains the Rule. For more information, 1015 // see CreateWebACL. 1016 // 1017 // For more information about how to use the AWS WAF API to allow or block HTTP 1018 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1019 // 1020 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1021 // with awserr.Error's Code and Message methods to get detailed information about 1022 // the error. 1023 // 1024 // See the AWS API reference guide for AWS WAF's 1025 // API operation CreateRule for usage and error information. 1026 // 1027 // Returned Error Types: 1028 // * StaleDataException 1029 // The operation failed because you tried to create, update, or delete an object 1030 // by using a change token that has already been used. 1031 // 1032 // * InternalErrorException 1033 // The operation failed because of a system problem, even though the request 1034 // was valid. Retry your request. 1035 // 1036 // * DisallowedNameException 1037 // The name specified is invalid. 1038 // 1039 // * InvalidParameterException 1040 // The operation failed because AWS WAF didn't recognize a parameter in the 1041 // request. For example: 1042 // 1043 // * You specified an invalid parameter name. 1044 // 1045 // * You specified an invalid value. 1046 // 1047 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1048 // using an action other than INSERT or DELETE. 1049 // 1050 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1051 // BLOCK, or COUNT. 1052 // 1053 // * You tried to create a RateBasedRule with a RateKey value other than 1054 // IP. 1055 // 1056 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1057 // BLOCK, or COUNT. 1058 // 1059 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1060 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1061 // 1062 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1063 // for Data. 1064 // 1065 // * Your request references an ARN that is malformed, or corresponds to 1066 // a resource with which a web ACL cannot be associated. 1067 // 1068 // * LimitsExceededException 1069 // The operation exceeds a resource limit, for example, the maximum number of 1070 // WebACL objects that you can create for an AWS account. For more information, 1071 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1072 // in the AWS WAF Developer Guide. 1073 // 1074 // * TagOperationException 1075 // 1076 // * TagOperationInternalErrorException 1077 // 1078 // * BadRequestException 1079 // 1080 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRule 1081 func (c *WAF) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { 1082 req, out := c.CreateRuleRequest(input) 1083 return out, req.Send() 1084 } 1085 1086 // CreateRuleWithContext is the same as CreateRule with the addition of 1087 // the ability to pass a context and additional request options. 1088 // 1089 // See CreateRule for details on how to use this API operation. 1090 // 1091 // The context must be non-nil and will be used for request cancellation. If 1092 // the context is nil a panic will occur. In the future the SDK may create 1093 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1094 // for more information on using Contexts. 1095 func (c *WAF) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) { 1096 req, out := c.CreateRuleRequest(input) 1097 req.SetContext(ctx) 1098 req.ApplyOptions(opts...) 1099 return out, req.Send() 1100 } 1101 1102 const opCreateRuleGroup = "CreateRuleGroup" 1103 1104 // CreateRuleGroupRequest generates a "aws/request.Request" representing the 1105 // client's request for the CreateRuleGroup operation. The "output" return 1106 // value will be populated with the request's response once the request completes 1107 // successfully. 1108 // 1109 // Use "Send" method on the returned Request to send the API call to the service. 1110 // the "output" return value is not valid until after Send returns without error. 1111 // 1112 // See CreateRuleGroup for more information on using the CreateRuleGroup 1113 // API call, and error handling. 1114 // 1115 // This method is useful when you want to inject custom logic or configuration 1116 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1117 // 1118 // 1119 // // Example sending a request using the CreateRuleGroupRequest method. 1120 // req, resp := client.CreateRuleGroupRequest(params) 1121 // 1122 // err := req.Send() 1123 // if err == nil { // resp is now filled 1124 // fmt.Println(resp) 1125 // } 1126 // 1127 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRuleGroup 1128 func (c *WAF) CreateRuleGroupRequest(input *CreateRuleGroupInput) (req *request.Request, output *CreateRuleGroupOutput) { 1129 op := &request.Operation{ 1130 Name: opCreateRuleGroup, 1131 HTTPMethod: "POST", 1132 HTTPPath: "/", 1133 } 1134 1135 if input == nil { 1136 input = &CreateRuleGroupInput{} 1137 } 1138 1139 output = &CreateRuleGroupOutput{} 1140 req = c.newRequest(op, input, output) 1141 return 1142 } 1143 1144 // CreateRuleGroup API operation for AWS WAF. 1145 // 1146 // 1147 // This is AWS WAF Classic documentation. For more information, see AWS WAF 1148 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 1149 // in the developer guide. 1150 // 1151 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 1152 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1153 // With the latest version, AWS WAF has a single set of endpoints for regional 1154 // and global use. 1155 // 1156 // Creates a RuleGroup. A rule group is a collection of predefined rules that 1157 // you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group. 1158 // 1159 // Rule groups are subject to the following limits: 1160 // 1161 // * Three rule groups per account. You can request an increase to this limit 1162 // by contacting customer support. 1163 // 1164 // * One rule group per web ACL. 1165 // 1166 // * Ten rules per rule group. 1167 // 1168 // For more information about how to use the AWS WAF API to allow or block HTTP 1169 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1170 // 1171 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1172 // with awserr.Error's Code and Message methods to get detailed information about 1173 // the error. 1174 // 1175 // See the AWS API reference guide for AWS WAF's 1176 // API operation CreateRuleGroup for usage and error information. 1177 // 1178 // Returned Error Types: 1179 // * StaleDataException 1180 // The operation failed because you tried to create, update, or delete an object 1181 // by using a change token that has already been used. 1182 // 1183 // * InternalErrorException 1184 // The operation failed because of a system problem, even though the request 1185 // was valid. Retry your request. 1186 // 1187 // * DisallowedNameException 1188 // The name specified is invalid. 1189 // 1190 // * LimitsExceededException 1191 // The operation exceeds a resource limit, for example, the maximum number of 1192 // WebACL objects that you can create for an AWS account. For more information, 1193 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1194 // in the AWS WAF Developer Guide. 1195 // 1196 // * TagOperationException 1197 // 1198 // * TagOperationInternalErrorException 1199 // 1200 // * BadRequestException 1201 // 1202 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRuleGroup 1203 func (c *WAF) CreateRuleGroup(input *CreateRuleGroupInput) (*CreateRuleGroupOutput, error) { 1204 req, out := c.CreateRuleGroupRequest(input) 1205 return out, req.Send() 1206 } 1207 1208 // CreateRuleGroupWithContext is the same as CreateRuleGroup with the addition of 1209 // the ability to pass a context and additional request options. 1210 // 1211 // See CreateRuleGroup for details on how to use this API operation. 1212 // 1213 // The context must be non-nil and will be used for request cancellation. If 1214 // the context is nil a panic will occur. In the future the SDK may create 1215 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1216 // for more information on using Contexts. 1217 func (c *WAF) CreateRuleGroupWithContext(ctx aws.Context, input *CreateRuleGroupInput, opts ...request.Option) (*CreateRuleGroupOutput, error) { 1218 req, out := c.CreateRuleGroupRequest(input) 1219 req.SetContext(ctx) 1220 req.ApplyOptions(opts...) 1221 return out, req.Send() 1222 } 1223 1224 const opCreateSizeConstraintSet = "CreateSizeConstraintSet" 1225 1226 // CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the 1227 // client's request for the CreateSizeConstraintSet operation. The "output" return 1228 // value will be populated with the request's response once the request completes 1229 // successfully. 1230 // 1231 // Use "Send" method on the returned Request to send the API call to the service. 1232 // the "output" return value is not valid until after Send returns without error. 1233 // 1234 // See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet 1235 // API call, and error handling. 1236 // 1237 // This method is useful when you want to inject custom logic or configuration 1238 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1239 // 1240 // 1241 // // Example sending a request using the CreateSizeConstraintSetRequest method. 1242 // req, resp := client.CreateSizeConstraintSetRequest(params) 1243 // 1244 // err := req.Send() 1245 // if err == nil { // resp is now filled 1246 // fmt.Println(resp) 1247 // } 1248 // 1249 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSizeConstraintSet 1250 func (c *WAF) CreateSizeConstraintSetRequest(input *CreateSizeConstraintSetInput) (req *request.Request, output *CreateSizeConstraintSetOutput) { 1251 op := &request.Operation{ 1252 Name: opCreateSizeConstraintSet, 1253 HTTPMethod: "POST", 1254 HTTPPath: "/", 1255 } 1256 1257 if input == nil { 1258 input = &CreateSizeConstraintSetInput{} 1259 } 1260 1261 output = &CreateSizeConstraintSetOutput{} 1262 req = c.newRequest(op, input, output) 1263 return 1264 } 1265 1266 // CreateSizeConstraintSet API operation for AWS WAF. 1267 // 1268 // 1269 // This is AWS WAF Classic documentation. For more information, see AWS WAF 1270 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 1271 // in the developer guide. 1272 // 1273 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 1274 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1275 // With the latest version, AWS WAF has a single set of endpoints for regional 1276 // and global use. 1277 // 1278 // Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify 1279 // the part of a web request that you want AWS WAF to check for length, such 1280 // as the length of the User-Agent header or the length of the query string. 1281 // For example, you can create a SizeConstraintSet that matches any requests 1282 // that have a query string that is longer than 100 bytes. You can then configure 1283 // AWS WAF to reject those requests. 1284 // 1285 // To create and configure a SizeConstraintSet, perform the following steps: 1286 // 1287 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1288 // parameter of a CreateSizeConstraintSet request. 1289 // 1290 // Submit a CreateSizeConstraintSet request. 1291 // 1292 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1293 // parameter of an UpdateSizeConstraintSet request. 1294 // 1295 // Submit an UpdateSizeConstraintSet request to specify the part of the request 1296 // that you want AWS WAF to inspect (for example, the header or the URI) and 1297 // the value that you want AWS WAF to watch for. 1298 // 1299 // For more information about how to use the AWS WAF API to allow or block HTTP 1300 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1301 // 1302 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1303 // with awserr.Error's Code and Message methods to get detailed information about 1304 // the error. 1305 // 1306 // See the AWS API reference guide for AWS WAF's 1307 // API operation CreateSizeConstraintSet for usage and error information. 1308 // 1309 // Returned Error Types: 1310 // * StaleDataException 1311 // The operation failed because you tried to create, update, or delete an object 1312 // by using a change token that has already been used. 1313 // 1314 // * InternalErrorException 1315 // The operation failed because of a system problem, even though the request 1316 // was valid. Retry your request. 1317 // 1318 // * InvalidAccountException 1319 // The operation failed because you tried to create, update, or delete an object 1320 // by using an invalid account identifier. 1321 // 1322 // * DisallowedNameException 1323 // The name specified is invalid. 1324 // 1325 // * InvalidParameterException 1326 // The operation failed because AWS WAF didn't recognize a parameter in the 1327 // request. For example: 1328 // 1329 // * You specified an invalid parameter name. 1330 // 1331 // * You specified an invalid value. 1332 // 1333 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1334 // using an action other than INSERT or DELETE. 1335 // 1336 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1337 // BLOCK, or COUNT. 1338 // 1339 // * You tried to create a RateBasedRule with a RateKey value other than 1340 // IP. 1341 // 1342 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1343 // BLOCK, or COUNT. 1344 // 1345 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1346 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1347 // 1348 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1349 // for Data. 1350 // 1351 // * Your request references an ARN that is malformed, or corresponds to 1352 // a resource with which a web ACL cannot be associated. 1353 // 1354 // * LimitsExceededException 1355 // The operation exceeds a resource limit, for example, the maximum number of 1356 // WebACL objects that you can create for an AWS account. For more information, 1357 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1358 // in the AWS WAF Developer Guide. 1359 // 1360 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSizeConstraintSet 1361 func (c *WAF) CreateSizeConstraintSet(input *CreateSizeConstraintSetInput) (*CreateSizeConstraintSetOutput, error) { 1362 req, out := c.CreateSizeConstraintSetRequest(input) 1363 return out, req.Send() 1364 } 1365 1366 // CreateSizeConstraintSetWithContext is the same as CreateSizeConstraintSet with the addition of 1367 // the ability to pass a context and additional request options. 1368 // 1369 // See CreateSizeConstraintSet for details on how to use this API operation. 1370 // 1371 // The context must be non-nil and will be used for request cancellation. If 1372 // the context is nil a panic will occur. In the future the SDK may create 1373 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1374 // for more information on using Contexts. 1375 func (c *WAF) CreateSizeConstraintSetWithContext(ctx aws.Context, input *CreateSizeConstraintSetInput, opts ...request.Option) (*CreateSizeConstraintSetOutput, error) { 1376 req, out := c.CreateSizeConstraintSetRequest(input) 1377 req.SetContext(ctx) 1378 req.ApplyOptions(opts...) 1379 return out, req.Send() 1380 } 1381 1382 const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet" 1383 1384 // CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 1385 // client's request for the CreateSqlInjectionMatchSet operation. The "output" return 1386 // value will be populated with the request's response once the request completes 1387 // successfully. 1388 // 1389 // Use "Send" method on the returned Request to send the API call to the service. 1390 // the "output" return value is not valid until after Send returns without error. 1391 // 1392 // See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet 1393 // API call, and error handling. 1394 // 1395 // This method is useful when you want to inject custom logic or configuration 1396 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1397 // 1398 // 1399 // // Example sending a request using the CreateSqlInjectionMatchSetRequest method. 1400 // req, resp := client.CreateSqlInjectionMatchSetRequest(params) 1401 // 1402 // err := req.Send() 1403 // if err == nil { // resp is now filled 1404 // fmt.Println(resp) 1405 // } 1406 // 1407 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSqlInjectionMatchSet 1408 func (c *WAF) CreateSqlInjectionMatchSetRequest(input *CreateSqlInjectionMatchSetInput) (req *request.Request, output *CreateSqlInjectionMatchSetOutput) { 1409 op := &request.Operation{ 1410 Name: opCreateSqlInjectionMatchSet, 1411 HTTPMethod: "POST", 1412 HTTPPath: "/", 1413 } 1414 1415 if input == nil { 1416 input = &CreateSqlInjectionMatchSetInput{} 1417 } 1418 1419 output = &CreateSqlInjectionMatchSetOutput{} 1420 req = c.newRequest(op, input, output) 1421 return 1422 } 1423 1424 // CreateSqlInjectionMatchSet API operation for AWS WAF. 1425 // 1426 // 1427 // This is AWS WAF Classic documentation. For more information, see AWS WAF 1428 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 1429 // in the developer guide. 1430 // 1431 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 1432 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1433 // With the latest version, AWS WAF has a single set of endpoints for regional 1434 // and global use. 1435 // 1436 // Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests 1437 // that contain snippets of SQL code in a specified part of web requests. AWS 1438 // WAF searches for character sequences that are likely to be malicious strings. 1439 // 1440 // To create and configure a SqlInjectionMatchSet, perform the following steps: 1441 // 1442 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1443 // parameter of a CreateSqlInjectionMatchSet request. 1444 // 1445 // Submit a CreateSqlInjectionMatchSet request. 1446 // 1447 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1448 // parameter of an UpdateSqlInjectionMatchSet request. 1449 // 1450 // Submit an UpdateSqlInjectionMatchSet request to specify the parts of web 1451 // requests in which you want to allow, block, or count malicious SQL code. 1452 // 1453 // For more information about how to use the AWS WAF API to allow or block HTTP 1454 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1455 // 1456 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1457 // with awserr.Error's Code and Message methods to get detailed information about 1458 // the error. 1459 // 1460 // See the AWS API reference guide for AWS WAF's 1461 // API operation CreateSqlInjectionMatchSet for usage and error information. 1462 // 1463 // Returned Error Types: 1464 // * DisallowedNameException 1465 // The name specified is invalid. 1466 // 1467 // * InternalErrorException 1468 // The operation failed because of a system problem, even though the request 1469 // was valid. Retry your request. 1470 // 1471 // * InvalidAccountException 1472 // The operation failed because you tried to create, update, or delete an object 1473 // by using an invalid account identifier. 1474 // 1475 // * InvalidParameterException 1476 // The operation failed because AWS WAF didn't recognize a parameter in the 1477 // request. For example: 1478 // 1479 // * You specified an invalid parameter name. 1480 // 1481 // * You specified an invalid value. 1482 // 1483 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1484 // using an action other than INSERT or DELETE. 1485 // 1486 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1487 // BLOCK, or COUNT. 1488 // 1489 // * You tried to create a RateBasedRule with a RateKey value other than 1490 // IP. 1491 // 1492 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1493 // BLOCK, or COUNT. 1494 // 1495 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1496 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1497 // 1498 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1499 // for Data. 1500 // 1501 // * Your request references an ARN that is malformed, or corresponds to 1502 // a resource with which a web ACL cannot be associated. 1503 // 1504 // * StaleDataException 1505 // The operation failed because you tried to create, update, or delete an object 1506 // by using a change token that has already been used. 1507 // 1508 // * LimitsExceededException 1509 // The operation exceeds a resource limit, for example, the maximum number of 1510 // WebACL objects that you can create for an AWS account. For more information, 1511 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1512 // in the AWS WAF Developer Guide. 1513 // 1514 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateSqlInjectionMatchSet 1515 func (c *WAF) CreateSqlInjectionMatchSet(input *CreateSqlInjectionMatchSetInput) (*CreateSqlInjectionMatchSetOutput, error) { 1516 req, out := c.CreateSqlInjectionMatchSetRequest(input) 1517 return out, req.Send() 1518 } 1519 1520 // CreateSqlInjectionMatchSetWithContext is the same as CreateSqlInjectionMatchSet with the addition of 1521 // the ability to pass a context and additional request options. 1522 // 1523 // See CreateSqlInjectionMatchSet for details on how to use this API operation. 1524 // 1525 // The context must be non-nil and will be used for request cancellation. If 1526 // the context is nil a panic will occur. In the future the SDK may create 1527 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1528 // for more information on using Contexts. 1529 func (c *WAF) CreateSqlInjectionMatchSetWithContext(ctx aws.Context, input *CreateSqlInjectionMatchSetInput, opts ...request.Option) (*CreateSqlInjectionMatchSetOutput, error) { 1530 req, out := c.CreateSqlInjectionMatchSetRequest(input) 1531 req.SetContext(ctx) 1532 req.ApplyOptions(opts...) 1533 return out, req.Send() 1534 } 1535 1536 const opCreateWebACL = "CreateWebACL" 1537 1538 // CreateWebACLRequest generates a "aws/request.Request" representing the 1539 // client's request for the CreateWebACL operation. The "output" return 1540 // value will be populated with the request's response once the request completes 1541 // successfully. 1542 // 1543 // Use "Send" method on the returned Request to send the API call to the service. 1544 // the "output" return value is not valid until after Send returns without error. 1545 // 1546 // See CreateWebACL for more information on using the CreateWebACL 1547 // API call, and error handling. 1548 // 1549 // This method is useful when you want to inject custom logic or configuration 1550 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1551 // 1552 // 1553 // // Example sending a request using the CreateWebACLRequest method. 1554 // req, resp := client.CreateWebACLRequest(params) 1555 // 1556 // err := req.Send() 1557 // if err == nil { // resp is now filled 1558 // fmt.Println(resp) 1559 // } 1560 // 1561 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACL 1562 func (c *WAF) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Request, output *CreateWebACLOutput) { 1563 op := &request.Operation{ 1564 Name: opCreateWebACL, 1565 HTTPMethod: "POST", 1566 HTTPPath: "/", 1567 } 1568 1569 if input == nil { 1570 input = &CreateWebACLInput{} 1571 } 1572 1573 output = &CreateWebACLOutput{} 1574 req = c.newRequest(op, input, output) 1575 return 1576 } 1577 1578 // CreateWebACL API operation for AWS WAF. 1579 // 1580 // 1581 // This is AWS WAF Classic documentation. For more information, see AWS WAF 1582 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 1583 // in the developer guide. 1584 // 1585 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 1586 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1587 // With the latest version, AWS WAF has a single set of endpoints for regional 1588 // and global use. 1589 // 1590 // Creates a WebACL, which contains the Rules that identify the CloudFront web 1591 // requests that you want to allow, block, or count. AWS WAF evaluates Rules 1592 // in order based on the value of Priority for each Rule. 1593 // 1594 // You also specify a default action, either ALLOW or BLOCK. If a web request 1595 // doesn't match any of the Rules in a WebACL, AWS WAF responds to the request 1596 // with the default action. 1597 // 1598 // To create and configure a WebACL, perform the following steps: 1599 // 1600 // Create and update the ByteMatchSet objects and other predicates that you 1601 // want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, 1602 // CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. 1603 // 1604 // Create and update the Rules that you want to include in the WebACL. For more 1605 // information, see CreateRule and UpdateRule. 1606 // 1607 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1608 // parameter of a CreateWebACL request. 1609 // 1610 // Submit a CreateWebACL request. 1611 // 1612 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1613 // parameter of an UpdateWebACL request. 1614 // 1615 // Submit an UpdateWebACL request to specify the Rules that you want to include 1616 // in the WebACL, to specify the default action, and to associate the WebACL 1617 // with a CloudFront distribution. 1618 // 1619 // For more information about how to use the AWS WAF API, see the AWS WAF Developer 1620 // Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1621 // 1622 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1623 // with awserr.Error's Code and Message methods to get detailed information about 1624 // the error. 1625 // 1626 // See the AWS API reference guide for AWS WAF's 1627 // API operation CreateWebACL for usage and error information. 1628 // 1629 // Returned Error Types: 1630 // * StaleDataException 1631 // The operation failed because you tried to create, update, or delete an object 1632 // by using a change token that has already been used. 1633 // 1634 // * InternalErrorException 1635 // The operation failed because of a system problem, even though the request 1636 // was valid. Retry your request. 1637 // 1638 // * InvalidAccountException 1639 // The operation failed because you tried to create, update, or delete an object 1640 // by using an invalid account identifier. 1641 // 1642 // * DisallowedNameException 1643 // The name specified is invalid. 1644 // 1645 // * InvalidParameterException 1646 // The operation failed because AWS WAF didn't recognize a parameter in the 1647 // request. For example: 1648 // 1649 // * You specified an invalid parameter name. 1650 // 1651 // * You specified an invalid value. 1652 // 1653 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1654 // using an action other than INSERT or DELETE. 1655 // 1656 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1657 // BLOCK, or COUNT. 1658 // 1659 // * You tried to create a RateBasedRule with a RateKey value other than 1660 // IP. 1661 // 1662 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1663 // BLOCK, or COUNT. 1664 // 1665 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1666 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1667 // 1668 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1669 // for Data. 1670 // 1671 // * Your request references an ARN that is malformed, or corresponds to 1672 // a resource with which a web ACL cannot be associated. 1673 // 1674 // * LimitsExceededException 1675 // The operation exceeds a resource limit, for example, the maximum number of 1676 // WebACL objects that you can create for an AWS account. For more information, 1677 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 1678 // in the AWS WAF Developer Guide. 1679 // 1680 // * TagOperationException 1681 // 1682 // * TagOperationInternalErrorException 1683 // 1684 // * BadRequestException 1685 // 1686 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACL 1687 func (c *WAF) CreateWebACL(input *CreateWebACLInput) (*CreateWebACLOutput, error) { 1688 req, out := c.CreateWebACLRequest(input) 1689 return out, req.Send() 1690 } 1691 1692 // CreateWebACLWithContext is the same as CreateWebACL with the addition of 1693 // the ability to pass a context and additional request options. 1694 // 1695 // See CreateWebACL for details on how to use this API operation. 1696 // 1697 // The context must be non-nil and will be used for request cancellation. If 1698 // the context is nil a panic will occur. In the future the SDK may create 1699 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1700 // for more information on using Contexts. 1701 func (c *WAF) CreateWebACLWithContext(ctx aws.Context, input *CreateWebACLInput, opts ...request.Option) (*CreateWebACLOutput, error) { 1702 req, out := c.CreateWebACLRequest(input) 1703 req.SetContext(ctx) 1704 req.ApplyOptions(opts...) 1705 return out, req.Send() 1706 } 1707 1708 const opCreateWebACLMigrationStack = "CreateWebACLMigrationStack" 1709 1710 // CreateWebACLMigrationStackRequest generates a "aws/request.Request" representing the 1711 // client's request for the CreateWebACLMigrationStack operation. The "output" return 1712 // value will be populated with the request's response once the request completes 1713 // successfully. 1714 // 1715 // Use "Send" method on the returned Request to send the API call to the service. 1716 // the "output" return value is not valid until after Send returns without error. 1717 // 1718 // See CreateWebACLMigrationStack for more information on using the CreateWebACLMigrationStack 1719 // API call, and error handling. 1720 // 1721 // This method is useful when you want to inject custom logic or configuration 1722 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1723 // 1724 // 1725 // // Example sending a request using the CreateWebACLMigrationStackRequest method. 1726 // req, resp := client.CreateWebACLMigrationStackRequest(params) 1727 // 1728 // err := req.Send() 1729 // if err == nil { // resp is now filled 1730 // fmt.Println(resp) 1731 // } 1732 // 1733 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACLMigrationStack 1734 func (c *WAF) CreateWebACLMigrationStackRequest(input *CreateWebACLMigrationStackInput) (req *request.Request, output *CreateWebACLMigrationStackOutput) { 1735 op := &request.Operation{ 1736 Name: opCreateWebACLMigrationStack, 1737 HTTPMethod: "POST", 1738 HTTPPath: "/", 1739 } 1740 1741 if input == nil { 1742 input = &CreateWebACLMigrationStackInput{} 1743 } 1744 1745 output = &CreateWebACLMigrationStackOutput{} 1746 req = c.newRequest(op, input, output) 1747 return 1748 } 1749 1750 // CreateWebACLMigrationStack API operation for AWS WAF. 1751 // 1752 // Creates an AWS CloudFormation WAFV2 template for the specified web ACL in 1753 // the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack 1754 // from the template, to create the web ACL and its resources in AWS WAFV2. 1755 // Use this to migrate your AWS WAF Classic web ACL to the latest version of 1756 // AWS WAF. 1757 // 1758 // This is part of a larger migration procedure for web ACLs from AWS WAF Classic 1759 // to the latest version of AWS WAF. For the full procedure, including caveats 1760 // and manual steps to complete the migration and switch over to the new web 1761 // ACL, see Migrating your AWS WAF Classic resources to AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-migrating-from-classic.html) 1762 // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1763 // 1764 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1765 // with awserr.Error's Code and Message methods to get detailed information about 1766 // the error. 1767 // 1768 // See the AWS API reference guide for AWS WAF's 1769 // API operation CreateWebACLMigrationStack for usage and error information. 1770 // 1771 // Returned Error Types: 1772 // * InternalErrorException 1773 // The operation failed because of a system problem, even though the request 1774 // was valid. Retry your request. 1775 // 1776 // * InvalidParameterException 1777 // The operation failed because AWS WAF didn't recognize a parameter in the 1778 // request. For example: 1779 // 1780 // * You specified an invalid parameter name. 1781 // 1782 // * You specified an invalid value. 1783 // 1784 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1785 // using an action other than INSERT or DELETE. 1786 // 1787 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1788 // BLOCK, or COUNT. 1789 // 1790 // * You tried to create a RateBasedRule with a RateKey value other than 1791 // IP. 1792 // 1793 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1794 // BLOCK, or COUNT. 1795 // 1796 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1797 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1798 // 1799 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1800 // for Data. 1801 // 1802 // * Your request references an ARN that is malformed, or corresponds to 1803 // a resource with which a web ACL cannot be associated. 1804 // 1805 // * InvalidOperationException 1806 // The operation failed because there was nothing to do. For example: 1807 // 1808 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 1809 // specified WebACL. 1810 // 1811 // * You tried to remove an IP address from an IPSet, but the IP address 1812 // isn't in the specified IPSet. 1813 // 1814 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 1815 // isn't in the specified WebACL. 1816 // 1817 // * You tried to add a Rule to a WebACL, but the Rule already exists in 1818 // the specified WebACL. 1819 // 1820 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 1821 // already exists in the specified WebACL. 1822 // 1823 // * NonexistentItemException 1824 // The operation failed because the referenced object doesn't exist. 1825 // 1826 // * WAFEntityMigrationException 1827 // The operation failed due to a problem with the migration. The failure cause 1828 // is provided in the exception, in the MigrationErrorType: 1829 // 1830 // * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the 1831 // IgnoreUnsupportedType is not set to true. 1832 // 1833 // * ENTITY_NOT_FOUND - The web ACL doesn't exist. 1834 // 1835 // * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject 1836 // action to the specified Amazon S3 bucket. 1837 // 1838 // * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to 1839 // perform the PutObject action in the bucket. 1840 // 1841 // * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist. 1842 // 1843 // * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as 1844 // the web ACL. 1845 // 1846 // * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3 1847 // bucket for another reason. 1848 // 1849 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACLMigrationStack 1850 func (c *WAF) CreateWebACLMigrationStack(input *CreateWebACLMigrationStackInput) (*CreateWebACLMigrationStackOutput, error) { 1851 req, out := c.CreateWebACLMigrationStackRequest(input) 1852 return out, req.Send() 1853 } 1854 1855 // CreateWebACLMigrationStackWithContext is the same as CreateWebACLMigrationStack with the addition of 1856 // the ability to pass a context and additional request options. 1857 // 1858 // See CreateWebACLMigrationStack for details on how to use this API operation. 1859 // 1860 // The context must be non-nil and will be used for request cancellation. If 1861 // the context is nil a panic will occur. In the future the SDK may create 1862 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1863 // for more information on using Contexts. 1864 func (c *WAF) CreateWebACLMigrationStackWithContext(ctx aws.Context, input *CreateWebACLMigrationStackInput, opts ...request.Option) (*CreateWebACLMigrationStackOutput, error) { 1865 req, out := c.CreateWebACLMigrationStackRequest(input) 1866 req.SetContext(ctx) 1867 req.ApplyOptions(opts...) 1868 return out, req.Send() 1869 } 1870 1871 const opCreateXssMatchSet = "CreateXssMatchSet" 1872 1873 // CreateXssMatchSetRequest generates a "aws/request.Request" representing the 1874 // client's request for the CreateXssMatchSet operation. The "output" return 1875 // value will be populated with the request's response once the request completes 1876 // successfully. 1877 // 1878 // Use "Send" method on the returned Request to send the API call to the service. 1879 // the "output" return value is not valid until after Send returns without error. 1880 // 1881 // See CreateXssMatchSet for more information on using the CreateXssMatchSet 1882 // API call, and error handling. 1883 // 1884 // This method is useful when you want to inject custom logic or configuration 1885 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1886 // 1887 // 1888 // // Example sending a request using the CreateXssMatchSetRequest method. 1889 // req, resp := client.CreateXssMatchSetRequest(params) 1890 // 1891 // err := req.Send() 1892 // if err == nil { // resp is now filled 1893 // fmt.Println(resp) 1894 // } 1895 // 1896 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateXssMatchSet 1897 func (c *WAF) CreateXssMatchSetRequest(input *CreateXssMatchSetInput) (req *request.Request, output *CreateXssMatchSetOutput) { 1898 op := &request.Operation{ 1899 Name: opCreateXssMatchSet, 1900 HTTPMethod: "POST", 1901 HTTPPath: "/", 1902 } 1903 1904 if input == nil { 1905 input = &CreateXssMatchSetInput{} 1906 } 1907 1908 output = &CreateXssMatchSetOutput{} 1909 req = c.newRequest(op, input, output) 1910 return 1911 } 1912 1913 // CreateXssMatchSet API operation for AWS WAF. 1914 // 1915 // 1916 // This is AWS WAF Classic documentation. For more information, see AWS WAF 1917 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 1918 // in the developer guide. 1919 // 1920 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 1921 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 1922 // With the latest version, AWS WAF has a single set of endpoints for regional 1923 // and global use. 1924 // 1925 // Creates an XssMatchSet, which you use to allow, block, or count requests 1926 // that contain cross-site scripting attacks in the specified part of web requests. 1927 // AWS WAF searches for character sequences that are likely to be malicious 1928 // strings. 1929 // 1930 // To create and configure an XssMatchSet, perform the following steps: 1931 // 1932 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1933 // parameter of a CreateXssMatchSet request. 1934 // 1935 // Submit a CreateXssMatchSet request. 1936 // 1937 // Use GetChangeToken to get the change token that you provide in the ChangeToken 1938 // parameter of an UpdateXssMatchSet request. 1939 // 1940 // Submit an UpdateXssMatchSet request to specify the parts of web requests 1941 // in which you want to allow, block, or count cross-site scripting attacks. 1942 // 1943 // For more information about how to use the AWS WAF API to allow or block HTTP 1944 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 1945 // 1946 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1947 // with awserr.Error's Code and Message methods to get detailed information about 1948 // the error. 1949 // 1950 // See the AWS API reference guide for AWS WAF's 1951 // API operation CreateXssMatchSet for usage and error information. 1952 // 1953 // Returned Error Types: 1954 // * DisallowedNameException 1955 // The name specified is invalid. 1956 // 1957 // * InternalErrorException 1958 // The operation failed because of a system problem, even though the request 1959 // was valid. Retry your request. 1960 // 1961 // * InvalidAccountException 1962 // The operation failed because you tried to create, update, or delete an object 1963 // by using an invalid account identifier. 1964 // 1965 // * InvalidParameterException 1966 // The operation failed because AWS WAF didn't recognize a parameter in the 1967 // request. For example: 1968 // 1969 // * You specified an invalid parameter name. 1970 // 1971 // * You specified an invalid value. 1972 // 1973 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 1974 // using an action other than INSERT or DELETE. 1975 // 1976 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 1977 // BLOCK, or COUNT. 1978 // 1979 // * You tried to create a RateBasedRule with a RateKey value other than 1980 // IP. 1981 // 1982 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 1983 // BLOCK, or COUNT. 1984 // 1985 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 1986 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 1987 // 1988 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 1989 // for Data. 1990 // 1991 // * Your request references an ARN that is malformed, or corresponds to 1992 // a resource with which a web ACL cannot be associated. 1993 // 1994 // * StaleDataException 1995 // The operation failed because you tried to create, update, or delete an object 1996 // by using a change token that has already been used. 1997 // 1998 // * LimitsExceededException 1999 // The operation exceeds a resource limit, for example, the maximum number of 2000 // WebACL objects that you can create for an AWS account. For more information, 2001 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 2002 // in the AWS WAF Developer Guide. 2003 // 2004 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateXssMatchSet 2005 func (c *WAF) CreateXssMatchSet(input *CreateXssMatchSetInput) (*CreateXssMatchSetOutput, error) { 2006 req, out := c.CreateXssMatchSetRequest(input) 2007 return out, req.Send() 2008 } 2009 2010 // CreateXssMatchSetWithContext is the same as CreateXssMatchSet with the addition of 2011 // the ability to pass a context and additional request options. 2012 // 2013 // See CreateXssMatchSet for details on how to use this API operation. 2014 // 2015 // The context must be non-nil and will be used for request cancellation. If 2016 // the context is nil a panic will occur. In the future the SDK may create 2017 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2018 // for more information on using Contexts. 2019 func (c *WAF) CreateXssMatchSetWithContext(ctx aws.Context, input *CreateXssMatchSetInput, opts ...request.Option) (*CreateXssMatchSetOutput, error) { 2020 req, out := c.CreateXssMatchSetRequest(input) 2021 req.SetContext(ctx) 2022 req.ApplyOptions(opts...) 2023 return out, req.Send() 2024 } 2025 2026 const opDeleteByteMatchSet = "DeleteByteMatchSet" 2027 2028 // DeleteByteMatchSetRequest generates a "aws/request.Request" representing the 2029 // client's request for the DeleteByteMatchSet operation. The "output" return 2030 // value will be populated with the request's response once the request completes 2031 // successfully. 2032 // 2033 // Use "Send" method on the returned Request to send the API call to the service. 2034 // the "output" return value is not valid until after Send returns without error. 2035 // 2036 // See DeleteByteMatchSet for more information on using the DeleteByteMatchSet 2037 // API call, and error handling. 2038 // 2039 // This method is useful when you want to inject custom logic or configuration 2040 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2041 // 2042 // 2043 // // Example sending a request using the DeleteByteMatchSetRequest method. 2044 // req, resp := client.DeleteByteMatchSetRequest(params) 2045 // 2046 // err := req.Send() 2047 // if err == nil { // resp is now filled 2048 // fmt.Println(resp) 2049 // } 2050 // 2051 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteByteMatchSet 2052 func (c *WAF) DeleteByteMatchSetRequest(input *DeleteByteMatchSetInput) (req *request.Request, output *DeleteByteMatchSetOutput) { 2053 op := &request.Operation{ 2054 Name: opDeleteByteMatchSet, 2055 HTTPMethod: "POST", 2056 HTTPPath: "/", 2057 } 2058 2059 if input == nil { 2060 input = &DeleteByteMatchSetInput{} 2061 } 2062 2063 output = &DeleteByteMatchSetOutput{} 2064 req = c.newRequest(op, input, output) 2065 return 2066 } 2067 2068 // DeleteByteMatchSet API operation for AWS WAF. 2069 // 2070 // 2071 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2072 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2073 // in the developer guide. 2074 // 2075 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2076 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2077 // With the latest version, AWS WAF has a single set of endpoints for regional 2078 // and global use. 2079 // 2080 // Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's 2081 // still used in any Rules or if it still includes any ByteMatchTuple objects 2082 // (any filters). 2083 // 2084 // If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. 2085 // 2086 // To permanently delete a ByteMatchSet, perform the following steps: 2087 // 2088 // Update the ByteMatchSet to remove filters, if any. For more information, 2089 // see UpdateByteMatchSet. 2090 // 2091 // Use GetChangeToken to get the change token that you provide in the ChangeToken 2092 // parameter of a DeleteByteMatchSet request. 2093 // 2094 // Submit a DeleteByteMatchSet request. 2095 // 2096 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2097 // with awserr.Error's Code and Message methods to get detailed information about 2098 // the error. 2099 // 2100 // See the AWS API reference guide for AWS WAF's 2101 // API operation DeleteByteMatchSet for usage and error information. 2102 // 2103 // Returned Error Types: 2104 // * InternalErrorException 2105 // The operation failed because of a system problem, even though the request 2106 // was valid. Retry your request. 2107 // 2108 // * InvalidAccountException 2109 // The operation failed because you tried to create, update, or delete an object 2110 // by using an invalid account identifier. 2111 // 2112 // * NonexistentItemException 2113 // The operation failed because the referenced object doesn't exist. 2114 // 2115 // * ReferencedItemException 2116 // The operation failed because you tried to delete an object that is still 2117 // in use. For example: 2118 // 2119 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2120 // 2121 // * You tried to delete a Rule that is still referenced by a WebACL. 2122 // 2123 // * StaleDataException 2124 // The operation failed because you tried to create, update, or delete an object 2125 // by using a change token that has already been used. 2126 // 2127 // * NonEmptyEntityException 2128 // The operation failed because you tried to delete an object that isn't empty. 2129 // For example: 2130 // 2131 // * You tried to delete a WebACL that still contains one or more Rule objects. 2132 // 2133 // * You tried to delete a Rule that still contains one or more ByteMatchSet 2134 // objects or other predicates. 2135 // 2136 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2137 // objects. 2138 // 2139 // * You tried to delete an IPSet that references one or more IP addresses. 2140 // 2141 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteByteMatchSet 2142 func (c *WAF) DeleteByteMatchSet(input *DeleteByteMatchSetInput) (*DeleteByteMatchSetOutput, error) { 2143 req, out := c.DeleteByteMatchSetRequest(input) 2144 return out, req.Send() 2145 } 2146 2147 // DeleteByteMatchSetWithContext is the same as DeleteByteMatchSet with the addition of 2148 // the ability to pass a context and additional request options. 2149 // 2150 // See DeleteByteMatchSet for details on how to use this API operation. 2151 // 2152 // The context must be non-nil and will be used for request cancellation. If 2153 // the context is nil a panic will occur. In the future the SDK may create 2154 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2155 // for more information on using Contexts. 2156 func (c *WAF) DeleteByteMatchSetWithContext(ctx aws.Context, input *DeleteByteMatchSetInput, opts ...request.Option) (*DeleteByteMatchSetOutput, error) { 2157 req, out := c.DeleteByteMatchSetRequest(input) 2158 req.SetContext(ctx) 2159 req.ApplyOptions(opts...) 2160 return out, req.Send() 2161 } 2162 2163 const opDeleteGeoMatchSet = "DeleteGeoMatchSet" 2164 2165 // DeleteGeoMatchSetRequest generates a "aws/request.Request" representing the 2166 // client's request for the DeleteGeoMatchSet operation. The "output" return 2167 // value will be populated with the request's response once the request completes 2168 // successfully. 2169 // 2170 // Use "Send" method on the returned Request to send the API call to the service. 2171 // the "output" return value is not valid until after Send returns without error. 2172 // 2173 // See DeleteGeoMatchSet for more information on using the DeleteGeoMatchSet 2174 // API call, and error handling. 2175 // 2176 // This method is useful when you want to inject custom logic or configuration 2177 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2178 // 2179 // 2180 // // Example sending a request using the DeleteGeoMatchSetRequest method. 2181 // req, resp := client.DeleteGeoMatchSetRequest(params) 2182 // 2183 // err := req.Send() 2184 // if err == nil { // resp is now filled 2185 // fmt.Println(resp) 2186 // } 2187 // 2188 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteGeoMatchSet 2189 func (c *WAF) DeleteGeoMatchSetRequest(input *DeleteGeoMatchSetInput) (req *request.Request, output *DeleteGeoMatchSetOutput) { 2190 op := &request.Operation{ 2191 Name: opDeleteGeoMatchSet, 2192 HTTPMethod: "POST", 2193 HTTPPath: "/", 2194 } 2195 2196 if input == nil { 2197 input = &DeleteGeoMatchSetInput{} 2198 } 2199 2200 output = &DeleteGeoMatchSetOutput{} 2201 req = c.newRequest(op, input, output) 2202 return 2203 } 2204 2205 // DeleteGeoMatchSet API operation for AWS WAF. 2206 // 2207 // 2208 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2209 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2210 // in the developer guide. 2211 // 2212 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2213 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2214 // With the latest version, AWS WAF has a single set of endpoints for regional 2215 // and global use. 2216 // 2217 // Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's 2218 // still used in any Rules or if it still includes any countries. 2219 // 2220 // If you just want to remove a GeoMatchSet from a Rule, use UpdateRule. 2221 // 2222 // To permanently delete a GeoMatchSet from AWS WAF, perform the following steps: 2223 // 2224 // Update the GeoMatchSet to remove any countries. For more information, see 2225 // UpdateGeoMatchSet. 2226 // 2227 // Use GetChangeToken to get the change token that you provide in the ChangeToken 2228 // parameter of a DeleteGeoMatchSet request. 2229 // 2230 // Submit a DeleteGeoMatchSet request. 2231 // 2232 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2233 // with awserr.Error's Code and Message methods to get detailed information about 2234 // the error. 2235 // 2236 // See the AWS API reference guide for AWS WAF's 2237 // API operation DeleteGeoMatchSet for usage and error information. 2238 // 2239 // Returned Error Types: 2240 // * StaleDataException 2241 // The operation failed because you tried to create, update, or delete an object 2242 // by using a change token that has already been used. 2243 // 2244 // * InternalErrorException 2245 // The operation failed because of a system problem, even though the request 2246 // was valid. Retry your request. 2247 // 2248 // * InvalidAccountException 2249 // The operation failed because you tried to create, update, or delete an object 2250 // by using an invalid account identifier. 2251 // 2252 // * NonexistentItemException 2253 // The operation failed because the referenced object doesn't exist. 2254 // 2255 // * ReferencedItemException 2256 // The operation failed because you tried to delete an object that is still 2257 // in use. For example: 2258 // 2259 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2260 // 2261 // * You tried to delete a Rule that is still referenced by a WebACL. 2262 // 2263 // * NonEmptyEntityException 2264 // The operation failed because you tried to delete an object that isn't empty. 2265 // For example: 2266 // 2267 // * You tried to delete a WebACL that still contains one or more Rule objects. 2268 // 2269 // * You tried to delete a Rule that still contains one or more ByteMatchSet 2270 // objects or other predicates. 2271 // 2272 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2273 // objects. 2274 // 2275 // * You tried to delete an IPSet that references one or more IP addresses. 2276 // 2277 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteGeoMatchSet 2278 func (c *WAF) DeleteGeoMatchSet(input *DeleteGeoMatchSetInput) (*DeleteGeoMatchSetOutput, error) { 2279 req, out := c.DeleteGeoMatchSetRequest(input) 2280 return out, req.Send() 2281 } 2282 2283 // DeleteGeoMatchSetWithContext is the same as DeleteGeoMatchSet with the addition of 2284 // the ability to pass a context and additional request options. 2285 // 2286 // See DeleteGeoMatchSet for details on how to use this API operation. 2287 // 2288 // The context must be non-nil and will be used for request cancellation. If 2289 // the context is nil a panic will occur. In the future the SDK may create 2290 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2291 // for more information on using Contexts. 2292 func (c *WAF) DeleteGeoMatchSetWithContext(ctx aws.Context, input *DeleteGeoMatchSetInput, opts ...request.Option) (*DeleteGeoMatchSetOutput, error) { 2293 req, out := c.DeleteGeoMatchSetRequest(input) 2294 req.SetContext(ctx) 2295 req.ApplyOptions(opts...) 2296 return out, req.Send() 2297 } 2298 2299 const opDeleteIPSet = "DeleteIPSet" 2300 2301 // DeleteIPSetRequest generates a "aws/request.Request" representing the 2302 // client's request for the DeleteIPSet operation. The "output" return 2303 // value will be populated with the request's response once the request completes 2304 // successfully. 2305 // 2306 // Use "Send" method on the returned Request to send the API call to the service. 2307 // the "output" return value is not valid until after Send returns without error. 2308 // 2309 // See DeleteIPSet for more information on using the DeleteIPSet 2310 // API call, and error handling. 2311 // 2312 // This method is useful when you want to inject custom logic or configuration 2313 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2314 // 2315 // 2316 // // Example sending a request using the DeleteIPSetRequest method. 2317 // req, resp := client.DeleteIPSetRequest(params) 2318 // 2319 // err := req.Send() 2320 // if err == nil { // resp is now filled 2321 // fmt.Println(resp) 2322 // } 2323 // 2324 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteIPSet 2325 func (c *WAF) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) { 2326 op := &request.Operation{ 2327 Name: opDeleteIPSet, 2328 HTTPMethod: "POST", 2329 HTTPPath: "/", 2330 } 2331 2332 if input == nil { 2333 input = &DeleteIPSetInput{} 2334 } 2335 2336 output = &DeleteIPSetOutput{} 2337 req = c.newRequest(op, input, output) 2338 return 2339 } 2340 2341 // DeleteIPSet API operation for AWS WAF. 2342 // 2343 // 2344 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2345 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2346 // in the developer guide. 2347 // 2348 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2349 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2350 // With the latest version, AWS WAF has a single set of endpoints for regional 2351 // and global use. 2352 // 2353 // Permanently deletes an IPSet. You can't delete an IPSet if it's still used 2354 // in any Rules or if it still includes any IP addresses. 2355 // 2356 // If you just want to remove an IPSet from a Rule, use UpdateRule. 2357 // 2358 // To permanently delete an IPSet from AWS WAF, perform the following steps: 2359 // 2360 // Update the IPSet to remove IP address ranges, if any. For more information, 2361 // see UpdateIPSet. 2362 // 2363 // Use GetChangeToken to get the change token that you provide in the ChangeToken 2364 // parameter of a DeleteIPSet request. 2365 // 2366 // Submit a DeleteIPSet request. 2367 // 2368 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2369 // with awserr.Error's Code and Message methods to get detailed information about 2370 // the error. 2371 // 2372 // See the AWS API reference guide for AWS WAF's 2373 // API operation DeleteIPSet for usage and error information. 2374 // 2375 // Returned Error Types: 2376 // * StaleDataException 2377 // The operation failed because you tried to create, update, or delete an object 2378 // by using a change token that has already been used. 2379 // 2380 // * InternalErrorException 2381 // The operation failed because of a system problem, even though the request 2382 // was valid. Retry your request. 2383 // 2384 // * InvalidAccountException 2385 // The operation failed because you tried to create, update, or delete an object 2386 // by using an invalid account identifier. 2387 // 2388 // * NonexistentItemException 2389 // The operation failed because the referenced object doesn't exist. 2390 // 2391 // * ReferencedItemException 2392 // The operation failed because you tried to delete an object that is still 2393 // in use. For example: 2394 // 2395 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2396 // 2397 // * You tried to delete a Rule that is still referenced by a WebACL. 2398 // 2399 // * NonEmptyEntityException 2400 // The operation failed because you tried to delete an object that isn't empty. 2401 // For example: 2402 // 2403 // * You tried to delete a WebACL that still contains one or more Rule objects. 2404 // 2405 // * You tried to delete a Rule that still contains one or more ByteMatchSet 2406 // objects or other predicates. 2407 // 2408 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2409 // objects. 2410 // 2411 // * You tried to delete an IPSet that references one or more IP addresses. 2412 // 2413 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteIPSet 2414 func (c *WAF) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) { 2415 req, out := c.DeleteIPSetRequest(input) 2416 return out, req.Send() 2417 } 2418 2419 // DeleteIPSetWithContext is the same as DeleteIPSet with the addition of 2420 // the ability to pass a context and additional request options. 2421 // 2422 // See DeleteIPSet for details on how to use this API operation. 2423 // 2424 // The context must be non-nil and will be used for request cancellation. If 2425 // the context is nil a panic will occur. In the future the SDK may create 2426 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2427 // for more information on using Contexts. 2428 func (c *WAF) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error) { 2429 req, out := c.DeleteIPSetRequest(input) 2430 req.SetContext(ctx) 2431 req.ApplyOptions(opts...) 2432 return out, req.Send() 2433 } 2434 2435 const opDeleteLoggingConfiguration = "DeleteLoggingConfiguration" 2436 2437 // DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the 2438 // client's request for the DeleteLoggingConfiguration operation. The "output" return 2439 // value will be populated with the request's response once the request completes 2440 // successfully. 2441 // 2442 // Use "Send" method on the returned Request to send the API call to the service. 2443 // the "output" return value is not valid until after Send returns without error. 2444 // 2445 // See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration 2446 // API call, and error handling. 2447 // 2448 // This method is useful when you want to inject custom logic or configuration 2449 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2450 // 2451 // 2452 // // Example sending a request using the DeleteLoggingConfigurationRequest method. 2453 // req, resp := client.DeleteLoggingConfigurationRequest(params) 2454 // 2455 // err := req.Send() 2456 // if err == nil { // resp is now filled 2457 // fmt.Println(resp) 2458 // } 2459 // 2460 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteLoggingConfiguration 2461 func (c *WAF) DeleteLoggingConfigurationRequest(input *DeleteLoggingConfigurationInput) (req *request.Request, output *DeleteLoggingConfigurationOutput) { 2462 op := &request.Operation{ 2463 Name: opDeleteLoggingConfiguration, 2464 HTTPMethod: "POST", 2465 HTTPPath: "/", 2466 } 2467 2468 if input == nil { 2469 input = &DeleteLoggingConfigurationInput{} 2470 } 2471 2472 output = &DeleteLoggingConfigurationOutput{} 2473 req = c.newRequest(op, input, output) 2474 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2475 return 2476 } 2477 2478 // DeleteLoggingConfiguration API operation for AWS WAF. 2479 // 2480 // 2481 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2482 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2483 // in the developer guide. 2484 // 2485 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2486 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2487 // With the latest version, AWS WAF has a single set of endpoints for regional 2488 // and global use. 2489 // 2490 // Permanently deletes the LoggingConfiguration from the specified web ACL. 2491 // 2492 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2493 // with awserr.Error's Code and Message methods to get detailed information about 2494 // the error. 2495 // 2496 // See the AWS API reference guide for AWS WAF's 2497 // API operation DeleteLoggingConfiguration for usage and error information. 2498 // 2499 // Returned Error Types: 2500 // * InternalErrorException 2501 // The operation failed because of a system problem, even though the request 2502 // was valid. Retry your request. 2503 // 2504 // * NonexistentItemException 2505 // The operation failed because the referenced object doesn't exist. 2506 // 2507 // * StaleDataException 2508 // The operation failed because you tried to create, update, or delete an object 2509 // by using a change token that has already been used. 2510 // 2511 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteLoggingConfiguration 2512 func (c *WAF) DeleteLoggingConfiguration(input *DeleteLoggingConfigurationInput) (*DeleteLoggingConfigurationOutput, error) { 2513 req, out := c.DeleteLoggingConfigurationRequest(input) 2514 return out, req.Send() 2515 } 2516 2517 // DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of 2518 // the ability to pass a context and additional request options. 2519 // 2520 // See DeleteLoggingConfiguration for details on how to use this API operation. 2521 // 2522 // The context must be non-nil and will be used for request cancellation. If 2523 // the context is nil a panic will occur. In the future the SDK may create 2524 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2525 // for more information on using Contexts. 2526 func (c *WAF) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *DeleteLoggingConfigurationInput, opts ...request.Option) (*DeleteLoggingConfigurationOutput, error) { 2527 req, out := c.DeleteLoggingConfigurationRequest(input) 2528 req.SetContext(ctx) 2529 req.ApplyOptions(opts...) 2530 return out, req.Send() 2531 } 2532 2533 const opDeletePermissionPolicy = "DeletePermissionPolicy" 2534 2535 // DeletePermissionPolicyRequest generates a "aws/request.Request" representing the 2536 // client's request for the DeletePermissionPolicy operation. The "output" return 2537 // value will be populated with the request's response once the request completes 2538 // successfully. 2539 // 2540 // Use "Send" method on the returned Request to send the API call to the service. 2541 // the "output" return value is not valid until after Send returns without error. 2542 // 2543 // See DeletePermissionPolicy for more information on using the DeletePermissionPolicy 2544 // API call, and error handling. 2545 // 2546 // This method is useful when you want to inject custom logic or configuration 2547 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2548 // 2549 // 2550 // // Example sending a request using the DeletePermissionPolicyRequest method. 2551 // req, resp := client.DeletePermissionPolicyRequest(params) 2552 // 2553 // err := req.Send() 2554 // if err == nil { // resp is now filled 2555 // fmt.Println(resp) 2556 // } 2557 // 2558 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeletePermissionPolicy 2559 func (c *WAF) DeletePermissionPolicyRequest(input *DeletePermissionPolicyInput) (req *request.Request, output *DeletePermissionPolicyOutput) { 2560 op := &request.Operation{ 2561 Name: opDeletePermissionPolicy, 2562 HTTPMethod: "POST", 2563 HTTPPath: "/", 2564 } 2565 2566 if input == nil { 2567 input = &DeletePermissionPolicyInput{} 2568 } 2569 2570 output = &DeletePermissionPolicyOutput{} 2571 req = c.newRequest(op, input, output) 2572 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2573 return 2574 } 2575 2576 // DeletePermissionPolicy API operation for AWS WAF. 2577 // 2578 // 2579 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2580 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2581 // in the developer guide. 2582 // 2583 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2584 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2585 // With the latest version, AWS WAF has a single set of endpoints for regional 2586 // and global use. 2587 // 2588 // Permanently deletes an IAM policy from the specified RuleGroup. 2589 // 2590 // The user making the request must be the owner of the RuleGroup. 2591 // 2592 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2593 // with awserr.Error's Code and Message methods to get detailed information about 2594 // the error. 2595 // 2596 // See the AWS API reference guide for AWS WAF's 2597 // API operation DeletePermissionPolicy for usage and error information. 2598 // 2599 // Returned Error Types: 2600 // * InternalErrorException 2601 // The operation failed because of a system problem, even though the request 2602 // was valid. Retry your request. 2603 // 2604 // * StaleDataException 2605 // The operation failed because you tried to create, update, or delete an object 2606 // by using a change token that has already been used. 2607 // 2608 // * NonexistentItemException 2609 // The operation failed because the referenced object doesn't exist. 2610 // 2611 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeletePermissionPolicy 2612 func (c *WAF) DeletePermissionPolicy(input *DeletePermissionPolicyInput) (*DeletePermissionPolicyOutput, error) { 2613 req, out := c.DeletePermissionPolicyRequest(input) 2614 return out, req.Send() 2615 } 2616 2617 // DeletePermissionPolicyWithContext is the same as DeletePermissionPolicy with the addition of 2618 // the ability to pass a context and additional request options. 2619 // 2620 // See DeletePermissionPolicy for details on how to use this API operation. 2621 // 2622 // The context must be non-nil and will be used for request cancellation. If 2623 // the context is nil a panic will occur. In the future the SDK may create 2624 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2625 // for more information on using Contexts. 2626 func (c *WAF) DeletePermissionPolicyWithContext(ctx aws.Context, input *DeletePermissionPolicyInput, opts ...request.Option) (*DeletePermissionPolicyOutput, error) { 2627 req, out := c.DeletePermissionPolicyRequest(input) 2628 req.SetContext(ctx) 2629 req.ApplyOptions(opts...) 2630 return out, req.Send() 2631 } 2632 2633 const opDeleteRateBasedRule = "DeleteRateBasedRule" 2634 2635 // DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the 2636 // client's request for the DeleteRateBasedRule operation. The "output" return 2637 // value will be populated with the request's response once the request completes 2638 // successfully. 2639 // 2640 // Use "Send" method on the returned Request to send the API call to the service. 2641 // the "output" return value is not valid until after Send returns without error. 2642 // 2643 // See DeleteRateBasedRule for more information on using the DeleteRateBasedRule 2644 // API call, and error handling. 2645 // 2646 // This method is useful when you want to inject custom logic or configuration 2647 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2648 // 2649 // 2650 // // Example sending a request using the DeleteRateBasedRuleRequest method. 2651 // req, resp := client.DeleteRateBasedRuleRequest(params) 2652 // 2653 // err := req.Send() 2654 // if err == nil { // resp is now filled 2655 // fmt.Println(resp) 2656 // } 2657 // 2658 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRateBasedRule 2659 func (c *WAF) DeleteRateBasedRuleRequest(input *DeleteRateBasedRuleInput) (req *request.Request, output *DeleteRateBasedRuleOutput) { 2660 op := &request.Operation{ 2661 Name: opDeleteRateBasedRule, 2662 HTTPMethod: "POST", 2663 HTTPPath: "/", 2664 } 2665 2666 if input == nil { 2667 input = &DeleteRateBasedRuleInput{} 2668 } 2669 2670 output = &DeleteRateBasedRuleOutput{} 2671 req = c.newRequest(op, input, output) 2672 return 2673 } 2674 2675 // DeleteRateBasedRule API operation for AWS WAF. 2676 // 2677 // 2678 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2679 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2680 // in the developer guide. 2681 // 2682 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2683 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2684 // With the latest version, AWS WAF has a single set of endpoints for regional 2685 // and global use. 2686 // 2687 // Permanently deletes a RateBasedRule. You can't delete a rule if it's still 2688 // used in any WebACL objects or if it still includes any predicates, such as 2689 // ByteMatchSet objects. 2690 // 2691 // If you just want to remove a rule from a WebACL, use UpdateWebACL. 2692 // 2693 // To permanently delete a RateBasedRule from AWS WAF, perform the following 2694 // steps: 2695 // 2696 // Update the RateBasedRule to remove predicates, if any. For more information, 2697 // see UpdateRateBasedRule. 2698 // 2699 // Use GetChangeToken to get the change token that you provide in the ChangeToken 2700 // parameter of a DeleteRateBasedRule request. 2701 // 2702 // Submit a DeleteRateBasedRule request. 2703 // 2704 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2705 // with awserr.Error's Code and Message methods to get detailed information about 2706 // the error. 2707 // 2708 // See the AWS API reference guide for AWS WAF's 2709 // API operation DeleteRateBasedRule for usage and error information. 2710 // 2711 // Returned Error Types: 2712 // * StaleDataException 2713 // The operation failed because you tried to create, update, or delete an object 2714 // by using a change token that has already been used. 2715 // 2716 // * InternalErrorException 2717 // The operation failed because of a system problem, even though the request 2718 // was valid. Retry your request. 2719 // 2720 // * InvalidAccountException 2721 // The operation failed because you tried to create, update, or delete an object 2722 // by using an invalid account identifier. 2723 // 2724 // * NonexistentItemException 2725 // The operation failed because the referenced object doesn't exist. 2726 // 2727 // * ReferencedItemException 2728 // The operation failed because you tried to delete an object that is still 2729 // in use. For example: 2730 // 2731 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2732 // 2733 // * You tried to delete a Rule that is still referenced by a WebACL. 2734 // 2735 // * NonEmptyEntityException 2736 // The operation failed because you tried to delete an object that isn't empty. 2737 // For example: 2738 // 2739 // * You tried to delete a WebACL that still contains one or more Rule objects. 2740 // 2741 // * You tried to delete a Rule that still contains one or more ByteMatchSet 2742 // objects or other predicates. 2743 // 2744 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2745 // objects. 2746 // 2747 // * You tried to delete an IPSet that references one or more IP addresses. 2748 // 2749 // * TagOperationException 2750 // 2751 // * TagOperationInternalErrorException 2752 // 2753 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRateBasedRule 2754 func (c *WAF) DeleteRateBasedRule(input *DeleteRateBasedRuleInput) (*DeleteRateBasedRuleOutput, error) { 2755 req, out := c.DeleteRateBasedRuleRequest(input) 2756 return out, req.Send() 2757 } 2758 2759 // DeleteRateBasedRuleWithContext is the same as DeleteRateBasedRule with the addition of 2760 // the ability to pass a context and additional request options. 2761 // 2762 // See DeleteRateBasedRule for details on how to use this API operation. 2763 // 2764 // The context must be non-nil and will be used for request cancellation. If 2765 // the context is nil a panic will occur. In the future the SDK may create 2766 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2767 // for more information on using Contexts. 2768 func (c *WAF) DeleteRateBasedRuleWithContext(ctx aws.Context, input *DeleteRateBasedRuleInput, opts ...request.Option) (*DeleteRateBasedRuleOutput, error) { 2769 req, out := c.DeleteRateBasedRuleRequest(input) 2770 req.SetContext(ctx) 2771 req.ApplyOptions(opts...) 2772 return out, req.Send() 2773 } 2774 2775 const opDeleteRegexMatchSet = "DeleteRegexMatchSet" 2776 2777 // DeleteRegexMatchSetRequest generates a "aws/request.Request" representing the 2778 // client's request for the DeleteRegexMatchSet operation. The "output" return 2779 // value will be populated with the request's response once the request completes 2780 // successfully. 2781 // 2782 // Use "Send" method on the returned Request to send the API call to the service. 2783 // the "output" return value is not valid until after Send returns without error. 2784 // 2785 // See DeleteRegexMatchSet for more information on using the DeleteRegexMatchSet 2786 // API call, and error handling. 2787 // 2788 // This method is useful when you want to inject custom logic or configuration 2789 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2790 // 2791 // 2792 // // Example sending a request using the DeleteRegexMatchSetRequest method. 2793 // req, resp := client.DeleteRegexMatchSetRequest(params) 2794 // 2795 // err := req.Send() 2796 // if err == nil { // resp is now filled 2797 // fmt.Println(resp) 2798 // } 2799 // 2800 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexMatchSet 2801 func (c *WAF) DeleteRegexMatchSetRequest(input *DeleteRegexMatchSetInput) (req *request.Request, output *DeleteRegexMatchSetOutput) { 2802 op := &request.Operation{ 2803 Name: opDeleteRegexMatchSet, 2804 HTTPMethod: "POST", 2805 HTTPPath: "/", 2806 } 2807 2808 if input == nil { 2809 input = &DeleteRegexMatchSetInput{} 2810 } 2811 2812 output = &DeleteRegexMatchSetOutput{} 2813 req = c.newRequest(op, input, output) 2814 return 2815 } 2816 2817 // DeleteRegexMatchSet API operation for AWS WAF. 2818 // 2819 // 2820 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2821 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2822 // in the developer guide. 2823 // 2824 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2825 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2826 // With the latest version, AWS WAF has a single set of endpoints for regional 2827 // and global use. 2828 // 2829 // Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if 2830 // it's still used in any Rules or if it still includes any RegexMatchTuples 2831 // objects (any filters). 2832 // 2833 // If you just want to remove a RegexMatchSet from a Rule, use UpdateRule. 2834 // 2835 // To permanently delete a RegexMatchSet, perform the following steps: 2836 // 2837 // Update the RegexMatchSet to remove filters, if any. For more information, 2838 // see UpdateRegexMatchSet. 2839 // 2840 // Use GetChangeToken to get the change token that you provide in the ChangeToken 2841 // parameter of a DeleteRegexMatchSet request. 2842 // 2843 // Submit a DeleteRegexMatchSet request. 2844 // 2845 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2846 // with awserr.Error's Code and Message methods to get detailed information about 2847 // the error. 2848 // 2849 // See the AWS API reference guide for AWS WAF's 2850 // API operation DeleteRegexMatchSet for usage and error information. 2851 // 2852 // Returned Error Types: 2853 // * InternalErrorException 2854 // The operation failed because of a system problem, even though the request 2855 // was valid. Retry your request. 2856 // 2857 // * InvalidAccountException 2858 // The operation failed because you tried to create, update, or delete an object 2859 // by using an invalid account identifier. 2860 // 2861 // * NonexistentItemException 2862 // The operation failed because the referenced object doesn't exist. 2863 // 2864 // * ReferencedItemException 2865 // The operation failed because you tried to delete an object that is still 2866 // in use. For example: 2867 // 2868 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2869 // 2870 // * You tried to delete a Rule that is still referenced by a WebACL. 2871 // 2872 // * StaleDataException 2873 // The operation failed because you tried to create, update, or delete an object 2874 // by using a change token that has already been used. 2875 // 2876 // * NonEmptyEntityException 2877 // The operation failed because you tried to delete an object that isn't empty. 2878 // For example: 2879 // 2880 // * You tried to delete a WebACL that still contains one or more Rule objects. 2881 // 2882 // * You tried to delete a Rule that still contains one or more ByteMatchSet 2883 // objects or other predicates. 2884 // 2885 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 2886 // objects. 2887 // 2888 // * You tried to delete an IPSet that references one or more IP addresses. 2889 // 2890 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexMatchSet 2891 func (c *WAF) DeleteRegexMatchSet(input *DeleteRegexMatchSetInput) (*DeleteRegexMatchSetOutput, error) { 2892 req, out := c.DeleteRegexMatchSetRequest(input) 2893 return out, req.Send() 2894 } 2895 2896 // DeleteRegexMatchSetWithContext is the same as DeleteRegexMatchSet with the addition of 2897 // the ability to pass a context and additional request options. 2898 // 2899 // See DeleteRegexMatchSet for details on how to use this API operation. 2900 // 2901 // The context must be non-nil and will be used for request cancellation. If 2902 // the context is nil a panic will occur. In the future the SDK may create 2903 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2904 // for more information on using Contexts. 2905 func (c *WAF) DeleteRegexMatchSetWithContext(ctx aws.Context, input *DeleteRegexMatchSetInput, opts ...request.Option) (*DeleteRegexMatchSetOutput, error) { 2906 req, out := c.DeleteRegexMatchSetRequest(input) 2907 req.SetContext(ctx) 2908 req.ApplyOptions(opts...) 2909 return out, req.Send() 2910 } 2911 2912 const opDeleteRegexPatternSet = "DeleteRegexPatternSet" 2913 2914 // DeleteRegexPatternSetRequest generates a "aws/request.Request" representing the 2915 // client's request for the DeleteRegexPatternSet operation. The "output" return 2916 // value will be populated with the request's response once the request completes 2917 // successfully. 2918 // 2919 // Use "Send" method on the returned Request to send the API call to the service. 2920 // the "output" return value is not valid until after Send returns without error. 2921 // 2922 // See DeleteRegexPatternSet for more information on using the DeleteRegexPatternSet 2923 // API call, and error handling. 2924 // 2925 // This method is useful when you want to inject custom logic or configuration 2926 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2927 // 2928 // 2929 // // Example sending a request using the DeleteRegexPatternSetRequest method. 2930 // req, resp := client.DeleteRegexPatternSetRequest(params) 2931 // 2932 // err := req.Send() 2933 // if err == nil { // resp is now filled 2934 // fmt.Println(resp) 2935 // } 2936 // 2937 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexPatternSet 2938 func (c *WAF) DeleteRegexPatternSetRequest(input *DeleteRegexPatternSetInput) (req *request.Request, output *DeleteRegexPatternSetOutput) { 2939 op := &request.Operation{ 2940 Name: opDeleteRegexPatternSet, 2941 HTTPMethod: "POST", 2942 HTTPPath: "/", 2943 } 2944 2945 if input == nil { 2946 input = &DeleteRegexPatternSetInput{} 2947 } 2948 2949 output = &DeleteRegexPatternSetOutput{} 2950 req = c.newRequest(op, input, output) 2951 return 2952 } 2953 2954 // DeleteRegexPatternSet API operation for AWS WAF. 2955 // 2956 // 2957 // This is AWS WAF Classic documentation. For more information, see AWS WAF 2958 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 2959 // in the developer guide. 2960 // 2961 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 2962 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 2963 // With the latest version, AWS WAF has a single set of endpoints for regional 2964 // and global use. 2965 // 2966 // Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet 2967 // if it's still used in any RegexMatchSet or if the RegexPatternSet is not 2968 // empty. 2969 // 2970 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2971 // with awserr.Error's Code and Message methods to get detailed information about 2972 // the error. 2973 // 2974 // See the AWS API reference guide for AWS WAF's 2975 // API operation DeleteRegexPatternSet for usage and error information. 2976 // 2977 // Returned Error Types: 2978 // * InternalErrorException 2979 // The operation failed because of a system problem, even though the request 2980 // was valid. Retry your request. 2981 // 2982 // * InvalidAccountException 2983 // The operation failed because you tried to create, update, or delete an object 2984 // by using an invalid account identifier. 2985 // 2986 // * NonexistentItemException 2987 // The operation failed because the referenced object doesn't exist. 2988 // 2989 // * ReferencedItemException 2990 // The operation failed because you tried to delete an object that is still 2991 // in use. For example: 2992 // 2993 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 2994 // 2995 // * You tried to delete a Rule that is still referenced by a WebACL. 2996 // 2997 // * StaleDataException 2998 // The operation failed because you tried to create, update, or delete an object 2999 // by using a change token that has already been used. 3000 // 3001 // * NonEmptyEntityException 3002 // The operation failed because you tried to delete an object that isn't empty. 3003 // For example: 3004 // 3005 // * You tried to delete a WebACL that still contains one or more Rule objects. 3006 // 3007 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3008 // objects or other predicates. 3009 // 3010 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3011 // objects. 3012 // 3013 // * You tried to delete an IPSet that references one or more IP addresses. 3014 // 3015 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexPatternSet 3016 func (c *WAF) DeleteRegexPatternSet(input *DeleteRegexPatternSetInput) (*DeleteRegexPatternSetOutput, error) { 3017 req, out := c.DeleteRegexPatternSetRequest(input) 3018 return out, req.Send() 3019 } 3020 3021 // DeleteRegexPatternSetWithContext is the same as DeleteRegexPatternSet with the addition of 3022 // the ability to pass a context and additional request options. 3023 // 3024 // See DeleteRegexPatternSet for details on how to use this API operation. 3025 // 3026 // The context must be non-nil and will be used for request cancellation. If 3027 // the context is nil a panic will occur. In the future the SDK may create 3028 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3029 // for more information on using Contexts. 3030 func (c *WAF) DeleteRegexPatternSetWithContext(ctx aws.Context, input *DeleteRegexPatternSetInput, opts ...request.Option) (*DeleteRegexPatternSetOutput, error) { 3031 req, out := c.DeleteRegexPatternSetRequest(input) 3032 req.SetContext(ctx) 3033 req.ApplyOptions(opts...) 3034 return out, req.Send() 3035 } 3036 3037 const opDeleteRule = "DeleteRule" 3038 3039 // DeleteRuleRequest generates a "aws/request.Request" representing the 3040 // client's request for the DeleteRule operation. The "output" return 3041 // value will be populated with the request's response once the request completes 3042 // successfully. 3043 // 3044 // Use "Send" method on the returned Request to send the API call to the service. 3045 // the "output" return value is not valid until after Send returns without error. 3046 // 3047 // See DeleteRule for more information on using the DeleteRule 3048 // API call, and error handling. 3049 // 3050 // This method is useful when you want to inject custom logic or configuration 3051 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3052 // 3053 // 3054 // // Example sending a request using the DeleteRuleRequest method. 3055 // req, resp := client.DeleteRuleRequest(params) 3056 // 3057 // err := req.Send() 3058 // if err == nil { // resp is now filled 3059 // fmt.Println(resp) 3060 // } 3061 // 3062 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRule 3063 func (c *WAF) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) { 3064 op := &request.Operation{ 3065 Name: opDeleteRule, 3066 HTTPMethod: "POST", 3067 HTTPPath: "/", 3068 } 3069 3070 if input == nil { 3071 input = &DeleteRuleInput{} 3072 } 3073 3074 output = &DeleteRuleOutput{} 3075 req = c.newRequest(op, input, output) 3076 return 3077 } 3078 3079 // DeleteRule API operation for AWS WAF. 3080 // 3081 // 3082 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3083 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3084 // in the developer guide. 3085 // 3086 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3087 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3088 // With the latest version, AWS WAF has a single set of endpoints for regional 3089 // and global use. 3090 // 3091 // Permanently deletes a Rule. You can't delete a Rule if it's still used in 3092 // any WebACL objects or if it still includes any predicates, such as ByteMatchSet 3093 // objects. 3094 // 3095 // If you just want to remove a Rule from a WebACL, use UpdateWebACL. 3096 // 3097 // To permanently delete a Rule from AWS WAF, perform the following steps: 3098 // 3099 // Update the Rule to remove predicates, if any. For more information, see UpdateRule. 3100 // 3101 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3102 // parameter of a DeleteRule request. 3103 // 3104 // Submit a DeleteRule request. 3105 // 3106 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3107 // with awserr.Error's Code and Message methods to get detailed information about 3108 // the error. 3109 // 3110 // See the AWS API reference guide for AWS WAF's 3111 // API operation DeleteRule for usage and error information. 3112 // 3113 // Returned Error Types: 3114 // * StaleDataException 3115 // The operation failed because you tried to create, update, or delete an object 3116 // by using a change token that has already been used. 3117 // 3118 // * InternalErrorException 3119 // The operation failed because of a system problem, even though the request 3120 // was valid. Retry your request. 3121 // 3122 // * InvalidAccountException 3123 // The operation failed because you tried to create, update, or delete an object 3124 // by using an invalid account identifier. 3125 // 3126 // * NonexistentItemException 3127 // The operation failed because the referenced object doesn't exist. 3128 // 3129 // * ReferencedItemException 3130 // The operation failed because you tried to delete an object that is still 3131 // in use. For example: 3132 // 3133 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3134 // 3135 // * You tried to delete a Rule that is still referenced by a WebACL. 3136 // 3137 // * NonEmptyEntityException 3138 // The operation failed because you tried to delete an object that isn't empty. 3139 // For example: 3140 // 3141 // * You tried to delete a WebACL that still contains one or more Rule objects. 3142 // 3143 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3144 // objects or other predicates. 3145 // 3146 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3147 // objects. 3148 // 3149 // * You tried to delete an IPSet that references one or more IP addresses. 3150 // 3151 // * TagOperationException 3152 // 3153 // * TagOperationInternalErrorException 3154 // 3155 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRule 3156 func (c *WAF) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { 3157 req, out := c.DeleteRuleRequest(input) 3158 return out, req.Send() 3159 } 3160 3161 // DeleteRuleWithContext is the same as DeleteRule with the addition of 3162 // the ability to pass a context and additional request options. 3163 // 3164 // See DeleteRule for details on how to use this API operation. 3165 // 3166 // The context must be non-nil and will be used for request cancellation. If 3167 // the context is nil a panic will occur. In the future the SDK may create 3168 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3169 // for more information on using Contexts. 3170 func (c *WAF) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) { 3171 req, out := c.DeleteRuleRequest(input) 3172 req.SetContext(ctx) 3173 req.ApplyOptions(opts...) 3174 return out, req.Send() 3175 } 3176 3177 const opDeleteRuleGroup = "DeleteRuleGroup" 3178 3179 // DeleteRuleGroupRequest generates a "aws/request.Request" representing the 3180 // client's request for the DeleteRuleGroup operation. The "output" return 3181 // value will be populated with the request's response once the request completes 3182 // successfully. 3183 // 3184 // Use "Send" method on the returned Request to send the API call to the service. 3185 // the "output" return value is not valid until after Send returns without error. 3186 // 3187 // See DeleteRuleGroup for more information on using the DeleteRuleGroup 3188 // API call, and error handling. 3189 // 3190 // This method is useful when you want to inject custom logic or configuration 3191 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3192 // 3193 // 3194 // // Example sending a request using the DeleteRuleGroupRequest method. 3195 // req, resp := client.DeleteRuleGroupRequest(params) 3196 // 3197 // err := req.Send() 3198 // if err == nil { // resp is now filled 3199 // fmt.Println(resp) 3200 // } 3201 // 3202 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRuleGroup 3203 func (c *WAF) DeleteRuleGroupRequest(input *DeleteRuleGroupInput) (req *request.Request, output *DeleteRuleGroupOutput) { 3204 op := &request.Operation{ 3205 Name: opDeleteRuleGroup, 3206 HTTPMethod: "POST", 3207 HTTPPath: "/", 3208 } 3209 3210 if input == nil { 3211 input = &DeleteRuleGroupInput{} 3212 } 3213 3214 output = &DeleteRuleGroupOutput{} 3215 req = c.newRequest(op, input, output) 3216 return 3217 } 3218 3219 // DeleteRuleGroup API operation for AWS WAF. 3220 // 3221 // 3222 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3223 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3224 // in the developer guide. 3225 // 3226 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3227 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3228 // With the latest version, AWS WAF has a single set of endpoints for regional 3229 // and global use. 3230 // 3231 // Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still 3232 // used in any WebACL objects or if it still includes any rules. 3233 // 3234 // If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL. 3235 // 3236 // To permanently delete a RuleGroup from AWS WAF, perform the following steps: 3237 // 3238 // Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup. 3239 // 3240 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3241 // parameter of a DeleteRuleGroup request. 3242 // 3243 // Submit a DeleteRuleGroup request. 3244 // 3245 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3246 // with awserr.Error's Code and Message methods to get detailed information about 3247 // the error. 3248 // 3249 // See the AWS API reference guide for AWS WAF's 3250 // API operation DeleteRuleGroup for usage and error information. 3251 // 3252 // Returned Error Types: 3253 // * StaleDataException 3254 // The operation failed because you tried to create, update, or delete an object 3255 // by using a change token that has already been used. 3256 // 3257 // * InternalErrorException 3258 // The operation failed because of a system problem, even though the request 3259 // was valid. Retry your request. 3260 // 3261 // * NonexistentItemException 3262 // The operation failed because the referenced object doesn't exist. 3263 // 3264 // * ReferencedItemException 3265 // The operation failed because you tried to delete an object that is still 3266 // in use. For example: 3267 // 3268 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3269 // 3270 // * You tried to delete a Rule that is still referenced by a WebACL. 3271 // 3272 // * NonEmptyEntityException 3273 // The operation failed because you tried to delete an object that isn't empty. 3274 // For example: 3275 // 3276 // * You tried to delete a WebACL that still contains one or more Rule objects. 3277 // 3278 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3279 // objects or other predicates. 3280 // 3281 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3282 // objects. 3283 // 3284 // * You tried to delete an IPSet that references one or more IP addresses. 3285 // 3286 // * InvalidOperationException 3287 // The operation failed because there was nothing to do. For example: 3288 // 3289 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 3290 // specified WebACL. 3291 // 3292 // * You tried to remove an IP address from an IPSet, but the IP address 3293 // isn't in the specified IPSet. 3294 // 3295 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 3296 // isn't in the specified WebACL. 3297 // 3298 // * You tried to add a Rule to a WebACL, but the Rule already exists in 3299 // the specified WebACL. 3300 // 3301 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 3302 // already exists in the specified WebACL. 3303 // 3304 // * TagOperationException 3305 // 3306 // * TagOperationInternalErrorException 3307 // 3308 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRuleGroup 3309 func (c *WAF) DeleteRuleGroup(input *DeleteRuleGroupInput) (*DeleteRuleGroupOutput, error) { 3310 req, out := c.DeleteRuleGroupRequest(input) 3311 return out, req.Send() 3312 } 3313 3314 // DeleteRuleGroupWithContext is the same as DeleteRuleGroup with the addition of 3315 // the ability to pass a context and additional request options. 3316 // 3317 // See DeleteRuleGroup for details on how to use this API operation. 3318 // 3319 // The context must be non-nil and will be used for request cancellation. If 3320 // the context is nil a panic will occur. In the future the SDK may create 3321 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3322 // for more information on using Contexts. 3323 func (c *WAF) DeleteRuleGroupWithContext(ctx aws.Context, input *DeleteRuleGroupInput, opts ...request.Option) (*DeleteRuleGroupOutput, error) { 3324 req, out := c.DeleteRuleGroupRequest(input) 3325 req.SetContext(ctx) 3326 req.ApplyOptions(opts...) 3327 return out, req.Send() 3328 } 3329 3330 const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet" 3331 3332 // DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the 3333 // client's request for the DeleteSizeConstraintSet operation. The "output" return 3334 // value will be populated with the request's response once the request completes 3335 // successfully. 3336 // 3337 // Use "Send" method on the returned Request to send the API call to the service. 3338 // the "output" return value is not valid until after Send returns without error. 3339 // 3340 // See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet 3341 // API call, and error handling. 3342 // 3343 // This method is useful when you want to inject custom logic or configuration 3344 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3345 // 3346 // 3347 // // Example sending a request using the DeleteSizeConstraintSetRequest method. 3348 // req, resp := client.DeleteSizeConstraintSetRequest(params) 3349 // 3350 // err := req.Send() 3351 // if err == nil { // resp is now filled 3352 // fmt.Println(resp) 3353 // } 3354 // 3355 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteSizeConstraintSet 3356 func (c *WAF) DeleteSizeConstraintSetRequest(input *DeleteSizeConstraintSetInput) (req *request.Request, output *DeleteSizeConstraintSetOutput) { 3357 op := &request.Operation{ 3358 Name: opDeleteSizeConstraintSet, 3359 HTTPMethod: "POST", 3360 HTTPPath: "/", 3361 } 3362 3363 if input == nil { 3364 input = &DeleteSizeConstraintSetInput{} 3365 } 3366 3367 output = &DeleteSizeConstraintSetOutput{} 3368 req = c.newRequest(op, input, output) 3369 return 3370 } 3371 3372 // DeleteSizeConstraintSet API operation for AWS WAF. 3373 // 3374 // 3375 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3376 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3377 // in the developer guide. 3378 // 3379 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3380 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3381 // With the latest version, AWS WAF has a single set of endpoints for regional 3382 // and global use. 3383 // 3384 // Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet 3385 // if it's still used in any Rules or if it still includes any SizeConstraint 3386 // objects (any filters). 3387 // 3388 // If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule. 3389 // 3390 // To permanently delete a SizeConstraintSet, perform the following steps: 3391 // 3392 // Update the SizeConstraintSet to remove filters, if any. For more information, 3393 // see UpdateSizeConstraintSet. 3394 // 3395 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3396 // parameter of a DeleteSizeConstraintSet request. 3397 // 3398 // Submit a DeleteSizeConstraintSet request. 3399 // 3400 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3401 // with awserr.Error's Code and Message methods to get detailed information about 3402 // the error. 3403 // 3404 // See the AWS API reference guide for AWS WAF's 3405 // API operation DeleteSizeConstraintSet for usage and error information. 3406 // 3407 // Returned Error Types: 3408 // * StaleDataException 3409 // The operation failed because you tried to create, update, or delete an object 3410 // by using a change token that has already been used. 3411 // 3412 // * InternalErrorException 3413 // The operation failed because of a system problem, even though the request 3414 // was valid. Retry your request. 3415 // 3416 // * InvalidAccountException 3417 // The operation failed because you tried to create, update, or delete an object 3418 // by using an invalid account identifier. 3419 // 3420 // * NonexistentItemException 3421 // The operation failed because the referenced object doesn't exist. 3422 // 3423 // * ReferencedItemException 3424 // The operation failed because you tried to delete an object that is still 3425 // in use. For example: 3426 // 3427 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3428 // 3429 // * You tried to delete a Rule that is still referenced by a WebACL. 3430 // 3431 // * NonEmptyEntityException 3432 // The operation failed because you tried to delete an object that isn't empty. 3433 // For example: 3434 // 3435 // * You tried to delete a WebACL that still contains one or more Rule objects. 3436 // 3437 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3438 // objects or other predicates. 3439 // 3440 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3441 // objects. 3442 // 3443 // * You tried to delete an IPSet that references one or more IP addresses. 3444 // 3445 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteSizeConstraintSet 3446 func (c *WAF) DeleteSizeConstraintSet(input *DeleteSizeConstraintSetInput) (*DeleteSizeConstraintSetOutput, error) { 3447 req, out := c.DeleteSizeConstraintSetRequest(input) 3448 return out, req.Send() 3449 } 3450 3451 // DeleteSizeConstraintSetWithContext is the same as DeleteSizeConstraintSet with the addition of 3452 // the ability to pass a context and additional request options. 3453 // 3454 // See DeleteSizeConstraintSet for details on how to use this API operation. 3455 // 3456 // The context must be non-nil and will be used for request cancellation. If 3457 // the context is nil a panic will occur. In the future the SDK may create 3458 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3459 // for more information on using Contexts. 3460 func (c *WAF) DeleteSizeConstraintSetWithContext(ctx aws.Context, input *DeleteSizeConstraintSetInput, opts ...request.Option) (*DeleteSizeConstraintSetOutput, error) { 3461 req, out := c.DeleteSizeConstraintSetRequest(input) 3462 req.SetContext(ctx) 3463 req.ApplyOptions(opts...) 3464 return out, req.Send() 3465 } 3466 3467 const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet" 3468 3469 // DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 3470 // client's request for the DeleteSqlInjectionMatchSet operation. The "output" return 3471 // value will be populated with the request's response once the request completes 3472 // successfully. 3473 // 3474 // Use "Send" method on the returned Request to send the API call to the service. 3475 // the "output" return value is not valid until after Send returns without error. 3476 // 3477 // See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet 3478 // API call, and error handling. 3479 // 3480 // This method is useful when you want to inject custom logic or configuration 3481 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3482 // 3483 // 3484 // // Example sending a request using the DeleteSqlInjectionMatchSetRequest method. 3485 // req, resp := client.DeleteSqlInjectionMatchSetRequest(params) 3486 // 3487 // err := req.Send() 3488 // if err == nil { // resp is now filled 3489 // fmt.Println(resp) 3490 // } 3491 // 3492 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteSqlInjectionMatchSet 3493 func (c *WAF) DeleteSqlInjectionMatchSetRequest(input *DeleteSqlInjectionMatchSetInput) (req *request.Request, output *DeleteSqlInjectionMatchSetOutput) { 3494 op := &request.Operation{ 3495 Name: opDeleteSqlInjectionMatchSet, 3496 HTTPMethod: "POST", 3497 HTTPPath: "/", 3498 } 3499 3500 if input == nil { 3501 input = &DeleteSqlInjectionMatchSetInput{} 3502 } 3503 3504 output = &DeleteSqlInjectionMatchSetOutput{} 3505 req = c.newRequest(op, input, output) 3506 return 3507 } 3508 3509 // DeleteSqlInjectionMatchSet API operation for AWS WAF. 3510 // 3511 // 3512 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3513 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3514 // in the developer guide. 3515 // 3516 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3517 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3518 // With the latest version, AWS WAF has a single set of endpoints for regional 3519 // and global use. 3520 // 3521 // Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet 3522 // if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple 3523 // objects. 3524 // 3525 // If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule. 3526 // 3527 // To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following 3528 // steps: 3529 // 3530 // Update the SqlInjectionMatchSet to remove filters, if any. For more information, 3531 // see UpdateSqlInjectionMatchSet. 3532 // 3533 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3534 // parameter of a DeleteSqlInjectionMatchSet request. 3535 // 3536 // Submit a DeleteSqlInjectionMatchSet request. 3537 // 3538 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3539 // with awserr.Error's Code and Message methods to get detailed information about 3540 // the error. 3541 // 3542 // See the AWS API reference guide for AWS WAF's 3543 // API operation DeleteSqlInjectionMatchSet for usage and error information. 3544 // 3545 // Returned Error Types: 3546 // * InternalErrorException 3547 // The operation failed because of a system problem, even though the request 3548 // was valid. Retry your request. 3549 // 3550 // * InvalidAccountException 3551 // The operation failed because you tried to create, update, or delete an object 3552 // by using an invalid account identifier. 3553 // 3554 // * NonexistentItemException 3555 // The operation failed because the referenced object doesn't exist. 3556 // 3557 // * ReferencedItemException 3558 // The operation failed because you tried to delete an object that is still 3559 // in use. For example: 3560 // 3561 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3562 // 3563 // * You tried to delete a Rule that is still referenced by a WebACL. 3564 // 3565 // * StaleDataException 3566 // The operation failed because you tried to create, update, or delete an object 3567 // by using a change token that has already been used. 3568 // 3569 // * NonEmptyEntityException 3570 // The operation failed because you tried to delete an object that isn't empty. 3571 // For example: 3572 // 3573 // * You tried to delete a WebACL that still contains one or more Rule objects. 3574 // 3575 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3576 // objects or other predicates. 3577 // 3578 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3579 // objects. 3580 // 3581 // * You tried to delete an IPSet that references one or more IP addresses. 3582 // 3583 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteSqlInjectionMatchSet 3584 func (c *WAF) DeleteSqlInjectionMatchSet(input *DeleteSqlInjectionMatchSetInput) (*DeleteSqlInjectionMatchSetOutput, error) { 3585 req, out := c.DeleteSqlInjectionMatchSetRequest(input) 3586 return out, req.Send() 3587 } 3588 3589 // DeleteSqlInjectionMatchSetWithContext is the same as DeleteSqlInjectionMatchSet with the addition of 3590 // the ability to pass a context and additional request options. 3591 // 3592 // See DeleteSqlInjectionMatchSet for details on how to use this API operation. 3593 // 3594 // The context must be non-nil and will be used for request cancellation. If 3595 // the context is nil a panic will occur. In the future the SDK may create 3596 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3597 // for more information on using Contexts. 3598 func (c *WAF) DeleteSqlInjectionMatchSetWithContext(ctx aws.Context, input *DeleteSqlInjectionMatchSetInput, opts ...request.Option) (*DeleteSqlInjectionMatchSetOutput, error) { 3599 req, out := c.DeleteSqlInjectionMatchSetRequest(input) 3600 req.SetContext(ctx) 3601 req.ApplyOptions(opts...) 3602 return out, req.Send() 3603 } 3604 3605 const opDeleteWebACL = "DeleteWebACL" 3606 3607 // DeleteWebACLRequest generates a "aws/request.Request" representing the 3608 // client's request for the DeleteWebACL operation. The "output" return 3609 // value will be populated with the request's response once the request completes 3610 // successfully. 3611 // 3612 // Use "Send" method on the returned Request to send the API call to the service. 3613 // the "output" return value is not valid until after Send returns without error. 3614 // 3615 // See DeleteWebACL for more information on using the DeleteWebACL 3616 // API call, and error handling. 3617 // 3618 // This method is useful when you want to inject custom logic or configuration 3619 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3620 // 3621 // 3622 // // Example sending a request using the DeleteWebACLRequest method. 3623 // req, resp := client.DeleteWebACLRequest(params) 3624 // 3625 // err := req.Send() 3626 // if err == nil { // resp is now filled 3627 // fmt.Println(resp) 3628 // } 3629 // 3630 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteWebACL 3631 func (c *WAF) DeleteWebACLRequest(input *DeleteWebACLInput) (req *request.Request, output *DeleteWebACLOutput) { 3632 op := &request.Operation{ 3633 Name: opDeleteWebACL, 3634 HTTPMethod: "POST", 3635 HTTPPath: "/", 3636 } 3637 3638 if input == nil { 3639 input = &DeleteWebACLInput{} 3640 } 3641 3642 output = &DeleteWebACLOutput{} 3643 req = c.newRequest(op, input, output) 3644 return 3645 } 3646 3647 // DeleteWebACL API operation for AWS WAF. 3648 // 3649 // 3650 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3651 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3652 // in the developer guide. 3653 // 3654 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3655 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3656 // With the latest version, AWS WAF has a single set of endpoints for regional 3657 // and global use. 3658 // 3659 // Permanently deletes a WebACL. You can't delete a WebACL if it still contains 3660 // any Rules. 3661 // 3662 // To delete a WebACL, perform the following steps: 3663 // 3664 // Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. 3665 // 3666 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3667 // parameter of a DeleteWebACL request. 3668 // 3669 // Submit a DeleteWebACL request. 3670 // 3671 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3672 // with awserr.Error's Code and Message methods to get detailed information about 3673 // the error. 3674 // 3675 // See the AWS API reference guide for AWS WAF's 3676 // API operation DeleteWebACL for usage and error information. 3677 // 3678 // Returned Error Types: 3679 // * StaleDataException 3680 // The operation failed because you tried to create, update, or delete an object 3681 // by using a change token that has already been used. 3682 // 3683 // * InternalErrorException 3684 // The operation failed because of a system problem, even though the request 3685 // was valid. Retry your request. 3686 // 3687 // * InvalidAccountException 3688 // The operation failed because you tried to create, update, or delete an object 3689 // by using an invalid account identifier. 3690 // 3691 // * NonexistentItemException 3692 // The operation failed because the referenced object doesn't exist. 3693 // 3694 // * ReferencedItemException 3695 // The operation failed because you tried to delete an object that is still 3696 // in use. For example: 3697 // 3698 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3699 // 3700 // * You tried to delete a Rule that is still referenced by a WebACL. 3701 // 3702 // * NonEmptyEntityException 3703 // The operation failed because you tried to delete an object that isn't empty. 3704 // For example: 3705 // 3706 // * You tried to delete a WebACL that still contains one or more Rule objects. 3707 // 3708 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3709 // objects or other predicates. 3710 // 3711 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3712 // objects. 3713 // 3714 // * You tried to delete an IPSet that references one or more IP addresses. 3715 // 3716 // * TagOperationException 3717 // 3718 // * TagOperationInternalErrorException 3719 // 3720 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteWebACL 3721 func (c *WAF) DeleteWebACL(input *DeleteWebACLInput) (*DeleteWebACLOutput, error) { 3722 req, out := c.DeleteWebACLRequest(input) 3723 return out, req.Send() 3724 } 3725 3726 // DeleteWebACLWithContext is the same as DeleteWebACL with the addition of 3727 // the ability to pass a context and additional request options. 3728 // 3729 // See DeleteWebACL for details on how to use this API operation. 3730 // 3731 // The context must be non-nil and will be used for request cancellation. If 3732 // the context is nil a panic will occur. In the future the SDK may create 3733 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3734 // for more information on using Contexts. 3735 func (c *WAF) DeleteWebACLWithContext(ctx aws.Context, input *DeleteWebACLInput, opts ...request.Option) (*DeleteWebACLOutput, error) { 3736 req, out := c.DeleteWebACLRequest(input) 3737 req.SetContext(ctx) 3738 req.ApplyOptions(opts...) 3739 return out, req.Send() 3740 } 3741 3742 const opDeleteXssMatchSet = "DeleteXssMatchSet" 3743 3744 // DeleteXssMatchSetRequest generates a "aws/request.Request" representing the 3745 // client's request for the DeleteXssMatchSet operation. The "output" return 3746 // value will be populated with the request's response once the request completes 3747 // successfully. 3748 // 3749 // Use "Send" method on the returned Request to send the API call to the service. 3750 // the "output" return value is not valid until after Send returns without error. 3751 // 3752 // See DeleteXssMatchSet for more information on using the DeleteXssMatchSet 3753 // API call, and error handling. 3754 // 3755 // This method is useful when you want to inject custom logic or configuration 3756 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3757 // 3758 // 3759 // // Example sending a request using the DeleteXssMatchSetRequest method. 3760 // req, resp := client.DeleteXssMatchSetRequest(params) 3761 // 3762 // err := req.Send() 3763 // if err == nil { // resp is now filled 3764 // fmt.Println(resp) 3765 // } 3766 // 3767 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteXssMatchSet 3768 func (c *WAF) DeleteXssMatchSetRequest(input *DeleteXssMatchSetInput) (req *request.Request, output *DeleteXssMatchSetOutput) { 3769 op := &request.Operation{ 3770 Name: opDeleteXssMatchSet, 3771 HTTPMethod: "POST", 3772 HTTPPath: "/", 3773 } 3774 3775 if input == nil { 3776 input = &DeleteXssMatchSetInput{} 3777 } 3778 3779 output = &DeleteXssMatchSetOutput{} 3780 req = c.newRequest(op, input, output) 3781 return 3782 } 3783 3784 // DeleteXssMatchSet API operation for AWS WAF. 3785 // 3786 // 3787 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3788 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3789 // in the developer guide. 3790 // 3791 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3792 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3793 // With the latest version, AWS WAF has a single set of endpoints for regional 3794 // and global use. 3795 // 3796 // Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's 3797 // still used in any Rules or if it still contains any XssMatchTuple objects. 3798 // 3799 // If you just want to remove an XssMatchSet from a Rule, use UpdateRule. 3800 // 3801 // To permanently delete an XssMatchSet from AWS WAF, perform the following 3802 // steps: 3803 // 3804 // Update the XssMatchSet to remove filters, if any. For more information, see 3805 // UpdateXssMatchSet. 3806 // 3807 // Use GetChangeToken to get the change token that you provide in the ChangeToken 3808 // parameter of a DeleteXssMatchSet request. 3809 // 3810 // Submit a DeleteXssMatchSet request. 3811 // 3812 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3813 // with awserr.Error's Code and Message methods to get detailed information about 3814 // the error. 3815 // 3816 // See the AWS API reference guide for AWS WAF's 3817 // API operation DeleteXssMatchSet for usage and error information. 3818 // 3819 // Returned Error Types: 3820 // * InternalErrorException 3821 // The operation failed because of a system problem, even though the request 3822 // was valid. Retry your request. 3823 // 3824 // * InvalidAccountException 3825 // The operation failed because you tried to create, update, or delete an object 3826 // by using an invalid account identifier. 3827 // 3828 // * NonexistentItemException 3829 // The operation failed because the referenced object doesn't exist. 3830 // 3831 // * ReferencedItemException 3832 // The operation failed because you tried to delete an object that is still 3833 // in use. For example: 3834 // 3835 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 3836 // 3837 // * You tried to delete a Rule that is still referenced by a WebACL. 3838 // 3839 // * StaleDataException 3840 // The operation failed because you tried to create, update, or delete an object 3841 // by using a change token that has already been used. 3842 // 3843 // * NonEmptyEntityException 3844 // The operation failed because you tried to delete an object that isn't empty. 3845 // For example: 3846 // 3847 // * You tried to delete a WebACL that still contains one or more Rule objects. 3848 // 3849 // * You tried to delete a Rule that still contains one or more ByteMatchSet 3850 // objects or other predicates. 3851 // 3852 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 3853 // objects. 3854 // 3855 // * You tried to delete an IPSet that references one or more IP addresses. 3856 // 3857 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteXssMatchSet 3858 func (c *WAF) DeleteXssMatchSet(input *DeleteXssMatchSetInput) (*DeleteXssMatchSetOutput, error) { 3859 req, out := c.DeleteXssMatchSetRequest(input) 3860 return out, req.Send() 3861 } 3862 3863 // DeleteXssMatchSetWithContext is the same as DeleteXssMatchSet with the addition of 3864 // the ability to pass a context and additional request options. 3865 // 3866 // See DeleteXssMatchSet for details on how to use this API operation. 3867 // 3868 // The context must be non-nil and will be used for request cancellation. If 3869 // the context is nil a panic will occur. In the future the SDK may create 3870 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3871 // for more information on using Contexts. 3872 func (c *WAF) DeleteXssMatchSetWithContext(ctx aws.Context, input *DeleteXssMatchSetInput, opts ...request.Option) (*DeleteXssMatchSetOutput, error) { 3873 req, out := c.DeleteXssMatchSetRequest(input) 3874 req.SetContext(ctx) 3875 req.ApplyOptions(opts...) 3876 return out, req.Send() 3877 } 3878 3879 const opGetByteMatchSet = "GetByteMatchSet" 3880 3881 // GetByteMatchSetRequest generates a "aws/request.Request" representing the 3882 // client's request for the GetByteMatchSet operation. The "output" return 3883 // value will be populated with the request's response once the request completes 3884 // successfully. 3885 // 3886 // Use "Send" method on the returned Request to send the API call to the service. 3887 // the "output" return value is not valid until after Send returns without error. 3888 // 3889 // See GetByteMatchSet for more information on using the GetByteMatchSet 3890 // API call, and error handling. 3891 // 3892 // This method is useful when you want to inject custom logic or configuration 3893 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3894 // 3895 // 3896 // // Example sending a request using the GetByteMatchSetRequest method. 3897 // req, resp := client.GetByteMatchSetRequest(params) 3898 // 3899 // err := req.Send() 3900 // if err == nil { // resp is now filled 3901 // fmt.Println(resp) 3902 // } 3903 // 3904 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetByteMatchSet 3905 func (c *WAF) GetByteMatchSetRequest(input *GetByteMatchSetInput) (req *request.Request, output *GetByteMatchSetOutput) { 3906 op := &request.Operation{ 3907 Name: opGetByteMatchSet, 3908 HTTPMethod: "POST", 3909 HTTPPath: "/", 3910 } 3911 3912 if input == nil { 3913 input = &GetByteMatchSetInput{} 3914 } 3915 3916 output = &GetByteMatchSetOutput{} 3917 req = c.newRequest(op, input, output) 3918 return 3919 } 3920 3921 // GetByteMatchSet API operation for AWS WAF. 3922 // 3923 // 3924 // This is AWS WAF Classic documentation. For more information, see AWS WAF 3925 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 3926 // in the developer guide. 3927 // 3928 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 3929 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 3930 // With the latest version, AWS WAF has a single set of endpoints for regional 3931 // and global use. 3932 // 3933 // Returns the ByteMatchSet specified by ByteMatchSetId. 3934 // 3935 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3936 // with awserr.Error's Code and Message methods to get detailed information about 3937 // the error. 3938 // 3939 // See the AWS API reference guide for AWS WAF's 3940 // API operation GetByteMatchSet for usage and error information. 3941 // 3942 // Returned Error Types: 3943 // * InternalErrorException 3944 // The operation failed because of a system problem, even though the request 3945 // was valid. Retry your request. 3946 // 3947 // * InvalidAccountException 3948 // The operation failed because you tried to create, update, or delete an object 3949 // by using an invalid account identifier. 3950 // 3951 // * NonexistentItemException 3952 // The operation failed because the referenced object doesn't exist. 3953 // 3954 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetByteMatchSet 3955 func (c *WAF) GetByteMatchSet(input *GetByteMatchSetInput) (*GetByteMatchSetOutput, error) { 3956 req, out := c.GetByteMatchSetRequest(input) 3957 return out, req.Send() 3958 } 3959 3960 // GetByteMatchSetWithContext is the same as GetByteMatchSet with the addition of 3961 // the ability to pass a context and additional request options. 3962 // 3963 // See GetByteMatchSet for details on how to use this API operation. 3964 // 3965 // The context must be non-nil and will be used for request cancellation. If 3966 // the context is nil a panic will occur. In the future the SDK may create 3967 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3968 // for more information on using Contexts. 3969 func (c *WAF) GetByteMatchSetWithContext(ctx aws.Context, input *GetByteMatchSetInput, opts ...request.Option) (*GetByteMatchSetOutput, error) { 3970 req, out := c.GetByteMatchSetRequest(input) 3971 req.SetContext(ctx) 3972 req.ApplyOptions(opts...) 3973 return out, req.Send() 3974 } 3975 3976 const opGetChangeToken = "GetChangeToken" 3977 3978 // GetChangeTokenRequest generates a "aws/request.Request" representing the 3979 // client's request for the GetChangeToken operation. The "output" return 3980 // value will be populated with the request's response once the request completes 3981 // successfully. 3982 // 3983 // Use "Send" method on the returned Request to send the API call to the service. 3984 // the "output" return value is not valid until after Send returns without error. 3985 // 3986 // See GetChangeToken for more information on using the GetChangeToken 3987 // API call, and error handling. 3988 // 3989 // This method is useful when you want to inject custom logic or configuration 3990 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3991 // 3992 // 3993 // // Example sending a request using the GetChangeTokenRequest method. 3994 // req, resp := client.GetChangeTokenRequest(params) 3995 // 3996 // err := req.Send() 3997 // if err == nil { // resp is now filled 3998 // fmt.Println(resp) 3999 // } 4000 // 4001 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetChangeToken 4002 func (c *WAF) GetChangeTokenRequest(input *GetChangeTokenInput) (req *request.Request, output *GetChangeTokenOutput) { 4003 op := &request.Operation{ 4004 Name: opGetChangeToken, 4005 HTTPMethod: "POST", 4006 HTTPPath: "/", 4007 } 4008 4009 if input == nil { 4010 input = &GetChangeTokenInput{} 4011 } 4012 4013 output = &GetChangeTokenOutput{} 4014 req = c.newRequest(op, input, output) 4015 return 4016 } 4017 4018 // GetChangeToken API operation for AWS WAF. 4019 // 4020 // 4021 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4022 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4023 // in the developer guide. 4024 // 4025 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4026 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4027 // With the latest version, AWS WAF has a single set of endpoints for regional 4028 // and global use. 4029 // 4030 // When you want to create, update, or delete AWS WAF objects, get a change 4031 // token and include the change token in the create, update, or delete request. 4032 // Change tokens ensure that your application doesn't submit conflicting requests 4033 // to AWS WAF. 4034 // 4035 // Each create, update, or delete request must use a unique change token. If 4036 // your application submits a GetChangeToken request and then submits a second 4037 // GetChangeToken request before submitting a create, update, or delete request, 4038 // the second GetChangeToken request returns the same value as the first GetChangeToken 4039 // request. 4040 // 4041 // When you use a change token in a create, update, or delete request, the status 4042 // of the change token changes to PENDING, which indicates that AWS WAF is propagating 4043 // the change to all AWS WAF servers. Use GetChangeTokenStatus to determine 4044 // the status of your change token. 4045 // 4046 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4047 // with awserr.Error's Code and Message methods to get detailed information about 4048 // the error. 4049 // 4050 // See the AWS API reference guide for AWS WAF's 4051 // API operation GetChangeToken for usage and error information. 4052 // 4053 // Returned Error Types: 4054 // * InternalErrorException 4055 // The operation failed because of a system problem, even though the request 4056 // was valid. Retry your request. 4057 // 4058 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetChangeToken 4059 func (c *WAF) GetChangeToken(input *GetChangeTokenInput) (*GetChangeTokenOutput, error) { 4060 req, out := c.GetChangeTokenRequest(input) 4061 return out, req.Send() 4062 } 4063 4064 // GetChangeTokenWithContext is the same as GetChangeToken with the addition of 4065 // the ability to pass a context and additional request options. 4066 // 4067 // See GetChangeToken for details on how to use this API operation. 4068 // 4069 // The context must be non-nil and will be used for request cancellation. If 4070 // the context is nil a panic will occur. In the future the SDK may create 4071 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4072 // for more information on using Contexts. 4073 func (c *WAF) GetChangeTokenWithContext(ctx aws.Context, input *GetChangeTokenInput, opts ...request.Option) (*GetChangeTokenOutput, error) { 4074 req, out := c.GetChangeTokenRequest(input) 4075 req.SetContext(ctx) 4076 req.ApplyOptions(opts...) 4077 return out, req.Send() 4078 } 4079 4080 const opGetChangeTokenStatus = "GetChangeTokenStatus" 4081 4082 // GetChangeTokenStatusRequest generates a "aws/request.Request" representing the 4083 // client's request for the GetChangeTokenStatus operation. The "output" return 4084 // value will be populated with the request's response once the request completes 4085 // successfully. 4086 // 4087 // Use "Send" method on the returned Request to send the API call to the service. 4088 // the "output" return value is not valid until after Send returns without error. 4089 // 4090 // See GetChangeTokenStatus for more information on using the GetChangeTokenStatus 4091 // API call, and error handling. 4092 // 4093 // This method is useful when you want to inject custom logic or configuration 4094 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4095 // 4096 // 4097 // // Example sending a request using the GetChangeTokenStatusRequest method. 4098 // req, resp := client.GetChangeTokenStatusRequest(params) 4099 // 4100 // err := req.Send() 4101 // if err == nil { // resp is now filled 4102 // fmt.Println(resp) 4103 // } 4104 // 4105 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetChangeTokenStatus 4106 func (c *WAF) GetChangeTokenStatusRequest(input *GetChangeTokenStatusInput) (req *request.Request, output *GetChangeTokenStatusOutput) { 4107 op := &request.Operation{ 4108 Name: opGetChangeTokenStatus, 4109 HTTPMethod: "POST", 4110 HTTPPath: "/", 4111 } 4112 4113 if input == nil { 4114 input = &GetChangeTokenStatusInput{} 4115 } 4116 4117 output = &GetChangeTokenStatusOutput{} 4118 req = c.newRequest(op, input, output) 4119 return 4120 } 4121 4122 // GetChangeTokenStatus API operation for AWS WAF. 4123 // 4124 // 4125 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4126 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4127 // in the developer guide. 4128 // 4129 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4130 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4131 // With the latest version, AWS WAF has a single set of endpoints for regional 4132 // and global use. 4133 // 4134 // Returns the status of a ChangeToken that you got by calling GetChangeToken. 4135 // ChangeTokenStatus is one of the following values: 4136 // 4137 // * PROVISIONED: You requested the change token by calling GetChangeToken, 4138 // but you haven't used it yet in a call to create, update, or delete an 4139 // AWS WAF object. 4140 // 4141 // * PENDING: AWS WAF is propagating the create, update, or delete request 4142 // to all AWS WAF servers. 4143 // 4144 // * INSYNC: Propagation is complete. 4145 // 4146 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4147 // with awserr.Error's Code and Message methods to get detailed information about 4148 // the error. 4149 // 4150 // See the AWS API reference guide for AWS WAF's 4151 // API operation GetChangeTokenStatus for usage and error information. 4152 // 4153 // Returned Error Types: 4154 // * NonexistentItemException 4155 // The operation failed because the referenced object doesn't exist. 4156 // 4157 // * InternalErrorException 4158 // The operation failed because of a system problem, even though the request 4159 // was valid. Retry your request. 4160 // 4161 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetChangeTokenStatus 4162 func (c *WAF) GetChangeTokenStatus(input *GetChangeTokenStatusInput) (*GetChangeTokenStatusOutput, error) { 4163 req, out := c.GetChangeTokenStatusRequest(input) 4164 return out, req.Send() 4165 } 4166 4167 // GetChangeTokenStatusWithContext is the same as GetChangeTokenStatus with the addition of 4168 // the ability to pass a context and additional request options. 4169 // 4170 // See GetChangeTokenStatus for details on how to use this API operation. 4171 // 4172 // The context must be non-nil and will be used for request cancellation. If 4173 // the context is nil a panic will occur. In the future the SDK may create 4174 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4175 // for more information on using Contexts. 4176 func (c *WAF) GetChangeTokenStatusWithContext(ctx aws.Context, input *GetChangeTokenStatusInput, opts ...request.Option) (*GetChangeTokenStatusOutput, error) { 4177 req, out := c.GetChangeTokenStatusRequest(input) 4178 req.SetContext(ctx) 4179 req.ApplyOptions(opts...) 4180 return out, req.Send() 4181 } 4182 4183 const opGetGeoMatchSet = "GetGeoMatchSet" 4184 4185 // GetGeoMatchSetRequest generates a "aws/request.Request" representing the 4186 // client's request for the GetGeoMatchSet operation. The "output" return 4187 // value will be populated with the request's response once the request completes 4188 // successfully. 4189 // 4190 // Use "Send" method on the returned Request to send the API call to the service. 4191 // the "output" return value is not valid until after Send returns without error. 4192 // 4193 // See GetGeoMatchSet for more information on using the GetGeoMatchSet 4194 // API call, and error handling. 4195 // 4196 // This method is useful when you want to inject custom logic or configuration 4197 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4198 // 4199 // 4200 // // Example sending a request using the GetGeoMatchSetRequest method. 4201 // req, resp := client.GetGeoMatchSetRequest(params) 4202 // 4203 // err := req.Send() 4204 // if err == nil { // resp is now filled 4205 // fmt.Println(resp) 4206 // } 4207 // 4208 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetGeoMatchSet 4209 func (c *WAF) GetGeoMatchSetRequest(input *GetGeoMatchSetInput) (req *request.Request, output *GetGeoMatchSetOutput) { 4210 op := &request.Operation{ 4211 Name: opGetGeoMatchSet, 4212 HTTPMethod: "POST", 4213 HTTPPath: "/", 4214 } 4215 4216 if input == nil { 4217 input = &GetGeoMatchSetInput{} 4218 } 4219 4220 output = &GetGeoMatchSetOutput{} 4221 req = c.newRequest(op, input, output) 4222 return 4223 } 4224 4225 // GetGeoMatchSet API operation for AWS WAF. 4226 // 4227 // 4228 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4229 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4230 // in the developer guide. 4231 // 4232 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4233 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4234 // With the latest version, AWS WAF has a single set of endpoints for regional 4235 // and global use. 4236 // 4237 // Returns the GeoMatchSet that is specified by GeoMatchSetId. 4238 // 4239 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4240 // with awserr.Error's Code and Message methods to get detailed information about 4241 // the error. 4242 // 4243 // See the AWS API reference guide for AWS WAF's 4244 // API operation GetGeoMatchSet for usage and error information. 4245 // 4246 // Returned Error Types: 4247 // * InternalErrorException 4248 // The operation failed because of a system problem, even though the request 4249 // was valid. Retry your request. 4250 // 4251 // * InvalidAccountException 4252 // The operation failed because you tried to create, update, or delete an object 4253 // by using an invalid account identifier. 4254 // 4255 // * NonexistentItemException 4256 // The operation failed because the referenced object doesn't exist. 4257 // 4258 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetGeoMatchSet 4259 func (c *WAF) GetGeoMatchSet(input *GetGeoMatchSetInput) (*GetGeoMatchSetOutput, error) { 4260 req, out := c.GetGeoMatchSetRequest(input) 4261 return out, req.Send() 4262 } 4263 4264 // GetGeoMatchSetWithContext is the same as GetGeoMatchSet with the addition of 4265 // the ability to pass a context and additional request options. 4266 // 4267 // See GetGeoMatchSet for details on how to use this API operation. 4268 // 4269 // The context must be non-nil and will be used for request cancellation. If 4270 // the context is nil a panic will occur. In the future the SDK may create 4271 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4272 // for more information on using Contexts. 4273 func (c *WAF) GetGeoMatchSetWithContext(ctx aws.Context, input *GetGeoMatchSetInput, opts ...request.Option) (*GetGeoMatchSetOutput, error) { 4274 req, out := c.GetGeoMatchSetRequest(input) 4275 req.SetContext(ctx) 4276 req.ApplyOptions(opts...) 4277 return out, req.Send() 4278 } 4279 4280 const opGetIPSet = "GetIPSet" 4281 4282 // GetIPSetRequest generates a "aws/request.Request" representing the 4283 // client's request for the GetIPSet operation. The "output" return 4284 // value will be populated with the request's response once the request completes 4285 // successfully. 4286 // 4287 // Use "Send" method on the returned Request to send the API call to the service. 4288 // the "output" return value is not valid until after Send returns without error. 4289 // 4290 // See GetIPSet for more information on using the GetIPSet 4291 // API call, and error handling. 4292 // 4293 // This method is useful when you want to inject custom logic or configuration 4294 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4295 // 4296 // 4297 // // Example sending a request using the GetIPSetRequest method. 4298 // req, resp := client.GetIPSetRequest(params) 4299 // 4300 // err := req.Send() 4301 // if err == nil { // resp is now filled 4302 // fmt.Println(resp) 4303 // } 4304 // 4305 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetIPSet 4306 func (c *WAF) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) { 4307 op := &request.Operation{ 4308 Name: opGetIPSet, 4309 HTTPMethod: "POST", 4310 HTTPPath: "/", 4311 } 4312 4313 if input == nil { 4314 input = &GetIPSetInput{} 4315 } 4316 4317 output = &GetIPSetOutput{} 4318 req = c.newRequest(op, input, output) 4319 return 4320 } 4321 4322 // GetIPSet API operation for AWS WAF. 4323 // 4324 // 4325 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4326 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4327 // in the developer guide. 4328 // 4329 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4330 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4331 // With the latest version, AWS WAF has a single set of endpoints for regional 4332 // and global use. 4333 // 4334 // Returns the IPSet that is specified by IPSetId. 4335 // 4336 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4337 // with awserr.Error's Code and Message methods to get detailed information about 4338 // the error. 4339 // 4340 // See the AWS API reference guide for AWS WAF's 4341 // API operation GetIPSet for usage and error information. 4342 // 4343 // Returned Error Types: 4344 // * InternalErrorException 4345 // The operation failed because of a system problem, even though the request 4346 // was valid. Retry your request. 4347 // 4348 // * InvalidAccountException 4349 // The operation failed because you tried to create, update, or delete an object 4350 // by using an invalid account identifier. 4351 // 4352 // * NonexistentItemException 4353 // The operation failed because the referenced object doesn't exist. 4354 // 4355 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetIPSet 4356 func (c *WAF) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) { 4357 req, out := c.GetIPSetRequest(input) 4358 return out, req.Send() 4359 } 4360 4361 // GetIPSetWithContext is the same as GetIPSet with the addition of 4362 // the ability to pass a context and additional request options. 4363 // 4364 // See GetIPSet for details on how to use this API operation. 4365 // 4366 // The context must be non-nil and will be used for request cancellation. If 4367 // the context is nil a panic will occur. In the future the SDK may create 4368 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4369 // for more information on using Contexts. 4370 func (c *WAF) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error) { 4371 req, out := c.GetIPSetRequest(input) 4372 req.SetContext(ctx) 4373 req.ApplyOptions(opts...) 4374 return out, req.Send() 4375 } 4376 4377 const opGetLoggingConfiguration = "GetLoggingConfiguration" 4378 4379 // GetLoggingConfigurationRequest generates a "aws/request.Request" representing the 4380 // client's request for the GetLoggingConfiguration operation. The "output" return 4381 // value will be populated with the request's response once the request completes 4382 // successfully. 4383 // 4384 // Use "Send" method on the returned Request to send the API call to the service. 4385 // the "output" return value is not valid until after Send returns without error. 4386 // 4387 // See GetLoggingConfiguration for more information on using the GetLoggingConfiguration 4388 // API call, and error handling. 4389 // 4390 // This method is useful when you want to inject custom logic or configuration 4391 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4392 // 4393 // 4394 // // Example sending a request using the GetLoggingConfigurationRequest method. 4395 // req, resp := client.GetLoggingConfigurationRequest(params) 4396 // 4397 // err := req.Send() 4398 // if err == nil { // resp is now filled 4399 // fmt.Println(resp) 4400 // } 4401 // 4402 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetLoggingConfiguration 4403 func (c *WAF) GetLoggingConfigurationRequest(input *GetLoggingConfigurationInput) (req *request.Request, output *GetLoggingConfigurationOutput) { 4404 op := &request.Operation{ 4405 Name: opGetLoggingConfiguration, 4406 HTTPMethod: "POST", 4407 HTTPPath: "/", 4408 } 4409 4410 if input == nil { 4411 input = &GetLoggingConfigurationInput{} 4412 } 4413 4414 output = &GetLoggingConfigurationOutput{} 4415 req = c.newRequest(op, input, output) 4416 return 4417 } 4418 4419 // GetLoggingConfiguration API operation for AWS WAF. 4420 // 4421 // 4422 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4423 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4424 // in the developer guide. 4425 // 4426 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4427 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4428 // With the latest version, AWS WAF has a single set of endpoints for regional 4429 // and global use. 4430 // 4431 // Returns the LoggingConfiguration for the specified web ACL. 4432 // 4433 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4434 // with awserr.Error's Code and Message methods to get detailed information about 4435 // the error. 4436 // 4437 // See the AWS API reference guide for AWS WAF's 4438 // API operation GetLoggingConfiguration for usage and error information. 4439 // 4440 // Returned Error Types: 4441 // * InternalErrorException 4442 // The operation failed because of a system problem, even though the request 4443 // was valid. Retry your request. 4444 // 4445 // * NonexistentItemException 4446 // The operation failed because the referenced object doesn't exist. 4447 // 4448 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetLoggingConfiguration 4449 func (c *WAF) GetLoggingConfiguration(input *GetLoggingConfigurationInput) (*GetLoggingConfigurationOutput, error) { 4450 req, out := c.GetLoggingConfigurationRequest(input) 4451 return out, req.Send() 4452 } 4453 4454 // GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of 4455 // the ability to pass a context and additional request options. 4456 // 4457 // See GetLoggingConfiguration for details on how to use this API operation. 4458 // 4459 // The context must be non-nil and will be used for request cancellation. If 4460 // the context is nil a panic will occur. In the future the SDK may create 4461 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4462 // for more information on using Contexts. 4463 func (c *WAF) GetLoggingConfigurationWithContext(ctx aws.Context, input *GetLoggingConfigurationInput, opts ...request.Option) (*GetLoggingConfigurationOutput, error) { 4464 req, out := c.GetLoggingConfigurationRequest(input) 4465 req.SetContext(ctx) 4466 req.ApplyOptions(opts...) 4467 return out, req.Send() 4468 } 4469 4470 const opGetPermissionPolicy = "GetPermissionPolicy" 4471 4472 // GetPermissionPolicyRequest generates a "aws/request.Request" representing the 4473 // client's request for the GetPermissionPolicy operation. The "output" return 4474 // value will be populated with the request's response once the request completes 4475 // successfully. 4476 // 4477 // Use "Send" method on the returned Request to send the API call to the service. 4478 // the "output" return value is not valid until after Send returns without error. 4479 // 4480 // See GetPermissionPolicy for more information on using the GetPermissionPolicy 4481 // API call, and error handling. 4482 // 4483 // This method is useful when you want to inject custom logic or configuration 4484 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4485 // 4486 // 4487 // // Example sending a request using the GetPermissionPolicyRequest method. 4488 // req, resp := client.GetPermissionPolicyRequest(params) 4489 // 4490 // err := req.Send() 4491 // if err == nil { // resp is now filled 4492 // fmt.Println(resp) 4493 // } 4494 // 4495 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetPermissionPolicy 4496 func (c *WAF) GetPermissionPolicyRequest(input *GetPermissionPolicyInput) (req *request.Request, output *GetPermissionPolicyOutput) { 4497 op := &request.Operation{ 4498 Name: opGetPermissionPolicy, 4499 HTTPMethod: "POST", 4500 HTTPPath: "/", 4501 } 4502 4503 if input == nil { 4504 input = &GetPermissionPolicyInput{} 4505 } 4506 4507 output = &GetPermissionPolicyOutput{} 4508 req = c.newRequest(op, input, output) 4509 return 4510 } 4511 4512 // GetPermissionPolicy API operation for AWS WAF. 4513 // 4514 // 4515 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4516 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4517 // in the developer guide. 4518 // 4519 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4520 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4521 // With the latest version, AWS WAF has a single set of endpoints for regional 4522 // and global use. 4523 // 4524 // Returns the IAM policy attached to the RuleGroup. 4525 // 4526 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4527 // with awserr.Error's Code and Message methods to get detailed information about 4528 // the error. 4529 // 4530 // See the AWS API reference guide for AWS WAF's 4531 // API operation GetPermissionPolicy for usage and error information. 4532 // 4533 // Returned Error Types: 4534 // * InternalErrorException 4535 // The operation failed because of a system problem, even though the request 4536 // was valid. Retry your request. 4537 // 4538 // * NonexistentItemException 4539 // The operation failed because the referenced object doesn't exist. 4540 // 4541 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetPermissionPolicy 4542 func (c *WAF) GetPermissionPolicy(input *GetPermissionPolicyInput) (*GetPermissionPolicyOutput, error) { 4543 req, out := c.GetPermissionPolicyRequest(input) 4544 return out, req.Send() 4545 } 4546 4547 // GetPermissionPolicyWithContext is the same as GetPermissionPolicy with the addition of 4548 // the ability to pass a context and additional request options. 4549 // 4550 // See GetPermissionPolicy for details on how to use this API operation. 4551 // 4552 // The context must be non-nil and will be used for request cancellation. If 4553 // the context is nil a panic will occur. In the future the SDK may create 4554 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4555 // for more information on using Contexts. 4556 func (c *WAF) GetPermissionPolicyWithContext(ctx aws.Context, input *GetPermissionPolicyInput, opts ...request.Option) (*GetPermissionPolicyOutput, error) { 4557 req, out := c.GetPermissionPolicyRequest(input) 4558 req.SetContext(ctx) 4559 req.ApplyOptions(opts...) 4560 return out, req.Send() 4561 } 4562 4563 const opGetRateBasedRule = "GetRateBasedRule" 4564 4565 // GetRateBasedRuleRequest generates a "aws/request.Request" representing the 4566 // client's request for the GetRateBasedRule operation. The "output" return 4567 // value will be populated with the request's response once the request completes 4568 // successfully. 4569 // 4570 // Use "Send" method on the returned Request to send the API call to the service. 4571 // the "output" return value is not valid until after Send returns without error. 4572 // 4573 // See GetRateBasedRule for more information on using the GetRateBasedRule 4574 // API call, and error handling. 4575 // 4576 // This method is useful when you want to inject custom logic or configuration 4577 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4578 // 4579 // 4580 // // Example sending a request using the GetRateBasedRuleRequest method. 4581 // req, resp := client.GetRateBasedRuleRequest(params) 4582 // 4583 // err := req.Send() 4584 // if err == nil { // resp is now filled 4585 // fmt.Println(resp) 4586 // } 4587 // 4588 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRateBasedRule 4589 func (c *WAF) GetRateBasedRuleRequest(input *GetRateBasedRuleInput) (req *request.Request, output *GetRateBasedRuleOutput) { 4590 op := &request.Operation{ 4591 Name: opGetRateBasedRule, 4592 HTTPMethod: "POST", 4593 HTTPPath: "/", 4594 } 4595 4596 if input == nil { 4597 input = &GetRateBasedRuleInput{} 4598 } 4599 4600 output = &GetRateBasedRuleOutput{} 4601 req = c.newRequest(op, input, output) 4602 return 4603 } 4604 4605 // GetRateBasedRule API operation for AWS WAF. 4606 // 4607 // 4608 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4609 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4610 // in the developer guide. 4611 // 4612 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4613 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4614 // With the latest version, AWS WAF has a single set of endpoints for regional 4615 // and global use. 4616 // 4617 // Returns the RateBasedRule that is specified by the RuleId that you included 4618 // in the GetRateBasedRule request. 4619 // 4620 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4621 // with awserr.Error's Code and Message methods to get detailed information about 4622 // the error. 4623 // 4624 // See the AWS API reference guide for AWS WAF's 4625 // API operation GetRateBasedRule for usage and error information. 4626 // 4627 // Returned Error Types: 4628 // * InternalErrorException 4629 // The operation failed because of a system problem, even though the request 4630 // was valid. Retry your request. 4631 // 4632 // * InvalidAccountException 4633 // The operation failed because you tried to create, update, or delete an object 4634 // by using an invalid account identifier. 4635 // 4636 // * NonexistentItemException 4637 // The operation failed because the referenced object doesn't exist. 4638 // 4639 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRateBasedRule 4640 func (c *WAF) GetRateBasedRule(input *GetRateBasedRuleInput) (*GetRateBasedRuleOutput, error) { 4641 req, out := c.GetRateBasedRuleRequest(input) 4642 return out, req.Send() 4643 } 4644 4645 // GetRateBasedRuleWithContext is the same as GetRateBasedRule with the addition of 4646 // the ability to pass a context and additional request options. 4647 // 4648 // See GetRateBasedRule for details on how to use this API operation. 4649 // 4650 // The context must be non-nil and will be used for request cancellation. If 4651 // the context is nil a panic will occur. In the future the SDK may create 4652 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4653 // for more information on using Contexts. 4654 func (c *WAF) GetRateBasedRuleWithContext(ctx aws.Context, input *GetRateBasedRuleInput, opts ...request.Option) (*GetRateBasedRuleOutput, error) { 4655 req, out := c.GetRateBasedRuleRequest(input) 4656 req.SetContext(ctx) 4657 req.ApplyOptions(opts...) 4658 return out, req.Send() 4659 } 4660 4661 const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys" 4662 4663 // GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the 4664 // client's request for the GetRateBasedRuleManagedKeys operation. The "output" return 4665 // value will be populated with the request's response once the request completes 4666 // successfully. 4667 // 4668 // Use "Send" method on the returned Request to send the API call to the service. 4669 // the "output" return value is not valid until after Send returns without error. 4670 // 4671 // See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys 4672 // API call, and error handling. 4673 // 4674 // This method is useful when you want to inject custom logic or configuration 4675 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4676 // 4677 // 4678 // // Example sending a request using the GetRateBasedRuleManagedKeysRequest method. 4679 // req, resp := client.GetRateBasedRuleManagedKeysRequest(params) 4680 // 4681 // err := req.Send() 4682 // if err == nil { // resp is now filled 4683 // fmt.Println(resp) 4684 // } 4685 // 4686 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRateBasedRuleManagedKeys 4687 func (c *WAF) GetRateBasedRuleManagedKeysRequest(input *GetRateBasedRuleManagedKeysInput) (req *request.Request, output *GetRateBasedRuleManagedKeysOutput) { 4688 op := &request.Operation{ 4689 Name: opGetRateBasedRuleManagedKeys, 4690 HTTPMethod: "POST", 4691 HTTPPath: "/", 4692 } 4693 4694 if input == nil { 4695 input = &GetRateBasedRuleManagedKeysInput{} 4696 } 4697 4698 output = &GetRateBasedRuleManagedKeysOutput{} 4699 req = c.newRequest(op, input, output) 4700 return 4701 } 4702 4703 // GetRateBasedRuleManagedKeys API operation for AWS WAF. 4704 // 4705 // 4706 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4707 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4708 // in the developer guide. 4709 // 4710 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4711 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4712 // With the latest version, AWS WAF has a single set of endpoints for regional 4713 // and global use. 4714 // 4715 // Returns an array of IP addresses currently being blocked by the RateBasedRule 4716 // that is specified by the RuleId. The maximum number of managed keys that 4717 // will be blocked is 10,000. If more than 10,000 addresses exceed the rate 4718 // limit, the 10,000 addresses with the highest rates will be blocked. 4719 // 4720 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4721 // with awserr.Error's Code and Message methods to get detailed information about 4722 // the error. 4723 // 4724 // See the AWS API reference guide for AWS WAF's 4725 // API operation GetRateBasedRuleManagedKeys for usage and error information. 4726 // 4727 // Returned Error Types: 4728 // * InternalErrorException 4729 // The operation failed because of a system problem, even though the request 4730 // was valid. Retry your request. 4731 // 4732 // * InvalidAccountException 4733 // The operation failed because you tried to create, update, or delete an object 4734 // by using an invalid account identifier. 4735 // 4736 // * NonexistentItemException 4737 // The operation failed because the referenced object doesn't exist. 4738 // 4739 // * InvalidParameterException 4740 // The operation failed because AWS WAF didn't recognize a parameter in the 4741 // request. For example: 4742 // 4743 // * You specified an invalid parameter name. 4744 // 4745 // * You specified an invalid value. 4746 // 4747 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 4748 // using an action other than INSERT or DELETE. 4749 // 4750 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 4751 // BLOCK, or COUNT. 4752 // 4753 // * You tried to create a RateBasedRule with a RateKey value other than 4754 // IP. 4755 // 4756 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 4757 // BLOCK, or COUNT. 4758 // 4759 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 4760 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 4761 // 4762 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 4763 // for Data. 4764 // 4765 // * Your request references an ARN that is malformed, or corresponds to 4766 // a resource with which a web ACL cannot be associated. 4767 // 4768 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRateBasedRuleManagedKeys 4769 func (c *WAF) GetRateBasedRuleManagedKeys(input *GetRateBasedRuleManagedKeysInput) (*GetRateBasedRuleManagedKeysOutput, error) { 4770 req, out := c.GetRateBasedRuleManagedKeysRequest(input) 4771 return out, req.Send() 4772 } 4773 4774 // GetRateBasedRuleManagedKeysWithContext is the same as GetRateBasedRuleManagedKeys with the addition of 4775 // the ability to pass a context and additional request options. 4776 // 4777 // See GetRateBasedRuleManagedKeys for details on how to use this API operation. 4778 // 4779 // The context must be non-nil and will be used for request cancellation. If 4780 // the context is nil a panic will occur. In the future the SDK may create 4781 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4782 // for more information on using Contexts. 4783 func (c *WAF) GetRateBasedRuleManagedKeysWithContext(ctx aws.Context, input *GetRateBasedRuleManagedKeysInput, opts ...request.Option) (*GetRateBasedRuleManagedKeysOutput, error) { 4784 req, out := c.GetRateBasedRuleManagedKeysRequest(input) 4785 req.SetContext(ctx) 4786 req.ApplyOptions(opts...) 4787 return out, req.Send() 4788 } 4789 4790 const opGetRegexMatchSet = "GetRegexMatchSet" 4791 4792 // GetRegexMatchSetRequest generates a "aws/request.Request" representing the 4793 // client's request for the GetRegexMatchSet operation. The "output" return 4794 // value will be populated with the request's response once the request completes 4795 // successfully. 4796 // 4797 // Use "Send" method on the returned Request to send the API call to the service. 4798 // the "output" return value is not valid until after Send returns without error. 4799 // 4800 // See GetRegexMatchSet for more information on using the GetRegexMatchSet 4801 // API call, and error handling. 4802 // 4803 // This method is useful when you want to inject custom logic or configuration 4804 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4805 // 4806 // 4807 // // Example sending a request using the GetRegexMatchSetRequest method. 4808 // req, resp := client.GetRegexMatchSetRequest(params) 4809 // 4810 // err := req.Send() 4811 // if err == nil { // resp is now filled 4812 // fmt.Println(resp) 4813 // } 4814 // 4815 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexMatchSet 4816 func (c *WAF) GetRegexMatchSetRequest(input *GetRegexMatchSetInput) (req *request.Request, output *GetRegexMatchSetOutput) { 4817 op := &request.Operation{ 4818 Name: opGetRegexMatchSet, 4819 HTTPMethod: "POST", 4820 HTTPPath: "/", 4821 } 4822 4823 if input == nil { 4824 input = &GetRegexMatchSetInput{} 4825 } 4826 4827 output = &GetRegexMatchSetOutput{} 4828 req = c.newRequest(op, input, output) 4829 return 4830 } 4831 4832 // GetRegexMatchSet API operation for AWS WAF. 4833 // 4834 // 4835 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4836 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4837 // in the developer guide. 4838 // 4839 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4840 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4841 // With the latest version, AWS WAF has a single set of endpoints for regional 4842 // and global use. 4843 // 4844 // Returns the RegexMatchSet specified by RegexMatchSetId. 4845 // 4846 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4847 // with awserr.Error's Code and Message methods to get detailed information about 4848 // the error. 4849 // 4850 // See the AWS API reference guide for AWS WAF's 4851 // API operation GetRegexMatchSet for usage and error information. 4852 // 4853 // Returned Error Types: 4854 // * InternalErrorException 4855 // The operation failed because of a system problem, even though the request 4856 // was valid. Retry your request. 4857 // 4858 // * InvalidAccountException 4859 // The operation failed because you tried to create, update, or delete an object 4860 // by using an invalid account identifier. 4861 // 4862 // * NonexistentItemException 4863 // The operation failed because the referenced object doesn't exist. 4864 // 4865 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexMatchSet 4866 func (c *WAF) GetRegexMatchSet(input *GetRegexMatchSetInput) (*GetRegexMatchSetOutput, error) { 4867 req, out := c.GetRegexMatchSetRequest(input) 4868 return out, req.Send() 4869 } 4870 4871 // GetRegexMatchSetWithContext is the same as GetRegexMatchSet with the addition of 4872 // the ability to pass a context and additional request options. 4873 // 4874 // See GetRegexMatchSet for details on how to use this API operation. 4875 // 4876 // The context must be non-nil and will be used for request cancellation. If 4877 // the context is nil a panic will occur. In the future the SDK may create 4878 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4879 // for more information on using Contexts. 4880 func (c *WAF) GetRegexMatchSetWithContext(ctx aws.Context, input *GetRegexMatchSetInput, opts ...request.Option) (*GetRegexMatchSetOutput, error) { 4881 req, out := c.GetRegexMatchSetRequest(input) 4882 req.SetContext(ctx) 4883 req.ApplyOptions(opts...) 4884 return out, req.Send() 4885 } 4886 4887 const opGetRegexPatternSet = "GetRegexPatternSet" 4888 4889 // GetRegexPatternSetRequest generates a "aws/request.Request" representing the 4890 // client's request for the GetRegexPatternSet operation. The "output" return 4891 // value will be populated with the request's response once the request completes 4892 // successfully. 4893 // 4894 // Use "Send" method on the returned Request to send the API call to the service. 4895 // the "output" return value is not valid until after Send returns without error. 4896 // 4897 // See GetRegexPatternSet for more information on using the GetRegexPatternSet 4898 // API call, and error handling. 4899 // 4900 // This method is useful when you want to inject custom logic or configuration 4901 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4902 // 4903 // 4904 // // Example sending a request using the GetRegexPatternSetRequest method. 4905 // req, resp := client.GetRegexPatternSetRequest(params) 4906 // 4907 // err := req.Send() 4908 // if err == nil { // resp is now filled 4909 // fmt.Println(resp) 4910 // } 4911 // 4912 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexPatternSet 4913 func (c *WAF) GetRegexPatternSetRequest(input *GetRegexPatternSetInput) (req *request.Request, output *GetRegexPatternSetOutput) { 4914 op := &request.Operation{ 4915 Name: opGetRegexPatternSet, 4916 HTTPMethod: "POST", 4917 HTTPPath: "/", 4918 } 4919 4920 if input == nil { 4921 input = &GetRegexPatternSetInput{} 4922 } 4923 4924 output = &GetRegexPatternSetOutput{} 4925 req = c.newRequest(op, input, output) 4926 return 4927 } 4928 4929 // GetRegexPatternSet API operation for AWS WAF. 4930 // 4931 // 4932 // This is AWS WAF Classic documentation. For more information, see AWS WAF 4933 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 4934 // in the developer guide. 4935 // 4936 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 4937 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 4938 // With the latest version, AWS WAF has a single set of endpoints for regional 4939 // and global use. 4940 // 4941 // Returns the RegexPatternSet specified by RegexPatternSetId. 4942 // 4943 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4944 // with awserr.Error's Code and Message methods to get detailed information about 4945 // the error. 4946 // 4947 // See the AWS API reference guide for AWS WAF's 4948 // API operation GetRegexPatternSet for usage and error information. 4949 // 4950 // Returned Error Types: 4951 // * InternalErrorException 4952 // The operation failed because of a system problem, even though the request 4953 // was valid. Retry your request. 4954 // 4955 // * InvalidAccountException 4956 // The operation failed because you tried to create, update, or delete an object 4957 // by using an invalid account identifier. 4958 // 4959 // * NonexistentItemException 4960 // The operation failed because the referenced object doesn't exist. 4961 // 4962 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexPatternSet 4963 func (c *WAF) GetRegexPatternSet(input *GetRegexPatternSetInput) (*GetRegexPatternSetOutput, error) { 4964 req, out := c.GetRegexPatternSetRequest(input) 4965 return out, req.Send() 4966 } 4967 4968 // GetRegexPatternSetWithContext is the same as GetRegexPatternSet with the addition of 4969 // the ability to pass a context and additional request options. 4970 // 4971 // See GetRegexPatternSet for details on how to use this API operation. 4972 // 4973 // The context must be non-nil and will be used for request cancellation. If 4974 // the context is nil a panic will occur. In the future the SDK may create 4975 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4976 // for more information on using Contexts. 4977 func (c *WAF) GetRegexPatternSetWithContext(ctx aws.Context, input *GetRegexPatternSetInput, opts ...request.Option) (*GetRegexPatternSetOutput, error) { 4978 req, out := c.GetRegexPatternSetRequest(input) 4979 req.SetContext(ctx) 4980 req.ApplyOptions(opts...) 4981 return out, req.Send() 4982 } 4983 4984 const opGetRule = "GetRule" 4985 4986 // GetRuleRequest generates a "aws/request.Request" representing the 4987 // client's request for the GetRule operation. The "output" return 4988 // value will be populated with the request's response once the request completes 4989 // successfully. 4990 // 4991 // Use "Send" method on the returned Request to send the API call to the service. 4992 // the "output" return value is not valid until after Send returns without error. 4993 // 4994 // See GetRule for more information on using the GetRule 4995 // API call, and error handling. 4996 // 4997 // This method is useful when you want to inject custom logic or configuration 4998 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4999 // 5000 // 5001 // // Example sending a request using the GetRuleRequest method. 5002 // req, resp := client.GetRuleRequest(params) 5003 // 5004 // err := req.Send() 5005 // if err == nil { // resp is now filled 5006 // fmt.Println(resp) 5007 // } 5008 // 5009 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRule 5010 func (c *WAF) GetRuleRequest(input *GetRuleInput) (req *request.Request, output *GetRuleOutput) { 5011 op := &request.Operation{ 5012 Name: opGetRule, 5013 HTTPMethod: "POST", 5014 HTTPPath: "/", 5015 } 5016 5017 if input == nil { 5018 input = &GetRuleInput{} 5019 } 5020 5021 output = &GetRuleOutput{} 5022 req = c.newRequest(op, input, output) 5023 return 5024 } 5025 5026 // GetRule API operation for AWS WAF. 5027 // 5028 // 5029 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5030 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5031 // in the developer guide. 5032 // 5033 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5034 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5035 // With the latest version, AWS WAF has a single set of endpoints for regional 5036 // and global use. 5037 // 5038 // Returns the Rule that is specified by the RuleId that you included in the 5039 // GetRule request. 5040 // 5041 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5042 // with awserr.Error's Code and Message methods to get detailed information about 5043 // the error. 5044 // 5045 // See the AWS API reference guide for AWS WAF's 5046 // API operation GetRule for usage and error information. 5047 // 5048 // Returned Error Types: 5049 // * InternalErrorException 5050 // The operation failed because of a system problem, even though the request 5051 // was valid. Retry your request. 5052 // 5053 // * InvalidAccountException 5054 // The operation failed because you tried to create, update, or delete an object 5055 // by using an invalid account identifier. 5056 // 5057 // * NonexistentItemException 5058 // The operation failed because the referenced object doesn't exist. 5059 // 5060 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRule 5061 func (c *WAF) GetRule(input *GetRuleInput) (*GetRuleOutput, error) { 5062 req, out := c.GetRuleRequest(input) 5063 return out, req.Send() 5064 } 5065 5066 // GetRuleWithContext is the same as GetRule with the addition of 5067 // the ability to pass a context and additional request options. 5068 // 5069 // See GetRule for details on how to use this API operation. 5070 // 5071 // The context must be non-nil and will be used for request cancellation. If 5072 // the context is nil a panic will occur. In the future the SDK may create 5073 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5074 // for more information on using Contexts. 5075 func (c *WAF) GetRuleWithContext(ctx aws.Context, input *GetRuleInput, opts ...request.Option) (*GetRuleOutput, error) { 5076 req, out := c.GetRuleRequest(input) 5077 req.SetContext(ctx) 5078 req.ApplyOptions(opts...) 5079 return out, req.Send() 5080 } 5081 5082 const opGetRuleGroup = "GetRuleGroup" 5083 5084 // GetRuleGroupRequest generates a "aws/request.Request" representing the 5085 // client's request for the GetRuleGroup operation. The "output" return 5086 // value will be populated with the request's response once the request completes 5087 // successfully. 5088 // 5089 // Use "Send" method on the returned Request to send the API call to the service. 5090 // the "output" return value is not valid until after Send returns without error. 5091 // 5092 // See GetRuleGroup for more information on using the GetRuleGroup 5093 // API call, and error handling. 5094 // 5095 // This method is useful when you want to inject custom logic or configuration 5096 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5097 // 5098 // 5099 // // Example sending a request using the GetRuleGroupRequest method. 5100 // req, resp := client.GetRuleGroupRequest(params) 5101 // 5102 // err := req.Send() 5103 // if err == nil { // resp is now filled 5104 // fmt.Println(resp) 5105 // } 5106 // 5107 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRuleGroup 5108 func (c *WAF) GetRuleGroupRequest(input *GetRuleGroupInput) (req *request.Request, output *GetRuleGroupOutput) { 5109 op := &request.Operation{ 5110 Name: opGetRuleGroup, 5111 HTTPMethod: "POST", 5112 HTTPPath: "/", 5113 } 5114 5115 if input == nil { 5116 input = &GetRuleGroupInput{} 5117 } 5118 5119 output = &GetRuleGroupOutput{} 5120 req = c.newRequest(op, input, output) 5121 return 5122 } 5123 5124 // GetRuleGroup API operation for AWS WAF. 5125 // 5126 // 5127 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5128 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5129 // in the developer guide. 5130 // 5131 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5132 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5133 // With the latest version, AWS WAF has a single set of endpoints for regional 5134 // and global use. 5135 // 5136 // Returns the RuleGroup that is specified by the RuleGroupId that you included 5137 // in the GetRuleGroup request. 5138 // 5139 // To view the rules in a rule group, use ListActivatedRulesInRuleGroup. 5140 // 5141 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5142 // with awserr.Error's Code and Message methods to get detailed information about 5143 // the error. 5144 // 5145 // See the AWS API reference guide for AWS WAF's 5146 // API operation GetRuleGroup for usage and error information. 5147 // 5148 // Returned Error Types: 5149 // * InternalErrorException 5150 // The operation failed because of a system problem, even though the request 5151 // was valid. Retry your request. 5152 // 5153 // * NonexistentItemException 5154 // The operation failed because the referenced object doesn't exist. 5155 // 5156 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRuleGroup 5157 func (c *WAF) GetRuleGroup(input *GetRuleGroupInput) (*GetRuleGroupOutput, error) { 5158 req, out := c.GetRuleGroupRequest(input) 5159 return out, req.Send() 5160 } 5161 5162 // GetRuleGroupWithContext is the same as GetRuleGroup with the addition of 5163 // the ability to pass a context and additional request options. 5164 // 5165 // See GetRuleGroup for details on how to use this API operation. 5166 // 5167 // The context must be non-nil and will be used for request cancellation. If 5168 // the context is nil a panic will occur. In the future the SDK may create 5169 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5170 // for more information on using Contexts. 5171 func (c *WAF) GetRuleGroupWithContext(ctx aws.Context, input *GetRuleGroupInput, opts ...request.Option) (*GetRuleGroupOutput, error) { 5172 req, out := c.GetRuleGroupRequest(input) 5173 req.SetContext(ctx) 5174 req.ApplyOptions(opts...) 5175 return out, req.Send() 5176 } 5177 5178 const opGetSampledRequests = "GetSampledRequests" 5179 5180 // GetSampledRequestsRequest generates a "aws/request.Request" representing the 5181 // client's request for the GetSampledRequests operation. The "output" return 5182 // value will be populated with the request's response once the request completes 5183 // successfully. 5184 // 5185 // Use "Send" method on the returned Request to send the API call to the service. 5186 // the "output" return value is not valid until after Send returns without error. 5187 // 5188 // See GetSampledRequests for more information on using the GetSampledRequests 5189 // API call, and error handling. 5190 // 5191 // This method is useful when you want to inject custom logic or configuration 5192 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5193 // 5194 // 5195 // // Example sending a request using the GetSampledRequestsRequest method. 5196 // req, resp := client.GetSampledRequestsRequest(params) 5197 // 5198 // err := req.Send() 5199 // if err == nil { // resp is now filled 5200 // fmt.Println(resp) 5201 // } 5202 // 5203 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSampledRequests 5204 func (c *WAF) GetSampledRequestsRequest(input *GetSampledRequestsInput) (req *request.Request, output *GetSampledRequestsOutput) { 5205 op := &request.Operation{ 5206 Name: opGetSampledRequests, 5207 HTTPMethod: "POST", 5208 HTTPPath: "/", 5209 } 5210 5211 if input == nil { 5212 input = &GetSampledRequestsInput{} 5213 } 5214 5215 output = &GetSampledRequestsOutput{} 5216 req = c.newRequest(op, input, output) 5217 return 5218 } 5219 5220 // GetSampledRequests API operation for AWS WAF. 5221 // 5222 // 5223 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5224 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5225 // in the developer guide. 5226 // 5227 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5228 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5229 // With the latest version, AWS WAF has a single set of endpoints for regional 5230 // and global use. 5231 // 5232 // Gets detailed information about a specified number of requests--a sample--that 5233 // AWS WAF randomly selects from among the first 5,000 requests that your AWS 5234 // resource received during a time range that you choose. You can specify a 5235 // sample size of up to 500 requests, and you can specify any time range in 5236 // the previous three hours. 5237 // 5238 // GetSampledRequests returns a time range, which is usually the time range 5239 // that you specified. However, if your resource (such as a CloudFront distribution) 5240 // received 5,000 requests before the specified time range elapsed, GetSampledRequests 5241 // returns an updated time range. This new time range indicates the actual period 5242 // during which AWS WAF selected the requests in the sample. 5243 // 5244 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5245 // with awserr.Error's Code and Message methods to get detailed information about 5246 // the error. 5247 // 5248 // See the AWS API reference guide for AWS WAF's 5249 // API operation GetSampledRequests for usage and error information. 5250 // 5251 // Returned Error Types: 5252 // * NonexistentItemException 5253 // The operation failed because the referenced object doesn't exist. 5254 // 5255 // * InternalErrorException 5256 // The operation failed because of a system problem, even though the request 5257 // was valid. Retry your request. 5258 // 5259 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSampledRequests 5260 func (c *WAF) GetSampledRequests(input *GetSampledRequestsInput) (*GetSampledRequestsOutput, error) { 5261 req, out := c.GetSampledRequestsRequest(input) 5262 return out, req.Send() 5263 } 5264 5265 // GetSampledRequestsWithContext is the same as GetSampledRequests with the addition of 5266 // the ability to pass a context and additional request options. 5267 // 5268 // See GetSampledRequests for details on how to use this API operation. 5269 // 5270 // The context must be non-nil and will be used for request cancellation. If 5271 // the context is nil a panic will occur. In the future the SDK may create 5272 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5273 // for more information on using Contexts. 5274 func (c *WAF) GetSampledRequestsWithContext(ctx aws.Context, input *GetSampledRequestsInput, opts ...request.Option) (*GetSampledRequestsOutput, error) { 5275 req, out := c.GetSampledRequestsRequest(input) 5276 req.SetContext(ctx) 5277 req.ApplyOptions(opts...) 5278 return out, req.Send() 5279 } 5280 5281 const opGetSizeConstraintSet = "GetSizeConstraintSet" 5282 5283 // GetSizeConstraintSetRequest generates a "aws/request.Request" representing the 5284 // client's request for the GetSizeConstraintSet operation. The "output" return 5285 // value will be populated with the request's response once the request completes 5286 // successfully. 5287 // 5288 // Use "Send" method on the returned Request to send the API call to the service. 5289 // the "output" return value is not valid until after Send returns without error. 5290 // 5291 // See GetSizeConstraintSet for more information on using the GetSizeConstraintSet 5292 // API call, and error handling. 5293 // 5294 // This method is useful when you want to inject custom logic or configuration 5295 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5296 // 5297 // 5298 // // Example sending a request using the GetSizeConstraintSetRequest method. 5299 // req, resp := client.GetSizeConstraintSetRequest(params) 5300 // 5301 // err := req.Send() 5302 // if err == nil { // resp is now filled 5303 // fmt.Println(resp) 5304 // } 5305 // 5306 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSizeConstraintSet 5307 func (c *WAF) GetSizeConstraintSetRequest(input *GetSizeConstraintSetInput) (req *request.Request, output *GetSizeConstraintSetOutput) { 5308 op := &request.Operation{ 5309 Name: opGetSizeConstraintSet, 5310 HTTPMethod: "POST", 5311 HTTPPath: "/", 5312 } 5313 5314 if input == nil { 5315 input = &GetSizeConstraintSetInput{} 5316 } 5317 5318 output = &GetSizeConstraintSetOutput{} 5319 req = c.newRequest(op, input, output) 5320 return 5321 } 5322 5323 // GetSizeConstraintSet API operation for AWS WAF. 5324 // 5325 // 5326 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5327 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5328 // in the developer guide. 5329 // 5330 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5331 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5332 // With the latest version, AWS WAF has a single set of endpoints for regional 5333 // and global use. 5334 // 5335 // Returns the SizeConstraintSet specified by SizeConstraintSetId. 5336 // 5337 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5338 // with awserr.Error's Code and Message methods to get detailed information about 5339 // the error. 5340 // 5341 // See the AWS API reference guide for AWS WAF's 5342 // API operation GetSizeConstraintSet for usage and error information. 5343 // 5344 // Returned Error Types: 5345 // * InternalErrorException 5346 // The operation failed because of a system problem, even though the request 5347 // was valid. Retry your request. 5348 // 5349 // * InvalidAccountException 5350 // The operation failed because you tried to create, update, or delete an object 5351 // by using an invalid account identifier. 5352 // 5353 // * NonexistentItemException 5354 // The operation failed because the referenced object doesn't exist. 5355 // 5356 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSizeConstraintSet 5357 func (c *WAF) GetSizeConstraintSet(input *GetSizeConstraintSetInput) (*GetSizeConstraintSetOutput, error) { 5358 req, out := c.GetSizeConstraintSetRequest(input) 5359 return out, req.Send() 5360 } 5361 5362 // GetSizeConstraintSetWithContext is the same as GetSizeConstraintSet with the addition of 5363 // the ability to pass a context and additional request options. 5364 // 5365 // See GetSizeConstraintSet for details on how to use this API operation. 5366 // 5367 // The context must be non-nil and will be used for request cancellation. If 5368 // the context is nil a panic will occur. In the future the SDK may create 5369 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5370 // for more information on using Contexts. 5371 func (c *WAF) GetSizeConstraintSetWithContext(ctx aws.Context, input *GetSizeConstraintSetInput, opts ...request.Option) (*GetSizeConstraintSetOutput, error) { 5372 req, out := c.GetSizeConstraintSetRequest(input) 5373 req.SetContext(ctx) 5374 req.ApplyOptions(opts...) 5375 return out, req.Send() 5376 } 5377 5378 const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet" 5379 5380 // GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 5381 // client's request for the GetSqlInjectionMatchSet operation. The "output" return 5382 // value will be populated with the request's response once the request completes 5383 // successfully. 5384 // 5385 // Use "Send" method on the returned Request to send the API call to the service. 5386 // the "output" return value is not valid until after Send returns without error. 5387 // 5388 // See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet 5389 // API call, and error handling. 5390 // 5391 // This method is useful when you want to inject custom logic or configuration 5392 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5393 // 5394 // 5395 // // Example sending a request using the GetSqlInjectionMatchSetRequest method. 5396 // req, resp := client.GetSqlInjectionMatchSetRequest(params) 5397 // 5398 // err := req.Send() 5399 // if err == nil { // resp is now filled 5400 // fmt.Println(resp) 5401 // } 5402 // 5403 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSqlInjectionMatchSet 5404 func (c *WAF) GetSqlInjectionMatchSetRequest(input *GetSqlInjectionMatchSetInput) (req *request.Request, output *GetSqlInjectionMatchSetOutput) { 5405 op := &request.Operation{ 5406 Name: opGetSqlInjectionMatchSet, 5407 HTTPMethod: "POST", 5408 HTTPPath: "/", 5409 } 5410 5411 if input == nil { 5412 input = &GetSqlInjectionMatchSetInput{} 5413 } 5414 5415 output = &GetSqlInjectionMatchSetOutput{} 5416 req = c.newRequest(op, input, output) 5417 return 5418 } 5419 5420 // GetSqlInjectionMatchSet API operation for AWS WAF. 5421 // 5422 // 5423 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5424 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5425 // in the developer guide. 5426 // 5427 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5428 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5429 // With the latest version, AWS WAF has a single set of endpoints for regional 5430 // and global use. 5431 // 5432 // Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. 5433 // 5434 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5435 // with awserr.Error's Code and Message methods to get detailed information about 5436 // the error. 5437 // 5438 // See the AWS API reference guide for AWS WAF's 5439 // API operation GetSqlInjectionMatchSet for usage and error information. 5440 // 5441 // Returned Error Types: 5442 // * InternalErrorException 5443 // The operation failed because of a system problem, even though the request 5444 // was valid. Retry your request. 5445 // 5446 // * InvalidAccountException 5447 // The operation failed because you tried to create, update, or delete an object 5448 // by using an invalid account identifier. 5449 // 5450 // * NonexistentItemException 5451 // The operation failed because the referenced object doesn't exist. 5452 // 5453 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetSqlInjectionMatchSet 5454 func (c *WAF) GetSqlInjectionMatchSet(input *GetSqlInjectionMatchSetInput) (*GetSqlInjectionMatchSetOutput, error) { 5455 req, out := c.GetSqlInjectionMatchSetRequest(input) 5456 return out, req.Send() 5457 } 5458 5459 // GetSqlInjectionMatchSetWithContext is the same as GetSqlInjectionMatchSet with the addition of 5460 // the ability to pass a context and additional request options. 5461 // 5462 // See GetSqlInjectionMatchSet for details on how to use this API operation. 5463 // 5464 // The context must be non-nil and will be used for request cancellation. If 5465 // the context is nil a panic will occur. In the future the SDK may create 5466 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5467 // for more information on using Contexts. 5468 func (c *WAF) GetSqlInjectionMatchSetWithContext(ctx aws.Context, input *GetSqlInjectionMatchSetInput, opts ...request.Option) (*GetSqlInjectionMatchSetOutput, error) { 5469 req, out := c.GetSqlInjectionMatchSetRequest(input) 5470 req.SetContext(ctx) 5471 req.ApplyOptions(opts...) 5472 return out, req.Send() 5473 } 5474 5475 const opGetWebACL = "GetWebACL" 5476 5477 // GetWebACLRequest generates a "aws/request.Request" representing the 5478 // client's request for the GetWebACL operation. The "output" return 5479 // value will be populated with the request's response once the request completes 5480 // successfully. 5481 // 5482 // Use "Send" method on the returned Request to send the API call to the service. 5483 // the "output" return value is not valid until after Send returns without error. 5484 // 5485 // See GetWebACL for more information on using the GetWebACL 5486 // API call, and error handling. 5487 // 5488 // This method is useful when you want to inject custom logic or configuration 5489 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5490 // 5491 // 5492 // // Example sending a request using the GetWebACLRequest method. 5493 // req, resp := client.GetWebACLRequest(params) 5494 // 5495 // err := req.Send() 5496 // if err == nil { // resp is now filled 5497 // fmt.Println(resp) 5498 // } 5499 // 5500 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetWebACL 5501 func (c *WAF) GetWebACLRequest(input *GetWebACLInput) (req *request.Request, output *GetWebACLOutput) { 5502 op := &request.Operation{ 5503 Name: opGetWebACL, 5504 HTTPMethod: "POST", 5505 HTTPPath: "/", 5506 } 5507 5508 if input == nil { 5509 input = &GetWebACLInput{} 5510 } 5511 5512 output = &GetWebACLOutput{} 5513 req = c.newRequest(op, input, output) 5514 return 5515 } 5516 5517 // GetWebACL API operation for AWS WAF. 5518 // 5519 // 5520 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5521 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5522 // in the developer guide. 5523 // 5524 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5525 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5526 // With the latest version, AWS WAF has a single set of endpoints for regional 5527 // and global use. 5528 // 5529 // Returns the WebACL that is specified by WebACLId. 5530 // 5531 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5532 // with awserr.Error's Code and Message methods to get detailed information about 5533 // the error. 5534 // 5535 // See the AWS API reference guide for AWS WAF's 5536 // API operation GetWebACL for usage and error information. 5537 // 5538 // Returned Error Types: 5539 // * InternalErrorException 5540 // The operation failed because of a system problem, even though the request 5541 // was valid. Retry your request. 5542 // 5543 // * InvalidAccountException 5544 // The operation failed because you tried to create, update, or delete an object 5545 // by using an invalid account identifier. 5546 // 5547 // * NonexistentItemException 5548 // The operation failed because the referenced object doesn't exist. 5549 // 5550 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetWebACL 5551 func (c *WAF) GetWebACL(input *GetWebACLInput) (*GetWebACLOutput, error) { 5552 req, out := c.GetWebACLRequest(input) 5553 return out, req.Send() 5554 } 5555 5556 // GetWebACLWithContext is the same as GetWebACL with the addition of 5557 // the ability to pass a context and additional request options. 5558 // 5559 // See GetWebACL for details on how to use this API operation. 5560 // 5561 // The context must be non-nil and will be used for request cancellation. If 5562 // the context is nil a panic will occur. In the future the SDK may create 5563 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5564 // for more information on using Contexts. 5565 func (c *WAF) GetWebACLWithContext(ctx aws.Context, input *GetWebACLInput, opts ...request.Option) (*GetWebACLOutput, error) { 5566 req, out := c.GetWebACLRequest(input) 5567 req.SetContext(ctx) 5568 req.ApplyOptions(opts...) 5569 return out, req.Send() 5570 } 5571 5572 const opGetXssMatchSet = "GetXssMatchSet" 5573 5574 // GetXssMatchSetRequest generates a "aws/request.Request" representing the 5575 // client's request for the GetXssMatchSet operation. The "output" return 5576 // value will be populated with the request's response once the request completes 5577 // successfully. 5578 // 5579 // Use "Send" method on the returned Request to send the API call to the service. 5580 // the "output" return value is not valid until after Send returns without error. 5581 // 5582 // See GetXssMatchSet for more information on using the GetXssMatchSet 5583 // API call, and error handling. 5584 // 5585 // This method is useful when you want to inject custom logic or configuration 5586 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5587 // 5588 // 5589 // // Example sending a request using the GetXssMatchSetRequest method. 5590 // req, resp := client.GetXssMatchSetRequest(params) 5591 // 5592 // err := req.Send() 5593 // if err == nil { // resp is now filled 5594 // fmt.Println(resp) 5595 // } 5596 // 5597 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetXssMatchSet 5598 func (c *WAF) GetXssMatchSetRequest(input *GetXssMatchSetInput) (req *request.Request, output *GetXssMatchSetOutput) { 5599 op := &request.Operation{ 5600 Name: opGetXssMatchSet, 5601 HTTPMethod: "POST", 5602 HTTPPath: "/", 5603 } 5604 5605 if input == nil { 5606 input = &GetXssMatchSetInput{} 5607 } 5608 5609 output = &GetXssMatchSetOutput{} 5610 req = c.newRequest(op, input, output) 5611 return 5612 } 5613 5614 // GetXssMatchSet API operation for AWS WAF. 5615 // 5616 // 5617 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5618 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5619 // in the developer guide. 5620 // 5621 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5622 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5623 // With the latest version, AWS WAF has a single set of endpoints for regional 5624 // and global use. 5625 // 5626 // Returns the XssMatchSet that is specified by XssMatchSetId. 5627 // 5628 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5629 // with awserr.Error's Code and Message methods to get detailed information about 5630 // the error. 5631 // 5632 // See the AWS API reference guide for AWS WAF's 5633 // API operation GetXssMatchSet for usage and error information. 5634 // 5635 // Returned Error Types: 5636 // * InternalErrorException 5637 // The operation failed because of a system problem, even though the request 5638 // was valid. Retry your request. 5639 // 5640 // * InvalidAccountException 5641 // The operation failed because you tried to create, update, or delete an object 5642 // by using an invalid account identifier. 5643 // 5644 // * NonexistentItemException 5645 // The operation failed because the referenced object doesn't exist. 5646 // 5647 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetXssMatchSet 5648 func (c *WAF) GetXssMatchSet(input *GetXssMatchSetInput) (*GetXssMatchSetOutput, error) { 5649 req, out := c.GetXssMatchSetRequest(input) 5650 return out, req.Send() 5651 } 5652 5653 // GetXssMatchSetWithContext is the same as GetXssMatchSet with the addition of 5654 // the ability to pass a context and additional request options. 5655 // 5656 // See GetXssMatchSet for details on how to use this API operation. 5657 // 5658 // The context must be non-nil and will be used for request cancellation. If 5659 // the context is nil a panic will occur. In the future the SDK may create 5660 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5661 // for more information on using Contexts. 5662 func (c *WAF) GetXssMatchSetWithContext(ctx aws.Context, input *GetXssMatchSetInput, opts ...request.Option) (*GetXssMatchSetOutput, error) { 5663 req, out := c.GetXssMatchSetRequest(input) 5664 req.SetContext(ctx) 5665 req.ApplyOptions(opts...) 5666 return out, req.Send() 5667 } 5668 5669 const opListActivatedRulesInRuleGroup = "ListActivatedRulesInRuleGroup" 5670 5671 // ListActivatedRulesInRuleGroupRequest generates a "aws/request.Request" representing the 5672 // client's request for the ListActivatedRulesInRuleGroup operation. The "output" return 5673 // value will be populated with the request's response once the request completes 5674 // successfully. 5675 // 5676 // Use "Send" method on the returned Request to send the API call to the service. 5677 // the "output" return value is not valid until after Send returns without error. 5678 // 5679 // See ListActivatedRulesInRuleGroup for more information on using the ListActivatedRulesInRuleGroup 5680 // API call, and error handling. 5681 // 5682 // This method is useful when you want to inject custom logic or configuration 5683 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5684 // 5685 // 5686 // // Example sending a request using the ListActivatedRulesInRuleGroupRequest method. 5687 // req, resp := client.ListActivatedRulesInRuleGroupRequest(params) 5688 // 5689 // err := req.Send() 5690 // if err == nil { // resp is now filled 5691 // fmt.Println(resp) 5692 // } 5693 // 5694 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListActivatedRulesInRuleGroup 5695 func (c *WAF) ListActivatedRulesInRuleGroupRequest(input *ListActivatedRulesInRuleGroupInput) (req *request.Request, output *ListActivatedRulesInRuleGroupOutput) { 5696 op := &request.Operation{ 5697 Name: opListActivatedRulesInRuleGroup, 5698 HTTPMethod: "POST", 5699 HTTPPath: "/", 5700 } 5701 5702 if input == nil { 5703 input = &ListActivatedRulesInRuleGroupInput{} 5704 } 5705 5706 output = &ListActivatedRulesInRuleGroupOutput{} 5707 req = c.newRequest(op, input, output) 5708 return 5709 } 5710 5711 // ListActivatedRulesInRuleGroup API operation for AWS WAF. 5712 // 5713 // 5714 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5715 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5716 // in the developer guide. 5717 // 5718 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5719 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5720 // With the latest version, AWS WAF has a single set of endpoints for regional 5721 // and global use. 5722 // 5723 // Returns an array of ActivatedRule objects. 5724 // 5725 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5726 // with awserr.Error's Code and Message methods to get detailed information about 5727 // the error. 5728 // 5729 // See the AWS API reference guide for AWS WAF's 5730 // API operation ListActivatedRulesInRuleGroup for usage and error information. 5731 // 5732 // Returned Error Types: 5733 // * InternalErrorException 5734 // The operation failed because of a system problem, even though the request 5735 // was valid. Retry your request. 5736 // 5737 // * NonexistentItemException 5738 // The operation failed because the referenced object doesn't exist. 5739 // 5740 // * InvalidParameterException 5741 // The operation failed because AWS WAF didn't recognize a parameter in the 5742 // request. For example: 5743 // 5744 // * You specified an invalid parameter name. 5745 // 5746 // * You specified an invalid value. 5747 // 5748 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 5749 // using an action other than INSERT or DELETE. 5750 // 5751 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 5752 // BLOCK, or COUNT. 5753 // 5754 // * You tried to create a RateBasedRule with a RateKey value other than 5755 // IP. 5756 // 5757 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 5758 // BLOCK, or COUNT. 5759 // 5760 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 5761 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 5762 // 5763 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 5764 // for Data. 5765 // 5766 // * Your request references an ARN that is malformed, or corresponds to 5767 // a resource with which a web ACL cannot be associated. 5768 // 5769 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListActivatedRulesInRuleGroup 5770 func (c *WAF) ListActivatedRulesInRuleGroup(input *ListActivatedRulesInRuleGroupInput) (*ListActivatedRulesInRuleGroupOutput, error) { 5771 req, out := c.ListActivatedRulesInRuleGroupRequest(input) 5772 return out, req.Send() 5773 } 5774 5775 // ListActivatedRulesInRuleGroupWithContext is the same as ListActivatedRulesInRuleGroup with the addition of 5776 // the ability to pass a context and additional request options. 5777 // 5778 // See ListActivatedRulesInRuleGroup for details on how to use this API operation. 5779 // 5780 // The context must be non-nil and will be used for request cancellation. If 5781 // the context is nil a panic will occur. In the future the SDK may create 5782 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5783 // for more information on using Contexts. 5784 func (c *WAF) ListActivatedRulesInRuleGroupWithContext(ctx aws.Context, input *ListActivatedRulesInRuleGroupInput, opts ...request.Option) (*ListActivatedRulesInRuleGroupOutput, error) { 5785 req, out := c.ListActivatedRulesInRuleGroupRequest(input) 5786 req.SetContext(ctx) 5787 req.ApplyOptions(opts...) 5788 return out, req.Send() 5789 } 5790 5791 const opListByteMatchSets = "ListByteMatchSets" 5792 5793 // ListByteMatchSetsRequest generates a "aws/request.Request" representing the 5794 // client's request for the ListByteMatchSets operation. The "output" return 5795 // value will be populated with the request's response once the request completes 5796 // successfully. 5797 // 5798 // Use "Send" method on the returned Request to send the API call to the service. 5799 // the "output" return value is not valid until after Send returns without error. 5800 // 5801 // See ListByteMatchSets for more information on using the ListByteMatchSets 5802 // API call, and error handling. 5803 // 5804 // This method is useful when you want to inject custom logic or configuration 5805 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5806 // 5807 // 5808 // // Example sending a request using the ListByteMatchSetsRequest method. 5809 // req, resp := client.ListByteMatchSetsRequest(params) 5810 // 5811 // err := req.Send() 5812 // if err == nil { // resp is now filled 5813 // fmt.Println(resp) 5814 // } 5815 // 5816 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListByteMatchSets 5817 func (c *WAF) ListByteMatchSetsRequest(input *ListByteMatchSetsInput) (req *request.Request, output *ListByteMatchSetsOutput) { 5818 op := &request.Operation{ 5819 Name: opListByteMatchSets, 5820 HTTPMethod: "POST", 5821 HTTPPath: "/", 5822 } 5823 5824 if input == nil { 5825 input = &ListByteMatchSetsInput{} 5826 } 5827 5828 output = &ListByteMatchSetsOutput{} 5829 req = c.newRequest(op, input, output) 5830 return 5831 } 5832 5833 // ListByteMatchSets API operation for AWS WAF. 5834 // 5835 // 5836 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5837 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5838 // in the developer guide. 5839 // 5840 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5841 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5842 // With the latest version, AWS WAF has a single set of endpoints for regional 5843 // and global use. 5844 // 5845 // Returns an array of ByteMatchSetSummary objects. 5846 // 5847 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5848 // with awserr.Error's Code and Message methods to get detailed information about 5849 // the error. 5850 // 5851 // See the AWS API reference guide for AWS WAF's 5852 // API operation ListByteMatchSets for usage and error information. 5853 // 5854 // Returned Error Types: 5855 // * InternalErrorException 5856 // The operation failed because of a system problem, even though the request 5857 // was valid. Retry your request. 5858 // 5859 // * InvalidAccountException 5860 // The operation failed because you tried to create, update, or delete an object 5861 // by using an invalid account identifier. 5862 // 5863 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListByteMatchSets 5864 func (c *WAF) ListByteMatchSets(input *ListByteMatchSetsInput) (*ListByteMatchSetsOutput, error) { 5865 req, out := c.ListByteMatchSetsRequest(input) 5866 return out, req.Send() 5867 } 5868 5869 // ListByteMatchSetsWithContext is the same as ListByteMatchSets with the addition of 5870 // the ability to pass a context and additional request options. 5871 // 5872 // See ListByteMatchSets for details on how to use this API operation. 5873 // 5874 // The context must be non-nil and will be used for request cancellation. If 5875 // the context is nil a panic will occur. In the future the SDK may create 5876 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5877 // for more information on using Contexts. 5878 func (c *WAF) ListByteMatchSetsWithContext(ctx aws.Context, input *ListByteMatchSetsInput, opts ...request.Option) (*ListByteMatchSetsOutput, error) { 5879 req, out := c.ListByteMatchSetsRequest(input) 5880 req.SetContext(ctx) 5881 req.ApplyOptions(opts...) 5882 return out, req.Send() 5883 } 5884 5885 const opListGeoMatchSets = "ListGeoMatchSets" 5886 5887 // ListGeoMatchSetsRequest generates a "aws/request.Request" representing the 5888 // client's request for the ListGeoMatchSets operation. The "output" return 5889 // value will be populated with the request's response once the request completes 5890 // successfully. 5891 // 5892 // Use "Send" method on the returned Request to send the API call to the service. 5893 // the "output" return value is not valid until after Send returns without error. 5894 // 5895 // See ListGeoMatchSets for more information on using the ListGeoMatchSets 5896 // API call, and error handling. 5897 // 5898 // This method is useful when you want to inject custom logic or configuration 5899 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5900 // 5901 // 5902 // // Example sending a request using the ListGeoMatchSetsRequest method. 5903 // req, resp := client.ListGeoMatchSetsRequest(params) 5904 // 5905 // err := req.Send() 5906 // if err == nil { // resp is now filled 5907 // fmt.Println(resp) 5908 // } 5909 // 5910 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListGeoMatchSets 5911 func (c *WAF) ListGeoMatchSetsRequest(input *ListGeoMatchSetsInput) (req *request.Request, output *ListGeoMatchSetsOutput) { 5912 op := &request.Operation{ 5913 Name: opListGeoMatchSets, 5914 HTTPMethod: "POST", 5915 HTTPPath: "/", 5916 } 5917 5918 if input == nil { 5919 input = &ListGeoMatchSetsInput{} 5920 } 5921 5922 output = &ListGeoMatchSetsOutput{} 5923 req = c.newRequest(op, input, output) 5924 return 5925 } 5926 5927 // ListGeoMatchSets API operation for AWS WAF. 5928 // 5929 // 5930 // This is AWS WAF Classic documentation. For more information, see AWS WAF 5931 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 5932 // in the developer guide. 5933 // 5934 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 5935 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 5936 // With the latest version, AWS WAF has a single set of endpoints for regional 5937 // and global use. 5938 // 5939 // Returns an array of GeoMatchSetSummary objects in the response. 5940 // 5941 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5942 // with awserr.Error's Code and Message methods to get detailed information about 5943 // the error. 5944 // 5945 // See the AWS API reference guide for AWS WAF's 5946 // API operation ListGeoMatchSets for usage and error information. 5947 // 5948 // Returned Error Types: 5949 // * InternalErrorException 5950 // The operation failed because of a system problem, even though the request 5951 // was valid. Retry your request. 5952 // 5953 // * InvalidAccountException 5954 // The operation failed because you tried to create, update, or delete an object 5955 // by using an invalid account identifier. 5956 // 5957 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListGeoMatchSets 5958 func (c *WAF) ListGeoMatchSets(input *ListGeoMatchSetsInput) (*ListGeoMatchSetsOutput, error) { 5959 req, out := c.ListGeoMatchSetsRequest(input) 5960 return out, req.Send() 5961 } 5962 5963 // ListGeoMatchSetsWithContext is the same as ListGeoMatchSets with the addition of 5964 // the ability to pass a context and additional request options. 5965 // 5966 // See ListGeoMatchSets for details on how to use this API operation. 5967 // 5968 // The context must be non-nil and will be used for request cancellation. If 5969 // the context is nil a panic will occur. In the future the SDK may create 5970 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5971 // for more information on using Contexts. 5972 func (c *WAF) ListGeoMatchSetsWithContext(ctx aws.Context, input *ListGeoMatchSetsInput, opts ...request.Option) (*ListGeoMatchSetsOutput, error) { 5973 req, out := c.ListGeoMatchSetsRequest(input) 5974 req.SetContext(ctx) 5975 req.ApplyOptions(opts...) 5976 return out, req.Send() 5977 } 5978 5979 const opListIPSets = "ListIPSets" 5980 5981 // ListIPSetsRequest generates a "aws/request.Request" representing the 5982 // client's request for the ListIPSets operation. The "output" return 5983 // value will be populated with the request's response once the request completes 5984 // successfully. 5985 // 5986 // Use "Send" method on the returned Request to send the API call to the service. 5987 // the "output" return value is not valid until after Send returns without error. 5988 // 5989 // See ListIPSets for more information on using the ListIPSets 5990 // API call, and error handling. 5991 // 5992 // This method is useful when you want to inject custom logic or configuration 5993 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5994 // 5995 // 5996 // // Example sending a request using the ListIPSetsRequest method. 5997 // req, resp := client.ListIPSetsRequest(params) 5998 // 5999 // err := req.Send() 6000 // if err == nil { // resp is now filled 6001 // fmt.Println(resp) 6002 // } 6003 // 6004 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListIPSets 6005 func (c *WAF) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) { 6006 op := &request.Operation{ 6007 Name: opListIPSets, 6008 HTTPMethod: "POST", 6009 HTTPPath: "/", 6010 } 6011 6012 if input == nil { 6013 input = &ListIPSetsInput{} 6014 } 6015 6016 output = &ListIPSetsOutput{} 6017 req = c.newRequest(op, input, output) 6018 return 6019 } 6020 6021 // ListIPSets API operation for AWS WAF. 6022 // 6023 // 6024 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6025 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6026 // in the developer guide. 6027 // 6028 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6029 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6030 // With the latest version, AWS WAF has a single set of endpoints for regional 6031 // and global use. 6032 // 6033 // Returns an array of IPSetSummary objects in the response. 6034 // 6035 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6036 // with awserr.Error's Code and Message methods to get detailed information about 6037 // the error. 6038 // 6039 // See the AWS API reference guide for AWS WAF's 6040 // API operation ListIPSets for usage and error information. 6041 // 6042 // Returned Error Types: 6043 // * InternalErrorException 6044 // The operation failed because of a system problem, even though the request 6045 // was valid. Retry your request. 6046 // 6047 // * InvalidAccountException 6048 // The operation failed because you tried to create, update, or delete an object 6049 // by using an invalid account identifier. 6050 // 6051 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListIPSets 6052 func (c *WAF) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) { 6053 req, out := c.ListIPSetsRequest(input) 6054 return out, req.Send() 6055 } 6056 6057 // ListIPSetsWithContext is the same as ListIPSets with the addition of 6058 // the ability to pass a context and additional request options. 6059 // 6060 // See ListIPSets for details on how to use this API operation. 6061 // 6062 // The context must be non-nil and will be used for request cancellation. If 6063 // the context is nil a panic will occur. In the future the SDK may create 6064 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6065 // for more information on using Contexts. 6066 func (c *WAF) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error) { 6067 req, out := c.ListIPSetsRequest(input) 6068 req.SetContext(ctx) 6069 req.ApplyOptions(opts...) 6070 return out, req.Send() 6071 } 6072 6073 const opListLoggingConfigurations = "ListLoggingConfigurations" 6074 6075 // ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the 6076 // client's request for the ListLoggingConfigurations operation. The "output" return 6077 // value will be populated with the request's response once the request completes 6078 // successfully. 6079 // 6080 // Use "Send" method on the returned Request to send the API call to the service. 6081 // the "output" return value is not valid until after Send returns without error. 6082 // 6083 // See ListLoggingConfigurations for more information on using the ListLoggingConfigurations 6084 // API call, and error handling. 6085 // 6086 // This method is useful when you want to inject custom logic or configuration 6087 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6088 // 6089 // 6090 // // Example sending a request using the ListLoggingConfigurationsRequest method. 6091 // req, resp := client.ListLoggingConfigurationsRequest(params) 6092 // 6093 // err := req.Send() 6094 // if err == nil { // resp is now filled 6095 // fmt.Println(resp) 6096 // } 6097 // 6098 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListLoggingConfigurations 6099 func (c *WAF) ListLoggingConfigurationsRequest(input *ListLoggingConfigurationsInput) (req *request.Request, output *ListLoggingConfigurationsOutput) { 6100 op := &request.Operation{ 6101 Name: opListLoggingConfigurations, 6102 HTTPMethod: "POST", 6103 HTTPPath: "/", 6104 } 6105 6106 if input == nil { 6107 input = &ListLoggingConfigurationsInput{} 6108 } 6109 6110 output = &ListLoggingConfigurationsOutput{} 6111 req = c.newRequest(op, input, output) 6112 return 6113 } 6114 6115 // ListLoggingConfigurations API operation for AWS WAF. 6116 // 6117 // 6118 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6119 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6120 // in the developer guide. 6121 // 6122 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6123 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6124 // With the latest version, AWS WAF has a single set of endpoints for regional 6125 // and global use. 6126 // 6127 // Returns an array of LoggingConfiguration objects. 6128 // 6129 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6130 // with awserr.Error's Code and Message methods to get detailed information about 6131 // the error. 6132 // 6133 // See the AWS API reference guide for AWS WAF's 6134 // API operation ListLoggingConfigurations for usage and error information. 6135 // 6136 // Returned Error Types: 6137 // * InternalErrorException 6138 // The operation failed because of a system problem, even though the request 6139 // was valid. Retry your request. 6140 // 6141 // * NonexistentItemException 6142 // The operation failed because the referenced object doesn't exist. 6143 // 6144 // * InvalidParameterException 6145 // The operation failed because AWS WAF didn't recognize a parameter in the 6146 // request. For example: 6147 // 6148 // * You specified an invalid parameter name. 6149 // 6150 // * You specified an invalid value. 6151 // 6152 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 6153 // using an action other than INSERT or DELETE. 6154 // 6155 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 6156 // BLOCK, or COUNT. 6157 // 6158 // * You tried to create a RateBasedRule with a RateKey value other than 6159 // IP. 6160 // 6161 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 6162 // BLOCK, or COUNT. 6163 // 6164 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 6165 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 6166 // 6167 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 6168 // for Data. 6169 // 6170 // * Your request references an ARN that is malformed, or corresponds to 6171 // a resource with which a web ACL cannot be associated. 6172 // 6173 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListLoggingConfigurations 6174 func (c *WAF) ListLoggingConfigurations(input *ListLoggingConfigurationsInput) (*ListLoggingConfigurationsOutput, error) { 6175 req, out := c.ListLoggingConfigurationsRequest(input) 6176 return out, req.Send() 6177 } 6178 6179 // ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of 6180 // the ability to pass a context and additional request options. 6181 // 6182 // See ListLoggingConfigurations for details on how to use this API operation. 6183 // 6184 // The context must be non-nil and will be used for request cancellation. If 6185 // the context is nil a panic will occur. In the future the SDK may create 6186 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6187 // for more information on using Contexts. 6188 func (c *WAF) ListLoggingConfigurationsWithContext(ctx aws.Context, input *ListLoggingConfigurationsInput, opts ...request.Option) (*ListLoggingConfigurationsOutput, error) { 6189 req, out := c.ListLoggingConfigurationsRequest(input) 6190 req.SetContext(ctx) 6191 req.ApplyOptions(opts...) 6192 return out, req.Send() 6193 } 6194 6195 const opListRateBasedRules = "ListRateBasedRules" 6196 6197 // ListRateBasedRulesRequest generates a "aws/request.Request" representing the 6198 // client's request for the ListRateBasedRules operation. The "output" return 6199 // value will be populated with the request's response once the request completes 6200 // successfully. 6201 // 6202 // Use "Send" method on the returned Request to send the API call to the service. 6203 // the "output" return value is not valid until after Send returns without error. 6204 // 6205 // See ListRateBasedRules for more information on using the ListRateBasedRules 6206 // API call, and error handling. 6207 // 6208 // This method is useful when you want to inject custom logic or configuration 6209 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6210 // 6211 // 6212 // // Example sending a request using the ListRateBasedRulesRequest method. 6213 // req, resp := client.ListRateBasedRulesRequest(params) 6214 // 6215 // err := req.Send() 6216 // if err == nil { // resp is now filled 6217 // fmt.Println(resp) 6218 // } 6219 // 6220 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRateBasedRules 6221 func (c *WAF) ListRateBasedRulesRequest(input *ListRateBasedRulesInput) (req *request.Request, output *ListRateBasedRulesOutput) { 6222 op := &request.Operation{ 6223 Name: opListRateBasedRules, 6224 HTTPMethod: "POST", 6225 HTTPPath: "/", 6226 } 6227 6228 if input == nil { 6229 input = &ListRateBasedRulesInput{} 6230 } 6231 6232 output = &ListRateBasedRulesOutput{} 6233 req = c.newRequest(op, input, output) 6234 return 6235 } 6236 6237 // ListRateBasedRules API operation for AWS WAF. 6238 // 6239 // 6240 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6241 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6242 // in the developer guide. 6243 // 6244 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6245 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6246 // With the latest version, AWS WAF has a single set of endpoints for regional 6247 // and global use. 6248 // 6249 // Returns an array of RuleSummary objects. 6250 // 6251 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6252 // with awserr.Error's Code and Message methods to get detailed information about 6253 // the error. 6254 // 6255 // See the AWS API reference guide for AWS WAF's 6256 // API operation ListRateBasedRules for usage and error information. 6257 // 6258 // Returned Error Types: 6259 // * InternalErrorException 6260 // The operation failed because of a system problem, even though the request 6261 // was valid. Retry your request. 6262 // 6263 // * InvalidAccountException 6264 // The operation failed because you tried to create, update, or delete an object 6265 // by using an invalid account identifier. 6266 // 6267 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRateBasedRules 6268 func (c *WAF) ListRateBasedRules(input *ListRateBasedRulesInput) (*ListRateBasedRulesOutput, error) { 6269 req, out := c.ListRateBasedRulesRequest(input) 6270 return out, req.Send() 6271 } 6272 6273 // ListRateBasedRulesWithContext is the same as ListRateBasedRules with the addition of 6274 // the ability to pass a context and additional request options. 6275 // 6276 // See ListRateBasedRules for details on how to use this API operation. 6277 // 6278 // The context must be non-nil and will be used for request cancellation. If 6279 // the context is nil a panic will occur. In the future the SDK may create 6280 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6281 // for more information on using Contexts. 6282 func (c *WAF) ListRateBasedRulesWithContext(ctx aws.Context, input *ListRateBasedRulesInput, opts ...request.Option) (*ListRateBasedRulesOutput, error) { 6283 req, out := c.ListRateBasedRulesRequest(input) 6284 req.SetContext(ctx) 6285 req.ApplyOptions(opts...) 6286 return out, req.Send() 6287 } 6288 6289 const opListRegexMatchSets = "ListRegexMatchSets" 6290 6291 // ListRegexMatchSetsRequest generates a "aws/request.Request" representing the 6292 // client's request for the ListRegexMatchSets operation. The "output" return 6293 // value will be populated with the request's response once the request completes 6294 // successfully. 6295 // 6296 // Use "Send" method on the returned Request to send the API call to the service. 6297 // the "output" return value is not valid until after Send returns without error. 6298 // 6299 // See ListRegexMatchSets for more information on using the ListRegexMatchSets 6300 // API call, and error handling. 6301 // 6302 // This method is useful when you want to inject custom logic or configuration 6303 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6304 // 6305 // 6306 // // Example sending a request using the ListRegexMatchSetsRequest method. 6307 // req, resp := client.ListRegexMatchSetsRequest(params) 6308 // 6309 // err := req.Send() 6310 // if err == nil { // resp is now filled 6311 // fmt.Println(resp) 6312 // } 6313 // 6314 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexMatchSets 6315 func (c *WAF) ListRegexMatchSetsRequest(input *ListRegexMatchSetsInput) (req *request.Request, output *ListRegexMatchSetsOutput) { 6316 op := &request.Operation{ 6317 Name: opListRegexMatchSets, 6318 HTTPMethod: "POST", 6319 HTTPPath: "/", 6320 } 6321 6322 if input == nil { 6323 input = &ListRegexMatchSetsInput{} 6324 } 6325 6326 output = &ListRegexMatchSetsOutput{} 6327 req = c.newRequest(op, input, output) 6328 return 6329 } 6330 6331 // ListRegexMatchSets API operation for AWS WAF. 6332 // 6333 // 6334 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6335 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6336 // in the developer guide. 6337 // 6338 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6339 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6340 // With the latest version, AWS WAF has a single set of endpoints for regional 6341 // and global use. 6342 // 6343 // Returns an array of RegexMatchSetSummary objects. 6344 // 6345 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6346 // with awserr.Error's Code and Message methods to get detailed information about 6347 // the error. 6348 // 6349 // See the AWS API reference guide for AWS WAF's 6350 // API operation ListRegexMatchSets for usage and error information. 6351 // 6352 // Returned Error Types: 6353 // * InternalErrorException 6354 // The operation failed because of a system problem, even though the request 6355 // was valid. Retry your request. 6356 // 6357 // * InvalidAccountException 6358 // The operation failed because you tried to create, update, or delete an object 6359 // by using an invalid account identifier. 6360 // 6361 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexMatchSets 6362 func (c *WAF) ListRegexMatchSets(input *ListRegexMatchSetsInput) (*ListRegexMatchSetsOutput, error) { 6363 req, out := c.ListRegexMatchSetsRequest(input) 6364 return out, req.Send() 6365 } 6366 6367 // ListRegexMatchSetsWithContext is the same as ListRegexMatchSets with the addition of 6368 // the ability to pass a context and additional request options. 6369 // 6370 // See ListRegexMatchSets for details on how to use this API operation. 6371 // 6372 // The context must be non-nil and will be used for request cancellation. If 6373 // the context is nil a panic will occur. In the future the SDK may create 6374 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6375 // for more information on using Contexts. 6376 func (c *WAF) ListRegexMatchSetsWithContext(ctx aws.Context, input *ListRegexMatchSetsInput, opts ...request.Option) (*ListRegexMatchSetsOutput, error) { 6377 req, out := c.ListRegexMatchSetsRequest(input) 6378 req.SetContext(ctx) 6379 req.ApplyOptions(opts...) 6380 return out, req.Send() 6381 } 6382 6383 const opListRegexPatternSets = "ListRegexPatternSets" 6384 6385 // ListRegexPatternSetsRequest generates a "aws/request.Request" representing the 6386 // client's request for the ListRegexPatternSets operation. The "output" return 6387 // value will be populated with the request's response once the request completes 6388 // successfully. 6389 // 6390 // Use "Send" method on the returned Request to send the API call to the service. 6391 // the "output" return value is not valid until after Send returns without error. 6392 // 6393 // See ListRegexPatternSets for more information on using the ListRegexPatternSets 6394 // API call, and error handling. 6395 // 6396 // This method is useful when you want to inject custom logic or configuration 6397 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6398 // 6399 // 6400 // // Example sending a request using the ListRegexPatternSetsRequest method. 6401 // req, resp := client.ListRegexPatternSetsRequest(params) 6402 // 6403 // err := req.Send() 6404 // if err == nil { // resp is now filled 6405 // fmt.Println(resp) 6406 // } 6407 // 6408 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexPatternSets 6409 func (c *WAF) ListRegexPatternSetsRequest(input *ListRegexPatternSetsInput) (req *request.Request, output *ListRegexPatternSetsOutput) { 6410 op := &request.Operation{ 6411 Name: opListRegexPatternSets, 6412 HTTPMethod: "POST", 6413 HTTPPath: "/", 6414 } 6415 6416 if input == nil { 6417 input = &ListRegexPatternSetsInput{} 6418 } 6419 6420 output = &ListRegexPatternSetsOutput{} 6421 req = c.newRequest(op, input, output) 6422 return 6423 } 6424 6425 // ListRegexPatternSets API operation for AWS WAF. 6426 // 6427 // 6428 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6429 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6430 // in the developer guide. 6431 // 6432 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6433 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6434 // With the latest version, AWS WAF has a single set of endpoints for regional 6435 // and global use. 6436 // 6437 // Returns an array of RegexPatternSetSummary objects. 6438 // 6439 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6440 // with awserr.Error's Code and Message methods to get detailed information about 6441 // the error. 6442 // 6443 // See the AWS API reference guide for AWS WAF's 6444 // API operation ListRegexPatternSets for usage and error information. 6445 // 6446 // Returned Error Types: 6447 // * InternalErrorException 6448 // The operation failed because of a system problem, even though the request 6449 // was valid. Retry your request. 6450 // 6451 // * InvalidAccountException 6452 // The operation failed because you tried to create, update, or delete an object 6453 // by using an invalid account identifier. 6454 // 6455 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexPatternSets 6456 func (c *WAF) ListRegexPatternSets(input *ListRegexPatternSetsInput) (*ListRegexPatternSetsOutput, error) { 6457 req, out := c.ListRegexPatternSetsRequest(input) 6458 return out, req.Send() 6459 } 6460 6461 // ListRegexPatternSetsWithContext is the same as ListRegexPatternSets with the addition of 6462 // the ability to pass a context and additional request options. 6463 // 6464 // See ListRegexPatternSets for details on how to use this API operation. 6465 // 6466 // The context must be non-nil and will be used for request cancellation. If 6467 // the context is nil a panic will occur. In the future the SDK may create 6468 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6469 // for more information on using Contexts. 6470 func (c *WAF) ListRegexPatternSetsWithContext(ctx aws.Context, input *ListRegexPatternSetsInput, opts ...request.Option) (*ListRegexPatternSetsOutput, error) { 6471 req, out := c.ListRegexPatternSetsRequest(input) 6472 req.SetContext(ctx) 6473 req.ApplyOptions(opts...) 6474 return out, req.Send() 6475 } 6476 6477 const opListRuleGroups = "ListRuleGroups" 6478 6479 // ListRuleGroupsRequest generates a "aws/request.Request" representing the 6480 // client's request for the ListRuleGroups operation. The "output" return 6481 // value will be populated with the request's response once the request completes 6482 // successfully. 6483 // 6484 // Use "Send" method on the returned Request to send the API call to the service. 6485 // the "output" return value is not valid until after Send returns without error. 6486 // 6487 // See ListRuleGroups for more information on using the ListRuleGroups 6488 // API call, and error handling. 6489 // 6490 // This method is useful when you want to inject custom logic or configuration 6491 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6492 // 6493 // 6494 // // Example sending a request using the ListRuleGroupsRequest method. 6495 // req, resp := client.ListRuleGroupsRequest(params) 6496 // 6497 // err := req.Send() 6498 // if err == nil { // resp is now filled 6499 // fmt.Println(resp) 6500 // } 6501 // 6502 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRuleGroups 6503 func (c *WAF) ListRuleGroupsRequest(input *ListRuleGroupsInput) (req *request.Request, output *ListRuleGroupsOutput) { 6504 op := &request.Operation{ 6505 Name: opListRuleGroups, 6506 HTTPMethod: "POST", 6507 HTTPPath: "/", 6508 } 6509 6510 if input == nil { 6511 input = &ListRuleGroupsInput{} 6512 } 6513 6514 output = &ListRuleGroupsOutput{} 6515 req = c.newRequest(op, input, output) 6516 return 6517 } 6518 6519 // ListRuleGroups API operation for AWS WAF. 6520 // 6521 // 6522 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6523 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6524 // in the developer guide. 6525 // 6526 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6527 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6528 // With the latest version, AWS WAF has a single set of endpoints for regional 6529 // and global use. 6530 // 6531 // Returns an array of RuleGroup objects. 6532 // 6533 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6534 // with awserr.Error's Code and Message methods to get detailed information about 6535 // the error. 6536 // 6537 // See the AWS API reference guide for AWS WAF's 6538 // API operation ListRuleGroups for usage and error information. 6539 // 6540 // Returned Error Types: 6541 // * InternalErrorException 6542 // The operation failed because of a system problem, even though the request 6543 // was valid. Retry your request. 6544 // 6545 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRuleGroups 6546 func (c *WAF) ListRuleGroups(input *ListRuleGroupsInput) (*ListRuleGroupsOutput, error) { 6547 req, out := c.ListRuleGroupsRequest(input) 6548 return out, req.Send() 6549 } 6550 6551 // ListRuleGroupsWithContext is the same as ListRuleGroups with the addition of 6552 // the ability to pass a context and additional request options. 6553 // 6554 // See ListRuleGroups for details on how to use this API operation. 6555 // 6556 // The context must be non-nil and will be used for request cancellation. If 6557 // the context is nil a panic will occur. In the future the SDK may create 6558 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6559 // for more information on using Contexts. 6560 func (c *WAF) ListRuleGroupsWithContext(ctx aws.Context, input *ListRuleGroupsInput, opts ...request.Option) (*ListRuleGroupsOutput, error) { 6561 req, out := c.ListRuleGroupsRequest(input) 6562 req.SetContext(ctx) 6563 req.ApplyOptions(opts...) 6564 return out, req.Send() 6565 } 6566 6567 const opListRules = "ListRules" 6568 6569 // ListRulesRequest generates a "aws/request.Request" representing the 6570 // client's request for the ListRules operation. The "output" return 6571 // value will be populated with the request's response once the request completes 6572 // successfully. 6573 // 6574 // Use "Send" method on the returned Request to send the API call to the service. 6575 // the "output" return value is not valid until after Send returns without error. 6576 // 6577 // See ListRules for more information on using the ListRules 6578 // API call, and error handling. 6579 // 6580 // This method is useful when you want to inject custom logic or configuration 6581 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6582 // 6583 // 6584 // // Example sending a request using the ListRulesRequest method. 6585 // req, resp := client.ListRulesRequest(params) 6586 // 6587 // err := req.Send() 6588 // if err == nil { // resp is now filled 6589 // fmt.Println(resp) 6590 // } 6591 // 6592 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRules 6593 func (c *WAF) ListRulesRequest(input *ListRulesInput) (req *request.Request, output *ListRulesOutput) { 6594 op := &request.Operation{ 6595 Name: opListRules, 6596 HTTPMethod: "POST", 6597 HTTPPath: "/", 6598 } 6599 6600 if input == nil { 6601 input = &ListRulesInput{} 6602 } 6603 6604 output = &ListRulesOutput{} 6605 req = c.newRequest(op, input, output) 6606 return 6607 } 6608 6609 // ListRules API operation for AWS WAF. 6610 // 6611 // 6612 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6613 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6614 // in the developer guide. 6615 // 6616 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6617 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6618 // With the latest version, AWS WAF has a single set of endpoints for regional 6619 // and global use. 6620 // 6621 // Returns an array of RuleSummary objects. 6622 // 6623 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6624 // with awserr.Error's Code and Message methods to get detailed information about 6625 // the error. 6626 // 6627 // See the AWS API reference guide for AWS WAF's 6628 // API operation ListRules for usage and error information. 6629 // 6630 // Returned Error Types: 6631 // * InternalErrorException 6632 // The operation failed because of a system problem, even though the request 6633 // was valid. Retry your request. 6634 // 6635 // * InvalidAccountException 6636 // The operation failed because you tried to create, update, or delete an object 6637 // by using an invalid account identifier. 6638 // 6639 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRules 6640 func (c *WAF) ListRules(input *ListRulesInput) (*ListRulesOutput, error) { 6641 req, out := c.ListRulesRequest(input) 6642 return out, req.Send() 6643 } 6644 6645 // ListRulesWithContext is the same as ListRules with the addition of 6646 // the ability to pass a context and additional request options. 6647 // 6648 // See ListRules for details on how to use this API operation. 6649 // 6650 // The context must be non-nil and will be used for request cancellation. If 6651 // the context is nil a panic will occur. In the future the SDK may create 6652 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6653 // for more information on using Contexts. 6654 func (c *WAF) ListRulesWithContext(ctx aws.Context, input *ListRulesInput, opts ...request.Option) (*ListRulesOutput, error) { 6655 req, out := c.ListRulesRequest(input) 6656 req.SetContext(ctx) 6657 req.ApplyOptions(opts...) 6658 return out, req.Send() 6659 } 6660 6661 const opListSizeConstraintSets = "ListSizeConstraintSets" 6662 6663 // ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the 6664 // client's request for the ListSizeConstraintSets operation. The "output" return 6665 // value will be populated with the request's response once the request completes 6666 // successfully. 6667 // 6668 // Use "Send" method on the returned Request to send the API call to the service. 6669 // the "output" return value is not valid until after Send returns without error. 6670 // 6671 // See ListSizeConstraintSets for more information on using the ListSizeConstraintSets 6672 // API call, and error handling. 6673 // 6674 // This method is useful when you want to inject custom logic or configuration 6675 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6676 // 6677 // 6678 // // Example sending a request using the ListSizeConstraintSetsRequest method. 6679 // req, resp := client.ListSizeConstraintSetsRequest(params) 6680 // 6681 // err := req.Send() 6682 // if err == nil { // resp is now filled 6683 // fmt.Println(resp) 6684 // } 6685 // 6686 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSizeConstraintSets 6687 func (c *WAF) ListSizeConstraintSetsRequest(input *ListSizeConstraintSetsInput) (req *request.Request, output *ListSizeConstraintSetsOutput) { 6688 op := &request.Operation{ 6689 Name: opListSizeConstraintSets, 6690 HTTPMethod: "POST", 6691 HTTPPath: "/", 6692 } 6693 6694 if input == nil { 6695 input = &ListSizeConstraintSetsInput{} 6696 } 6697 6698 output = &ListSizeConstraintSetsOutput{} 6699 req = c.newRequest(op, input, output) 6700 return 6701 } 6702 6703 // ListSizeConstraintSets API operation for AWS WAF. 6704 // 6705 // 6706 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6707 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6708 // in the developer guide. 6709 // 6710 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6711 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6712 // With the latest version, AWS WAF has a single set of endpoints for regional 6713 // and global use. 6714 // 6715 // Returns an array of SizeConstraintSetSummary objects. 6716 // 6717 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6718 // with awserr.Error's Code and Message methods to get detailed information about 6719 // the error. 6720 // 6721 // See the AWS API reference guide for AWS WAF's 6722 // API operation ListSizeConstraintSets for usage and error information. 6723 // 6724 // Returned Error Types: 6725 // * InternalErrorException 6726 // The operation failed because of a system problem, even though the request 6727 // was valid. Retry your request. 6728 // 6729 // * InvalidAccountException 6730 // The operation failed because you tried to create, update, or delete an object 6731 // by using an invalid account identifier. 6732 // 6733 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSizeConstraintSets 6734 func (c *WAF) ListSizeConstraintSets(input *ListSizeConstraintSetsInput) (*ListSizeConstraintSetsOutput, error) { 6735 req, out := c.ListSizeConstraintSetsRequest(input) 6736 return out, req.Send() 6737 } 6738 6739 // ListSizeConstraintSetsWithContext is the same as ListSizeConstraintSets with the addition of 6740 // the ability to pass a context and additional request options. 6741 // 6742 // See ListSizeConstraintSets for details on how to use this API operation. 6743 // 6744 // The context must be non-nil and will be used for request cancellation. If 6745 // the context is nil a panic will occur. In the future the SDK may create 6746 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6747 // for more information on using Contexts. 6748 func (c *WAF) ListSizeConstraintSetsWithContext(ctx aws.Context, input *ListSizeConstraintSetsInput, opts ...request.Option) (*ListSizeConstraintSetsOutput, error) { 6749 req, out := c.ListSizeConstraintSetsRequest(input) 6750 req.SetContext(ctx) 6751 req.ApplyOptions(opts...) 6752 return out, req.Send() 6753 } 6754 6755 const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets" 6756 6757 // ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the 6758 // client's request for the ListSqlInjectionMatchSets operation. The "output" return 6759 // value will be populated with the request's response once the request completes 6760 // successfully. 6761 // 6762 // Use "Send" method on the returned Request to send the API call to the service. 6763 // the "output" return value is not valid until after Send returns without error. 6764 // 6765 // See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets 6766 // API call, and error handling. 6767 // 6768 // This method is useful when you want to inject custom logic or configuration 6769 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6770 // 6771 // 6772 // // Example sending a request using the ListSqlInjectionMatchSetsRequest method. 6773 // req, resp := client.ListSqlInjectionMatchSetsRequest(params) 6774 // 6775 // err := req.Send() 6776 // if err == nil { // resp is now filled 6777 // fmt.Println(resp) 6778 // } 6779 // 6780 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSqlInjectionMatchSets 6781 func (c *WAF) ListSqlInjectionMatchSetsRequest(input *ListSqlInjectionMatchSetsInput) (req *request.Request, output *ListSqlInjectionMatchSetsOutput) { 6782 op := &request.Operation{ 6783 Name: opListSqlInjectionMatchSets, 6784 HTTPMethod: "POST", 6785 HTTPPath: "/", 6786 } 6787 6788 if input == nil { 6789 input = &ListSqlInjectionMatchSetsInput{} 6790 } 6791 6792 output = &ListSqlInjectionMatchSetsOutput{} 6793 req = c.newRequest(op, input, output) 6794 return 6795 } 6796 6797 // ListSqlInjectionMatchSets API operation for AWS WAF. 6798 // 6799 // 6800 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6801 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6802 // in the developer guide. 6803 // 6804 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6805 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6806 // With the latest version, AWS WAF has a single set of endpoints for regional 6807 // and global use. 6808 // 6809 // Returns an array of SqlInjectionMatchSet objects. 6810 // 6811 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6812 // with awserr.Error's Code and Message methods to get detailed information about 6813 // the error. 6814 // 6815 // See the AWS API reference guide for AWS WAF's 6816 // API operation ListSqlInjectionMatchSets for usage and error information. 6817 // 6818 // Returned Error Types: 6819 // * InternalErrorException 6820 // The operation failed because of a system problem, even though the request 6821 // was valid. Retry your request. 6822 // 6823 // * InvalidAccountException 6824 // The operation failed because you tried to create, update, or delete an object 6825 // by using an invalid account identifier. 6826 // 6827 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSqlInjectionMatchSets 6828 func (c *WAF) ListSqlInjectionMatchSets(input *ListSqlInjectionMatchSetsInput) (*ListSqlInjectionMatchSetsOutput, error) { 6829 req, out := c.ListSqlInjectionMatchSetsRequest(input) 6830 return out, req.Send() 6831 } 6832 6833 // ListSqlInjectionMatchSetsWithContext is the same as ListSqlInjectionMatchSets with the addition of 6834 // the ability to pass a context and additional request options. 6835 // 6836 // See ListSqlInjectionMatchSets for details on how to use this API operation. 6837 // 6838 // The context must be non-nil and will be used for request cancellation. If 6839 // the context is nil a panic will occur. In the future the SDK may create 6840 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6841 // for more information on using Contexts. 6842 func (c *WAF) ListSqlInjectionMatchSetsWithContext(ctx aws.Context, input *ListSqlInjectionMatchSetsInput, opts ...request.Option) (*ListSqlInjectionMatchSetsOutput, error) { 6843 req, out := c.ListSqlInjectionMatchSetsRequest(input) 6844 req.SetContext(ctx) 6845 req.ApplyOptions(opts...) 6846 return out, req.Send() 6847 } 6848 6849 const opListSubscribedRuleGroups = "ListSubscribedRuleGroups" 6850 6851 // ListSubscribedRuleGroupsRequest generates a "aws/request.Request" representing the 6852 // client's request for the ListSubscribedRuleGroups operation. The "output" return 6853 // value will be populated with the request's response once the request completes 6854 // successfully. 6855 // 6856 // Use "Send" method on the returned Request to send the API call to the service. 6857 // the "output" return value is not valid until after Send returns without error. 6858 // 6859 // See ListSubscribedRuleGroups for more information on using the ListSubscribedRuleGroups 6860 // API call, and error handling. 6861 // 6862 // This method is useful when you want to inject custom logic or configuration 6863 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6864 // 6865 // 6866 // // Example sending a request using the ListSubscribedRuleGroupsRequest method. 6867 // req, resp := client.ListSubscribedRuleGroupsRequest(params) 6868 // 6869 // err := req.Send() 6870 // if err == nil { // resp is now filled 6871 // fmt.Println(resp) 6872 // } 6873 // 6874 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSubscribedRuleGroups 6875 func (c *WAF) ListSubscribedRuleGroupsRequest(input *ListSubscribedRuleGroupsInput) (req *request.Request, output *ListSubscribedRuleGroupsOutput) { 6876 op := &request.Operation{ 6877 Name: opListSubscribedRuleGroups, 6878 HTTPMethod: "POST", 6879 HTTPPath: "/", 6880 } 6881 6882 if input == nil { 6883 input = &ListSubscribedRuleGroupsInput{} 6884 } 6885 6886 output = &ListSubscribedRuleGroupsOutput{} 6887 req = c.newRequest(op, input, output) 6888 return 6889 } 6890 6891 // ListSubscribedRuleGroups API operation for AWS WAF. 6892 // 6893 // 6894 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6895 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6896 // in the developer guide. 6897 // 6898 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6899 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6900 // With the latest version, AWS WAF has a single set of endpoints for regional 6901 // and global use. 6902 // 6903 // Returns an array of RuleGroup objects that you are subscribed to. 6904 // 6905 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6906 // with awserr.Error's Code and Message methods to get detailed information about 6907 // the error. 6908 // 6909 // See the AWS API reference guide for AWS WAF's 6910 // API operation ListSubscribedRuleGroups for usage and error information. 6911 // 6912 // Returned Error Types: 6913 // * NonexistentItemException 6914 // The operation failed because the referenced object doesn't exist. 6915 // 6916 // * InternalErrorException 6917 // The operation failed because of a system problem, even though the request 6918 // was valid. Retry your request. 6919 // 6920 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListSubscribedRuleGroups 6921 func (c *WAF) ListSubscribedRuleGroups(input *ListSubscribedRuleGroupsInput) (*ListSubscribedRuleGroupsOutput, error) { 6922 req, out := c.ListSubscribedRuleGroupsRequest(input) 6923 return out, req.Send() 6924 } 6925 6926 // ListSubscribedRuleGroupsWithContext is the same as ListSubscribedRuleGroups with the addition of 6927 // the ability to pass a context and additional request options. 6928 // 6929 // See ListSubscribedRuleGroups for details on how to use this API operation. 6930 // 6931 // The context must be non-nil and will be used for request cancellation. If 6932 // the context is nil a panic will occur. In the future the SDK may create 6933 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6934 // for more information on using Contexts. 6935 func (c *WAF) ListSubscribedRuleGroupsWithContext(ctx aws.Context, input *ListSubscribedRuleGroupsInput, opts ...request.Option) (*ListSubscribedRuleGroupsOutput, error) { 6936 req, out := c.ListSubscribedRuleGroupsRequest(input) 6937 req.SetContext(ctx) 6938 req.ApplyOptions(opts...) 6939 return out, req.Send() 6940 } 6941 6942 const opListTagsForResource = "ListTagsForResource" 6943 6944 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 6945 // client's request for the ListTagsForResource operation. The "output" return 6946 // value will be populated with the request's response once the request completes 6947 // successfully. 6948 // 6949 // Use "Send" method on the returned Request to send the API call to the service. 6950 // the "output" return value is not valid until after Send returns without error. 6951 // 6952 // See ListTagsForResource for more information on using the ListTagsForResource 6953 // API call, and error handling. 6954 // 6955 // This method is useful when you want to inject custom logic or configuration 6956 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6957 // 6958 // 6959 // // Example sending a request using the ListTagsForResourceRequest method. 6960 // req, resp := client.ListTagsForResourceRequest(params) 6961 // 6962 // err := req.Send() 6963 // if err == nil { // resp is now filled 6964 // fmt.Println(resp) 6965 // } 6966 // 6967 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListTagsForResource 6968 func (c *WAF) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 6969 op := &request.Operation{ 6970 Name: opListTagsForResource, 6971 HTTPMethod: "POST", 6972 HTTPPath: "/", 6973 } 6974 6975 if input == nil { 6976 input = &ListTagsForResourceInput{} 6977 } 6978 6979 output = &ListTagsForResourceOutput{} 6980 req = c.newRequest(op, input, output) 6981 return 6982 } 6983 6984 // ListTagsForResource API operation for AWS WAF. 6985 // 6986 // 6987 // This is AWS WAF Classic documentation. For more information, see AWS WAF 6988 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 6989 // in the developer guide. 6990 // 6991 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 6992 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 6993 // With the latest version, AWS WAF has a single set of endpoints for regional 6994 // and global use. 6995 // 6996 // Retrieves the tags associated with the specified AWS resource. Tags are key:value 6997 // pairs that you can use to categorize and manage your resources, for purposes 6998 // like billing. For example, you might set the tag key to "customer" and the 6999 // value to the customer name or ID. You can specify one or more tags to add 7000 // to each AWS resource, up to 50 tags for a resource. 7001 // 7002 // Tagging is only available through the API, SDKs, and CLI. You can't manage 7003 // or view tags through the AWS WAF Classic console. You can tag the AWS resources 7004 // that you manage through AWS WAF Classic: web ACLs, rule groups, and rules. 7005 // 7006 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7007 // with awserr.Error's Code and Message methods to get detailed information about 7008 // the error. 7009 // 7010 // See the AWS API reference guide for AWS WAF's 7011 // API operation ListTagsForResource for usage and error information. 7012 // 7013 // Returned Error Types: 7014 // * InternalErrorException 7015 // The operation failed because of a system problem, even though the request 7016 // was valid. Retry your request. 7017 // 7018 // * InvalidParameterException 7019 // The operation failed because AWS WAF didn't recognize a parameter in the 7020 // request. For example: 7021 // 7022 // * You specified an invalid parameter name. 7023 // 7024 // * You specified an invalid value. 7025 // 7026 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7027 // using an action other than INSERT or DELETE. 7028 // 7029 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7030 // BLOCK, or COUNT. 7031 // 7032 // * You tried to create a RateBasedRule with a RateKey value other than 7033 // IP. 7034 // 7035 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 7036 // BLOCK, or COUNT. 7037 // 7038 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7039 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 7040 // 7041 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 7042 // for Data. 7043 // 7044 // * Your request references an ARN that is malformed, or corresponds to 7045 // a resource with which a web ACL cannot be associated. 7046 // 7047 // * NonexistentItemException 7048 // The operation failed because the referenced object doesn't exist. 7049 // 7050 // * BadRequestException 7051 // 7052 // * TagOperationException 7053 // 7054 // * TagOperationInternalErrorException 7055 // 7056 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListTagsForResource 7057 func (c *WAF) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 7058 req, out := c.ListTagsForResourceRequest(input) 7059 return out, req.Send() 7060 } 7061 7062 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 7063 // the ability to pass a context and additional request options. 7064 // 7065 // See ListTagsForResource for details on how to use this API operation. 7066 // 7067 // The context must be non-nil and will be used for request cancellation. If 7068 // the context is nil a panic will occur. In the future the SDK may create 7069 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7070 // for more information on using Contexts. 7071 func (c *WAF) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 7072 req, out := c.ListTagsForResourceRequest(input) 7073 req.SetContext(ctx) 7074 req.ApplyOptions(opts...) 7075 return out, req.Send() 7076 } 7077 7078 const opListWebACLs = "ListWebACLs" 7079 7080 // ListWebACLsRequest generates a "aws/request.Request" representing the 7081 // client's request for the ListWebACLs operation. The "output" return 7082 // value will be populated with the request's response once the request completes 7083 // successfully. 7084 // 7085 // Use "Send" method on the returned Request to send the API call to the service. 7086 // the "output" return value is not valid until after Send returns without error. 7087 // 7088 // See ListWebACLs for more information on using the ListWebACLs 7089 // API call, and error handling. 7090 // 7091 // This method is useful when you want to inject custom logic or configuration 7092 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7093 // 7094 // 7095 // // Example sending a request using the ListWebACLsRequest method. 7096 // req, resp := client.ListWebACLsRequest(params) 7097 // 7098 // err := req.Send() 7099 // if err == nil { // resp is now filled 7100 // fmt.Println(resp) 7101 // } 7102 // 7103 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListWebACLs 7104 func (c *WAF) ListWebACLsRequest(input *ListWebACLsInput) (req *request.Request, output *ListWebACLsOutput) { 7105 op := &request.Operation{ 7106 Name: opListWebACLs, 7107 HTTPMethod: "POST", 7108 HTTPPath: "/", 7109 } 7110 7111 if input == nil { 7112 input = &ListWebACLsInput{} 7113 } 7114 7115 output = &ListWebACLsOutput{} 7116 req = c.newRequest(op, input, output) 7117 return 7118 } 7119 7120 // ListWebACLs API operation for AWS WAF. 7121 // 7122 // 7123 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7124 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7125 // in the developer guide. 7126 // 7127 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7128 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7129 // With the latest version, AWS WAF has a single set of endpoints for regional 7130 // and global use. 7131 // 7132 // Returns an array of WebACLSummary objects in the response. 7133 // 7134 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7135 // with awserr.Error's Code and Message methods to get detailed information about 7136 // the error. 7137 // 7138 // See the AWS API reference guide for AWS WAF's 7139 // API operation ListWebACLs for usage and error information. 7140 // 7141 // Returned Error Types: 7142 // * InternalErrorException 7143 // The operation failed because of a system problem, even though the request 7144 // was valid. Retry your request. 7145 // 7146 // * InvalidAccountException 7147 // The operation failed because you tried to create, update, or delete an object 7148 // by using an invalid account identifier. 7149 // 7150 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListWebACLs 7151 func (c *WAF) ListWebACLs(input *ListWebACLsInput) (*ListWebACLsOutput, error) { 7152 req, out := c.ListWebACLsRequest(input) 7153 return out, req.Send() 7154 } 7155 7156 // ListWebACLsWithContext is the same as ListWebACLs with the addition of 7157 // the ability to pass a context and additional request options. 7158 // 7159 // See ListWebACLs for details on how to use this API operation. 7160 // 7161 // The context must be non-nil and will be used for request cancellation. If 7162 // the context is nil a panic will occur. In the future the SDK may create 7163 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7164 // for more information on using Contexts. 7165 func (c *WAF) ListWebACLsWithContext(ctx aws.Context, input *ListWebACLsInput, opts ...request.Option) (*ListWebACLsOutput, error) { 7166 req, out := c.ListWebACLsRequest(input) 7167 req.SetContext(ctx) 7168 req.ApplyOptions(opts...) 7169 return out, req.Send() 7170 } 7171 7172 const opListXssMatchSets = "ListXssMatchSets" 7173 7174 // ListXssMatchSetsRequest generates a "aws/request.Request" representing the 7175 // client's request for the ListXssMatchSets operation. The "output" return 7176 // value will be populated with the request's response once the request completes 7177 // successfully. 7178 // 7179 // Use "Send" method on the returned Request to send the API call to the service. 7180 // the "output" return value is not valid until after Send returns without error. 7181 // 7182 // See ListXssMatchSets for more information on using the ListXssMatchSets 7183 // API call, and error handling. 7184 // 7185 // This method is useful when you want to inject custom logic or configuration 7186 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7187 // 7188 // 7189 // // Example sending a request using the ListXssMatchSetsRequest method. 7190 // req, resp := client.ListXssMatchSetsRequest(params) 7191 // 7192 // err := req.Send() 7193 // if err == nil { // resp is now filled 7194 // fmt.Println(resp) 7195 // } 7196 // 7197 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListXssMatchSets 7198 func (c *WAF) ListXssMatchSetsRequest(input *ListXssMatchSetsInput) (req *request.Request, output *ListXssMatchSetsOutput) { 7199 op := &request.Operation{ 7200 Name: opListXssMatchSets, 7201 HTTPMethod: "POST", 7202 HTTPPath: "/", 7203 } 7204 7205 if input == nil { 7206 input = &ListXssMatchSetsInput{} 7207 } 7208 7209 output = &ListXssMatchSetsOutput{} 7210 req = c.newRequest(op, input, output) 7211 return 7212 } 7213 7214 // ListXssMatchSets API operation for AWS WAF. 7215 // 7216 // 7217 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7218 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7219 // in the developer guide. 7220 // 7221 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7222 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7223 // With the latest version, AWS WAF has a single set of endpoints for regional 7224 // and global use. 7225 // 7226 // Returns an array of XssMatchSet objects. 7227 // 7228 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7229 // with awserr.Error's Code and Message methods to get detailed information about 7230 // the error. 7231 // 7232 // See the AWS API reference guide for AWS WAF's 7233 // API operation ListXssMatchSets for usage and error information. 7234 // 7235 // Returned Error Types: 7236 // * InternalErrorException 7237 // The operation failed because of a system problem, even though the request 7238 // was valid. Retry your request. 7239 // 7240 // * InvalidAccountException 7241 // The operation failed because you tried to create, update, or delete an object 7242 // by using an invalid account identifier. 7243 // 7244 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListXssMatchSets 7245 func (c *WAF) ListXssMatchSets(input *ListXssMatchSetsInput) (*ListXssMatchSetsOutput, error) { 7246 req, out := c.ListXssMatchSetsRequest(input) 7247 return out, req.Send() 7248 } 7249 7250 // ListXssMatchSetsWithContext is the same as ListXssMatchSets with the addition of 7251 // the ability to pass a context and additional request options. 7252 // 7253 // See ListXssMatchSets for details on how to use this API operation. 7254 // 7255 // The context must be non-nil and will be used for request cancellation. If 7256 // the context is nil a panic will occur. In the future the SDK may create 7257 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7258 // for more information on using Contexts. 7259 func (c *WAF) ListXssMatchSetsWithContext(ctx aws.Context, input *ListXssMatchSetsInput, opts ...request.Option) (*ListXssMatchSetsOutput, error) { 7260 req, out := c.ListXssMatchSetsRequest(input) 7261 req.SetContext(ctx) 7262 req.ApplyOptions(opts...) 7263 return out, req.Send() 7264 } 7265 7266 const opPutLoggingConfiguration = "PutLoggingConfiguration" 7267 7268 // PutLoggingConfigurationRequest generates a "aws/request.Request" representing the 7269 // client's request for the PutLoggingConfiguration operation. The "output" return 7270 // value will be populated with the request's response once the request completes 7271 // successfully. 7272 // 7273 // Use "Send" method on the returned Request to send the API call to the service. 7274 // the "output" return value is not valid until after Send returns without error. 7275 // 7276 // See PutLoggingConfiguration for more information on using the PutLoggingConfiguration 7277 // API call, and error handling. 7278 // 7279 // This method is useful when you want to inject custom logic or configuration 7280 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7281 // 7282 // 7283 // // Example sending a request using the PutLoggingConfigurationRequest method. 7284 // req, resp := client.PutLoggingConfigurationRequest(params) 7285 // 7286 // err := req.Send() 7287 // if err == nil { // resp is now filled 7288 // fmt.Println(resp) 7289 // } 7290 // 7291 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfiguration 7292 func (c *WAF) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInput) (req *request.Request, output *PutLoggingConfigurationOutput) { 7293 op := &request.Operation{ 7294 Name: opPutLoggingConfiguration, 7295 HTTPMethod: "POST", 7296 HTTPPath: "/", 7297 } 7298 7299 if input == nil { 7300 input = &PutLoggingConfigurationInput{} 7301 } 7302 7303 output = &PutLoggingConfigurationOutput{} 7304 req = c.newRequest(op, input, output) 7305 return 7306 } 7307 7308 // PutLoggingConfiguration API operation for AWS WAF. 7309 // 7310 // 7311 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7312 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7313 // in the developer guide. 7314 // 7315 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7316 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7317 // With the latest version, AWS WAF has a single set of endpoints for regional 7318 // and global use. 7319 // 7320 // Associates a LoggingConfiguration with a specified web ACL. 7321 // 7322 // You can access information about all traffic that AWS WAF inspects using 7323 // the following steps: 7324 // 7325 // Create an Amazon Kinesis Data Firehose. 7326 // 7327 // Create the data firehose with a PUT source and in the region that you are 7328 // operating. However, if you are capturing logs for Amazon CloudFront, always 7329 // create the firehose in US East (N. Virginia). 7330 // 7331 // Do not create the data firehose using a Kinesis stream as your source. 7332 // 7333 // Associate that firehose to your web ACL using a PutLoggingConfiguration request. 7334 // 7335 // When you successfully enable logging using a PutLoggingConfiguration request, 7336 // AWS WAF will create a service linked role with the necessary permissions 7337 // to write logs to the Amazon Kinesis Data Firehose. For more information, 7338 // see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) 7339 // in the AWS WAF Developer Guide. 7340 // 7341 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7342 // with awserr.Error's Code and Message methods to get detailed information about 7343 // the error. 7344 // 7345 // See the AWS API reference guide for AWS WAF's 7346 // API operation PutLoggingConfiguration for usage and error information. 7347 // 7348 // Returned Error Types: 7349 // * InternalErrorException 7350 // The operation failed because of a system problem, even though the request 7351 // was valid. Retry your request. 7352 // 7353 // * NonexistentItemException 7354 // The operation failed because the referenced object doesn't exist. 7355 // 7356 // * StaleDataException 7357 // The operation failed because you tried to create, update, or delete an object 7358 // by using a change token that has already been used. 7359 // 7360 // * ServiceLinkedRoleErrorException 7361 // AWS WAF is not able to access the service linked role. This can be caused 7362 // by a previous PutLoggingConfiguration request, which can lock the service 7363 // linked role for about 20 seconds. Please try your request again. The service 7364 // linked role can also be locked by a previous DeleteServiceLinkedRole request, 7365 // which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, 7366 // wait at least 15 minutes and try the request again. If you receive this same 7367 // exception again, you will have to wait additional time until the role is 7368 // unlocked. 7369 // 7370 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfiguration 7371 func (c *WAF) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error) { 7372 req, out := c.PutLoggingConfigurationRequest(input) 7373 return out, req.Send() 7374 } 7375 7376 // PutLoggingConfigurationWithContext is the same as PutLoggingConfiguration with the addition of 7377 // the ability to pass a context and additional request options. 7378 // 7379 // See PutLoggingConfiguration for details on how to use this API operation. 7380 // 7381 // The context must be non-nil and will be used for request cancellation. If 7382 // the context is nil a panic will occur. In the future the SDK may create 7383 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7384 // for more information on using Contexts. 7385 func (c *WAF) PutLoggingConfigurationWithContext(ctx aws.Context, input *PutLoggingConfigurationInput, opts ...request.Option) (*PutLoggingConfigurationOutput, error) { 7386 req, out := c.PutLoggingConfigurationRequest(input) 7387 req.SetContext(ctx) 7388 req.ApplyOptions(opts...) 7389 return out, req.Send() 7390 } 7391 7392 const opPutPermissionPolicy = "PutPermissionPolicy" 7393 7394 // PutPermissionPolicyRequest generates a "aws/request.Request" representing the 7395 // client's request for the PutPermissionPolicy operation. The "output" return 7396 // value will be populated with the request's response once the request completes 7397 // successfully. 7398 // 7399 // Use "Send" method on the returned Request to send the API call to the service. 7400 // the "output" return value is not valid until after Send returns without error. 7401 // 7402 // See PutPermissionPolicy for more information on using the PutPermissionPolicy 7403 // API call, and error handling. 7404 // 7405 // This method is useful when you want to inject custom logic or configuration 7406 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7407 // 7408 // 7409 // // Example sending a request using the PutPermissionPolicyRequest method. 7410 // req, resp := client.PutPermissionPolicyRequest(params) 7411 // 7412 // err := req.Send() 7413 // if err == nil { // resp is now filled 7414 // fmt.Println(resp) 7415 // } 7416 // 7417 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutPermissionPolicy 7418 func (c *WAF) PutPermissionPolicyRequest(input *PutPermissionPolicyInput) (req *request.Request, output *PutPermissionPolicyOutput) { 7419 op := &request.Operation{ 7420 Name: opPutPermissionPolicy, 7421 HTTPMethod: "POST", 7422 HTTPPath: "/", 7423 } 7424 7425 if input == nil { 7426 input = &PutPermissionPolicyInput{} 7427 } 7428 7429 output = &PutPermissionPolicyOutput{} 7430 req = c.newRequest(op, input, output) 7431 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7432 return 7433 } 7434 7435 // PutPermissionPolicy API operation for AWS WAF. 7436 // 7437 // 7438 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7439 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7440 // in the developer guide. 7441 // 7442 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7443 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7444 // With the latest version, AWS WAF has a single set of endpoints for regional 7445 // and global use. 7446 // 7447 // Attaches an IAM policy to the specified resource. The only supported use 7448 // for this action is to share a RuleGroup across accounts. 7449 // 7450 // The PutPermissionPolicy is subject to the following restrictions: 7451 // 7452 // * You can attach only one policy with each PutPermissionPolicy request. 7453 // 7454 // * The policy must include an Effect, Action and Principal. 7455 // 7456 // * Effect must specify Allow. 7457 // 7458 // * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, 7459 // waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard 7460 // actions in the policy will be rejected. 7461 // 7462 // * The policy cannot include a Resource parameter. 7463 // 7464 // * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup 7465 // must exist in the same region. 7466 // 7467 // * The user making the request must be the owner of the RuleGroup. 7468 // 7469 // * Your policy must be composed using IAM Policy version 2012-10-17. 7470 // 7471 // For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). 7472 // 7473 // An example of a valid policy parameter is shown in the Examples section below. 7474 // 7475 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7476 // with awserr.Error's Code and Message methods to get detailed information about 7477 // the error. 7478 // 7479 // See the AWS API reference guide for AWS WAF's 7480 // API operation PutPermissionPolicy for usage and error information. 7481 // 7482 // Returned Error Types: 7483 // * InternalErrorException 7484 // The operation failed because of a system problem, even though the request 7485 // was valid. Retry your request. 7486 // 7487 // * StaleDataException 7488 // The operation failed because you tried to create, update, or delete an object 7489 // by using a change token that has already been used. 7490 // 7491 // * NonexistentItemException 7492 // The operation failed because the referenced object doesn't exist. 7493 // 7494 // * InvalidPermissionPolicyException 7495 // The operation failed because the specified policy is not in the proper format. 7496 // 7497 // The policy is subject to the following restrictions: 7498 // 7499 // * You can attach only one policy with each PutPermissionPolicy request. 7500 // 7501 // * The policy must include an Effect, Action and Principal. 7502 // 7503 // * Effect must specify Allow. 7504 // 7505 // * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, 7506 // waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard 7507 // actions in the policy will be rejected. 7508 // 7509 // * The policy cannot include a Resource parameter. 7510 // 7511 // * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup 7512 // must exist in the same region. 7513 // 7514 // * The user making the request must be the owner of the RuleGroup. 7515 // 7516 // * Your policy must be composed using IAM Policy version 2012-10-17. 7517 // 7518 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutPermissionPolicy 7519 func (c *WAF) PutPermissionPolicy(input *PutPermissionPolicyInput) (*PutPermissionPolicyOutput, error) { 7520 req, out := c.PutPermissionPolicyRequest(input) 7521 return out, req.Send() 7522 } 7523 7524 // PutPermissionPolicyWithContext is the same as PutPermissionPolicy with the addition of 7525 // the ability to pass a context and additional request options. 7526 // 7527 // See PutPermissionPolicy for details on how to use this API operation. 7528 // 7529 // The context must be non-nil and will be used for request cancellation. If 7530 // the context is nil a panic will occur. In the future the SDK may create 7531 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7532 // for more information on using Contexts. 7533 func (c *WAF) PutPermissionPolicyWithContext(ctx aws.Context, input *PutPermissionPolicyInput, opts ...request.Option) (*PutPermissionPolicyOutput, error) { 7534 req, out := c.PutPermissionPolicyRequest(input) 7535 req.SetContext(ctx) 7536 req.ApplyOptions(opts...) 7537 return out, req.Send() 7538 } 7539 7540 const opTagResource = "TagResource" 7541 7542 // TagResourceRequest generates a "aws/request.Request" representing the 7543 // client's request for the TagResource operation. The "output" return 7544 // value will be populated with the request's response once the request completes 7545 // successfully. 7546 // 7547 // Use "Send" method on the returned Request to send the API call to the service. 7548 // the "output" return value is not valid until after Send returns without error. 7549 // 7550 // See TagResource for more information on using the TagResource 7551 // API call, and error handling. 7552 // 7553 // This method is useful when you want to inject custom logic or configuration 7554 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7555 // 7556 // 7557 // // Example sending a request using the TagResourceRequest method. 7558 // req, resp := client.TagResourceRequest(params) 7559 // 7560 // err := req.Send() 7561 // if err == nil { // resp is now filled 7562 // fmt.Println(resp) 7563 // } 7564 // 7565 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/TagResource 7566 func (c *WAF) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 7567 op := &request.Operation{ 7568 Name: opTagResource, 7569 HTTPMethod: "POST", 7570 HTTPPath: "/", 7571 } 7572 7573 if input == nil { 7574 input = &TagResourceInput{} 7575 } 7576 7577 output = &TagResourceOutput{} 7578 req = c.newRequest(op, input, output) 7579 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7580 return 7581 } 7582 7583 // TagResource API operation for AWS WAF. 7584 // 7585 // 7586 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7587 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7588 // in the developer guide. 7589 // 7590 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7591 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7592 // With the latest version, AWS WAF has a single set of endpoints for regional 7593 // and global use. 7594 // 7595 // Associates tags with the specified AWS resource. Tags are key:value pairs 7596 // that you can use to categorize and manage your resources, for purposes like 7597 // billing. For example, you might set the tag key to "customer" and the value 7598 // to the customer name or ID. You can specify one or more tags to add to each 7599 // AWS resource, up to 50 tags for a resource. 7600 // 7601 // Tagging is only available through the API, SDKs, and CLI. You can't manage 7602 // or view tags through the AWS WAF Classic console. You can use this action 7603 // to tag the AWS resources that you manage through AWS WAF Classic: web ACLs, 7604 // rule groups, and rules. 7605 // 7606 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7607 // with awserr.Error's Code and Message methods to get detailed information about 7608 // the error. 7609 // 7610 // See the AWS API reference guide for AWS WAF's 7611 // API operation TagResource for usage and error information. 7612 // 7613 // Returned Error Types: 7614 // * InternalErrorException 7615 // The operation failed because of a system problem, even though the request 7616 // was valid. Retry your request. 7617 // 7618 // * InvalidParameterException 7619 // The operation failed because AWS WAF didn't recognize a parameter in the 7620 // request. For example: 7621 // 7622 // * You specified an invalid parameter name. 7623 // 7624 // * You specified an invalid value. 7625 // 7626 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7627 // using an action other than INSERT or DELETE. 7628 // 7629 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7630 // BLOCK, or COUNT. 7631 // 7632 // * You tried to create a RateBasedRule with a RateKey value other than 7633 // IP. 7634 // 7635 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 7636 // BLOCK, or COUNT. 7637 // 7638 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7639 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 7640 // 7641 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 7642 // for Data. 7643 // 7644 // * Your request references an ARN that is malformed, or corresponds to 7645 // a resource with which a web ACL cannot be associated. 7646 // 7647 // * LimitsExceededException 7648 // The operation exceeds a resource limit, for example, the maximum number of 7649 // WebACL objects that you can create for an AWS account. For more information, 7650 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 7651 // in the AWS WAF Developer Guide. 7652 // 7653 // * NonexistentItemException 7654 // The operation failed because the referenced object doesn't exist. 7655 // 7656 // * BadRequestException 7657 // 7658 // * TagOperationException 7659 // 7660 // * TagOperationInternalErrorException 7661 // 7662 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/TagResource 7663 func (c *WAF) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 7664 req, out := c.TagResourceRequest(input) 7665 return out, req.Send() 7666 } 7667 7668 // TagResourceWithContext is the same as TagResource with the addition of 7669 // the ability to pass a context and additional request options. 7670 // 7671 // See TagResource for details on how to use this API operation. 7672 // 7673 // The context must be non-nil and will be used for request cancellation. If 7674 // the context is nil a panic will occur. In the future the SDK may create 7675 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7676 // for more information on using Contexts. 7677 func (c *WAF) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 7678 req, out := c.TagResourceRequest(input) 7679 req.SetContext(ctx) 7680 req.ApplyOptions(opts...) 7681 return out, req.Send() 7682 } 7683 7684 const opUntagResource = "UntagResource" 7685 7686 // UntagResourceRequest generates a "aws/request.Request" representing the 7687 // client's request for the UntagResource operation. The "output" return 7688 // value will be populated with the request's response once the request completes 7689 // successfully. 7690 // 7691 // Use "Send" method on the returned Request to send the API call to the service. 7692 // the "output" return value is not valid until after Send returns without error. 7693 // 7694 // See UntagResource for more information on using the UntagResource 7695 // API call, and error handling. 7696 // 7697 // This method is useful when you want to inject custom logic or configuration 7698 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7699 // 7700 // 7701 // // Example sending a request using the UntagResourceRequest method. 7702 // req, resp := client.UntagResourceRequest(params) 7703 // 7704 // err := req.Send() 7705 // if err == nil { // resp is now filled 7706 // fmt.Println(resp) 7707 // } 7708 // 7709 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UntagResource 7710 func (c *WAF) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 7711 op := &request.Operation{ 7712 Name: opUntagResource, 7713 HTTPMethod: "POST", 7714 HTTPPath: "/", 7715 } 7716 7717 if input == nil { 7718 input = &UntagResourceInput{} 7719 } 7720 7721 output = &UntagResourceOutput{} 7722 req = c.newRequest(op, input, output) 7723 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7724 return 7725 } 7726 7727 // UntagResource API operation for AWS WAF. 7728 // 7729 // 7730 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7731 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7732 // in the developer guide. 7733 // 7734 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7735 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7736 // With the latest version, AWS WAF has a single set of endpoints for regional 7737 // and global use. 7738 // 7739 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7740 // with awserr.Error's Code and Message methods to get detailed information about 7741 // the error. 7742 // 7743 // See the AWS API reference guide for AWS WAF's 7744 // API operation UntagResource for usage and error information. 7745 // 7746 // Returned Error Types: 7747 // * InternalErrorException 7748 // The operation failed because of a system problem, even though the request 7749 // was valid. Retry your request. 7750 // 7751 // * InvalidParameterException 7752 // The operation failed because AWS WAF didn't recognize a parameter in the 7753 // request. For example: 7754 // 7755 // * You specified an invalid parameter name. 7756 // 7757 // * You specified an invalid value. 7758 // 7759 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7760 // using an action other than INSERT or DELETE. 7761 // 7762 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7763 // BLOCK, or COUNT. 7764 // 7765 // * You tried to create a RateBasedRule with a RateKey value other than 7766 // IP. 7767 // 7768 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 7769 // BLOCK, or COUNT. 7770 // 7771 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7772 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 7773 // 7774 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 7775 // for Data. 7776 // 7777 // * Your request references an ARN that is malformed, or corresponds to 7778 // a resource with which a web ACL cannot be associated. 7779 // 7780 // * NonexistentItemException 7781 // The operation failed because the referenced object doesn't exist. 7782 // 7783 // * BadRequestException 7784 // 7785 // * TagOperationException 7786 // 7787 // * TagOperationInternalErrorException 7788 // 7789 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UntagResource 7790 func (c *WAF) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 7791 req, out := c.UntagResourceRequest(input) 7792 return out, req.Send() 7793 } 7794 7795 // UntagResourceWithContext is the same as UntagResource with the addition of 7796 // the ability to pass a context and additional request options. 7797 // 7798 // See UntagResource for details on how to use this API operation. 7799 // 7800 // The context must be non-nil and will be used for request cancellation. If 7801 // the context is nil a panic will occur. In the future the SDK may create 7802 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7803 // for more information on using Contexts. 7804 func (c *WAF) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 7805 req, out := c.UntagResourceRequest(input) 7806 req.SetContext(ctx) 7807 req.ApplyOptions(opts...) 7808 return out, req.Send() 7809 } 7810 7811 const opUpdateByteMatchSet = "UpdateByteMatchSet" 7812 7813 // UpdateByteMatchSetRequest generates a "aws/request.Request" representing the 7814 // client's request for the UpdateByteMatchSet operation. The "output" return 7815 // value will be populated with the request's response once the request completes 7816 // successfully. 7817 // 7818 // Use "Send" method on the returned Request to send the API call to the service. 7819 // the "output" return value is not valid until after Send returns without error. 7820 // 7821 // See UpdateByteMatchSet for more information on using the UpdateByteMatchSet 7822 // API call, and error handling. 7823 // 7824 // This method is useful when you want to inject custom logic or configuration 7825 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7826 // 7827 // 7828 // // Example sending a request using the UpdateByteMatchSetRequest method. 7829 // req, resp := client.UpdateByteMatchSetRequest(params) 7830 // 7831 // err := req.Send() 7832 // if err == nil { // resp is now filled 7833 // fmt.Println(resp) 7834 // } 7835 // 7836 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateByteMatchSet 7837 func (c *WAF) UpdateByteMatchSetRequest(input *UpdateByteMatchSetInput) (req *request.Request, output *UpdateByteMatchSetOutput) { 7838 op := &request.Operation{ 7839 Name: opUpdateByteMatchSet, 7840 HTTPMethod: "POST", 7841 HTTPPath: "/", 7842 } 7843 7844 if input == nil { 7845 input = &UpdateByteMatchSetInput{} 7846 } 7847 7848 output = &UpdateByteMatchSetOutput{} 7849 req = c.newRequest(op, input, output) 7850 return 7851 } 7852 7853 // UpdateByteMatchSet API operation for AWS WAF. 7854 // 7855 // 7856 // This is AWS WAF Classic documentation. For more information, see AWS WAF 7857 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 7858 // in the developer guide. 7859 // 7860 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 7861 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 7862 // With the latest version, AWS WAF has a single set of endpoints for regional 7863 // and global use. 7864 // 7865 // Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For 7866 // each ByteMatchTuple object, you specify the following values: 7867 // 7868 // * Whether to insert or delete the object from the array. If you want to 7869 // change a ByteMatchSetUpdate object, you delete the existing object and 7870 // add a new one. 7871 // 7872 // * The part of a web request that you want AWS WAF to inspect, such as 7873 // a query string or the value of the User-Agent header. 7874 // 7875 // * The bytes (typically a string that corresponds with ASCII characters) 7876 // that you want AWS WAF to look for. For more information, including how 7877 // you specify the values for the AWS WAF API and the AWS CLI or SDKs, see 7878 // TargetString in the ByteMatchTuple data type. 7879 // 7880 // * Where to look, such as at the beginning or the end of a query string. 7881 // 7882 // * Whether to perform any conversions on the request, such as converting 7883 // it to lowercase, before inspecting it for the specified string. 7884 // 7885 // For example, you can add a ByteMatchSetUpdate object that matches web requests 7886 // in which User-Agent headers contain the string BadBot. You can then configure 7887 // AWS WAF to block those requests. 7888 // 7889 // To create and configure a ByteMatchSet, perform the following steps: 7890 // 7891 // Create a ByteMatchSet. For more information, see CreateByteMatchSet. 7892 // 7893 // Use GetChangeToken to get the change token that you provide in the ChangeToken 7894 // parameter of an UpdateByteMatchSet request. 7895 // 7896 // Submit an UpdateByteMatchSet request to specify the part of the request that 7897 // you want AWS WAF to inspect (for example, the header or the URI) and the 7898 // value that you want AWS WAF to watch for. 7899 // 7900 // For more information about how to use the AWS WAF API to allow or block HTTP 7901 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 7902 // 7903 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7904 // with awserr.Error's Code and Message methods to get detailed information about 7905 // the error. 7906 // 7907 // See the AWS API reference guide for AWS WAF's 7908 // API operation UpdateByteMatchSet for usage and error information. 7909 // 7910 // Returned Error Types: 7911 // * InternalErrorException 7912 // The operation failed because of a system problem, even though the request 7913 // was valid. Retry your request. 7914 // 7915 // * InvalidAccountException 7916 // The operation failed because you tried to create, update, or delete an object 7917 // by using an invalid account identifier. 7918 // 7919 // * InvalidOperationException 7920 // The operation failed because there was nothing to do. For example: 7921 // 7922 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 7923 // specified WebACL. 7924 // 7925 // * You tried to remove an IP address from an IPSet, but the IP address 7926 // isn't in the specified IPSet. 7927 // 7928 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 7929 // isn't in the specified WebACL. 7930 // 7931 // * You tried to add a Rule to a WebACL, but the Rule already exists in 7932 // the specified WebACL. 7933 // 7934 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 7935 // already exists in the specified WebACL. 7936 // 7937 // * InvalidParameterException 7938 // The operation failed because AWS WAF didn't recognize a parameter in the 7939 // request. For example: 7940 // 7941 // * You specified an invalid parameter name. 7942 // 7943 // * You specified an invalid value. 7944 // 7945 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 7946 // using an action other than INSERT or DELETE. 7947 // 7948 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 7949 // BLOCK, or COUNT. 7950 // 7951 // * You tried to create a RateBasedRule with a RateKey value other than 7952 // IP. 7953 // 7954 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 7955 // BLOCK, or COUNT. 7956 // 7957 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 7958 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 7959 // 7960 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 7961 // for Data. 7962 // 7963 // * Your request references an ARN that is malformed, or corresponds to 7964 // a resource with which a web ACL cannot be associated. 7965 // 7966 // * NonexistentContainerException 7967 // The operation failed because you tried to add an object to or delete an object 7968 // from another object that doesn't exist. For example: 7969 // 7970 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 7971 // exist. 7972 // 7973 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 7974 // that doesn't exist. 7975 // 7976 // * You tried to add an IP address to or delete an IP address from an IPSet 7977 // that doesn't exist. 7978 // 7979 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 7980 // a ByteMatchSet that doesn't exist. 7981 // 7982 // * NonexistentItemException 7983 // The operation failed because the referenced object doesn't exist. 7984 // 7985 // * StaleDataException 7986 // The operation failed because you tried to create, update, or delete an object 7987 // by using a change token that has already been used. 7988 // 7989 // * LimitsExceededException 7990 // The operation exceeds a resource limit, for example, the maximum number of 7991 // WebACL objects that you can create for an AWS account. For more information, 7992 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 7993 // in the AWS WAF Developer Guide. 7994 // 7995 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateByteMatchSet 7996 func (c *WAF) UpdateByteMatchSet(input *UpdateByteMatchSetInput) (*UpdateByteMatchSetOutput, error) { 7997 req, out := c.UpdateByteMatchSetRequest(input) 7998 return out, req.Send() 7999 } 8000 8001 // UpdateByteMatchSetWithContext is the same as UpdateByteMatchSet with the addition of 8002 // the ability to pass a context and additional request options. 8003 // 8004 // See UpdateByteMatchSet for details on how to use this API operation. 8005 // 8006 // The context must be non-nil and will be used for request cancellation. If 8007 // the context is nil a panic will occur. In the future the SDK may create 8008 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8009 // for more information on using Contexts. 8010 func (c *WAF) UpdateByteMatchSetWithContext(ctx aws.Context, input *UpdateByteMatchSetInput, opts ...request.Option) (*UpdateByteMatchSetOutput, error) { 8011 req, out := c.UpdateByteMatchSetRequest(input) 8012 req.SetContext(ctx) 8013 req.ApplyOptions(opts...) 8014 return out, req.Send() 8015 } 8016 8017 const opUpdateGeoMatchSet = "UpdateGeoMatchSet" 8018 8019 // UpdateGeoMatchSetRequest generates a "aws/request.Request" representing the 8020 // client's request for the UpdateGeoMatchSet operation. The "output" return 8021 // value will be populated with the request's response once the request completes 8022 // successfully. 8023 // 8024 // Use "Send" method on the returned Request to send the API call to the service. 8025 // the "output" return value is not valid until after Send returns without error. 8026 // 8027 // See UpdateGeoMatchSet for more information on using the UpdateGeoMatchSet 8028 // API call, and error handling. 8029 // 8030 // This method is useful when you want to inject custom logic or configuration 8031 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 8032 // 8033 // 8034 // // Example sending a request using the UpdateGeoMatchSetRequest method. 8035 // req, resp := client.UpdateGeoMatchSetRequest(params) 8036 // 8037 // err := req.Send() 8038 // if err == nil { // resp is now filled 8039 // fmt.Println(resp) 8040 // } 8041 // 8042 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSet 8043 func (c *WAF) UpdateGeoMatchSetRequest(input *UpdateGeoMatchSetInput) (req *request.Request, output *UpdateGeoMatchSetOutput) { 8044 op := &request.Operation{ 8045 Name: opUpdateGeoMatchSet, 8046 HTTPMethod: "POST", 8047 HTTPPath: "/", 8048 } 8049 8050 if input == nil { 8051 input = &UpdateGeoMatchSetInput{} 8052 } 8053 8054 output = &UpdateGeoMatchSetOutput{} 8055 req = c.newRequest(op, input, output) 8056 return 8057 } 8058 8059 // UpdateGeoMatchSet API operation for AWS WAF. 8060 // 8061 // 8062 // This is AWS WAF Classic documentation. For more information, see AWS WAF 8063 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 8064 // in the developer guide. 8065 // 8066 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 8067 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 8068 // With the latest version, AWS WAF has a single set of endpoints for regional 8069 // and global use. 8070 // 8071 // Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each 8072 // GeoMatchConstraint object, you specify the following values: 8073 // 8074 // * Whether to insert or delete the object from the array. If you want to 8075 // change an GeoMatchConstraint object, you delete the existing object and 8076 // add a new one. 8077 // 8078 // * The Type. The only valid value for Type is Country. 8079 // 8080 // * The Value, which is a two character code for the country to add to the 8081 // GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value. 8082 // 8083 // To create and configure an GeoMatchSet, perform the following steps: 8084 // 8085 // Submit a CreateGeoMatchSet request. 8086 // 8087 // Use GetChangeToken to get the change token that you provide in the ChangeToken 8088 // parameter of an UpdateGeoMatchSet request. 8089 // 8090 // Submit an UpdateGeoMatchSet request to specify the country that you want 8091 // AWS WAF to watch for. 8092 // 8093 // When you update an GeoMatchSet, you specify the country that you want to 8094 // add and/or the country that you want to delete. If you want to change a country, 8095 // you delete the existing country and add the new one. 8096 // 8097 // For more information about how to use the AWS WAF API to allow or block HTTP 8098 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8099 // 8100 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8101 // with awserr.Error's Code and Message methods to get detailed information about 8102 // the error. 8103 // 8104 // See the AWS API reference guide for AWS WAF's 8105 // API operation UpdateGeoMatchSet for usage and error information. 8106 // 8107 // Returned Error Types: 8108 // * StaleDataException 8109 // The operation failed because you tried to create, update, or delete an object 8110 // by using a change token that has already been used. 8111 // 8112 // * InternalErrorException 8113 // The operation failed because of a system problem, even though the request 8114 // was valid. Retry your request. 8115 // 8116 // * InvalidAccountException 8117 // The operation failed because you tried to create, update, or delete an object 8118 // by using an invalid account identifier. 8119 // 8120 // * InvalidOperationException 8121 // The operation failed because there was nothing to do. For example: 8122 // 8123 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8124 // specified WebACL. 8125 // 8126 // * You tried to remove an IP address from an IPSet, but the IP address 8127 // isn't in the specified IPSet. 8128 // 8129 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8130 // isn't in the specified WebACL. 8131 // 8132 // * You tried to add a Rule to a WebACL, but the Rule already exists in 8133 // the specified WebACL. 8134 // 8135 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8136 // already exists in the specified WebACL. 8137 // 8138 // * InvalidParameterException 8139 // The operation failed because AWS WAF didn't recognize a parameter in the 8140 // request. For example: 8141 // 8142 // * You specified an invalid parameter name. 8143 // 8144 // * You specified an invalid value. 8145 // 8146 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8147 // using an action other than INSERT or DELETE. 8148 // 8149 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8150 // BLOCK, or COUNT. 8151 // 8152 // * You tried to create a RateBasedRule with a RateKey value other than 8153 // IP. 8154 // 8155 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 8156 // BLOCK, or COUNT. 8157 // 8158 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8159 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 8160 // 8161 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 8162 // for Data. 8163 // 8164 // * Your request references an ARN that is malformed, or corresponds to 8165 // a resource with which a web ACL cannot be associated. 8166 // 8167 // * NonexistentContainerException 8168 // The operation failed because you tried to add an object to or delete an object 8169 // from another object that doesn't exist. For example: 8170 // 8171 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8172 // exist. 8173 // 8174 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8175 // that doesn't exist. 8176 // 8177 // * You tried to add an IP address to or delete an IP address from an IPSet 8178 // that doesn't exist. 8179 // 8180 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8181 // a ByteMatchSet that doesn't exist. 8182 // 8183 // * NonexistentItemException 8184 // The operation failed because the referenced object doesn't exist. 8185 // 8186 // * ReferencedItemException 8187 // The operation failed because you tried to delete an object that is still 8188 // in use. For example: 8189 // 8190 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8191 // 8192 // * You tried to delete a Rule that is still referenced by a WebACL. 8193 // 8194 // * LimitsExceededException 8195 // The operation exceeds a resource limit, for example, the maximum number of 8196 // WebACL objects that you can create for an AWS account. For more information, 8197 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8198 // in the AWS WAF Developer Guide. 8199 // 8200 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSet 8201 func (c *WAF) UpdateGeoMatchSet(input *UpdateGeoMatchSetInput) (*UpdateGeoMatchSetOutput, error) { 8202 req, out := c.UpdateGeoMatchSetRequest(input) 8203 return out, req.Send() 8204 } 8205 8206 // UpdateGeoMatchSetWithContext is the same as UpdateGeoMatchSet with the addition of 8207 // the ability to pass a context and additional request options. 8208 // 8209 // See UpdateGeoMatchSet for details on how to use this API operation. 8210 // 8211 // The context must be non-nil and will be used for request cancellation. If 8212 // the context is nil a panic will occur. In the future the SDK may create 8213 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8214 // for more information on using Contexts. 8215 func (c *WAF) UpdateGeoMatchSetWithContext(ctx aws.Context, input *UpdateGeoMatchSetInput, opts ...request.Option) (*UpdateGeoMatchSetOutput, error) { 8216 req, out := c.UpdateGeoMatchSetRequest(input) 8217 req.SetContext(ctx) 8218 req.ApplyOptions(opts...) 8219 return out, req.Send() 8220 } 8221 8222 const opUpdateIPSet = "UpdateIPSet" 8223 8224 // UpdateIPSetRequest generates a "aws/request.Request" representing the 8225 // client's request for the UpdateIPSet operation. The "output" return 8226 // value will be populated with the request's response once the request completes 8227 // successfully. 8228 // 8229 // Use "Send" method on the returned Request to send the API call to the service. 8230 // the "output" return value is not valid until after Send returns without error. 8231 // 8232 // See UpdateIPSet for more information on using the UpdateIPSet 8233 // API call, and error handling. 8234 // 8235 // This method is useful when you want to inject custom logic or configuration 8236 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 8237 // 8238 // 8239 // // Example sending a request using the UpdateIPSetRequest method. 8240 // req, resp := client.UpdateIPSetRequest(params) 8241 // 8242 // err := req.Send() 8243 // if err == nil { // resp is now filled 8244 // fmt.Println(resp) 8245 // } 8246 // 8247 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateIPSet 8248 func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) { 8249 op := &request.Operation{ 8250 Name: opUpdateIPSet, 8251 HTTPMethod: "POST", 8252 HTTPPath: "/", 8253 } 8254 8255 if input == nil { 8256 input = &UpdateIPSetInput{} 8257 } 8258 8259 output = &UpdateIPSetOutput{} 8260 req = c.newRequest(op, input, output) 8261 return 8262 } 8263 8264 // UpdateIPSet API operation for AWS WAF. 8265 // 8266 // 8267 // This is AWS WAF Classic documentation. For more information, see AWS WAF 8268 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 8269 // in the developer guide. 8270 // 8271 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 8272 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 8273 // With the latest version, AWS WAF has a single set of endpoints for regional 8274 // and global use. 8275 // 8276 // Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor 8277 // object, you specify the following values: 8278 // 8279 // * Whether to insert or delete the object from the array. If you want to 8280 // change an IPSetDescriptor object, you delete the existing object and add 8281 // a new one. 8282 // 8283 // * The IP address version, IPv4 or IPv6. 8284 // 8285 // * The IP address in CIDR notation, for example, 192.0.2.0/24 (for the 8286 // range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 8287 // (for the individual IP address 192.0.2.44). 8288 // 8289 // AWS WAF supports IPv4 address ranges: /8 and any range between /16 through 8290 // /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. 8291 // For more information about CIDR notation, see the Wikipedia entry Classless 8292 // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). 8293 // 8294 // IPv6 addresses can be represented using any of the following formats: 8295 // 8296 // * 1111:0000:0000:0000:0000:0000:0000:0111/128 8297 // 8298 // * 1111:0:0:0:0:0:0:0111/128 8299 // 8300 // * 1111::0111/128 8301 // 8302 // * 1111::111/128 8303 // 8304 // You use an IPSet to specify which web requests you want to allow or block 8305 // based on the IP addresses that the requests originated from. For example, 8306 // if you're receiving a lot of requests from one or a small number of IP addresses 8307 // and you want to block the requests, you can create an IPSet that specifies 8308 // those IP addresses, and then configure AWS WAF to block the requests. 8309 // 8310 // To create and configure an IPSet, perform the following steps: 8311 // 8312 // Submit a CreateIPSet request. 8313 // 8314 // Use GetChangeToken to get the change token that you provide in the ChangeToken 8315 // parameter of an UpdateIPSet request. 8316 // 8317 // Submit an UpdateIPSet request to specify the IP addresses that you want AWS 8318 // WAF to watch for. 8319 // 8320 // When you update an IPSet, you specify the IP addresses that you want to add 8321 // and/or the IP addresses that you want to delete. If you want to change an 8322 // IP address, you delete the existing IP address and add the new one. 8323 // 8324 // You can insert a maximum of 1000 addresses in a single request. 8325 // 8326 // For more information about how to use the AWS WAF API to allow or block HTTP 8327 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8328 // 8329 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8330 // with awserr.Error's Code and Message methods to get detailed information about 8331 // the error. 8332 // 8333 // See the AWS API reference guide for AWS WAF's 8334 // API operation UpdateIPSet for usage and error information. 8335 // 8336 // Returned Error Types: 8337 // * StaleDataException 8338 // The operation failed because you tried to create, update, or delete an object 8339 // by using a change token that has already been used. 8340 // 8341 // * InternalErrorException 8342 // The operation failed because of a system problem, even though the request 8343 // was valid. Retry your request. 8344 // 8345 // * InvalidAccountException 8346 // The operation failed because you tried to create, update, or delete an object 8347 // by using an invalid account identifier. 8348 // 8349 // * InvalidOperationException 8350 // The operation failed because there was nothing to do. For example: 8351 // 8352 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8353 // specified WebACL. 8354 // 8355 // * You tried to remove an IP address from an IPSet, but the IP address 8356 // isn't in the specified IPSet. 8357 // 8358 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8359 // isn't in the specified WebACL. 8360 // 8361 // * You tried to add a Rule to a WebACL, but the Rule already exists in 8362 // the specified WebACL. 8363 // 8364 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8365 // already exists in the specified WebACL. 8366 // 8367 // * InvalidParameterException 8368 // The operation failed because AWS WAF didn't recognize a parameter in the 8369 // request. For example: 8370 // 8371 // * You specified an invalid parameter name. 8372 // 8373 // * You specified an invalid value. 8374 // 8375 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8376 // using an action other than INSERT or DELETE. 8377 // 8378 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8379 // BLOCK, or COUNT. 8380 // 8381 // * You tried to create a RateBasedRule with a RateKey value other than 8382 // IP. 8383 // 8384 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 8385 // BLOCK, or COUNT. 8386 // 8387 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8388 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 8389 // 8390 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 8391 // for Data. 8392 // 8393 // * Your request references an ARN that is malformed, or corresponds to 8394 // a resource with which a web ACL cannot be associated. 8395 // 8396 // * NonexistentContainerException 8397 // The operation failed because you tried to add an object to or delete an object 8398 // from another object that doesn't exist. For example: 8399 // 8400 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8401 // exist. 8402 // 8403 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8404 // that doesn't exist. 8405 // 8406 // * You tried to add an IP address to or delete an IP address from an IPSet 8407 // that doesn't exist. 8408 // 8409 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8410 // a ByteMatchSet that doesn't exist. 8411 // 8412 // * NonexistentItemException 8413 // The operation failed because the referenced object doesn't exist. 8414 // 8415 // * ReferencedItemException 8416 // The operation failed because you tried to delete an object that is still 8417 // in use. For example: 8418 // 8419 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8420 // 8421 // * You tried to delete a Rule that is still referenced by a WebACL. 8422 // 8423 // * LimitsExceededException 8424 // The operation exceeds a resource limit, for example, the maximum number of 8425 // WebACL objects that you can create for an AWS account. For more information, 8426 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8427 // in the AWS WAF Developer Guide. 8428 // 8429 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateIPSet 8430 func (c *WAF) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) { 8431 req, out := c.UpdateIPSetRequest(input) 8432 return out, req.Send() 8433 } 8434 8435 // UpdateIPSetWithContext is the same as UpdateIPSet with the addition of 8436 // the ability to pass a context and additional request options. 8437 // 8438 // See UpdateIPSet for details on how to use this API operation. 8439 // 8440 // The context must be non-nil and will be used for request cancellation. If 8441 // the context is nil a panic will occur. In the future the SDK may create 8442 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8443 // for more information on using Contexts. 8444 func (c *WAF) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error) { 8445 req, out := c.UpdateIPSetRequest(input) 8446 req.SetContext(ctx) 8447 req.ApplyOptions(opts...) 8448 return out, req.Send() 8449 } 8450 8451 const opUpdateRateBasedRule = "UpdateRateBasedRule" 8452 8453 // UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the 8454 // client's request for the UpdateRateBasedRule operation. The "output" return 8455 // value will be populated with the request's response once the request completes 8456 // successfully. 8457 // 8458 // Use "Send" method on the returned Request to send the API call to the service. 8459 // the "output" return value is not valid until after Send returns without error. 8460 // 8461 // See UpdateRateBasedRule for more information on using the UpdateRateBasedRule 8462 // API call, and error handling. 8463 // 8464 // This method is useful when you want to inject custom logic or configuration 8465 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 8466 // 8467 // 8468 // // Example sending a request using the UpdateRateBasedRuleRequest method. 8469 // req, resp := client.UpdateRateBasedRuleRequest(params) 8470 // 8471 // err := req.Send() 8472 // if err == nil { // resp is now filled 8473 // fmt.Println(resp) 8474 // } 8475 // 8476 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRateBasedRule 8477 func (c *WAF) UpdateRateBasedRuleRequest(input *UpdateRateBasedRuleInput) (req *request.Request, output *UpdateRateBasedRuleOutput) { 8478 op := &request.Operation{ 8479 Name: opUpdateRateBasedRule, 8480 HTTPMethod: "POST", 8481 HTTPPath: "/", 8482 } 8483 8484 if input == nil { 8485 input = &UpdateRateBasedRuleInput{} 8486 } 8487 8488 output = &UpdateRateBasedRuleOutput{} 8489 req = c.newRequest(op, input, output) 8490 return 8491 } 8492 8493 // UpdateRateBasedRule API operation for AWS WAF. 8494 // 8495 // 8496 // This is AWS WAF Classic documentation. For more information, see AWS WAF 8497 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 8498 // in the developer guide. 8499 // 8500 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 8501 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 8502 // With the latest version, AWS WAF has a single set of endpoints for regional 8503 // and global use. 8504 // 8505 // Inserts or deletes Predicate objects in a rule and updates the RateLimit 8506 // in the rule. 8507 // 8508 // Each Predicate object identifies a predicate, such as a ByteMatchSet or an 8509 // IPSet, that specifies the web requests that you want to block or count. The 8510 // RateLimit specifies the number of requests every five minutes that triggers 8511 // the rule. 8512 // 8513 // If you add more than one predicate to a RateBasedRule, a request must match 8514 // all the predicates and exceed the RateLimit to be counted or blocked. For 8515 // example, suppose you add the following to a RateBasedRule: 8516 // 8517 // * An IPSet that matches the IP address 192.0.2.44/32 8518 // 8519 // * A ByteMatchSet that matches BadBot in the User-Agent header 8520 // 8521 // Further, you specify a RateLimit of 1,000. 8522 // 8523 // You then add the RateBasedRule to a WebACL and specify that you want to block 8524 // requests that satisfy the rule. For a request to be blocked, it must come 8525 // from the IP address 192.0.2.44 and the User-Agent header in the request must 8526 // contain the value BadBot. Further, requests that match these two conditions 8527 // much be received at a rate of more than 1,000 every five minutes. If the 8528 // rate drops below this limit, AWS WAF no longer blocks the requests. 8529 // 8530 // As a second example, suppose you want to limit requests to a particular page 8531 // on your site. To do this, you could add the following to a RateBasedRule: 8532 // 8533 // * A ByteMatchSet with FieldToMatch of URI 8534 // 8535 // * A PositionalConstraint of STARTS_WITH 8536 // 8537 // * A TargetString of login 8538 // 8539 // Further, you specify a RateLimit of 1,000. 8540 // 8541 // By adding this RateBasedRule to a WebACL, you could limit requests to your 8542 // login page without affecting the rest of your site. 8543 // 8544 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8545 // with awserr.Error's Code and Message methods to get detailed information about 8546 // the error. 8547 // 8548 // See the AWS API reference guide for AWS WAF's 8549 // API operation UpdateRateBasedRule for usage and error information. 8550 // 8551 // Returned Error Types: 8552 // * StaleDataException 8553 // The operation failed because you tried to create, update, or delete an object 8554 // by using a change token that has already been used. 8555 // 8556 // * InternalErrorException 8557 // The operation failed because of a system problem, even though the request 8558 // was valid. Retry your request. 8559 // 8560 // * InvalidAccountException 8561 // The operation failed because you tried to create, update, or delete an object 8562 // by using an invalid account identifier. 8563 // 8564 // * InvalidOperationException 8565 // The operation failed because there was nothing to do. For example: 8566 // 8567 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8568 // specified WebACL. 8569 // 8570 // * You tried to remove an IP address from an IPSet, but the IP address 8571 // isn't in the specified IPSet. 8572 // 8573 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8574 // isn't in the specified WebACL. 8575 // 8576 // * You tried to add a Rule to a WebACL, but the Rule already exists in 8577 // the specified WebACL. 8578 // 8579 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8580 // already exists in the specified WebACL. 8581 // 8582 // * InvalidParameterException 8583 // The operation failed because AWS WAF didn't recognize a parameter in the 8584 // request. For example: 8585 // 8586 // * You specified an invalid parameter name. 8587 // 8588 // * You specified an invalid value. 8589 // 8590 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 8591 // using an action other than INSERT or DELETE. 8592 // 8593 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 8594 // BLOCK, or COUNT. 8595 // 8596 // * You tried to create a RateBasedRule with a RateKey value other than 8597 // IP. 8598 // 8599 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 8600 // BLOCK, or COUNT. 8601 // 8602 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 8603 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 8604 // 8605 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 8606 // for Data. 8607 // 8608 // * Your request references an ARN that is malformed, or corresponds to 8609 // a resource with which a web ACL cannot be associated. 8610 // 8611 // * NonexistentContainerException 8612 // The operation failed because you tried to add an object to or delete an object 8613 // from another object that doesn't exist. For example: 8614 // 8615 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8616 // exist. 8617 // 8618 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8619 // that doesn't exist. 8620 // 8621 // * You tried to add an IP address to or delete an IP address from an IPSet 8622 // that doesn't exist. 8623 // 8624 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8625 // a ByteMatchSet that doesn't exist. 8626 // 8627 // * NonexistentItemException 8628 // The operation failed because the referenced object doesn't exist. 8629 // 8630 // * ReferencedItemException 8631 // The operation failed because you tried to delete an object that is still 8632 // in use. For example: 8633 // 8634 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 8635 // 8636 // * You tried to delete a Rule that is still referenced by a WebACL. 8637 // 8638 // * LimitsExceededException 8639 // The operation exceeds a resource limit, for example, the maximum number of 8640 // WebACL objects that you can create for an AWS account. For more information, 8641 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8642 // in the AWS WAF Developer Guide. 8643 // 8644 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRateBasedRule 8645 func (c *WAF) UpdateRateBasedRule(input *UpdateRateBasedRuleInput) (*UpdateRateBasedRuleOutput, error) { 8646 req, out := c.UpdateRateBasedRuleRequest(input) 8647 return out, req.Send() 8648 } 8649 8650 // UpdateRateBasedRuleWithContext is the same as UpdateRateBasedRule with the addition of 8651 // the ability to pass a context and additional request options. 8652 // 8653 // See UpdateRateBasedRule for details on how to use this API operation. 8654 // 8655 // The context must be non-nil and will be used for request cancellation. If 8656 // the context is nil a panic will occur. In the future the SDK may create 8657 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8658 // for more information on using Contexts. 8659 func (c *WAF) UpdateRateBasedRuleWithContext(ctx aws.Context, input *UpdateRateBasedRuleInput, opts ...request.Option) (*UpdateRateBasedRuleOutput, error) { 8660 req, out := c.UpdateRateBasedRuleRequest(input) 8661 req.SetContext(ctx) 8662 req.ApplyOptions(opts...) 8663 return out, req.Send() 8664 } 8665 8666 const opUpdateRegexMatchSet = "UpdateRegexMatchSet" 8667 8668 // UpdateRegexMatchSetRequest generates a "aws/request.Request" representing the 8669 // client's request for the UpdateRegexMatchSet operation. The "output" return 8670 // value will be populated with the request's response once the request completes 8671 // successfully. 8672 // 8673 // Use "Send" method on the returned Request to send the API call to the service. 8674 // the "output" return value is not valid until after Send returns without error. 8675 // 8676 // See UpdateRegexMatchSet for more information on using the UpdateRegexMatchSet 8677 // API call, and error handling. 8678 // 8679 // This method is useful when you want to inject custom logic or configuration 8680 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 8681 // 8682 // 8683 // // Example sending a request using the UpdateRegexMatchSetRequest method. 8684 // req, resp := client.UpdateRegexMatchSetRequest(params) 8685 // 8686 // err := req.Send() 8687 // if err == nil { // resp is now filled 8688 // fmt.Println(resp) 8689 // } 8690 // 8691 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexMatchSet 8692 func (c *WAF) UpdateRegexMatchSetRequest(input *UpdateRegexMatchSetInput) (req *request.Request, output *UpdateRegexMatchSetOutput) { 8693 op := &request.Operation{ 8694 Name: opUpdateRegexMatchSet, 8695 HTTPMethod: "POST", 8696 HTTPPath: "/", 8697 } 8698 8699 if input == nil { 8700 input = &UpdateRegexMatchSetInput{} 8701 } 8702 8703 output = &UpdateRegexMatchSetOutput{} 8704 req = c.newRequest(op, input, output) 8705 return 8706 } 8707 8708 // UpdateRegexMatchSet API operation for AWS WAF. 8709 // 8710 // 8711 // This is AWS WAF Classic documentation. For more information, see AWS WAF 8712 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 8713 // in the developer guide. 8714 // 8715 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 8716 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 8717 // With the latest version, AWS WAF has a single set of endpoints for regional 8718 // and global use. 8719 // 8720 // Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. 8721 // For each RegexMatchSetUpdate object, you specify the following values: 8722 // 8723 // * Whether to insert or delete the object from the array. If you want to 8724 // change a RegexMatchSetUpdate object, you delete the existing object and 8725 // add a new one. 8726 // 8727 // * The part of a web request that you want AWS WAF to inspectupdate, such 8728 // as a query string or the value of the User-Agent header. 8729 // 8730 // * The identifier of the pattern (a regular expression) that you want AWS 8731 // WAF to look for. For more information, see RegexPatternSet. 8732 // 8733 // * Whether to perform any conversions on the request, such as converting 8734 // it to lowercase, before inspecting it for the specified string. 8735 // 8736 // For example, you can create a RegexPatternSet that matches any requests with 8737 // User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure 8738 // AWS WAF to reject those requests. 8739 // 8740 // To create and configure a RegexMatchSet, perform the following steps: 8741 // 8742 // Create a RegexMatchSet. For more information, see CreateRegexMatchSet. 8743 // 8744 // Use GetChangeToken to get the change token that you provide in the ChangeToken 8745 // parameter of an UpdateRegexMatchSet request. 8746 // 8747 // Submit an UpdateRegexMatchSet request to specify the part of the request 8748 // that you want AWS WAF to inspect (for example, the header or the URI) and 8749 // the identifier of the RegexPatternSet that contain the regular expression 8750 // patters you want AWS WAF to watch for. 8751 // 8752 // For more information about how to use the AWS WAF API to allow or block HTTP 8753 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8754 // 8755 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8756 // with awserr.Error's Code and Message methods to get detailed information about 8757 // the error. 8758 // 8759 // See the AWS API reference guide for AWS WAF's 8760 // API operation UpdateRegexMatchSet for usage and error information. 8761 // 8762 // Returned Error Types: 8763 // * StaleDataException 8764 // The operation failed because you tried to create, update, or delete an object 8765 // by using a change token that has already been used. 8766 // 8767 // * InternalErrorException 8768 // The operation failed because of a system problem, even though the request 8769 // was valid. Retry your request. 8770 // 8771 // * DisallowedNameException 8772 // The name specified is invalid. 8773 // 8774 // * LimitsExceededException 8775 // The operation exceeds a resource limit, for example, the maximum number of 8776 // WebACL objects that you can create for an AWS account. For more information, 8777 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8778 // in the AWS WAF Developer Guide. 8779 // 8780 // * NonexistentItemException 8781 // The operation failed because the referenced object doesn't exist. 8782 // 8783 // * NonexistentContainerException 8784 // The operation failed because you tried to add an object to or delete an object 8785 // from another object that doesn't exist. For example: 8786 // 8787 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8788 // exist. 8789 // 8790 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8791 // that doesn't exist. 8792 // 8793 // * You tried to add an IP address to or delete an IP address from an IPSet 8794 // that doesn't exist. 8795 // 8796 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8797 // a ByteMatchSet that doesn't exist. 8798 // 8799 // * InvalidOperationException 8800 // The operation failed because there was nothing to do. For example: 8801 // 8802 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8803 // specified WebACL. 8804 // 8805 // * You tried to remove an IP address from an IPSet, but the IP address 8806 // isn't in the specified IPSet. 8807 // 8808 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8809 // isn't in the specified WebACL. 8810 // 8811 // * You tried to add a Rule to a WebACL, but the Rule already exists in 8812 // the specified WebACL. 8813 // 8814 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8815 // already exists in the specified WebACL. 8816 // 8817 // * InvalidAccountException 8818 // The operation failed because you tried to create, update, or delete an object 8819 // by using an invalid account identifier. 8820 // 8821 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexMatchSet 8822 func (c *WAF) UpdateRegexMatchSet(input *UpdateRegexMatchSetInput) (*UpdateRegexMatchSetOutput, error) { 8823 req, out := c.UpdateRegexMatchSetRequest(input) 8824 return out, req.Send() 8825 } 8826 8827 // UpdateRegexMatchSetWithContext is the same as UpdateRegexMatchSet with the addition of 8828 // the ability to pass a context and additional request options. 8829 // 8830 // See UpdateRegexMatchSet for details on how to use this API operation. 8831 // 8832 // The context must be non-nil and will be used for request cancellation. If 8833 // the context is nil a panic will occur. In the future the SDK may create 8834 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8835 // for more information on using Contexts. 8836 func (c *WAF) UpdateRegexMatchSetWithContext(ctx aws.Context, input *UpdateRegexMatchSetInput, opts ...request.Option) (*UpdateRegexMatchSetOutput, error) { 8837 req, out := c.UpdateRegexMatchSetRequest(input) 8838 req.SetContext(ctx) 8839 req.ApplyOptions(opts...) 8840 return out, req.Send() 8841 } 8842 8843 const opUpdateRegexPatternSet = "UpdateRegexPatternSet" 8844 8845 // UpdateRegexPatternSetRequest generates a "aws/request.Request" representing the 8846 // client's request for the UpdateRegexPatternSet operation. The "output" return 8847 // value will be populated with the request's response once the request completes 8848 // successfully. 8849 // 8850 // Use "Send" method on the returned Request to send the API call to the service. 8851 // the "output" return value is not valid until after Send returns without error. 8852 // 8853 // See UpdateRegexPatternSet for more information on using the UpdateRegexPatternSet 8854 // API call, and error handling. 8855 // 8856 // This method is useful when you want to inject custom logic or configuration 8857 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 8858 // 8859 // 8860 // // Example sending a request using the UpdateRegexPatternSetRequest method. 8861 // req, resp := client.UpdateRegexPatternSetRequest(params) 8862 // 8863 // err := req.Send() 8864 // if err == nil { // resp is now filled 8865 // fmt.Println(resp) 8866 // } 8867 // 8868 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexPatternSet 8869 func (c *WAF) UpdateRegexPatternSetRequest(input *UpdateRegexPatternSetInput) (req *request.Request, output *UpdateRegexPatternSetOutput) { 8870 op := &request.Operation{ 8871 Name: opUpdateRegexPatternSet, 8872 HTTPMethod: "POST", 8873 HTTPPath: "/", 8874 } 8875 8876 if input == nil { 8877 input = &UpdateRegexPatternSetInput{} 8878 } 8879 8880 output = &UpdateRegexPatternSetOutput{} 8881 req = c.newRequest(op, input, output) 8882 return 8883 } 8884 8885 // UpdateRegexPatternSet API operation for AWS WAF. 8886 // 8887 // 8888 // This is AWS WAF Classic documentation. For more information, see AWS WAF 8889 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 8890 // in the developer guide. 8891 // 8892 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 8893 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 8894 // With the latest version, AWS WAF has a single set of endpoints for regional 8895 // and global use. 8896 // 8897 // Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each 8898 // RegexPatternString object, you specify the following values: 8899 // 8900 // * Whether to insert or delete the RegexPatternString. 8901 // 8902 // * The regular expression pattern that you want to insert or delete. For 8903 // more information, see RegexPatternSet. 8904 // 8905 // For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS 8906 // WAF will match this RegexPatternString to: 8907 // 8908 // * BadBot 8909 // 8910 // * BadB0t 8911 // 8912 // * B@dBot 8913 // 8914 // * B@dB0t 8915 // 8916 // To create and configure a RegexPatternSet, perform the following steps: 8917 // 8918 // Create a RegexPatternSet. For more information, see CreateRegexPatternSet. 8919 // 8920 // Use GetChangeToken to get the change token that you provide in the ChangeToken 8921 // parameter of an UpdateRegexPatternSet request. 8922 // 8923 // Submit an UpdateRegexPatternSet request to specify the regular expression 8924 // pattern that you want AWS WAF to watch for. 8925 // 8926 // For more information about how to use the AWS WAF API to allow or block HTTP 8927 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 8928 // 8929 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8930 // with awserr.Error's Code and Message methods to get detailed information about 8931 // the error. 8932 // 8933 // See the AWS API reference guide for AWS WAF's 8934 // API operation UpdateRegexPatternSet for usage and error information. 8935 // 8936 // Returned Error Types: 8937 // * StaleDataException 8938 // The operation failed because you tried to create, update, or delete an object 8939 // by using a change token that has already been used. 8940 // 8941 // * InternalErrorException 8942 // The operation failed because of a system problem, even though the request 8943 // was valid. Retry your request. 8944 // 8945 // * LimitsExceededException 8946 // The operation exceeds a resource limit, for example, the maximum number of 8947 // WebACL objects that you can create for an AWS account. For more information, 8948 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 8949 // in the AWS WAF Developer Guide. 8950 // 8951 // * NonexistentItemException 8952 // The operation failed because the referenced object doesn't exist. 8953 // 8954 // * NonexistentContainerException 8955 // The operation failed because you tried to add an object to or delete an object 8956 // from another object that doesn't exist. For example: 8957 // 8958 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 8959 // exist. 8960 // 8961 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 8962 // that doesn't exist. 8963 // 8964 // * You tried to add an IP address to or delete an IP address from an IPSet 8965 // that doesn't exist. 8966 // 8967 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 8968 // a ByteMatchSet that doesn't exist. 8969 // 8970 // * InvalidOperationException 8971 // The operation failed because there was nothing to do. For example: 8972 // 8973 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 8974 // specified WebACL. 8975 // 8976 // * You tried to remove an IP address from an IPSet, but the IP address 8977 // isn't in the specified IPSet. 8978 // 8979 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 8980 // isn't in the specified WebACL. 8981 // 8982 // * You tried to add a Rule to a WebACL, but the Rule already exists in 8983 // the specified WebACL. 8984 // 8985 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 8986 // already exists in the specified WebACL. 8987 // 8988 // * InvalidAccountException 8989 // The operation failed because you tried to create, update, or delete an object 8990 // by using an invalid account identifier. 8991 // 8992 // * InvalidRegexPatternException 8993 // The regular expression (regex) you specified in RegexPatternString is invalid. 8994 // 8995 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexPatternSet 8996 func (c *WAF) UpdateRegexPatternSet(input *UpdateRegexPatternSetInput) (*UpdateRegexPatternSetOutput, error) { 8997 req, out := c.UpdateRegexPatternSetRequest(input) 8998 return out, req.Send() 8999 } 9000 9001 // UpdateRegexPatternSetWithContext is the same as UpdateRegexPatternSet with the addition of 9002 // the ability to pass a context and additional request options. 9003 // 9004 // See UpdateRegexPatternSet for details on how to use this API operation. 9005 // 9006 // The context must be non-nil and will be used for request cancellation. If 9007 // the context is nil a panic will occur. In the future the SDK may create 9008 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9009 // for more information on using Contexts. 9010 func (c *WAF) UpdateRegexPatternSetWithContext(ctx aws.Context, input *UpdateRegexPatternSetInput, opts ...request.Option) (*UpdateRegexPatternSetOutput, error) { 9011 req, out := c.UpdateRegexPatternSetRequest(input) 9012 req.SetContext(ctx) 9013 req.ApplyOptions(opts...) 9014 return out, req.Send() 9015 } 9016 9017 const opUpdateRule = "UpdateRule" 9018 9019 // UpdateRuleRequest generates a "aws/request.Request" representing the 9020 // client's request for the UpdateRule operation. The "output" return 9021 // value will be populated with the request's response once the request completes 9022 // successfully. 9023 // 9024 // Use "Send" method on the returned Request to send the API call to the service. 9025 // the "output" return value is not valid until after Send returns without error. 9026 // 9027 // See UpdateRule for more information on using the UpdateRule 9028 // API call, and error handling. 9029 // 9030 // This method is useful when you want to inject custom logic or configuration 9031 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 9032 // 9033 // 9034 // // Example sending a request using the UpdateRuleRequest method. 9035 // req, resp := client.UpdateRuleRequest(params) 9036 // 9037 // err := req.Send() 9038 // if err == nil { // resp is now filled 9039 // fmt.Println(resp) 9040 // } 9041 // 9042 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRule 9043 func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, output *UpdateRuleOutput) { 9044 op := &request.Operation{ 9045 Name: opUpdateRule, 9046 HTTPMethod: "POST", 9047 HTTPPath: "/", 9048 } 9049 9050 if input == nil { 9051 input = &UpdateRuleInput{} 9052 } 9053 9054 output = &UpdateRuleOutput{} 9055 req = c.newRequest(op, input, output) 9056 return 9057 } 9058 9059 // UpdateRule API operation for AWS WAF. 9060 // 9061 // 9062 // This is AWS WAF Classic documentation. For more information, see AWS WAF 9063 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 9064 // in the developer guide. 9065 // 9066 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 9067 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 9068 // With the latest version, AWS WAF has a single set of endpoints for regional 9069 // and global use. 9070 // 9071 // Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies 9072 // a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests 9073 // that you want to allow, block, or count. If you add more than one predicate 9074 // to a Rule, a request must match all of the specifications to be allowed, 9075 // blocked, or counted. For example, suppose that you add the following to a 9076 // Rule: 9077 // 9078 // * A ByteMatchSet that matches the value BadBot in the User-Agent header 9079 // 9080 // * An IPSet that matches the IP address 192.0.2.44 9081 // 9082 // You then add the Rule to a WebACL and specify that you want to block requests 9083 // that satisfy the Rule. For a request to be blocked, the User-Agent header 9084 // in the request must contain the value BadBot and the request must originate 9085 // from the IP address 192.0.2.44. 9086 // 9087 // To create and configure a Rule, perform the following steps: 9088 // 9089 // Create and update the predicates that you want to include in the Rule. 9090 // 9091 // Create the Rule. See CreateRule. 9092 // 9093 // Use GetChangeToken to get the change token that you provide in the ChangeToken 9094 // parameter of an UpdateRule request. 9095 // 9096 // Submit an UpdateRule request to add predicates to the Rule. 9097 // 9098 // Create and update a WebACL that contains the Rule. See CreateWebACL. 9099 // 9100 // If you want to replace one ByteMatchSet or IPSet with another, you delete 9101 // the existing one and add the new one. 9102 // 9103 // For more information about how to use the AWS WAF API to allow or block HTTP 9104 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9105 // 9106 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9107 // with awserr.Error's Code and Message methods to get detailed information about 9108 // the error. 9109 // 9110 // See the AWS API reference guide for AWS WAF's 9111 // API operation UpdateRule for usage and error information. 9112 // 9113 // Returned Error Types: 9114 // * StaleDataException 9115 // The operation failed because you tried to create, update, or delete an object 9116 // by using a change token that has already been used. 9117 // 9118 // * InternalErrorException 9119 // The operation failed because of a system problem, even though the request 9120 // was valid. Retry your request. 9121 // 9122 // * InvalidAccountException 9123 // The operation failed because you tried to create, update, or delete an object 9124 // by using an invalid account identifier. 9125 // 9126 // * InvalidOperationException 9127 // The operation failed because there was nothing to do. For example: 9128 // 9129 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9130 // specified WebACL. 9131 // 9132 // * You tried to remove an IP address from an IPSet, but the IP address 9133 // isn't in the specified IPSet. 9134 // 9135 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9136 // isn't in the specified WebACL. 9137 // 9138 // * You tried to add a Rule to a WebACL, but the Rule already exists in 9139 // the specified WebACL. 9140 // 9141 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9142 // already exists in the specified WebACL. 9143 // 9144 // * InvalidParameterException 9145 // The operation failed because AWS WAF didn't recognize a parameter in the 9146 // request. For example: 9147 // 9148 // * You specified an invalid parameter name. 9149 // 9150 // * You specified an invalid value. 9151 // 9152 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9153 // using an action other than INSERT or DELETE. 9154 // 9155 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9156 // BLOCK, or COUNT. 9157 // 9158 // * You tried to create a RateBasedRule with a RateKey value other than 9159 // IP. 9160 // 9161 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 9162 // BLOCK, or COUNT. 9163 // 9164 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9165 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 9166 // 9167 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 9168 // for Data. 9169 // 9170 // * Your request references an ARN that is malformed, or corresponds to 9171 // a resource with which a web ACL cannot be associated. 9172 // 9173 // * NonexistentContainerException 9174 // The operation failed because you tried to add an object to or delete an object 9175 // from another object that doesn't exist. For example: 9176 // 9177 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9178 // exist. 9179 // 9180 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9181 // that doesn't exist. 9182 // 9183 // * You tried to add an IP address to or delete an IP address from an IPSet 9184 // that doesn't exist. 9185 // 9186 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9187 // a ByteMatchSet that doesn't exist. 9188 // 9189 // * NonexistentItemException 9190 // The operation failed because the referenced object doesn't exist. 9191 // 9192 // * ReferencedItemException 9193 // The operation failed because you tried to delete an object that is still 9194 // in use. For example: 9195 // 9196 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 9197 // 9198 // * You tried to delete a Rule that is still referenced by a WebACL. 9199 // 9200 // * LimitsExceededException 9201 // The operation exceeds a resource limit, for example, the maximum number of 9202 // WebACL objects that you can create for an AWS account. For more information, 9203 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9204 // in the AWS WAF Developer Guide. 9205 // 9206 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRule 9207 func (c *WAF) UpdateRule(input *UpdateRuleInput) (*UpdateRuleOutput, error) { 9208 req, out := c.UpdateRuleRequest(input) 9209 return out, req.Send() 9210 } 9211 9212 // UpdateRuleWithContext is the same as UpdateRule with the addition of 9213 // the ability to pass a context and additional request options. 9214 // 9215 // See UpdateRule for details on how to use this API operation. 9216 // 9217 // The context must be non-nil and will be used for request cancellation. If 9218 // the context is nil a panic will occur. In the future the SDK may create 9219 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9220 // for more information on using Contexts. 9221 func (c *WAF) UpdateRuleWithContext(ctx aws.Context, input *UpdateRuleInput, opts ...request.Option) (*UpdateRuleOutput, error) { 9222 req, out := c.UpdateRuleRequest(input) 9223 req.SetContext(ctx) 9224 req.ApplyOptions(opts...) 9225 return out, req.Send() 9226 } 9227 9228 const opUpdateRuleGroup = "UpdateRuleGroup" 9229 9230 // UpdateRuleGroupRequest generates a "aws/request.Request" representing the 9231 // client's request for the UpdateRuleGroup operation. The "output" return 9232 // value will be populated with the request's response once the request completes 9233 // successfully. 9234 // 9235 // Use "Send" method on the returned Request to send the API call to the service. 9236 // the "output" return value is not valid until after Send returns without error. 9237 // 9238 // See UpdateRuleGroup for more information on using the UpdateRuleGroup 9239 // API call, and error handling. 9240 // 9241 // This method is useful when you want to inject custom logic or configuration 9242 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 9243 // 9244 // 9245 // // Example sending a request using the UpdateRuleGroupRequest method. 9246 // req, resp := client.UpdateRuleGroupRequest(params) 9247 // 9248 // err := req.Send() 9249 // if err == nil { // resp is now filled 9250 // fmt.Println(resp) 9251 // } 9252 // 9253 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRuleGroup 9254 func (c *WAF) UpdateRuleGroupRequest(input *UpdateRuleGroupInput) (req *request.Request, output *UpdateRuleGroupOutput) { 9255 op := &request.Operation{ 9256 Name: opUpdateRuleGroup, 9257 HTTPMethod: "POST", 9258 HTTPPath: "/", 9259 } 9260 9261 if input == nil { 9262 input = &UpdateRuleGroupInput{} 9263 } 9264 9265 output = &UpdateRuleGroupOutput{} 9266 req = c.newRequest(op, input, output) 9267 return 9268 } 9269 9270 // UpdateRuleGroup API operation for AWS WAF. 9271 // 9272 // 9273 // This is AWS WAF Classic documentation. For more information, see AWS WAF 9274 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 9275 // in the developer guide. 9276 // 9277 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 9278 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 9279 // With the latest version, AWS WAF has a single set of endpoints for regional 9280 // and global use. 9281 // 9282 // Inserts or deletes ActivatedRule objects in a RuleGroup. 9283 // 9284 // You can only insert REGULAR rules into a rule group. 9285 // 9286 // You can have a maximum of ten rules per rule group. 9287 // 9288 // To create and configure a RuleGroup, perform the following steps: 9289 // 9290 // Create and update the Rules that you want to include in the RuleGroup. See 9291 // CreateRule. 9292 // 9293 // Use GetChangeToken to get the change token that you provide in the ChangeToken 9294 // parameter of an UpdateRuleGroup request. 9295 // 9296 // Submit an UpdateRuleGroup request to add Rules to the RuleGroup. 9297 // 9298 // Create and update a WebACL that contains the RuleGroup. See CreateWebACL. 9299 // 9300 // If you want to replace one Rule with another, you delete the existing one 9301 // and add the new one. 9302 // 9303 // For more information about how to use the AWS WAF API to allow or block HTTP 9304 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9305 // 9306 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9307 // with awserr.Error's Code and Message methods to get detailed information about 9308 // the error. 9309 // 9310 // See the AWS API reference guide for AWS WAF's 9311 // API operation UpdateRuleGroup for usage and error information. 9312 // 9313 // Returned Error Types: 9314 // * StaleDataException 9315 // The operation failed because you tried to create, update, or delete an object 9316 // by using a change token that has already been used. 9317 // 9318 // * InternalErrorException 9319 // The operation failed because of a system problem, even though the request 9320 // was valid. Retry your request. 9321 // 9322 // * NonexistentContainerException 9323 // The operation failed because you tried to add an object to or delete an object 9324 // from another object that doesn't exist. For example: 9325 // 9326 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9327 // exist. 9328 // 9329 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9330 // that doesn't exist. 9331 // 9332 // * You tried to add an IP address to or delete an IP address from an IPSet 9333 // that doesn't exist. 9334 // 9335 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9336 // a ByteMatchSet that doesn't exist. 9337 // 9338 // * NonexistentItemException 9339 // The operation failed because the referenced object doesn't exist. 9340 // 9341 // * InvalidOperationException 9342 // The operation failed because there was nothing to do. For example: 9343 // 9344 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9345 // specified WebACL. 9346 // 9347 // * You tried to remove an IP address from an IPSet, but the IP address 9348 // isn't in the specified IPSet. 9349 // 9350 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9351 // isn't in the specified WebACL. 9352 // 9353 // * You tried to add a Rule to a WebACL, but the Rule already exists in 9354 // the specified WebACL. 9355 // 9356 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9357 // already exists in the specified WebACL. 9358 // 9359 // * LimitsExceededException 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 // * InvalidParameterException 9366 // The operation failed because AWS WAF didn't recognize a parameter in the 9367 // request. For example: 9368 // 9369 // * You specified an invalid parameter name. 9370 // 9371 // * You specified an invalid value. 9372 // 9373 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9374 // using an action other than INSERT or DELETE. 9375 // 9376 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9377 // BLOCK, or COUNT. 9378 // 9379 // * You tried to create a RateBasedRule with a RateKey value other than 9380 // IP. 9381 // 9382 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 9383 // BLOCK, or COUNT. 9384 // 9385 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9386 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 9387 // 9388 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 9389 // for Data. 9390 // 9391 // * Your request references an ARN that is malformed, or corresponds to 9392 // a resource with which a web ACL cannot be associated. 9393 // 9394 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRuleGroup 9395 func (c *WAF) UpdateRuleGroup(input *UpdateRuleGroupInput) (*UpdateRuleGroupOutput, error) { 9396 req, out := c.UpdateRuleGroupRequest(input) 9397 return out, req.Send() 9398 } 9399 9400 // UpdateRuleGroupWithContext is the same as UpdateRuleGroup with the addition of 9401 // the ability to pass a context and additional request options. 9402 // 9403 // See UpdateRuleGroup for details on how to use this API operation. 9404 // 9405 // The context must be non-nil and will be used for request cancellation. If 9406 // the context is nil a panic will occur. In the future the SDK may create 9407 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9408 // for more information on using Contexts. 9409 func (c *WAF) UpdateRuleGroupWithContext(ctx aws.Context, input *UpdateRuleGroupInput, opts ...request.Option) (*UpdateRuleGroupOutput, error) { 9410 req, out := c.UpdateRuleGroupRequest(input) 9411 req.SetContext(ctx) 9412 req.ApplyOptions(opts...) 9413 return out, req.Send() 9414 } 9415 9416 const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet" 9417 9418 // UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the 9419 // client's request for the UpdateSizeConstraintSet operation. The "output" return 9420 // value will be populated with the request's response once the request completes 9421 // successfully. 9422 // 9423 // Use "Send" method on the returned Request to send the API call to the service. 9424 // the "output" return value is not valid until after Send returns without error. 9425 // 9426 // See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet 9427 // API call, and error handling. 9428 // 9429 // This method is useful when you want to inject custom logic or configuration 9430 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 9431 // 9432 // 9433 // // Example sending a request using the UpdateSizeConstraintSetRequest method. 9434 // req, resp := client.UpdateSizeConstraintSetRequest(params) 9435 // 9436 // err := req.Send() 9437 // if err == nil { // resp is now filled 9438 // fmt.Println(resp) 9439 // } 9440 // 9441 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSizeConstraintSet 9442 func (c *WAF) UpdateSizeConstraintSetRequest(input *UpdateSizeConstraintSetInput) (req *request.Request, output *UpdateSizeConstraintSetOutput) { 9443 op := &request.Operation{ 9444 Name: opUpdateSizeConstraintSet, 9445 HTTPMethod: "POST", 9446 HTTPPath: "/", 9447 } 9448 9449 if input == nil { 9450 input = &UpdateSizeConstraintSetInput{} 9451 } 9452 9453 output = &UpdateSizeConstraintSetOutput{} 9454 req = c.newRequest(op, input, output) 9455 return 9456 } 9457 9458 // UpdateSizeConstraintSet API operation for AWS WAF. 9459 // 9460 // 9461 // This is AWS WAF Classic documentation. For more information, see AWS WAF 9462 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 9463 // in the developer guide. 9464 // 9465 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 9466 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 9467 // With the latest version, AWS WAF has a single set of endpoints for regional 9468 // and global use. 9469 // 9470 // Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. 9471 // For each SizeConstraint object, you specify the following values: 9472 // 9473 // * Whether to insert or delete the object from the array. If you want to 9474 // change a SizeConstraintSetUpdate object, you delete the existing object 9475 // and add a new one. 9476 // 9477 // * The part of a web request that you want AWS WAF to evaluate, such as 9478 // the length of a query string or the length of the User-Agent header. 9479 // 9480 // * Whether to perform any transformations on the request, such as converting 9481 // it to lowercase, before checking its length. Note that transformations 9482 // of the request body are not supported because the AWS resource forwards 9483 // only the first 8192 bytes of your request to AWS WAF. You can only specify 9484 // a single type of TextTransformation. 9485 // 9486 // * A ComparisonOperator used for evaluating the selected part of the request 9487 // against the specified Size, such as equals, greater than, less than, and 9488 // so on. 9489 // 9490 // * The length, in bytes, that you want AWS WAF to watch for in selected 9491 // part of the request. The length is computed after applying the transformation. 9492 // 9493 // For example, you can add a SizeConstraintSetUpdate object that matches web 9494 // requests in which the length of the User-Agent header is greater than 100 9495 // bytes. You can then configure AWS WAF to block those requests. 9496 // 9497 // To create and configure a SizeConstraintSet, perform the following steps: 9498 // 9499 // Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. 9500 // 9501 // Use GetChangeToken to get the change token that you provide in the ChangeToken 9502 // parameter of an UpdateSizeConstraintSet request. 9503 // 9504 // Submit an UpdateSizeConstraintSet request to specify the part of the request 9505 // that you want AWS WAF to inspect (for example, the header or the URI) and 9506 // the value that you want AWS WAF to watch for. 9507 // 9508 // For more information about how to use the AWS WAF API to allow or block HTTP 9509 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9510 // 9511 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9512 // with awserr.Error's Code and Message methods to get detailed information about 9513 // the error. 9514 // 9515 // See the AWS API reference guide for AWS WAF's 9516 // API operation UpdateSizeConstraintSet for usage and error information. 9517 // 9518 // Returned Error Types: 9519 // * StaleDataException 9520 // The operation failed because you tried to create, update, or delete an object 9521 // by using a change token that has already been used. 9522 // 9523 // * InternalErrorException 9524 // The operation failed because of a system problem, even though the request 9525 // was valid. Retry your request. 9526 // 9527 // * InvalidAccountException 9528 // The operation failed because you tried to create, update, or delete an object 9529 // by using an invalid account identifier. 9530 // 9531 // * InvalidOperationException 9532 // The operation failed because there was nothing to do. For example: 9533 // 9534 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9535 // specified WebACL. 9536 // 9537 // * You tried to remove an IP address from an IPSet, but the IP address 9538 // isn't in the specified IPSet. 9539 // 9540 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9541 // isn't in the specified WebACL. 9542 // 9543 // * You tried to add a Rule to a WebACL, but the Rule already exists in 9544 // the specified WebACL. 9545 // 9546 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9547 // already exists in the specified WebACL. 9548 // 9549 // * InvalidParameterException 9550 // The operation failed because AWS WAF didn't recognize a parameter in the 9551 // request. For example: 9552 // 9553 // * You specified an invalid parameter name. 9554 // 9555 // * You specified an invalid value. 9556 // 9557 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9558 // using an action other than INSERT or DELETE. 9559 // 9560 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9561 // BLOCK, or COUNT. 9562 // 9563 // * You tried to create a RateBasedRule with a RateKey value other than 9564 // IP. 9565 // 9566 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 9567 // BLOCK, or COUNT. 9568 // 9569 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9570 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 9571 // 9572 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 9573 // for Data. 9574 // 9575 // * Your request references an ARN that is malformed, or corresponds to 9576 // a resource with which a web ACL cannot be associated. 9577 // 9578 // * NonexistentContainerException 9579 // The operation failed because you tried to add an object to or delete an object 9580 // from another object that doesn't exist. For example: 9581 // 9582 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9583 // exist. 9584 // 9585 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9586 // that doesn't exist. 9587 // 9588 // * You tried to add an IP address to or delete an IP address from an IPSet 9589 // that doesn't exist. 9590 // 9591 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9592 // a ByteMatchSet that doesn't exist. 9593 // 9594 // * NonexistentItemException 9595 // The operation failed because the referenced object doesn't exist. 9596 // 9597 // * ReferencedItemException 9598 // The operation failed because you tried to delete an object that is still 9599 // in use. For example: 9600 // 9601 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 9602 // 9603 // * You tried to delete a Rule that is still referenced by a WebACL. 9604 // 9605 // * LimitsExceededException 9606 // The operation exceeds a resource limit, for example, the maximum number of 9607 // WebACL objects that you can create for an AWS account. For more information, 9608 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9609 // in the AWS WAF Developer Guide. 9610 // 9611 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSizeConstraintSet 9612 func (c *WAF) UpdateSizeConstraintSet(input *UpdateSizeConstraintSetInput) (*UpdateSizeConstraintSetOutput, error) { 9613 req, out := c.UpdateSizeConstraintSetRequest(input) 9614 return out, req.Send() 9615 } 9616 9617 // UpdateSizeConstraintSetWithContext is the same as UpdateSizeConstraintSet with the addition of 9618 // the ability to pass a context and additional request options. 9619 // 9620 // See UpdateSizeConstraintSet for details on how to use this API operation. 9621 // 9622 // The context must be non-nil and will be used for request cancellation. If 9623 // the context is nil a panic will occur. In the future the SDK may create 9624 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9625 // for more information on using Contexts. 9626 func (c *WAF) UpdateSizeConstraintSetWithContext(ctx aws.Context, input *UpdateSizeConstraintSetInput, opts ...request.Option) (*UpdateSizeConstraintSetOutput, error) { 9627 req, out := c.UpdateSizeConstraintSetRequest(input) 9628 req.SetContext(ctx) 9629 req.ApplyOptions(opts...) 9630 return out, req.Send() 9631 } 9632 9633 const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet" 9634 9635 // UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the 9636 // client's request for the UpdateSqlInjectionMatchSet operation. The "output" return 9637 // value will be populated with the request's response once the request completes 9638 // successfully. 9639 // 9640 // Use "Send" method on the returned Request to send the API call to the service. 9641 // the "output" return value is not valid until after Send returns without error. 9642 // 9643 // See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet 9644 // API call, and error handling. 9645 // 9646 // This method is useful when you want to inject custom logic or configuration 9647 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 9648 // 9649 // 9650 // // Example sending a request using the UpdateSqlInjectionMatchSetRequest method. 9651 // req, resp := client.UpdateSqlInjectionMatchSetRequest(params) 9652 // 9653 // err := req.Send() 9654 // if err == nil { // resp is now filled 9655 // fmt.Println(resp) 9656 // } 9657 // 9658 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSqlInjectionMatchSet 9659 func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSetInput) (req *request.Request, output *UpdateSqlInjectionMatchSetOutput) { 9660 op := &request.Operation{ 9661 Name: opUpdateSqlInjectionMatchSet, 9662 HTTPMethod: "POST", 9663 HTTPPath: "/", 9664 } 9665 9666 if input == nil { 9667 input = &UpdateSqlInjectionMatchSetInput{} 9668 } 9669 9670 output = &UpdateSqlInjectionMatchSetOutput{} 9671 req = c.newRequest(op, input, output) 9672 return 9673 } 9674 9675 // UpdateSqlInjectionMatchSet API operation for AWS WAF. 9676 // 9677 // 9678 // This is AWS WAF Classic documentation. For more information, see AWS WAF 9679 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 9680 // in the developer guide. 9681 // 9682 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 9683 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 9684 // With the latest version, AWS WAF has a single set of endpoints for regional 9685 // and global use. 9686 // 9687 // Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. 9688 // For each SqlInjectionMatchTuple object, you specify the following values: 9689 // 9690 // * Action: Whether to insert the object into or delete the object from 9691 // the array. To change a SqlInjectionMatchTuple, you delete the existing 9692 // object and add a new one. 9693 // 9694 // * FieldToMatch: The part of web requests that you want AWS WAF to inspect 9695 // and, if you want AWS WAF to inspect a header or custom query parameter, 9696 // the name of the header or parameter. 9697 // 9698 // * TextTransformation: Which text transformation, if any, to perform on 9699 // the web request before inspecting the request for snippets of malicious 9700 // SQL code. You can only specify a single type of TextTransformation. 9701 // 9702 // You use SqlInjectionMatchSet objects to specify which CloudFront requests 9703 // that you want to allow, block, or count. For example, if you're receiving 9704 // requests that contain snippets of SQL code in the query string and you want 9705 // to block the requests, you can create a SqlInjectionMatchSet with the applicable 9706 // settings, and then configure AWS WAF to block the requests. 9707 // 9708 // To create and configure a SqlInjectionMatchSet, perform the following steps: 9709 // 9710 // Submit a CreateSqlInjectionMatchSet request. 9711 // 9712 // Use GetChangeToken to get the change token that you provide in the ChangeToken 9713 // parameter of an UpdateIPSet request. 9714 // 9715 // Submit an UpdateSqlInjectionMatchSet request to specify the parts of web 9716 // requests that you want AWS WAF to inspect for snippets of SQL code. 9717 // 9718 // For more information about how to use the AWS WAF API to allow or block HTTP 9719 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9720 // 9721 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9722 // with awserr.Error's Code and Message methods to get detailed information about 9723 // the error. 9724 // 9725 // See the AWS API reference guide for AWS WAF's 9726 // API operation UpdateSqlInjectionMatchSet for usage and error information. 9727 // 9728 // Returned Error Types: 9729 // * InternalErrorException 9730 // The operation failed because of a system problem, even though the request 9731 // was valid. Retry your request. 9732 // 9733 // * InvalidAccountException 9734 // The operation failed because you tried to create, update, or delete an object 9735 // by using an invalid account identifier. 9736 // 9737 // * InvalidOperationException 9738 // The operation failed because there was nothing to do. For example: 9739 // 9740 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9741 // specified WebACL. 9742 // 9743 // * You tried to remove an IP address from an IPSet, but the IP address 9744 // isn't in the specified IPSet. 9745 // 9746 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9747 // isn't in the specified WebACL. 9748 // 9749 // * You tried to add a Rule to a WebACL, but the Rule already exists in 9750 // the specified WebACL. 9751 // 9752 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9753 // already exists in the specified WebACL. 9754 // 9755 // * InvalidParameterException 9756 // The operation failed because AWS WAF didn't recognize a parameter in the 9757 // request. For example: 9758 // 9759 // * You specified an invalid parameter name. 9760 // 9761 // * You specified an invalid value. 9762 // 9763 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9764 // using an action other than INSERT or DELETE. 9765 // 9766 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9767 // BLOCK, or COUNT. 9768 // 9769 // * You tried to create a RateBasedRule with a RateKey value other than 9770 // IP. 9771 // 9772 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 9773 // BLOCK, or COUNT. 9774 // 9775 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 9776 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 9777 // 9778 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 9779 // for Data. 9780 // 9781 // * Your request references an ARN that is malformed, or corresponds to 9782 // a resource with which a web ACL cannot be associated. 9783 // 9784 // * NonexistentContainerException 9785 // The operation failed because you tried to add an object to or delete an object 9786 // from another object that doesn't exist. For example: 9787 // 9788 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 9789 // exist. 9790 // 9791 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 9792 // that doesn't exist. 9793 // 9794 // * You tried to add an IP address to or delete an IP address from an IPSet 9795 // that doesn't exist. 9796 // 9797 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 9798 // a ByteMatchSet that doesn't exist. 9799 // 9800 // * NonexistentItemException 9801 // The operation failed because the referenced object doesn't exist. 9802 // 9803 // * StaleDataException 9804 // The operation failed because you tried to create, update, or delete an object 9805 // by using a change token that has already been used. 9806 // 9807 // * LimitsExceededException 9808 // The operation exceeds a resource limit, for example, the maximum number of 9809 // WebACL objects that you can create for an AWS account. For more information, 9810 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 9811 // in the AWS WAF Developer Guide. 9812 // 9813 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateSqlInjectionMatchSet 9814 func (c *WAF) UpdateSqlInjectionMatchSet(input *UpdateSqlInjectionMatchSetInput) (*UpdateSqlInjectionMatchSetOutput, error) { 9815 req, out := c.UpdateSqlInjectionMatchSetRequest(input) 9816 return out, req.Send() 9817 } 9818 9819 // UpdateSqlInjectionMatchSetWithContext is the same as UpdateSqlInjectionMatchSet with the addition of 9820 // the ability to pass a context and additional request options. 9821 // 9822 // See UpdateSqlInjectionMatchSet for details on how to use this API operation. 9823 // 9824 // The context must be non-nil and will be used for request cancellation. If 9825 // the context is nil a panic will occur. In the future the SDK may create 9826 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9827 // for more information on using Contexts. 9828 func (c *WAF) UpdateSqlInjectionMatchSetWithContext(ctx aws.Context, input *UpdateSqlInjectionMatchSetInput, opts ...request.Option) (*UpdateSqlInjectionMatchSetOutput, error) { 9829 req, out := c.UpdateSqlInjectionMatchSetRequest(input) 9830 req.SetContext(ctx) 9831 req.ApplyOptions(opts...) 9832 return out, req.Send() 9833 } 9834 9835 const opUpdateWebACL = "UpdateWebACL" 9836 9837 // UpdateWebACLRequest generates a "aws/request.Request" representing the 9838 // client's request for the UpdateWebACL operation. The "output" return 9839 // value will be populated with the request's response once the request completes 9840 // successfully. 9841 // 9842 // Use "Send" method on the returned Request to send the API call to the service. 9843 // the "output" return value is not valid until after Send returns without error. 9844 // 9845 // See UpdateWebACL for more information on using the UpdateWebACL 9846 // API call, and error handling. 9847 // 9848 // This method is useful when you want to inject custom logic or configuration 9849 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 9850 // 9851 // 9852 // // Example sending a request using the UpdateWebACLRequest method. 9853 // req, resp := client.UpdateWebACLRequest(params) 9854 // 9855 // err := req.Send() 9856 // if err == nil { // resp is now filled 9857 // fmt.Println(resp) 9858 // } 9859 // 9860 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateWebACL 9861 func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Request, output *UpdateWebACLOutput) { 9862 op := &request.Operation{ 9863 Name: opUpdateWebACL, 9864 HTTPMethod: "POST", 9865 HTTPPath: "/", 9866 } 9867 9868 if input == nil { 9869 input = &UpdateWebACLInput{} 9870 } 9871 9872 output = &UpdateWebACLOutput{} 9873 req = c.newRequest(op, input, output) 9874 return 9875 } 9876 9877 // UpdateWebACL API operation for AWS WAF. 9878 // 9879 // 9880 // This is AWS WAF Classic documentation. For more information, see AWS WAF 9881 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 9882 // in the developer guide. 9883 // 9884 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 9885 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 9886 // With the latest version, AWS WAF has a single set of endpoints for regional 9887 // and global use. 9888 // 9889 // Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies 9890 // web requests that you want to allow, block, or count. When you update a WebACL, 9891 // you specify the following values: 9892 // 9893 // * A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs 9894 // the default action if a request doesn't match the criteria in any of the 9895 // Rules in a WebACL. 9896 // 9897 // * The Rules that you want to add or delete. If you want to replace one 9898 // Rule with another, you delete the existing Rule and add the new one. 9899 // 9900 // * For each Rule, whether you want AWS WAF to allow requests, block requests, 9901 // or count requests that match the conditions in the Rule. 9902 // 9903 // * The order in which you want AWS WAF to evaluate the Rules in a WebACL. 9904 // If you add more than one Rule to a WebACL, AWS WAF evaluates each request 9905 // against the Rules in order based on the value of Priority. (The Rule that 9906 // has the lowest value for Priority is evaluated first.) When a web request 9907 // matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, 9908 // AWS WAF immediately takes the corresponding action, allow or block, and 9909 // doesn't evaluate the request against the remaining Rules in the WebACL, 9910 // if any. 9911 // 9912 // To create and configure a WebACL, perform the following steps: 9913 // 9914 // Create and update the predicates that you want to include in Rules. For more 9915 // information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, 9916 // CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. 9917 // 9918 // Create and update the Rules that you want to include in the WebACL. For more 9919 // information, see CreateRule and UpdateRule. 9920 // 9921 // Create a WebACL. See CreateWebACL. 9922 // 9923 // Use GetChangeToken to get the change token that you provide in the ChangeToken 9924 // parameter of an UpdateWebACL request. 9925 // 9926 // Submit an UpdateWebACL request to specify the Rules that you want to include 9927 // in the WebACL, to specify the default action, and to associate the WebACL 9928 // with a CloudFront distribution. 9929 // 9930 // The ActivatedRule can be a rule group. If you specify a rule group as your 9931 // ActivatedRule , you can exclude specific rules from that rule group. 9932 // 9933 // If you already have a rule group associated with a web ACL and want to submit 9934 // an UpdateWebACL request to exclude certain rules from that rule group, you 9935 // must first remove the rule group from the web ACL, the re-insert it again, 9936 // specifying the excluded rules. For details, see ActivatedRule$ExcludedRules . 9937 // 9938 // Be aware that if you try to add a RATE_BASED rule to a web ACL without setting 9939 // the rule type when first creating the rule, the UpdateWebACL request will 9940 // fail because the request tries to add a REGULAR rule (the default rule type) 9941 // with the specified ID, which does not exist. 9942 // 9943 // For more information about how to use the AWS WAF API to allow or block HTTP 9944 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 9945 // 9946 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9947 // with awserr.Error's Code and Message methods to get detailed information about 9948 // the error. 9949 // 9950 // See the AWS API reference guide for AWS WAF's 9951 // API operation UpdateWebACL for usage and error information. 9952 // 9953 // Returned Error Types: 9954 // * StaleDataException 9955 // The operation failed because you tried to create, update, or delete an object 9956 // by using a change token that has already been used. 9957 // 9958 // * InternalErrorException 9959 // The operation failed because of a system problem, even though the request 9960 // was valid. Retry your request. 9961 // 9962 // * InvalidAccountException 9963 // The operation failed because you tried to create, update, or delete an object 9964 // by using an invalid account identifier. 9965 // 9966 // * InvalidOperationException 9967 // The operation failed because there was nothing to do. For example: 9968 // 9969 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 9970 // specified WebACL. 9971 // 9972 // * You tried to remove an IP address from an IPSet, but the IP address 9973 // isn't in the specified IPSet. 9974 // 9975 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 9976 // isn't in the specified WebACL. 9977 // 9978 // * You tried to add a Rule to a WebACL, but the Rule already exists in 9979 // the specified WebACL. 9980 // 9981 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 9982 // already exists in the specified WebACL. 9983 // 9984 // * InvalidParameterException 9985 // The operation failed because AWS WAF didn't recognize a parameter in the 9986 // request. For example: 9987 // 9988 // * You specified an invalid parameter name. 9989 // 9990 // * You specified an invalid value. 9991 // 9992 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 9993 // using an action other than INSERT or DELETE. 9994 // 9995 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 9996 // BLOCK, or COUNT. 9997 // 9998 // * You tried to create a RateBasedRule with a RateKey value other than 9999 // IP. 10000 // 10001 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 10002 // BLOCK, or COUNT. 10003 // 10004 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 10005 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 10006 // 10007 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 10008 // for Data. 10009 // 10010 // * Your request references an ARN that is malformed, or corresponds to 10011 // a resource with which a web ACL cannot be associated. 10012 // 10013 // * NonexistentContainerException 10014 // The operation failed because you tried to add an object to or delete an object 10015 // from another object that doesn't exist. For example: 10016 // 10017 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 10018 // exist. 10019 // 10020 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 10021 // that doesn't exist. 10022 // 10023 // * You tried to add an IP address to or delete an IP address from an IPSet 10024 // that doesn't exist. 10025 // 10026 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 10027 // a ByteMatchSet that doesn't exist. 10028 // 10029 // * NonexistentItemException 10030 // The operation failed because the referenced object doesn't exist. 10031 // 10032 // * ReferencedItemException 10033 // The operation failed because you tried to delete an object that is still 10034 // in use. For example: 10035 // 10036 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 10037 // 10038 // * You tried to delete a Rule that is still referenced by a WebACL. 10039 // 10040 // * LimitsExceededException 10041 // The operation exceeds a resource limit, for example, the maximum number of 10042 // WebACL objects that you can create for an AWS account. For more information, 10043 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 10044 // in the AWS WAF Developer Guide. 10045 // 10046 // * SubscriptionNotFoundException 10047 // The specified subscription does not exist. 10048 // 10049 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateWebACL 10050 func (c *WAF) UpdateWebACL(input *UpdateWebACLInput) (*UpdateWebACLOutput, error) { 10051 req, out := c.UpdateWebACLRequest(input) 10052 return out, req.Send() 10053 } 10054 10055 // UpdateWebACLWithContext is the same as UpdateWebACL with the addition of 10056 // the ability to pass a context and additional request options. 10057 // 10058 // See UpdateWebACL for details on how to use this API operation. 10059 // 10060 // The context must be non-nil and will be used for request cancellation. If 10061 // the context is nil a panic will occur. In the future the SDK may create 10062 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10063 // for more information on using Contexts. 10064 func (c *WAF) UpdateWebACLWithContext(ctx aws.Context, input *UpdateWebACLInput, opts ...request.Option) (*UpdateWebACLOutput, error) { 10065 req, out := c.UpdateWebACLRequest(input) 10066 req.SetContext(ctx) 10067 req.ApplyOptions(opts...) 10068 return out, req.Send() 10069 } 10070 10071 const opUpdateXssMatchSet = "UpdateXssMatchSet" 10072 10073 // UpdateXssMatchSetRequest generates a "aws/request.Request" representing the 10074 // client's request for the UpdateXssMatchSet operation. The "output" return 10075 // value will be populated with the request's response once the request completes 10076 // successfully. 10077 // 10078 // Use "Send" method on the returned Request to send the API call to the service. 10079 // the "output" return value is not valid until after Send returns without error. 10080 // 10081 // See UpdateXssMatchSet for more information on using the UpdateXssMatchSet 10082 // API call, and error handling. 10083 // 10084 // This method is useful when you want to inject custom logic or configuration 10085 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 10086 // 10087 // 10088 // // Example sending a request using the UpdateXssMatchSetRequest method. 10089 // req, resp := client.UpdateXssMatchSetRequest(params) 10090 // 10091 // err := req.Send() 10092 // if err == nil { // resp is now filled 10093 // fmt.Println(resp) 10094 // } 10095 // 10096 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateXssMatchSet 10097 func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *request.Request, output *UpdateXssMatchSetOutput) { 10098 op := &request.Operation{ 10099 Name: opUpdateXssMatchSet, 10100 HTTPMethod: "POST", 10101 HTTPPath: "/", 10102 } 10103 10104 if input == nil { 10105 input = &UpdateXssMatchSetInput{} 10106 } 10107 10108 output = &UpdateXssMatchSetOutput{} 10109 req = c.newRequest(op, input, output) 10110 return 10111 } 10112 10113 // UpdateXssMatchSet API operation for AWS WAF. 10114 // 10115 // 10116 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10117 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10118 // in the developer guide. 10119 // 10120 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10121 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10122 // With the latest version, AWS WAF has a single set of endpoints for regional 10123 // and global use. 10124 // 10125 // Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For 10126 // each XssMatchTuple object, you specify the following values: 10127 // 10128 // * Action: Whether to insert the object into or delete the object from 10129 // the array. To change an XssMatchTuple, you delete the existing object 10130 // and add a new one. 10131 // 10132 // * FieldToMatch: The part of web requests that you want AWS WAF to inspect 10133 // and, if you want AWS WAF to inspect a header or custom query parameter, 10134 // the name of the header or parameter. 10135 // 10136 // * TextTransformation: Which text transformation, if any, to perform on 10137 // the web request before inspecting the request for cross-site scripting 10138 // attacks. You can only specify a single type of TextTransformation. 10139 // 10140 // You use XssMatchSet objects to specify which CloudFront requests that you 10141 // want to allow, block, or count. For example, if you're receiving requests 10142 // that contain cross-site scripting attacks in the request body and you want 10143 // to block the requests, you can create an XssMatchSet with the applicable 10144 // settings, and then configure AWS WAF to block the requests. 10145 // 10146 // To create and configure an XssMatchSet, perform the following steps: 10147 // 10148 // Submit a CreateXssMatchSet request. 10149 // 10150 // Use GetChangeToken to get the change token that you provide in the ChangeToken 10151 // parameter of an UpdateIPSet request. 10152 // 10153 // Submit an UpdateXssMatchSet request to specify the parts of web requests 10154 // that you want AWS WAF to inspect for cross-site scripting attacks. 10155 // 10156 // For more information about how to use the AWS WAF API to allow or block HTTP 10157 // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/). 10158 // 10159 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 10160 // with awserr.Error's Code and Message methods to get detailed information about 10161 // the error. 10162 // 10163 // See the AWS API reference guide for AWS WAF's 10164 // API operation UpdateXssMatchSet for usage and error information. 10165 // 10166 // Returned Error Types: 10167 // * InternalErrorException 10168 // The operation failed because of a system problem, even though the request 10169 // was valid. Retry your request. 10170 // 10171 // * InvalidAccountException 10172 // The operation failed because you tried to create, update, or delete an object 10173 // by using an invalid account identifier. 10174 // 10175 // * InvalidOperationException 10176 // The operation failed because there was nothing to do. For example: 10177 // 10178 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 10179 // specified WebACL. 10180 // 10181 // * You tried to remove an IP address from an IPSet, but the IP address 10182 // isn't in the specified IPSet. 10183 // 10184 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 10185 // isn't in the specified WebACL. 10186 // 10187 // * You tried to add a Rule to a WebACL, but the Rule already exists in 10188 // the specified WebACL. 10189 // 10190 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 10191 // already exists in the specified WebACL. 10192 // 10193 // * InvalidParameterException 10194 // The operation failed because AWS WAF didn't recognize a parameter in the 10195 // request. For example: 10196 // 10197 // * You specified an invalid parameter name. 10198 // 10199 // * You specified an invalid value. 10200 // 10201 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 10202 // using an action other than INSERT or DELETE. 10203 // 10204 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 10205 // BLOCK, or COUNT. 10206 // 10207 // * You tried to create a RateBasedRule with a RateKey value other than 10208 // IP. 10209 // 10210 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 10211 // BLOCK, or COUNT. 10212 // 10213 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 10214 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 10215 // 10216 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 10217 // for Data. 10218 // 10219 // * Your request references an ARN that is malformed, or corresponds to 10220 // a resource with which a web ACL cannot be associated. 10221 // 10222 // * NonexistentContainerException 10223 // The operation failed because you tried to add an object to or delete an object 10224 // from another object that doesn't exist. For example: 10225 // 10226 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 10227 // exist. 10228 // 10229 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 10230 // that doesn't exist. 10231 // 10232 // * You tried to add an IP address to or delete an IP address from an IPSet 10233 // that doesn't exist. 10234 // 10235 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 10236 // a ByteMatchSet that doesn't exist. 10237 // 10238 // * NonexistentItemException 10239 // The operation failed because the referenced object doesn't exist. 10240 // 10241 // * StaleDataException 10242 // The operation failed because you tried to create, update, or delete an object 10243 // by using a change token that has already been used. 10244 // 10245 // * LimitsExceededException 10246 // The operation exceeds a resource limit, for example, the maximum number of 10247 // WebACL objects that you can create for an AWS account. For more information, 10248 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 10249 // in the AWS WAF Developer Guide. 10250 // 10251 // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateXssMatchSet 10252 func (c *WAF) UpdateXssMatchSet(input *UpdateXssMatchSetInput) (*UpdateXssMatchSetOutput, error) { 10253 req, out := c.UpdateXssMatchSetRequest(input) 10254 return out, req.Send() 10255 } 10256 10257 // UpdateXssMatchSetWithContext is the same as UpdateXssMatchSet with the addition of 10258 // the ability to pass a context and additional request options. 10259 // 10260 // See UpdateXssMatchSet for details on how to use this API operation. 10261 // 10262 // The context must be non-nil and will be used for request cancellation. If 10263 // the context is nil a panic will occur. In the future the SDK may create 10264 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 10265 // for more information on using Contexts. 10266 func (c *WAF) UpdateXssMatchSetWithContext(ctx aws.Context, input *UpdateXssMatchSetInput, opts ...request.Option) (*UpdateXssMatchSetOutput, error) { 10267 req, out := c.UpdateXssMatchSetRequest(input) 10268 req.SetContext(ctx) 10269 req.ApplyOptions(opts...) 10270 return out, req.Send() 10271 } 10272 10273 // 10274 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10275 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10276 // in the developer guide. 10277 // 10278 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10279 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10280 // With the latest version, AWS WAF has a single set of endpoints for regional 10281 // and global use. 10282 // 10283 // The ActivatedRule object in an UpdateWebACL request specifies a Rule that 10284 // you want to insert or delete, the priority of the Rule in the WebACL, and 10285 // the action that you want AWS WAF to take when a web request matches the Rule 10286 // (ALLOW, BLOCK, or COUNT). 10287 // 10288 // To specify whether to insert or delete a Rule, use the Action parameter in 10289 // the WebACLUpdate data type. 10290 type ActivatedRule struct { 10291 _ struct{} `type:"structure"` 10292 10293 // Specifies the action that CloudFront or AWS WAF takes when a web request 10294 // matches the conditions in the Rule. Valid values for Action include the following: 10295 // 10296 // * ALLOW: CloudFront responds with the requested object. 10297 // 10298 // * BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code. 10299 // 10300 // * COUNT: AWS WAF increments a counter of requests that match the conditions 10301 // in the rule and then continues to inspect the web request based on the 10302 // remaining rules in the web ACL. 10303 // 10304 // ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup 10305 // to a WebACL. In this case, you do not use ActivatedRule|Action. For all other 10306 // update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. 10307 Action *WafAction `type:"structure"` 10308 10309 // An array of rules to exclude from a rule group. This is applicable only when 10310 // the ActivatedRule refers to a RuleGroup. 10311 // 10312 // Sometimes it is necessary to troubleshoot rule groups that are blocking traffic 10313 // unexpectedly (false positives). One troubleshooting technique is to identify 10314 // the specific rule within the rule group that is blocking the legitimate traffic 10315 // and then disable (exclude) that particular rule. You can exclude rules from 10316 // both your own rule groups and AWS Marketplace rule groups that have been 10317 // associated with a web ACL. 10318 // 10319 // Specifying ExcludedRules does not remove those rules from the rule group. 10320 // Rather, it changes the action for the rules to COUNT. Therefore, requests 10321 // that match an ExcludedRule are counted but not blocked. The RuleGroup owner 10322 // will receive COUNT metrics for each ExcludedRule. 10323 // 10324 // If you want to exclude rules from a rule group that is already associated 10325 // with a web ACL, perform the following steps: 10326 // 10327 // Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. 10328 // For more information about the logs, see Logging Web ACL Traffic Information 10329 // (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html). 10330 // 10331 // Submit an UpdateWebACL request that has two actions: 10332 // 10333 // * The first action deletes the existing rule group from the web ACL. That 10334 // is, in the UpdateWebACL request, the first Updates:Action should be DELETE 10335 // and Updates:ActivatedRule:RuleId should be the rule group that contains 10336 // the rules that you want to exclude. 10337 // 10338 // * The second action inserts the same rule group back in, but specifying 10339 // the rules to exclude. That is, the second Updates:Action should be INSERT, 10340 // Updates:ActivatedRule:RuleId should be the rule group that you just removed, 10341 // and ExcludedRules should contain the rules that you want to exclude. 10342 ExcludedRules []*ExcludedRule `type:"list"` 10343 10344 // Use the OverrideAction to test your RuleGroup. 10345 // 10346 // Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction 10347 // to None, the RuleGroup will block a request if any individual rule in the 10348 // RuleGroup matches the request and is configured to block that request. However 10349 // if you first want to test the RuleGroup, set the OverrideAction to Count. 10350 // The RuleGroup will then override any block action specified by individual 10351 // rules contained within the group. Instead of blocking matching requests, 10352 // those requests will be counted. You can view a record of counted requests 10353 // using GetSampledRequests. 10354 // 10355 // ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup 10356 // to a WebACL. In this case you do not use ActivatedRule|Action. For all other 10357 // update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. 10358 OverrideAction *WafOverrideAction `type:"structure"` 10359 10360 // Specifies the order in which the Rules in a WebACL are evaluated. Rules with 10361 // a lower value for Priority are evaluated before Rules with a higher value. 10362 // The value must be a unique integer. If you add multiple Rules to a WebACL, 10363 // the values don't need to be consecutive. 10364 // 10365 // Priority is a required field 10366 Priority *int64 `type:"integer" required:"true"` 10367 10368 // The RuleId for a Rule. You use RuleId to get more information about a Rule 10369 // (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL 10370 // or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS 10371 // WAF (see DeleteRule). 10372 // 10373 // RuleId is returned by CreateRule and by ListRules. 10374 // 10375 // RuleId is a required field 10376 RuleId *string `min:"1" type:"string" required:"true"` 10377 10378 // The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined 10379 // by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. 10380 // Although this field is optional, be aware that if you try to add a RATE_BASED 10381 // rule to a web ACL without setting the type, the UpdateWebACL request will 10382 // fail because the request tries to add a REGULAR rule with the specified ID, 10383 // which does not exist. 10384 Type *string `type:"string" enum:"WafRuleType"` 10385 } 10386 10387 // String returns the string representation. 10388 // 10389 // API parameter values that are decorated as "sensitive" in the API will not 10390 // be included in the string output. The member name will be present, but the 10391 // value will be replaced with "sensitive". 10392 func (s ActivatedRule) String() string { 10393 return awsutil.Prettify(s) 10394 } 10395 10396 // GoString returns the string representation. 10397 // 10398 // API parameter values that are decorated as "sensitive" in the API will not 10399 // be included in the string output. The member name will be present, but the 10400 // value will be replaced with "sensitive". 10401 func (s ActivatedRule) GoString() string { 10402 return s.String() 10403 } 10404 10405 // Validate inspects the fields of the type to determine if they are valid. 10406 func (s *ActivatedRule) Validate() error { 10407 invalidParams := request.ErrInvalidParams{Context: "ActivatedRule"} 10408 if s.Priority == nil { 10409 invalidParams.Add(request.NewErrParamRequired("Priority")) 10410 } 10411 if s.RuleId == nil { 10412 invalidParams.Add(request.NewErrParamRequired("RuleId")) 10413 } 10414 if s.RuleId != nil && len(*s.RuleId) < 1 { 10415 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 10416 } 10417 if s.Action != nil { 10418 if err := s.Action.Validate(); err != nil { 10419 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 10420 } 10421 } 10422 if s.ExcludedRules != nil { 10423 for i, v := range s.ExcludedRules { 10424 if v == nil { 10425 continue 10426 } 10427 if err := v.Validate(); err != nil { 10428 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExcludedRules", i), err.(request.ErrInvalidParams)) 10429 } 10430 } 10431 } 10432 if s.OverrideAction != nil { 10433 if err := s.OverrideAction.Validate(); err != nil { 10434 invalidParams.AddNested("OverrideAction", err.(request.ErrInvalidParams)) 10435 } 10436 } 10437 10438 if invalidParams.Len() > 0 { 10439 return invalidParams 10440 } 10441 return nil 10442 } 10443 10444 // SetAction sets the Action field's value. 10445 func (s *ActivatedRule) SetAction(v *WafAction) *ActivatedRule { 10446 s.Action = v 10447 return s 10448 } 10449 10450 // SetExcludedRules sets the ExcludedRules field's value. 10451 func (s *ActivatedRule) SetExcludedRules(v []*ExcludedRule) *ActivatedRule { 10452 s.ExcludedRules = v 10453 return s 10454 } 10455 10456 // SetOverrideAction sets the OverrideAction field's value. 10457 func (s *ActivatedRule) SetOverrideAction(v *WafOverrideAction) *ActivatedRule { 10458 s.OverrideAction = v 10459 return s 10460 } 10461 10462 // SetPriority sets the Priority field's value. 10463 func (s *ActivatedRule) SetPriority(v int64) *ActivatedRule { 10464 s.Priority = &v 10465 return s 10466 } 10467 10468 // SetRuleId sets the RuleId field's value. 10469 func (s *ActivatedRule) SetRuleId(v string) *ActivatedRule { 10470 s.RuleId = &v 10471 return s 10472 } 10473 10474 // SetType sets the Type field's value. 10475 func (s *ActivatedRule) SetType(v string) *ActivatedRule { 10476 s.Type = &v 10477 return s 10478 } 10479 10480 type BadRequestException struct { 10481 _ struct{} `type:"structure"` 10482 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10483 10484 Message_ *string `locationName:"message" type:"string"` 10485 } 10486 10487 // String returns the string representation. 10488 // 10489 // API parameter values that are decorated as "sensitive" in the API will not 10490 // be included in the string output. The member name will be present, but the 10491 // value will be replaced with "sensitive". 10492 func (s BadRequestException) String() string { 10493 return awsutil.Prettify(s) 10494 } 10495 10496 // GoString returns the string representation. 10497 // 10498 // API parameter values that are decorated as "sensitive" in the API will not 10499 // be included in the string output. The member name will be present, but the 10500 // value will be replaced with "sensitive". 10501 func (s BadRequestException) GoString() string { 10502 return s.String() 10503 } 10504 10505 func newErrorBadRequestException(v protocol.ResponseMetadata) error { 10506 return &BadRequestException{ 10507 RespMetadata: v, 10508 } 10509 } 10510 10511 // Code returns the exception type name. 10512 func (s *BadRequestException) Code() string { 10513 return "WAFBadRequestException" 10514 } 10515 10516 // Message returns the exception's message. 10517 func (s *BadRequestException) Message() string { 10518 if s.Message_ != nil { 10519 return *s.Message_ 10520 } 10521 return "" 10522 } 10523 10524 // OrigErr always returns nil, satisfies awserr.Error interface. 10525 func (s *BadRequestException) OrigErr() error { 10526 return nil 10527 } 10528 10529 func (s *BadRequestException) Error() string { 10530 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10531 } 10532 10533 // Status code returns the HTTP status code for the request's response error. 10534 func (s *BadRequestException) StatusCode() int { 10535 return s.RespMetadata.StatusCode 10536 } 10537 10538 // RequestID returns the service's response RequestID for request. 10539 func (s *BadRequestException) RequestID() string { 10540 return s.RespMetadata.RequestID 10541 } 10542 10543 // 10544 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10545 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10546 // in the developer guide. 10547 // 10548 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10549 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10550 // With the latest version, AWS WAF has a single set of endpoints for regional 10551 // and global use. 10552 // 10553 // In a GetByteMatchSet request, ByteMatchSet is a complex type that contains 10554 // the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified 10555 // when you updated the ByteMatchSet. 10556 // 10557 // A complex type that contains ByteMatchTuple objects, which specify the parts 10558 // of web requests that you want AWS WAF to inspect and the values that you 10559 // want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple 10560 // object, a request needs to match the settings in only one ByteMatchTuple 10561 // to be considered a match. 10562 type ByteMatchSet struct { 10563 _ struct{} `type:"structure"` 10564 10565 // The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information 10566 // about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), 10567 // insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), 10568 // and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet). 10569 // 10570 // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. 10571 // 10572 // ByteMatchSetId is a required field 10573 ByteMatchSetId *string `min:"1" type:"string" required:"true"` 10574 10575 // Specifies the bytes (typically a string that corresponds with ASCII characters) 10576 // that you want AWS WAF to search for in web requests, the location in requests 10577 // that you want AWS WAF to search, and other settings. 10578 // 10579 // ByteMatchTuples is a required field 10580 ByteMatchTuples []*ByteMatchTuple `type:"list" required:"true"` 10581 10582 // A friendly name or description of the ByteMatchSet. You can't change Name 10583 // after you create a ByteMatchSet. 10584 Name *string `min:"1" type:"string"` 10585 } 10586 10587 // String returns the string representation. 10588 // 10589 // API parameter values that are decorated as "sensitive" in the API will not 10590 // be included in the string output. The member name will be present, but the 10591 // value will be replaced with "sensitive". 10592 func (s ByteMatchSet) String() string { 10593 return awsutil.Prettify(s) 10594 } 10595 10596 // GoString returns the string representation. 10597 // 10598 // API parameter values that are decorated as "sensitive" in the API will not 10599 // be included in the string output. The member name will be present, but the 10600 // value will be replaced with "sensitive". 10601 func (s ByteMatchSet) GoString() string { 10602 return s.String() 10603 } 10604 10605 // SetByteMatchSetId sets the ByteMatchSetId field's value. 10606 func (s *ByteMatchSet) SetByteMatchSetId(v string) *ByteMatchSet { 10607 s.ByteMatchSetId = &v 10608 return s 10609 } 10610 10611 // SetByteMatchTuples sets the ByteMatchTuples field's value. 10612 func (s *ByteMatchSet) SetByteMatchTuples(v []*ByteMatchTuple) *ByteMatchSet { 10613 s.ByteMatchTuples = v 10614 return s 10615 } 10616 10617 // SetName sets the Name field's value. 10618 func (s *ByteMatchSet) SetName(v string) *ByteMatchSet { 10619 s.Name = &v 10620 return s 10621 } 10622 10623 // 10624 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10625 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10626 // in the developer guide. 10627 // 10628 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10629 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10630 // With the latest version, AWS WAF has a single set of endpoints for regional 10631 // and global use. 10632 // 10633 // Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the 10634 // Name and ByteMatchSetId for one ByteMatchSet. 10635 type ByteMatchSetSummary struct { 10636 _ struct{} `type:"structure"` 10637 10638 // The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information 10639 // about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a 10640 // Rule, and delete a ByteMatchSet from AWS WAF. 10641 // 10642 // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. 10643 // 10644 // ByteMatchSetId is a required field 10645 ByteMatchSetId *string `min:"1" type:"string" required:"true"` 10646 10647 // A friendly name or description of the ByteMatchSet. You can't change Name 10648 // after you create a ByteMatchSet. 10649 // 10650 // Name is a required field 10651 Name *string `min:"1" type:"string" required:"true"` 10652 } 10653 10654 // String returns the string representation. 10655 // 10656 // API parameter values that are decorated as "sensitive" in the API will not 10657 // be included in the string output. The member name will be present, but the 10658 // value will be replaced with "sensitive". 10659 func (s ByteMatchSetSummary) String() string { 10660 return awsutil.Prettify(s) 10661 } 10662 10663 // GoString returns the string representation. 10664 // 10665 // API parameter values that are decorated as "sensitive" in the API will not 10666 // be included in the string output. The member name will be present, but the 10667 // value will be replaced with "sensitive". 10668 func (s ByteMatchSetSummary) GoString() string { 10669 return s.String() 10670 } 10671 10672 // SetByteMatchSetId sets the ByteMatchSetId field's value. 10673 func (s *ByteMatchSetSummary) SetByteMatchSetId(v string) *ByteMatchSetSummary { 10674 s.ByteMatchSetId = &v 10675 return s 10676 } 10677 10678 // SetName sets the Name field's value. 10679 func (s *ByteMatchSetSummary) SetName(v string) *ByteMatchSetSummary { 10680 s.Name = &v 10681 return s 10682 } 10683 10684 // 10685 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10686 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10687 // in the developer guide. 10688 // 10689 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10690 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10691 // With the latest version, AWS WAF has a single set of endpoints for regional 10692 // and global use. 10693 // 10694 // In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to 10695 // insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple. 10696 type ByteMatchSetUpdate struct { 10697 _ struct{} `type:"structure"` 10698 10699 // Specifies whether to insert or delete a ByteMatchTuple. 10700 // 10701 // Action is a required field 10702 Action *string `type:"string" required:"true" enum:"ChangeAction"` 10703 10704 // Information about the part of a web request that you want AWS WAF to inspect 10705 // and the value that you want AWS WAF to search for. If you specify DELETE 10706 // for the value of Action, the ByteMatchTuple values must exactly match the 10707 // values in the ByteMatchTuple that you want to delete from the ByteMatchSet. 10708 // 10709 // ByteMatchTuple is a required field 10710 ByteMatchTuple *ByteMatchTuple `type:"structure" required:"true"` 10711 } 10712 10713 // String returns the string representation. 10714 // 10715 // API parameter values that are decorated as "sensitive" in the API will not 10716 // be included in the string output. The member name will be present, but the 10717 // value will be replaced with "sensitive". 10718 func (s ByteMatchSetUpdate) String() string { 10719 return awsutil.Prettify(s) 10720 } 10721 10722 // GoString returns the string representation. 10723 // 10724 // API parameter values that are decorated as "sensitive" in the API will not 10725 // be included in the string output. The member name will be present, but the 10726 // value will be replaced with "sensitive". 10727 func (s ByteMatchSetUpdate) GoString() string { 10728 return s.String() 10729 } 10730 10731 // Validate inspects the fields of the type to determine if they are valid. 10732 func (s *ByteMatchSetUpdate) Validate() error { 10733 invalidParams := request.ErrInvalidParams{Context: "ByteMatchSetUpdate"} 10734 if s.Action == nil { 10735 invalidParams.Add(request.NewErrParamRequired("Action")) 10736 } 10737 if s.ByteMatchTuple == nil { 10738 invalidParams.Add(request.NewErrParamRequired("ByteMatchTuple")) 10739 } 10740 if s.ByteMatchTuple != nil { 10741 if err := s.ByteMatchTuple.Validate(); err != nil { 10742 invalidParams.AddNested("ByteMatchTuple", err.(request.ErrInvalidParams)) 10743 } 10744 } 10745 10746 if invalidParams.Len() > 0 { 10747 return invalidParams 10748 } 10749 return nil 10750 } 10751 10752 // SetAction sets the Action field's value. 10753 func (s *ByteMatchSetUpdate) SetAction(v string) *ByteMatchSetUpdate { 10754 s.Action = &v 10755 return s 10756 } 10757 10758 // SetByteMatchTuple sets the ByteMatchTuple field's value. 10759 func (s *ByteMatchSetUpdate) SetByteMatchTuple(v *ByteMatchTuple) *ByteMatchSetUpdate { 10760 s.ByteMatchTuple = v 10761 return s 10762 } 10763 10764 // 10765 // This is AWS WAF Classic documentation. For more information, see AWS WAF 10766 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 10767 // in the developer guide. 10768 // 10769 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 10770 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 10771 // With the latest version, AWS WAF has a single set of endpoints for regional 10772 // and global use. 10773 // 10774 // The bytes (typically a string that corresponds with ASCII characters) that 10775 // you want AWS WAF to search for in web requests, the location in requests 10776 // that you want AWS WAF to search, and other settings. 10777 type ByteMatchTuple struct { 10778 _ struct{} `type:"structure"` 10779 10780 // The part of a web request that you want AWS WAF to search, such as a specified 10781 // header or a query string. For more information, see FieldToMatch. 10782 // 10783 // FieldToMatch is a required field 10784 FieldToMatch *FieldToMatch `type:"structure" required:"true"` 10785 10786 // Within the portion of a web request that you want to search (for example, 10787 // in the query string, if any), specify where you want AWS WAF to search. Valid 10788 // values include the following: 10789 // 10790 // CONTAINS 10791 // 10792 // The specified part of the web request must include the value of TargetString, 10793 // but the location doesn't matter. 10794 // 10795 // CONTAINS_WORD 10796 // 10797 // The specified part of the web request must include the value of TargetString, 10798 // and TargetString must contain only alphanumeric characters or underscore 10799 // (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means 10800 // one of the following: 10801 // 10802 // * TargetString exactly matches the value of the specified part of the 10803 // web request, such as the value of a header. 10804 // 10805 // * TargetString is at the beginning of the specified part of the web request 10806 // and is followed by a character other than an alphanumeric character or 10807 // underscore (_), for example, BadBot;. 10808 // 10809 // * TargetString is at the end of the specified part of the web request 10810 // and is preceded by a character other than an alphanumeric character or 10811 // underscore (_), for example, ;BadBot. 10812 // 10813 // * TargetString is in the middle of the specified part of the web request 10814 // and is preceded and followed by characters other than alphanumeric characters 10815 // or underscore (_), for example, -BadBot;. 10816 // 10817 // EXACTLY 10818 // 10819 // The value of the specified part of the web request must exactly match the 10820 // value of TargetString. 10821 // 10822 // STARTS_WITH 10823 // 10824 // The value of TargetString must appear at the beginning of the specified part 10825 // of the web request. 10826 // 10827 // ENDS_WITH 10828 // 10829 // The value of TargetString must appear at the end of the specified part of 10830 // the web request. 10831 // 10832 // PositionalConstraint is a required field 10833 PositionalConstraint *string `type:"string" required:"true" enum:"PositionalConstraint"` 10834 10835 // The value that you want AWS WAF to search for. AWS WAF searches for the specified 10836 // string in the part of web requests that you specified in FieldToMatch. The 10837 // maximum length of the value is 50 bytes. 10838 // 10839 // Valid values depend on the values that you specified for FieldToMatch: 10840 // 10841 // * HEADER: The value that you want AWS WAF to search for in the request 10842 // header that you specified in FieldToMatch, for example, the value of the 10843 // User-Agent or Referer header. 10844 // 10845 // * METHOD: The HTTP method, which indicates the type of operation specified 10846 // in the request. CloudFront supports the following methods: DELETE, GET, 10847 // HEAD, OPTIONS, PATCH, POST, and PUT. 10848 // 10849 // * QUERY_STRING: The value that you want AWS WAF to search for in the query 10850 // string, which is the part of a URL that appears after a ? character. 10851 // 10852 // * URI: The value that you want AWS WAF to search for in the part of a 10853 // URL that identifies a resource, for example, /images/daily-ad.jpg. 10854 // 10855 // * BODY: The part of a request that contains any additional data that you 10856 // want to send to your web server as the HTTP request body, such as data 10857 // from a form. The request body immediately follows the request headers. 10858 // Note that only the first 8192 bytes of the request body are forwarded 10859 // to AWS WAF for inspection. To allow or block requests based on the length 10860 // of the body, you can create a size constraint set. For more information, 10861 // see CreateSizeConstraintSet. 10862 // 10863 // * SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, 10864 // such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG 10865 // is 30 characters. 10866 // 10867 // * ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting 10868 // a single parameter, AWS WAF inspects all parameters within the query string 10869 // for the value or regex pattern that you specify in TargetString. 10870 // 10871 // If TargetString includes alphabetic characters A-Z and a-z, note that the 10872 // value is case sensitive. 10873 // 10874 // If you're using the AWS WAF API 10875 // 10876 // Specify a base64-encoded version of the value. The maximum length of the 10877 // value before you base64-encode it is 50 bytes. 10878 // 10879 // For example, suppose the value of Type is HEADER and the value of Data is 10880 // User-Agent. If you want to search the User-Agent header for the value BadBot, 10881 // you base64-encode BadBot using MIME base64-encoding and include the resulting 10882 // value, QmFkQm90, in the value of TargetString. 10883 // 10884 // If you're using the AWS CLI or one of the AWS SDKs 10885 // 10886 // The value that you want AWS WAF to search for. The SDK automatically base64 10887 // encodes the value. 10888 // TargetString is automatically base64 encoded/decoded by the SDK. 10889 // 10890 // TargetString is a required field 10891 TargetString []byte `type:"blob" required:"true"` 10892 10893 // Text transformations eliminate some of the unusual formatting that attackers 10894 // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, 10895 // AWS WAF performs the transformation on FieldToMatch before inspecting it 10896 // for a match. 10897 // 10898 // You can only specify a single type of TextTransformation. 10899 // 10900 // CMD_LINE 10901 // 10902 // When you're concerned that attackers are injecting an operating system command 10903 // line command and using unusual formatting to disguise some or all of the 10904 // command, use this option to perform the following transformations: 10905 // 10906 // * Delete the following characters: \ " ' ^ 10907 // 10908 // * Delete spaces before the following characters: / ( 10909 // 10910 // * Replace the following characters with a space: , ; 10911 // 10912 // * Replace multiple spaces with one space 10913 // 10914 // * Convert uppercase letters (A-Z) to lowercase (a-z) 10915 // 10916 // COMPRESS_WHITE_SPACE 10917 // 10918 // Use this option to replace the following characters with a space character 10919 // (decimal 32): 10920 // 10921 // * \f, formfeed, decimal 12 10922 // 10923 // * \t, tab, decimal 9 10924 // 10925 // * \n, newline, decimal 10 10926 // 10927 // * \r, carriage return, decimal 13 10928 // 10929 // * \v, vertical tab, decimal 11 10930 // 10931 // * non-breaking space, decimal 160 10932 // 10933 // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. 10934 // 10935 // HTML_ENTITY_DECODE 10936 // 10937 // Use this option to replace HTML-encoded characters with unencoded characters. 10938 // HTML_ENTITY_DECODE performs the following operations: 10939 // 10940 // * Replaces (ampersand)quot; with " 10941 // 10942 // * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 10943 // 10944 // * Replaces (ampersand)lt; with a "less than" symbol 10945 // 10946 // * Replaces (ampersand)gt; with > 10947 // 10948 // * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, 10949 // with the corresponding characters 10950 // 10951 // * Replaces characters that are represented in decimal format, (ampersand)#nnnn;, 10952 // with the corresponding characters 10953 // 10954 // LOWERCASE 10955 // 10956 // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). 10957 // 10958 // URL_DECODE 10959 // 10960 // Use this option to decode a URL-encoded value. 10961 // 10962 // NONE 10963 // 10964 // Specify NONE if you don't want to perform any text transformations. 10965 // 10966 // TextTransformation is a required field 10967 TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` 10968 } 10969 10970 // String returns the string representation. 10971 // 10972 // API parameter values that are decorated as "sensitive" in the API will not 10973 // be included in the string output. The member name will be present, but the 10974 // value will be replaced with "sensitive". 10975 func (s ByteMatchTuple) String() string { 10976 return awsutil.Prettify(s) 10977 } 10978 10979 // GoString returns the string representation. 10980 // 10981 // API parameter values that are decorated as "sensitive" in the API will not 10982 // be included in the string output. The member name will be present, but the 10983 // value will be replaced with "sensitive". 10984 func (s ByteMatchTuple) GoString() string { 10985 return s.String() 10986 } 10987 10988 // Validate inspects the fields of the type to determine if they are valid. 10989 func (s *ByteMatchTuple) Validate() error { 10990 invalidParams := request.ErrInvalidParams{Context: "ByteMatchTuple"} 10991 if s.FieldToMatch == nil { 10992 invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) 10993 } 10994 if s.PositionalConstraint == nil { 10995 invalidParams.Add(request.NewErrParamRequired("PositionalConstraint")) 10996 } 10997 if s.TargetString == nil { 10998 invalidParams.Add(request.NewErrParamRequired("TargetString")) 10999 } 11000 if s.TextTransformation == nil { 11001 invalidParams.Add(request.NewErrParamRequired("TextTransformation")) 11002 } 11003 if s.FieldToMatch != nil { 11004 if err := s.FieldToMatch.Validate(); err != nil { 11005 invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) 11006 } 11007 } 11008 11009 if invalidParams.Len() > 0 { 11010 return invalidParams 11011 } 11012 return nil 11013 } 11014 11015 // SetFieldToMatch sets the FieldToMatch field's value. 11016 func (s *ByteMatchTuple) SetFieldToMatch(v *FieldToMatch) *ByteMatchTuple { 11017 s.FieldToMatch = v 11018 return s 11019 } 11020 11021 // SetPositionalConstraint sets the PositionalConstraint field's value. 11022 func (s *ByteMatchTuple) SetPositionalConstraint(v string) *ByteMatchTuple { 11023 s.PositionalConstraint = &v 11024 return s 11025 } 11026 11027 // SetTargetString sets the TargetString field's value. 11028 func (s *ByteMatchTuple) SetTargetString(v []byte) *ByteMatchTuple { 11029 s.TargetString = v 11030 return s 11031 } 11032 11033 // SetTextTransformation sets the TextTransformation field's value. 11034 func (s *ByteMatchTuple) SetTextTransformation(v string) *ByteMatchTuple { 11035 s.TextTransformation = &v 11036 return s 11037 } 11038 11039 type CreateByteMatchSetInput struct { 11040 _ struct{} `type:"structure"` 11041 11042 // The value returned by the most recent call to GetChangeToken. 11043 // 11044 // ChangeToken is a required field 11045 ChangeToken *string `min:"1" type:"string" required:"true"` 11046 11047 // A friendly name or description of the ByteMatchSet. You can't change Name 11048 // after you create a ByteMatchSet. 11049 // 11050 // Name is a required field 11051 Name *string `min:"1" type:"string" required:"true"` 11052 } 11053 11054 // String returns the string representation. 11055 // 11056 // API parameter values that are decorated as "sensitive" in the API will not 11057 // be included in the string output. The member name will be present, but the 11058 // value will be replaced with "sensitive". 11059 func (s CreateByteMatchSetInput) String() string { 11060 return awsutil.Prettify(s) 11061 } 11062 11063 // GoString returns the string representation. 11064 // 11065 // API parameter values that are decorated as "sensitive" in the API will not 11066 // be included in the string output. The member name will be present, but the 11067 // value will be replaced with "sensitive". 11068 func (s CreateByteMatchSetInput) GoString() string { 11069 return s.String() 11070 } 11071 11072 // Validate inspects the fields of the type to determine if they are valid. 11073 func (s *CreateByteMatchSetInput) Validate() error { 11074 invalidParams := request.ErrInvalidParams{Context: "CreateByteMatchSetInput"} 11075 if s.ChangeToken == nil { 11076 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11077 } 11078 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11079 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11080 } 11081 if s.Name == nil { 11082 invalidParams.Add(request.NewErrParamRequired("Name")) 11083 } 11084 if s.Name != nil && len(*s.Name) < 1 { 11085 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11086 } 11087 11088 if invalidParams.Len() > 0 { 11089 return invalidParams 11090 } 11091 return nil 11092 } 11093 11094 // SetChangeToken sets the ChangeToken field's value. 11095 func (s *CreateByteMatchSetInput) SetChangeToken(v string) *CreateByteMatchSetInput { 11096 s.ChangeToken = &v 11097 return s 11098 } 11099 11100 // SetName sets the Name field's value. 11101 func (s *CreateByteMatchSetInput) SetName(v string) *CreateByteMatchSetInput { 11102 s.Name = &v 11103 return s 11104 } 11105 11106 type CreateByteMatchSetOutput struct { 11107 _ struct{} `type:"structure"` 11108 11109 // A ByteMatchSet that contains no ByteMatchTuple objects. 11110 ByteMatchSet *ByteMatchSet `type:"structure"` 11111 11112 // The ChangeToken that you used to submit the CreateByteMatchSet request. You 11113 // can also use this value to query the status of the request. For more information, 11114 // see GetChangeTokenStatus. 11115 ChangeToken *string `min:"1" type:"string"` 11116 } 11117 11118 // String returns the string representation. 11119 // 11120 // API parameter values that are decorated as "sensitive" in the API will not 11121 // be included in the string output. The member name will be present, but the 11122 // value will be replaced with "sensitive". 11123 func (s CreateByteMatchSetOutput) String() string { 11124 return awsutil.Prettify(s) 11125 } 11126 11127 // GoString returns the string representation. 11128 // 11129 // API parameter values that are decorated as "sensitive" in the API will not 11130 // be included in the string output. The member name will be present, but the 11131 // value will be replaced with "sensitive". 11132 func (s CreateByteMatchSetOutput) GoString() string { 11133 return s.String() 11134 } 11135 11136 // SetByteMatchSet sets the ByteMatchSet field's value. 11137 func (s *CreateByteMatchSetOutput) SetByteMatchSet(v *ByteMatchSet) *CreateByteMatchSetOutput { 11138 s.ByteMatchSet = v 11139 return s 11140 } 11141 11142 // SetChangeToken sets the ChangeToken field's value. 11143 func (s *CreateByteMatchSetOutput) SetChangeToken(v string) *CreateByteMatchSetOutput { 11144 s.ChangeToken = &v 11145 return s 11146 } 11147 11148 type CreateGeoMatchSetInput struct { 11149 _ struct{} `type:"structure"` 11150 11151 // The value returned by the most recent call to GetChangeToken. 11152 // 11153 // ChangeToken is a required field 11154 ChangeToken *string `min:"1" type:"string" required:"true"` 11155 11156 // A friendly name or description of the GeoMatchSet. You can't change Name 11157 // after you create the GeoMatchSet. 11158 // 11159 // Name is a required field 11160 Name *string `min:"1" type:"string" required:"true"` 11161 } 11162 11163 // String returns the string representation. 11164 // 11165 // API parameter values that are decorated as "sensitive" in the API will not 11166 // be included in the string output. The member name will be present, but the 11167 // value will be replaced with "sensitive". 11168 func (s CreateGeoMatchSetInput) String() string { 11169 return awsutil.Prettify(s) 11170 } 11171 11172 // GoString returns the string representation. 11173 // 11174 // API parameter values that are decorated as "sensitive" in the API will not 11175 // be included in the string output. The member name will be present, but the 11176 // value will be replaced with "sensitive". 11177 func (s CreateGeoMatchSetInput) GoString() string { 11178 return s.String() 11179 } 11180 11181 // Validate inspects the fields of the type to determine if they are valid. 11182 func (s *CreateGeoMatchSetInput) Validate() error { 11183 invalidParams := request.ErrInvalidParams{Context: "CreateGeoMatchSetInput"} 11184 if s.ChangeToken == nil { 11185 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11186 } 11187 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11188 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11189 } 11190 if s.Name == nil { 11191 invalidParams.Add(request.NewErrParamRequired("Name")) 11192 } 11193 if s.Name != nil && len(*s.Name) < 1 { 11194 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11195 } 11196 11197 if invalidParams.Len() > 0 { 11198 return invalidParams 11199 } 11200 return nil 11201 } 11202 11203 // SetChangeToken sets the ChangeToken field's value. 11204 func (s *CreateGeoMatchSetInput) SetChangeToken(v string) *CreateGeoMatchSetInput { 11205 s.ChangeToken = &v 11206 return s 11207 } 11208 11209 // SetName sets the Name field's value. 11210 func (s *CreateGeoMatchSetInput) SetName(v string) *CreateGeoMatchSetInput { 11211 s.Name = &v 11212 return s 11213 } 11214 11215 type CreateGeoMatchSetOutput struct { 11216 _ struct{} `type:"structure"` 11217 11218 // The ChangeToken that you used to submit the CreateGeoMatchSet request. You 11219 // can also use this value to query the status of the request. For more information, 11220 // see GetChangeTokenStatus. 11221 ChangeToken *string `min:"1" type:"string"` 11222 11223 // The GeoMatchSet returned in the CreateGeoMatchSet response. The GeoMatchSet 11224 // contains no GeoMatchConstraints. 11225 GeoMatchSet *GeoMatchSet `type:"structure"` 11226 } 11227 11228 // String returns the string representation. 11229 // 11230 // API parameter values that are decorated as "sensitive" in the API will not 11231 // be included in the string output. The member name will be present, but the 11232 // value will be replaced with "sensitive". 11233 func (s CreateGeoMatchSetOutput) String() string { 11234 return awsutil.Prettify(s) 11235 } 11236 11237 // GoString returns the string representation. 11238 // 11239 // API parameter values that are decorated as "sensitive" in the API will not 11240 // be included in the string output. The member name will be present, but the 11241 // value will be replaced with "sensitive". 11242 func (s CreateGeoMatchSetOutput) GoString() string { 11243 return s.String() 11244 } 11245 11246 // SetChangeToken sets the ChangeToken field's value. 11247 func (s *CreateGeoMatchSetOutput) SetChangeToken(v string) *CreateGeoMatchSetOutput { 11248 s.ChangeToken = &v 11249 return s 11250 } 11251 11252 // SetGeoMatchSet sets the GeoMatchSet field's value. 11253 func (s *CreateGeoMatchSetOutput) SetGeoMatchSet(v *GeoMatchSet) *CreateGeoMatchSetOutput { 11254 s.GeoMatchSet = v 11255 return s 11256 } 11257 11258 type CreateIPSetInput struct { 11259 _ struct{} `type:"structure"` 11260 11261 // The value returned by the most recent call to GetChangeToken. 11262 // 11263 // ChangeToken is a required field 11264 ChangeToken *string `min:"1" type:"string" required:"true"` 11265 11266 // A friendly name or description of the IPSet. You can't change Name after 11267 // you create the IPSet. 11268 // 11269 // Name is a required field 11270 Name *string `min:"1" type:"string" required:"true"` 11271 } 11272 11273 // String returns the string representation. 11274 // 11275 // API parameter values that are decorated as "sensitive" in the API will not 11276 // be included in the string output. The member name will be present, but the 11277 // value will be replaced with "sensitive". 11278 func (s CreateIPSetInput) String() string { 11279 return awsutil.Prettify(s) 11280 } 11281 11282 // GoString returns the string representation. 11283 // 11284 // API parameter values that are decorated as "sensitive" in the API will not 11285 // be included in the string output. The member name will be present, but the 11286 // value will be replaced with "sensitive". 11287 func (s CreateIPSetInput) GoString() string { 11288 return s.String() 11289 } 11290 11291 // Validate inspects the fields of the type to determine if they are valid. 11292 func (s *CreateIPSetInput) Validate() error { 11293 invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"} 11294 if s.ChangeToken == nil { 11295 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11296 } 11297 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11298 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11299 } 11300 if s.Name == nil { 11301 invalidParams.Add(request.NewErrParamRequired("Name")) 11302 } 11303 if s.Name != nil && len(*s.Name) < 1 { 11304 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11305 } 11306 11307 if invalidParams.Len() > 0 { 11308 return invalidParams 11309 } 11310 return nil 11311 } 11312 11313 // SetChangeToken sets the ChangeToken field's value. 11314 func (s *CreateIPSetInput) SetChangeToken(v string) *CreateIPSetInput { 11315 s.ChangeToken = &v 11316 return s 11317 } 11318 11319 // SetName sets the Name field's value. 11320 func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput { 11321 s.Name = &v 11322 return s 11323 } 11324 11325 type CreateIPSetOutput struct { 11326 _ struct{} `type:"structure"` 11327 11328 // The ChangeToken that you used to submit the CreateIPSet request. You can 11329 // also use this value to query the status of the request. For more information, 11330 // see GetChangeTokenStatus. 11331 ChangeToken *string `min:"1" type:"string"` 11332 11333 // The IPSet returned in the CreateIPSet response. 11334 IPSet *IPSet `type:"structure"` 11335 } 11336 11337 // String returns the string representation. 11338 // 11339 // API parameter values that are decorated as "sensitive" in the API will not 11340 // be included in the string output. The member name will be present, but the 11341 // value will be replaced with "sensitive". 11342 func (s CreateIPSetOutput) String() string { 11343 return awsutil.Prettify(s) 11344 } 11345 11346 // GoString returns the string representation. 11347 // 11348 // API parameter values that are decorated as "sensitive" in the API will not 11349 // be included in the string output. The member name will be present, but the 11350 // value will be replaced with "sensitive". 11351 func (s CreateIPSetOutput) GoString() string { 11352 return s.String() 11353 } 11354 11355 // SetChangeToken sets the ChangeToken field's value. 11356 func (s *CreateIPSetOutput) SetChangeToken(v string) *CreateIPSetOutput { 11357 s.ChangeToken = &v 11358 return s 11359 } 11360 11361 // SetIPSet sets the IPSet field's value. 11362 func (s *CreateIPSetOutput) SetIPSet(v *IPSet) *CreateIPSetOutput { 11363 s.IPSet = v 11364 return s 11365 } 11366 11367 type CreateRateBasedRuleInput struct { 11368 _ struct{} `type:"structure"` 11369 11370 // The ChangeToken that you used to submit the CreateRateBasedRule request. 11371 // You can also use this value to query the status of the request. For more 11372 // information, see GetChangeTokenStatus. 11373 // 11374 // ChangeToken is a required field 11375 ChangeToken *string `min:"1" type:"string" required:"true"` 11376 11377 // A friendly name or description for the metrics for this RateBasedRule. The 11378 // name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum 11379 // length 128 and minimum length one. It can't contain whitespace or metric 11380 // names reserved for AWS WAF, including "All" and "Default_Action." You can't 11381 // change the name of the metric after you create the RateBasedRule. 11382 // 11383 // MetricName is a required field 11384 MetricName *string `min:"1" type:"string" required:"true"` 11385 11386 // A friendly name or description of the RateBasedRule. You can't change the 11387 // name of a RateBasedRule after you create it. 11388 // 11389 // Name is a required field 11390 Name *string `min:"1" type:"string" required:"true"` 11391 11392 // The field that AWS WAF uses to determine if requests are likely arriving 11393 // from a single source and thus subject to rate monitoring. The only valid 11394 // value for RateKey is IP. IP indicates that requests that arrive from the 11395 // same IP address are subject to the RateLimit that is specified in the RateBasedRule. 11396 // 11397 // RateKey is a required field 11398 RateKey *string `type:"string" required:"true" enum:"RateKey"` 11399 11400 // The maximum number of requests, which have an identical value in the field 11401 // that is specified by RateKey, allowed in a five-minute period. If the number 11402 // of requests exceeds the RateLimit and the other predicates specified in the 11403 // rule are also met, AWS WAF triggers the action that is specified for this 11404 // rule. 11405 // 11406 // RateLimit is a required field 11407 RateLimit *int64 `min:"100" type:"long" required:"true"` 11408 11409 Tags []*Tag `min:"1" type:"list"` 11410 } 11411 11412 // String returns the string representation. 11413 // 11414 // API parameter values that are decorated as "sensitive" in the API will not 11415 // be included in the string output. The member name will be present, but the 11416 // value will be replaced with "sensitive". 11417 func (s CreateRateBasedRuleInput) String() string { 11418 return awsutil.Prettify(s) 11419 } 11420 11421 // GoString returns the string representation. 11422 // 11423 // API parameter values that are decorated as "sensitive" in the API will not 11424 // be included in the string output. The member name will be present, but the 11425 // value will be replaced with "sensitive". 11426 func (s CreateRateBasedRuleInput) GoString() string { 11427 return s.String() 11428 } 11429 11430 // Validate inspects the fields of the type to determine if they are valid. 11431 func (s *CreateRateBasedRuleInput) Validate() error { 11432 invalidParams := request.ErrInvalidParams{Context: "CreateRateBasedRuleInput"} 11433 if s.ChangeToken == nil { 11434 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11435 } 11436 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11437 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11438 } 11439 if s.MetricName == nil { 11440 invalidParams.Add(request.NewErrParamRequired("MetricName")) 11441 } 11442 if s.MetricName != nil && len(*s.MetricName) < 1 { 11443 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 11444 } 11445 if s.Name == nil { 11446 invalidParams.Add(request.NewErrParamRequired("Name")) 11447 } 11448 if s.Name != nil && len(*s.Name) < 1 { 11449 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11450 } 11451 if s.RateKey == nil { 11452 invalidParams.Add(request.NewErrParamRequired("RateKey")) 11453 } 11454 if s.RateLimit == nil { 11455 invalidParams.Add(request.NewErrParamRequired("RateLimit")) 11456 } 11457 if s.RateLimit != nil && *s.RateLimit < 100 { 11458 invalidParams.Add(request.NewErrParamMinValue("RateLimit", 100)) 11459 } 11460 if s.Tags != nil && len(s.Tags) < 1 { 11461 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 11462 } 11463 if s.Tags != nil { 11464 for i, v := range s.Tags { 11465 if v == nil { 11466 continue 11467 } 11468 if err := v.Validate(); err != nil { 11469 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 11470 } 11471 } 11472 } 11473 11474 if invalidParams.Len() > 0 { 11475 return invalidParams 11476 } 11477 return nil 11478 } 11479 11480 // SetChangeToken sets the ChangeToken field's value. 11481 func (s *CreateRateBasedRuleInput) SetChangeToken(v string) *CreateRateBasedRuleInput { 11482 s.ChangeToken = &v 11483 return s 11484 } 11485 11486 // SetMetricName sets the MetricName field's value. 11487 func (s *CreateRateBasedRuleInput) SetMetricName(v string) *CreateRateBasedRuleInput { 11488 s.MetricName = &v 11489 return s 11490 } 11491 11492 // SetName sets the Name field's value. 11493 func (s *CreateRateBasedRuleInput) SetName(v string) *CreateRateBasedRuleInput { 11494 s.Name = &v 11495 return s 11496 } 11497 11498 // SetRateKey sets the RateKey field's value. 11499 func (s *CreateRateBasedRuleInput) SetRateKey(v string) *CreateRateBasedRuleInput { 11500 s.RateKey = &v 11501 return s 11502 } 11503 11504 // SetRateLimit sets the RateLimit field's value. 11505 func (s *CreateRateBasedRuleInput) SetRateLimit(v int64) *CreateRateBasedRuleInput { 11506 s.RateLimit = &v 11507 return s 11508 } 11509 11510 // SetTags sets the Tags field's value. 11511 func (s *CreateRateBasedRuleInput) SetTags(v []*Tag) *CreateRateBasedRuleInput { 11512 s.Tags = v 11513 return s 11514 } 11515 11516 type CreateRateBasedRuleOutput struct { 11517 _ struct{} `type:"structure"` 11518 11519 // The ChangeToken that you used to submit the CreateRateBasedRule request. 11520 // You can also use this value to query the status of the request. For more 11521 // information, see GetChangeTokenStatus. 11522 ChangeToken *string `min:"1" type:"string"` 11523 11524 // The RateBasedRule that is returned in the CreateRateBasedRule response. 11525 Rule *RateBasedRule `type:"structure"` 11526 } 11527 11528 // String returns the string representation. 11529 // 11530 // API parameter values that are decorated as "sensitive" in the API will not 11531 // be included in the string output. The member name will be present, but the 11532 // value will be replaced with "sensitive". 11533 func (s CreateRateBasedRuleOutput) String() string { 11534 return awsutil.Prettify(s) 11535 } 11536 11537 // GoString returns the string representation. 11538 // 11539 // API parameter values that are decorated as "sensitive" in the API will not 11540 // be included in the string output. The member name will be present, but the 11541 // value will be replaced with "sensitive". 11542 func (s CreateRateBasedRuleOutput) GoString() string { 11543 return s.String() 11544 } 11545 11546 // SetChangeToken sets the ChangeToken field's value. 11547 func (s *CreateRateBasedRuleOutput) SetChangeToken(v string) *CreateRateBasedRuleOutput { 11548 s.ChangeToken = &v 11549 return s 11550 } 11551 11552 // SetRule sets the Rule field's value. 11553 func (s *CreateRateBasedRuleOutput) SetRule(v *RateBasedRule) *CreateRateBasedRuleOutput { 11554 s.Rule = v 11555 return s 11556 } 11557 11558 type CreateRegexMatchSetInput struct { 11559 _ struct{} `type:"structure"` 11560 11561 // The value returned by the most recent call to GetChangeToken. 11562 // 11563 // ChangeToken is a required field 11564 ChangeToken *string `min:"1" type:"string" required:"true"` 11565 11566 // A friendly name or description of the RegexMatchSet. You can't change Name 11567 // after you create a RegexMatchSet. 11568 // 11569 // Name is a required field 11570 Name *string `min:"1" type:"string" required:"true"` 11571 } 11572 11573 // String returns the string representation. 11574 // 11575 // API parameter values that are decorated as "sensitive" in the API will not 11576 // be included in the string output. The member name will be present, but the 11577 // value will be replaced with "sensitive". 11578 func (s CreateRegexMatchSetInput) String() string { 11579 return awsutil.Prettify(s) 11580 } 11581 11582 // GoString returns the string representation. 11583 // 11584 // API parameter values that are decorated as "sensitive" in the API will not 11585 // be included in the string output. The member name will be present, but the 11586 // value will be replaced with "sensitive". 11587 func (s CreateRegexMatchSetInput) GoString() string { 11588 return s.String() 11589 } 11590 11591 // Validate inspects the fields of the type to determine if they are valid. 11592 func (s *CreateRegexMatchSetInput) Validate() error { 11593 invalidParams := request.ErrInvalidParams{Context: "CreateRegexMatchSetInput"} 11594 if s.ChangeToken == nil { 11595 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11596 } 11597 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11598 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11599 } 11600 if s.Name == nil { 11601 invalidParams.Add(request.NewErrParamRequired("Name")) 11602 } 11603 if s.Name != nil && len(*s.Name) < 1 { 11604 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11605 } 11606 11607 if invalidParams.Len() > 0 { 11608 return invalidParams 11609 } 11610 return nil 11611 } 11612 11613 // SetChangeToken sets the ChangeToken field's value. 11614 func (s *CreateRegexMatchSetInput) SetChangeToken(v string) *CreateRegexMatchSetInput { 11615 s.ChangeToken = &v 11616 return s 11617 } 11618 11619 // SetName sets the Name field's value. 11620 func (s *CreateRegexMatchSetInput) SetName(v string) *CreateRegexMatchSetInput { 11621 s.Name = &v 11622 return s 11623 } 11624 11625 type CreateRegexMatchSetOutput struct { 11626 _ struct{} `type:"structure"` 11627 11628 // The ChangeToken that you used to submit the CreateRegexMatchSet request. 11629 // You can also use this value to query the status of the request. For more 11630 // information, see GetChangeTokenStatus. 11631 ChangeToken *string `min:"1" type:"string"` 11632 11633 // A RegexMatchSet that contains no RegexMatchTuple objects. 11634 RegexMatchSet *RegexMatchSet `type:"structure"` 11635 } 11636 11637 // String returns the string representation. 11638 // 11639 // API parameter values that are decorated as "sensitive" in the API will not 11640 // be included in the string output. The member name will be present, but the 11641 // value will be replaced with "sensitive". 11642 func (s CreateRegexMatchSetOutput) String() string { 11643 return awsutil.Prettify(s) 11644 } 11645 11646 // GoString returns the string representation. 11647 // 11648 // API parameter values that are decorated as "sensitive" in the API will not 11649 // be included in the string output. The member name will be present, but the 11650 // value will be replaced with "sensitive". 11651 func (s CreateRegexMatchSetOutput) GoString() string { 11652 return s.String() 11653 } 11654 11655 // SetChangeToken sets the ChangeToken field's value. 11656 func (s *CreateRegexMatchSetOutput) SetChangeToken(v string) *CreateRegexMatchSetOutput { 11657 s.ChangeToken = &v 11658 return s 11659 } 11660 11661 // SetRegexMatchSet sets the RegexMatchSet field's value. 11662 func (s *CreateRegexMatchSetOutput) SetRegexMatchSet(v *RegexMatchSet) *CreateRegexMatchSetOutput { 11663 s.RegexMatchSet = v 11664 return s 11665 } 11666 11667 type CreateRegexPatternSetInput struct { 11668 _ struct{} `type:"structure"` 11669 11670 // The value returned by the most recent call to GetChangeToken. 11671 // 11672 // ChangeToken is a required field 11673 ChangeToken *string `min:"1" type:"string" required:"true"` 11674 11675 // A friendly name or description of the RegexPatternSet. You can't change Name 11676 // after you create a RegexPatternSet. 11677 // 11678 // Name is a required field 11679 Name *string `min:"1" type:"string" required:"true"` 11680 } 11681 11682 // String returns the string representation. 11683 // 11684 // API parameter values that are decorated as "sensitive" in the API will not 11685 // be included in the string output. The member name will be present, but the 11686 // value will be replaced with "sensitive". 11687 func (s CreateRegexPatternSetInput) String() string { 11688 return awsutil.Prettify(s) 11689 } 11690 11691 // GoString returns the string representation. 11692 // 11693 // API parameter values that are decorated as "sensitive" in the API will not 11694 // be included in the string output. The member name will be present, but the 11695 // value will be replaced with "sensitive". 11696 func (s CreateRegexPatternSetInput) GoString() string { 11697 return s.String() 11698 } 11699 11700 // Validate inspects the fields of the type to determine if they are valid. 11701 func (s *CreateRegexPatternSetInput) Validate() error { 11702 invalidParams := request.ErrInvalidParams{Context: "CreateRegexPatternSetInput"} 11703 if s.ChangeToken == nil { 11704 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11705 } 11706 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11707 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11708 } 11709 if s.Name == nil { 11710 invalidParams.Add(request.NewErrParamRequired("Name")) 11711 } 11712 if s.Name != nil && len(*s.Name) < 1 { 11713 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11714 } 11715 11716 if invalidParams.Len() > 0 { 11717 return invalidParams 11718 } 11719 return nil 11720 } 11721 11722 // SetChangeToken sets the ChangeToken field's value. 11723 func (s *CreateRegexPatternSetInput) SetChangeToken(v string) *CreateRegexPatternSetInput { 11724 s.ChangeToken = &v 11725 return s 11726 } 11727 11728 // SetName sets the Name field's value. 11729 func (s *CreateRegexPatternSetInput) SetName(v string) *CreateRegexPatternSetInput { 11730 s.Name = &v 11731 return s 11732 } 11733 11734 type CreateRegexPatternSetOutput struct { 11735 _ struct{} `type:"structure"` 11736 11737 // The ChangeToken that you used to submit the CreateRegexPatternSet request. 11738 // You can also use this value to query the status of the request. For more 11739 // information, see GetChangeTokenStatus. 11740 ChangeToken *string `min:"1" type:"string"` 11741 11742 // A RegexPatternSet that contains no objects. 11743 RegexPatternSet *RegexPatternSet `type:"structure"` 11744 } 11745 11746 // String returns the string representation. 11747 // 11748 // API parameter values that are decorated as "sensitive" in the API will not 11749 // be included in the string output. The member name will be present, but the 11750 // value will be replaced with "sensitive". 11751 func (s CreateRegexPatternSetOutput) String() string { 11752 return awsutil.Prettify(s) 11753 } 11754 11755 // GoString returns the string representation. 11756 // 11757 // API parameter values that are decorated as "sensitive" in the API will not 11758 // be included in the string output. The member name will be present, but the 11759 // value will be replaced with "sensitive". 11760 func (s CreateRegexPatternSetOutput) GoString() string { 11761 return s.String() 11762 } 11763 11764 // SetChangeToken sets the ChangeToken field's value. 11765 func (s *CreateRegexPatternSetOutput) SetChangeToken(v string) *CreateRegexPatternSetOutput { 11766 s.ChangeToken = &v 11767 return s 11768 } 11769 11770 // SetRegexPatternSet sets the RegexPatternSet field's value. 11771 func (s *CreateRegexPatternSetOutput) SetRegexPatternSet(v *RegexPatternSet) *CreateRegexPatternSetOutput { 11772 s.RegexPatternSet = v 11773 return s 11774 } 11775 11776 type CreateRuleGroupInput struct { 11777 _ struct{} `type:"structure"` 11778 11779 // The value returned by the most recent call to GetChangeToken. 11780 // 11781 // ChangeToken is a required field 11782 ChangeToken *string `min:"1" type:"string" required:"true"` 11783 11784 // A friendly name or description for the metrics for this RuleGroup. The name 11785 // can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 11786 // 128 and minimum length one. It can't contain whitespace or metric names reserved 11787 // for AWS WAF, including "All" and "Default_Action." You can't change the name 11788 // of the metric after you create the RuleGroup. 11789 // 11790 // MetricName is a required field 11791 MetricName *string `min:"1" type:"string" required:"true"` 11792 11793 // A friendly name or description of the RuleGroup. You can't change Name after 11794 // you create a RuleGroup. 11795 // 11796 // Name is a required field 11797 Name *string `min:"1" type:"string" required:"true"` 11798 11799 Tags []*Tag `min:"1" type:"list"` 11800 } 11801 11802 // String returns the string representation. 11803 // 11804 // API parameter values that are decorated as "sensitive" in the API will not 11805 // be included in the string output. The member name will be present, but the 11806 // value will be replaced with "sensitive". 11807 func (s CreateRuleGroupInput) String() string { 11808 return awsutil.Prettify(s) 11809 } 11810 11811 // GoString returns the string representation. 11812 // 11813 // API parameter values that are decorated as "sensitive" in the API will not 11814 // be included in the string output. The member name will be present, but the 11815 // value will be replaced with "sensitive". 11816 func (s CreateRuleGroupInput) GoString() string { 11817 return s.String() 11818 } 11819 11820 // Validate inspects the fields of the type to determine if they are valid. 11821 func (s *CreateRuleGroupInput) Validate() error { 11822 invalidParams := request.ErrInvalidParams{Context: "CreateRuleGroupInput"} 11823 if s.ChangeToken == nil { 11824 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11825 } 11826 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11827 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11828 } 11829 if s.MetricName == nil { 11830 invalidParams.Add(request.NewErrParamRequired("MetricName")) 11831 } 11832 if s.MetricName != nil && len(*s.MetricName) < 1 { 11833 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 11834 } 11835 if s.Name == nil { 11836 invalidParams.Add(request.NewErrParamRequired("Name")) 11837 } 11838 if s.Name != nil && len(*s.Name) < 1 { 11839 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11840 } 11841 if s.Tags != nil && len(s.Tags) < 1 { 11842 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 11843 } 11844 if s.Tags != nil { 11845 for i, v := range s.Tags { 11846 if v == nil { 11847 continue 11848 } 11849 if err := v.Validate(); err != nil { 11850 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 11851 } 11852 } 11853 } 11854 11855 if invalidParams.Len() > 0 { 11856 return invalidParams 11857 } 11858 return nil 11859 } 11860 11861 // SetChangeToken sets the ChangeToken field's value. 11862 func (s *CreateRuleGroupInput) SetChangeToken(v string) *CreateRuleGroupInput { 11863 s.ChangeToken = &v 11864 return s 11865 } 11866 11867 // SetMetricName sets the MetricName field's value. 11868 func (s *CreateRuleGroupInput) SetMetricName(v string) *CreateRuleGroupInput { 11869 s.MetricName = &v 11870 return s 11871 } 11872 11873 // SetName sets the Name field's value. 11874 func (s *CreateRuleGroupInput) SetName(v string) *CreateRuleGroupInput { 11875 s.Name = &v 11876 return s 11877 } 11878 11879 // SetTags sets the Tags field's value. 11880 func (s *CreateRuleGroupInput) SetTags(v []*Tag) *CreateRuleGroupInput { 11881 s.Tags = v 11882 return s 11883 } 11884 11885 type CreateRuleGroupOutput struct { 11886 _ struct{} `type:"structure"` 11887 11888 // The ChangeToken that you used to submit the CreateRuleGroup request. You 11889 // can also use this value to query the status of the request. For more information, 11890 // see GetChangeTokenStatus. 11891 ChangeToken *string `min:"1" type:"string"` 11892 11893 // An empty RuleGroup. 11894 RuleGroup *RuleGroup `type:"structure"` 11895 } 11896 11897 // String returns the string representation. 11898 // 11899 // API parameter values that are decorated as "sensitive" in the API will not 11900 // be included in the string output. The member name will be present, but the 11901 // value will be replaced with "sensitive". 11902 func (s CreateRuleGroupOutput) String() string { 11903 return awsutil.Prettify(s) 11904 } 11905 11906 // GoString returns the string representation. 11907 // 11908 // API parameter values that are decorated as "sensitive" in the API will not 11909 // be included in the string output. The member name will be present, but the 11910 // value will be replaced with "sensitive". 11911 func (s CreateRuleGroupOutput) GoString() string { 11912 return s.String() 11913 } 11914 11915 // SetChangeToken sets the ChangeToken field's value. 11916 func (s *CreateRuleGroupOutput) SetChangeToken(v string) *CreateRuleGroupOutput { 11917 s.ChangeToken = &v 11918 return s 11919 } 11920 11921 // SetRuleGroup sets the RuleGroup field's value. 11922 func (s *CreateRuleGroupOutput) SetRuleGroup(v *RuleGroup) *CreateRuleGroupOutput { 11923 s.RuleGroup = v 11924 return s 11925 } 11926 11927 type CreateRuleInput struct { 11928 _ struct{} `type:"structure"` 11929 11930 // The value returned by the most recent call to GetChangeToken. 11931 // 11932 // ChangeToken is a required field 11933 ChangeToken *string `min:"1" type:"string" required:"true"` 11934 11935 // A friendly name or description for the metrics for this Rule. The name can 11936 // contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 11937 // 128 and minimum length one. It can't contain whitespace or metric names reserved 11938 // for AWS WAF, including "All" and "Default_Action." You can't change the name 11939 // of the metric after you create the Rule. 11940 // 11941 // MetricName is a required field 11942 MetricName *string `min:"1" type:"string" required:"true"` 11943 11944 // A friendly name or description of the Rule. You can't change the name of 11945 // a Rule after you create it. 11946 // 11947 // Name is a required field 11948 Name *string `min:"1" type:"string" required:"true"` 11949 11950 Tags []*Tag `min:"1" type:"list"` 11951 } 11952 11953 // String returns the string representation. 11954 // 11955 // API parameter values that are decorated as "sensitive" in the API will not 11956 // be included in the string output. The member name will be present, but the 11957 // value will be replaced with "sensitive". 11958 func (s CreateRuleInput) String() string { 11959 return awsutil.Prettify(s) 11960 } 11961 11962 // GoString returns the string representation. 11963 // 11964 // API parameter values that are decorated as "sensitive" in the API will not 11965 // be included in the string output. The member name will be present, but the 11966 // value will be replaced with "sensitive". 11967 func (s CreateRuleInput) GoString() string { 11968 return s.String() 11969 } 11970 11971 // Validate inspects the fields of the type to determine if they are valid. 11972 func (s *CreateRuleInput) Validate() error { 11973 invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"} 11974 if s.ChangeToken == nil { 11975 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 11976 } 11977 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 11978 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 11979 } 11980 if s.MetricName == nil { 11981 invalidParams.Add(request.NewErrParamRequired("MetricName")) 11982 } 11983 if s.MetricName != nil && len(*s.MetricName) < 1 { 11984 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 11985 } 11986 if s.Name == nil { 11987 invalidParams.Add(request.NewErrParamRequired("Name")) 11988 } 11989 if s.Name != nil && len(*s.Name) < 1 { 11990 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11991 } 11992 if s.Tags != nil && len(s.Tags) < 1 { 11993 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 11994 } 11995 if s.Tags != nil { 11996 for i, v := range s.Tags { 11997 if v == nil { 11998 continue 11999 } 12000 if err := v.Validate(); err != nil { 12001 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12002 } 12003 } 12004 } 12005 12006 if invalidParams.Len() > 0 { 12007 return invalidParams 12008 } 12009 return nil 12010 } 12011 12012 // SetChangeToken sets the ChangeToken field's value. 12013 func (s *CreateRuleInput) SetChangeToken(v string) *CreateRuleInput { 12014 s.ChangeToken = &v 12015 return s 12016 } 12017 12018 // SetMetricName sets the MetricName field's value. 12019 func (s *CreateRuleInput) SetMetricName(v string) *CreateRuleInput { 12020 s.MetricName = &v 12021 return s 12022 } 12023 12024 // SetName sets the Name field's value. 12025 func (s *CreateRuleInput) SetName(v string) *CreateRuleInput { 12026 s.Name = &v 12027 return s 12028 } 12029 12030 // SetTags sets the Tags field's value. 12031 func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput { 12032 s.Tags = v 12033 return s 12034 } 12035 12036 type CreateRuleOutput struct { 12037 _ struct{} `type:"structure"` 12038 12039 // The ChangeToken that you used to submit the CreateRule request. You can also 12040 // use this value to query the status of the request. For more information, 12041 // see GetChangeTokenStatus. 12042 ChangeToken *string `min:"1" type:"string"` 12043 12044 // The Rule returned in the CreateRule response. 12045 Rule *Rule `type:"structure"` 12046 } 12047 12048 // String returns the string representation. 12049 // 12050 // API parameter values that are decorated as "sensitive" in the API will not 12051 // be included in the string output. The member name will be present, but the 12052 // value will be replaced with "sensitive". 12053 func (s CreateRuleOutput) String() string { 12054 return awsutil.Prettify(s) 12055 } 12056 12057 // GoString returns the string representation. 12058 // 12059 // API parameter values that are decorated as "sensitive" in the API will not 12060 // be included in the string output. The member name will be present, but the 12061 // value will be replaced with "sensitive". 12062 func (s CreateRuleOutput) GoString() string { 12063 return s.String() 12064 } 12065 12066 // SetChangeToken sets the ChangeToken field's value. 12067 func (s *CreateRuleOutput) SetChangeToken(v string) *CreateRuleOutput { 12068 s.ChangeToken = &v 12069 return s 12070 } 12071 12072 // SetRule sets the Rule field's value. 12073 func (s *CreateRuleOutput) SetRule(v *Rule) *CreateRuleOutput { 12074 s.Rule = v 12075 return s 12076 } 12077 12078 type CreateSizeConstraintSetInput struct { 12079 _ struct{} `type:"structure"` 12080 12081 // The value returned by the most recent call to GetChangeToken. 12082 // 12083 // ChangeToken is a required field 12084 ChangeToken *string `min:"1" type:"string" required:"true"` 12085 12086 // A friendly name or description of the SizeConstraintSet. You can't change 12087 // Name after you create a SizeConstraintSet. 12088 // 12089 // Name is a required field 12090 Name *string `min:"1" type:"string" required:"true"` 12091 } 12092 12093 // String returns the string representation. 12094 // 12095 // API parameter values that are decorated as "sensitive" in the API will not 12096 // be included in the string output. The member name will be present, but the 12097 // value will be replaced with "sensitive". 12098 func (s CreateSizeConstraintSetInput) String() string { 12099 return awsutil.Prettify(s) 12100 } 12101 12102 // GoString returns the string representation. 12103 // 12104 // API parameter values that are decorated as "sensitive" in the API will not 12105 // be included in the string output. The member name will be present, but the 12106 // value will be replaced with "sensitive". 12107 func (s CreateSizeConstraintSetInput) GoString() string { 12108 return s.String() 12109 } 12110 12111 // Validate inspects the fields of the type to determine if they are valid. 12112 func (s *CreateSizeConstraintSetInput) Validate() error { 12113 invalidParams := request.ErrInvalidParams{Context: "CreateSizeConstraintSetInput"} 12114 if s.ChangeToken == nil { 12115 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12116 } 12117 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12118 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12119 } 12120 if s.Name == nil { 12121 invalidParams.Add(request.NewErrParamRequired("Name")) 12122 } 12123 if s.Name != nil && len(*s.Name) < 1 { 12124 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 12125 } 12126 12127 if invalidParams.Len() > 0 { 12128 return invalidParams 12129 } 12130 return nil 12131 } 12132 12133 // SetChangeToken sets the ChangeToken field's value. 12134 func (s *CreateSizeConstraintSetInput) SetChangeToken(v string) *CreateSizeConstraintSetInput { 12135 s.ChangeToken = &v 12136 return s 12137 } 12138 12139 // SetName sets the Name field's value. 12140 func (s *CreateSizeConstraintSetInput) SetName(v string) *CreateSizeConstraintSetInput { 12141 s.Name = &v 12142 return s 12143 } 12144 12145 type CreateSizeConstraintSetOutput struct { 12146 _ struct{} `type:"structure"` 12147 12148 // The ChangeToken that you used to submit the CreateSizeConstraintSet request. 12149 // You can also use this value to query the status of the request. For more 12150 // information, see GetChangeTokenStatus. 12151 ChangeToken *string `min:"1" type:"string"` 12152 12153 // A SizeConstraintSet that contains no SizeConstraint objects. 12154 SizeConstraintSet *SizeConstraintSet `type:"structure"` 12155 } 12156 12157 // String returns the string representation. 12158 // 12159 // API parameter values that are decorated as "sensitive" in the API will not 12160 // be included in the string output. The member name will be present, but the 12161 // value will be replaced with "sensitive". 12162 func (s CreateSizeConstraintSetOutput) String() string { 12163 return awsutil.Prettify(s) 12164 } 12165 12166 // GoString returns the string representation. 12167 // 12168 // API parameter values that are decorated as "sensitive" in the API will not 12169 // be included in the string output. The member name will be present, but the 12170 // value will be replaced with "sensitive". 12171 func (s CreateSizeConstraintSetOutput) GoString() string { 12172 return s.String() 12173 } 12174 12175 // SetChangeToken sets the ChangeToken field's value. 12176 func (s *CreateSizeConstraintSetOutput) SetChangeToken(v string) *CreateSizeConstraintSetOutput { 12177 s.ChangeToken = &v 12178 return s 12179 } 12180 12181 // SetSizeConstraintSet sets the SizeConstraintSet field's value. 12182 func (s *CreateSizeConstraintSetOutput) SetSizeConstraintSet(v *SizeConstraintSet) *CreateSizeConstraintSetOutput { 12183 s.SizeConstraintSet = v 12184 return s 12185 } 12186 12187 // A request to create a SqlInjectionMatchSet. 12188 type CreateSqlInjectionMatchSetInput struct { 12189 _ struct{} `type:"structure"` 12190 12191 // The value returned by the most recent call to GetChangeToken. 12192 // 12193 // ChangeToken is a required field 12194 ChangeToken *string `min:"1" type:"string" required:"true"` 12195 12196 // A friendly name or description for the SqlInjectionMatchSet that you're creating. 12197 // You can't change Name after you create the SqlInjectionMatchSet. 12198 // 12199 // Name is a required field 12200 Name *string `min:"1" type:"string" required:"true"` 12201 } 12202 12203 // String returns the string representation. 12204 // 12205 // API parameter values that are decorated as "sensitive" in the API will not 12206 // be included in the string output. The member name will be present, but the 12207 // value will be replaced with "sensitive". 12208 func (s CreateSqlInjectionMatchSetInput) String() string { 12209 return awsutil.Prettify(s) 12210 } 12211 12212 // GoString returns the string representation. 12213 // 12214 // API parameter values that are decorated as "sensitive" in the API will not 12215 // be included in the string output. The member name will be present, but the 12216 // value will be replaced with "sensitive". 12217 func (s CreateSqlInjectionMatchSetInput) GoString() string { 12218 return s.String() 12219 } 12220 12221 // Validate inspects the fields of the type to determine if they are valid. 12222 func (s *CreateSqlInjectionMatchSetInput) Validate() error { 12223 invalidParams := request.ErrInvalidParams{Context: "CreateSqlInjectionMatchSetInput"} 12224 if s.ChangeToken == nil { 12225 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12226 } 12227 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12228 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12229 } 12230 if s.Name == nil { 12231 invalidParams.Add(request.NewErrParamRequired("Name")) 12232 } 12233 if s.Name != nil && len(*s.Name) < 1 { 12234 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 12235 } 12236 12237 if invalidParams.Len() > 0 { 12238 return invalidParams 12239 } 12240 return nil 12241 } 12242 12243 // SetChangeToken sets the ChangeToken field's value. 12244 func (s *CreateSqlInjectionMatchSetInput) SetChangeToken(v string) *CreateSqlInjectionMatchSetInput { 12245 s.ChangeToken = &v 12246 return s 12247 } 12248 12249 // SetName sets the Name field's value. 12250 func (s *CreateSqlInjectionMatchSetInput) SetName(v string) *CreateSqlInjectionMatchSetInput { 12251 s.Name = &v 12252 return s 12253 } 12254 12255 // The response to a CreateSqlInjectionMatchSet request. 12256 type CreateSqlInjectionMatchSetOutput struct { 12257 _ struct{} `type:"structure"` 12258 12259 // The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. 12260 // You can also use this value to query the status of the request. For more 12261 // information, see GetChangeTokenStatus. 12262 ChangeToken *string `min:"1" type:"string"` 12263 12264 // A SqlInjectionMatchSet. 12265 SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` 12266 } 12267 12268 // String returns the string representation. 12269 // 12270 // API parameter values that are decorated as "sensitive" in the API will not 12271 // be included in the string output. The member name will be present, but the 12272 // value will be replaced with "sensitive". 12273 func (s CreateSqlInjectionMatchSetOutput) String() string { 12274 return awsutil.Prettify(s) 12275 } 12276 12277 // GoString returns the string representation. 12278 // 12279 // API parameter values that are decorated as "sensitive" in the API will not 12280 // be included in the string output. The member name will be present, but the 12281 // value will be replaced with "sensitive". 12282 func (s CreateSqlInjectionMatchSetOutput) GoString() string { 12283 return s.String() 12284 } 12285 12286 // SetChangeToken sets the ChangeToken field's value. 12287 func (s *CreateSqlInjectionMatchSetOutput) SetChangeToken(v string) *CreateSqlInjectionMatchSetOutput { 12288 s.ChangeToken = &v 12289 return s 12290 } 12291 12292 // SetSqlInjectionMatchSet sets the SqlInjectionMatchSet field's value. 12293 func (s *CreateSqlInjectionMatchSetOutput) SetSqlInjectionMatchSet(v *SqlInjectionMatchSet) *CreateSqlInjectionMatchSetOutput { 12294 s.SqlInjectionMatchSet = v 12295 return s 12296 } 12297 12298 type CreateWebACLInput struct { 12299 _ struct{} `type:"structure"` 12300 12301 // The value returned by the most recent call to GetChangeToken. 12302 // 12303 // ChangeToken is a required field 12304 ChangeToken *string `min:"1" type:"string" required:"true"` 12305 12306 // The action that you want AWS WAF to take when a request doesn't match the 12307 // criteria specified in any of the Rule objects that are associated with the 12308 // WebACL. 12309 // 12310 // DefaultAction is a required field 12311 DefaultAction *WafAction `type:"structure" required:"true"` 12312 12313 // A friendly name or description for the metrics for this WebACL.The name can 12314 // contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 12315 // 128 and minimum length one. It can't contain whitespace or metric names reserved 12316 // for AWS WAF, including "All" and "Default_Action." You can't change MetricName 12317 // after you create the WebACL. 12318 // 12319 // MetricName is a required field 12320 MetricName *string `min:"1" type:"string" required:"true"` 12321 12322 // A friendly name or description of the WebACL. You can't change Name after 12323 // you create the WebACL. 12324 // 12325 // Name is a required field 12326 Name *string `min:"1" type:"string" required:"true"` 12327 12328 Tags []*Tag `min:"1" type:"list"` 12329 } 12330 12331 // String returns the string representation. 12332 // 12333 // API parameter values that are decorated as "sensitive" in the API will not 12334 // be included in the string output. The member name will be present, but the 12335 // value will be replaced with "sensitive". 12336 func (s CreateWebACLInput) String() string { 12337 return awsutil.Prettify(s) 12338 } 12339 12340 // GoString returns the string representation. 12341 // 12342 // API parameter values that are decorated as "sensitive" in the API will not 12343 // be included in the string output. The member name will be present, but the 12344 // value will be replaced with "sensitive". 12345 func (s CreateWebACLInput) GoString() string { 12346 return s.String() 12347 } 12348 12349 // Validate inspects the fields of the type to determine if they are valid. 12350 func (s *CreateWebACLInput) Validate() error { 12351 invalidParams := request.ErrInvalidParams{Context: "CreateWebACLInput"} 12352 if s.ChangeToken == nil { 12353 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12354 } 12355 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12356 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12357 } 12358 if s.DefaultAction == nil { 12359 invalidParams.Add(request.NewErrParamRequired("DefaultAction")) 12360 } 12361 if s.MetricName == nil { 12362 invalidParams.Add(request.NewErrParamRequired("MetricName")) 12363 } 12364 if s.MetricName != nil && len(*s.MetricName) < 1 { 12365 invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) 12366 } 12367 if s.Name == nil { 12368 invalidParams.Add(request.NewErrParamRequired("Name")) 12369 } 12370 if s.Name != nil && len(*s.Name) < 1 { 12371 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 12372 } 12373 if s.Tags != nil && len(s.Tags) < 1 { 12374 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 12375 } 12376 if s.DefaultAction != nil { 12377 if err := s.DefaultAction.Validate(); err != nil { 12378 invalidParams.AddNested("DefaultAction", err.(request.ErrInvalidParams)) 12379 } 12380 } 12381 if s.Tags != nil { 12382 for i, v := range s.Tags { 12383 if v == nil { 12384 continue 12385 } 12386 if err := v.Validate(); err != nil { 12387 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12388 } 12389 } 12390 } 12391 12392 if invalidParams.Len() > 0 { 12393 return invalidParams 12394 } 12395 return nil 12396 } 12397 12398 // SetChangeToken sets the ChangeToken field's value. 12399 func (s *CreateWebACLInput) SetChangeToken(v string) *CreateWebACLInput { 12400 s.ChangeToken = &v 12401 return s 12402 } 12403 12404 // SetDefaultAction sets the DefaultAction field's value. 12405 func (s *CreateWebACLInput) SetDefaultAction(v *WafAction) *CreateWebACLInput { 12406 s.DefaultAction = v 12407 return s 12408 } 12409 12410 // SetMetricName sets the MetricName field's value. 12411 func (s *CreateWebACLInput) SetMetricName(v string) *CreateWebACLInput { 12412 s.MetricName = &v 12413 return s 12414 } 12415 12416 // SetName sets the Name field's value. 12417 func (s *CreateWebACLInput) SetName(v string) *CreateWebACLInput { 12418 s.Name = &v 12419 return s 12420 } 12421 12422 // SetTags sets the Tags field's value. 12423 func (s *CreateWebACLInput) SetTags(v []*Tag) *CreateWebACLInput { 12424 s.Tags = v 12425 return s 12426 } 12427 12428 type CreateWebACLMigrationStackInput struct { 12429 _ struct{} `type:"structure"` 12430 12431 // Indicates whether to exclude entities that can't be migrated or to stop the 12432 // migration. Set this to true to ignore unsupported entities in the web ACL 12433 // during the migration. Otherwise, if AWS WAF encounters unsupported entities, 12434 // it stops the process and throws an exception. 12435 // 12436 // IgnoreUnsupportedType is a required field 12437 IgnoreUnsupportedType *bool `type:"boolean" required:"true"` 12438 12439 // The name of the Amazon S3 bucket to store the CloudFormation template in. 12440 // The S3 bucket must be configured as follows for the migration: 12441 // 12442 // * The bucket name must start with aws-waf-migration-. For example, aws-waf-migration-my-web-acl. 12443 // 12444 // * The bucket must be in the Region where you are deploying the template. 12445 // For example, for a web ACL in us-west-2, you must use an Amazon S3 bucket 12446 // in us-west-2 and you must deploy the template stack to us-west-2. 12447 // 12448 // * The bucket policies must permit the migration process to write data. 12449 // For listings of the bucket policies, see the Examples section. 12450 // 12451 // S3BucketName is a required field 12452 S3BucketName *string `min:"3" type:"string" required:"true"` 12453 12454 // The UUID of the WAF Classic web ACL that you want to migrate to WAF v2. 12455 // 12456 // WebACLId is a required field 12457 WebACLId *string `min:"1" type:"string" required:"true"` 12458 } 12459 12460 // String returns the string representation. 12461 // 12462 // API parameter values that are decorated as "sensitive" in the API will not 12463 // be included in the string output. The member name will be present, but the 12464 // value will be replaced with "sensitive". 12465 func (s CreateWebACLMigrationStackInput) String() string { 12466 return awsutil.Prettify(s) 12467 } 12468 12469 // GoString returns the string representation. 12470 // 12471 // API parameter values that are decorated as "sensitive" in the API will not 12472 // be included in the string output. The member name will be present, but the 12473 // value will be replaced with "sensitive". 12474 func (s CreateWebACLMigrationStackInput) GoString() string { 12475 return s.String() 12476 } 12477 12478 // Validate inspects the fields of the type to determine if they are valid. 12479 func (s *CreateWebACLMigrationStackInput) Validate() error { 12480 invalidParams := request.ErrInvalidParams{Context: "CreateWebACLMigrationStackInput"} 12481 if s.IgnoreUnsupportedType == nil { 12482 invalidParams.Add(request.NewErrParamRequired("IgnoreUnsupportedType")) 12483 } 12484 if s.S3BucketName == nil { 12485 invalidParams.Add(request.NewErrParamRequired("S3BucketName")) 12486 } 12487 if s.S3BucketName != nil && len(*s.S3BucketName) < 3 { 12488 invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3)) 12489 } 12490 if s.WebACLId == nil { 12491 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 12492 } 12493 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 12494 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 12495 } 12496 12497 if invalidParams.Len() > 0 { 12498 return invalidParams 12499 } 12500 return nil 12501 } 12502 12503 // SetIgnoreUnsupportedType sets the IgnoreUnsupportedType field's value. 12504 func (s *CreateWebACLMigrationStackInput) SetIgnoreUnsupportedType(v bool) *CreateWebACLMigrationStackInput { 12505 s.IgnoreUnsupportedType = &v 12506 return s 12507 } 12508 12509 // SetS3BucketName sets the S3BucketName field's value. 12510 func (s *CreateWebACLMigrationStackInput) SetS3BucketName(v string) *CreateWebACLMigrationStackInput { 12511 s.S3BucketName = &v 12512 return s 12513 } 12514 12515 // SetWebACLId sets the WebACLId field's value. 12516 func (s *CreateWebACLMigrationStackInput) SetWebACLId(v string) *CreateWebACLMigrationStackInput { 12517 s.WebACLId = &v 12518 return s 12519 } 12520 12521 type CreateWebACLMigrationStackOutput struct { 12522 _ struct{} `type:"structure"` 12523 12524 // The URL of the template created in Amazon S3. 12525 // 12526 // S3ObjectUrl is a required field 12527 S3ObjectUrl *string `min:"1" type:"string" required:"true"` 12528 } 12529 12530 // String returns the string representation. 12531 // 12532 // API parameter values that are decorated as "sensitive" in the API will not 12533 // be included in the string output. The member name will be present, but the 12534 // value will be replaced with "sensitive". 12535 func (s CreateWebACLMigrationStackOutput) String() string { 12536 return awsutil.Prettify(s) 12537 } 12538 12539 // GoString returns the string representation. 12540 // 12541 // API parameter values that are decorated as "sensitive" in the API will not 12542 // be included in the string output. The member name will be present, but the 12543 // value will be replaced with "sensitive". 12544 func (s CreateWebACLMigrationStackOutput) GoString() string { 12545 return s.String() 12546 } 12547 12548 // SetS3ObjectUrl sets the S3ObjectUrl field's value. 12549 func (s *CreateWebACLMigrationStackOutput) SetS3ObjectUrl(v string) *CreateWebACLMigrationStackOutput { 12550 s.S3ObjectUrl = &v 12551 return s 12552 } 12553 12554 type CreateWebACLOutput struct { 12555 _ struct{} `type:"structure"` 12556 12557 // The ChangeToken that you used to submit the CreateWebACL request. You can 12558 // also use this value to query the status of the request. For more information, 12559 // see GetChangeTokenStatus. 12560 ChangeToken *string `min:"1" type:"string"` 12561 12562 // The WebACL returned in the CreateWebACL response. 12563 WebACL *WebACL `type:"structure"` 12564 } 12565 12566 // String returns the string representation. 12567 // 12568 // API parameter values that are decorated as "sensitive" in the API will not 12569 // be included in the string output. The member name will be present, but the 12570 // value will be replaced with "sensitive". 12571 func (s CreateWebACLOutput) String() string { 12572 return awsutil.Prettify(s) 12573 } 12574 12575 // GoString returns the string representation. 12576 // 12577 // API parameter values that are decorated as "sensitive" in the API will not 12578 // be included in the string output. The member name will be present, but the 12579 // value will be replaced with "sensitive". 12580 func (s CreateWebACLOutput) GoString() string { 12581 return s.String() 12582 } 12583 12584 // SetChangeToken sets the ChangeToken field's value. 12585 func (s *CreateWebACLOutput) SetChangeToken(v string) *CreateWebACLOutput { 12586 s.ChangeToken = &v 12587 return s 12588 } 12589 12590 // SetWebACL sets the WebACL field's value. 12591 func (s *CreateWebACLOutput) SetWebACL(v *WebACL) *CreateWebACLOutput { 12592 s.WebACL = v 12593 return s 12594 } 12595 12596 // A request to create an XssMatchSet. 12597 type CreateXssMatchSetInput struct { 12598 _ struct{} `type:"structure"` 12599 12600 // The value returned by the most recent call to GetChangeToken. 12601 // 12602 // ChangeToken is a required field 12603 ChangeToken *string `min:"1" type:"string" required:"true"` 12604 12605 // A friendly name or description for the XssMatchSet that you're creating. 12606 // You can't change Name after you create the XssMatchSet. 12607 // 12608 // Name is a required field 12609 Name *string `min:"1" type:"string" required:"true"` 12610 } 12611 12612 // String returns the string representation. 12613 // 12614 // API parameter values that are decorated as "sensitive" in the API will not 12615 // be included in the string output. The member name will be present, but the 12616 // value will be replaced with "sensitive". 12617 func (s CreateXssMatchSetInput) String() string { 12618 return awsutil.Prettify(s) 12619 } 12620 12621 // GoString returns the string representation. 12622 // 12623 // API parameter values that are decorated as "sensitive" in the API will not 12624 // be included in the string output. The member name will be present, but the 12625 // value will be replaced with "sensitive". 12626 func (s CreateXssMatchSetInput) GoString() string { 12627 return s.String() 12628 } 12629 12630 // Validate inspects the fields of the type to determine if they are valid. 12631 func (s *CreateXssMatchSetInput) Validate() error { 12632 invalidParams := request.ErrInvalidParams{Context: "CreateXssMatchSetInput"} 12633 if s.ChangeToken == nil { 12634 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12635 } 12636 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12637 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12638 } 12639 if s.Name == nil { 12640 invalidParams.Add(request.NewErrParamRequired("Name")) 12641 } 12642 if s.Name != nil && len(*s.Name) < 1 { 12643 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 12644 } 12645 12646 if invalidParams.Len() > 0 { 12647 return invalidParams 12648 } 12649 return nil 12650 } 12651 12652 // SetChangeToken sets the ChangeToken field's value. 12653 func (s *CreateXssMatchSetInput) SetChangeToken(v string) *CreateXssMatchSetInput { 12654 s.ChangeToken = &v 12655 return s 12656 } 12657 12658 // SetName sets the Name field's value. 12659 func (s *CreateXssMatchSetInput) SetName(v string) *CreateXssMatchSetInput { 12660 s.Name = &v 12661 return s 12662 } 12663 12664 // The response to a CreateXssMatchSet request. 12665 type CreateXssMatchSetOutput struct { 12666 _ struct{} `type:"structure"` 12667 12668 // The ChangeToken that you used to submit the CreateXssMatchSet request. You 12669 // can also use this value to query the status of the request. For more information, 12670 // see GetChangeTokenStatus. 12671 ChangeToken *string `min:"1" type:"string"` 12672 12673 // An XssMatchSet. 12674 XssMatchSet *XssMatchSet `type:"structure"` 12675 } 12676 12677 // String returns the string representation. 12678 // 12679 // API parameter values that are decorated as "sensitive" in the API will not 12680 // be included in the string output. The member name will be present, but the 12681 // value will be replaced with "sensitive". 12682 func (s CreateXssMatchSetOutput) String() string { 12683 return awsutil.Prettify(s) 12684 } 12685 12686 // GoString returns the string representation. 12687 // 12688 // API parameter values that are decorated as "sensitive" in the API will not 12689 // be included in the string output. The member name will be present, but the 12690 // value will be replaced with "sensitive". 12691 func (s CreateXssMatchSetOutput) GoString() string { 12692 return s.String() 12693 } 12694 12695 // SetChangeToken sets the ChangeToken field's value. 12696 func (s *CreateXssMatchSetOutput) SetChangeToken(v string) *CreateXssMatchSetOutput { 12697 s.ChangeToken = &v 12698 return s 12699 } 12700 12701 // SetXssMatchSet sets the XssMatchSet field's value. 12702 func (s *CreateXssMatchSetOutput) SetXssMatchSet(v *XssMatchSet) *CreateXssMatchSetOutput { 12703 s.XssMatchSet = v 12704 return s 12705 } 12706 12707 type DeleteByteMatchSetInput struct { 12708 _ struct{} `type:"structure"` 12709 12710 // The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId 12711 // is returned by CreateByteMatchSet and by ListByteMatchSets. 12712 // 12713 // ByteMatchSetId is a required field 12714 ByteMatchSetId *string `min:"1" type:"string" required:"true"` 12715 12716 // The value returned by the most recent call to GetChangeToken. 12717 // 12718 // ChangeToken is a required field 12719 ChangeToken *string `min:"1" type:"string" required:"true"` 12720 } 12721 12722 // String returns the string representation. 12723 // 12724 // API parameter values that are decorated as "sensitive" in the API will not 12725 // be included in the string output. The member name will be present, but the 12726 // value will be replaced with "sensitive". 12727 func (s DeleteByteMatchSetInput) String() string { 12728 return awsutil.Prettify(s) 12729 } 12730 12731 // GoString returns the string representation. 12732 // 12733 // API parameter values that are decorated as "sensitive" in the API will not 12734 // be included in the string output. The member name will be present, but the 12735 // value will be replaced with "sensitive". 12736 func (s DeleteByteMatchSetInput) GoString() string { 12737 return s.String() 12738 } 12739 12740 // Validate inspects the fields of the type to determine if they are valid. 12741 func (s *DeleteByteMatchSetInput) Validate() error { 12742 invalidParams := request.ErrInvalidParams{Context: "DeleteByteMatchSetInput"} 12743 if s.ByteMatchSetId == nil { 12744 invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) 12745 } 12746 if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { 12747 invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) 12748 } 12749 if s.ChangeToken == nil { 12750 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12751 } 12752 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12753 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12754 } 12755 12756 if invalidParams.Len() > 0 { 12757 return invalidParams 12758 } 12759 return nil 12760 } 12761 12762 // SetByteMatchSetId sets the ByteMatchSetId field's value. 12763 func (s *DeleteByteMatchSetInput) SetByteMatchSetId(v string) *DeleteByteMatchSetInput { 12764 s.ByteMatchSetId = &v 12765 return s 12766 } 12767 12768 // SetChangeToken sets the ChangeToken field's value. 12769 func (s *DeleteByteMatchSetInput) SetChangeToken(v string) *DeleteByteMatchSetInput { 12770 s.ChangeToken = &v 12771 return s 12772 } 12773 12774 type DeleteByteMatchSetOutput struct { 12775 _ struct{} `type:"structure"` 12776 12777 // The ChangeToken that you used to submit the DeleteByteMatchSet request. You 12778 // can also use this value to query the status of the request. For more information, 12779 // see GetChangeTokenStatus. 12780 ChangeToken *string `min:"1" type:"string"` 12781 } 12782 12783 // String returns the string representation. 12784 // 12785 // API parameter values that are decorated as "sensitive" in the API will not 12786 // be included in the string output. The member name will be present, but the 12787 // value will be replaced with "sensitive". 12788 func (s DeleteByteMatchSetOutput) String() string { 12789 return awsutil.Prettify(s) 12790 } 12791 12792 // GoString returns the string representation. 12793 // 12794 // API parameter values that are decorated as "sensitive" in the API will not 12795 // be included in the string output. The member name will be present, but the 12796 // value will be replaced with "sensitive". 12797 func (s DeleteByteMatchSetOutput) GoString() string { 12798 return s.String() 12799 } 12800 12801 // SetChangeToken sets the ChangeToken field's value. 12802 func (s *DeleteByteMatchSetOutput) SetChangeToken(v string) *DeleteByteMatchSetOutput { 12803 s.ChangeToken = &v 12804 return s 12805 } 12806 12807 type DeleteGeoMatchSetInput struct { 12808 _ struct{} `type:"structure"` 12809 12810 // The value returned by the most recent call to GetChangeToken. 12811 // 12812 // ChangeToken is a required field 12813 ChangeToken *string `min:"1" type:"string" required:"true"` 12814 12815 // The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId 12816 // is returned by CreateGeoMatchSet and by ListGeoMatchSets. 12817 // 12818 // GeoMatchSetId is a required field 12819 GeoMatchSetId *string `min:"1" type:"string" required:"true"` 12820 } 12821 12822 // String returns the string representation. 12823 // 12824 // API parameter values that are decorated as "sensitive" in the API will not 12825 // be included in the string output. The member name will be present, but the 12826 // value will be replaced with "sensitive". 12827 func (s DeleteGeoMatchSetInput) String() string { 12828 return awsutil.Prettify(s) 12829 } 12830 12831 // GoString returns the string representation. 12832 // 12833 // API parameter values that are decorated as "sensitive" in the API will not 12834 // be included in the string output. The member name will be present, but the 12835 // value will be replaced with "sensitive". 12836 func (s DeleteGeoMatchSetInput) GoString() string { 12837 return s.String() 12838 } 12839 12840 // Validate inspects the fields of the type to determine if they are valid. 12841 func (s *DeleteGeoMatchSetInput) Validate() error { 12842 invalidParams := request.ErrInvalidParams{Context: "DeleteGeoMatchSetInput"} 12843 if s.ChangeToken == nil { 12844 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12845 } 12846 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12847 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12848 } 12849 if s.GeoMatchSetId == nil { 12850 invalidParams.Add(request.NewErrParamRequired("GeoMatchSetId")) 12851 } 12852 if s.GeoMatchSetId != nil && len(*s.GeoMatchSetId) < 1 { 12853 invalidParams.Add(request.NewErrParamMinLen("GeoMatchSetId", 1)) 12854 } 12855 12856 if invalidParams.Len() > 0 { 12857 return invalidParams 12858 } 12859 return nil 12860 } 12861 12862 // SetChangeToken sets the ChangeToken field's value. 12863 func (s *DeleteGeoMatchSetInput) SetChangeToken(v string) *DeleteGeoMatchSetInput { 12864 s.ChangeToken = &v 12865 return s 12866 } 12867 12868 // SetGeoMatchSetId sets the GeoMatchSetId field's value. 12869 func (s *DeleteGeoMatchSetInput) SetGeoMatchSetId(v string) *DeleteGeoMatchSetInput { 12870 s.GeoMatchSetId = &v 12871 return s 12872 } 12873 12874 type DeleteGeoMatchSetOutput struct { 12875 _ struct{} `type:"structure"` 12876 12877 // The ChangeToken that you used to submit the DeleteGeoMatchSet request. You 12878 // can also use this value to query the status of the request. For more information, 12879 // see GetChangeTokenStatus. 12880 ChangeToken *string `min:"1" type:"string"` 12881 } 12882 12883 // String returns the string representation. 12884 // 12885 // API parameter values that are decorated as "sensitive" in the API will not 12886 // be included in the string output. The member name will be present, but the 12887 // value will be replaced with "sensitive". 12888 func (s DeleteGeoMatchSetOutput) String() string { 12889 return awsutil.Prettify(s) 12890 } 12891 12892 // GoString returns the string representation. 12893 // 12894 // API parameter values that are decorated as "sensitive" in the API will not 12895 // be included in the string output. The member name will be present, but the 12896 // value will be replaced with "sensitive". 12897 func (s DeleteGeoMatchSetOutput) GoString() string { 12898 return s.String() 12899 } 12900 12901 // SetChangeToken sets the ChangeToken field's value. 12902 func (s *DeleteGeoMatchSetOutput) SetChangeToken(v string) *DeleteGeoMatchSetOutput { 12903 s.ChangeToken = &v 12904 return s 12905 } 12906 12907 type DeleteIPSetInput struct { 12908 _ struct{} `type:"structure"` 12909 12910 // The value returned by the most recent call to GetChangeToken. 12911 // 12912 // ChangeToken is a required field 12913 ChangeToken *string `min:"1" type:"string" required:"true"` 12914 12915 // The IPSetId of the IPSet that you want to delete. IPSetId is returned by 12916 // CreateIPSet and by ListIPSets. 12917 // 12918 // IPSetId is a required field 12919 IPSetId *string `min:"1" type:"string" required:"true"` 12920 } 12921 12922 // String returns the string representation. 12923 // 12924 // API parameter values that are decorated as "sensitive" in the API will not 12925 // be included in the string output. The member name will be present, but the 12926 // value will be replaced with "sensitive". 12927 func (s DeleteIPSetInput) String() string { 12928 return awsutil.Prettify(s) 12929 } 12930 12931 // GoString returns the string representation. 12932 // 12933 // API parameter values that are decorated as "sensitive" in the API will not 12934 // be included in the string output. The member name will be present, but the 12935 // value will be replaced with "sensitive". 12936 func (s DeleteIPSetInput) GoString() string { 12937 return s.String() 12938 } 12939 12940 // Validate inspects the fields of the type to determine if they are valid. 12941 func (s *DeleteIPSetInput) Validate() error { 12942 invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"} 12943 if s.ChangeToken == nil { 12944 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 12945 } 12946 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 12947 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 12948 } 12949 if s.IPSetId == nil { 12950 invalidParams.Add(request.NewErrParamRequired("IPSetId")) 12951 } 12952 if s.IPSetId != nil && len(*s.IPSetId) < 1 { 12953 invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) 12954 } 12955 12956 if invalidParams.Len() > 0 { 12957 return invalidParams 12958 } 12959 return nil 12960 } 12961 12962 // SetChangeToken sets the ChangeToken field's value. 12963 func (s *DeleteIPSetInput) SetChangeToken(v string) *DeleteIPSetInput { 12964 s.ChangeToken = &v 12965 return s 12966 } 12967 12968 // SetIPSetId sets the IPSetId field's value. 12969 func (s *DeleteIPSetInput) SetIPSetId(v string) *DeleteIPSetInput { 12970 s.IPSetId = &v 12971 return s 12972 } 12973 12974 type DeleteIPSetOutput struct { 12975 _ struct{} `type:"structure"` 12976 12977 // The ChangeToken that you used to submit the DeleteIPSet request. You can 12978 // also use this value to query the status of the request. For more information, 12979 // see GetChangeTokenStatus. 12980 ChangeToken *string `min:"1" type:"string"` 12981 } 12982 12983 // String returns the string representation. 12984 // 12985 // API parameter values that are decorated as "sensitive" in the API will not 12986 // be included in the string output. The member name will be present, but the 12987 // value will be replaced with "sensitive". 12988 func (s DeleteIPSetOutput) String() string { 12989 return awsutil.Prettify(s) 12990 } 12991 12992 // GoString returns the string representation. 12993 // 12994 // API parameter values that are decorated as "sensitive" in the API will not 12995 // be included in the string output. The member name will be present, but the 12996 // value will be replaced with "sensitive". 12997 func (s DeleteIPSetOutput) GoString() string { 12998 return s.String() 12999 } 13000 13001 // SetChangeToken sets the ChangeToken field's value. 13002 func (s *DeleteIPSetOutput) SetChangeToken(v string) *DeleteIPSetOutput { 13003 s.ChangeToken = &v 13004 return s 13005 } 13006 13007 type DeleteLoggingConfigurationInput struct { 13008 _ struct{} `type:"structure"` 13009 13010 // The Amazon Resource Name (ARN) of the web ACL from which you want to delete 13011 // the LoggingConfiguration. 13012 // 13013 // ResourceArn is a required field 13014 ResourceArn *string `min:"1" type:"string" required:"true"` 13015 } 13016 13017 // String returns the string representation. 13018 // 13019 // API parameter values that are decorated as "sensitive" in the API will not 13020 // be included in the string output. The member name will be present, but the 13021 // value will be replaced with "sensitive". 13022 func (s DeleteLoggingConfigurationInput) String() string { 13023 return awsutil.Prettify(s) 13024 } 13025 13026 // GoString returns the string representation. 13027 // 13028 // API parameter values that are decorated as "sensitive" in the API will not 13029 // be included in the string output. The member name will be present, but the 13030 // value will be replaced with "sensitive". 13031 func (s DeleteLoggingConfigurationInput) GoString() string { 13032 return s.String() 13033 } 13034 13035 // Validate inspects the fields of the type to determine if they are valid. 13036 func (s *DeleteLoggingConfigurationInput) Validate() error { 13037 invalidParams := request.ErrInvalidParams{Context: "DeleteLoggingConfigurationInput"} 13038 if s.ResourceArn == nil { 13039 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 13040 } 13041 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 13042 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 13043 } 13044 13045 if invalidParams.Len() > 0 { 13046 return invalidParams 13047 } 13048 return nil 13049 } 13050 13051 // SetResourceArn sets the ResourceArn field's value. 13052 func (s *DeleteLoggingConfigurationInput) SetResourceArn(v string) *DeleteLoggingConfigurationInput { 13053 s.ResourceArn = &v 13054 return s 13055 } 13056 13057 type DeleteLoggingConfigurationOutput struct { 13058 _ struct{} `type:"structure"` 13059 } 13060 13061 // String returns the string representation. 13062 // 13063 // API parameter values that are decorated as "sensitive" in the API will not 13064 // be included in the string output. The member name will be present, but the 13065 // value will be replaced with "sensitive". 13066 func (s DeleteLoggingConfigurationOutput) String() string { 13067 return awsutil.Prettify(s) 13068 } 13069 13070 // GoString returns the string representation. 13071 // 13072 // API parameter values that are decorated as "sensitive" in the API will not 13073 // be included in the string output. The member name will be present, but the 13074 // value will be replaced with "sensitive". 13075 func (s DeleteLoggingConfigurationOutput) GoString() string { 13076 return s.String() 13077 } 13078 13079 type DeletePermissionPolicyInput struct { 13080 _ struct{} `type:"structure"` 13081 13082 // The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete 13083 // the policy. 13084 // 13085 // The user making the request must be the owner of the RuleGroup. 13086 // 13087 // ResourceArn is a required field 13088 ResourceArn *string `min:"1" type:"string" required:"true"` 13089 } 13090 13091 // String returns the string representation. 13092 // 13093 // API parameter values that are decorated as "sensitive" in the API will not 13094 // be included in the string output. The member name will be present, but the 13095 // value will be replaced with "sensitive". 13096 func (s DeletePermissionPolicyInput) String() string { 13097 return awsutil.Prettify(s) 13098 } 13099 13100 // GoString returns the string representation. 13101 // 13102 // API parameter values that are decorated as "sensitive" in the API will not 13103 // be included in the string output. The member name will be present, but the 13104 // value will be replaced with "sensitive". 13105 func (s DeletePermissionPolicyInput) GoString() string { 13106 return s.String() 13107 } 13108 13109 // Validate inspects the fields of the type to determine if they are valid. 13110 func (s *DeletePermissionPolicyInput) Validate() error { 13111 invalidParams := request.ErrInvalidParams{Context: "DeletePermissionPolicyInput"} 13112 if s.ResourceArn == nil { 13113 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 13114 } 13115 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 13116 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 13117 } 13118 13119 if invalidParams.Len() > 0 { 13120 return invalidParams 13121 } 13122 return nil 13123 } 13124 13125 // SetResourceArn sets the ResourceArn field's value. 13126 func (s *DeletePermissionPolicyInput) SetResourceArn(v string) *DeletePermissionPolicyInput { 13127 s.ResourceArn = &v 13128 return s 13129 } 13130 13131 type DeletePermissionPolicyOutput struct { 13132 _ struct{} `type:"structure"` 13133 } 13134 13135 // String returns the string representation. 13136 // 13137 // API parameter values that are decorated as "sensitive" in the API will not 13138 // be included in the string output. The member name will be present, but the 13139 // value will be replaced with "sensitive". 13140 func (s DeletePermissionPolicyOutput) String() string { 13141 return awsutil.Prettify(s) 13142 } 13143 13144 // GoString returns the string representation. 13145 // 13146 // API parameter values that are decorated as "sensitive" in the API will not 13147 // be included in the string output. The member name will be present, but the 13148 // value will be replaced with "sensitive". 13149 func (s DeletePermissionPolicyOutput) GoString() string { 13150 return s.String() 13151 } 13152 13153 type DeleteRateBasedRuleInput struct { 13154 _ struct{} `type:"structure"` 13155 13156 // The value returned by the most recent call to GetChangeToken. 13157 // 13158 // ChangeToken is a required field 13159 ChangeToken *string `min:"1" type:"string" required:"true"` 13160 13161 // The RuleId of the RateBasedRule that you want to delete. RuleId is returned 13162 // by CreateRateBasedRule and by ListRateBasedRules. 13163 // 13164 // RuleId is a required field 13165 RuleId *string `min:"1" type:"string" required:"true"` 13166 } 13167 13168 // String returns the string representation. 13169 // 13170 // API parameter values that are decorated as "sensitive" in the API will not 13171 // be included in the string output. The member name will be present, but the 13172 // value will be replaced with "sensitive". 13173 func (s DeleteRateBasedRuleInput) String() string { 13174 return awsutil.Prettify(s) 13175 } 13176 13177 // GoString returns the string representation. 13178 // 13179 // API parameter values that are decorated as "sensitive" in the API will not 13180 // be included in the string output. The member name will be present, but the 13181 // value will be replaced with "sensitive". 13182 func (s DeleteRateBasedRuleInput) GoString() string { 13183 return s.String() 13184 } 13185 13186 // Validate inspects the fields of the type to determine if they are valid. 13187 func (s *DeleteRateBasedRuleInput) Validate() error { 13188 invalidParams := request.ErrInvalidParams{Context: "DeleteRateBasedRuleInput"} 13189 if s.ChangeToken == nil { 13190 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13191 } 13192 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13193 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13194 } 13195 if s.RuleId == nil { 13196 invalidParams.Add(request.NewErrParamRequired("RuleId")) 13197 } 13198 if s.RuleId != nil && len(*s.RuleId) < 1 { 13199 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 13200 } 13201 13202 if invalidParams.Len() > 0 { 13203 return invalidParams 13204 } 13205 return nil 13206 } 13207 13208 // SetChangeToken sets the ChangeToken field's value. 13209 func (s *DeleteRateBasedRuleInput) SetChangeToken(v string) *DeleteRateBasedRuleInput { 13210 s.ChangeToken = &v 13211 return s 13212 } 13213 13214 // SetRuleId sets the RuleId field's value. 13215 func (s *DeleteRateBasedRuleInput) SetRuleId(v string) *DeleteRateBasedRuleInput { 13216 s.RuleId = &v 13217 return s 13218 } 13219 13220 type DeleteRateBasedRuleOutput struct { 13221 _ struct{} `type:"structure"` 13222 13223 // The ChangeToken that you used to submit the DeleteRateBasedRule request. 13224 // You can also use this value to query the status of the request. For more 13225 // information, see GetChangeTokenStatus. 13226 ChangeToken *string `min:"1" type:"string"` 13227 } 13228 13229 // String returns the string representation. 13230 // 13231 // API parameter values that are decorated as "sensitive" in the API will not 13232 // be included in the string output. The member name will be present, but the 13233 // value will be replaced with "sensitive". 13234 func (s DeleteRateBasedRuleOutput) String() string { 13235 return awsutil.Prettify(s) 13236 } 13237 13238 // GoString returns the string representation. 13239 // 13240 // API parameter values that are decorated as "sensitive" in the API will not 13241 // be included in the string output. The member name will be present, but the 13242 // value will be replaced with "sensitive". 13243 func (s DeleteRateBasedRuleOutput) GoString() string { 13244 return s.String() 13245 } 13246 13247 // SetChangeToken sets the ChangeToken field's value. 13248 func (s *DeleteRateBasedRuleOutput) SetChangeToken(v string) *DeleteRateBasedRuleOutput { 13249 s.ChangeToken = &v 13250 return s 13251 } 13252 13253 type DeleteRegexMatchSetInput struct { 13254 _ struct{} `type:"structure"` 13255 13256 // The value returned by the most recent call to GetChangeToken. 13257 // 13258 // ChangeToken is a required field 13259 ChangeToken *string `min:"1" type:"string" required:"true"` 13260 13261 // The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId 13262 // is returned by CreateRegexMatchSet and by ListRegexMatchSets. 13263 // 13264 // RegexMatchSetId is a required field 13265 RegexMatchSetId *string `min:"1" type:"string" required:"true"` 13266 } 13267 13268 // String returns the string representation. 13269 // 13270 // API parameter values that are decorated as "sensitive" in the API will not 13271 // be included in the string output. The member name will be present, but the 13272 // value will be replaced with "sensitive". 13273 func (s DeleteRegexMatchSetInput) String() string { 13274 return awsutil.Prettify(s) 13275 } 13276 13277 // GoString returns the string representation. 13278 // 13279 // API parameter values that are decorated as "sensitive" in the API will not 13280 // be included in the string output. The member name will be present, but the 13281 // value will be replaced with "sensitive". 13282 func (s DeleteRegexMatchSetInput) GoString() string { 13283 return s.String() 13284 } 13285 13286 // Validate inspects the fields of the type to determine if they are valid. 13287 func (s *DeleteRegexMatchSetInput) Validate() error { 13288 invalidParams := request.ErrInvalidParams{Context: "DeleteRegexMatchSetInput"} 13289 if s.ChangeToken == nil { 13290 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13291 } 13292 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13293 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13294 } 13295 if s.RegexMatchSetId == nil { 13296 invalidParams.Add(request.NewErrParamRequired("RegexMatchSetId")) 13297 } 13298 if s.RegexMatchSetId != nil && len(*s.RegexMatchSetId) < 1 { 13299 invalidParams.Add(request.NewErrParamMinLen("RegexMatchSetId", 1)) 13300 } 13301 13302 if invalidParams.Len() > 0 { 13303 return invalidParams 13304 } 13305 return nil 13306 } 13307 13308 // SetChangeToken sets the ChangeToken field's value. 13309 func (s *DeleteRegexMatchSetInput) SetChangeToken(v string) *DeleteRegexMatchSetInput { 13310 s.ChangeToken = &v 13311 return s 13312 } 13313 13314 // SetRegexMatchSetId sets the RegexMatchSetId field's value. 13315 func (s *DeleteRegexMatchSetInput) SetRegexMatchSetId(v string) *DeleteRegexMatchSetInput { 13316 s.RegexMatchSetId = &v 13317 return s 13318 } 13319 13320 type DeleteRegexMatchSetOutput struct { 13321 _ struct{} `type:"structure"` 13322 13323 // The ChangeToken that you used to submit the DeleteRegexMatchSet request. 13324 // You can also use this value to query the status of the request. For more 13325 // information, see GetChangeTokenStatus. 13326 ChangeToken *string `min:"1" type:"string"` 13327 } 13328 13329 // String returns the string representation. 13330 // 13331 // API parameter values that are decorated as "sensitive" in the API will not 13332 // be included in the string output. The member name will be present, but the 13333 // value will be replaced with "sensitive". 13334 func (s DeleteRegexMatchSetOutput) String() string { 13335 return awsutil.Prettify(s) 13336 } 13337 13338 // GoString returns the string representation. 13339 // 13340 // API parameter values that are decorated as "sensitive" in the API will not 13341 // be included in the string output. The member name will be present, but the 13342 // value will be replaced with "sensitive". 13343 func (s DeleteRegexMatchSetOutput) GoString() string { 13344 return s.String() 13345 } 13346 13347 // SetChangeToken sets the ChangeToken field's value. 13348 func (s *DeleteRegexMatchSetOutput) SetChangeToken(v string) *DeleteRegexMatchSetOutput { 13349 s.ChangeToken = &v 13350 return s 13351 } 13352 13353 type DeleteRegexPatternSetInput struct { 13354 _ struct{} `type:"structure"` 13355 13356 // The value returned by the most recent call to GetChangeToken. 13357 // 13358 // ChangeToken is a required field 13359 ChangeToken *string `min:"1" type:"string" required:"true"` 13360 13361 // The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId 13362 // is returned by CreateRegexPatternSet and by ListRegexPatternSets. 13363 // 13364 // RegexPatternSetId is a required field 13365 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 13366 } 13367 13368 // String returns the string representation. 13369 // 13370 // API parameter values that are decorated as "sensitive" in the API will not 13371 // be included in the string output. The member name will be present, but the 13372 // value will be replaced with "sensitive". 13373 func (s DeleteRegexPatternSetInput) String() string { 13374 return awsutil.Prettify(s) 13375 } 13376 13377 // GoString returns the string representation. 13378 // 13379 // API parameter values that are decorated as "sensitive" in the API will not 13380 // be included in the string output. The member name will be present, but the 13381 // value will be replaced with "sensitive". 13382 func (s DeleteRegexPatternSetInput) GoString() string { 13383 return s.String() 13384 } 13385 13386 // Validate inspects the fields of the type to determine if they are valid. 13387 func (s *DeleteRegexPatternSetInput) Validate() error { 13388 invalidParams := request.ErrInvalidParams{Context: "DeleteRegexPatternSetInput"} 13389 if s.ChangeToken == nil { 13390 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13391 } 13392 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13393 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13394 } 13395 if s.RegexPatternSetId == nil { 13396 invalidParams.Add(request.NewErrParamRequired("RegexPatternSetId")) 13397 } 13398 if s.RegexPatternSetId != nil && len(*s.RegexPatternSetId) < 1 { 13399 invalidParams.Add(request.NewErrParamMinLen("RegexPatternSetId", 1)) 13400 } 13401 13402 if invalidParams.Len() > 0 { 13403 return invalidParams 13404 } 13405 return nil 13406 } 13407 13408 // SetChangeToken sets the ChangeToken field's value. 13409 func (s *DeleteRegexPatternSetInput) SetChangeToken(v string) *DeleteRegexPatternSetInput { 13410 s.ChangeToken = &v 13411 return s 13412 } 13413 13414 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 13415 func (s *DeleteRegexPatternSetInput) SetRegexPatternSetId(v string) *DeleteRegexPatternSetInput { 13416 s.RegexPatternSetId = &v 13417 return s 13418 } 13419 13420 type DeleteRegexPatternSetOutput struct { 13421 _ struct{} `type:"structure"` 13422 13423 // The ChangeToken that you used to submit the DeleteRegexPatternSet request. 13424 // You can also use this value to query the status of the request. For more 13425 // information, see GetChangeTokenStatus. 13426 ChangeToken *string `min:"1" type:"string"` 13427 } 13428 13429 // String returns the string representation. 13430 // 13431 // API parameter values that are decorated as "sensitive" in the API will not 13432 // be included in the string output. The member name will be present, but the 13433 // value will be replaced with "sensitive". 13434 func (s DeleteRegexPatternSetOutput) String() string { 13435 return awsutil.Prettify(s) 13436 } 13437 13438 // GoString returns the string representation. 13439 // 13440 // API parameter values that are decorated as "sensitive" in the API will not 13441 // be included in the string output. The member name will be present, but the 13442 // value will be replaced with "sensitive". 13443 func (s DeleteRegexPatternSetOutput) GoString() string { 13444 return s.String() 13445 } 13446 13447 // SetChangeToken sets the ChangeToken field's value. 13448 func (s *DeleteRegexPatternSetOutput) SetChangeToken(v string) *DeleteRegexPatternSetOutput { 13449 s.ChangeToken = &v 13450 return s 13451 } 13452 13453 type DeleteRuleGroupInput struct { 13454 _ struct{} `type:"structure"` 13455 13456 // The value returned by the most recent call to GetChangeToken. 13457 // 13458 // ChangeToken is a required field 13459 ChangeToken *string `min:"1" type:"string" required:"true"` 13460 13461 // The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is 13462 // returned by CreateRuleGroup and by ListRuleGroups. 13463 // 13464 // RuleGroupId is a required field 13465 RuleGroupId *string `min:"1" type:"string" required:"true"` 13466 } 13467 13468 // String returns the string representation. 13469 // 13470 // API parameter values that are decorated as "sensitive" in the API will not 13471 // be included in the string output. The member name will be present, but the 13472 // value will be replaced with "sensitive". 13473 func (s DeleteRuleGroupInput) String() string { 13474 return awsutil.Prettify(s) 13475 } 13476 13477 // GoString returns the string representation. 13478 // 13479 // API parameter values that are decorated as "sensitive" in the API will not 13480 // be included in the string output. The member name will be present, but the 13481 // value will be replaced with "sensitive". 13482 func (s DeleteRuleGroupInput) GoString() string { 13483 return s.String() 13484 } 13485 13486 // Validate inspects the fields of the type to determine if they are valid. 13487 func (s *DeleteRuleGroupInput) Validate() error { 13488 invalidParams := request.ErrInvalidParams{Context: "DeleteRuleGroupInput"} 13489 if s.ChangeToken == nil { 13490 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13491 } 13492 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13493 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13494 } 13495 if s.RuleGroupId == nil { 13496 invalidParams.Add(request.NewErrParamRequired("RuleGroupId")) 13497 } 13498 if s.RuleGroupId != nil && len(*s.RuleGroupId) < 1 { 13499 invalidParams.Add(request.NewErrParamMinLen("RuleGroupId", 1)) 13500 } 13501 13502 if invalidParams.Len() > 0 { 13503 return invalidParams 13504 } 13505 return nil 13506 } 13507 13508 // SetChangeToken sets the ChangeToken field's value. 13509 func (s *DeleteRuleGroupInput) SetChangeToken(v string) *DeleteRuleGroupInput { 13510 s.ChangeToken = &v 13511 return s 13512 } 13513 13514 // SetRuleGroupId sets the RuleGroupId field's value. 13515 func (s *DeleteRuleGroupInput) SetRuleGroupId(v string) *DeleteRuleGroupInput { 13516 s.RuleGroupId = &v 13517 return s 13518 } 13519 13520 type DeleteRuleGroupOutput struct { 13521 _ struct{} `type:"structure"` 13522 13523 // The ChangeToken that you used to submit the DeleteRuleGroup request. You 13524 // can also use this value to query the status of the request. For more information, 13525 // see GetChangeTokenStatus. 13526 ChangeToken *string `min:"1" type:"string"` 13527 } 13528 13529 // String returns the string representation. 13530 // 13531 // API parameter values that are decorated as "sensitive" in the API will not 13532 // be included in the string output. The member name will be present, but the 13533 // value will be replaced with "sensitive". 13534 func (s DeleteRuleGroupOutput) String() string { 13535 return awsutil.Prettify(s) 13536 } 13537 13538 // GoString returns the string representation. 13539 // 13540 // API parameter values that are decorated as "sensitive" in the API will not 13541 // be included in the string output. The member name will be present, but the 13542 // value will be replaced with "sensitive". 13543 func (s DeleteRuleGroupOutput) GoString() string { 13544 return s.String() 13545 } 13546 13547 // SetChangeToken sets the ChangeToken field's value. 13548 func (s *DeleteRuleGroupOutput) SetChangeToken(v string) *DeleteRuleGroupOutput { 13549 s.ChangeToken = &v 13550 return s 13551 } 13552 13553 type DeleteRuleInput struct { 13554 _ struct{} `type:"structure"` 13555 13556 // The value returned by the most recent call to GetChangeToken. 13557 // 13558 // ChangeToken is a required field 13559 ChangeToken *string `min:"1" type:"string" required:"true"` 13560 13561 // The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule 13562 // and by ListRules. 13563 // 13564 // RuleId is a required field 13565 RuleId *string `min:"1" type:"string" required:"true"` 13566 } 13567 13568 // String returns the string representation. 13569 // 13570 // API parameter values that are decorated as "sensitive" in the API will not 13571 // be included in the string output. The member name will be present, but the 13572 // value will be replaced with "sensitive". 13573 func (s DeleteRuleInput) String() string { 13574 return awsutil.Prettify(s) 13575 } 13576 13577 // GoString returns the string representation. 13578 // 13579 // API parameter values that are decorated as "sensitive" in the API will not 13580 // be included in the string output. The member name will be present, but the 13581 // value will be replaced with "sensitive". 13582 func (s DeleteRuleInput) GoString() string { 13583 return s.String() 13584 } 13585 13586 // Validate inspects the fields of the type to determine if they are valid. 13587 func (s *DeleteRuleInput) Validate() error { 13588 invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"} 13589 if s.ChangeToken == nil { 13590 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13591 } 13592 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13593 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13594 } 13595 if s.RuleId == nil { 13596 invalidParams.Add(request.NewErrParamRequired("RuleId")) 13597 } 13598 if s.RuleId != nil && len(*s.RuleId) < 1 { 13599 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 13600 } 13601 13602 if invalidParams.Len() > 0 { 13603 return invalidParams 13604 } 13605 return nil 13606 } 13607 13608 // SetChangeToken sets the ChangeToken field's value. 13609 func (s *DeleteRuleInput) SetChangeToken(v string) *DeleteRuleInput { 13610 s.ChangeToken = &v 13611 return s 13612 } 13613 13614 // SetRuleId sets the RuleId field's value. 13615 func (s *DeleteRuleInput) SetRuleId(v string) *DeleteRuleInput { 13616 s.RuleId = &v 13617 return s 13618 } 13619 13620 type DeleteRuleOutput struct { 13621 _ struct{} `type:"structure"` 13622 13623 // The ChangeToken that you used to submit the DeleteRule request. You can also 13624 // use this value to query the status of the request. For more information, 13625 // see GetChangeTokenStatus. 13626 ChangeToken *string `min:"1" type:"string"` 13627 } 13628 13629 // String returns the string representation. 13630 // 13631 // API parameter values that are decorated as "sensitive" in the API will not 13632 // be included in the string output. The member name will be present, but the 13633 // value will be replaced with "sensitive". 13634 func (s DeleteRuleOutput) String() string { 13635 return awsutil.Prettify(s) 13636 } 13637 13638 // GoString returns the string representation. 13639 // 13640 // API parameter values that are decorated as "sensitive" in the API will not 13641 // be included in the string output. The member name will be present, but the 13642 // value will be replaced with "sensitive". 13643 func (s DeleteRuleOutput) GoString() string { 13644 return s.String() 13645 } 13646 13647 // SetChangeToken sets the ChangeToken field's value. 13648 func (s *DeleteRuleOutput) SetChangeToken(v string) *DeleteRuleOutput { 13649 s.ChangeToken = &v 13650 return s 13651 } 13652 13653 type DeleteSizeConstraintSetInput struct { 13654 _ struct{} `type:"structure"` 13655 13656 // The value returned by the most recent call to GetChangeToken. 13657 // 13658 // ChangeToken is a required field 13659 ChangeToken *string `min:"1" type:"string" required:"true"` 13660 13661 // The SizeConstraintSetId of the SizeConstraintSet that you want to delete. 13662 // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. 13663 // 13664 // SizeConstraintSetId is a required field 13665 SizeConstraintSetId *string `min:"1" type:"string" required:"true"` 13666 } 13667 13668 // String returns the string representation. 13669 // 13670 // API parameter values that are decorated as "sensitive" in the API will not 13671 // be included in the string output. The member name will be present, but the 13672 // value will be replaced with "sensitive". 13673 func (s DeleteSizeConstraintSetInput) String() string { 13674 return awsutil.Prettify(s) 13675 } 13676 13677 // GoString returns the string representation. 13678 // 13679 // API parameter values that are decorated as "sensitive" in the API will not 13680 // be included in the string output. The member name will be present, but the 13681 // value will be replaced with "sensitive". 13682 func (s DeleteSizeConstraintSetInput) GoString() string { 13683 return s.String() 13684 } 13685 13686 // Validate inspects the fields of the type to determine if they are valid. 13687 func (s *DeleteSizeConstraintSetInput) Validate() error { 13688 invalidParams := request.ErrInvalidParams{Context: "DeleteSizeConstraintSetInput"} 13689 if s.ChangeToken == nil { 13690 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13691 } 13692 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13693 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13694 } 13695 if s.SizeConstraintSetId == nil { 13696 invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) 13697 } 13698 if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { 13699 invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) 13700 } 13701 13702 if invalidParams.Len() > 0 { 13703 return invalidParams 13704 } 13705 return nil 13706 } 13707 13708 // SetChangeToken sets the ChangeToken field's value. 13709 func (s *DeleteSizeConstraintSetInput) SetChangeToken(v string) *DeleteSizeConstraintSetInput { 13710 s.ChangeToken = &v 13711 return s 13712 } 13713 13714 // SetSizeConstraintSetId sets the SizeConstraintSetId field's value. 13715 func (s *DeleteSizeConstraintSetInput) SetSizeConstraintSetId(v string) *DeleteSizeConstraintSetInput { 13716 s.SizeConstraintSetId = &v 13717 return s 13718 } 13719 13720 type DeleteSizeConstraintSetOutput struct { 13721 _ struct{} `type:"structure"` 13722 13723 // The ChangeToken that you used to submit the DeleteSizeConstraintSet request. 13724 // You can also use this value to query the status of the request. For more 13725 // information, see GetChangeTokenStatus. 13726 ChangeToken *string `min:"1" type:"string"` 13727 } 13728 13729 // String returns the string representation. 13730 // 13731 // API parameter values that are decorated as "sensitive" in the API will not 13732 // be included in the string output. The member name will be present, but the 13733 // value will be replaced with "sensitive". 13734 func (s DeleteSizeConstraintSetOutput) String() string { 13735 return awsutil.Prettify(s) 13736 } 13737 13738 // GoString returns the string representation. 13739 // 13740 // API parameter values that are decorated as "sensitive" in the API will not 13741 // be included in the string output. The member name will be present, but the 13742 // value will be replaced with "sensitive". 13743 func (s DeleteSizeConstraintSetOutput) GoString() string { 13744 return s.String() 13745 } 13746 13747 // SetChangeToken sets the ChangeToken field's value. 13748 func (s *DeleteSizeConstraintSetOutput) SetChangeToken(v string) *DeleteSizeConstraintSetOutput { 13749 s.ChangeToken = &v 13750 return s 13751 } 13752 13753 // A request to delete a SqlInjectionMatchSet from AWS WAF. 13754 type DeleteSqlInjectionMatchSetInput struct { 13755 _ struct{} `type:"structure"` 13756 13757 // The value returned by the most recent call to GetChangeToken. 13758 // 13759 // ChangeToken is a required field 13760 ChangeToken *string `min:"1" type:"string" required:"true"` 13761 13762 // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. 13763 // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. 13764 // 13765 // SqlInjectionMatchSetId is a required field 13766 SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` 13767 } 13768 13769 // String returns the string representation. 13770 // 13771 // API parameter values that are decorated as "sensitive" in the API will not 13772 // be included in the string output. The member name will be present, but the 13773 // value will be replaced with "sensitive". 13774 func (s DeleteSqlInjectionMatchSetInput) String() string { 13775 return awsutil.Prettify(s) 13776 } 13777 13778 // GoString returns the string representation. 13779 // 13780 // API parameter values that are decorated as "sensitive" in the API will not 13781 // be included in the string output. The member name will be present, but the 13782 // value will be replaced with "sensitive". 13783 func (s DeleteSqlInjectionMatchSetInput) GoString() string { 13784 return s.String() 13785 } 13786 13787 // Validate inspects the fields of the type to determine if they are valid. 13788 func (s *DeleteSqlInjectionMatchSetInput) Validate() error { 13789 invalidParams := request.ErrInvalidParams{Context: "DeleteSqlInjectionMatchSetInput"} 13790 if s.ChangeToken == nil { 13791 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13792 } 13793 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13794 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13795 } 13796 if s.SqlInjectionMatchSetId == nil { 13797 invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) 13798 } 13799 if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { 13800 invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) 13801 } 13802 13803 if invalidParams.Len() > 0 { 13804 return invalidParams 13805 } 13806 return nil 13807 } 13808 13809 // SetChangeToken sets the ChangeToken field's value. 13810 func (s *DeleteSqlInjectionMatchSetInput) SetChangeToken(v string) *DeleteSqlInjectionMatchSetInput { 13811 s.ChangeToken = &v 13812 return s 13813 } 13814 13815 // SetSqlInjectionMatchSetId sets the SqlInjectionMatchSetId field's value. 13816 func (s *DeleteSqlInjectionMatchSetInput) SetSqlInjectionMatchSetId(v string) *DeleteSqlInjectionMatchSetInput { 13817 s.SqlInjectionMatchSetId = &v 13818 return s 13819 } 13820 13821 // The response to a request to delete a SqlInjectionMatchSet from AWS WAF. 13822 type DeleteSqlInjectionMatchSetOutput struct { 13823 _ struct{} `type:"structure"` 13824 13825 // The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. 13826 // You can also use this value to query the status of the request. For more 13827 // information, see GetChangeTokenStatus. 13828 ChangeToken *string `min:"1" type:"string"` 13829 } 13830 13831 // String returns the string representation. 13832 // 13833 // API parameter values that are decorated as "sensitive" in the API will not 13834 // be included in the string output. The member name will be present, but the 13835 // value will be replaced with "sensitive". 13836 func (s DeleteSqlInjectionMatchSetOutput) String() string { 13837 return awsutil.Prettify(s) 13838 } 13839 13840 // GoString returns the string representation. 13841 // 13842 // API parameter values that are decorated as "sensitive" in the API will not 13843 // be included in the string output. The member name will be present, but the 13844 // value will be replaced with "sensitive". 13845 func (s DeleteSqlInjectionMatchSetOutput) GoString() string { 13846 return s.String() 13847 } 13848 13849 // SetChangeToken sets the ChangeToken field's value. 13850 func (s *DeleteSqlInjectionMatchSetOutput) SetChangeToken(v string) *DeleteSqlInjectionMatchSetOutput { 13851 s.ChangeToken = &v 13852 return s 13853 } 13854 13855 type DeleteWebACLInput struct { 13856 _ struct{} `type:"structure"` 13857 13858 // The value returned by the most recent call to GetChangeToken. 13859 // 13860 // ChangeToken is a required field 13861 ChangeToken *string `min:"1" type:"string" required:"true"` 13862 13863 // The WebACLId of the WebACL that you want to delete. WebACLId is returned 13864 // by CreateWebACL and by ListWebACLs. 13865 // 13866 // WebACLId is a required field 13867 WebACLId *string `min:"1" type:"string" required:"true"` 13868 } 13869 13870 // String returns the string representation. 13871 // 13872 // API parameter values that are decorated as "sensitive" in the API will not 13873 // be included in the string output. The member name will be present, but the 13874 // value will be replaced with "sensitive". 13875 func (s DeleteWebACLInput) String() string { 13876 return awsutil.Prettify(s) 13877 } 13878 13879 // GoString returns the string representation. 13880 // 13881 // API parameter values that are decorated as "sensitive" in the API will not 13882 // be included in the string output. The member name will be present, but the 13883 // value will be replaced with "sensitive". 13884 func (s DeleteWebACLInput) GoString() string { 13885 return s.String() 13886 } 13887 13888 // Validate inspects the fields of the type to determine if they are valid. 13889 func (s *DeleteWebACLInput) Validate() error { 13890 invalidParams := request.ErrInvalidParams{Context: "DeleteWebACLInput"} 13891 if s.ChangeToken == nil { 13892 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13893 } 13894 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13895 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13896 } 13897 if s.WebACLId == nil { 13898 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 13899 } 13900 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 13901 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 13902 } 13903 13904 if invalidParams.Len() > 0 { 13905 return invalidParams 13906 } 13907 return nil 13908 } 13909 13910 // SetChangeToken sets the ChangeToken field's value. 13911 func (s *DeleteWebACLInput) SetChangeToken(v string) *DeleteWebACLInput { 13912 s.ChangeToken = &v 13913 return s 13914 } 13915 13916 // SetWebACLId sets the WebACLId field's value. 13917 func (s *DeleteWebACLInput) SetWebACLId(v string) *DeleteWebACLInput { 13918 s.WebACLId = &v 13919 return s 13920 } 13921 13922 type DeleteWebACLOutput struct { 13923 _ struct{} `type:"structure"` 13924 13925 // The ChangeToken that you used to submit the DeleteWebACL request. You can 13926 // also use this value to query the status of the request. For more information, 13927 // see GetChangeTokenStatus. 13928 ChangeToken *string `min:"1" type:"string"` 13929 } 13930 13931 // String returns the string representation. 13932 // 13933 // API parameter values that are decorated as "sensitive" in the API will not 13934 // be included in the string output. The member name will be present, but the 13935 // value will be replaced with "sensitive". 13936 func (s DeleteWebACLOutput) String() string { 13937 return awsutil.Prettify(s) 13938 } 13939 13940 // GoString returns the string representation. 13941 // 13942 // API parameter values that are decorated as "sensitive" in the API will not 13943 // be included in the string output. The member name will be present, but the 13944 // value will be replaced with "sensitive". 13945 func (s DeleteWebACLOutput) GoString() string { 13946 return s.String() 13947 } 13948 13949 // SetChangeToken sets the ChangeToken field's value. 13950 func (s *DeleteWebACLOutput) SetChangeToken(v string) *DeleteWebACLOutput { 13951 s.ChangeToken = &v 13952 return s 13953 } 13954 13955 // A request to delete an XssMatchSet from AWS WAF. 13956 type DeleteXssMatchSetInput struct { 13957 _ struct{} `type:"structure"` 13958 13959 // The value returned by the most recent call to GetChangeToken. 13960 // 13961 // ChangeToken is a required field 13962 ChangeToken *string `min:"1" type:"string" required:"true"` 13963 13964 // The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId 13965 // is returned by CreateXssMatchSet and by ListXssMatchSets. 13966 // 13967 // XssMatchSetId is a required field 13968 XssMatchSetId *string `min:"1" type:"string" required:"true"` 13969 } 13970 13971 // String returns the string representation. 13972 // 13973 // API parameter values that are decorated as "sensitive" in the API will not 13974 // be included in the string output. The member name will be present, but the 13975 // value will be replaced with "sensitive". 13976 func (s DeleteXssMatchSetInput) String() string { 13977 return awsutil.Prettify(s) 13978 } 13979 13980 // GoString returns the string representation. 13981 // 13982 // API parameter values that are decorated as "sensitive" in the API will not 13983 // be included in the string output. The member name will be present, but the 13984 // value will be replaced with "sensitive". 13985 func (s DeleteXssMatchSetInput) GoString() string { 13986 return s.String() 13987 } 13988 13989 // Validate inspects the fields of the type to determine if they are valid. 13990 func (s *DeleteXssMatchSetInput) Validate() error { 13991 invalidParams := request.ErrInvalidParams{Context: "DeleteXssMatchSetInput"} 13992 if s.ChangeToken == nil { 13993 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 13994 } 13995 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 13996 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 13997 } 13998 if s.XssMatchSetId == nil { 13999 invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) 14000 } 14001 if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { 14002 invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) 14003 } 14004 14005 if invalidParams.Len() > 0 { 14006 return invalidParams 14007 } 14008 return nil 14009 } 14010 14011 // SetChangeToken sets the ChangeToken field's value. 14012 func (s *DeleteXssMatchSetInput) SetChangeToken(v string) *DeleteXssMatchSetInput { 14013 s.ChangeToken = &v 14014 return s 14015 } 14016 14017 // SetXssMatchSetId sets the XssMatchSetId field's value. 14018 func (s *DeleteXssMatchSetInput) SetXssMatchSetId(v string) *DeleteXssMatchSetInput { 14019 s.XssMatchSetId = &v 14020 return s 14021 } 14022 14023 // The response to a request to delete an XssMatchSet from AWS WAF. 14024 type DeleteXssMatchSetOutput struct { 14025 _ struct{} `type:"structure"` 14026 14027 // The ChangeToken that you used to submit the DeleteXssMatchSet request. You 14028 // can also use this value to query the status of the request. For more information, 14029 // see GetChangeTokenStatus. 14030 ChangeToken *string `min:"1" type:"string"` 14031 } 14032 14033 // String returns the string representation. 14034 // 14035 // API parameter values that are decorated as "sensitive" in the API will not 14036 // be included in the string output. The member name will be present, but the 14037 // value will be replaced with "sensitive". 14038 func (s DeleteXssMatchSetOutput) String() string { 14039 return awsutil.Prettify(s) 14040 } 14041 14042 // GoString returns the string representation. 14043 // 14044 // API parameter values that are decorated as "sensitive" in the API will not 14045 // be included in the string output. The member name will be present, but the 14046 // value will be replaced with "sensitive". 14047 func (s DeleteXssMatchSetOutput) GoString() string { 14048 return s.String() 14049 } 14050 14051 // SetChangeToken sets the ChangeToken field's value. 14052 func (s *DeleteXssMatchSetOutput) SetChangeToken(v string) *DeleteXssMatchSetOutput { 14053 s.ChangeToken = &v 14054 return s 14055 } 14056 14057 // The name specified is invalid. 14058 type DisallowedNameException struct { 14059 _ struct{} `type:"structure"` 14060 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14061 14062 Message_ *string `locationName:"message" type:"string"` 14063 } 14064 14065 // String returns the string representation. 14066 // 14067 // API parameter values that are decorated as "sensitive" in the API will not 14068 // be included in the string output. The member name will be present, but the 14069 // value will be replaced with "sensitive". 14070 func (s DisallowedNameException) String() string { 14071 return awsutil.Prettify(s) 14072 } 14073 14074 // GoString returns the string representation. 14075 // 14076 // API parameter values that are decorated as "sensitive" in the API will not 14077 // be included in the string output. The member name will be present, but the 14078 // value will be replaced with "sensitive". 14079 func (s DisallowedNameException) GoString() string { 14080 return s.String() 14081 } 14082 14083 func newErrorDisallowedNameException(v protocol.ResponseMetadata) error { 14084 return &DisallowedNameException{ 14085 RespMetadata: v, 14086 } 14087 } 14088 14089 // Code returns the exception type name. 14090 func (s *DisallowedNameException) Code() string { 14091 return "WAFDisallowedNameException" 14092 } 14093 14094 // Message returns the exception's message. 14095 func (s *DisallowedNameException) Message() string { 14096 if s.Message_ != nil { 14097 return *s.Message_ 14098 } 14099 return "" 14100 } 14101 14102 // OrigErr always returns nil, satisfies awserr.Error interface. 14103 func (s *DisallowedNameException) OrigErr() error { 14104 return nil 14105 } 14106 14107 func (s *DisallowedNameException) Error() string { 14108 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14109 } 14110 14111 // Status code returns the HTTP status code for the request's response error. 14112 func (s *DisallowedNameException) StatusCode() int { 14113 return s.RespMetadata.StatusCode 14114 } 14115 14116 // RequestID returns the service's response RequestID for request. 14117 func (s *DisallowedNameException) RequestID() string { 14118 return s.RespMetadata.RequestID 14119 } 14120 14121 // 14122 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14123 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14124 // in the developer guide. 14125 // 14126 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14127 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14128 // With the latest version, AWS WAF has a single set of endpoints for regional 14129 // and global use. 14130 // 14131 // The rule to exclude from a rule group. This is applicable only when the ActivatedRule 14132 // refers to a RuleGroup. The rule must belong to the RuleGroup that is specified 14133 // by the ActivatedRule. 14134 type ExcludedRule struct { 14135 _ struct{} `type:"structure"` 14136 14137 // The unique identifier for the rule to exclude from the rule group. 14138 // 14139 // RuleId is a required field 14140 RuleId *string `min:"1" type:"string" required:"true"` 14141 } 14142 14143 // String returns the string representation. 14144 // 14145 // API parameter values that are decorated as "sensitive" in the API will not 14146 // be included in the string output. The member name will be present, but the 14147 // value will be replaced with "sensitive". 14148 func (s ExcludedRule) String() string { 14149 return awsutil.Prettify(s) 14150 } 14151 14152 // GoString returns the string representation. 14153 // 14154 // API parameter values that are decorated as "sensitive" in the API will not 14155 // be included in the string output. The member name will be present, but the 14156 // value will be replaced with "sensitive". 14157 func (s ExcludedRule) GoString() string { 14158 return s.String() 14159 } 14160 14161 // Validate inspects the fields of the type to determine if they are valid. 14162 func (s *ExcludedRule) Validate() error { 14163 invalidParams := request.ErrInvalidParams{Context: "ExcludedRule"} 14164 if s.RuleId == nil { 14165 invalidParams.Add(request.NewErrParamRequired("RuleId")) 14166 } 14167 if s.RuleId != nil && len(*s.RuleId) < 1 { 14168 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 14169 } 14170 14171 if invalidParams.Len() > 0 { 14172 return invalidParams 14173 } 14174 return nil 14175 } 14176 14177 // SetRuleId sets the RuleId field's value. 14178 func (s *ExcludedRule) SetRuleId(v string) *ExcludedRule { 14179 s.RuleId = &v 14180 return s 14181 } 14182 14183 // 14184 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14185 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14186 // in the developer guide. 14187 // 14188 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14189 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14190 // With the latest version, AWS WAF has a single set of endpoints for regional 14191 // and global use. 14192 // 14193 // Specifies where in a web request to look for TargetString. 14194 type FieldToMatch struct { 14195 _ struct{} `type:"structure"` 14196 14197 // When the value of Type is HEADER, enter the name of the header that you want 14198 // AWS WAF to search, for example, User-Agent or Referer. The name of the header 14199 // is not case sensitive. 14200 // 14201 // When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter 14202 // that you want AWS WAF to search, for example, UserName or SalesRegion. The 14203 // parameter name is not case sensitive. 14204 // 14205 // If the value of Type is any other value, omit Data. 14206 Data *string `min:"1" type:"string"` 14207 14208 // The part of the web request that you want AWS WAF to search for a specified 14209 // string. Parts of a request that you can search include the following: 14210 // 14211 // * HEADER: A specified request header, for example, the value of the User-Agent 14212 // or Referer header. If you choose HEADER for the type, specify the name 14213 // of the header in Data. 14214 // 14215 // * METHOD: The HTTP method, which indicated the type of operation that 14216 // the request is asking the origin to perform. Amazon CloudFront supports 14217 // the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. 14218 // 14219 // * QUERY_STRING: A query string, which is the part of a URL that appears 14220 // after a ? character, if any. 14221 // 14222 // * URI: The part of a web request that identifies a resource, for example, 14223 // /images/daily-ad.jpg. 14224 // 14225 // * BODY: The part of a request that contains any additional data that you 14226 // want to send to your web server as the HTTP request body, such as data 14227 // from a form. The request body immediately follows the request headers. 14228 // Note that only the first 8192 bytes of the request body are forwarded 14229 // to AWS WAF for inspection. To allow or block requests based on the length 14230 // of the body, you can create a size constraint set. For more information, 14231 // see CreateSizeConstraintSet. 14232 // 14233 // * SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, 14234 // such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG 14235 // is 30 characters. 14236 // 14237 // * ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but rather than inspecting 14238 // a single parameter, AWS WAF will inspect all parameters within the query 14239 // for the value or regex pattern that you specify in TargetString. 14240 // 14241 // Type is a required field 14242 Type *string `type:"string" required:"true" enum:"MatchFieldType"` 14243 } 14244 14245 // String returns the string representation. 14246 // 14247 // API parameter values that are decorated as "sensitive" in the API will not 14248 // be included in the string output. The member name will be present, but the 14249 // value will be replaced with "sensitive". 14250 func (s FieldToMatch) String() string { 14251 return awsutil.Prettify(s) 14252 } 14253 14254 // GoString returns the string representation. 14255 // 14256 // API parameter values that are decorated as "sensitive" in the API will not 14257 // be included in the string output. The member name will be present, but the 14258 // value will be replaced with "sensitive". 14259 func (s FieldToMatch) GoString() string { 14260 return s.String() 14261 } 14262 14263 // Validate inspects the fields of the type to determine if they are valid. 14264 func (s *FieldToMatch) Validate() error { 14265 invalidParams := request.ErrInvalidParams{Context: "FieldToMatch"} 14266 if s.Data != nil && len(*s.Data) < 1 { 14267 invalidParams.Add(request.NewErrParamMinLen("Data", 1)) 14268 } 14269 if s.Type == nil { 14270 invalidParams.Add(request.NewErrParamRequired("Type")) 14271 } 14272 14273 if invalidParams.Len() > 0 { 14274 return invalidParams 14275 } 14276 return nil 14277 } 14278 14279 // SetData sets the Data field's value. 14280 func (s *FieldToMatch) SetData(v string) *FieldToMatch { 14281 s.Data = &v 14282 return s 14283 } 14284 14285 // SetType sets the Type field's value. 14286 func (s *FieldToMatch) SetType(v string) *FieldToMatch { 14287 s.Type = &v 14288 return s 14289 } 14290 14291 // 14292 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14293 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14294 // in the developer guide. 14295 // 14296 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14297 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14298 // With the latest version, AWS WAF has a single set of endpoints for regional 14299 // and global use. 14300 // 14301 // The country from which web requests originate that you want AWS WAF to search 14302 // for. 14303 type GeoMatchConstraint struct { 14304 _ struct{} `type:"structure"` 14305 14306 // The type of geographical area you want AWS WAF to search for. Currently Country 14307 // is the only valid value. 14308 // 14309 // Type is a required field 14310 Type *string `type:"string" required:"true" enum:"GeoMatchConstraintType"` 14311 14312 // The country that you want AWS WAF to search for. 14313 // 14314 // Value is a required field 14315 Value *string `type:"string" required:"true" enum:"GeoMatchConstraintValue"` 14316 } 14317 14318 // String returns the string representation. 14319 // 14320 // API parameter values that are decorated as "sensitive" in the API will not 14321 // be included in the string output. The member name will be present, but the 14322 // value will be replaced with "sensitive". 14323 func (s GeoMatchConstraint) String() string { 14324 return awsutil.Prettify(s) 14325 } 14326 14327 // GoString returns the string representation. 14328 // 14329 // API parameter values that are decorated as "sensitive" in the API will not 14330 // be included in the string output. The member name will be present, but the 14331 // value will be replaced with "sensitive". 14332 func (s GeoMatchConstraint) GoString() string { 14333 return s.String() 14334 } 14335 14336 // Validate inspects the fields of the type to determine if they are valid. 14337 func (s *GeoMatchConstraint) Validate() error { 14338 invalidParams := request.ErrInvalidParams{Context: "GeoMatchConstraint"} 14339 if s.Type == nil { 14340 invalidParams.Add(request.NewErrParamRequired("Type")) 14341 } 14342 if s.Value == nil { 14343 invalidParams.Add(request.NewErrParamRequired("Value")) 14344 } 14345 14346 if invalidParams.Len() > 0 { 14347 return invalidParams 14348 } 14349 return nil 14350 } 14351 14352 // SetType sets the Type field's value. 14353 func (s *GeoMatchConstraint) SetType(v string) *GeoMatchConstraint { 14354 s.Type = &v 14355 return s 14356 } 14357 14358 // SetValue sets the Value field's value. 14359 func (s *GeoMatchConstraint) SetValue(v string) *GeoMatchConstraint { 14360 s.Value = &v 14361 return s 14362 } 14363 14364 // 14365 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14366 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14367 // in the developer guide. 14368 // 14369 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14370 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14371 // With the latest version, AWS WAF has a single set of endpoints for regional 14372 // and global use. 14373 // 14374 // Contains one or more countries that AWS WAF will search for. 14375 type GeoMatchSet struct { 14376 _ struct{} `type:"structure"` 14377 14378 // An array of GeoMatchConstraint objects, which contain the country that you 14379 // want AWS WAF to search for. 14380 // 14381 // GeoMatchConstraints is a required field 14382 GeoMatchConstraints []*GeoMatchConstraint `type:"list" required:"true"` 14383 14384 // The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information 14385 // about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), 14386 // insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), 14387 // and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet). 14388 // 14389 // GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets. 14390 // 14391 // GeoMatchSetId is a required field 14392 GeoMatchSetId *string `min:"1" type:"string" required:"true"` 14393 14394 // A friendly name or description of the GeoMatchSet. You can't change the name 14395 // of an GeoMatchSet after you create it. 14396 Name *string `min:"1" type:"string"` 14397 } 14398 14399 // String returns the string representation. 14400 // 14401 // API parameter values that are decorated as "sensitive" in the API will not 14402 // be included in the string output. The member name will be present, but the 14403 // value will be replaced with "sensitive". 14404 func (s GeoMatchSet) String() string { 14405 return awsutil.Prettify(s) 14406 } 14407 14408 // GoString returns the string representation. 14409 // 14410 // API parameter values that are decorated as "sensitive" in the API will not 14411 // be included in the string output. The member name will be present, but the 14412 // value will be replaced with "sensitive". 14413 func (s GeoMatchSet) GoString() string { 14414 return s.String() 14415 } 14416 14417 // SetGeoMatchConstraints sets the GeoMatchConstraints field's value. 14418 func (s *GeoMatchSet) SetGeoMatchConstraints(v []*GeoMatchConstraint) *GeoMatchSet { 14419 s.GeoMatchConstraints = v 14420 return s 14421 } 14422 14423 // SetGeoMatchSetId sets the GeoMatchSetId field's value. 14424 func (s *GeoMatchSet) SetGeoMatchSetId(v string) *GeoMatchSet { 14425 s.GeoMatchSetId = &v 14426 return s 14427 } 14428 14429 // SetName sets the Name field's value. 14430 func (s *GeoMatchSet) SetName(v string) *GeoMatchSet { 14431 s.Name = &v 14432 return s 14433 } 14434 14435 // 14436 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14437 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14438 // in the developer guide. 14439 // 14440 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14441 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14442 // With the latest version, AWS WAF has a single set of endpoints for regional 14443 // and global use. 14444 // 14445 // Contains the identifier and the name of the GeoMatchSet. 14446 type GeoMatchSetSummary struct { 14447 _ struct{} `type:"structure"` 14448 14449 // The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet 14450 // request to get detailed information about an GeoMatchSet. 14451 // 14452 // GeoMatchSetId is a required field 14453 GeoMatchSetId *string `min:"1" type:"string" required:"true"` 14454 14455 // A friendly name or description of the GeoMatchSet. You can't change the name 14456 // of an GeoMatchSet after you create it. 14457 // 14458 // Name is a required field 14459 Name *string `min:"1" type:"string" required:"true"` 14460 } 14461 14462 // String returns the string representation. 14463 // 14464 // API parameter values that are decorated as "sensitive" in the API will not 14465 // be included in the string output. The member name will be present, but the 14466 // value will be replaced with "sensitive". 14467 func (s GeoMatchSetSummary) String() string { 14468 return awsutil.Prettify(s) 14469 } 14470 14471 // GoString returns the string representation. 14472 // 14473 // API parameter values that are decorated as "sensitive" in the API will not 14474 // be included in the string output. The member name will be present, but the 14475 // value will be replaced with "sensitive". 14476 func (s GeoMatchSetSummary) GoString() string { 14477 return s.String() 14478 } 14479 14480 // SetGeoMatchSetId sets the GeoMatchSetId field's value. 14481 func (s *GeoMatchSetSummary) SetGeoMatchSetId(v string) *GeoMatchSetSummary { 14482 s.GeoMatchSetId = &v 14483 return s 14484 } 14485 14486 // SetName sets the Name field's value. 14487 func (s *GeoMatchSetSummary) SetName(v string) *GeoMatchSetSummary { 14488 s.Name = &v 14489 return s 14490 } 14491 14492 // 14493 // This is AWS WAF Classic documentation. For more information, see AWS WAF 14494 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 14495 // in the developer guide. 14496 // 14497 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 14498 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 14499 // With the latest version, AWS WAF has a single set of endpoints for regional 14500 // and global use. 14501 // 14502 // Specifies the type of update to perform to an GeoMatchSet with UpdateGeoMatchSet. 14503 type GeoMatchSetUpdate struct { 14504 _ struct{} `type:"structure"` 14505 14506 // Specifies whether to insert or delete a country with UpdateGeoMatchSet. 14507 // 14508 // Action is a required field 14509 Action *string `type:"string" required:"true" enum:"ChangeAction"` 14510 14511 // The country from which web requests originate that you want AWS WAF to search 14512 // for. 14513 // 14514 // GeoMatchConstraint is a required field 14515 GeoMatchConstraint *GeoMatchConstraint `type:"structure" required:"true"` 14516 } 14517 14518 // String returns the string representation. 14519 // 14520 // API parameter values that are decorated as "sensitive" in the API will not 14521 // be included in the string output. The member name will be present, but the 14522 // value will be replaced with "sensitive". 14523 func (s GeoMatchSetUpdate) String() string { 14524 return awsutil.Prettify(s) 14525 } 14526 14527 // GoString returns the string representation. 14528 // 14529 // API parameter values that are decorated as "sensitive" in the API will not 14530 // be included in the string output. The member name will be present, but the 14531 // value will be replaced with "sensitive". 14532 func (s GeoMatchSetUpdate) GoString() string { 14533 return s.String() 14534 } 14535 14536 // Validate inspects the fields of the type to determine if they are valid. 14537 func (s *GeoMatchSetUpdate) Validate() error { 14538 invalidParams := request.ErrInvalidParams{Context: "GeoMatchSetUpdate"} 14539 if s.Action == nil { 14540 invalidParams.Add(request.NewErrParamRequired("Action")) 14541 } 14542 if s.GeoMatchConstraint == nil { 14543 invalidParams.Add(request.NewErrParamRequired("GeoMatchConstraint")) 14544 } 14545 if s.GeoMatchConstraint != nil { 14546 if err := s.GeoMatchConstraint.Validate(); err != nil { 14547 invalidParams.AddNested("GeoMatchConstraint", err.(request.ErrInvalidParams)) 14548 } 14549 } 14550 14551 if invalidParams.Len() > 0 { 14552 return invalidParams 14553 } 14554 return nil 14555 } 14556 14557 // SetAction sets the Action field's value. 14558 func (s *GeoMatchSetUpdate) SetAction(v string) *GeoMatchSetUpdate { 14559 s.Action = &v 14560 return s 14561 } 14562 14563 // SetGeoMatchConstraint sets the GeoMatchConstraint field's value. 14564 func (s *GeoMatchSetUpdate) SetGeoMatchConstraint(v *GeoMatchConstraint) *GeoMatchSetUpdate { 14565 s.GeoMatchConstraint = v 14566 return s 14567 } 14568 14569 type GetByteMatchSetInput struct { 14570 _ struct{} `type:"structure"` 14571 14572 // The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId 14573 // is returned by CreateByteMatchSet and by ListByteMatchSets. 14574 // 14575 // ByteMatchSetId is a required field 14576 ByteMatchSetId *string `min:"1" type:"string" required:"true"` 14577 } 14578 14579 // String returns the string representation. 14580 // 14581 // API parameter values that are decorated as "sensitive" in the API will not 14582 // be included in the string output. The member name will be present, but the 14583 // value will be replaced with "sensitive". 14584 func (s GetByteMatchSetInput) String() string { 14585 return awsutil.Prettify(s) 14586 } 14587 14588 // GoString returns the string representation. 14589 // 14590 // API parameter values that are decorated as "sensitive" in the API will not 14591 // be included in the string output. The member name will be present, but the 14592 // value will be replaced with "sensitive". 14593 func (s GetByteMatchSetInput) GoString() string { 14594 return s.String() 14595 } 14596 14597 // Validate inspects the fields of the type to determine if they are valid. 14598 func (s *GetByteMatchSetInput) Validate() error { 14599 invalidParams := request.ErrInvalidParams{Context: "GetByteMatchSetInput"} 14600 if s.ByteMatchSetId == nil { 14601 invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) 14602 } 14603 if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { 14604 invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) 14605 } 14606 14607 if invalidParams.Len() > 0 { 14608 return invalidParams 14609 } 14610 return nil 14611 } 14612 14613 // SetByteMatchSetId sets the ByteMatchSetId field's value. 14614 func (s *GetByteMatchSetInput) SetByteMatchSetId(v string) *GetByteMatchSetInput { 14615 s.ByteMatchSetId = &v 14616 return s 14617 } 14618 14619 type GetByteMatchSetOutput struct { 14620 _ struct{} `type:"structure"` 14621 14622 // Information about the ByteMatchSet that you specified in the GetByteMatchSet 14623 // request. For more information, see the following topics: 14624 // 14625 // * ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name 14626 // 14627 // * ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple 14628 // object contains FieldToMatch, PositionalConstraint, TargetString, and 14629 // TextTransformation 14630 // 14631 // * FieldToMatch: Contains Data and Type 14632 ByteMatchSet *ByteMatchSet `type:"structure"` 14633 } 14634 14635 // String returns the string representation. 14636 // 14637 // API parameter values that are decorated as "sensitive" in the API will not 14638 // be included in the string output. The member name will be present, but the 14639 // value will be replaced with "sensitive". 14640 func (s GetByteMatchSetOutput) String() string { 14641 return awsutil.Prettify(s) 14642 } 14643 14644 // GoString returns the string representation. 14645 // 14646 // API parameter values that are decorated as "sensitive" in the API will not 14647 // be included in the string output. The member name will be present, but the 14648 // value will be replaced with "sensitive". 14649 func (s GetByteMatchSetOutput) GoString() string { 14650 return s.String() 14651 } 14652 14653 // SetByteMatchSet sets the ByteMatchSet field's value. 14654 func (s *GetByteMatchSetOutput) SetByteMatchSet(v *ByteMatchSet) *GetByteMatchSetOutput { 14655 s.ByteMatchSet = v 14656 return s 14657 } 14658 14659 type GetChangeTokenInput struct { 14660 _ struct{} `type:"structure"` 14661 } 14662 14663 // String returns the string representation. 14664 // 14665 // API parameter values that are decorated as "sensitive" in the API will not 14666 // be included in the string output. The member name will be present, but the 14667 // value will be replaced with "sensitive". 14668 func (s GetChangeTokenInput) String() string { 14669 return awsutil.Prettify(s) 14670 } 14671 14672 // GoString returns the string representation. 14673 // 14674 // API parameter values that are decorated as "sensitive" in the API will not 14675 // be included in the string output. The member name will be present, but the 14676 // value will be replaced with "sensitive". 14677 func (s GetChangeTokenInput) GoString() string { 14678 return s.String() 14679 } 14680 14681 type GetChangeTokenOutput struct { 14682 _ struct{} `type:"structure"` 14683 14684 // The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus 14685 // request to get the current status of the request. 14686 ChangeToken *string `min:"1" type:"string"` 14687 } 14688 14689 // String returns the string representation. 14690 // 14691 // API parameter values that are decorated as "sensitive" in the API will not 14692 // be included in the string output. The member name will be present, but the 14693 // value will be replaced with "sensitive". 14694 func (s GetChangeTokenOutput) String() string { 14695 return awsutil.Prettify(s) 14696 } 14697 14698 // GoString returns the string representation. 14699 // 14700 // API parameter values that are decorated as "sensitive" in the API will not 14701 // be included in the string output. The member name will be present, but the 14702 // value will be replaced with "sensitive". 14703 func (s GetChangeTokenOutput) GoString() string { 14704 return s.String() 14705 } 14706 14707 // SetChangeToken sets the ChangeToken field's value. 14708 func (s *GetChangeTokenOutput) SetChangeToken(v string) *GetChangeTokenOutput { 14709 s.ChangeToken = &v 14710 return s 14711 } 14712 14713 type GetChangeTokenStatusInput struct { 14714 _ struct{} `type:"structure"` 14715 14716 // The change token for which you want to get the status. This change token 14717 // was previously returned in the GetChangeToken response. 14718 // 14719 // ChangeToken is a required field 14720 ChangeToken *string `min:"1" type:"string" required:"true"` 14721 } 14722 14723 // String returns the string representation. 14724 // 14725 // API parameter values that are decorated as "sensitive" in the API will not 14726 // be included in the string output. The member name will be present, but the 14727 // value will be replaced with "sensitive". 14728 func (s GetChangeTokenStatusInput) String() string { 14729 return awsutil.Prettify(s) 14730 } 14731 14732 // GoString returns the string representation. 14733 // 14734 // API parameter values that are decorated as "sensitive" in the API will not 14735 // be included in the string output. The member name will be present, but the 14736 // value will be replaced with "sensitive". 14737 func (s GetChangeTokenStatusInput) GoString() string { 14738 return s.String() 14739 } 14740 14741 // Validate inspects the fields of the type to determine if they are valid. 14742 func (s *GetChangeTokenStatusInput) Validate() error { 14743 invalidParams := request.ErrInvalidParams{Context: "GetChangeTokenStatusInput"} 14744 if s.ChangeToken == nil { 14745 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 14746 } 14747 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 14748 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 14749 } 14750 14751 if invalidParams.Len() > 0 { 14752 return invalidParams 14753 } 14754 return nil 14755 } 14756 14757 // SetChangeToken sets the ChangeToken field's value. 14758 func (s *GetChangeTokenStatusInput) SetChangeToken(v string) *GetChangeTokenStatusInput { 14759 s.ChangeToken = &v 14760 return s 14761 } 14762 14763 type GetChangeTokenStatusOutput struct { 14764 _ struct{} `type:"structure"` 14765 14766 // The status of the change token. 14767 ChangeTokenStatus *string `type:"string" enum:"ChangeTokenStatus"` 14768 } 14769 14770 // String returns the string representation. 14771 // 14772 // API parameter values that are decorated as "sensitive" in the API will not 14773 // be included in the string output. The member name will be present, but the 14774 // value will be replaced with "sensitive". 14775 func (s GetChangeTokenStatusOutput) String() string { 14776 return awsutil.Prettify(s) 14777 } 14778 14779 // GoString returns the string representation. 14780 // 14781 // API parameter values that are decorated as "sensitive" in the API will not 14782 // be included in the string output. The member name will be present, but the 14783 // value will be replaced with "sensitive". 14784 func (s GetChangeTokenStatusOutput) GoString() string { 14785 return s.String() 14786 } 14787 14788 // SetChangeTokenStatus sets the ChangeTokenStatus field's value. 14789 func (s *GetChangeTokenStatusOutput) SetChangeTokenStatus(v string) *GetChangeTokenStatusOutput { 14790 s.ChangeTokenStatus = &v 14791 return s 14792 } 14793 14794 type GetGeoMatchSetInput struct { 14795 _ struct{} `type:"structure"` 14796 14797 // The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId 14798 // is returned by CreateGeoMatchSet and by ListGeoMatchSets. 14799 // 14800 // GeoMatchSetId is a required field 14801 GeoMatchSetId *string `min:"1" type:"string" required:"true"` 14802 } 14803 14804 // String returns the string representation. 14805 // 14806 // API parameter values that are decorated as "sensitive" in the API will not 14807 // be included in the string output. The member name will be present, but the 14808 // value will be replaced with "sensitive". 14809 func (s GetGeoMatchSetInput) String() string { 14810 return awsutil.Prettify(s) 14811 } 14812 14813 // GoString returns the string representation. 14814 // 14815 // API parameter values that are decorated as "sensitive" in the API will not 14816 // be included in the string output. The member name will be present, but the 14817 // value will be replaced with "sensitive". 14818 func (s GetGeoMatchSetInput) GoString() string { 14819 return s.String() 14820 } 14821 14822 // Validate inspects the fields of the type to determine if they are valid. 14823 func (s *GetGeoMatchSetInput) Validate() error { 14824 invalidParams := request.ErrInvalidParams{Context: "GetGeoMatchSetInput"} 14825 if s.GeoMatchSetId == nil { 14826 invalidParams.Add(request.NewErrParamRequired("GeoMatchSetId")) 14827 } 14828 if s.GeoMatchSetId != nil && len(*s.GeoMatchSetId) < 1 { 14829 invalidParams.Add(request.NewErrParamMinLen("GeoMatchSetId", 1)) 14830 } 14831 14832 if invalidParams.Len() > 0 { 14833 return invalidParams 14834 } 14835 return nil 14836 } 14837 14838 // SetGeoMatchSetId sets the GeoMatchSetId field's value. 14839 func (s *GetGeoMatchSetInput) SetGeoMatchSetId(v string) *GetGeoMatchSetInput { 14840 s.GeoMatchSetId = &v 14841 return s 14842 } 14843 14844 type GetGeoMatchSetOutput struct { 14845 _ struct{} `type:"structure"` 14846 14847 // Information about the GeoMatchSet that you specified in the GetGeoMatchSet 14848 // request. This includes the Type, which for a GeoMatchContraint is always 14849 // Country, as well as the Value, which is the identifier for a specific country. 14850 GeoMatchSet *GeoMatchSet `type:"structure"` 14851 } 14852 14853 // String returns the string representation. 14854 // 14855 // API parameter values that are decorated as "sensitive" in the API will not 14856 // be included in the string output. The member name will be present, but the 14857 // value will be replaced with "sensitive". 14858 func (s GetGeoMatchSetOutput) String() string { 14859 return awsutil.Prettify(s) 14860 } 14861 14862 // GoString returns the string representation. 14863 // 14864 // API parameter values that are decorated as "sensitive" in the API will not 14865 // be included in the string output. The member name will be present, but the 14866 // value will be replaced with "sensitive". 14867 func (s GetGeoMatchSetOutput) GoString() string { 14868 return s.String() 14869 } 14870 14871 // SetGeoMatchSet sets the GeoMatchSet field's value. 14872 func (s *GetGeoMatchSetOutput) SetGeoMatchSet(v *GeoMatchSet) *GetGeoMatchSetOutput { 14873 s.GeoMatchSet = v 14874 return s 14875 } 14876 14877 type GetIPSetInput struct { 14878 _ struct{} `type:"structure"` 14879 14880 // The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet 14881 // and by ListIPSets. 14882 // 14883 // IPSetId is a required field 14884 IPSetId *string `min:"1" type:"string" required:"true"` 14885 } 14886 14887 // String returns the string representation. 14888 // 14889 // API parameter values that are decorated as "sensitive" in the API will not 14890 // be included in the string output. The member name will be present, but the 14891 // value will be replaced with "sensitive". 14892 func (s GetIPSetInput) String() string { 14893 return awsutil.Prettify(s) 14894 } 14895 14896 // GoString returns the string representation. 14897 // 14898 // API parameter values that are decorated as "sensitive" in the API will not 14899 // be included in the string output. The member name will be present, but the 14900 // value will be replaced with "sensitive". 14901 func (s GetIPSetInput) GoString() string { 14902 return s.String() 14903 } 14904 14905 // Validate inspects the fields of the type to determine if they are valid. 14906 func (s *GetIPSetInput) Validate() error { 14907 invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"} 14908 if s.IPSetId == nil { 14909 invalidParams.Add(request.NewErrParamRequired("IPSetId")) 14910 } 14911 if s.IPSetId != nil && len(*s.IPSetId) < 1 { 14912 invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) 14913 } 14914 14915 if invalidParams.Len() > 0 { 14916 return invalidParams 14917 } 14918 return nil 14919 } 14920 14921 // SetIPSetId sets the IPSetId field's value. 14922 func (s *GetIPSetInput) SetIPSetId(v string) *GetIPSetInput { 14923 s.IPSetId = &v 14924 return s 14925 } 14926 14927 type GetIPSetOutput struct { 14928 _ struct{} `type:"structure"` 14929 14930 // Information about the IPSet that you specified in the GetIPSet request. For 14931 // more information, see the following topics: 14932 // 14933 // * IPSet: Contains IPSetDescriptors, IPSetId, and Name 14934 // 14935 // * IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each 14936 // IPSetDescriptor object contains Type and Value 14937 IPSet *IPSet `type:"structure"` 14938 } 14939 14940 // String returns the string representation. 14941 // 14942 // API parameter values that are decorated as "sensitive" in the API will not 14943 // be included in the string output. The member name will be present, but the 14944 // value will be replaced with "sensitive". 14945 func (s GetIPSetOutput) String() string { 14946 return awsutil.Prettify(s) 14947 } 14948 14949 // GoString returns the string representation. 14950 // 14951 // API parameter values that are decorated as "sensitive" in the API will not 14952 // be included in the string output. The member name will be present, but the 14953 // value will be replaced with "sensitive". 14954 func (s GetIPSetOutput) GoString() string { 14955 return s.String() 14956 } 14957 14958 // SetIPSet sets the IPSet field's value. 14959 func (s *GetIPSetOutput) SetIPSet(v *IPSet) *GetIPSetOutput { 14960 s.IPSet = v 14961 return s 14962 } 14963 14964 type GetLoggingConfigurationInput struct { 14965 _ struct{} `type:"structure"` 14966 14967 // The Amazon Resource Name (ARN) of the web ACL for which you want to get the 14968 // LoggingConfiguration. 14969 // 14970 // ResourceArn is a required field 14971 ResourceArn *string `min:"1" type:"string" required:"true"` 14972 } 14973 14974 // String returns the string representation. 14975 // 14976 // API parameter values that are decorated as "sensitive" in the API will not 14977 // be included in the string output. The member name will be present, but the 14978 // value will be replaced with "sensitive". 14979 func (s GetLoggingConfigurationInput) String() string { 14980 return awsutil.Prettify(s) 14981 } 14982 14983 // GoString returns the string representation. 14984 // 14985 // API parameter values that are decorated as "sensitive" in the API will not 14986 // be included in the string output. The member name will be present, but the 14987 // value will be replaced with "sensitive". 14988 func (s GetLoggingConfigurationInput) GoString() string { 14989 return s.String() 14990 } 14991 14992 // Validate inspects the fields of the type to determine if they are valid. 14993 func (s *GetLoggingConfigurationInput) Validate() error { 14994 invalidParams := request.ErrInvalidParams{Context: "GetLoggingConfigurationInput"} 14995 if s.ResourceArn == nil { 14996 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 14997 } 14998 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 14999 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 15000 } 15001 15002 if invalidParams.Len() > 0 { 15003 return invalidParams 15004 } 15005 return nil 15006 } 15007 15008 // SetResourceArn sets the ResourceArn field's value. 15009 func (s *GetLoggingConfigurationInput) SetResourceArn(v string) *GetLoggingConfigurationInput { 15010 s.ResourceArn = &v 15011 return s 15012 } 15013 15014 type GetLoggingConfigurationOutput struct { 15015 _ struct{} `type:"structure"` 15016 15017 // The LoggingConfiguration for the specified web ACL. 15018 LoggingConfiguration *LoggingConfiguration `type:"structure"` 15019 } 15020 15021 // String returns the string representation. 15022 // 15023 // API parameter values that are decorated as "sensitive" in the API will not 15024 // be included in the string output. The member name will be present, but the 15025 // value will be replaced with "sensitive". 15026 func (s GetLoggingConfigurationOutput) String() string { 15027 return awsutil.Prettify(s) 15028 } 15029 15030 // GoString returns the string representation. 15031 // 15032 // API parameter values that are decorated as "sensitive" in the API will not 15033 // be included in the string output. The member name will be present, but the 15034 // value will be replaced with "sensitive". 15035 func (s GetLoggingConfigurationOutput) GoString() string { 15036 return s.String() 15037 } 15038 15039 // SetLoggingConfiguration sets the LoggingConfiguration field's value. 15040 func (s *GetLoggingConfigurationOutput) SetLoggingConfiguration(v *LoggingConfiguration) *GetLoggingConfigurationOutput { 15041 s.LoggingConfiguration = v 15042 return s 15043 } 15044 15045 type GetPermissionPolicyInput struct { 15046 _ struct{} `type:"structure"` 15047 15048 // The Amazon Resource Name (ARN) of the RuleGroup for which you want to get 15049 // the policy. 15050 // 15051 // ResourceArn is a required field 15052 ResourceArn *string `min:"1" type:"string" required:"true"` 15053 } 15054 15055 // String returns the string representation. 15056 // 15057 // API parameter values that are decorated as "sensitive" in the API will not 15058 // be included in the string output. The member name will be present, but the 15059 // value will be replaced with "sensitive". 15060 func (s GetPermissionPolicyInput) String() string { 15061 return awsutil.Prettify(s) 15062 } 15063 15064 // GoString returns the string representation. 15065 // 15066 // API parameter values that are decorated as "sensitive" in the API will not 15067 // be included in the string output. The member name will be present, but the 15068 // value will be replaced with "sensitive". 15069 func (s GetPermissionPolicyInput) GoString() string { 15070 return s.String() 15071 } 15072 15073 // Validate inspects the fields of the type to determine if they are valid. 15074 func (s *GetPermissionPolicyInput) Validate() error { 15075 invalidParams := request.ErrInvalidParams{Context: "GetPermissionPolicyInput"} 15076 if s.ResourceArn == nil { 15077 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 15078 } 15079 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 15080 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 15081 } 15082 15083 if invalidParams.Len() > 0 { 15084 return invalidParams 15085 } 15086 return nil 15087 } 15088 15089 // SetResourceArn sets the ResourceArn field's value. 15090 func (s *GetPermissionPolicyInput) SetResourceArn(v string) *GetPermissionPolicyInput { 15091 s.ResourceArn = &v 15092 return s 15093 } 15094 15095 type GetPermissionPolicyOutput struct { 15096 _ struct{} `type:"structure"` 15097 15098 // The IAM policy attached to the specified RuleGroup. 15099 Policy *string `min:"1" type:"string"` 15100 } 15101 15102 // String returns the string representation. 15103 // 15104 // API parameter values that are decorated as "sensitive" in the API will not 15105 // be included in the string output. The member name will be present, but the 15106 // value will be replaced with "sensitive". 15107 func (s GetPermissionPolicyOutput) String() string { 15108 return awsutil.Prettify(s) 15109 } 15110 15111 // GoString returns the string representation. 15112 // 15113 // API parameter values that are decorated as "sensitive" in the API will not 15114 // be included in the string output. The member name will be present, but the 15115 // value will be replaced with "sensitive". 15116 func (s GetPermissionPolicyOutput) GoString() string { 15117 return s.String() 15118 } 15119 15120 // SetPolicy sets the Policy field's value. 15121 func (s *GetPermissionPolicyOutput) SetPolicy(v string) *GetPermissionPolicyOutput { 15122 s.Policy = &v 15123 return s 15124 } 15125 15126 type GetRateBasedRuleInput struct { 15127 _ struct{} `type:"structure"` 15128 15129 // The RuleId of the RateBasedRule that you want to get. RuleId is returned 15130 // by CreateRateBasedRule and by ListRateBasedRules. 15131 // 15132 // RuleId is a required field 15133 RuleId *string `min:"1" type:"string" required:"true"` 15134 } 15135 15136 // String returns the string representation. 15137 // 15138 // API parameter values that are decorated as "sensitive" in the API will not 15139 // be included in the string output. The member name will be present, but the 15140 // value will be replaced with "sensitive". 15141 func (s GetRateBasedRuleInput) String() string { 15142 return awsutil.Prettify(s) 15143 } 15144 15145 // GoString returns the string representation. 15146 // 15147 // API parameter values that are decorated as "sensitive" in the API will not 15148 // be included in the string output. The member name will be present, but the 15149 // value will be replaced with "sensitive". 15150 func (s GetRateBasedRuleInput) GoString() string { 15151 return s.String() 15152 } 15153 15154 // Validate inspects the fields of the type to determine if they are valid. 15155 func (s *GetRateBasedRuleInput) Validate() error { 15156 invalidParams := request.ErrInvalidParams{Context: "GetRateBasedRuleInput"} 15157 if s.RuleId == nil { 15158 invalidParams.Add(request.NewErrParamRequired("RuleId")) 15159 } 15160 if s.RuleId != nil && len(*s.RuleId) < 1 { 15161 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 15162 } 15163 15164 if invalidParams.Len() > 0 { 15165 return invalidParams 15166 } 15167 return nil 15168 } 15169 15170 // SetRuleId sets the RuleId field's value. 15171 func (s *GetRateBasedRuleInput) SetRuleId(v string) *GetRateBasedRuleInput { 15172 s.RuleId = &v 15173 return s 15174 } 15175 15176 type GetRateBasedRuleManagedKeysInput struct { 15177 _ struct{} `type:"structure"` 15178 15179 // A null value and not currently used. Do not include this in your request. 15180 NextMarker *string `min:"1" type:"string"` 15181 15182 // The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. 15183 // RuleId is returned by CreateRateBasedRule and by ListRateBasedRules. 15184 // 15185 // RuleId is a required field 15186 RuleId *string `min:"1" type:"string" required:"true"` 15187 } 15188 15189 // String returns the string representation. 15190 // 15191 // API parameter values that are decorated as "sensitive" in the API will not 15192 // be included in the string output. The member name will be present, but the 15193 // value will be replaced with "sensitive". 15194 func (s GetRateBasedRuleManagedKeysInput) String() string { 15195 return awsutil.Prettify(s) 15196 } 15197 15198 // GoString returns the string representation. 15199 // 15200 // API parameter values that are decorated as "sensitive" in the API will not 15201 // be included in the string output. The member name will be present, but the 15202 // value will be replaced with "sensitive". 15203 func (s GetRateBasedRuleManagedKeysInput) GoString() string { 15204 return s.String() 15205 } 15206 15207 // Validate inspects the fields of the type to determine if they are valid. 15208 func (s *GetRateBasedRuleManagedKeysInput) Validate() error { 15209 invalidParams := request.ErrInvalidParams{Context: "GetRateBasedRuleManagedKeysInput"} 15210 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 15211 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 15212 } 15213 if s.RuleId == nil { 15214 invalidParams.Add(request.NewErrParamRequired("RuleId")) 15215 } 15216 if s.RuleId != nil && len(*s.RuleId) < 1 { 15217 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 15218 } 15219 15220 if invalidParams.Len() > 0 { 15221 return invalidParams 15222 } 15223 return nil 15224 } 15225 15226 // SetNextMarker sets the NextMarker field's value. 15227 func (s *GetRateBasedRuleManagedKeysInput) SetNextMarker(v string) *GetRateBasedRuleManagedKeysInput { 15228 s.NextMarker = &v 15229 return s 15230 } 15231 15232 // SetRuleId sets the RuleId field's value. 15233 func (s *GetRateBasedRuleManagedKeysInput) SetRuleId(v string) *GetRateBasedRuleManagedKeysInput { 15234 s.RuleId = &v 15235 return s 15236 } 15237 15238 type GetRateBasedRuleManagedKeysOutput struct { 15239 _ struct{} `type:"structure"` 15240 15241 // An array of IP addresses that currently are blocked by the specified RateBasedRule. 15242 ManagedKeys []*string `type:"list"` 15243 15244 // A null value and not currently used. 15245 NextMarker *string `min:"1" type:"string"` 15246 } 15247 15248 // String returns the string representation. 15249 // 15250 // API parameter values that are decorated as "sensitive" in the API will not 15251 // be included in the string output. The member name will be present, but the 15252 // value will be replaced with "sensitive". 15253 func (s GetRateBasedRuleManagedKeysOutput) String() string { 15254 return awsutil.Prettify(s) 15255 } 15256 15257 // GoString returns the string representation. 15258 // 15259 // API parameter values that are decorated as "sensitive" in the API will not 15260 // be included in the string output. The member name will be present, but the 15261 // value will be replaced with "sensitive". 15262 func (s GetRateBasedRuleManagedKeysOutput) GoString() string { 15263 return s.String() 15264 } 15265 15266 // SetManagedKeys sets the ManagedKeys field's value. 15267 func (s *GetRateBasedRuleManagedKeysOutput) SetManagedKeys(v []*string) *GetRateBasedRuleManagedKeysOutput { 15268 s.ManagedKeys = v 15269 return s 15270 } 15271 15272 // SetNextMarker sets the NextMarker field's value. 15273 func (s *GetRateBasedRuleManagedKeysOutput) SetNextMarker(v string) *GetRateBasedRuleManagedKeysOutput { 15274 s.NextMarker = &v 15275 return s 15276 } 15277 15278 type GetRateBasedRuleOutput struct { 15279 _ struct{} `type:"structure"` 15280 15281 // Information about the RateBasedRule that you specified in the GetRateBasedRule 15282 // request. 15283 Rule *RateBasedRule `type:"structure"` 15284 } 15285 15286 // String returns the string representation. 15287 // 15288 // API parameter values that are decorated as "sensitive" in the API will not 15289 // be included in the string output. The member name will be present, but the 15290 // value will be replaced with "sensitive". 15291 func (s GetRateBasedRuleOutput) String() string { 15292 return awsutil.Prettify(s) 15293 } 15294 15295 // GoString returns the string representation. 15296 // 15297 // API parameter values that are decorated as "sensitive" in the API will not 15298 // be included in the string output. The member name will be present, but the 15299 // value will be replaced with "sensitive". 15300 func (s GetRateBasedRuleOutput) GoString() string { 15301 return s.String() 15302 } 15303 15304 // SetRule sets the Rule field's value. 15305 func (s *GetRateBasedRuleOutput) SetRule(v *RateBasedRule) *GetRateBasedRuleOutput { 15306 s.Rule = v 15307 return s 15308 } 15309 15310 type GetRegexMatchSetInput struct { 15311 _ struct{} `type:"structure"` 15312 15313 // The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId 15314 // is returned by CreateRegexMatchSet and by ListRegexMatchSets. 15315 // 15316 // RegexMatchSetId is a required field 15317 RegexMatchSetId *string `min:"1" type:"string" required:"true"` 15318 } 15319 15320 // String returns the string representation. 15321 // 15322 // API parameter values that are decorated as "sensitive" in the API will not 15323 // be included in the string output. The member name will be present, but the 15324 // value will be replaced with "sensitive". 15325 func (s GetRegexMatchSetInput) String() string { 15326 return awsutil.Prettify(s) 15327 } 15328 15329 // GoString returns the string representation. 15330 // 15331 // API parameter values that are decorated as "sensitive" in the API will not 15332 // be included in the string output. The member name will be present, but the 15333 // value will be replaced with "sensitive". 15334 func (s GetRegexMatchSetInput) GoString() string { 15335 return s.String() 15336 } 15337 15338 // Validate inspects the fields of the type to determine if they are valid. 15339 func (s *GetRegexMatchSetInput) Validate() error { 15340 invalidParams := request.ErrInvalidParams{Context: "GetRegexMatchSetInput"} 15341 if s.RegexMatchSetId == nil { 15342 invalidParams.Add(request.NewErrParamRequired("RegexMatchSetId")) 15343 } 15344 if s.RegexMatchSetId != nil && len(*s.RegexMatchSetId) < 1 { 15345 invalidParams.Add(request.NewErrParamMinLen("RegexMatchSetId", 1)) 15346 } 15347 15348 if invalidParams.Len() > 0 { 15349 return invalidParams 15350 } 15351 return nil 15352 } 15353 15354 // SetRegexMatchSetId sets the RegexMatchSetId field's value. 15355 func (s *GetRegexMatchSetInput) SetRegexMatchSetId(v string) *GetRegexMatchSetInput { 15356 s.RegexMatchSetId = &v 15357 return s 15358 } 15359 15360 type GetRegexMatchSetOutput struct { 15361 _ struct{} `type:"structure"` 15362 15363 // Information about the RegexMatchSet that you specified in the GetRegexMatchSet 15364 // request. For more information, see RegexMatchTuple. 15365 RegexMatchSet *RegexMatchSet `type:"structure"` 15366 } 15367 15368 // String returns the string representation. 15369 // 15370 // API parameter values that are decorated as "sensitive" in the API will not 15371 // be included in the string output. The member name will be present, but the 15372 // value will be replaced with "sensitive". 15373 func (s GetRegexMatchSetOutput) String() string { 15374 return awsutil.Prettify(s) 15375 } 15376 15377 // GoString returns the string representation. 15378 // 15379 // API parameter values that are decorated as "sensitive" in the API will not 15380 // be included in the string output. The member name will be present, but the 15381 // value will be replaced with "sensitive". 15382 func (s GetRegexMatchSetOutput) GoString() string { 15383 return s.String() 15384 } 15385 15386 // SetRegexMatchSet sets the RegexMatchSet field's value. 15387 func (s *GetRegexMatchSetOutput) SetRegexMatchSet(v *RegexMatchSet) *GetRegexMatchSetOutput { 15388 s.RegexMatchSet = v 15389 return s 15390 } 15391 15392 type GetRegexPatternSetInput struct { 15393 _ struct{} `type:"structure"` 15394 15395 // The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId 15396 // is returned by CreateRegexPatternSet and by ListRegexPatternSets. 15397 // 15398 // RegexPatternSetId is a required field 15399 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 15400 } 15401 15402 // String returns the string representation. 15403 // 15404 // API parameter values that are decorated as "sensitive" in the API will not 15405 // be included in the string output. The member name will be present, but the 15406 // value will be replaced with "sensitive". 15407 func (s GetRegexPatternSetInput) String() string { 15408 return awsutil.Prettify(s) 15409 } 15410 15411 // GoString returns the string representation. 15412 // 15413 // API parameter values that are decorated as "sensitive" in the API will not 15414 // be included in the string output. The member name will be present, but the 15415 // value will be replaced with "sensitive". 15416 func (s GetRegexPatternSetInput) GoString() string { 15417 return s.String() 15418 } 15419 15420 // Validate inspects the fields of the type to determine if they are valid. 15421 func (s *GetRegexPatternSetInput) Validate() error { 15422 invalidParams := request.ErrInvalidParams{Context: "GetRegexPatternSetInput"} 15423 if s.RegexPatternSetId == nil { 15424 invalidParams.Add(request.NewErrParamRequired("RegexPatternSetId")) 15425 } 15426 if s.RegexPatternSetId != nil && len(*s.RegexPatternSetId) < 1 { 15427 invalidParams.Add(request.NewErrParamMinLen("RegexPatternSetId", 1)) 15428 } 15429 15430 if invalidParams.Len() > 0 { 15431 return invalidParams 15432 } 15433 return nil 15434 } 15435 15436 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 15437 func (s *GetRegexPatternSetInput) SetRegexPatternSetId(v string) *GetRegexPatternSetInput { 15438 s.RegexPatternSetId = &v 15439 return s 15440 } 15441 15442 type GetRegexPatternSetOutput struct { 15443 _ struct{} `type:"structure"` 15444 15445 // Information about the RegexPatternSet that you specified in the GetRegexPatternSet 15446 // request, including the identifier of the pattern set and the regular expression 15447 // patterns you want AWS WAF to search for. 15448 RegexPatternSet *RegexPatternSet `type:"structure"` 15449 } 15450 15451 // String returns the string representation. 15452 // 15453 // API parameter values that are decorated as "sensitive" in the API will not 15454 // be included in the string output. The member name will be present, but the 15455 // value will be replaced with "sensitive". 15456 func (s GetRegexPatternSetOutput) String() string { 15457 return awsutil.Prettify(s) 15458 } 15459 15460 // GoString returns the string representation. 15461 // 15462 // API parameter values that are decorated as "sensitive" in the API will not 15463 // be included in the string output. The member name will be present, but the 15464 // value will be replaced with "sensitive". 15465 func (s GetRegexPatternSetOutput) GoString() string { 15466 return s.String() 15467 } 15468 15469 // SetRegexPatternSet sets the RegexPatternSet field's value. 15470 func (s *GetRegexPatternSetOutput) SetRegexPatternSet(v *RegexPatternSet) *GetRegexPatternSetOutput { 15471 s.RegexPatternSet = v 15472 return s 15473 } 15474 15475 type GetRuleGroupInput struct { 15476 _ struct{} `type:"structure"` 15477 15478 // The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned 15479 // by CreateRuleGroup and by ListRuleGroups. 15480 // 15481 // RuleGroupId is a required field 15482 RuleGroupId *string `min:"1" type:"string" required:"true"` 15483 } 15484 15485 // String returns the string representation. 15486 // 15487 // API parameter values that are decorated as "sensitive" in the API will not 15488 // be included in the string output. The member name will be present, but the 15489 // value will be replaced with "sensitive". 15490 func (s GetRuleGroupInput) String() string { 15491 return awsutil.Prettify(s) 15492 } 15493 15494 // GoString returns the string representation. 15495 // 15496 // API parameter values that are decorated as "sensitive" in the API will not 15497 // be included in the string output. The member name will be present, but the 15498 // value will be replaced with "sensitive". 15499 func (s GetRuleGroupInput) GoString() string { 15500 return s.String() 15501 } 15502 15503 // Validate inspects the fields of the type to determine if they are valid. 15504 func (s *GetRuleGroupInput) Validate() error { 15505 invalidParams := request.ErrInvalidParams{Context: "GetRuleGroupInput"} 15506 if s.RuleGroupId == nil { 15507 invalidParams.Add(request.NewErrParamRequired("RuleGroupId")) 15508 } 15509 if s.RuleGroupId != nil && len(*s.RuleGroupId) < 1 { 15510 invalidParams.Add(request.NewErrParamMinLen("RuleGroupId", 1)) 15511 } 15512 15513 if invalidParams.Len() > 0 { 15514 return invalidParams 15515 } 15516 return nil 15517 } 15518 15519 // SetRuleGroupId sets the RuleGroupId field's value. 15520 func (s *GetRuleGroupInput) SetRuleGroupId(v string) *GetRuleGroupInput { 15521 s.RuleGroupId = &v 15522 return s 15523 } 15524 15525 type GetRuleGroupOutput struct { 15526 _ struct{} `type:"structure"` 15527 15528 // Information about the RuleGroup that you specified in the GetRuleGroup request. 15529 RuleGroup *RuleGroup `type:"structure"` 15530 } 15531 15532 // String returns the string representation. 15533 // 15534 // API parameter values that are decorated as "sensitive" in the API will not 15535 // be included in the string output. The member name will be present, but the 15536 // value will be replaced with "sensitive". 15537 func (s GetRuleGroupOutput) String() string { 15538 return awsutil.Prettify(s) 15539 } 15540 15541 // GoString returns the string representation. 15542 // 15543 // API parameter values that are decorated as "sensitive" in the API will not 15544 // be included in the string output. The member name will be present, but the 15545 // value will be replaced with "sensitive". 15546 func (s GetRuleGroupOutput) GoString() string { 15547 return s.String() 15548 } 15549 15550 // SetRuleGroup sets the RuleGroup field's value. 15551 func (s *GetRuleGroupOutput) SetRuleGroup(v *RuleGroup) *GetRuleGroupOutput { 15552 s.RuleGroup = v 15553 return s 15554 } 15555 15556 type GetRuleInput struct { 15557 _ struct{} `type:"structure"` 15558 15559 // The RuleId of the Rule that you want to get. RuleId is returned by CreateRule 15560 // and by ListRules. 15561 // 15562 // RuleId is a required field 15563 RuleId *string `min:"1" type:"string" required:"true"` 15564 } 15565 15566 // String returns the string representation. 15567 // 15568 // API parameter values that are decorated as "sensitive" in the API will not 15569 // be included in the string output. The member name will be present, but the 15570 // value will be replaced with "sensitive". 15571 func (s GetRuleInput) String() string { 15572 return awsutil.Prettify(s) 15573 } 15574 15575 // GoString returns the string representation. 15576 // 15577 // API parameter values that are decorated as "sensitive" in the API will not 15578 // be included in the string output. The member name will be present, but the 15579 // value will be replaced with "sensitive". 15580 func (s GetRuleInput) GoString() string { 15581 return s.String() 15582 } 15583 15584 // Validate inspects the fields of the type to determine if they are valid. 15585 func (s *GetRuleInput) Validate() error { 15586 invalidParams := request.ErrInvalidParams{Context: "GetRuleInput"} 15587 if s.RuleId == nil { 15588 invalidParams.Add(request.NewErrParamRequired("RuleId")) 15589 } 15590 if s.RuleId != nil && len(*s.RuleId) < 1 { 15591 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 15592 } 15593 15594 if invalidParams.Len() > 0 { 15595 return invalidParams 15596 } 15597 return nil 15598 } 15599 15600 // SetRuleId sets the RuleId field's value. 15601 func (s *GetRuleInput) SetRuleId(v string) *GetRuleInput { 15602 s.RuleId = &v 15603 return s 15604 } 15605 15606 type GetRuleOutput struct { 15607 _ struct{} `type:"structure"` 15608 15609 // Information about the Rule that you specified in the GetRule request. For 15610 // more information, see the following topics: 15611 // 15612 // * Rule: Contains MetricName, Name, an array of Predicate objects, and 15613 // RuleId 15614 // 15615 // * Predicate: Each Predicate object contains DataId, Negated, and Type 15616 Rule *Rule `type:"structure"` 15617 } 15618 15619 // String returns the string representation. 15620 // 15621 // API parameter values that are decorated as "sensitive" in the API will not 15622 // be included in the string output. The member name will be present, but the 15623 // value will be replaced with "sensitive". 15624 func (s GetRuleOutput) String() string { 15625 return awsutil.Prettify(s) 15626 } 15627 15628 // GoString returns the string representation. 15629 // 15630 // API parameter values that are decorated as "sensitive" in the API will not 15631 // be included in the string output. The member name will be present, but the 15632 // value will be replaced with "sensitive". 15633 func (s GetRuleOutput) GoString() string { 15634 return s.String() 15635 } 15636 15637 // SetRule sets the Rule field's value. 15638 func (s *GetRuleOutput) SetRule(v *Rule) *GetRuleOutput { 15639 s.Rule = v 15640 return s 15641 } 15642 15643 type GetSampledRequestsInput struct { 15644 _ struct{} `type:"structure"` 15645 15646 // The number of requests that you want AWS WAF to return from among the first 15647 // 5,000 requests that your AWS resource received during the time range. If 15648 // your resource received fewer requests than the value of MaxItems, GetSampledRequests 15649 // returns information about all of them. 15650 // 15651 // MaxItems is a required field 15652 MaxItems *int64 `min:"1" type:"long" required:"true"` 15653 15654 // RuleId is one of three values: 15655 // 15656 // * The RuleId of the Rule or the RuleGroupId of the RuleGroup for which 15657 // you want GetSampledRequests to return a sample of requests. 15658 // 15659 // * Default_Action, which causes GetSampledRequests to return a sample of 15660 // the requests that didn't match any of the rules in the specified WebACL. 15661 // 15662 // RuleId is a required field 15663 RuleId *string `min:"1" type:"string" required:"true"` 15664 15665 // The start date and time and the end date and time of the range for which 15666 // you want GetSampledRequests to return a sample of requests. You must specify 15667 // the times in Coordinated Universal Time (UTC) format. UTC format includes 15668 // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify 15669 // any time range in the previous three hours. 15670 // 15671 // TimeWindow is a required field 15672 TimeWindow *TimeWindow `type:"structure" required:"true"` 15673 15674 // The WebACLId of the WebACL for which you want GetSampledRequests to return 15675 // a sample of requests. 15676 // 15677 // WebAclId is a required field 15678 WebAclId *string `min:"1" type:"string" required:"true"` 15679 } 15680 15681 // String returns the string representation. 15682 // 15683 // API parameter values that are decorated as "sensitive" in the API will not 15684 // be included in the string output. The member name will be present, but the 15685 // value will be replaced with "sensitive". 15686 func (s GetSampledRequestsInput) String() string { 15687 return awsutil.Prettify(s) 15688 } 15689 15690 // GoString returns the string representation. 15691 // 15692 // API parameter values that are decorated as "sensitive" in the API will not 15693 // be included in the string output. The member name will be present, but the 15694 // value will be replaced with "sensitive". 15695 func (s GetSampledRequestsInput) GoString() string { 15696 return s.String() 15697 } 15698 15699 // Validate inspects the fields of the type to determine if they are valid. 15700 func (s *GetSampledRequestsInput) Validate() error { 15701 invalidParams := request.ErrInvalidParams{Context: "GetSampledRequestsInput"} 15702 if s.MaxItems == nil { 15703 invalidParams.Add(request.NewErrParamRequired("MaxItems")) 15704 } 15705 if s.MaxItems != nil && *s.MaxItems < 1 { 15706 invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) 15707 } 15708 if s.RuleId == nil { 15709 invalidParams.Add(request.NewErrParamRequired("RuleId")) 15710 } 15711 if s.RuleId != nil && len(*s.RuleId) < 1 { 15712 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 15713 } 15714 if s.TimeWindow == nil { 15715 invalidParams.Add(request.NewErrParamRequired("TimeWindow")) 15716 } 15717 if s.WebAclId == nil { 15718 invalidParams.Add(request.NewErrParamRequired("WebAclId")) 15719 } 15720 if s.WebAclId != nil && len(*s.WebAclId) < 1 { 15721 invalidParams.Add(request.NewErrParamMinLen("WebAclId", 1)) 15722 } 15723 if s.TimeWindow != nil { 15724 if err := s.TimeWindow.Validate(); err != nil { 15725 invalidParams.AddNested("TimeWindow", err.(request.ErrInvalidParams)) 15726 } 15727 } 15728 15729 if invalidParams.Len() > 0 { 15730 return invalidParams 15731 } 15732 return nil 15733 } 15734 15735 // SetMaxItems sets the MaxItems field's value. 15736 func (s *GetSampledRequestsInput) SetMaxItems(v int64) *GetSampledRequestsInput { 15737 s.MaxItems = &v 15738 return s 15739 } 15740 15741 // SetRuleId sets the RuleId field's value. 15742 func (s *GetSampledRequestsInput) SetRuleId(v string) *GetSampledRequestsInput { 15743 s.RuleId = &v 15744 return s 15745 } 15746 15747 // SetTimeWindow sets the TimeWindow field's value. 15748 func (s *GetSampledRequestsInput) SetTimeWindow(v *TimeWindow) *GetSampledRequestsInput { 15749 s.TimeWindow = v 15750 return s 15751 } 15752 15753 // SetWebAclId sets the WebAclId field's value. 15754 func (s *GetSampledRequestsInput) SetWebAclId(v string) *GetSampledRequestsInput { 15755 s.WebAclId = &v 15756 return s 15757 } 15758 15759 type GetSampledRequestsOutput struct { 15760 _ struct{} `type:"structure"` 15761 15762 // The total number of requests from which GetSampledRequests got a sample of 15763 // MaxItems requests. If PopulationSize is less than MaxItems, the sample includes 15764 // every request that your AWS resource received during the specified time range. 15765 PopulationSize *int64 `type:"long"` 15766 15767 // A complex type that contains detailed information about each of the requests 15768 // in the sample. 15769 SampledRequests []*SampledHTTPRequest `type:"list"` 15770 15771 // Usually, TimeWindow is the time range that you specified in the GetSampledRequests 15772 // request. However, if your AWS resource received more than 5,000 requests 15773 // during the time range that you specified in the request, GetSampledRequests 15774 // returns the time range for the first 5,000 requests. Times are in Coordinated 15775 // Universal Time (UTC) format. 15776 TimeWindow *TimeWindow `type:"structure"` 15777 } 15778 15779 // String returns the string representation. 15780 // 15781 // API parameter values that are decorated as "sensitive" in the API will not 15782 // be included in the string output. The member name will be present, but the 15783 // value will be replaced with "sensitive". 15784 func (s GetSampledRequestsOutput) String() string { 15785 return awsutil.Prettify(s) 15786 } 15787 15788 // GoString returns the string representation. 15789 // 15790 // API parameter values that are decorated as "sensitive" in the API will not 15791 // be included in the string output. The member name will be present, but the 15792 // value will be replaced with "sensitive". 15793 func (s GetSampledRequestsOutput) GoString() string { 15794 return s.String() 15795 } 15796 15797 // SetPopulationSize sets the PopulationSize field's value. 15798 func (s *GetSampledRequestsOutput) SetPopulationSize(v int64) *GetSampledRequestsOutput { 15799 s.PopulationSize = &v 15800 return s 15801 } 15802 15803 // SetSampledRequests sets the SampledRequests field's value. 15804 func (s *GetSampledRequestsOutput) SetSampledRequests(v []*SampledHTTPRequest) *GetSampledRequestsOutput { 15805 s.SampledRequests = v 15806 return s 15807 } 15808 15809 // SetTimeWindow sets the TimeWindow field's value. 15810 func (s *GetSampledRequestsOutput) SetTimeWindow(v *TimeWindow) *GetSampledRequestsOutput { 15811 s.TimeWindow = v 15812 return s 15813 } 15814 15815 type GetSizeConstraintSetInput struct { 15816 _ struct{} `type:"structure"` 15817 15818 // The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId 15819 // is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. 15820 // 15821 // SizeConstraintSetId is a required field 15822 SizeConstraintSetId *string `min:"1" type:"string" required:"true"` 15823 } 15824 15825 // String returns the string representation. 15826 // 15827 // API parameter values that are decorated as "sensitive" in the API will not 15828 // be included in the string output. The member name will be present, but the 15829 // value will be replaced with "sensitive". 15830 func (s GetSizeConstraintSetInput) String() string { 15831 return awsutil.Prettify(s) 15832 } 15833 15834 // GoString returns the string representation. 15835 // 15836 // API parameter values that are decorated as "sensitive" in the API will not 15837 // be included in the string output. The member name will be present, but the 15838 // value will be replaced with "sensitive". 15839 func (s GetSizeConstraintSetInput) GoString() string { 15840 return s.String() 15841 } 15842 15843 // Validate inspects the fields of the type to determine if they are valid. 15844 func (s *GetSizeConstraintSetInput) Validate() error { 15845 invalidParams := request.ErrInvalidParams{Context: "GetSizeConstraintSetInput"} 15846 if s.SizeConstraintSetId == nil { 15847 invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) 15848 } 15849 if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { 15850 invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) 15851 } 15852 15853 if invalidParams.Len() > 0 { 15854 return invalidParams 15855 } 15856 return nil 15857 } 15858 15859 // SetSizeConstraintSetId sets the SizeConstraintSetId field's value. 15860 func (s *GetSizeConstraintSetInput) SetSizeConstraintSetId(v string) *GetSizeConstraintSetInput { 15861 s.SizeConstraintSetId = &v 15862 return s 15863 } 15864 15865 type GetSizeConstraintSetOutput struct { 15866 _ struct{} `type:"structure"` 15867 15868 // Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet 15869 // request. For more information, see the following topics: 15870 // 15871 // * SizeConstraintSet: Contains SizeConstraintSetId, SizeConstraints, and 15872 // Name 15873 // 15874 // * SizeConstraints: Contains an array of SizeConstraint objects. Each SizeConstraint 15875 // object contains FieldToMatch, TextTransformation, ComparisonOperator, 15876 // and Size 15877 // 15878 // * FieldToMatch: Contains Data and Type 15879 SizeConstraintSet *SizeConstraintSet `type:"structure"` 15880 } 15881 15882 // String returns the string representation. 15883 // 15884 // API parameter values that are decorated as "sensitive" in the API will not 15885 // be included in the string output. The member name will be present, but the 15886 // value will be replaced with "sensitive". 15887 func (s GetSizeConstraintSetOutput) String() string { 15888 return awsutil.Prettify(s) 15889 } 15890 15891 // GoString returns the string representation. 15892 // 15893 // API parameter values that are decorated as "sensitive" in the API will not 15894 // be included in the string output. The member name will be present, but the 15895 // value will be replaced with "sensitive". 15896 func (s GetSizeConstraintSetOutput) GoString() string { 15897 return s.String() 15898 } 15899 15900 // SetSizeConstraintSet sets the SizeConstraintSet field's value. 15901 func (s *GetSizeConstraintSetOutput) SetSizeConstraintSet(v *SizeConstraintSet) *GetSizeConstraintSetOutput { 15902 s.SizeConstraintSet = v 15903 return s 15904 } 15905 15906 // A request to get a SqlInjectionMatchSet. 15907 type GetSqlInjectionMatchSetInput struct { 15908 _ struct{} `type:"structure"` 15909 15910 // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. 15911 // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. 15912 // 15913 // SqlInjectionMatchSetId is a required field 15914 SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` 15915 } 15916 15917 // String returns the string representation. 15918 // 15919 // API parameter values that are decorated as "sensitive" in the API will not 15920 // be included in the string output. The member name will be present, but the 15921 // value will be replaced with "sensitive". 15922 func (s GetSqlInjectionMatchSetInput) String() string { 15923 return awsutil.Prettify(s) 15924 } 15925 15926 // GoString returns the string representation. 15927 // 15928 // API parameter values that are decorated as "sensitive" in the API will not 15929 // be included in the string output. The member name will be present, but the 15930 // value will be replaced with "sensitive". 15931 func (s GetSqlInjectionMatchSetInput) GoString() string { 15932 return s.String() 15933 } 15934 15935 // Validate inspects the fields of the type to determine if they are valid. 15936 func (s *GetSqlInjectionMatchSetInput) Validate() error { 15937 invalidParams := request.ErrInvalidParams{Context: "GetSqlInjectionMatchSetInput"} 15938 if s.SqlInjectionMatchSetId == nil { 15939 invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) 15940 } 15941 if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { 15942 invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) 15943 } 15944 15945 if invalidParams.Len() > 0 { 15946 return invalidParams 15947 } 15948 return nil 15949 } 15950 15951 // SetSqlInjectionMatchSetId sets the SqlInjectionMatchSetId field's value. 15952 func (s *GetSqlInjectionMatchSetInput) SetSqlInjectionMatchSetId(v string) *GetSqlInjectionMatchSetInput { 15953 s.SqlInjectionMatchSetId = &v 15954 return s 15955 } 15956 15957 // The response to a GetSqlInjectionMatchSet request. 15958 type GetSqlInjectionMatchSetOutput struct { 15959 _ struct{} `type:"structure"` 15960 15961 // Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet 15962 // request. For more information, see the following topics: 15963 // 15964 // * SqlInjectionMatchSet: Contains Name, SqlInjectionMatchSetId, and an 15965 // array of SqlInjectionMatchTuple objects 15966 // 15967 // * SqlInjectionMatchTuple: Each SqlInjectionMatchTuple object contains 15968 // FieldToMatch and TextTransformation 15969 // 15970 // * FieldToMatch: Contains Data and Type 15971 SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` 15972 } 15973 15974 // String returns the string representation. 15975 // 15976 // API parameter values that are decorated as "sensitive" in the API will not 15977 // be included in the string output. The member name will be present, but the 15978 // value will be replaced with "sensitive". 15979 func (s GetSqlInjectionMatchSetOutput) String() string { 15980 return awsutil.Prettify(s) 15981 } 15982 15983 // GoString returns the string representation. 15984 // 15985 // API parameter values that are decorated as "sensitive" in the API will not 15986 // be included in the string output. The member name will be present, but the 15987 // value will be replaced with "sensitive". 15988 func (s GetSqlInjectionMatchSetOutput) GoString() string { 15989 return s.String() 15990 } 15991 15992 // SetSqlInjectionMatchSet sets the SqlInjectionMatchSet field's value. 15993 func (s *GetSqlInjectionMatchSetOutput) SetSqlInjectionMatchSet(v *SqlInjectionMatchSet) *GetSqlInjectionMatchSetOutput { 15994 s.SqlInjectionMatchSet = v 15995 return s 15996 } 15997 15998 type GetWebACLInput struct { 15999 _ struct{} `type:"structure"` 16000 16001 // The WebACLId of the WebACL that you want to get. WebACLId is returned by 16002 // CreateWebACL and by ListWebACLs. 16003 // 16004 // WebACLId is a required field 16005 WebACLId *string `min:"1" type:"string" required:"true"` 16006 } 16007 16008 // String returns the string representation. 16009 // 16010 // API parameter values that are decorated as "sensitive" in the API will not 16011 // be included in the string output. The member name will be present, but the 16012 // value will be replaced with "sensitive". 16013 func (s GetWebACLInput) String() string { 16014 return awsutil.Prettify(s) 16015 } 16016 16017 // GoString returns the string representation. 16018 // 16019 // API parameter values that are decorated as "sensitive" in the API will not 16020 // be included in the string output. The member name will be present, but the 16021 // value will be replaced with "sensitive". 16022 func (s GetWebACLInput) GoString() string { 16023 return s.String() 16024 } 16025 16026 // Validate inspects the fields of the type to determine if they are valid. 16027 func (s *GetWebACLInput) Validate() error { 16028 invalidParams := request.ErrInvalidParams{Context: "GetWebACLInput"} 16029 if s.WebACLId == nil { 16030 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 16031 } 16032 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 16033 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 16034 } 16035 16036 if invalidParams.Len() > 0 { 16037 return invalidParams 16038 } 16039 return nil 16040 } 16041 16042 // SetWebACLId sets the WebACLId field's value. 16043 func (s *GetWebACLInput) SetWebACLId(v string) *GetWebACLInput { 16044 s.WebACLId = &v 16045 return s 16046 } 16047 16048 type GetWebACLOutput struct { 16049 _ struct{} `type:"structure"` 16050 16051 // Information about the WebACL that you specified in the GetWebACL request. 16052 // For more information, see the following topics: 16053 // 16054 // * WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, 16055 // and WebACLId 16056 // 16057 // * DefaultAction (Data type is WafAction): Contains Type 16058 // 16059 // * Rules: Contains an array of ActivatedRule objects, which contain Action, 16060 // Priority, and RuleId 16061 // 16062 // * Action: Contains Type 16063 WebACL *WebACL `type:"structure"` 16064 } 16065 16066 // String returns the string representation. 16067 // 16068 // API parameter values that are decorated as "sensitive" in the API will not 16069 // be included in the string output. The member name will be present, but the 16070 // value will be replaced with "sensitive". 16071 func (s GetWebACLOutput) String() string { 16072 return awsutil.Prettify(s) 16073 } 16074 16075 // GoString returns the string representation. 16076 // 16077 // API parameter values that are decorated as "sensitive" in the API will not 16078 // be included in the string output. The member name will be present, but the 16079 // value will be replaced with "sensitive". 16080 func (s GetWebACLOutput) GoString() string { 16081 return s.String() 16082 } 16083 16084 // SetWebACL sets the WebACL field's value. 16085 func (s *GetWebACLOutput) SetWebACL(v *WebACL) *GetWebACLOutput { 16086 s.WebACL = v 16087 return s 16088 } 16089 16090 // A request to get an XssMatchSet. 16091 type GetXssMatchSetInput struct { 16092 _ struct{} `type:"structure"` 16093 16094 // The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId 16095 // is returned by CreateXssMatchSet and by ListXssMatchSets. 16096 // 16097 // XssMatchSetId is a required field 16098 XssMatchSetId *string `min:"1" type:"string" required:"true"` 16099 } 16100 16101 // String returns the string representation. 16102 // 16103 // API parameter values that are decorated as "sensitive" in the API will not 16104 // be included in the string output. The member name will be present, but the 16105 // value will be replaced with "sensitive". 16106 func (s GetXssMatchSetInput) String() string { 16107 return awsutil.Prettify(s) 16108 } 16109 16110 // GoString returns the string representation. 16111 // 16112 // API parameter values that are decorated as "sensitive" in the API will not 16113 // be included in the string output. The member name will be present, but the 16114 // value will be replaced with "sensitive". 16115 func (s GetXssMatchSetInput) GoString() string { 16116 return s.String() 16117 } 16118 16119 // Validate inspects the fields of the type to determine if they are valid. 16120 func (s *GetXssMatchSetInput) Validate() error { 16121 invalidParams := request.ErrInvalidParams{Context: "GetXssMatchSetInput"} 16122 if s.XssMatchSetId == nil { 16123 invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) 16124 } 16125 if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { 16126 invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) 16127 } 16128 16129 if invalidParams.Len() > 0 { 16130 return invalidParams 16131 } 16132 return nil 16133 } 16134 16135 // SetXssMatchSetId sets the XssMatchSetId field's value. 16136 func (s *GetXssMatchSetInput) SetXssMatchSetId(v string) *GetXssMatchSetInput { 16137 s.XssMatchSetId = &v 16138 return s 16139 } 16140 16141 // The response to a GetXssMatchSet request. 16142 type GetXssMatchSetOutput struct { 16143 _ struct{} `type:"structure"` 16144 16145 // Information about the XssMatchSet that you specified in the GetXssMatchSet 16146 // request. For more information, see the following topics: 16147 // 16148 // * XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple 16149 // objects 16150 // 16151 // * XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation 16152 // 16153 // * FieldToMatch: Contains Data and Type 16154 XssMatchSet *XssMatchSet `type:"structure"` 16155 } 16156 16157 // String returns the string representation. 16158 // 16159 // API parameter values that are decorated as "sensitive" in the API will not 16160 // be included in the string output. The member name will be present, but the 16161 // value will be replaced with "sensitive". 16162 func (s GetXssMatchSetOutput) String() string { 16163 return awsutil.Prettify(s) 16164 } 16165 16166 // GoString returns the string representation. 16167 // 16168 // API parameter values that are decorated as "sensitive" in the API will not 16169 // be included in the string output. The member name will be present, but the 16170 // value will be replaced with "sensitive". 16171 func (s GetXssMatchSetOutput) GoString() string { 16172 return s.String() 16173 } 16174 16175 // SetXssMatchSet sets the XssMatchSet field's value. 16176 func (s *GetXssMatchSetOutput) SetXssMatchSet(v *XssMatchSet) *GetXssMatchSetOutput { 16177 s.XssMatchSet = v 16178 return s 16179 } 16180 16181 // 16182 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16183 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16184 // in the developer guide. 16185 // 16186 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16187 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16188 // With the latest version, AWS WAF has a single set of endpoints for regional 16189 // and global use. 16190 // 16191 // The response from a GetSampledRequests request includes an HTTPHeader complex 16192 // type that appears as Headers in the response syntax. HTTPHeader contains 16193 // the names and values of all of the headers that appear in one of the web 16194 // requests that were returned by GetSampledRequests. 16195 type HTTPHeader struct { 16196 _ struct{} `type:"structure"` 16197 16198 // The name of one of the headers in the sampled web request. 16199 Name *string `type:"string"` 16200 16201 // The value of one of the headers in the sampled web request. 16202 Value *string `type:"string"` 16203 } 16204 16205 // String returns the string representation. 16206 // 16207 // API parameter values that are decorated as "sensitive" in the API will not 16208 // be included in the string output. The member name will be present, but the 16209 // value will be replaced with "sensitive". 16210 func (s HTTPHeader) String() string { 16211 return awsutil.Prettify(s) 16212 } 16213 16214 // GoString returns the string representation. 16215 // 16216 // API parameter values that are decorated as "sensitive" in the API will not 16217 // be included in the string output. The member name will be present, but the 16218 // value will be replaced with "sensitive". 16219 func (s HTTPHeader) GoString() string { 16220 return s.String() 16221 } 16222 16223 // SetName sets the Name field's value. 16224 func (s *HTTPHeader) SetName(v string) *HTTPHeader { 16225 s.Name = &v 16226 return s 16227 } 16228 16229 // SetValue sets the Value field's value. 16230 func (s *HTTPHeader) SetValue(v string) *HTTPHeader { 16231 s.Value = &v 16232 return s 16233 } 16234 16235 // 16236 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16237 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16238 // in the developer guide. 16239 // 16240 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16241 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16242 // With the latest version, AWS WAF has a single set of endpoints for regional 16243 // and global use. 16244 // 16245 // The response from a GetSampledRequests request includes an HTTPRequest complex 16246 // type that appears as Request in the response syntax. HTTPRequest contains 16247 // information about one of the web requests that were returned by GetSampledRequests. 16248 type HTTPRequest struct { 16249 _ struct{} `type:"structure"` 16250 16251 // The IP address that the request originated from. If the WebACL is associated 16252 // with a CloudFront distribution, this is the value of one of the following 16253 // fields in CloudFront access logs: 16254 // 16255 // * c-ip, if the viewer did not use an HTTP proxy or a load balancer to 16256 // send the request 16257 // 16258 // * x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer 16259 // to send the request 16260 ClientIP *string `type:"string"` 16261 16262 // The two-letter country code for the country that the request originated from. 16263 // For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2 16264 // (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). 16265 Country *string `type:"string"` 16266 16267 // The HTTP version specified in the sampled web request, for example, HTTP/1.1. 16268 HTTPVersion *string `type:"string"` 16269 16270 // A complex type that contains two values for each header in the sampled web 16271 // request: the name of the header and the value of the header. 16272 Headers []*HTTPHeader `type:"list"` 16273 16274 // The HTTP method specified in the sampled web request. CloudFront supports 16275 // the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. 16276 Method *string `type:"string"` 16277 16278 // The part of a web request that identifies the resource, for example, /images/daily-ad.jpg. 16279 URI *string `type:"string"` 16280 } 16281 16282 // String returns the string representation. 16283 // 16284 // API parameter values that are decorated as "sensitive" in the API will not 16285 // be included in the string output. The member name will be present, but the 16286 // value will be replaced with "sensitive". 16287 func (s HTTPRequest) String() string { 16288 return awsutil.Prettify(s) 16289 } 16290 16291 // GoString returns the string representation. 16292 // 16293 // API parameter values that are decorated as "sensitive" in the API will not 16294 // be included in the string output. The member name will be present, but the 16295 // value will be replaced with "sensitive". 16296 func (s HTTPRequest) GoString() string { 16297 return s.String() 16298 } 16299 16300 // SetClientIP sets the ClientIP field's value. 16301 func (s *HTTPRequest) SetClientIP(v string) *HTTPRequest { 16302 s.ClientIP = &v 16303 return s 16304 } 16305 16306 // SetCountry sets the Country field's value. 16307 func (s *HTTPRequest) SetCountry(v string) *HTTPRequest { 16308 s.Country = &v 16309 return s 16310 } 16311 16312 // SetHTTPVersion sets the HTTPVersion field's value. 16313 func (s *HTTPRequest) SetHTTPVersion(v string) *HTTPRequest { 16314 s.HTTPVersion = &v 16315 return s 16316 } 16317 16318 // SetHeaders sets the Headers field's value. 16319 func (s *HTTPRequest) SetHeaders(v []*HTTPHeader) *HTTPRequest { 16320 s.Headers = v 16321 return s 16322 } 16323 16324 // SetMethod sets the Method field's value. 16325 func (s *HTTPRequest) SetMethod(v string) *HTTPRequest { 16326 s.Method = &v 16327 return s 16328 } 16329 16330 // SetURI sets the URI field's value. 16331 func (s *HTTPRequest) SetURI(v string) *HTTPRequest { 16332 s.URI = &v 16333 return s 16334 } 16335 16336 // 16337 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16338 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16339 // in the developer guide. 16340 // 16341 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16342 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16343 // With the latest version, AWS WAF has a single set of endpoints for regional 16344 // and global use. 16345 // 16346 // Contains one or more IP addresses or blocks of IP addresses specified in 16347 // Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address 16348 // ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address 16349 // ranges: /24, /32, /48, /56, /64, and /128. 16350 // 16351 // To specify an individual IP address, you specify the four-part IP address 16352 // followed by a /32, for example, 192.0.2.0/32. To block a range of IP addresses, 16353 // you can specify /8 or any range between /16 through /32 (for IPv4) or /24, 16354 // /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, 16355 // see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). 16356 type IPSet struct { 16357 _ struct{} `type:"structure"` 16358 16359 // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) 16360 // that web requests originate from. If the WebACL is associated with a CloudFront 16361 // distribution and the viewer did not use an HTTP proxy or a load balancer 16362 // to send the request, this is the value of the c-ip field in the CloudFront 16363 // access logs. 16364 // 16365 // IPSetDescriptors is a required field 16366 IPSetDescriptors []*IPSetDescriptor `type:"list" required:"true"` 16367 16368 // The IPSetId for an IPSet. You use IPSetId to get information about an IPSet 16369 // (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a 16370 // Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from 16371 // AWS WAF (see DeleteIPSet). 16372 // 16373 // IPSetId is returned by CreateIPSet and by ListIPSets. 16374 // 16375 // IPSetId is a required field 16376 IPSetId *string `min:"1" type:"string" required:"true"` 16377 16378 // A friendly name or description of the IPSet. You can't change the name of 16379 // an IPSet after you create it. 16380 Name *string `min:"1" type:"string"` 16381 } 16382 16383 // String returns the string representation. 16384 // 16385 // API parameter values that are decorated as "sensitive" in the API will not 16386 // be included in the string output. The member name will be present, but the 16387 // value will be replaced with "sensitive". 16388 func (s IPSet) String() string { 16389 return awsutil.Prettify(s) 16390 } 16391 16392 // GoString returns the string representation. 16393 // 16394 // API parameter values that are decorated as "sensitive" in the API will not 16395 // be included in the string output. The member name will be present, but the 16396 // value will be replaced with "sensitive". 16397 func (s IPSet) GoString() string { 16398 return s.String() 16399 } 16400 16401 // SetIPSetDescriptors sets the IPSetDescriptors field's value. 16402 func (s *IPSet) SetIPSetDescriptors(v []*IPSetDescriptor) *IPSet { 16403 s.IPSetDescriptors = v 16404 return s 16405 } 16406 16407 // SetIPSetId sets the IPSetId field's value. 16408 func (s *IPSet) SetIPSetId(v string) *IPSet { 16409 s.IPSetId = &v 16410 return s 16411 } 16412 16413 // SetName sets the Name field's value. 16414 func (s *IPSet) SetName(v string) *IPSet { 16415 s.Name = &v 16416 return s 16417 } 16418 16419 // 16420 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16421 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16422 // in the developer guide. 16423 // 16424 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16425 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16426 // With the latest version, AWS WAF has a single set of endpoints for regional 16427 // and global use. 16428 // 16429 // Specifies the IP address type (IPV4 or IPV6) and the IP address range (in 16430 // CIDR format) that web requests originate from. 16431 type IPSetDescriptor struct { 16432 _ struct{} `type:"structure"` 16433 16434 // Specify IPV4 or IPV6. 16435 // 16436 // Type is a required field 16437 Type *string `type:"string" required:"true" enum:"IPSetDescriptorType"` 16438 16439 // Specify an IPv4 address by using CIDR notation. For example: 16440 // 16441 // * To configure AWS WAF to allow, block, or count requests that originated 16442 // from the IP address 192.0.2.44, specify 192.0.2.44/32. 16443 // 16444 // * To configure AWS WAF to allow, block, or count requests that originated 16445 // from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. 16446 // 16447 // For more information about CIDR notation, see the Wikipedia entry Classless 16448 // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). 16449 // 16450 // Specify an IPv6 address by using CIDR notation. For example: 16451 // 16452 // * To configure AWS WAF to allow, block, or count requests that originated 16453 // from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. 16454 // 16455 // * To configure AWS WAF to allow, block, or count requests that originated 16456 // from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, 16457 // specify 1111:0000:0000:0000:0000:0000:0000:0000/64. 16458 // 16459 // Value is a required field 16460 Value *string `min:"1" type:"string" required:"true"` 16461 } 16462 16463 // String returns the string representation. 16464 // 16465 // API parameter values that are decorated as "sensitive" in the API will not 16466 // be included in the string output. The member name will be present, but the 16467 // value will be replaced with "sensitive". 16468 func (s IPSetDescriptor) String() string { 16469 return awsutil.Prettify(s) 16470 } 16471 16472 // GoString returns the string representation. 16473 // 16474 // API parameter values that are decorated as "sensitive" in the API will not 16475 // be included in the string output. The member name will be present, but the 16476 // value will be replaced with "sensitive". 16477 func (s IPSetDescriptor) GoString() string { 16478 return s.String() 16479 } 16480 16481 // Validate inspects the fields of the type to determine if they are valid. 16482 func (s *IPSetDescriptor) Validate() error { 16483 invalidParams := request.ErrInvalidParams{Context: "IPSetDescriptor"} 16484 if s.Type == nil { 16485 invalidParams.Add(request.NewErrParamRequired("Type")) 16486 } 16487 if s.Value == nil { 16488 invalidParams.Add(request.NewErrParamRequired("Value")) 16489 } 16490 if s.Value != nil && len(*s.Value) < 1 { 16491 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 16492 } 16493 16494 if invalidParams.Len() > 0 { 16495 return invalidParams 16496 } 16497 return nil 16498 } 16499 16500 // SetType sets the Type field's value. 16501 func (s *IPSetDescriptor) SetType(v string) *IPSetDescriptor { 16502 s.Type = &v 16503 return s 16504 } 16505 16506 // SetValue sets the Value field's value. 16507 func (s *IPSetDescriptor) SetValue(v string) *IPSetDescriptor { 16508 s.Value = &v 16509 return s 16510 } 16511 16512 // 16513 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16514 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16515 // in the developer guide. 16516 // 16517 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16518 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16519 // With the latest version, AWS WAF has a single set of endpoints for regional 16520 // and global use. 16521 // 16522 // Contains the identifier and the name of the IPSet. 16523 type IPSetSummary struct { 16524 _ struct{} `type:"structure"` 16525 16526 // The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get 16527 // detailed information about an IPSet. 16528 // 16529 // IPSetId is a required field 16530 IPSetId *string `min:"1" type:"string" required:"true"` 16531 16532 // A friendly name or description of the IPSet. You can't change the name of 16533 // an IPSet after you create it. 16534 // 16535 // Name is a required field 16536 Name *string `min:"1" type:"string" required:"true"` 16537 } 16538 16539 // String returns the string representation. 16540 // 16541 // API parameter values that are decorated as "sensitive" in the API will not 16542 // be included in the string output. The member name will be present, but the 16543 // value will be replaced with "sensitive". 16544 func (s IPSetSummary) String() string { 16545 return awsutil.Prettify(s) 16546 } 16547 16548 // GoString returns the string representation. 16549 // 16550 // API parameter values that are decorated as "sensitive" in the API will not 16551 // be included in the string output. The member name will be present, but the 16552 // value will be replaced with "sensitive". 16553 func (s IPSetSummary) GoString() string { 16554 return s.String() 16555 } 16556 16557 // SetIPSetId sets the IPSetId field's value. 16558 func (s *IPSetSummary) SetIPSetId(v string) *IPSetSummary { 16559 s.IPSetId = &v 16560 return s 16561 } 16562 16563 // SetName sets the Name field's value. 16564 func (s *IPSetSummary) SetName(v string) *IPSetSummary { 16565 s.Name = &v 16566 return s 16567 } 16568 16569 // 16570 // This is AWS WAF Classic documentation. For more information, see AWS WAF 16571 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 16572 // in the developer guide. 16573 // 16574 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 16575 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 16576 // With the latest version, AWS WAF has a single set of endpoints for regional 16577 // and global use. 16578 // 16579 // Specifies the type of update to perform to an IPSet with UpdateIPSet. 16580 type IPSetUpdate struct { 16581 _ struct{} `type:"structure"` 16582 16583 // Specifies whether to insert or delete an IP address with UpdateIPSet. 16584 // 16585 // Action is a required field 16586 Action *string `type:"string" required:"true" enum:"ChangeAction"` 16587 16588 // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) 16589 // that web requests originate from. 16590 // 16591 // IPSetDescriptor is a required field 16592 IPSetDescriptor *IPSetDescriptor `type:"structure" required:"true"` 16593 } 16594 16595 // String returns the string representation. 16596 // 16597 // API parameter values that are decorated as "sensitive" in the API will not 16598 // be included in the string output. The member name will be present, but the 16599 // value will be replaced with "sensitive". 16600 func (s IPSetUpdate) String() string { 16601 return awsutil.Prettify(s) 16602 } 16603 16604 // GoString returns the string representation. 16605 // 16606 // API parameter values that are decorated as "sensitive" in the API will not 16607 // be included in the string output. The member name will be present, but the 16608 // value will be replaced with "sensitive". 16609 func (s IPSetUpdate) GoString() string { 16610 return s.String() 16611 } 16612 16613 // Validate inspects the fields of the type to determine if they are valid. 16614 func (s *IPSetUpdate) Validate() error { 16615 invalidParams := request.ErrInvalidParams{Context: "IPSetUpdate"} 16616 if s.Action == nil { 16617 invalidParams.Add(request.NewErrParamRequired("Action")) 16618 } 16619 if s.IPSetDescriptor == nil { 16620 invalidParams.Add(request.NewErrParamRequired("IPSetDescriptor")) 16621 } 16622 if s.IPSetDescriptor != nil { 16623 if err := s.IPSetDescriptor.Validate(); err != nil { 16624 invalidParams.AddNested("IPSetDescriptor", err.(request.ErrInvalidParams)) 16625 } 16626 } 16627 16628 if invalidParams.Len() > 0 { 16629 return invalidParams 16630 } 16631 return nil 16632 } 16633 16634 // SetAction sets the Action field's value. 16635 func (s *IPSetUpdate) SetAction(v string) *IPSetUpdate { 16636 s.Action = &v 16637 return s 16638 } 16639 16640 // SetIPSetDescriptor sets the IPSetDescriptor field's value. 16641 func (s *IPSetUpdate) SetIPSetDescriptor(v *IPSetDescriptor) *IPSetUpdate { 16642 s.IPSetDescriptor = v 16643 return s 16644 } 16645 16646 // The operation failed because of a system problem, even though the request 16647 // was valid. Retry your request. 16648 type InternalErrorException struct { 16649 _ struct{} `type:"structure"` 16650 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16651 16652 Message_ *string `locationName:"message" type:"string"` 16653 } 16654 16655 // String returns the string representation. 16656 // 16657 // API parameter values that are decorated as "sensitive" in the API will not 16658 // be included in the string output. The member name will be present, but the 16659 // value will be replaced with "sensitive". 16660 func (s InternalErrorException) String() string { 16661 return awsutil.Prettify(s) 16662 } 16663 16664 // GoString returns the string representation. 16665 // 16666 // API parameter values that are decorated as "sensitive" in the API will not 16667 // be included in the string output. The member name will be present, but the 16668 // value will be replaced with "sensitive". 16669 func (s InternalErrorException) GoString() string { 16670 return s.String() 16671 } 16672 16673 func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 16674 return &InternalErrorException{ 16675 RespMetadata: v, 16676 } 16677 } 16678 16679 // Code returns the exception type name. 16680 func (s *InternalErrorException) Code() string { 16681 return "WAFInternalErrorException" 16682 } 16683 16684 // Message returns the exception's message. 16685 func (s *InternalErrorException) Message() string { 16686 if s.Message_ != nil { 16687 return *s.Message_ 16688 } 16689 return "" 16690 } 16691 16692 // OrigErr always returns nil, satisfies awserr.Error interface. 16693 func (s *InternalErrorException) OrigErr() error { 16694 return nil 16695 } 16696 16697 func (s *InternalErrorException) Error() string { 16698 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16699 } 16700 16701 // Status code returns the HTTP status code for the request's response error. 16702 func (s *InternalErrorException) StatusCode() int { 16703 return s.RespMetadata.StatusCode 16704 } 16705 16706 // RequestID returns the service's response RequestID for request. 16707 func (s *InternalErrorException) RequestID() string { 16708 return s.RespMetadata.RequestID 16709 } 16710 16711 // The operation failed because you tried to create, update, or delete an object 16712 // by using an invalid account identifier. 16713 type InvalidAccountException struct { 16714 _ struct{} `type:"structure"` 16715 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16716 16717 Message_ *string `locationName:"message" type:"string"` 16718 } 16719 16720 // String returns the string representation. 16721 // 16722 // API parameter values that are decorated as "sensitive" in the API will not 16723 // be included in the string output. The member name will be present, but the 16724 // value will be replaced with "sensitive". 16725 func (s InvalidAccountException) String() string { 16726 return awsutil.Prettify(s) 16727 } 16728 16729 // GoString returns the string representation. 16730 // 16731 // API parameter values that are decorated as "sensitive" in the API will not 16732 // be included in the string output. The member name will be present, but the 16733 // value will be replaced with "sensitive". 16734 func (s InvalidAccountException) GoString() string { 16735 return s.String() 16736 } 16737 16738 func newErrorInvalidAccountException(v protocol.ResponseMetadata) error { 16739 return &InvalidAccountException{ 16740 RespMetadata: v, 16741 } 16742 } 16743 16744 // Code returns the exception type name. 16745 func (s *InvalidAccountException) Code() string { 16746 return "WAFInvalidAccountException" 16747 } 16748 16749 // Message returns the exception's message. 16750 func (s *InvalidAccountException) Message() string { 16751 if s.Message_ != nil { 16752 return *s.Message_ 16753 } 16754 return "" 16755 } 16756 16757 // OrigErr always returns nil, satisfies awserr.Error interface. 16758 func (s *InvalidAccountException) OrigErr() error { 16759 return nil 16760 } 16761 16762 func (s *InvalidAccountException) Error() string { 16763 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16764 } 16765 16766 // Status code returns the HTTP status code for the request's response error. 16767 func (s *InvalidAccountException) StatusCode() int { 16768 return s.RespMetadata.StatusCode 16769 } 16770 16771 // RequestID returns the service's response RequestID for request. 16772 func (s *InvalidAccountException) RequestID() string { 16773 return s.RespMetadata.RequestID 16774 } 16775 16776 // The operation failed because there was nothing to do. For example: 16777 // 16778 // * You tried to remove a Rule from a WebACL, but the Rule isn't in the 16779 // specified WebACL. 16780 // 16781 // * You tried to remove an IP address from an IPSet, but the IP address 16782 // isn't in the specified IPSet. 16783 // 16784 // * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple 16785 // isn't in the specified WebACL. 16786 // 16787 // * You tried to add a Rule to a WebACL, but the Rule already exists in 16788 // the specified WebACL. 16789 // 16790 // * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple 16791 // already exists in the specified WebACL. 16792 type InvalidOperationException struct { 16793 _ struct{} `type:"structure"` 16794 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16795 16796 Message_ *string `locationName:"message" type:"string"` 16797 } 16798 16799 // String returns the string representation. 16800 // 16801 // API parameter values that are decorated as "sensitive" in the API will not 16802 // be included in the string output. The member name will be present, but the 16803 // value will be replaced with "sensitive". 16804 func (s InvalidOperationException) String() string { 16805 return awsutil.Prettify(s) 16806 } 16807 16808 // GoString returns the string representation. 16809 // 16810 // API parameter values that are decorated as "sensitive" in the API will not 16811 // be included in the string output. The member name will be present, but the 16812 // value will be replaced with "sensitive". 16813 func (s InvalidOperationException) GoString() string { 16814 return s.String() 16815 } 16816 16817 func newErrorInvalidOperationException(v protocol.ResponseMetadata) error { 16818 return &InvalidOperationException{ 16819 RespMetadata: v, 16820 } 16821 } 16822 16823 // Code returns the exception type name. 16824 func (s *InvalidOperationException) Code() string { 16825 return "WAFInvalidOperationException" 16826 } 16827 16828 // Message returns the exception's message. 16829 func (s *InvalidOperationException) Message() string { 16830 if s.Message_ != nil { 16831 return *s.Message_ 16832 } 16833 return "" 16834 } 16835 16836 // OrigErr always returns nil, satisfies awserr.Error interface. 16837 func (s *InvalidOperationException) OrigErr() error { 16838 return nil 16839 } 16840 16841 func (s *InvalidOperationException) Error() string { 16842 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16843 } 16844 16845 // Status code returns the HTTP status code for the request's response error. 16846 func (s *InvalidOperationException) StatusCode() int { 16847 return s.RespMetadata.StatusCode 16848 } 16849 16850 // RequestID returns the service's response RequestID for request. 16851 func (s *InvalidOperationException) RequestID() string { 16852 return s.RespMetadata.RequestID 16853 } 16854 16855 // The operation failed because AWS WAF didn't recognize a parameter in the 16856 // request. For example: 16857 // 16858 // * You specified an invalid parameter name. 16859 // 16860 // * You specified an invalid value. 16861 // 16862 // * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) 16863 // using an action other than INSERT or DELETE. 16864 // 16865 // * You tried to create a WebACL with a DefaultAction Type other than ALLOW, 16866 // BLOCK, or COUNT. 16867 // 16868 // * You tried to create a RateBasedRule with a RateKey value other than 16869 // IP. 16870 // 16871 // * You tried to update a WebACL with a WafAction Type other than ALLOW, 16872 // BLOCK, or COUNT. 16873 // 16874 // * You tried to update a ByteMatchSet with a FieldToMatch Type other than 16875 // HEADER, METHOD, QUERY_STRING, URI, or BODY. 16876 // 16877 // * You tried to update a ByteMatchSet with a Field of HEADER but no value 16878 // for Data. 16879 // 16880 // * Your request references an ARN that is malformed, or corresponds to 16881 // a resource with which a web ACL cannot be associated. 16882 type InvalidParameterException struct { 16883 _ struct{} `type:"structure"` 16884 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16885 16886 Field *string `locationName:"field" type:"string" enum:"ParameterExceptionField"` 16887 16888 Message_ *string `locationName:"message" type:"string"` 16889 16890 Parameter *string `locationName:"parameter" min:"1" type:"string"` 16891 16892 Reason *string `locationName:"reason" type:"string" enum:"ParameterExceptionReason"` 16893 } 16894 16895 // String returns the string representation. 16896 // 16897 // API parameter values that are decorated as "sensitive" in the API will not 16898 // be included in the string output. The member name will be present, but the 16899 // value will be replaced with "sensitive". 16900 func (s InvalidParameterException) String() string { 16901 return awsutil.Prettify(s) 16902 } 16903 16904 // GoString returns the string representation. 16905 // 16906 // API parameter values that are decorated as "sensitive" in the API will not 16907 // be included in the string output. The member name will be present, but the 16908 // value will be replaced with "sensitive". 16909 func (s InvalidParameterException) GoString() string { 16910 return s.String() 16911 } 16912 16913 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 16914 return &InvalidParameterException{ 16915 RespMetadata: v, 16916 } 16917 } 16918 16919 // Code returns the exception type name. 16920 func (s *InvalidParameterException) Code() string { 16921 return "WAFInvalidParameterException" 16922 } 16923 16924 // Message returns the exception's message. 16925 func (s *InvalidParameterException) Message() string { 16926 if s.Message_ != nil { 16927 return *s.Message_ 16928 } 16929 return "" 16930 } 16931 16932 // OrigErr always returns nil, satisfies awserr.Error interface. 16933 func (s *InvalidParameterException) OrigErr() error { 16934 return nil 16935 } 16936 16937 func (s *InvalidParameterException) Error() string { 16938 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 16939 } 16940 16941 // Status code returns the HTTP status code for the request's response error. 16942 func (s *InvalidParameterException) StatusCode() int { 16943 return s.RespMetadata.StatusCode 16944 } 16945 16946 // RequestID returns the service's response RequestID for request. 16947 func (s *InvalidParameterException) RequestID() string { 16948 return s.RespMetadata.RequestID 16949 } 16950 16951 // The operation failed because the specified policy is not in the proper format. 16952 // 16953 // The policy is subject to the following restrictions: 16954 // 16955 // * You can attach only one policy with each PutPermissionPolicy request. 16956 // 16957 // * The policy must include an Effect, Action and Principal. 16958 // 16959 // * Effect must specify Allow. 16960 // 16961 // * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, 16962 // waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard 16963 // actions in the policy will be rejected. 16964 // 16965 // * The policy cannot include a Resource parameter. 16966 // 16967 // * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup 16968 // must exist in the same region. 16969 // 16970 // * The user making the request must be the owner of the RuleGroup. 16971 // 16972 // * Your policy must be composed using IAM Policy version 2012-10-17. 16973 type InvalidPermissionPolicyException struct { 16974 _ struct{} `type:"structure"` 16975 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16976 16977 Message_ *string `locationName:"message" type:"string"` 16978 } 16979 16980 // String returns the string representation. 16981 // 16982 // API parameter values that are decorated as "sensitive" in the API will not 16983 // be included in the string output. The member name will be present, but the 16984 // value will be replaced with "sensitive". 16985 func (s InvalidPermissionPolicyException) String() string { 16986 return awsutil.Prettify(s) 16987 } 16988 16989 // GoString returns the string representation. 16990 // 16991 // API parameter values that are decorated as "sensitive" in the API will not 16992 // be included in the string output. The member name will be present, but the 16993 // value will be replaced with "sensitive". 16994 func (s InvalidPermissionPolicyException) GoString() string { 16995 return s.String() 16996 } 16997 16998 func newErrorInvalidPermissionPolicyException(v protocol.ResponseMetadata) error { 16999 return &InvalidPermissionPolicyException{ 17000 RespMetadata: v, 17001 } 17002 } 17003 17004 // Code returns the exception type name. 17005 func (s *InvalidPermissionPolicyException) Code() string { 17006 return "WAFInvalidPermissionPolicyException" 17007 } 17008 17009 // Message returns the exception's message. 17010 func (s *InvalidPermissionPolicyException) Message() string { 17011 if s.Message_ != nil { 17012 return *s.Message_ 17013 } 17014 return "" 17015 } 17016 17017 // OrigErr always returns nil, satisfies awserr.Error interface. 17018 func (s *InvalidPermissionPolicyException) OrigErr() error { 17019 return nil 17020 } 17021 17022 func (s *InvalidPermissionPolicyException) Error() string { 17023 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17024 } 17025 17026 // Status code returns the HTTP status code for the request's response error. 17027 func (s *InvalidPermissionPolicyException) StatusCode() int { 17028 return s.RespMetadata.StatusCode 17029 } 17030 17031 // RequestID returns the service's response RequestID for request. 17032 func (s *InvalidPermissionPolicyException) RequestID() string { 17033 return s.RespMetadata.RequestID 17034 } 17035 17036 // The regular expression (regex) you specified in RegexPatternString is invalid. 17037 type InvalidRegexPatternException struct { 17038 _ struct{} `type:"structure"` 17039 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17040 17041 Message_ *string `locationName:"message" type:"string"` 17042 } 17043 17044 // String returns the string representation. 17045 // 17046 // API parameter values that are decorated as "sensitive" in the API will not 17047 // be included in the string output. The member name will be present, but the 17048 // value will be replaced with "sensitive". 17049 func (s InvalidRegexPatternException) String() string { 17050 return awsutil.Prettify(s) 17051 } 17052 17053 // GoString returns the string representation. 17054 // 17055 // API parameter values that are decorated as "sensitive" in the API will not 17056 // be included in the string output. The member name will be present, but the 17057 // value will be replaced with "sensitive". 17058 func (s InvalidRegexPatternException) GoString() string { 17059 return s.String() 17060 } 17061 17062 func newErrorInvalidRegexPatternException(v protocol.ResponseMetadata) error { 17063 return &InvalidRegexPatternException{ 17064 RespMetadata: v, 17065 } 17066 } 17067 17068 // Code returns the exception type name. 17069 func (s *InvalidRegexPatternException) Code() string { 17070 return "WAFInvalidRegexPatternException" 17071 } 17072 17073 // Message returns the exception's message. 17074 func (s *InvalidRegexPatternException) Message() string { 17075 if s.Message_ != nil { 17076 return *s.Message_ 17077 } 17078 return "" 17079 } 17080 17081 // OrigErr always returns nil, satisfies awserr.Error interface. 17082 func (s *InvalidRegexPatternException) OrigErr() error { 17083 return nil 17084 } 17085 17086 func (s *InvalidRegexPatternException) Error() string { 17087 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17088 } 17089 17090 // Status code returns the HTTP status code for the request's response error. 17091 func (s *InvalidRegexPatternException) StatusCode() int { 17092 return s.RespMetadata.StatusCode 17093 } 17094 17095 // RequestID returns the service's response RequestID for request. 17096 func (s *InvalidRegexPatternException) RequestID() string { 17097 return s.RespMetadata.RequestID 17098 } 17099 17100 // The operation exceeds a resource limit, for example, the maximum number of 17101 // WebACL objects that you can create for an AWS account. For more information, 17102 // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) 17103 // in the AWS WAF Developer Guide. 17104 type LimitsExceededException struct { 17105 _ struct{} `type:"structure"` 17106 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17107 17108 Message_ *string `locationName:"message" type:"string"` 17109 } 17110 17111 // String returns the string representation. 17112 // 17113 // API parameter values that are decorated as "sensitive" in the API will not 17114 // be included in the string output. The member name will be present, but the 17115 // value will be replaced with "sensitive". 17116 func (s LimitsExceededException) String() string { 17117 return awsutil.Prettify(s) 17118 } 17119 17120 // GoString returns the string representation. 17121 // 17122 // API parameter values that are decorated as "sensitive" in the API will not 17123 // be included in the string output. The member name will be present, but the 17124 // value will be replaced with "sensitive". 17125 func (s LimitsExceededException) GoString() string { 17126 return s.String() 17127 } 17128 17129 func newErrorLimitsExceededException(v protocol.ResponseMetadata) error { 17130 return &LimitsExceededException{ 17131 RespMetadata: v, 17132 } 17133 } 17134 17135 // Code returns the exception type name. 17136 func (s *LimitsExceededException) Code() string { 17137 return "WAFLimitsExceededException" 17138 } 17139 17140 // Message returns the exception's message. 17141 func (s *LimitsExceededException) Message() string { 17142 if s.Message_ != nil { 17143 return *s.Message_ 17144 } 17145 return "" 17146 } 17147 17148 // OrigErr always returns nil, satisfies awserr.Error interface. 17149 func (s *LimitsExceededException) OrigErr() error { 17150 return nil 17151 } 17152 17153 func (s *LimitsExceededException) Error() string { 17154 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17155 } 17156 17157 // Status code returns the HTTP status code for the request's response error. 17158 func (s *LimitsExceededException) StatusCode() int { 17159 return s.RespMetadata.StatusCode 17160 } 17161 17162 // RequestID returns the service's response RequestID for request. 17163 func (s *LimitsExceededException) RequestID() string { 17164 return s.RespMetadata.RequestID 17165 } 17166 17167 type ListActivatedRulesInRuleGroupInput struct { 17168 _ struct{} `type:"structure"` 17169 17170 // Specifies the number of ActivatedRules that you want AWS WAF to return for 17171 // this request. If you have more ActivatedRules than the number that you specify 17172 // for Limit, the response includes a NextMarker value that you can use to get 17173 // another batch of ActivatedRules. 17174 Limit *int64 `type:"integer"` 17175 17176 // If you specify a value for Limit and you have more ActivatedRules than the 17177 // value of Limit, AWS WAF returns a NextMarker value in the response that allows 17178 // you to list another group of ActivatedRules. For the second and subsequent 17179 // ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from 17180 // the previous response to get information about another batch of ActivatedRules. 17181 NextMarker *string `min:"1" type:"string"` 17182 17183 // The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule 17184 // objects. 17185 RuleGroupId *string `min:"1" type:"string"` 17186 } 17187 17188 // String returns the string representation. 17189 // 17190 // API parameter values that are decorated as "sensitive" in the API will not 17191 // be included in the string output. The member name will be present, but the 17192 // value will be replaced with "sensitive". 17193 func (s ListActivatedRulesInRuleGroupInput) String() string { 17194 return awsutil.Prettify(s) 17195 } 17196 17197 // GoString returns the string representation. 17198 // 17199 // API parameter values that are decorated as "sensitive" in the API will not 17200 // be included in the string output. The member name will be present, but the 17201 // value will be replaced with "sensitive". 17202 func (s ListActivatedRulesInRuleGroupInput) GoString() string { 17203 return s.String() 17204 } 17205 17206 // Validate inspects the fields of the type to determine if they are valid. 17207 func (s *ListActivatedRulesInRuleGroupInput) Validate() error { 17208 invalidParams := request.ErrInvalidParams{Context: "ListActivatedRulesInRuleGroupInput"} 17209 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17210 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17211 } 17212 if s.RuleGroupId != nil && len(*s.RuleGroupId) < 1 { 17213 invalidParams.Add(request.NewErrParamMinLen("RuleGroupId", 1)) 17214 } 17215 17216 if invalidParams.Len() > 0 { 17217 return invalidParams 17218 } 17219 return nil 17220 } 17221 17222 // SetLimit sets the Limit field's value. 17223 func (s *ListActivatedRulesInRuleGroupInput) SetLimit(v int64) *ListActivatedRulesInRuleGroupInput { 17224 s.Limit = &v 17225 return s 17226 } 17227 17228 // SetNextMarker sets the NextMarker field's value. 17229 func (s *ListActivatedRulesInRuleGroupInput) SetNextMarker(v string) *ListActivatedRulesInRuleGroupInput { 17230 s.NextMarker = &v 17231 return s 17232 } 17233 17234 // SetRuleGroupId sets the RuleGroupId field's value. 17235 func (s *ListActivatedRulesInRuleGroupInput) SetRuleGroupId(v string) *ListActivatedRulesInRuleGroupInput { 17236 s.RuleGroupId = &v 17237 return s 17238 } 17239 17240 type ListActivatedRulesInRuleGroupOutput struct { 17241 _ struct{} `type:"structure"` 17242 17243 // An array of ActivatedRules objects. 17244 ActivatedRules []*ActivatedRule `type:"list"` 17245 17246 // If you have more ActivatedRules than the number that you specified for Limit 17247 // in the request, the response includes a NextMarker value. To list more ActivatedRules, 17248 // submit another ListActivatedRulesInRuleGroup request, and specify the NextMarker 17249 // value from the response in the NextMarker value in the next request. 17250 NextMarker *string `min:"1" type:"string"` 17251 } 17252 17253 // String returns the string representation. 17254 // 17255 // API parameter values that are decorated as "sensitive" in the API will not 17256 // be included in the string output. The member name will be present, but the 17257 // value will be replaced with "sensitive". 17258 func (s ListActivatedRulesInRuleGroupOutput) String() string { 17259 return awsutil.Prettify(s) 17260 } 17261 17262 // GoString returns the string representation. 17263 // 17264 // API parameter values that are decorated as "sensitive" in the API will not 17265 // be included in the string output. The member name will be present, but the 17266 // value will be replaced with "sensitive". 17267 func (s ListActivatedRulesInRuleGroupOutput) GoString() string { 17268 return s.String() 17269 } 17270 17271 // SetActivatedRules sets the ActivatedRules field's value. 17272 func (s *ListActivatedRulesInRuleGroupOutput) SetActivatedRules(v []*ActivatedRule) *ListActivatedRulesInRuleGroupOutput { 17273 s.ActivatedRules = v 17274 return s 17275 } 17276 17277 // SetNextMarker sets the NextMarker field's value. 17278 func (s *ListActivatedRulesInRuleGroupOutput) SetNextMarker(v string) *ListActivatedRulesInRuleGroupOutput { 17279 s.NextMarker = &v 17280 return s 17281 } 17282 17283 type ListByteMatchSetsInput struct { 17284 _ struct{} `type:"structure"` 17285 17286 // Specifies the number of ByteMatchSet objects that you want AWS WAF to return 17287 // for this request. If you have more ByteMatchSets objects than the number 17288 // you specify for Limit, the response includes a NextMarker value that you 17289 // can use to get another batch of ByteMatchSet objects. 17290 Limit *int64 `type:"integer"` 17291 17292 // If you specify a value for Limit and you have more ByteMatchSets than the 17293 // value of Limit, AWS WAF returns a NextMarker value in the response that allows 17294 // you to list another group of ByteMatchSets. For the second and subsequent 17295 // ListByteMatchSets requests, specify the value of NextMarker from the previous 17296 // response to get information about another batch of ByteMatchSets. 17297 NextMarker *string `min:"1" type:"string"` 17298 } 17299 17300 // String returns the string representation. 17301 // 17302 // API parameter values that are decorated as "sensitive" in the API will not 17303 // be included in the string output. The member name will be present, but the 17304 // value will be replaced with "sensitive". 17305 func (s ListByteMatchSetsInput) String() string { 17306 return awsutil.Prettify(s) 17307 } 17308 17309 // GoString returns the string representation. 17310 // 17311 // API parameter values that are decorated as "sensitive" in the API will not 17312 // be included in the string output. The member name will be present, but the 17313 // value will be replaced with "sensitive". 17314 func (s ListByteMatchSetsInput) GoString() string { 17315 return s.String() 17316 } 17317 17318 // Validate inspects the fields of the type to determine if they are valid. 17319 func (s *ListByteMatchSetsInput) Validate() error { 17320 invalidParams := request.ErrInvalidParams{Context: "ListByteMatchSetsInput"} 17321 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17322 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17323 } 17324 17325 if invalidParams.Len() > 0 { 17326 return invalidParams 17327 } 17328 return nil 17329 } 17330 17331 // SetLimit sets the Limit field's value. 17332 func (s *ListByteMatchSetsInput) SetLimit(v int64) *ListByteMatchSetsInput { 17333 s.Limit = &v 17334 return s 17335 } 17336 17337 // SetNextMarker sets the NextMarker field's value. 17338 func (s *ListByteMatchSetsInput) SetNextMarker(v string) *ListByteMatchSetsInput { 17339 s.NextMarker = &v 17340 return s 17341 } 17342 17343 type ListByteMatchSetsOutput struct { 17344 _ struct{} `type:"structure"` 17345 17346 // An array of ByteMatchSetSummary objects. 17347 ByteMatchSets []*ByteMatchSetSummary `type:"list"` 17348 17349 // If you have more ByteMatchSet objects than the number that you specified 17350 // for Limit in the request, the response includes a NextMarker value. To list 17351 // more ByteMatchSet objects, submit another ListByteMatchSets request, and 17352 // specify the NextMarker value from the response in the NextMarker value in 17353 // the next request. 17354 NextMarker *string `min:"1" type:"string"` 17355 } 17356 17357 // String returns the string representation. 17358 // 17359 // API parameter values that are decorated as "sensitive" in the API will not 17360 // be included in the string output. The member name will be present, but the 17361 // value will be replaced with "sensitive". 17362 func (s ListByteMatchSetsOutput) String() string { 17363 return awsutil.Prettify(s) 17364 } 17365 17366 // GoString returns the string representation. 17367 // 17368 // API parameter values that are decorated as "sensitive" in the API will not 17369 // be included in the string output. The member name will be present, but the 17370 // value will be replaced with "sensitive". 17371 func (s ListByteMatchSetsOutput) GoString() string { 17372 return s.String() 17373 } 17374 17375 // SetByteMatchSets sets the ByteMatchSets field's value. 17376 func (s *ListByteMatchSetsOutput) SetByteMatchSets(v []*ByteMatchSetSummary) *ListByteMatchSetsOutput { 17377 s.ByteMatchSets = v 17378 return s 17379 } 17380 17381 // SetNextMarker sets the NextMarker field's value. 17382 func (s *ListByteMatchSetsOutput) SetNextMarker(v string) *ListByteMatchSetsOutput { 17383 s.NextMarker = &v 17384 return s 17385 } 17386 17387 type ListGeoMatchSetsInput struct { 17388 _ struct{} `type:"structure"` 17389 17390 // Specifies the number of GeoMatchSet objects that you want AWS WAF to return 17391 // for this request. If you have more GeoMatchSet objects than the number you 17392 // specify for Limit, the response includes a NextMarker value that you can 17393 // use to get another batch of GeoMatchSet objects. 17394 Limit *int64 `type:"integer"` 17395 17396 // If you specify a value for Limit and you have more GeoMatchSets than the 17397 // value of Limit, AWS WAF returns a NextMarker value in the response that allows 17398 // you to list another group of GeoMatchSet objects. For the second and subsequent 17399 // ListGeoMatchSets requests, specify the value of NextMarker from the previous 17400 // response to get information about another batch of GeoMatchSet objects. 17401 NextMarker *string `min:"1" type:"string"` 17402 } 17403 17404 // String returns the string representation. 17405 // 17406 // API parameter values that are decorated as "sensitive" in the API will not 17407 // be included in the string output. The member name will be present, but the 17408 // value will be replaced with "sensitive". 17409 func (s ListGeoMatchSetsInput) String() string { 17410 return awsutil.Prettify(s) 17411 } 17412 17413 // GoString returns the string representation. 17414 // 17415 // API parameter values that are decorated as "sensitive" in the API will not 17416 // be included in the string output. The member name will be present, but the 17417 // value will be replaced with "sensitive". 17418 func (s ListGeoMatchSetsInput) GoString() string { 17419 return s.String() 17420 } 17421 17422 // Validate inspects the fields of the type to determine if they are valid. 17423 func (s *ListGeoMatchSetsInput) Validate() error { 17424 invalidParams := request.ErrInvalidParams{Context: "ListGeoMatchSetsInput"} 17425 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17426 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17427 } 17428 17429 if invalidParams.Len() > 0 { 17430 return invalidParams 17431 } 17432 return nil 17433 } 17434 17435 // SetLimit sets the Limit field's value. 17436 func (s *ListGeoMatchSetsInput) SetLimit(v int64) *ListGeoMatchSetsInput { 17437 s.Limit = &v 17438 return s 17439 } 17440 17441 // SetNextMarker sets the NextMarker field's value. 17442 func (s *ListGeoMatchSetsInput) SetNextMarker(v string) *ListGeoMatchSetsInput { 17443 s.NextMarker = &v 17444 return s 17445 } 17446 17447 type ListGeoMatchSetsOutput struct { 17448 _ struct{} `type:"structure"` 17449 17450 // An array of GeoMatchSetSummary objects. 17451 GeoMatchSets []*GeoMatchSetSummary `type:"list"` 17452 17453 // If you have more GeoMatchSet objects than the number that you specified for 17454 // Limit in the request, the response includes a NextMarker value. To list more 17455 // GeoMatchSet objects, submit another ListGeoMatchSets request, and specify 17456 // the NextMarker value from the response in the NextMarker value in the next 17457 // request. 17458 NextMarker *string `min:"1" type:"string"` 17459 } 17460 17461 // String returns the string representation. 17462 // 17463 // API parameter values that are decorated as "sensitive" in the API will not 17464 // be included in the string output. The member name will be present, but the 17465 // value will be replaced with "sensitive". 17466 func (s ListGeoMatchSetsOutput) String() string { 17467 return awsutil.Prettify(s) 17468 } 17469 17470 // GoString returns the string representation. 17471 // 17472 // API parameter values that are decorated as "sensitive" in the API will not 17473 // be included in the string output. The member name will be present, but the 17474 // value will be replaced with "sensitive". 17475 func (s ListGeoMatchSetsOutput) GoString() string { 17476 return s.String() 17477 } 17478 17479 // SetGeoMatchSets sets the GeoMatchSets field's value. 17480 func (s *ListGeoMatchSetsOutput) SetGeoMatchSets(v []*GeoMatchSetSummary) *ListGeoMatchSetsOutput { 17481 s.GeoMatchSets = v 17482 return s 17483 } 17484 17485 // SetNextMarker sets the NextMarker field's value. 17486 func (s *ListGeoMatchSetsOutput) SetNextMarker(v string) *ListGeoMatchSetsOutput { 17487 s.NextMarker = &v 17488 return s 17489 } 17490 17491 type ListIPSetsInput struct { 17492 _ struct{} `type:"structure"` 17493 17494 // Specifies the number of IPSet objects that you want AWS WAF to return for 17495 // this request. If you have more IPSet objects than the number you specify 17496 // for Limit, the response includes a NextMarker value that you can use to get 17497 // another batch of IPSet objects. 17498 Limit *int64 `type:"integer"` 17499 17500 // AWS WAF returns a NextMarker value in the response that allows you to list 17501 // another group of IPSets. For the second and subsequent ListIPSets requests, 17502 // specify the value of NextMarker from the previous response to get information 17503 // about another batch of IPSets. 17504 NextMarker *string `min:"1" type:"string"` 17505 } 17506 17507 // String returns the string representation. 17508 // 17509 // API parameter values that are decorated as "sensitive" in the API will not 17510 // be included in the string output. The member name will be present, but the 17511 // value will be replaced with "sensitive". 17512 func (s ListIPSetsInput) String() string { 17513 return awsutil.Prettify(s) 17514 } 17515 17516 // GoString returns the string representation. 17517 // 17518 // API parameter values that are decorated as "sensitive" in the API will not 17519 // be included in the string output. The member name will be present, but the 17520 // value will be replaced with "sensitive". 17521 func (s ListIPSetsInput) GoString() string { 17522 return s.String() 17523 } 17524 17525 // Validate inspects the fields of the type to determine if they are valid. 17526 func (s *ListIPSetsInput) Validate() error { 17527 invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"} 17528 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17529 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17530 } 17531 17532 if invalidParams.Len() > 0 { 17533 return invalidParams 17534 } 17535 return nil 17536 } 17537 17538 // SetLimit sets the Limit field's value. 17539 func (s *ListIPSetsInput) SetLimit(v int64) *ListIPSetsInput { 17540 s.Limit = &v 17541 return s 17542 } 17543 17544 // SetNextMarker sets the NextMarker field's value. 17545 func (s *ListIPSetsInput) SetNextMarker(v string) *ListIPSetsInput { 17546 s.NextMarker = &v 17547 return s 17548 } 17549 17550 type ListIPSetsOutput struct { 17551 _ struct{} `type:"structure"` 17552 17553 // An array of IPSetSummary objects. 17554 IPSets []*IPSetSummary `type:"list"` 17555 17556 // To list more IPSet objects, submit another ListIPSets request, and in the 17557 // next request use the NextMarker response value as the NextMarker value. 17558 NextMarker *string `min:"1" type:"string"` 17559 } 17560 17561 // String returns the string representation. 17562 // 17563 // API parameter values that are decorated as "sensitive" in the API will not 17564 // be included in the string output. The member name will be present, but the 17565 // value will be replaced with "sensitive". 17566 func (s ListIPSetsOutput) String() string { 17567 return awsutil.Prettify(s) 17568 } 17569 17570 // GoString returns the string representation. 17571 // 17572 // API parameter values that are decorated as "sensitive" in the API will not 17573 // be included in the string output. The member name will be present, but the 17574 // value will be replaced with "sensitive". 17575 func (s ListIPSetsOutput) GoString() string { 17576 return s.String() 17577 } 17578 17579 // SetIPSets sets the IPSets field's value. 17580 func (s *ListIPSetsOutput) SetIPSets(v []*IPSetSummary) *ListIPSetsOutput { 17581 s.IPSets = v 17582 return s 17583 } 17584 17585 // SetNextMarker sets the NextMarker field's value. 17586 func (s *ListIPSetsOutput) SetNextMarker(v string) *ListIPSetsOutput { 17587 s.NextMarker = &v 17588 return s 17589 } 17590 17591 type ListLoggingConfigurationsInput struct { 17592 _ struct{} `type:"structure"` 17593 17594 // Specifies the number of LoggingConfigurations that you want AWS WAF to return 17595 // for this request. If you have more LoggingConfigurations than the number 17596 // that you specify for Limit, the response includes a NextMarker value that 17597 // you can use to get another batch of LoggingConfigurations. 17598 Limit *int64 `type:"integer"` 17599 17600 // If you specify a value for Limit and you have more LoggingConfigurations 17601 // than the value of Limit, AWS WAF returns a NextMarker value in the response 17602 // that allows you to list another group of LoggingConfigurations. For the second 17603 // and subsequent ListLoggingConfigurations requests, specify the value of NextMarker 17604 // from the previous response to get information about another batch of ListLoggingConfigurations. 17605 NextMarker *string `min:"1" type:"string"` 17606 } 17607 17608 // String returns the string representation. 17609 // 17610 // API parameter values that are decorated as "sensitive" in the API will not 17611 // be included in the string output. The member name will be present, but the 17612 // value will be replaced with "sensitive". 17613 func (s ListLoggingConfigurationsInput) String() string { 17614 return awsutil.Prettify(s) 17615 } 17616 17617 // GoString returns the string representation. 17618 // 17619 // API parameter values that are decorated as "sensitive" in the API will not 17620 // be included in the string output. The member name will be present, but the 17621 // value will be replaced with "sensitive". 17622 func (s ListLoggingConfigurationsInput) GoString() string { 17623 return s.String() 17624 } 17625 17626 // Validate inspects the fields of the type to determine if they are valid. 17627 func (s *ListLoggingConfigurationsInput) Validate() error { 17628 invalidParams := request.ErrInvalidParams{Context: "ListLoggingConfigurationsInput"} 17629 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17630 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17631 } 17632 17633 if invalidParams.Len() > 0 { 17634 return invalidParams 17635 } 17636 return nil 17637 } 17638 17639 // SetLimit sets the Limit field's value. 17640 func (s *ListLoggingConfigurationsInput) SetLimit(v int64) *ListLoggingConfigurationsInput { 17641 s.Limit = &v 17642 return s 17643 } 17644 17645 // SetNextMarker sets the NextMarker field's value. 17646 func (s *ListLoggingConfigurationsInput) SetNextMarker(v string) *ListLoggingConfigurationsInput { 17647 s.NextMarker = &v 17648 return s 17649 } 17650 17651 type ListLoggingConfigurationsOutput struct { 17652 _ struct{} `type:"structure"` 17653 17654 // An array of LoggingConfiguration objects. 17655 LoggingConfigurations []*LoggingConfiguration `type:"list"` 17656 17657 // If you have more LoggingConfigurations than the number that you specified 17658 // for Limit in the request, the response includes a NextMarker value. To list 17659 // more LoggingConfigurations, submit another ListLoggingConfigurations request, 17660 // and specify the NextMarker value from the response in the NextMarker value 17661 // in the next request. 17662 NextMarker *string `min:"1" type:"string"` 17663 } 17664 17665 // String returns the string representation. 17666 // 17667 // API parameter values that are decorated as "sensitive" in the API will not 17668 // be included in the string output. The member name will be present, but the 17669 // value will be replaced with "sensitive". 17670 func (s ListLoggingConfigurationsOutput) String() string { 17671 return awsutil.Prettify(s) 17672 } 17673 17674 // GoString returns the string representation. 17675 // 17676 // API parameter values that are decorated as "sensitive" in the API will not 17677 // be included in the string output. The member name will be present, but the 17678 // value will be replaced with "sensitive". 17679 func (s ListLoggingConfigurationsOutput) GoString() string { 17680 return s.String() 17681 } 17682 17683 // SetLoggingConfigurations sets the LoggingConfigurations field's value. 17684 func (s *ListLoggingConfigurationsOutput) SetLoggingConfigurations(v []*LoggingConfiguration) *ListLoggingConfigurationsOutput { 17685 s.LoggingConfigurations = v 17686 return s 17687 } 17688 17689 // SetNextMarker sets the NextMarker field's value. 17690 func (s *ListLoggingConfigurationsOutput) SetNextMarker(v string) *ListLoggingConfigurationsOutput { 17691 s.NextMarker = &v 17692 return s 17693 } 17694 17695 type ListRateBasedRulesInput struct { 17696 _ struct{} `type:"structure"` 17697 17698 // Specifies the number of Rules that you want AWS WAF to return for this request. 17699 // If you have more Rules than the number that you specify for Limit, the response 17700 // includes a NextMarker value that you can use to get another batch of Rules. 17701 Limit *int64 `type:"integer"` 17702 17703 // If you specify a value for Limit and you have more Rules than the value of 17704 // Limit, AWS WAF returns a NextMarker value in the response that allows you 17705 // to list another group of Rules. For the second and subsequent ListRateBasedRules 17706 // requests, specify the value of NextMarker from the previous response to get 17707 // information about another batch of Rules. 17708 NextMarker *string `min:"1" type:"string"` 17709 } 17710 17711 // String returns the string representation. 17712 // 17713 // API parameter values that are decorated as "sensitive" in the API will not 17714 // be included in the string output. The member name will be present, but the 17715 // value will be replaced with "sensitive". 17716 func (s ListRateBasedRulesInput) String() string { 17717 return awsutil.Prettify(s) 17718 } 17719 17720 // GoString returns the string representation. 17721 // 17722 // API parameter values that are decorated as "sensitive" in the API will not 17723 // be included in the string output. The member name will be present, but the 17724 // value will be replaced with "sensitive". 17725 func (s ListRateBasedRulesInput) GoString() string { 17726 return s.String() 17727 } 17728 17729 // Validate inspects the fields of the type to determine if they are valid. 17730 func (s *ListRateBasedRulesInput) Validate() error { 17731 invalidParams := request.ErrInvalidParams{Context: "ListRateBasedRulesInput"} 17732 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17733 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17734 } 17735 17736 if invalidParams.Len() > 0 { 17737 return invalidParams 17738 } 17739 return nil 17740 } 17741 17742 // SetLimit sets the Limit field's value. 17743 func (s *ListRateBasedRulesInput) SetLimit(v int64) *ListRateBasedRulesInput { 17744 s.Limit = &v 17745 return s 17746 } 17747 17748 // SetNextMarker sets the NextMarker field's value. 17749 func (s *ListRateBasedRulesInput) SetNextMarker(v string) *ListRateBasedRulesInput { 17750 s.NextMarker = &v 17751 return s 17752 } 17753 17754 type ListRateBasedRulesOutput struct { 17755 _ struct{} `type:"structure"` 17756 17757 // If you have more Rules than the number that you specified for Limit in the 17758 // request, the response includes a NextMarker value. To list more Rules, submit 17759 // another ListRateBasedRules request, and specify the NextMarker value from 17760 // the response in the NextMarker value in the next request. 17761 NextMarker *string `min:"1" type:"string"` 17762 17763 // An array of RuleSummary objects. 17764 Rules []*RuleSummary `type:"list"` 17765 } 17766 17767 // String returns the string representation. 17768 // 17769 // API parameter values that are decorated as "sensitive" in the API will not 17770 // be included in the string output. The member name will be present, but the 17771 // value will be replaced with "sensitive". 17772 func (s ListRateBasedRulesOutput) String() string { 17773 return awsutil.Prettify(s) 17774 } 17775 17776 // GoString returns the string representation. 17777 // 17778 // API parameter values that are decorated as "sensitive" in the API will not 17779 // be included in the string output. The member name will be present, but the 17780 // value will be replaced with "sensitive". 17781 func (s ListRateBasedRulesOutput) GoString() string { 17782 return s.String() 17783 } 17784 17785 // SetNextMarker sets the NextMarker field's value. 17786 func (s *ListRateBasedRulesOutput) SetNextMarker(v string) *ListRateBasedRulesOutput { 17787 s.NextMarker = &v 17788 return s 17789 } 17790 17791 // SetRules sets the Rules field's value. 17792 func (s *ListRateBasedRulesOutput) SetRules(v []*RuleSummary) *ListRateBasedRulesOutput { 17793 s.Rules = v 17794 return s 17795 } 17796 17797 type ListRegexMatchSetsInput struct { 17798 _ struct{} `type:"structure"` 17799 17800 // Specifies the number of RegexMatchSet objects that you want AWS WAF to return 17801 // for this request. If you have more RegexMatchSet objects than the number 17802 // you specify for Limit, the response includes a NextMarker value that you 17803 // can use to get another batch of RegexMatchSet objects. 17804 Limit *int64 `type:"integer"` 17805 17806 // If you specify a value for Limit and you have more RegexMatchSet objects 17807 // than the value of Limit, AWS WAF returns a NextMarker value in the response 17808 // that allows you to list another group of ByteMatchSets. For the second and 17809 // subsequent ListRegexMatchSets requests, specify the value of NextMarker from 17810 // the previous response to get information about another batch of RegexMatchSet 17811 // objects. 17812 NextMarker *string `min:"1" type:"string"` 17813 } 17814 17815 // String returns the string representation. 17816 // 17817 // API parameter values that are decorated as "sensitive" in the API will not 17818 // be included in the string output. The member name will be present, but the 17819 // value will be replaced with "sensitive". 17820 func (s ListRegexMatchSetsInput) String() string { 17821 return awsutil.Prettify(s) 17822 } 17823 17824 // GoString returns the string representation. 17825 // 17826 // API parameter values that are decorated as "sensitive" in the API will not 17827 // be included in the string output. The member name will be present, but the 17828 // value will be replaced with "sensitive". 17829 func (s ListRegexMatchSetsInput) GoString() string { 17830 return s.String() 17831 } 17832 17833 // Validate inspects the fields of the type to determine if they are valid. 17834 func (s *ListRegexMatchSetsInput) Validate() error { 17835 invalidParams := request.ErrInvalidParams{Context: "ListRegexMatchSetsInput"} 17836 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17837 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17838 } 17839 17840 if invalidParams.Len() > 0 { 17841 return invalidParams 17842 } 17843 return nil 17844 } 17845 17846 // SetLimit sets the Limit field's value. 17847 func (s *ListRegexMatchSetsInput) SetLimit(v int64) *ListRegexMatchSetsInput { 17848 s.Limit = &v 17849 return s 17850 } 17851 17852 // SetNextMarker sets the NextMarker field's value. 17853 func (s *ListRegexMatchSetsInput) SetNextMarker(v string) *ListRegexMatchSetsInput { 17854 s.NextMarker = &v 17855 return s 17856 } 17857 17858 type ListRegexMatchSetsOutput struct { 17859 _ struct{} `type:"structure"` 17860 17861 // If you have more RegexMatchSet objects than the number that you specified 17862 // for Limit in the request, the response includes a NextMarker value. To list 17863 // more RegexMatchSet objects, submit another ListRegexMatchSets request, and 17864 // specify the NextMarker value from the response in the NextMarker value in 17865 // the next request. 17866 NextMarker *string `min:"1" type:"string"` 17867 17868 // An array of RegexMatchSetSummary objects. 17869 RegexMatchSets []*RegexMatchSetSummary `type:"list"` 17870 } 17871 17872 // String returns the string representation. 17873 // 17874 // API parameter values that are decorated as "sensitive" in the API will not 17875 // be included in the string output. The member name will be present, but the 17876 // value will be replaced with "sensitive". 17877 func (s ListRegexMatchSetsOutput) String() string { 17878 return awsutil.Prettify(s) 17879 } 17880 17881 // GoString returns the string representation. 17882 // 17883 // API parameter values that are decorated as "sensitive" in the API will not 17884 // be included in the string output. The member name will be present, but the 17885 // value will be replaced with "sensitive". 17886 func (s ListRegexMatchSetsOutput) GoString() string { 17887 return s.String() 17888 } 17889 17890 // SetNextMarker sets the NextMarker field's value. 17891 func (s *ListRegexMatchSetsOutput) SetNextMarker(v string) *ListRegexMatchSetsOutput { 17892 s.NextMarker = &v 17893 return s 17894 } 17895 17896 // SetRegexMatchSets sets the RegexMatchSets field's value. 17897 func (s *ListRegexMatchSetsOutput) SetRegexMatchSets(v []*RegexMatchSetSummary) *ListRegexMatchSetsOutput { 17898 s.RegexMatchSets = v 17899 return s 17900 } 17901 17902 type ListRegexPatternSetsInput struct { 17903 _ struct{} `type:"structure"` 17904 17905 // Specifies the number of RegexPatternSet objects that you want AWS WAF to 17906 // return for this request. If you have more RegexPatternSet objects than the 17907 // number you specify for Limit, the response includes a NextMarker value that 17908 // you can use to get another batch of RegexPatternSet objects. 17909 Limit *int64 `type:"integer"` 17910 17911 // If you specify a value for Limit and you have more RegexPatternSet objects 17912 // than the value of Limit, AWS WAF returns a NextMarker value in the response 17913 // that allows you to list another group of RegexPatternSet objects. For the 17914 // second and subsequent ListRegexPatternSets requests, specify the value of 17915 // NextMarker from the previous response to get information about another batch 17916 // of RegexPatternSet objects. 17917 NextMarker *string `min:"1" type:"string"` 17918 } 17919 17920 // String returns the string representation. 17921 // 17922 // API parameter values that are decorated as "sensitive" in the API will not 17923 // be included in the string output. The member name will be present, but the 17924 // value will be replaced with "sensitive". 17925 func (s ListRegexPatternSetsInput) String() string { 17926 return awsutil.Prettify(s) 17927 } 17928 17929 // GoString returns the string representation. 17930 // 17931 // API parameter values that are decorated as "sensitive" in the API will not 17932 // be included in the string output. The member name will be present, but the 17933 // value will be replaced with "sensitive". 17934 func (s ListRegexPatternSetsInput) GoString() string { 17935 return s.String() 17936 } 17937 17938 // Validate inspects the fields of the type to determine if they are valid. 17939 func (s *ListRegexPatternSetsInput) Validate() error { 17940 invalidParams := request.ErrInvalidParams{Context: "ListRegexPatternSetsInput"} 17941 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 17942 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 17943 } 17944 17945 if invalidParams.Len() > 0 { 17946 return invalidParams 17947 } 17948 return nil 17949 } 17950 17951 // SetLimit sets the Limit field's value. 17952 func (s *ListRegexPatternSetsInput) SetLimit(v int64) *ListRegexPatternSetsInput { 17953 s.Limit = &v 17954 return s 17955 } 17956 17957 // SetNextMarker sets the NextMarker field's value. 17958 func (s *ListRegexPatternSetsInput) SetNextMarker(v string) *ListRegexPatternSetsInput { 17959 s.NextMarker = &v 17960 return s 17961 } 17962 17963 type ListRegexPatternSetsOutput struct { 17964 _ struct{} `type:"structure"` 17965 17966 // If you have more RegexPatternSet objects than the number that you specified 17967 // for Limit in the request, the response includes a NextMarker value. To list 17968 // more RegexPatternSet objects, submit another ListRegexPatternSets request, 17969 // and specify the NextMarker value from the response in the NextMarker value 17970 // in the next request. 17971 NextMarker *string `min:"1" type:"string"` 17972 17973 // An array of RegexPatternSetSummary objects. 17974 RegexPatternSets []*RegexPatternSetSummary `type:"list"` 17975 } 17976 17977 // String returns the string representation. 17978 // 17979 // API parameter values that are decorated as "sensitive" in the API will not 17980 // be included in the string output. The member name will be present, but the 17981 // value will be replaced with "sensitive". 17982 func (s ListRegexPatternSetsOutput) String() string { 17983 return awsutil.Prettify(s) 17984 } 17985 17986 // GoString returns the string representation. 17987 // 17988 // API parameter values that are decorated as "sensitive" in the API will not 17989 // be included in the string output. The member name will be present, but the 17990 // value will be replaced with "sensitive". 17991 func (s ListRegexPatternSetsOutput) GoString() string { 17992 return s.String() 17993 } 17994 17995 // SetNextMarker sets the NextMarker field's value. 17996 func (s *ListRegexPatternSetsOutput) SetNextMarker(v string) *ListRegexPatternSetsOutput { 17997 s.NextMarker = &v 17998 return s 17999 } 18000 18001 // SetRegexPatternSets sets the RegexPatternSets field's value. 18002 func (s *ListRegexPatternSetsOutput) SetRegexPatternSets(v []*RegexPatternSetSummary) *ListRegexPatternSetsOutput { 18003 s.RegexPatternSets = v 18004 return s 18005 } 18006 18007 type ListRuleGroupsInput struct { 18008 _ struct{} `type:"structure"` 18009 18010 // Specifies the number of RuleGroups that you want AWS WAF to return for this 18011 // request. If you have more RuleGroups than the number that you specify for 18012 // Limit, the response includes a NextMarker value that you can use to get another 18013 // batch of RuleGroups. 18014 Limit *int64 `type:"integer"` 18015 18016 // If you specify a value for Limit and you have more RuleGroups than the value 18017 // of Limit, AWS WAF returns a NextMarker value in the response that allows 18018 // you to list another group of RuleGroups. For the second and subsequent ListRuleGroups 18019 // requests, specify the value of NextMarker from the previous response to get 18020 // information about another batch of RuleGroups. 18021 NextMarker *string `min:"1" type:"string"` 18022 } 18023 18024 // String returns the string representation. 18025 // 18026 // API parameter values that are decorated as "sensitive" in the API will not 18027 // be included in the string output. The member name will be present, but the 18028 // value will be replaced with "sensitive". 18029 func (s ListRuleGroupsInput) String() string { 18030 return awsutil.Prettify(s) 18031 } 18032 18033 // GoString returns the string representation. 18034 // 18035 // API parameter values that are decorated as "sensitive" in the API will not 18036 // be included in the string output. The member name will be present, but the 18037 // value will be replaced with "sensitive". 18038 func (s ListRuleGroupsInput) GoString() string { 18039 return s.String() 18040 } 18041 18042 // Validate inspects the fields of the type to determine if they are valid. 18043 func (s *ListRuleGroupsInput) Validate() error { 18044 invalidParams := request.ErrInvalidParams{Context: "ListRuleGroupsInput"} 18045 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18046 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18047 } 18048 18049 if invalidParams.Len() > 0 { 18050 return invalidParams 18051 } 18052 return nil 18053 } 18054 18055 // SetLimit sets the Limit field's value. 18056 func (s *ListRuleGroupsInput) SetLimit(v int64) *ListRuleGroupsInput { 18057 s.Limit = &v 18058 return s 18059 } 18060 18061 // SetNextMarker sets the NextMarker field's value. 18062 func (s *ListRuleGroupsInput) SetNextMarker(v string) *ListRuleGroupsInput { 18063 s.NextMarker = &v 18064 return s 18065 } 18066 18067 type ListRuleGroupsOutput struct { 18068 _ struct{} `type:"structure"` 18069 18070 // If you have more RuleGroups than the number that you specified for Limit 18071 // in the request, the response includes a NextMarker value. To list more RuleGroups, 18072 // submit another ListRuleGroups request, and specify the NextMarker value from 18073 // the response in the NextMarker value in the next request. 18074 NextMarker *string `min:"1" type:"string"` 18075 18076 // An array of RuleGroup objects. 18077 RuleGroups []*RuleGroupSummary `type:"list"` 18078 } 18079 18080 // String returns the string representation. 18081 // 18082 // API parameter values that are decorated as "sensitive" in the API will not 18083 // be included in the string output. The member name will be present, but the 18084 // value will be replaced with "sensitive". 18085 func (s ListRuleGroupsOutput) String() string { 18086 return awsutil.Prettify(s) 18087 } 18088 18089 // GoString returns the string representation. 18090 // 18091 // API parameter values that are decorated as "sensitive" in the API will not 18092 // be included in the string output. The member name will be present, but the 18093 // value will be replaced with "sensitive". 18094 func (s ListRuleGroupsOutput) GoString() string { 18095 return s.String() 18096 } 18097 18098 // SetNextMarker sets the NextMarker field's value. 18099 func (s *ListRuleGroupsOutput) SetNextMarker(v string) *ListRuleGroupsOutput { 18100 s.NextMarker = &v 18101 return s 18102 } 18103 18104 // SetRuleGroups sets the RuleGroups field's value. 18105 func (s *ListRuleGroupsOutput) SetRuleGroups(v []*RuleGroupSummary) *ListRuleGroupsOutput { 18106 s.RuleGroups = v 18107 return s 18108 } 18109 18110 type ListRulesInput struct { 18111 _ struct{} `type:"structure"` 18112 18113 // Specifies the number of Rules that you want AWS WAF to return for this request. 18114 // If you have more Rules than the number that you specify for Limit, the response 18115 // includes a NextMarker value that you can use to get another batch of Rules. 18116 Limit *int64 `type:"integer"` 18117 18118 // If you specify a value for Limit and you have more Rules than the value of 18119 // Limit, AWS WAF returns a NextMarker value in the response that allows you 18120 // to list another group of Rules. For the second and subsequent ListRules requests, 18121 // specify the value of NextMarker from the previous response to get information 18122 // about another batch of Rules. 18123 NextMarker *string `min:"1" type:"string"` 18124 } 18125 18126 // String returns the string representation. 18127 // 18128 // API parameter values that are decorated as "sensitive" in the API will not 18129 // be included in the string output. The member name will be present, but the 18130 // value will be replaced with "sensitive". 18131 func (s ListRulesInput) String() string { 18132 return awsutil.Prettify(s) 18133 } 18134 18135 // GoString returns the string representation. 18136 // 18137 // API parameter values that are decorated as "sensitive" in the API will not 18138 // be included in the string output. The member name will be present, but the 18139 // value will be replaced with "sensitive". 18140 func (s ListRulesInput) GoString() string { 18141 return s.String() 18142 } 18143 18144 // Validate inspects the fields of the type to determine if they are valid. 18145 func (s *ListRulesInput) Validate() error { 18146 invalidParams := request.ErrInvalidParams{Context: "ListRulesInput"} 18147 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18148 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18149 } 18150 18151 if invalidParams.Len() > 0 { 18152 return invalidParams 18153 } 18154 return nil 18155 } 18156 18157 // SetLimit sets the Limit field's value. 18158 func (s *ListRulesInput) SetLimit(v int64) *ListRulesInput { 18159 s.Limit = &v 18160 return s 18161 } 18162 18163 // SetNextMarker sets the NextMarker field's value. 18164 func (s *ListRulesInput) SetNextMarker(v string) *ListRulesInput { 18165 s.NextMarker = &v 18166 return s 18167 } 18168 18169 type ListRulesOutput struct { 18170 _ struct{} `type:"structure"` 18171 18172 // If you have more Rules than the number that you specified for Limit in the 18173 // request, the response includes a NextMarker value. To list more Rules, submit 18174 // another ListRules request, and specify the NextMarker value from the response 18175 // in the NextMarker value in the next request. 18176 NextMarker *string `min:"1" type:"string"` 18177 18178 // An array of RuleSummary objects. 18179 Rules []*RuleSummary `type:"list"` 18180 } 18181 18182 // String returns the string representation. 18183 // 18184 // API parameter values that are decorated as "sensitive" in the API will not 18185 // be included in the string output. The member name will be present, but the 18186 // value will be replaced with "sensitive". 18187 func (s ListRulesOutput) String() string { 18188 return awsutil.Prettify(s) 18189 } 18190 18191 // GoString returns the string representation. 18192 // 18193 // API parameter values that are decorated as "sensitive" in the API will not 18194 // be included in the string output. The member name will be present, but the 18195 // value will be replaced with "sensitive". 18196 func (s ListRulesOutput) GoString() string { 18197 return s.String() 18198 } 18199 18200 // SetNextMarker sets the NextMarker field's value. 18201 func (s *ListRulesOutput) SetNextMarker(v string) *ListRulesOutput { 18202 s.NextMarker = &v 18203 return s 18204 } 18205 18206 // SetRules sets the Rules field's value. 18207 func (s *ListRulesOutput) SetRules(v []*RuleSummary) *ListRulesOutput { 18208 s.Rules = v 18209 return s 18210 } 18211 18212 type ListSizeConstraintSetsInput struct { 18213 _ struct{} `type:"structure"` 18214 18215 // Specifies the number of SizeConstraintSet objects that you want AWS WAF to 18216 // return for this request. If you have more SizeConstraintSets objects than 18217 // the number you specify for Limit, the response includes a NextMarker value 18218 // that you can use to get another batch of SizeConstraintSet objects. 18219 Limit *int64 `type:"integer"` 18220 18221 // If you specify a value for Limit and you have more SizeConstraintSets than 18222 // the value of Limit, AWS WAF returns a NextMarker value in the response that 18223 // allows you to list another group of SizeConstraintSets. For the second and 18224 // subsequent ListSizeConstraintSets requests, specify the value of NextMarker 18225 // from the previous response to get information about another batch of SizeConstraintSets. 18226 NextMarker *string `min:"1" type:"string"` 18227 } 18228 18229 // String returns the string representation. 18230 // 18231 // API parameter values that are decorated as "sensitive" in the API will not 18232 // be included in the string output. The member name will be present, but the 18233 // value will be replaced with "sensitive". 18234 func (s ListSizeConstraintSetsInput) String() string { 18235 return awsutil.Prettify(s) 18236 } 18237 18238 // GoString returns the string representation. 18239 // 18240 // API parameter values that are decorated as "sensitive" in the API will not 18241 // be included in the string output. The member name will be present, but the 18242 // value will be replaced with "sensitive". 18243 func (s ListSizeConstraintSetsInput) GoString() string { 18244 return s.String() 18245 } 18246 18247 // Validate inspects the fields of the type to determine if they are valid. 18248 func (s *ListSizeConstraintSetsInput) Validate() error { 18249 invalidParams := request.ErrInvalidParams{Context: "ListSizeConstraintSetsInput"} 18250 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18251 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18252 } 18253 18254 if invalidParams.Len() > 0 { 18255 return invalidParams 18256 } 18257 return nil 18258 } 18259 18260 // SetLimit sets the Limit field's value. 18261 func (s *ListSizeConstraintSetsInput) SetLimit(v int64) *ListSizeConstraintSetsInput { 18262 s.Limit = &v 18263 return s 18264 } 18265 18266 // SetNextMarker sets the NextMarker field's value. 18267 func (s *ListSizeConstraintSetsInput) SetNextMarker(v string) *ListSizeConstraintSetsInput { 18268 s.NextMarker = &v 18269 return s 18270 } 18271 18272 type ListSizeConstraintSetsOutput struct { 18273 _ struct{} `type:"structure"` 18274 18275 // If you have more SizeConstraintSet objects than the number that you specified 18276 // for Limit in the request, the response includes a NextMarker value. To list 18277 // more SizeConstraintSet objects, submit another ListSizeConstraintSets request, 18278 // and specify the NextMarker value from the response in the NextMarker value 18279 // in the next request. 18280 NextMarker *string `min:"1" type:"string"` 18281 18282 // An array of SizeConstraintSetSummary objects. 18283 SizeConstraintSets []*SizeConstraintSetSummary `type:"list"` 18284 } 18285 18286 // String returns the string representation. 18287 // 18288 // API parameter values that are decorated as "sensitive" in the API will not 18289 // be included in the string output. The member name will be present, but the 18290 // value will be replaced with "sensitive". 18291 func (s ListSizeConstraintSetsOutput) String() string { 18292 return awsutil.Prettify(s) 18293 } 18294 18295 // GoString returns the string representation. 18296 // 18297 // API parameter values that are decorated as "sensitive" in the API will not 18298 // be included in the string output. The member name will be present, but the 18299 // value will be replaced with "sensitive". 18300 func (s ListSizeConstraintSetsOutput) GoString() string { 18301 return s.String() 18302 } 18303 18304 // SetNextMarker sets the NextMarker field's value. 18305 func (s *ListSizeConstraintSetsOutput) SetNextMarker(v string) *ListSizeConstraintSetsOutput { 18306 s.NextMarker = &v 18307 return s 18308 } 18309 18310 // SetSizeConstraintSets sets the SizeConstraintSets field's value. 18311 func (s *ListSizeConstraintSetsOutput) SetSizeConstraintSets(v []*SizeConstraintSetSummary) *ListSizeConstraintSetsOutput { 18312 s.SizeConstraintSets = v 18313 return s 18314 } 18315 18316 // A request to list the SqlInjectionMatchSet objects created by the current 18317 // AWS account. 18318 type ListSqlInjectionMatchSetsInput struct { 18319 _ struct{} `type:"structure"` 18320 18321 // Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF 18322 // to return for this request. If you have more SqlInjectionMatchSet objects 18323 // than the number you specify for Limit, the response includes a NextMarker 18324 // value that you can use to get another batch of Rules. 18325 Limit *int64 `type:"integer"` 18326 18327 // If you specify a value for Limit and you have more SqlInjectionMatchSet objects 18328 // than the value of Limit, AWS WAF returns a NextMarker value in the response 18329 // that allows you to list another group of SqlInjectionMatchSets. For the second 18330 // and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker 18331 // from the previous response to get information about another batch of SqlInjectionMatchSets. 18332 NextMarker *string `min:"1" type:"string"` 18333 } 18334 18335 // String returns the string representation. 18336 // 18337 // API parameter values that are decorated as "sensitive" in the API will not 18338 // be included in the string output. The member name will be present, but the 18339 // value will be replaced with "sensitive". 18340 func (s ListSqlInjectionMatchSetsInput) String() string { 18341 return awsutil.Prettify(s) 18342 } 18343 18344 // GoString returns the string representation. 18345 // 18346 // API parameter values that are decorated as "sensitive" in the API will not 18347 // be included in the string output. The member name will be present, but the 18348 // value will be replaced with "sensitive". 18349 func (s ListSqlInjectionMatchSetsInput) GoString() string { 18350 return s.String() 18351 } 18352 18353 // Validate inspects the fields of the type to determine if they are valid. 18354 func (s *ListSqlInjectionMatchSetsInput) Validate() error { 18355 invalidParams := request.ErrInvalidParams{Context: "ListSqlInjectionMatchSetsInput"} 18356 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18357 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18358 } 18359 18360 if invalidParams.Len() > 0 { 18361 return invalidParams 18362 } 18363 return nil 18364 } 18365 18366 // SetLimit sets the Limit field's value. 18367 func (s *ListSqlInjectionMatchSetsInput) SetLimit(v int64) *ListSqlInjectionMatchSetsInput { 18368 s.Limit = &v 18369 return s 18370 } 18371 18372 // SetNextMarker sets the NextMarker field's value. 18373 func (s *ListSqlInjectionMatchSetsInput) SetNextMarker(v string) *ListSqlInjectionMatchSetsInput { 18374 s.NextMarker = &v 18375 return s 18376 } 18377 18378 // The response to a ListSqlInjectionMatchSets request. 18379 type ListSqlInjectionMatchSetsOutput struct { 18380 _ struct{} `type:"structure"` 18381 18382 // If you have more SqlInjectionMatchSet objects than the number that you specified 18383 // for Limit in the request, the response includes a NextMarker value. To list 18384 // more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets 18385 // request, and specify the NextMarker value from the response in the NextMarker 18386 // value in the next request. 18387 NextMarker *string `min:"1" type:"string"` 18388 18389 // An array of SqlInjectionMatchSetSummary objects. 18390 SqlInjectionMatchSets []*SqlInjectionMatchSetSummary `type:"list"` 18391 } 18392 18393 // String returns the string representation. 18394 // 18395 // API parameter values that are decorated as "sensitive" in the API will not 18396 // be included in the string output. The member name will be present, but the 18397 // value will be replaced with "sensitive". 18398 func (s ListSqlInjectionMatchSetsOutput) String() string { 18399 return awsutil.Prettify(s) 18400 } 18401 18402 // GoString returns the string representation. 18403 // 18404 // API parameter values that are decorated as "sensitive" in the API will not 18405 // be included in the string output. The member name will be present, but the 18406 // value will be replaced with "sensitive". 18407 func (s ListSqlInjectionMatchSetsOutput) GoString() string { 18408 return s.String() 18409 } 18410 18411 // SetNextMarker sets the NextMarker field's value. 18412 func (s *ListSqlInjectionMatchSetsOutput) SetNextMarker(v string) *ListSqlInjectionMatchSetsOutput { 18413 s.NextMarker = &v 18414 return s 18415 } 18416 18417 // SetSqlInjectionMatchSets sets the SqlInjectionMatchSets field's value. 18418 func (s *ListSqlInjectionMatchSetsOutput) SetSqlInjectionMatchSets(v []*SqlInjectionMatchSetSummary) *ListSqlInjectionMatchSetsOutput { 18419 s.SqlInjectionMatchSets = v 18420 return s 18421 } 18422 18423 type ListSubscribedRuleGroupsInput struct { 18424 _ struct{} `type:"structure"` 18425 18426 // Specifies the number of subscribed rule groups that you want AWS WAF to return 18427 // for this request. If you have more objects than the number you specify for 18428 // Limit, the response includes a NextMarker value that you can use to get another 18429 // batch of objects. 18430 Limit *int64 `type:"integer"` 18431 18432 // If you specify a value for Limit and you have more ByteMatchSetssubscribed 18433 // rule groups than the value of Limit, AWS WAF returns a NextMarker value in 18434 // the response that allows you to list another group of subscribed rule groups. 18435 // For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify 18436 // the value of NextMarker from the previous response to get information about 18437 // another batch of subscribed rule groups. 18438 NextMarker *string `min:"1" type:"string"` 18439 } 18440 18441 // String returns the string representation. 18442 // 18443 // API parameter values that are decorated as "sensitive" in the API will not 18444 // be included in the string output. The member name will be present, but the 18445 // value will be replaced with "sensitive". 18446 func (s ListSubscribedRuleGroupsInput) String() string { 18447 return awsutil.Prettify(s) 18448 } 18449 18450 // GoString returns the string representation. 18451 // 18452 // API parameter values that are decorated as "sensitive" in the API will not 18453 // be included in the string output. The member name will be present, but the 18454 // value will be replaced with "sensitive". 18455 func (s ListSubscribedRuleGroupsInput) GoString() string { 18456 return s.String() 18457 } 18458 18459 // Validate inspects the fields of the type to determine if they are valid. 18460 func (s *ListSubscribedRuleGroupsInput) Validate() error { 18461 invalidParams := request.ErrInvalidParams{Context: "ListSubscribedRuleGroupsInput"} 18462 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18463 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18464 } 18465 18466 if invalidParams.Len() > 0 { 18467 return invalidParams 18468 } 18469 return nil 18470 } 18471 18472 // SetLimit sets the Limit field's value. 18473 func (s *ListSubscribedRuleGroupsInput) SetLimit(v int64) *ListSubscribedRuleGroupsInput { 18474 s.Limit = &v 18475 return s 18476 } 18477 18478 // SetNextMarker sets the NextMarker field's value. 18479 func (s *ListSubscribedRuleGroupsInput) SetNextMarker(v string) *ListSubscribedRuleGroupsInput { 18480 s.NextMarker = &v 18481 return s 18482 } 18483 18484 type ListSubscribedRuleGroupsOutput struct { 18485 _ struct{} `type:"structure"` 18486 18487 // If you have more objects than the number that you specified for Limit in 18488 // the request, the response includes a NextMarker value. To list more objects, 18489 // submit another ListSubscribedRuleGroups request, and specify the NextMarker 18490 // value from the response in the NextMarker value in the next request. 18491 NextMarker *string `min:"1" type:"string"` 18492 18493 // An array of RuleGroup objects. 18494 RuleGroups []*SubscribedRuleGroupSummary `type:"list"` 18495 } 18496 18497 // String returns the string representation. 18498 // 18499 // API parameter values that are decorated as "sensitive" in the API will not 18500 // be included in the string output. The member name will be present, but the 18501 // value will be replaced with "sensitive". 18502 func (s ListSubscribedRuleGroupsOutput) String() string { 18503 return awsutil.Prettify(s) 18504 } 18505 18506 // GoString returns the string representation. 18507 // 18508 // API parameter values that are decorated as "sensitive" in the API will not 18509 // be included in the string output. The member name will be present, but the 18510 // value will be replaced with "sensitive". 18511 func (s ListSubscribedRuleGroupsOutput) GoString() string { 18512 return s.String() 18513 } 18514 18515 // SetNextMarker sets the NextMarker field's value. 18516 func (s *ListSubscribedRuleGroupsOutput) SetNextMarker(v string) *ListSubscribedRuleGroupsOutput { 18517 s.NextMarker = &v 18518 return s 18519 } 18520 18521 // SetRuleGroups sets the RuleGroups field's value. 18522 func (s *ListSubscribedRuleGroupsOutput) SetRuleGroups(v []*SubscribedRuleGroupSummary) *ListSubscribedRuleGroupsOutput { 18523 s.RuleGroups = v 18524 return s 18525 } 18526 18527 type ListTagsForResourceInput struct { 18528 _ struct{} `type:"structure"` 18529 18530 Limit *int64 `type:"integer"` 18531 18532 NextMarker *string `min:"1" type:"string"` 18533 18534 // ResourceARN is a required field 18535 ResourceARN *string `min:"1" type:"string" required:"true"` 18536 } 18537 18538 // String returns the string representation. 18539 // 18540 // API parameter values that are decorated as "sensitive" in the API will not 18541 // be included in the string output. The member name will be present, but the 18542 // value will be replaced with "sensitive". 18543 func (s ListTagsForResourceInput) String() string { 18544 return awsutil.Prettify(s) 18545 } 18546 18547 // GoString returns the string representation. 18548 // 18549 // API parameter values that are decorated as "sensitive" in the API will not 18550 // be included in the string output. The member name will be present, but the 18551 // value will be replaced with "sensitive". 18552 func (s ListTagsForResourceInput) GoString() string { 18553 return s.String() 18554 } 18555 18556 // Validate inspects the fields of the type to determine if they are valid. 18557 func (s *ListTagsForResourceInput) Validate() error { 18558 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 18559 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18560 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18561 } 18562 if s.ResourceARN == nil { 18563 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 18564 } 18565 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 18566 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 18567 } 18568 18569 if invalidParams.Len() > 0 { 18570 return invalidParams 18571 } 18572 return nil 18573 } 18574 18575 // SetLimit sets the Limit field's value. 18576 func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { 18577 s.Limit = &v 18578 return s 18579 } 18580 18581 // SetNextMarker sets the NextMarker field's value. 18582 func (s *ListTagsForResourceInput) SetNextMarker(v string) *ListTagsForResourceInput { 18583 s.NextMarker = &v 18584 return s 18585 } 18586 18587 // SetResourceARN sets the ResourceARN field's value. 18588 func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { 18589 s.ResourceARN = &v 18590 return s 18591 } 18592 18593 type ListTagsForResourceOutput struct { 18594 _ struct{} `type:"structure"` 18595 18596 NextMarker *string `min:"1" type:"string"` 18597 18598 // 18599 // This is AWS WAF Classic documentation. For more information, see AWS WAF 18600 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 18601 // in the developer guide. 18602 // 18603 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 18604 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 18605 // With the latest version, AWS WAF has a single set of endpoints for regional 18606 // and global use. 18607 // 18608 // Information for a tag associated with an AWS resource. Tags are key:value 18609 // pairs that you can use to categorize and manage your resources, for purposes 18610 // like billing. For example, you might set the tag key to "customer" and the 18611 // value to the customer name or ID. You can specify one or more tags to add 18612 // to each AWS resource, up to 50 tags for a resource. 18613 // 18614 // Tagging is only available through the API, SDKs, and CLI. You can't manage 18615 // or view tags through the AWS WAF Classic console. You can tag the AWS resources 18616 // that you manage through AWS WAF Classic: web ACLs, rule groups, and rules. 18617 TagInfoForResource *TagInfoForResource `type:"structure"` 18618 } 18619 18620 // String returns the string representation. 18621 // 18622 // API parameter values that are decorated as "sensitive" in the API will not 18623 // be included in the string output. The member name will be present, but the 18624 // value will be replaced with "sensitive". 18625 func (s ListTagsForResourceOutput) String() string { 18626 return awsutil.Prettify(s) 18627 } 18628 18629 // GoString returns the string representation. 18630 // 18631 // API parameter values that are decorated as "sensitive" in the API will not 18632 // be included in the string output. The member name will be present, but the 18633 // value will be replaced with "sensitive". 18634 func (s ListTagsForResourceOutput) GoString() string { 18635 return s.String() 18636 } 18637 18638 // SetNextMarker sets the NextMarker field's value. 18639 func (s *ListTagsForResourceOutput) SetNextMarker(v string) *ListTagsForResourceOutput { 18640 s.NextMarker = &v 18641 return s 18642 } 18643 18644 // SetTagInfoForResource sets the TagInfoForResource field's value. 18645 func (s *ListTagsForResourceOutput) SetTagInfoForResource(v *TagInfoForResource) *ListTagsForResourceOutput { 18646 s.TagInfoForResource = v 18647 return s 18648 } 18649 18650 type ListWebACLsInput struct { 18651 _ struct{} `type:"structure"` 18652 18653 // Specifies the number of WebACL objects that you want AWS WAF to return for 18654 // this request. If you have more WebACL objects than the number that you specify 18655 // for Limit, the response includes a NextMarker value that you can use to get 18656 // another batch of WebACL objects. 18657 Limit *int64 `type:"integer"` 18658 18659 // If you specify a value for Limit and you have more WebACL objects than the 18660 // number that you specify for Limit, AWS WAF returns a NextMarker value in 18661 // the response that allows you to list another group of WebACL objects. For 18662 // the second and subsequent ListWebACLs requests, specify the value of NextMarker 18663 // from the previous response to get information about another batch of WebACL 18664 // objects. 18665 NextMarker *string `min:"1" type:"string"` 18666 } 18667 18668 // String returns the string representation. 18669 // 18670 // API parameter values that are decorated as "sensitive" in the API will not 18671 // be included in the string output. The member name will be present, but the 18672 // value will be replaced with "sensitive". 18673 func (s ListWebACLsInput) String() string { 18674 return awsutil.Prettify(s) 18675 } 18676 18677 // GoString returns the string representation. 18678 // 18679 // API parameter values that are decorated as "sensitive" in the API will not 18680 // be included in the string output. The member name will be present, but the 18681 // value will be replaced with "sensitive". 18682 func (s ListWebACLsInput) GoString() string { 18683 return s.String() 18684 } 18685 18686 // Validate inspects the fields of the type to determine if they are valid. 18687 func (s *ListWebACLsInput) Validate() error { 18688 invalidParams := request.ErrInvalidParams{Context: "ListWebACLsInput"} 18689 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18690 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18691 } 18692 18693 if invalidParams.Len() > 0 { 18694 return invalidParams 18695 } 18696 return nil 18697 } 18698 18699 // SetLimit sets the Limit field's value. 18700 func (s *ListWebACLsInput) SetLimit(v int64) *ListWebACLsInput { 18701 s.Limit = &v 18702 return s 18703 } 18704 18705 // SetNextMarker sets the NextMarker field's value. 18706 func (s *ListWebACLsInput) SetNextMarker(v string) *ListWebACLsInput { 18707 s.NextMarker = &v 18708 return s 18709 } 18710 18711 type ListWebACLsOutput struct { 18712 _ struct{} `type:"structure"` 18713 18714 // If you have more WebACL objects than the number that you specified for Limit 18715 // in the request, the response includes a NextMarker value. To list more WebACL 18716 // objects, submit another ListWebACLs request, and specify the NextMarker value 18717 // from the response in the NextMarker value in the next request. 18718 NextMarker *string `min:"1" type:"string"` 18719 18720 // An array of WebACLSummary objects. 18721 WebACLs []*WebACLSummary `type:"list"` 18722 } 18723 18724 // String returns the string representation. 18725 // 18726 // API parameter values that are decorated as "sensitive" in the API will not 18727 // be included in the string output. The member name will be present, but the 18728 // value will be replaced with "sensitive". 18729 func (s ListWebACLsOutput) String() string { 18730 return awsutil.Prettify(s) 18731 } 18732 18733 // GoString returns the string representation. 18734 // 18735 // API parameter values that are decorated as "sensitive" in the API will not 18736 // be included in the string output. The member name will be present, but the 18737 // value will be replaced with "sensitive". 18738 func (s ListWebACLsOutput) GoString() string { 18739 return s.String() 18740 } 18741 18742 // SetNextMarker sets the NextMarker field's value. 18743 func (s *ListWebACLsOutput) SetNextMarker(v string) *ListWebACLsOutput { 18744 s.NextMarker = &v 18745 return s 18746 } 18747 18748 // SetWebACLs sets the WebACLs field's value. 18749 func (s *ListWebACLsOutput) SetWebACLs(v []*WebACLSummary) *ListWebACLsOutput { 18750 s.WebACLs = v 18751 return s 18752 } 18753 18754 // A request to list the XssMatchSet objects created by the current AWS account. 18755 type ListXssMatchSetsInput struct { 18756 _ struct{} `type:"structure"` 18757 18758 // Specifies the number of XssMatchSet objects that you want AWS WAF to return 18759 // for this request. If you have more XssMatchSet objects than the number you 18760 // specify for Limit, the response includes a NextMarker value that you can 18761 // use to get another batch of Rules. 18762 Limit *int64 `type:"integer"` 18763 18764 // If you specify a value for Limit and you have more XssMatchSet objects than 18765 // the value of Limit, AWS WAF returns a NextMarker value in the response that 18766 // allows you to list another group of XssMatchSets. For the second and subsequent 18767 // ListXssMatchSets requests, specify the value of NextMarker from the previous 18768 // response to get information about another batch of XssMatchSets. 18769 NextMarker *string `min:"1" type:"string"` 18770 } 18771 18772 // String returns the string representation. 18773 // 18774 // API parameter values that are decorated as "sensitive" in the API will not 18775 // be included in the string output. The member name will be present, but the 18776 // value will be replaced with "sensitive". 18777 func (s ListXssMatchSetsInput) String() string { 18778 return awsutil.Prettify(s) 18779 } 18780 18781 // GoString returns the string representation. 18782 // 18783 // API parameter values that are decorated as "sensitive" in the API will not 18784 // be included in the string output. The member name will be present, but the 18785 // value will be replaced with "sensitive". 18786 func (s ListXssMatchSetsInput) GoString() string { 18787 return s.String() 18788 } 18789 18790 // Validate inspects the fields of the type to determine if they are valid. 18791 func (s *ListXssMatchSetsInput) Validate() error { 18792 invalidParams := request.ErrInvalidParams{Context: "ListXssMatchSetsInput"} 18793 if s.NextMarker != nil && len(*s.NextMarker) < 1 { 18794 invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) 18795 } 18796 18797 if invalidParams.Len() > 0 { 18798 return invalidParams 18799 } 18800 return nil 18801 } 18802 18803 // SetLimit sets the Limit field's value. 18804 func (s *ListXssMatchSetsInput) SetLimit(v int64) *ListXssMatchSetsInput { 18805 s.Limit = &v 18806 return s 18807 } 18808 18809 // SetNextMarker sets the NextMarker field's value. 18810 func (s *ListXssMatchSetsInput) SetNextMarker(v string) *ListXssMatchSetsInput { 18811 s.NextMarker = &v 18812 return s 18813 } 18814 18815 // The response to a ListXssMatchSets request. 18816 type ListXssMatchSetsOutput struct { 18817 _ struct{} `type:"structure"` 18818 18819 // If you have more XssMatchSet objects than the number that you specified for 18820 // Limit in the request, the response includes a NextMarker value. To list more 18821 // XssMatchSet objects, submit another ListXssMatchSets request, and specify 18822 // the NextMarker value from the response in the NextMarker value in the next 18823 // request. 18824 NextMarker *string `min:"1" type:"string"` 18825 18826 // An array of XssMatchSetSummary objects. 18827 XssMatchSets []*XssMatchSetSummary `type:"list"` 18828 } 18829 18830 // String returns the string representation. 18831 // 18832 // API parameter values that are decorated as "sensitive" in the API will not 18833 // be included in the string output. The member name will be present, but the 18834 // value will be replaced with "sensitive". 18835 func (s ListXssMatchSetsOutput) String() string { 18836 return awsutil.Prettify(s) 18837 } 18838 18839 // GoString returns the string representation. 18840 // 18841 // API parameter values that are decorated as "sensitive" in the API will not 18842 // be included in the string output. The member name will be present, but the 18843 // value will be replaced with "sensitive". 18844 func (s ListXssMatchSetsOutput) GoString() string { 18845 return s.String() 18846 } 18847 18848 // SetNextMarker sets the NextMarker field's value. 18849 func (s *ListXssMatchSetsOutput) SetNextMarker(v string) *ListXssMatchSetsOutput { 18850 s.NextMarker = &v 18851 return s 18852 } 18853 18854 // SetXssMatchSets sets the XssMatchSets field's value. 18855 func (s *ListXssMatchSetsOutput) SetXssMatchSets(v []*XssMatchSetSummary) *ListXssMatchSetsOutput { 18856 s.XssMatchSets = v 18857 return s 18858 } 18859 18860 // 18861 // This is AWS WAF Classic documentation. For more information, see AWS WAF 18862 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 18863 // in the developer guide. 18864 // 18865 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 18866 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 18867 // With the latest version, AWS WAF has a single set of endpoints for regional 18868 // and global use. 18869 // 18870 // The Amazon Kinesis Data Firehose, RedactedFields information, and the web 18871 // ACL Amazon Resource Name (ARN). 18872 type LoggingConfiguration struct { 18873 _ struct{} `type:"structure"` 18874 18875 // An array of Amazon Kinesis Data Firehose ARNs. 18876 // 18877 // LogDestinationConfigs is a required field 18878 LogDestinationConfigs []*string `min:"1" type:"list" required:"true"` 18879 18880 // The parts of the request that you want redacted from the logs. For example, 18881 // if you redact the cookie field, the cookie field in the firehose will be 18882 // xxx. 18883 RedactedFields []*FieldToMatch `type:"list"` 18884 18885 // The Amazon Resource Name (ARN) of the web ACL that you want to associate 18886 // with LogDestinationConfigs. 18887 // 18888 // ResourceArn is a required field 18889 ResourceArn *string `min:"1" type:"string" required:"true"` 18890 } 18891 18892 // String returns the string representation. 18893 // 18894 // API parameter values that are decorated as "sensitive" in the API will not 18895 // be included in the string output. The member name will be present, but the 18896 // value will be replaced with "sensitive". 18897 func (s LoggingConfiguration) String() string { 18898 return awsutil.Prettify(s) 18899 } 18900 18901 // GoString returns the string representation. 18902 // 18903 // API parameter values that are decorated as "sensitive" in the API will not 18904 // be included in the string output. The member name will be present, but the 18905 // value will be replaced with "sensitive". 18906 func (s LoggingConfiguration) GoString() string { 18907 return s.String() 18908 } 18909 18910 // Validate inspects the fields of the type to determine if they are valid. 18911 func (s *LoggingConfiguration) Validate() error { 18912 invalidParams := request.ErrInvalidParams{Context: "LoggingConfiguration"} 18913 if s.LogDestinationConfigs == nil { 18914 invalidParams.Add(request.NewErrParamRequired("LogDestinationConfigs")) 18915 } 18916 if s.LogDestinationConfigs != nil && len(s.LogDestinationConfigs) < 1 { 18917 invalidParams.Add(request.NewErrParamMinLen("LogDestinationConfigs", 1)) 18918 } 18919 if s.ResourceArn == nil { 18920 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 18921 } 18922 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 18923 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 18924 } 18925 if s.RedactedFields != nil { 18926 for i, v := range s.RedactedFields { 18927 if v == nil { 18928 continue 18929 } 18930 if err := v.Validate(); err != nil { 18931 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RedactedFields", i), err.(request.ErrInvalidParams)) 18932 } 18933 } 18934 } 18935 18936 if invalidParams.Len() > 0 { 18937 return invalidParams 18938 } 18939 return nil 18940 } 18941 18942 // SetLogDestinationConfigs sets the LogDestinationConfigs field's value. 18943 func (s *LoggingConfiguration) SetLogDestinationConfigs(v []*string) *LoggingConfiguration { 18944 s.LogDestinationConfigs = v 18945 return s 18946 } 18947 18948 // SetRedactedFields sets the RedactedFields field's value. 18949 func (s *LoggingConfiguration) SetRedactedFields(v []*FieldToMatch) *LoggingConfiguration { 18950 s.RedactedFields = v 18951 return s 18952 } 18953 18954 // SetResourceArn sets the ResourceArn field's value. 18955 func (s *LoggingConfiguration) SetResourceArn(v string) *LoggingConfiguration { 18956 s.ResourceArn = &v 18957 return s 18958 } 18959 18960 // The operation failed because you tried to delete an object that isn't empty. 18961 // For example: 18962 // 18963 // * You tried to delete a WebACL that still contains one or more Rule objects. 18964 // 18965 // * You tried to delete a Rule that still contains one or more ByteMatchSet 18966 // objects or other predicates. 18967 // 18968 // * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple 18969 // objects. 18970 // 18971 // * You tried to delete an IPSet that references one or more IP addresses. 18972 type NonEmptyEntityException struct { 18973 _ struct{} `type:"structure"` 18974 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18975 18976 Message_ *string `locationName:"message" type:"string"` 18977 } 18978 18979 // String returns the string representation. 18980 // 18981 // API parameter values that are decorated as "sensitive" in the API will not 18982 // be included in the string output. The member name will be present, but the 18983 // value will be replaced with "sensitive". 18984 func (s NonEmptyEntityException) String() string { 18985 return awsutil.Prettify(s) 18986 } 18987 18988 // GoString returns the string representation. 18989 // 18990 // API parameter values that are decorated as "sensitive" in the API will not 18991 // be included in the string output. The member name will be present, but the 18992 // value will be replaced with "sensitive". 18993 func (s NonEmptyEntityException) GoString() string { 18994 return s.String() 18995 } 18996 18997 func newErrorNonEmptyEntityException(v protocol.ResponseMetadata) error { 18998 return &NonEmptyEntityException{ 18999 RespMetadata: v, 19000 } 19001 } 19002 19003 // Code returns the exception type name. 19004 func (s *NonEmptyEntityException) Code() string { 19005 return "WAFNonEmptyEntityException" 19006 } 19007 19008 // Message returns the exception's message. 19009 func (s *NonEmptyEntityException) Message() string { 19010 if s.Message_ != nil { 19011 return *s.Message_ 19012 } 19013 return "" 19014 } 19015 19016 // OrigErr always returns nil, satisfies awserr.Error interface. 19017 func (s *NonEmptyEntityException) OrigErr() error { 19018 return nil 19019 } 19020 19021 func (s *NonEmptyEntityException) Error() string { 19022 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19023 } 19024 19025 // Status code returns the HTTP status code for the request's response error. 19026 func (s *NonEmptyEntityException) StatusCode() int { 19027 return s.RespMetadata.StatusCode 19028 } 19029 19030 // RequestID returns the service's response RequestID for request. 19031 func (s *NonEmptyEntityException) RequestID() string { 19032 return s.RespMetadata.RequestID 19033 } 19034 19035 // The operation failed because you tried to add an object to or delete an object 19036 // from another object that doesn't exist. For example: 19037 // 19038 // * You tried to add a Rule to or delete a Rule from a WebACL that doesn't 19039 // exist. 19040 // 19041 // * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule 19042 // that doesn't exist. 19043 // 19044 // * You tried to add an IP address to or delete an IP address from an IPSet 19045 // that doesn't exist. 19046 // 19047 // * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from 19048 // a ByteMatchSet that doesn't exist. 19049 type NonexistentContainerException struct { 19050 _ struct{} `type:"structure"` 19051 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19052 19053 Message_ *string `locationName:"message" type:"string"` 19054 } 19055 19056 // String returns the string representation. 19057 // 19058 // API parameter values that are decorated as "sensitive" in the API will not 19059 // be included in the string output. The member name will be present, but the 19060 // value will be replaced with "sensitive". 19061 func (s NonexistentContainerException) String() string { 19062 return awsutil.Prettify(s) 19063 } 19064 19065 // GoString returns the string representation. 19066 // 19067 // API parameter values that are decorated as "sensitive" in the API will not 19068 // be included in the string output. The member name will be present, but the 19069 // value will be replaced with "sensitive". 19070 func (s NonexistentContainerException) GoString() string { 19071 return s.String() 19072 } 19073 19074 func newErrorNonexistentContainerException(v protocol.ResponseMetadata) error { 19075 return &NonexistentContainerException{ 19076 RespMetadata: v, 19077 } 19078 } 19079 19080 // Code returns the exception type name. 19081 func (s *NonexistentContainerException) Code() string { 19082 return "WAFNonexistentContainerException" 19083 } 19084 19085 // Message returns the exception's message. 19086 func (s *NonexistentContainerException) Message() string { 19087 if s.Message_ != nil { 19088 return *s.Message_ 19089 } 19090 return "" 19091 } 19092 19093 // OrigErr always returns nil, satisfies awserr.Error interface. 19094 func (s *NonexistentContainerException) OrigErr() error { 19095 return nil 19096 } 19097 19098 func (s *NonexistentContainerException) Error() string { 19099 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19100 } 19101 19102 // Status code returns the HTTP status code for the request's response error. 19103 func (s *NonexistentContainerException) StatusCode() int { 19104 return s.RespMetadata.StatusCode 19105 } 19106 19107 // RequestID returns the service's response RequestID for request. 19108 func (s *NonexistentContainerException) RequestID() string { 19109 return s.RespMetadata.RequestID 19110 } 19111 19112 // The operation failed because the referenced object doesn't exist. 19113 type NonexistentItemException struct { 19114 _ struct{} `type:"structure"` 19115 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19116 19117 Message_ *string `locationName:"message" type:"string"` 19118 } 19119 19120 // String returns the string representation. 19121 // 19122 // API parameter values that are decorated as "sensitive" in the API will not 19123 // be included in the string output. The member name will be present, but the 19124 // value will be replaced with "sensitive". 19125 func (s NonexistentItemException) String() string { 19126 return awsutil.Prettify(s) 19127 } 19128 19129 // GoString returns the string representation. 19130 // 19131 // API parameter values that are decorated as "sensitive" in the API will not 19132 // be included in the string output. The member name will be present, but the 19133 // value will be replaced with "sensitive". 19134 func (s NonexistentItemException) GoString() string { 19135 return s.String() 19136 } 19137 19138 func newErrorNonexistentItemException(v protocol.ResponseMetadata) error { 19139 return &NonexistentItemException{ 19140 RespMetadata: v, 19141 } 19142 } 19143 19144 // Code returns the exception type name. 19145 func (s *NonexistentItemException) Code() string { 19146 return "WAFNonexistentItemException" 19147 } 19148 19149 // Message returns the exception's message. 19150 func (s *NonexistentItemException) Message() string { 19151 if s.Message_ != nil { 19152 return *s.Message_ 19153 } 19154 return "" 19155 } 19156 19157 // OrigErr always returns nil, satisfies awserr.Error interface. 19158 func (s *NonexistentItemException) OrigErr() error { 19159 return nil 19160 } 19161 19162 func (s *NonexistentItemException) Error() string { 19163 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19164 } 19165 19166 // Status code returns the HTTP status code for the request's response error. 19167 func (s *NonexistentItemException) StatusCode() int { 19168 return s.RespMetadata.StatusCode 19169 } 19170 19171 // RequestID returns the service's response RequestID for request. 19172 func (s *NonexistentItemException) RequestID() string { 19173 return s.RespMetadata.RequestID 19174 } 19175 19176 // 19177 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19178 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19179 // in the developer guide. 19180 // 19181 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19182 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19183 // With the latest version, AWS WAF has a single set of endpoints for regional 19184 // and global use. 19185 // 19186 // Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, 19187 // GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule 19188 // and, for each object, indicates whether you want to negate the settings, 19189 // for example, requests that do NOT originate from the IP address 192.0.2.44. 19190 type Predicate struct { 19191 _ struct{} `type:"structure"` 19192 19193 // A unique identifier for a predicate in a Rule, such as ByteMatchSetId or 19194 // IPSetId. The ID is returned by the corresponding Create or List command. 19195 // 19196 // DataId is a required field 19197 DataId *string `min:"1" type:"string" required:"true"` 19198 19199 // Set Negated to False if you want AWS WAF to allow, block, or count requests 19200 // based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, 19201 // XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, 19202 // if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block 19203 // requests based on that IP address. 19204 // 19205 // Set Negated to True if you want AWS WAF to allow or block a request based 19206 // on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, 19207 // XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, 19208 // if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, 19209 // or count requests based on all IP addresses except 192.0.2.44. 19210 // 19211 // Negated is a required field 19212 Negated *bool `type:"boolean" required:"true"` 19213 19214 // The type of predicate in a Rule, such as ByteMatch or IPSet. 19215 // 19216 // Type is a required field 19217 Type *string `type:"string" required:"true" enum:"PredicateType"` 19218 } 19219 19220 // String returns the string representation. 19221 // 19222 // API parameter values that are decorated as "sensitive" in the API will not 19223 // be included in the string output. The member name will be present, but the 19224 // value will be replaced with "sensitive". 19225 func (s Predicate) String() string { 19226 return awsutil.Prettify(s) 19227 } 19228 19229 // GoString returns the string representation. 19230 // 19231 // API parameter values that are decorated as "sensitive" in the API will not 19232 // be included in the string output. The member name will be present, but the 19233 // value will be replaced with "sensitive". 19234 func (s Predicate) GoString() string { 19235 return s.String() 19236 } 19237 19238 // Validate inspects the fields of the type to determine if they are valid. 19239 func (s *Predicate) Validate() error { 19240 invalidParams := request.ErrInvalidParams{Context: "Predicate"} 19241 if s.DataId == nil { 19242 invalidParams.Add(request.NewErrParamRequired("DataId")) 19243 } 19244 if s.DataId != nil && len(*s.DataId) < 1 { 19245 invalidParams.Add(request.NewErrParamMinLen("DataId", 1)) 19246 } 19247 if s.Negated == nil { 19248 invalidParams.Add(request.NewErrParamRequired("Negated")) 19249 } 19250 if s.Type == nil { 19251 invalidParams.Add(request.NewErrParamRequired("Type")) 19252 } 19253 19254 if invalidParams.Len() > 0 { 19255 return invalidParams 19256 } 19257 return nil 19258 } 19259 19260 // SetDataId sets the DataId field's value. 19261 func (s *Predicate) SetDataId(v string) *Predicate { 19262 s.DataId = &v 19263 return s 19264 } 19265 19266 // SetNegated sets the Negated field's value. 19267 func (s *Predicate) SetNegated(v bool) *Predicate { 19268 s.Negated = &v 19269 return s 19270 } 19271 19272 // SetType sets the Type field's value. 19273 func (s *Predicate) SetType(v string) *Predicate { 19274 s.Type = &v 19275 return s 19276 } 19277 19278 type PutLoggingConfigurationInput struct { 19279 _ struct{} `type:"structure"` 19280 19281 // The Amazon Kinesis Data Firehose that contains the inspected traffic information, 19282 // the redacted fields details, and the Amazon Resource Name (ARN) of the web 19283 // ACL to monitor. 19284 // 19285 // When specifying Type in RedactedFields, you must use one of the following 19286 // values: URI, QUERY_STRING, HEADER, or METHOD. 19287 // 19288 // LoggingConfiguration is a required field 19289 LoggingConfiguration *LoggingConfiguration `type:"structure" required:"true"` 19290 } 19291 19292 // String returns the string representation. 19293 // 19294 // API parameter values that are decorated as "sensitive" in the API will not 19295 // be included in the string output. The member name will be present, but the 19296 // value will be replaced with "sensitive". 19297 func (s PutLoggingConfigurationInput) String() string { 19298 return awsutil.Prettify(s) 19299 } 19300 19301 // GoString returns the string representation. 19302 // 19303 // API parameter values that are decorated as "sensitive" in the API will not 19304 // be included in the string output. The member name will be present, but the 19305 // value will be replaced with "sensitive". 19306 func (s PutLoggingConfigurationInput) GoString() string { 19307 return s.String() 19308 } 19309 19310 // Validate inspects the fields of the type to determine if they are valid. 19311 func (s *PutLoggingConfigurationInput) Validate() error { 19312 invalidParams := request.ErrInvalidParams{Context: "PutLoggingConfigurationInput"} 19313 if s.LoggingConfiguration == nil { 19314 invalidParams.Add(request.NewErrParamRequired("LoggingConfiguration")) 19315 } 19316 if s.LoggingConfiguration != nil { 19317 if err := s.LoggingConfiguration.Validate(); err != nil { 19318 invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams)) 19319 } 19320 } 19321 19322 if invalidParams.Len() > 0 { 19323 return invalidParams 19324 } 19325 return nil 19326 } 19327 19328 // SetLoggingConfiguration sets the LoggingConfiguration field's value. 19329 func (s *PutLoggingConfigurationInput) SetLoggingConfiguration(v *LoggingConfiguration) *PutLoggingConfigurationInput { 19330 s.LoggingConfiguration = v 19331 return s 19332 } 19333 19334 type PutLoggingConfigurationOutput struct { 19335 _ struct{} `type:"structure"` 19336 19337 // The LoggingConfiguration that you submitted in the request. 19338 LoggingConfiguration *LoggingConfiguration `type:"structure"` 19339 } 19340 19341 // String returns the string representation. 19342 // 19343 // API parameter values that are decorated as "sensitive" in the API will not 19344 // be included in the string output. The member name will be present, but the 19345 // value will be replaced with "sensitive". 19346 func (s PutLoggingConfigurationOutput) String() string { 19347 return awsutil.Prettify(s) 19348 } 19349 19350 // GoString returns the string representation. 19351 // 19352 // API parameter values that are decorated as "sensitive" in the API will not 19353 // be included in the string output. The member name will be present, but the 19354 // value will be replaced with "sensitive". 19355 func (s PutLoggingConfigurationOutput) GoString() string { 19356 return s.String() 19357 } 19358 19359 // SetLoggingConfiguration sets the LoggingConfiguration field's value. 19360 func (s *PutLoggingConfigurationOutput) SetLoggingConfiguration(v *LoggingConfiguration) *PutLoggingConfigurationOutput { 19361 s.LoggingConfiguration = v 19362 return s 19363 } 19364 19365 type PutPermissionPolicyInput struct { 19366 _ struct{} `type:"structure"` 19367 19368 // The policy to attach to the specified RuleGroup. 19369 // 19370 // Policy is a required field 19371 Policy *string `min:"1" type:"string" required:"true"` 19372 19373 // The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach 19374 // the policy. 19375 // 19376 // ResourceArn is a required field 19377 ResourceArn *string `min:"1" type:"string" required:"true"` 19378 } 19379 19380 // String returns the string representation. 19381 // 19382 // API parameter values that are decorated as "sensitive" in the API will not 19383 // be included in the string output. The member name will be present, but the 19384 // value will be replaced with "sensitive". 19385 func (s PutPermissionPolicyInput) String() string { 19386 return awsutil.Prettify(s) 19387 } 19388 19389 // GoString returns the string representation. 19390 // 19391 // API parameter values that are decorated as "sensitive" in the API will not 19392 // be included in the string output. The member name will be present, but the 19393 // value will be replaced with "sensitive". 19394 func (s PutPermissionPolicyInput) GoString() string { 19395 return s.String() 19396 } 19397 19398 // Validate inspects the fields of the type to determine if they are valid. 19399 func (s *PutPermissionPolicyInput) Validate() error { 19400 invalidParams := request.ErrInvalidParams{Context: "PutPermissionPolicyInput"} 19401 if s.Policy == nil { 19402 invalidParams.Add(request.NewErrParamRequired("Policy")) 19403 } 19404 if s.Policy != nil && len(*s.Policy) < 1 { 19405 invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) 19406 } 19407 if s.ResourceArn == nil { 19408 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 19409 } 19410 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 19411 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 19412 } 19413 19414 if invalidParams.Len() > 0 { 19415 return invalidParams 19416 } 19417 return nil 19418 } 19419 19420 // SetPolicy sets the Policy field's value. 19421 func (s *PutPermissionPolicyInput) SetPolicy(v string) *PutPermissionPolicyInput { 19422 s.Policy = &v 19423 return s 19424 } 19425 19426 // SetResourceArn sets the ResourceArn field's value. 19427 func (s *PutPermissionPolicyInput) SetResourceArn(v string) *PutPermissionPolicyInput { 19428 s.ResourceArn = &v 19429 return s 19430 } 19431 19432 type PutPermissionPolicyOutput struct { 19433 _ struct{} `type:"structure"` 19434 } 19435 19436 // String returns the string representation. 19437 // 19438 // API parameter values that are decorated as "sensitive" in the API will not 19439 // be included in the string output. The member name will be present, but the 19440 // value will be replaced with "sensitive". 19441 func (s PutPermissionPolicyOutput) String() string { 19442 return awsutil.Prettify(s) 19443 } 19444 19445 // GoString returns the string representation. 19446 // 19447 // API parameter values that are decorated as "sensitive" in the API will not 19448 // be included in the string output. The member name will be present, but the 19449 // value will be replaced with "sensitive". 19450 func (s PutPermissionPolicyOutput) GoString() string { 19451 return s.String() 19452 } 19453 19454 // 19455 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19456 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19457 // in the developer guide. 19458 // 19459 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19460 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19461 // With the latest version, AWS WAF has a single set of endpoints for regional 19462 // and global use. 19463 // 19464 // A RateBasedRule is identical to a regular Rule, with one addition: a RateBasedRule 19465 // counts the number of requests that arrive from a specified IP address every 19466 // five minutes. For example, based on recent requests that you've seen from 19467 // an attacker, you might create a RateBasedRule that includes the following 19468 // conditions: 19469 // 19470 // * The requests come from 192.0.2.44. 19471 // 19472 // * They contain the value BadBot in the User-Agent header. 19473 // 19474 // In the rule, you also define the rate limit as 1,000. 19475 // 19476 // Requests that meet both of these conditions and exceed 1,000 requests every 19477 // five minutes trigger the rule's action (block or count), which is defined 19478 // in the web ACL. 19479 type RateBasedRule struct { 19480 _ struct{} `type:"structure"` 19481 19482 // The Predicates object contains one Predicate element for each ByteMatchSet, 19483 // IPSet, or SqlInjectionMatchSet object that you want to include in a RateBasedRule. 19484 // 19485 // MatchPredicates is a required field 19486 MatchPredicates []*Predicate `type:"list" required:"true"` 19487 19488 // A friendly name or description for the metrics for a RateBasedRule. The name 19489 // can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 19490 // 128 and minimum length one. It can't contain whitespace or metric names reserved 19491 // for AWS WAF, including "All" and "Default_Action." You can't change the name 19492 // of the metric after you create the RateBasedRule. 19493 MetricName *string `min:"1" type:"string"` 19494 19495 // A friendly name or description for a RateBasedRule. You can't change the 19496 // name of a RateBasedRule after you create it. 19497 Name *string `min:"1" type:"string"` 19498 19499 // The field that AWS WAF uses to determine if requests are likely arriving 19500 // from single source and thus subject to rate monitoring. The only valid value 19501 // for RateKey is IP. IP indicates that requests arriving from the same IP address 19502 // are subject to the RateLimit that is specified in the RateBasedRule. 19503 // 19504 // RateKey is a required field 19505 RateKey *string `type:"string" required:"true" enum:"RateKey"` 19506 19507 // The maximum number of requests, which have an identical value in the field 19508 // specified by the RateKey, allowed in a five-minute period. If the number 19509 // of requests exceeds the RateLimit and the other predicates specified in the 19510 // rule are also met, AWS WAF triggers the action that is specified for this 19511 // rule. 19512 // 19513 // RateLimit is a required field 19514 RateLimit *int64 `min:"100" type:"long" required:"true"` 19515 19516 // A unique identifier for a RateBasedRule. You use RuleId to get more information 19517 // about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see 19518 // UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one 19519 // from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF 19520 // (see DeleteRateBasedRule). 19521 // 19522 // RuleId is a required field 19523 RuleId *string `min:"1" type:"string" required:"true"` 19524 } 19525 19526 // String returns the string representation. 19527 // 19528 // API parameter values that are decorated as "sensitive" in the API will not 19529 // be included in the string output. The member name will be present, but the 19530 // value will be replaced with "sensitive". 19531 func (s RateBasedRule) String() string { 19532 return awsutil.Prettify(s) 19533 } 19534 19535 // GoString returns the string representation. 19536 // 19537 // API parameter values that are decorated as "sensitive" in the API will not 19538 // be included in the string output. The member name will be present, but the 19539 // value will be replaced with "sensitive". 19540 func (s RateBasedRule) GoString() string { 19541 return s.String() 19542 } 19543 19544 // SetMatchPredicates sets the MatchPredicates field's value. 19545 func (s *RateBasedRule) SetMatchPredicates(v []*Predicate) *RateBasedRule { 19546 s.MatchPredicates = v 19547 return s 19548 } 19549 19550 // SetMetricName sets the MetricName field's value. 19551 func (s *RateBasedRule) SetMetricName(v string) *RateBasedRule { 19552 s.MetricName = &v 19553 return s 19554 } 19555 19556 // SetName sets the Name field's value. 19557 func (s *RateBasedRule) SetName(v string) *RateBasedRule { 19558 s.Name = &v 19559 return s 19560 } 19561 19562 // SetRateKey sets the RateKey field's value. 19563 func (s *RateBasedRule) SetRateKey(v string) *RateBasedRule { 19564 s.RateKey = &v 19565 return s 19566 } 19567 19568 // SetRateLimit sets the RateLimit field's value. 19569 func (s *RateBasedRule) SetRateLimit(v int64) *RateBasedRule { 19570 s.RateLimit = &v 19571 return s 19572 } 19573 19574 // SetRuleId sets the RuleId field's value. 19575 func (s *RateBasedRule) SetRuleId(v string) *RateBasedRule { 19576 s.RuleId = &v 19577 return s 19578 } 19579 19580 // The operation failed because you tried to delete an object that is still 19581 // in use. For example: 19582 // 19583 // * You tried to delete a ByteMatchSet that is still referenced by a Rule. 19584 // 19585 // * You tried to delete a Rule that is still referenced by a WebACL. 19586 type ReferencedItemException struct { 19587 _ struct{} `type:"structure"` 19588 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19589 19590 Message_ *string `locationName:"message" type:"string"` 19591 } 19592 19593 // String returns the string representation. 19594 // 19595 // API parameter values that are decorated as "sensitive" in the API will not 19596 // be included in the string output. The member name will be present, but the 19597 // value will be replaced with "sensitive". 19598 func (s ReferencedItemException) String() string { 19599 return awsutil.Prettify(s) 19600 } 19601 19602 // GoString returns the string representation. 19603 // 19604 // API parameter values that are decorated as "sensitive" in the API will not 19605 // be included in the string output. The member name will be present, but the 19606 // value will be replaced with "sensitive". 19607 func (s ReferencedItemException) GoString() string { 19608 return s.String() 19609 } 19610 19611 func newErrorReferencedItemException(v protocol.ResponseMetadata) error { 19612 return &ReferencedItemException{ 19613 RespMetadata: v, 19614 } 19615 } 19616 19617 // Code returns the exception type name. 19618 func (s *ReferencedItemException) Code() string { 19619 return "WAFReferencedItemException" 19620 } 19621 19622 // Message returns the exception's message. 19623 func (s *ReferencedItemException) Message() string { 19624 if s.Message_ != nil { 19625 return *s.Message_ 19626 } 19627 return "" 19628 } 19629 19630 // OrigErr always returns nil, satisfies awserr.Error interface. 19631 func (s *ReferencedItemException) OrigErr() error { 19632 return nil 19633 } 19634 19635 func (s *ReferencedItemException) Error() string { 19636 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19637 } 19638 19639 // Status code returns the HTTP status code for the request's response error. 19640 func (s *ReferencedItemException) StatusCode() int { 19641 return s.RespMetadata.StatusCode 19642 } 19643 19644 // RequestID returns the service's response RequestID for request. 19645 func (s *ReferencedItemException) RequestID() string { 19646 return s.RespMetadata.RequestID 19647 } 19648 19649 // 19650 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19651 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19652 // in the developer guide. 19653 // 19654 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19655 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19656 // With the latest version, AWS WAF has a single set of endpoints for regional 19657 // and global use. 19658 // 19659 // In a GetRegexMatchSet request, RegexMatchSet is a complex type that contains 19660 // the RegexMatchSetId and Name of a RegexMatchSet, and the values that you 19661 // specified when you updated the RegexMatchSet. 19662 // 19663 // The values are contained in a RegexMatchTuple object, which specify the parts 19664 // of web requests that you want AWS WAF to inspect and the values that you 19665 // want AWS WAF to search for. If a RegexMatchSet contains more than one RegexMatchTuple 19666 // object, a request needs to match the settings in only one ByteMatchTuple 19667 // to be considered a match. 19668 type RegexMatchSet struct { 19669 _ struct{} `type:"structure"` 19670 19671 // A friendly name or description of the RegexMatchSet. You can't change Name 19672 // after you create a RegexMatchSet. 19673 Name *string `min:"1" type:"string"` 19674 19675 // The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information 19676 // about a RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see 19677 // UpdateRegexMatchSet), insert a RegexMatchSet into a Rule or delete one from 19678 // a Rule (see UpdateRule), and delete a RegexMatchSet from AWS WAF (see DeleteRegexMatchSet). 19679 // 19680 // RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. 19681 RegexMatchSetId *string `min:"1" type:"string"` 19682 19683 // Contains an array of RegexMatchTuple objects. Each RegexMatchTuple object 19684 // contains: 19685 // 19686 // * The part of a web request that you want AWS WAF to inspect, such as 19687 // a query string or the value of the User-Agent header. 19688 // 19689 // * The identifier of the pattern (a regular expression) that you want AWS 19690 // WAF to look for. For more information, see RegexPatternSet. 19691 // 19692 // * Whether to perform any conversions on the request, such as converting 19693 // it to lowercase, before inspecting it for the specified string. 19694 RegexMatchTuples []*RegexMatchTuple `type:"list"` 19695 } 19696 19697 // String returns the string representation. 19698 // 19699 // API parameter values that are decorated as "sensitive" in the API will not 19700 // be included in the string output. The member name will be present, but the 19701 // value will be replaced with "sensitive". 19702 func (s RegexMatchSet) String() string { 19703 return awsutil.Prettify(s) 19704 } 19705 19706 // GoString returns the string representation. 19707 // 19708 // API parameter values that are decorated as "sensitive" in the API will not 19709 // be included in the string output. The member name will be present, but the 19710 // value will be replaced with "sensitive". 19711 func (s RegexMatchSet) GoString() string { 19712 return s.String() 19713 } 19714 19715 // SetName sets the Name field's value. 19716 func (s *RegexMatchSet) SetName(v string) *RegexMatchSet { 19717 s.Name = &v 19718 return s 19719 } 19720 19721 // SetRegexMatchSetId sets the RegexMatchSetId field's value. 19722 func (s *RegexMatchSet) SetRegexMatchSetId(v string) *RegexMatchSet { 19723 s.RegexMatchSetId = &v 19724 return s 19725 } 19726 19727 // SetRegexMatchTuples sets the RegexMatchTuples field's value. 19728 func (s *RegexMatchSet) SetRegexMatchTuples(v []*RegexMatchTuple) *RegexMatchSet { 19729 s.RegexMatchTuples = v 19730 return s 19731 } 19732 19733 // 19734 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19735 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19736 // in the developer guide. 19737 // 19738 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19739 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19740 // With the latest version, AWS WAF has a single set of endpoints for regional 19741 // and global use. 19742 // 19743 // Returned by ListRegexMatchSets. Each RegexMatchSetSummary object includes 19744 // the Name and RegexMatchSetId for one RegexMatchSet. 19745 type RegexMatchSetSummary struct { 19746 _ struct{} `type:"structure"` 19747 19748 // A friendly name or description of the RegexMatchSet. You can't change Name 19749 // after you create a RegexMatchSet. 19750 // 19751 // Name is a required field 19752 Name *string `min:"1" type:"string" required:"true"` 19753 19754 // The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information 19755 // about a RegexMatchSet, update a RegexMatchSet, remove a RegexMatchSet from 19756 // a Rule, and delete a RegexMatchSet from AWS WAF. 19757 // 19758 // RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. 19759 // 19760 // RegexMatchSetId is a required field 19761 RegexMatchSetId *string `min:"1" type:"string" required:"true"` 19762 } 19763 19764 // String returns the string representation. 19765 // 19766 // API parameter values that are decorated as "sensitive" in the API will not 19767 // be included in the string output. The member name will be present, but the 19768 // value will be replaced with "sensitive". 19769 func (s RegexMatchSetSummary) String() string { 19770 return awsutil.Prettify(s) 19771 } 19772 19773 // GoString returns the string representation. 19774 // 19775 // API parameter values that are decorated as "sensitive" in the API will not 19776 // be included in the string output. The member name will be present, but the 19777 // value will be replaced with "sensitive". 19778 func (s RegexMatchSetSummary) GoString() string { 19779 return s.String() 19780 } 19781 19782 // SetName sets the Name field's value. 19783 func (s *RegexMatchSetSummary) SetName(v string) *RegexMatchSetSummary { 19784 s.Name = &v 19785 return s 19786 } 19787 19788 // SetRegexMatchSetId sets the RegexMatchSetId field's value. 19789 func (s *RegexMatchSetSummary) SetRegexMatchSetId(v string) *RegexMatchSetSummary { 19790 s.RegexMatchSetId = &v 19791 return s 19792 } 19793 19794 // 19795 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19796 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19797 // in the developer guide. 19798 // 19799 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19800 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19801 // With the latest version, AWS WAF has a single set of endpoints for regional 19802 // and global use. 19803 // 19804 // In an UpdateRegexMatchSet request, RegexMatchSetUpdate specifies whether 19805 // to insert or delete a RegexMatchTuple and includes the settings for the RegexMatchTuple. 19806 type RegexMatchSetUpdate struct { 19807 _ struct{} `type:"structure"` 19808 19809 // Specifies whether to insert or delete a RegexMatchTuple. 19810 // 19811 // Action is a required field 19812 Action *string `type:"string" required:"true" enum:"ChangeAction"` 19813 19814 // Information about the part of a web request that you want AWS WAF to inspect 19815 // and the identifier of the regular expression (regex) pattern that you want 19816 // AWS WAF to search for. If you specify DELETE for the value of Action, the 19817 // RegexMatchTuple values must exactly match the values in the RegexMatchTuple 19818 // that you want to delete from the RegexMatchSet. 19819 // 19820 // RegexMatchTuple is a required field 19821 RegexMatchTuple *RegexMatchTuple `type:"structure" required:"true"` 19822 } 19823 19824 // String returns the string representation. 19825 // 19826 // API parameter values that are decorated as "sensitive" in the API will not 19827 // be included in the string output. The member name will be present, but the 19828 // value will be replaced with "sensitive". 19829 func (s RegexMatchSetUpdate) String() string { 19830 return awsutil.Prettify(s) 19831 } 19832 19833 // GoString returns the string representation. 19834 // 19835 // API parameter values that are decorated as "sensitive" in the API will not 19836 // be included in the string output. The member name will be present, but the 19837 // value will be replaced with "sensitive". 19838 func (s RegexMatchSetUpdate) GoString() string { 19839 return s.String() 19840 } 19841 19842 // Validate inspects the fields of the type to determine if they are valid. 19843 func (s *RegexMatchSetUpdate) Validate() error { 19844 invalidParams := request.ErrInvalidParams{Context: "RegexMatchSetUpdate"} 19845 if s.Action == nil { 19846 invalidParams.Add(request.NewErrParamRequired("Action")) 19847 } 19848 if s.RegexMatchTuple == nil { 19849 invalidParams.Add(request.NewErrParamRequired("RegexMatchTuple")) 19850 } 19851 if s.RegexMatchTuple != nil { 19852 if err := s.RegexMatchTuple.Validate(); err != nil { 19853 invalidParams.AddNested("RegexMatchTuple", err.(request.ErrInvalidParams)) 19854 } 19855 } 19856 19857 if invalidParams.Len() > 0 { 19858 return invalidParams 19859 } 19860 return nil 19861 } 19862 19863 // SetAction sets the Action field's value. 19864 func (s *RegexMatchSetUpdate) SetAction(v string) *RegexMatchSetUpdate { 19865 s.Action = &v 19866 return s 19867 } 19868 19869 // SetRegexMatchTuple sets the RegexMatchTuple field's value. 19870 func (s *RegexMatchSetUpdate) SetRegexMatchTuple(v *RegexMatchTuple) *RegexMatchSetUpdate { 19871 s.RegexMatchTuple = v 19872 return s 19873 } 19874 19875 // 19876 // This is AWS WAF Classic documentation. For more information, see AWS WAF 19877 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 19878 // in the developer guide. 19879 // 19880 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 19881 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 19882 // With the latest version, AWS WAF has a single set of endpoints for regional 19883 // and global use. 19884 // 19885 // The regular expression pattern that you want AWS WAF to search for in web 19886 // requests, the location in requests that you want AWS WAF to search, and other 19887 // settings. Each RegexMatchTuple object contains: 19888 // 19889 // * The part of a web request that you want AWS WAF to inspect, such as 19890 // a query string or the value of the User-Agent header. 19891 // 19892 // * The identifier of the pattern (a regular expression) that you want AWS 19893 // WAF to look for. For more information, see RegexPatternSet. 19894 // 19895 // * Whether to perform any conversions on the request, such as converting 19896 // it to lowercase, before inspecting it for the specified string. 19897 type RegexMatchTuple struct { 19898 _ struct{} `type:"structure"` 19899 19900 // Specifies where in a web request to look for the RegexPatternSet. 19901 // 19902 // FieldToMatch is a required field 19903 FieldToMatch *FieldToMatch `type:"structure" required:"true"` 19904 19905 // The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to 19906 // get information about a RegexPatternSet (see GetRegexPatternSet), update 19907 // a RegexPatternSet (see UpdateRegexPatternSet), insert a RegexPatternSet into 19908 // a RegexMatchSet or delete one from a RegexMatchSet (see UpdateRegexMatchSet), 19909 // and delete an RegexPatternSet from AWS WAF (see DeleteRegexPatternSet). 19910 // 19911 // RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. 19912 // 19913 // RegexPatternSetId is a required field 19914 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 19915 19916 // Text transformations eliminate some of the unusual formatting that attackers 19917 // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, 19918 // AWS WAF performs the transformation on RegexPatternSet before inspecting 19919 // a request for a match. 19920 // 19921 // You can only specify a single type of TextTransformation. 19922 // 19923 // CMD_LINE 19924 // 19925 // When you're concerned that attackers are injecting an operating system commandline 19926 // command and using unusual formatting to disguise some or all of the command, 19927 // use this option to perform the following transformations: 19928 // 19929 // * Delete the following characters: \ " ' ^ 19930 // 19931 // * Delete spaces before the following characters: / ( 19932 // 19933 // * Replace the following characters with a space: , ; 19934 // 19935 // * Replace multiple spaces with one space 19936 // 19937 // * Convert uppercase letters (A-Z) to lowercase (a-z) 19938 // 19939 // COMPRESS_WHITE_SPACE 19940 // 19941 // Use this option to replace the following characters with a space character 19942 // (decimal 32): 19943 // 19944 // * \f, formfeed, decimal 12 19945 // 19946 // * \t, tab, decimal 9 19947 // 19948 // * \n, newline, decimal 10 19949 // 19950 // * \r, carriage return, decimal 13 19951 // 19952 // * \v, vertical tab, decimal 11 19953 // 19954 // * non-breaking space, decimal 160 19955 // 19956 // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. 19957 // 19958 // HTML_ENTITY_DECODE 19959 // 19960 // Use this option to replace HTML-encoded characters with unencoded characters. 19961 // HTML_ENTITY_DECODE performs the following operations: 19962 // 19963 // * Replaces (ampersand)quot; with " 19964 // 19965 // * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 19966 // 19967 // * Replaces (ampersand)lt; with a "less than" symbol 19968 // 19969 // * Replaces (ampersand)gt; with > 19970 // 19971 // * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, 19972 // with the corresponding characters 19973 // 19974 // * Replaces characters that are represented in decimal format, (ampersand)#nnnn;, 19975 // with the corresponding characters 19976 // 19977 // LOWERCASE 19978 // 19979 // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). 19980 // 19981 // URL_DECODE 19982 // 19983 // Use this option to decode a URL-encoded value. 19984 // 19985 // NONE 19986 // 19987 // Specify NONE if you don't want to perform any text transformations. 19988 // 19989 // TextTransformation is a required field 19990 TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` 19991 } 19992 19993 // String returns the string representation. 19994 // 19995 // API parameter values that are decorated as "sensitive" in the API will not 19996 // be included in the string output. The member name will be present, but the 19997 // value will be replaced with "sensitive". 19998 func (s RegexMatchTuple) String() string { 19999 return awsutil.Prettify(s) 20000 } 20001 20002 // GoString returns the string representation. 20003 // 20004 // API parameter values that are decorated as "sensitive" in the API will not 20005 // be included in the string output. The member name will be present, but the 20006 // value will be replaced with "sensitive". 20007 func (s RegexMatchTuple) GoString() string { 20008 return s.String() 20009 } 20010 20011 // Validate inspects the fields of the type to determine if they are valid. 20012 func (s *RegexMatchTuple) Validate() error { 20013 invalidParams := request.ErrInvalidParams{Context: "RegexMatchTuple"} 20014 if s.FieldToMatch == nil { 20015 invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) 20016 } 20017 if s.RegexPatternSetId == nil { 20018 invalidParams.Add(request.NewErrParamRequired("RegexPatternSetId")) 20019 } 20020 if s.RegexPatternSetId != nil && len(*s.RegexPatternSetId) < 1 { 20021 invalidParams.Add(request.NewErrParamMinLen("RegexPatternSetId", 1)) 20022 } 20023 if s.TextTransformation == nil { 20024 invalidParams.Add(request.NewErrParamRequired("TextTransformation")) 20025 } 20026 if s.FieldToMatch != nil { 20027 if err := s.FieldToMatch.Validate(); err != nil { 20028 invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) 20029 } 20030 } 20031 20032 if invalidParams.Len() > 0 { 20033 return invalidParams 20034 } 20035 return nil 20036 } 20037 20038 // SetFieldToMatch sets the FieldToMatch field's value. 20039 func (s *RegexMatchTuple) SetFieldToMatch(v *FieldToMatch) *RegexMatchTuple { 20040 s.FieldToMatch = v 20041 return s 20042 } 20043 20044 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 20045 func (s *RegexMatchTuple) SetRegexPatternSetId(v string) *RegexMatchTuple { 20046 s.RegexPatternSetId = &v 20047 return s 20048 } 20049 20050 // SetTextTransformation sets the TextTransformation field's value. 20051 func (s *RegexMatchTuple) SetTextTransformation(v string) *RegexMatchTuple { 20052 s.TextTransformation = &v 20053 return s 20054 } 20055 20056 // 20057 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20058 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20059 // in the developer guide. 20060 // 20061 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20062 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20063 // With the latest version, AWS WAF has a single set of endpoints for regional 20064 // and global use. 20065 // 20066 // The RegexPatternSet specifies the regular expression (regex) pattern that 20067 // you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure 20068 // AWS WAF to reject those requests. 20069 type RegexPatternSet struct { 20070 _ struct{} `type:"structure"` 20071 20072 // A friendly name or description of the RegexPatternSet. You can't change Name 20073 // after you create a RegexPatternSet. 20074 Name *string `min:"1" type:"string"` 20075 20076 // The identifier for the RegexPatternSet. You use RegexPatternSetId to get 20077 // information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet 20078 // from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF. 20079 // 20080 // RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. 20081 // 20082 // RegexPatternSetId is a required field 20083 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 20084 20085 // Specifies the regular expression (regex) patterns that you want AWS WAF to 20086 // search for, such as B[a@]dB[o0]t. 20087 // 20088 // RegexPatternStrings is a required field 20089 RegexPatternStrings []*string `type:"list" required:"true"` 20090 } 20091 20092 // String returns the string representation. 20093 // 20094 // API parameter values that are decorated as "sensitive" in the API will not 20095 // be included in the string output. The member name will be present, but the 20096 // value will be replaced with "sensitive". 20097 func (s RegexPatternSet) String() string { 20098 return awsutil.Prettify(s) 20099 } 20100 20101 // GoString returns the string representation. 20102 // 20103 // API parameter values that are decorated as "sensitive" in the API will not 20104 // be included in the string output. The member name will be present, but the 20105 // value will be replaced with "sensitive". 20106 func (s RegexPatternSet) GoString() string { 20107 return s.String() 20108 } 20109 20110 // SetName sets the Name field's value. 20111 func (s *RegexPatternSet) SetName(v string) *RegexPatternSet { 20112 s.Name = &v 20113 return s 20114 } 20115 20116 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 20117 func (s *RegexPatternSet) SetRegexPatternSetId(v string) *RegexPatternSet { 20118 s.RegexPatternSetId = &v 20119 return s 20120 } 20121 20122 // SetRegexPatternStrings sets the RegexPatternStrings field's value. 20123 func (s *RegexPatternSet) SetRegexPatternStrings(v []*string) *RegexPatternSet { 20124 s.RegexPatternStrings = v 20125 return s 20126 } 20127 20128 // 20129 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20130 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20131 // in the developer guide. 20132 // 20133 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20134 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20135 // With the latest version, AWS WAF has a single set of endpoints for regional 20136 // and global use. 20137 // 20138 // Returned by ListRegexPatternSets. Each RegexPatternSetSummary object includes 20139 // the Name and RegexPatternSetId for one RegexPatternSet. 20140 type RegexPatternSetSummary struct { 20141 _ struct{} `type:"structure"` 20142 20143 // A friendly name or description of the RegexPatternSet. You can't change Name 20144 // after you create a RegexPatternSet. 20145 // 20146 // Name is a required field 20147 Name *string `min:"1" type:"string" required:"true"` 20148 20149 // The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to 20150 // get information about a RegexPatternSet, update a RegexPatternSet, remove 20151 // a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from 20152 // AWS WAF. 20153 // 20154 // RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. 20155 // 20156 // RegexPatternSetId is a required field 20157 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 20158 } 20159 20160 // String returns the string representation. 20161 // 20162 // API parameter values that are decorated as "sensitive" in the API will not 20163 // be included in the string output. The member name will be present, but the 20164 // value will be replaced with "sensitive". 20165 func (s RegexPatternSetSummary) String() string { 20166 return awsutil.Prettify(s) 20167 } 20168 20169 // GoString returns the string representation. 20170 // 20171 // API parameter values that are decorated as "sensitive" in the API will not 20172 // be included in the string output. The member name will be present, but the 20173 // value will be replaced with "sensitive". 20174 func (s RegexPatternSetSummary) GoString() string { 20175 return s.String() 20176 } 20177 20178 // SetName sets the Name field's value. 20179 func (s *RegexPatternSetSummary) SetName(v string) *RegexPatternSetSummary { 20180 s.Name = &v 20181 return s 20182 } 20183 20184 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 20185 func (s *RegexPatternSetSummary) SetRegexPatternSetId(v string) *RegexPatternSetSummary { 20186 s.RegexPatternSetId = &v 20187 return s 20188 } 20189 20190 // 20191 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20192 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20193 // in the developer guide. 20194 // 20195 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20196 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20197 // With the latest version, AWS WAF has a single set of endpoints for regional 20198 // and global use. 20199 // 20200 // In an UpdateRegexPatternSet request, RegexPatternSetUpdate specifies whether 20201 // to insert or delete a RegexPatternString and includes the settings for the 20202 // RegexPatternString. 20203 type RegexPatternSetUpdate struct { 20204 _ struct{} `type:"structure"` 20205 20206 // Specifies whether to insert or delete a RegexPatternString. 20207 // 20208 // Action is a required field 20209 Action *string `type:"string" required:"true" enum:"ChangeAction"` 20210 20211 // Specifies the regular expression (regex) pattern that you want AWS WAF to 20212 // search for, such as B[a@]dB[o0]t. 20213 // 20214 // RegexPatternString is a required field 20215 RegexPatternString *string `min:"1" type:"string" required:"true"` 20216 } 20217 20218 // String returns the string representation. 20219 // 20220 // API parameter values that are decorated as "sensitive" in the API will not 20221 // be included in the string output. The member name will be present, but the 20222 // value will be replaced with "sensitive". 20223 func (s RegexPatternSetUpdate) String() string { 20224 return awsutil.Prettify(s) 20225 } 20226 20227 // GoString returns the string representation. 20228 // 20229 // API parameter values that are decorated as "sensitive" in the API will not 20230 // be included in the string output. The member name will be present, but the 20231 // value will be replaced with "sensitive". 20232 func (s RegexPatternSetUpdate) GoString() string { 20233 return s.String() 20234 } 20235 20236 // Validate inspects the fields of the type to determine if they are valid. 20237 func (s *RegexPatternSetUpdate) Validate() error { 20238 invalidParams := request.ErrInvalidParams{Context: "RegexPatternSetUpdate"} 20239 if s.Action == nil { 20240 invalidParams.Add(request.NewErrParamRequired("Action")) 20241 } 20242 if s.RegexPatternString == nil { 20243 invalidParams.Add(request.NewErrParamRequired("RegexPatternString")) 20244 } 20245 if s.RegexPatternString != nil && len(*s.RegexPatternString) < 1 { 20246 invalidParams.Add(request.NewErrParamMinLen("RegexPatternString", 1)) 20247 } 20248 20249 if invalidParams.Len() > 0 { 20250 return invalidParams 20251 } 20252 return nil 20253 } 20254 20255 // SetAction sets the Action field's value. 20256 func (s *RegexPatternSetUpdate) SetAction(v string) *RegexPatternSetUpdate { 20257 s.Action = &v 20258 return s 20259 } 20260 20261 // SetRegexPatternString sets the RegexPatternString field's value. 20262 func (s *RegexPatternSetUpdate) SetRegexPatternString(v string) *RegexPatternSetUpdate { 20263 s.RegexPatternString = &v 20264 return s 20265 } 20266 20267 // 20268 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20269 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20270 // in the developer guide. 20271 // 20272 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20273 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20274 // With the latest version, AWS WAF has a single set of endpoints for regional 20275 // and global use. 20276 // 20277 // A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects 20278 // that identify the web requests that you want to allow, block, or count. For 20279 // example, you might create a Rule that includes the following predicates: 20280 // 20281 // * An IPSet that causes AWS WAF to search for web requests that originate 20282 // from the IP address 192.0.2.44 20283 // 20284 // * A ByteMatchSet that causes AWS WAF to search for web requests for which 20285 // the value of the User-Agent header is BadBot. 20286 // 20287 // To match the settings in this Rule, a request must originate from 192.0.2.44 20288 // AND include a User-Agent header for which the value is BadBot. 20289 type Rule struct { 20290 _ struct{} `type:"structure"` 20291 20292 // A friendly name or description for the metrics for this Rule. The name can 20293 // contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 20294 // 128 and minimum length one. It can't contain whitespace or metric names reserved 20295 // for AWS WAF, including "All" and "Default_Action." You can't change MetricName 20296 // after you create the Rule. 20297 MetricName *string `min:"1" type:"string"` 20298 20299 // The friendly name or description for the Rule. You can't change the name 20300 // of a Rule after you create it. 20301 Name *string `min:"1" type:"string"` 20302 20303 // The Predicates object contains one Predicate element for each ByteMatchSet, 20304 // IPSet, or SqlInjectionMatchSet object that you want to include in a Rule. 20305 // 20306 // Predicates is a required field 20307 Predicates []*Predicate `type:"list" required:"true"` 20308 20309 // A unique identifier for a Rule. You use RuleId to get more information about 20310 // a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into 20311 // a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule 20312 // from AWS WAF (see DeleteRule). 20313 // 20314 // RuleId is returned by CreateRule and by ListRules. 20315 // 20316 // RuleId is a required field 20317 RuleId *string `min:"1" type:"string" required:"true"` 20318 } 20319 20320 // String returns the string representation. 20321 // 20322 // API parameter values that are decorated as "sensitive" in the API will not 20323 // be included in the string output. The member name will be present, but the 20324 // value will be replaced with "sensitive". 20325 func (s Rule) String() string { 20326 return awsutil.Prettify(s) 20327 } 20328 20329 // GoString returns the string representation. 20330 // 20331 // API parameter values that are decorated as "sensitive" in the API will not 20332 // be included in the string output. The member name will be present, but the 20333 // value will be replaced with "sensitive". 20334 func (s Rule) GoString() string { 20335 return s.String() 20336 } 20337 20338 // SetMetricName sets the MetricName field's value. 20339 func (s *Rule) SetMetricName(v string) *Rule { 20340 s.MetricName = &v 20341 return s 20342 } 20343 20344 // SetName sets the Name field's value. 20345 func (s *Rule) SetName(v string) *Rule { 20346 s.Name = &v 20347 return s 20348 } 20349 20350 // SetPredicates sets the Predicates field's value. 20351 func (s *Rule) SetPredicates(v []*Predicate) *Rule { 20352 s.Predicates = v 20353 return s 20354 } 20355 20356 // SetRuleId sets the RuleId field's value. 20357 func (s *Rule) SetRuleId(v string) *Rule { 20358 s.RuleId = &v 20359 return s 20360 } 20361 20362 // 20363 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20364 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20365 // in the developer guide. 20366 // 20367 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20368 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20369 // With the latest version, AWS WAF has a single set of endpoints for regional 20370 // and global use. 20371 // 20372 // A collection of predefined rules that you can add to a web ACL. 20373 // 20374 // Rule groups are subject to the following limits: 20375 // 20376 // * Three rule groups per account. You can request an increase to this limit 20377 // by contacting customer support. 20378 // 20379 // * One rule group per web ACL. 20380 // 20381 // * Ten rules per rule group. 20382 type RuleGroup struct { 20383 _ struct{} `type:"structure"` 20384 20385 // A friendly name or description for the metrics for this RuleGroup. The name 20386 // can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 20387 // 128 and minimum length one. It can't contain whitespace or metric names reserved 20388 // for AWS WAF, including "All" and "Default_Action." You can't change the name 20389 // of the metric after you create the RuleGroup. 20390 MetricName *string `min:"1" type:"string"` 20391 20392 // The friendly name or description for the RuleGroup. You can't change the 20393 // name of a RuleGroup after you create it. 20394 Name *string `min:"1" type:"string"` 20395 20396 // A unique identifier for a RuleGroup. You use RuleGroupId to get more information 20397 // about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), 20398 // insert a RuleGroup into a WebACL or delete a one from a WebACL (see UpdateWebACL), 20399 // or delete a RuleGroup from AWS WAF (see DeleteRuleGroup). 20400 // 20401 // RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. 20402 // 20403 // RuleGroupId is a required field 20404 RuleGroupId *string `min:"1" type:"string" required:"true"` 20405 } 20406 20407 // String returns the string representation. 20408 // 20409 // API parameter values that are decorated as "sensitive" in the API will not 20410 // be included in the string output. The member name will be present, but the 20411 // value will be replaced with "sensitive". 20412 func (s RuleGroup) String() string { 20413 return awsutil.Prettify(s) 20414 } 20415 20416 // GoString returns the string representation. 20417 // 20418 // API parameter values that are decorated as "sensitive" in the API will not 20419 // be included in the string output. The member name will be present, but the 20420 // value will be replaced with "sensitive". 20421 func (s RuleGroup) GoString() string { 20422 return s.String() 20423 } 20424 20425 // SetMetricName sets the MetricName field's value. 20426 func (s *RuleGroup) SetMetricName(v string) *RuleGroup { 20427 s.MetricName = &v 20428 return s 20429 } 20430 20431 // SetName sets the Name field's value. 20432 func (s *RuleGroup) SetName(v string) *RuleGroup { 20433 s.Name = &v 20434 return s 20435 } 20436 20437 // SetRuleGroupId sets the RuleGroupId field's value. 20438 func (s *RuleGroup) SetRuleGroupId(v string) *RuleGroup { 20439 s.RuleGroupId = &v 20440 return s 20441 } 20442 20443 // 20444 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20445 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20446 // in the developer guide. 20447 // 20448 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20449 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20450 // With the latest version, AWS WAF has a single set of endpoints for regional 20451 // and global use. 20452 // 20453 // Contains the identifier and the friendly name or description of the RuleGroup. 20454 type RuleGroupSummary struct { 20455 _ struct{} `type:"structure"` 20456 20457 // A friendly name or description of the RuleGroup. You can't change the name 20458 // of a RuleGroup after you create it. 20459 // 20460 // Name is a required field 20461 Name *string `min:"1" type:"string" required:"true"` 20462 20463 // A unique identifier for a RuleGroup. You use RuleGroupId to get more information 20464 // about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), 20465 // insert a RuleGroup into a WebACL or delete one from a WebACL (see UpdateWebACL), 20466 // or delete a RuleGroup from AWS WAF (see DeleteRuleGroup). 20467 // 20468 // RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. 20469 // 20470 // RuleGroupId is a required field 20471 RuleGroupId *string `min:"1" type:"string" required:"true"` 20472 } 20473 20474 // String returns the string representation. 20475 // 20476 // API parameter values that are decorated as "sensitive" in the API will not 20477 // be included in the string output. The member name will be present, but the 20478 // value will be replaced with "sensitive". 20479 func (s RuleGroupSummary) String() string { 20480 return awsutil.Prettify(s) 20481 } 20482 20483 // GoString returns the string representation. 20484 // 20485 // API parameter values that are decorated as "sensitive" in the API will not 20486 // be included in the string output. The member name will be present, but the 20487 // value will be replaced with "sensitive". 20488 func (s RuleGroupSummary) GoString() string { 20489 return s.String() 20490 } 20491 20492 // SetName sets the Name field's value. 20493 func (s *RuleGroupSummary) SetName(v string) *RuleGroupSummary { 20494 s.Name = &v 20495 return s 20496 } 20497 20498 // SetRuleGroupId sets the RuleGroupId field's value. 20499 func (s *RuleGroupSummary) SetRuleGroupId(v string) *RuleGroupSummary { 20500 s.RuleGroupId = &v 20501 return s 20502 } 20503 20504 // 20505 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20506 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20507 // in the developer guide. 20508 // 20509 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20510 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20511 // With the latest version, AWS WAF has a single set of endpoints for regional 20512 // and global use. 20513 // 20514 // Specifies an ActivatedRule and indicates whether you want to add it to a 20515 // RuleGroup or delete it from a RuleGroup. 20516 type RuleGroupUpdate struct { 20517 _ struct{} `type:"structure"` 20518 20519 // Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove 20520 // an ActivatedRule from a RuleGroup. 20521 // 20522 // Action is a required field 20523 Action *string `type:"string" required:"true" enum:"ChangeAction"` 20524 20525 // The ActivatedRule object specifies a Rule that you want to insert or delete, 20526 // the priority of the Rule in the WebACL, and the action that you want AWS 20527 // WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT). 20528 // 20529 // ActivatedRule is a required field 20530 ActivatedRule *ActivatedRule `type:"structure" required:"true"` 20531 } 20532 20533 // String returns the string representation. 20534 // 20535 // API parameter values that are decorated as "sensitive" in the API will not 20536 // be included in the string output. The member name will be present, but the 20537 // value will be replaced with "sensitive". 20538 func (s RuleGroupUpdate) String() string { 20539 return awsutil.Prettify(s) 20540 } 20541 20542 // GoString returns the string representation. 20543 // 20544 // API parameter values that are decorated as "sensitive" in the API will not 20545 // be included in the string output. The member name will be present, but the 20546 // value will be replaced with "sensitive". 20547 func (s RuleGroupUpdate) GoString() string { 20548 return s.String() 20549 } 20550 20551 // Validate inspects the fields of the type to determine if they are valid. 20552 func (s *RuleGroupUpdate) Validate() error { 20553 invalidParams := request.ErrInvalidParams{Context: "RuleGroupUpdate"} 20554 if s.Action == nil { 20555 invalidParams.Add(request.NewErrParamRequired("Action")) 20556 } 20557 if s.ActivatedRule == nil { 20558 invalidParams.Add(request.NewErrParamRequired("ActivatedRule")) 20559 } 20560 if s.ActivatedRule != nil { 20561 if err := s.ActivatedRule.Validate(); err != nil { 20562 invalidParams.AddNested("ActivatedRule", err.(request.ErrInvalidParams)) 20563 } 20564 } 20565 20566 if invalidParams.Len() > 0 { 20567 return invalidParams 20568 } 20569 return nil 20570 } 20571 20572 // SetAction sets the Action field's value. 20573 func (s *RuleGroupUpdate) SetAction(v string) *RuleGroupUpdate { 20574 s.Action = &v 20575 return s 20576 } 20577 20578 // SetActivatedRule sets the ActivatedRule field's value. 20579 func (s *RuleGroupUpdate) SetActivatedRule(v *ActivatedRule) *RuleGroupUpdate { 20580 s.ActivatedRule = v 20581 return s 20582 } 20583 20584 // 20585 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20586 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20587 // in the developer guide. 20588 // 20589 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20590 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20591 // With the latest version, AWS WAF has a single set of endpoints for regional 20592 // and global use. 20593 // 20594 // Contains the identifier and the friendly name or description of the Rule. 20595 type RuleSummary struct { 20596 _ struct{} `type:"structure"` 20597 20598 // A friendly name or description of the Rule. You can't change the name of 20599 // a Rule after you create it. 20600 // 20601 // Name is a required field 20602 Name *string `min:"1" type:"string" required:"true"` 20603 20604 // A unique identifier for a Rule. You use RuleId to get more information about 20605 // a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into 20606 // a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule 20607 // from AWS WAF (see DeleteRule). 20608 // 20609 // RuleId is returned by CreateRule and by ListRules. 20610 // 20611 // RuleId is a required field 20612 RuleId *string `min:"1" type:"string" required:"true"` 20613 } 20614 20615 // String returns the string representation. 20616 // 20617 // API parameter values that are decorated as "sensitive" in the API will not 20618 // be included in the string output. The member name will be present, but the 20619 // value will be replaced with "sensitive". 20620 func (s RuleSummary) String() string { 20621 return awsutil.Prettify(s) 20622 } 20623 20624 // GoString returns the string representation. 20625 // 20626 // API parameter values that are decorated as "sensitive" in the API will not 20627 // be included in the string output. The member name will be present, but the 20628 // value will be replaced with "sensitive". 20629 func (s RuleSummary) GoString() string { 20630 return s.String() 20631 } 20632 20633 // SetName sets the Name field's value. 20634 func (s *RuleSummary) SetName(v string) *RuleSummary { 20635 s.Name = &v 20636 return s 20637 } 20638 20639 // SetRuleId sets the RuleId field's value. 20640 func (s *RuleSummary) SetRuleId(v string) *RuleSummary { 20641 s.RuleId = &v 20642 return s 20643 } 20644 20645 // 20646 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20647 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20648 // in the developer guide. 20649 // 20650 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20651 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20652 // With the latest version, AWS WAF has a single set of endpoints for regional 20653 // and global use. 20654 // 20655 // Specifies a Predicate (such as an IPSet) and indicates whether you want to 20656 // add it to a Rule or delete it from a Rule. 20657 type RuleUpdate struct { 20658 _ struct{} `type:"structure"` 20659 20660 // Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate 20661 // from a Rule. 20662 // 20663 // Action is a required field 20664 Action *string `type:"string" required:"true" enum:"ChangeAction"` 20665 20666 // The ID of the Predicate (such as an IPSet) that you want to add to a Rule. 20667 // 20668 // Predicate is a required field 20669 Predicate *Predicate `type:"structure" required:"true"` 20670 } 20671 20672 // String returns the string representation. 20673 // 20674 // API parameter values that are decorated as "sensitive" in the API will not 20675 // be included in the string output. The member name will be present, but the 20676 // value will be replaced with "sensitive". 20677 func (s RuleUpdate) String() string { 20678 return awsutil.Prettify(s) 20679 } 20680 20681 // GoString returns the string representation. 20682 // 20683 // API parameter values that are decorated as "sensitive" in the API will not 20684 // be included in the string output. The member name will be present, but the 20685 // value will be replaced with "sensitive". 20686 func (s RuleUpdate) GoString() string { 20687 return s.String() 20688 } 20689 20690 // Validate inspects the fields of the type to determine if they are valid. 20691 func (s *RuleUpdate) Validate() error { 20692 invalidParams := request.ErrInvalidParams{Context: "RuleUpdate"} 20693 if s.Action == nil { 20694 invalidParams.Add(request.NewErrParamRequired("Action")) 20695 } 20696 if s.Predicate == nil { 20697 invalidParams.Add(request.NewErrParamRequired("Predicate")) 20698 } 20699 if s.Predicate != nil { 20700 if err := s.Predicate.Validate(); err != nil { 20701 invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) 20702 } 20703 } 20704 20705 if invalidParams.Len() > 0 { 20706 return invalidParams 20707 } 20708 return nil 20709 } 20710 20711 // SetAction sets the Action field's value. 20712 func (s *RuleUpdate) SetAction(v string) *RuleUpdate { 20713 s.Action = &v 20714 return s 20715 } 20716 20717 // SetPredicate sets the Predicate field's value. 20718 func (s *RuleUpdate) SetPredicate(v *Predicate) *RuleUpdate { 20719 s.Predicate = v 20720 return s 20721 } 20722 20723 // 20724 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20725 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20726 // in the developer guide. 20727 // 20728 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20729 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20730 // With the latest version, AWS WAF has a single set of endpoints for regional 20731 // and global use. 20732 // 20733 // The response from a GetSampledRequests request includes a SampledHTTPRequests 20734 // complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests 20735 // contains one SampledHTTPRequest object for each web request that is returned 20736 // by GetSampledRequests. 20737 type SampledHTTPRequest struct { 20738 _ struct{} `type:"structure"` 20739 20740 // The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT. 20741 Action *string `type:"string"` 20742 20743 // A complex type that contains detailed information about the request. 20744 // 20745 // Request is a required field 20746 Request *HTTPRequest `type:"structure" required:"true"` 20747 20748 // This value is returned if the GetSampledRequests request specifies the ID 20749 // of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup 20750 // is the rule within the specified RuleGroup that matched the request listed 20751 // in the response. 20752 RuleWithinRuleGroup *string `min:"1" type:"string"` 20753 20754 // The time at which AWS WAF received the request from your AWS resource, in 20755 // Unix time format (in seconds). 20756 Timestamp *time.Time `type:"timestamp"` 20757 20758 // A value that indicates how one result in the response relates proportionally 20759 // to other results in the response. A result that has a weight of 2 represents 20760 // roughly twice as many CloudFront web requests as a result that has a weight 20761 // of 1. 20762 // 20763 // Weight is a required field 20764 Weight *int64 `type:"long" required:"true"` 20765 } 20766 20767 // String returns the string representation. 20768 // 20769 // API parameter values that are decorated as "sensitive" in the API will not 20770 // be included in the string output. The member name will be present, but the 20771 // value will be replaced with "sensitive". 20772 func (s SampledHTTPRequest) String() string { 20773 return awsutil.Prettify(s) 20774 } 20775 20776 // GoString returns the string representation. 20777 // 20778 // API parameter values that are decorated as "sensitive" in the API will not 20779 // be included in the string output. The member name will be present, but the 20780 // value will be replaced with "sensitive". 20781 func (s SampledHTTPRequest) GoString() string { 20782 return s.String() 20783 } 20784 20785 // SetAction sets the Action field's value. 20786 func (s *SampledHTTPRequest) SetAction(v string) *SampledHTTPRequest { 20787 s.Action = &v 20788 return s 20789 } 20790 20791 // SetRequest sets the Request field's value. 20792 func (s *SampledHTTPRequest) SetRequest(v *HTTPRequest) *SampledHTTPRequest { 20793 s.Request = v 20794 return s 20795 } 20796 20797 // SetRuleWithinRuleGroup sets the RuleWithinRuleGroup field's value. 20798 func (s *SampledHTTPRequest) SetRuleWithinRuleGroup(v string) *SampledHTTPRequest { 20799 s.RuleWithinRuleGroup = &v 20800 return s 20801 } 20802 20803 // SetTimestamp sets the Timestamp field's value. 20804 func (s *SampledHTTPRequest) SetTimestamp(v time.Time) *SampledHTTPRequest { 20805 s.Timestamp = &v 20806 return s 20807 } 20808 20809 // SetWeight sets the Weight field's value. 20810 func (s *SampledHTTPRequest) SetWeight(v int64) *SampledHTTPRequest { 20811 s.Weight = &v 20812 return s 20813 } 20814 20815 // AWS WAF is not able to access the service linked role. This can be caused 20816 // by a previous PutLoggingConfiguration request, which can lock the service 20817 // linked role for about 20 seconds. Please try your request again. The service 20818 // linked role can also be locked by a previous DeleteServiceLinkedRole request, 20819 // which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, 20820 // wait at least 15 minutes and try the request again. If you receive this same 20821 // exception again, you will have to wait additional time until the role is 20822 // unlocked. 20823 type ServiceLinkedRoleErrorException struct { 20824 _ struct{} `type:"structure"` 20825 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20826 20827 Message_ *string `locationName:"message" type:"string"` 20828 } 20829 20830 // String returns the string representation. 20831 // 20832 // API parameter values that are decorated as "sensitive" in the API will not 20833 // be included in the string output. The member name will be present, but the 20834 // value will be replaced with "sensitive". 20835 func (s ServiceLinkedRoleErrorException) String() string { 20836 return awsutil.Prettify(s) 20837 } 20838 20839 // GoString returns the string representation. 20840 // 20841 // API parameter values that are decorated as "sensitive" in the API will not 20842 // be included in the string output. The member name will be present, but the 20843 // value will be replaced with "sensitive". 20844 func (s ServiceLinkedRoleErrorException) GoString() string { 20845 return s.String() 20846 } 20847 20848 func newErrorServiceLinkedRoleErrorException(v protocol.ResponseMetadata) error { 20849 return &ServiceLinkedRoleErrorException{ 20850 RespMetadata: v, 20851 } 20852 } 20853 20854 // Code returns the exception type name. 20855 func (s *ServiceLinkedRoleErrorException) Code() string { 20856 return "WAFServiceLinkedRoleErrorException" 20857 } 20858 20859 // Message returns the exception's message. 20860 func (s *ServiceLinkedRoleErrorException) Message() string { 20861 if s.Message_ != nil { 20862 return *s.Message_ 20863 } 20864 return "" 20865 } 20866 20867 // OrigErr always returns nil, satisfies awserr.Error interface. 20868 func (s *ServiceLinkedRoleErrorException) OrigErr() error { 20869 return nil 20870 } 20871 20872 func (s *ServiceLinkedRoleErrorException) Error() string { 20873 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20874 } 20875 20876 // Status code returns the HTTP status code for the request's response error. 20877 func (s *ServiceLinkedRoleErrorException) StatusCode() int { 20878 return s.RespMetadata.StatusCode 20879 } 20880 20881 // RequestID returns the service's response RequestID for request. 20882 func (s *ServiceLinkedRoleErrorException) RequestID() string { 20883 return s.RespMetadata.RequestID 20884 } 20885 20886 // 20887 // This is AWS WAF Classic documentation. For more information, see AWS WAF 20888 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 20889 // in the developer guide. 20890 // 20891 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 20892 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 20893 // With the latest version, AWS WAF has a single set of endpoints for regional 20894 // and global use. 20895 // 20896 // Specifies a constraint on the size of a part of the web request. AWS WAF 20897 // uses the Size, ComparisonOperator, and FieldToMatch to build an expression 20898 // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If 20899 // that expression is true, the SizeConstraint is considered to match. 20900 type SizeConstraint struct { 20901 _ struct{} `type:"structure"` 20902 20903 // The type of comparison you want AWS WAF to perform. AWS WAF uses this in 20904 // combination with the provided Size and FieldToMatch to build an expression 20905 // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If 20906 // that expression is true, the SizeConstraint is considered to match. 20907 // 20908 // EQ: Used to test if the Size is equal to the size of the FieldToMatch 20909 // 20910 // NE: Used to test if the Size is not equal to the size of the FieldToMatch 20911 // 20912 // LE: Used to test if the Size is less than or equal to the size of the FieldToMatch 20913 // 20914 // LT: Used to test if the Size is strictly less than the size of the FieldToMatch 20915 // 20916 // GE: Used to test if the Size is greater than or equal to the size of the 20917 // FieldToMatch 20918 // 20919 // GT: Used to test if the Size is strictly greater than the size of the FieldToMatch 20920 // 20921 // ComparisonOperator is a required field 20922 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 20923 20924 // Specifies where in a web request to look for the size constraint. 20925 // 20926 // FieldToMatch is a required field 20927 FieldToMatch *FieldToMatch `type:"structure" required:"true"` 20928 20929 // The size in bytes that you want AWS WAF to compare against the size of the 20930 // specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator 20931 // and FieldToMatch to build an expression in the form of "Size ComparisonOperator 20932 // size in bytes of FieldToMatch". If that expression is true, the SizeConstraint 20933 // is considered to match. 20934 // 20935 // Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). 20936 // 20937 // If you specify URI for the value of Type, the / in the URI counts as one 20938 // character. For example, the URI /logo.jpg is nine characters long. 20939 // 20940 // Size is a required field 20941 Size *int64 `type:"long" required:"true"` 20942 20943 // Text transformations eliminate some of the unusual formatting that attackers 20944 // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, 20945 // AWS WAF performs the transformation on FieldToMatch before inspecting it 20946 // for a match. 20947 // 20948 // You can only specify a single type of TextTransformation. 20949 // 20950 // Note that if you choose BODY for the value of Type, you must choose NONE 20951 // for TextTransformation because CloudFront forwards only the first 8192 bytes 20952 // for inspection. 20953 // 20954 // NONE 20955 // 20956 // Specify NONE if you don't want to perform any text transformations. 20957 // 20958 // CMD_LINE 20959 // 20960 // When you're concerned that attackers are injecting an operating system command 20961 // line command and using unusual formatting to disguise some or all of the 20962 // command, use this option to perform the following transformations: 20963 // 20964 // * Delete the following characters: \ " ' ^ 20965 // 20966 // * Delete spaces before the following characters: / ( 20967 // 20968 // * Replace the following characters with a space: , ; 20969 // 20970 // * Replace multiple spaces with one space 20971 // 20972 // * Convert uppercase letters (A-Z) to lowercase (a-z) 20973 // 20974 // COMPRESS_WHITE_SPACE 20975 // 20976 // Use this option to replace the following characters with a space character 20977 // (decimal 32): 20978 // 20979 // * \f, formfeed, decimal 12 20980 // 20981 // * \t, tab, decimal 9 20982 // 20983 // * \n, newline, decimal 10 20984 // 20985 // * \r, carriage return, decimal 13 20986 // 20987 // * \v, vertical tab, decimal 11 20988 // 20989 // * non-breaking space, decimal 160 20990 // 20991 // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. 20992 // 20993 // HTML_ENTITY_DECODE 20994 // 20995 // Use this option to replace HTML-encoded characters with unencoded characters. 20996 // HTML_ENTITY_DECODE performs the following operations: 20997 // 20998 // * Replaces (ampersand)quot; with " 20999 // 21000 // * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 21001 // 21002 // * Replaces (ampersand)lt; with a "less than" symbol 21003 // 21004 // * Replaces (ampersand)gt; with > 21005 // 21006 // * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, 21007 // with the corresponding characters 21008 // 21009 // * Replaces characters that are represented in decimal format, (ampersand)#nnnn;, 21010 // with the corresponding characters 21011 // 21012 // LOWERCASE 21013 // 21014 // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). 21015 // 21016 // URL_DECODE 21017 // 21018 // Use this option to decode a URL-encoded value. 21019 // 21020 // TextTransformation is a required field 21021 TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` 21022 } 21023 21024 // String returns the string representation. 21025 // 21026 // API parameter values that are decorated as "sensitive" in the API will not 21027 // be included in the string output. The member name will be present, but the 21028 // value will be replaced with "sensitive". 21029 func (s SizeConstraint) String() string { 21030 return awsutil.Prettify(s) 21031 } 21032 21033 // GoString returns the string representation. 21034 // 21035 // API parameter values that are decorated as "sensitive" in the API will not 21036 // be included in the string output. The member name will be present, but the 21037 // value will be replaced with "sensitive". 21038 func (s SizeConstraint) GoString() string { 21039 return s.String() 21040 } 21041 21042 // Validate inspects the fields of the type to determine if they are valid. 21043 func (s *SizeConstraint) Validate() error { 21044 invalidParams := request.ErrInvalidParams{Context: "SizeConstraint"} 21045 if s.ComparisonOperator == nil { 21046 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 21047 } 21048 if s.FieldToMatch == nil { 21049 invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) 21050 } 21051 if s.Size == nil { 21052 invalidParams.Add(request.NewErrParamRequired("Size")) 21053 } 21054 if s.TextTransformation == nil { 21055 invalidParams.Add(request.NewErrParamRequired("TextTransformation")) 21056 } 21057 if s.FieldToMatch != nil { 21058 if err := s.FieldToMatch.Validate(); err != nil { 21059 invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) 21060 } 21061 } 21062 21063 if invalidParams.Len() > 0 { 21064 return invalidParams 21065 } 21066 return nil 21067 } 21068 21069 // SetComparisonOperator sets the ComparisonOperator field's value. 21070 func (s *SizeConstraint) SetComparisonOperator(v string) *SizeConstraint { 21071 s.ComparisonOperator = &v 21072 return s 21073 } 21074 21075 // SetFieldToMatch sets the FieldToMatch field's value. 21076 func (s *SizeConstraint) SetFieldToMatch(v *FieldToMatch) *SizeConstraint { 21077 s.FieldToMatch = v 21078 return s 21079 } 21080 21081 // SetSize sets the Size field's value. 21082 func (s *SizeConstraint) SetSize(v int64) *SizeConstraint { 21083 s.Size = &v 21084 return s 21085 } 21086 21087 // SetTextTransformation sets the TextTransformation field's value. 21088 func (s *SizeConstraint) SetTextTransformation(v string) *SizeConstraint { 21089 s.TextTransformation = &v 21090 return s 21091 } 21092 21093 // 21094 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21095 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21096 // in the developer guide. 21097 // 21098 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21099 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21100 // With the latest version, AWS WAF has a single set of endpoints for regional 21101 // and global use. 21102 // 21103 // A complex type that contains SizeConstraint objects, which specify the parts 21104 // of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet 21105 // contains more than one SizeConstraint object, a request only needs to match 21106 // one constraint to be considered a match. 21107 type SizeConstraintSet struct { 21108 _ struct{} `type:"structure"` 21109 21110 // The name, if any, of the SizeConstraintSet. 21111 Name *string `min:"1" type:"string"` 21112 21113 // A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId 21114 // to get information about a SizeConstraintSet (see GetSizeConstraintSet), 21115 // update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet 21116 // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet 21117 // from AWS WAF (see DeleteSizeConstraintSet). 21118 // 21119 // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. 21120 // 21121 // SizeConstraintSetId is a required field 21122 SizeConstraintSetId *string `min:"1" type:"string" required:"true"` 21123 21124 // Specifies the parts of web requests that you want to inspect the size of. 21125 // 21126 // SizeConstraints is a required field 21127 SizeConstraints []*SizeConstraint `type:"list" required:"true"` 21128 } 21129 21130 // String returns the string representation. 21131 // 21132 // API parameter values that are decorated as "sensitive" in the API will not 21133 // be included in the string output. The member name will be present, but the 21134 // value will be replaced with "sensitive". 21135 func (s SizeConstraintSet) String() string { 21136 return awsutil.Prettify(s) 21137 } 21138 21139 // GoString returns the string representation. 21140 // 21141 // API parameter values that are decorated as "sensitive" in the API will not 21142 // be included in the string output. The member name will be present, but the 21143 // value will be replaced with "sensitive". 21144 func (s SizeConstraintSet) GoString() string { 21145 return s.String() 21146 } 21147 21148 // SetName sets the Name field's value. 21149 func (s *SizeConstraintSet) SetName(v string) *SizeConstraintSet { 21150 s.Name = &v 21151 return s 21152 } 21153 21154 // SetSizeConstraintSetId sets the SizeConstraintSetId field's value. 21155 func (s *SizeConstraintSet) SetSizeConstraintSetId(v string) *SizeConstraintSet { 21156 s.SizeConstraintSetId = &v 21157 return s 21158 } 21159 21160 // SetSizeConstraints sets the SizeConstraints field's value. 21161 func (s *SizeConstraintSet) SetSizeConstraints(v []*SizeConstraint) *SizeConstraintSet { 21162 s.SizeConstraints = v 21163 return s 21164 } 21165 21166 // 21167 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21168 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21169 // in the developer guide. 21170 // 21171 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21172 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21173 // With the latest version, AWS WAF has a single set of endpoints for regional 21174 // and global use. 21175 // 21176 // The Id and Name of a SizeConstraintSet. 21177 type SizeConstraintSetSummary struct { 21178 _ struct{} `type:"structure"` 21179 21180 // The name of the SizeConstraintSet, if any. 21181 // 21182 // Name is a required field 21183 Name *string `min:"1" type:"string" required:"true"` 21184 21185 // A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId 21186 // to get information about a SizeConstraintSet (see GetSizeConstraintSet), 21187 // update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet 21188 // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet 21189 // from AWS WAF (see DeleteSizeConstraintSet). 21190 // 21191 // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. 21192 // 21193 // SizeConstraintSetId is a required field 21194 SizeConstraintSetId *string `min:"1" type:"string" required:"true"` 21195 } 21196 21197 // String returns the string representation. 21198 // 21199 // API parameter values that are decorated as "sensitive" in the API will not 21200 // be included in the string output. The member name will be present, but the 21201 // value will be replaced with "sensitive". 21202 func (s SizeConstraintSetSummary) String() string { 21203 return awsutil.Prettify(s) 21204 } 21205 21206 // GoString returns the string representation. 21207 // 21208 // API parameter values that are decorated as "sensitive" in the API will not 21209 // be included in the string output. The member name will be present, but the 21210 // value will be replaced with "sensitive". 21211 func (s SizeConstraintSetSummary) GoString() string { 21212 return s.String() 21213 } 21214 21215 // SetName sets the Name field's value. 21216 func (s *SizeConstraintSetSummary) SetName(v string) *SizeConstraintSetSummary { 21217 s.Name = &v 21218 return s 21219 } 21220 21221 // SetSizeConstraintSetId sets the SizeConstraintSetId field's value. 21222 func (s *SizeConstraintSetSummary) SetSizeConstraintSetId(v string) *SizeConstraintSetSummary { 21223 s.SizeConstraintSetId = &v 21224 return s 21225 } 21226 21227 // 21228 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21229 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21230 // in the developer guide. 21231 // 21232 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21233 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21234 // With the latest version, AWS WAF has a single set of endpoints for regional 21235 // and global use. 21236 // 21237 // Specifies the part of a web request that you want to inspect the size of 21238 // and indicates whether you want to add the specification to a SizeConstraintSet 21239 // or delete it from a SizeConstraintSet. 21240 type SizeConstraintSetUpdate struct { 21241 _ struct{} `type:"structure"` 21242 21243 // Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use 21244 // DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet. 21245 // 21246 // Action is a required field 21247 Action *string `type:"string" required:"true" enum:"ChangeAction"` 21248 21249 // Specifies a constraint on the size of a part of the web request. AWS WAF 21250 // uses the Size, ComparisonOperator, and FieldToMatch to build an expression 21251 // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If 21252 // that expression is true, the SizeConstraint is considered to match. 21253 // 21254 // SizeConstraint is a required field 21255 SizeConstraint *SizeConstraint `type:"structure" required:"true"` 21256 } 21257 21258 // String returns the string representation. 21259 // 21260 // API parameter values that are decorated as "sensitive" in the API will not 21261 // be included in the string output. The member name will be present, but the 21262 // value will be replaced with "sensitive". 21263 func (s SizeConstraintSetUpdate) String() string { 21264 return awsutil.Prettify(s) 21265 } 21266 21267 // GoString returns the string representation. 21268 // 21269 // API parameter values that are decorated as "sensitive" in the API will not 21270 // be included in the string output. The member name will be present, but the 21271 // value will be replaced with "sensitive". 21272 func (s SizeConstraintSetUpdate) GoString() string { 21273 return s.String() 21274 } 21275 21276 // Validate inspects the fields of the type to determine if they are valid. 21277 func (s *SizeConstraintSetUpdate) Validate() error { 21278 invalidParams := request.ErrInvalidParams{Context: "SizeConstraintSetUpdate"} 21279 if s.Action == nil { 21280 invalidParams.Add(request.NewErrParamRequired("Action")) 21281 } 21282 if s.SizeConstraint == nil { 21283 invalidParams.Add(request.NewErrParamRequired("SizeConstraint")) 21284 } 21285 if s.SizeConstraint != nil { 21286 if err := s.SizeConstraint.Validate(); err != nil { 21287 invalidParams.AddNested("SizeConstraint", err.(request.ErrInvalidParams)) 21288 } 21289 } 21290 21291 if invalidParams.Len() > 0 { 21292 return invalidParams 21293 } 21294 return nil 21295 } 21296 21297 // SetAction sets the Action field's value. 21298 func (s *SizeConstraintSetUpdate) SetAction(v string) *SizeConstraintSetUpdate { 21299 s.Action = &v 21300 return s 21301 } 21302 21303 // SetSizeConstraint sets the SizeConstraint field's value. 21304 func (s *SizeConstraintSetUpdate) SetSizeConstraint(v *SizeConstraint) *SizeConstraintSetUpdate { 21305 s.SizeConstraint = v 21306 return s 21307 } 21308 21309 // 21310 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21311 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21312 // in the developer guide. 21313 // 21314 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21315 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21316 // With the latest version, AWS WAF has a single set of endpoints for regional 21317 // and global use. 21318 // 21319 // A complex type that contains SqlInjectionMatchTuple objects, which specify 21320 // the parts of web requests that you want AWS WAF to inspect for snippets of 21321 // malicious SQL code and, if you want AWS WAF to inspect a header, the name 21322 // of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple 21323 // object, a request needs to include snippets of SQL code in only one of the 21324 // specified parts of the request to be considered a match. 21325 type SqlInjectionMatchSet struct { 21326 _ struct{} `type:"structure"` 21327 21328 // The name, if any, of the SqlInjectionMatchSet. 21329 Name *string `min:"1" type:"string"` 21330 21331 // A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId 21332 // to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), 21333 // update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a 21334 // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), 21335 // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). 21336 // 21337 // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. 21338 // 21339 // SqlInjectionMatchSetId is a required field 21340 SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` 21341 21342 // Specifies the parts of web requests that you want to inspect for snippets 21343 // of malicious SQL code. 21344 // 21345 // SqlInjectionMatchTuples is a required field 21346 SqlInjectionMatchTuples []*SqlInjectionMatchTuple `type:"list" required:"true"` 21347 } 21348 21349 // String returns the string representation. 21350 // 21351 // API parameter values that are decorated as "sensitive" in the API will not 21352 // be included in the string output. The member name will be present, but the 21353 // value will be replaced with "sensitive". 21354 func (s SqlInjectionMatchSet) String() string { 21355 return awsutil.Prettify(s) 21356 } 21357 21358 // GoString returns the string representation. 21359 // 21360 // API parameter values that are decorated as "sensitive" in the API will not 21361 // be included in the string output. The member name will be present, but the 21362 // value will be replaced with "sensitive". 21363 func (s SqlInjectionMatchSet) GoString() string { 21364 return s.String() 21365 } 21366 21367 // SetName sets the Name field's value. 21368 func (s *SqlInjectionMatchSet) SetName(v string) *SqlInjectionMatchSet { 21369 s.Name = &v 21370 return s 21371 } 21372 21373 // SetSqlInjectionMatchSetId sets the SqlInjectionMatchSetId field's value. 21374 func (s *SqlInjectionMatchSet) SetSqlInjectionMatchSetId(v string) *SqlInjectionMatchSet { 21375 s.SqlInjectionMatchSetId = &v 21376 return s 21377 } 21378 21379 // SetSqlInjectionMatchTuples sets the SqlInjectionMatchTuples field's value. 21380 func (s *SqlInjectionMatchSet) SetSqlInjectionMatchTuples(v []*SqlInjectionMatchTuple) *SqlInjectionMatchSet { 21381 s.SqlInjectionMatchTuples = v 21382 return s 21383 } 21384 21385 // 21386 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21387 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21388 // in the developer guide. 21389 // 21390 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21391 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21392 // With the latest version, AWS WAF has a single set of endpoints for regional 21393 // and global use. 21394 // 21395 // The Id and Name of a SqlInjectionMatchSet. 21396 type SqlInjectionMatchSetSummary struct { 21397 _ struct{} `type:"structure"` 21398 21399 // The name of the SqlInjectionMatchSet, if any, specified by Id. 21400 // 21401 // Name is a required field 21402 Name *string `min:"1" type:"string" required:"true"` 21403 21404 // A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId 21405 // to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), 21406 // update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a 21407 // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), 21408 // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). 21409 // 21410 // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. 21411 // 21412 // SqlInjectionMatchSetId is a required field 21413 SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` 21414 } 21415 21416 // String returns the string representation. 21417 // 21418 // API parameter values that are decorated as "sensitive" in the API will not 21419 // be included in the string output. The member name will be present, but the 21420 // value will be replaced with "sensitive". 21421 func (s SqlInjectionMatchSetSummary) String() string { 21422 return awsutil.Prettify(s) 21423 } 21424 21425 // GoString returns the string representation. 21426 // 21427 // API parameter values that are decorated as "sensitive" in the API will not 21428 // be included in the string output. The member name will be present, but the 21429 // value will be replaced with "sensitive". 21430 func (s SqlInjectionMatchSetSummary) GoString() string { 21431 return s.String() 21432 } 21433 21434 // SetName sets the Name field's value. 21435 func (s *SqlInjectionMatchSetSummary) SetName(v string) *SqlInjectionMatchSetSummary { 21436 s.Name = &v 21437 return s 21438 } 21439 21440 // SetSqlInjectionMatchSetId sets the SqlInjectionMatchSetId field's value. 21441 func (s *SqlInjectionMatchSetSummary) SetSqlInjectionMatchSetId(v string) *SqlInjectionMatchSetSummary { 21442 s.SqlInjectionMatchSetId = &v 21443 return s 21444 } 21445 21446 // 21447 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21448 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21449 // in the developer guide. 21450 // 21451 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21452 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21453 // With the latest version, AWS WAF has a single set of endpoints for regional 21454 // and global use. 21455 // 21456 // Specifies the part of a web request that you want to inspect for snippets 21457 // of malicious SQL code and indicates whether you want to add the specification 21458 // to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet. 21459 type SqlInjectionMatchSetUpdate struct { 21460 _ struct{} `type:"structure"` 21461 21462 // Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. 21463 // Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet. 21464 // 21465 // Action is a required field 21466 Action *string `type:"string" required:"true" enum:"ChangeAction"` 21467 21468 // Specifies the part of a web request that you want AWS WAF to inspect for 21469 // snippets of malicious SQL code and, if you want AWS WAF to inspect a header, 21470 // the name of the header. 21471 // 21472 // SqlInjectionMatchTuple is a required field 21473 SqlInjectionMatchTuple *SqlInjectionMatchTuple `type:"structure" required:"true"` 21474 } 21475 21476 // String returns the string representation. 21477 // 21478 // API parameter values that are decorated as "sensitive" in the API will not 21479 // be included in the string output. The member name will be present, but the 21480 // value will be replaced with "sensitive". 21481 func (s SqlInjectionMatchSetUpdate) String() string { 21482 return awsutil.Prettify(s) 21483 } 21484 21485 // GoString returns the string representation. 21486 // 21487 // API parameter values that are decorated as "sensitive" in the API will not 21488 // be included in the string output. The member name will be present, but the 21489 // value will be replaced with "sensitive". 21490 func (s SqlInjectionMatchSetUpdate) GoString() string { 21491 return s.String() 21492 } 21493 21494 // Validate inspects the fields of the type to determine if they are valid. 21495 func (s *SqlInjectionMatchSetUpdate) Validate() error { 21496 invalidParams := request.ErrInvalidParams{Context: "SqlInjectionMatchSetUpdate"} 21497 if s.Action == nil { 21498 invalidParams.Add(request.NewErrParamRequired("Action")) 21499 } 21500 if s.SqlInjectionMatchTuple == nil { 21501 invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchTuple")) 21502 } 21503 if s.SqlInjectionMatchTuple != nil { 21504 if err := s.SqlInjectionMatchTuple.Validate(); err != nil { 21505 invalidParams.AddNested("SqlInjectionMatchTuple", err.(request.ErrInvalidParams)) 21506 } 21507 } 21508 21509 if invalidParams.Len() > 0 { 21510 return invalidParams 21511 } 21512 return nil 21513 } 21514 21515 // SetAction sets the Action field's value. 21516 func (s *SqlInjectionMatchSetUpdate) SetAction(v string) *SqlInjectionMatchSetUpdate { 21517 s.Action = &v 21518 return s 21519 } 21520 21521 // SetSqlInjectionMatchTuple sets the SqlInjectionMatchTuple field's value. 21522 func (s *SqlInjectionMatchSetUpdate) SetSqlInjectionMatchTuple(v *SqlInjectionMatchTuple) *SqlInjectionMatchSetUpdate { 21523 s.SqlInjectionMatchTuple = v 21524 return s 21525 } 21526 21527 // 21528 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21529 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21530 // in the developer guide. 21531 // 21532 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21533 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21534 // With the latest version, AWS WAF has a single set of endpoints for regional 21535 // and global use. 21536 // 21537 // Specifies the part of a web request that you want AWS WAF to inspect for 21538 // snippets of malicious SQL code and, if you want AWS WAF to inspect a header, 21539 // the name of the header. 21540 type SqlInjectionMatchTuple struct { 21541 _ struct{} `type:"structure"` 21542 21543 // Specifies where in a web request to look for snippets of malicious SQL code. 21544 // 21545 // FieldToMatch is a required field 21546 FieldToMatch *FieldToMatch `type:"structure" required:"true"` 21547 21548 // Text transformations eliminate some of the unusual formatting that attackers 21549 // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, 21550 // AWS WAF performs the transformation on FieldToMatch before inspecting it 21551 // for a match. 21552 // 21553 // You can only specify a single type of TextTransformation. 21554 // 21555 // CMD_LINE 21556 // 21557 // When you're concerned that attackers are injecting an operating system command 21558 // line command and using unusual formatting to disguise some or all of the 21559 // command, use this option to perform the following transformations: 21560 // 21561 // * Delete the following characters: \ " ' ^ 21562 // 21563 // * Delete spaces before the following characters: / ( 21564 // 21565 // * Replace the following characters with a space: , ; 21566 // 21567 // * Replace multiple spaces with one space 21568 // 21569 // * Convert uppercase letters (A-Z) to lowercase (a-z) 21570 // 21571 // COMPRESS_WHITE_SPACE 21572 // 21573 // Use this option to replace the following characters with a space character 21574 // (decimal 32): 21575 // 21576 // * \f, formfeed, decimal 12 21577 // 21578 // * \t, tab, decimal 9 21579 // 21580 // * \n, newline, decimal 10 21581 // 21582 // * \r, carriage return, decimal 13 21583 // 21584 // * \v, vertical tab, decimal 11 21585 // 21586 // * non-breaking space, decimal 160 21587 // 21588 // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. 21589 // 21590 // HTML_ENTITY_DECODE 21591 // 21592 // Use this option to replace HTML-encoded characters with unencoded characters. 21593 // HTML_ENTITY_DECODE performs the following operations: 21594 // 21595 // * Replaces (ampersand)quot; with " 21596 // 21597 // * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 21598 // 21599 // * Replaces (ampersand)lt; with a "less than" symbol 21600 // 21601 // * Replaces (ampersand)gt; with > 21602 // 21603 // * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, 21604 // with the corresponding characters 21605 // 21606 // * Replaces characters that are represented in decimal format, (ampersand)#nnnn;, 21607 // with the corresponding characters 21608 // 21609 // LOWERCASE 21610 // 21611 // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). 21612 // 21613 // URL_DECODE 21614 // 21615 // Use this option to decode a URL-encoded value. 21616 // 21617 // NONE 21618 // 21619 // Specify NONE if you don't want to perform any text transformations. 21620 // 21621 // TextTransformation is a required field 21622 TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` 21623 } 21624 21625 // String returns the string representation. 21626 // 21627 // API parameter values that are decorated as "sensitive" in the API will not 21628 // be included in the string output. The member name will be present, but the 21629 // value will be replaced with "sensitive". 21630 func (s SqlInjectionMatchTuple) String() string { 21631 return awsutil.Prettify(s) 21632 } 21633 21634 // GoString returns the string representation. 21635 // 21636 // API parameter values that are decorated as "sensitive" in the API will not 21637 // be included in the string output. The member name will be present, but the 21638 // value will be replaced with "sensitive". 21639 func (s SqlInjectionMatchTuple) GoString() string { 21640 return s.String() 21641 } 21642 21643 // Validate inspects the fields of the type to determine if they are valid. 21644 func (s *SqlInjectionMatchTuple) Validate() error { 21645 invalidParams := request.ErrInvalidParams{Context: "SqlInjectionMatchTuple"} 21646 if s.FieldToMatch == nil { 21647 invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) 21648 } 21649 if s.TextTransformation == nil { 21650 invalidParams.Add(request.NewErrParamRequired("TextTransformation")) 21651 } 21652 if s.FieldToMatch != nil { 21653 if err := s.FieldToMatch.Validate(); err != nil { 21654 invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) 21655 } 21656 } 21657 21658 if invalidParams.Len() > 0 { 21659 return invalidParams 21660 } 21661 return nil 21662 } 21663 21664 // SetFieldToMatch sets the FieldToMatch field's value. 21665 func (s *SqlInjectionMatchTuple) SetFieldToMatch(v *FieldToMatch) *SqlInjectionMatchTuple { 21666 s.FieldToMatch = v 21667 return s 21668 } 21669 21670 // SetTextTransformation sets the TextTransformation field's value. 21671 func (s *SqlInjectionMatchTuple) SetTextTransformation(v string) *SqlInjectionMatchTuple { 21672 s.TextTransformation = &v 21673 return s 21674 } 21675 21676 // The operation failed because you tried to create, update, or delete an object 21677 // by using a change token that has already been used. 21678 type StaleDataException struct { 21679 _ struct{} `type:"structure"` 21680 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21681 21682 Message_ *string `locationName:"message" type:"string"` 21683 } 21684 21685 // String returns the string representation. 21686 // 21687 // API parameter values that are decorated as "sensitive" in the API will not 21688 // be included in the string output. The member name will be present, but the 21689 // value will be replaced with "sensitive". 21690 func (s StaleDataException) String() string { 21691 return awsutil.Prettify(s) 21692 } 21693 21694 // GoString returns the string representation. 21695 // 21696 // API parameter values that are decorated as "sensitive" in the API will not 21697 // be included in the string output. The member name will be present, but the 21698 // value will be replaced with "sensitive". 21699 func (s StaleDataException) GoString() string { 21700 return s.String() 21701 } 21702 21703 func newErrorStaleDataException(v protocol.ResponseMetadata) error { 21704 return &StaleDataException{ 21705 RespMetadata: v, 21706 } 21707 } 21708 21709 // Code returns the exception type name. 21710 func (s *StaleDataException) Code() string { 21711 return "WAFStaleDataException" 21712 } 21713 21714 // Message returns the exception's message. 21715 func (s *StaleDataException) Message() string { 21716 if s.Message_ != nil { 21717 return *s.Message_ 21718 } 21719 return "" 21720 } 21721 21722 // OrigErr always returns nil, satisfies awserr.Error interface. 21723 func (s *StaleDataException) OrigErr() error { 21724 return nil 21725 } 21726 21727 func (s *StaleDataException) Error() string { 21728 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21729 } 21730 21731 // Status code returns the HTTP status code for the request's response error. 21732 func (s *StaleDataException) StatusCode() int { 21733 return s.RespMetadata.StatusCode 21734 } 21735 21736 // RequestID returns the service's response RequestID for request. 21737 func (s *StaleDataException) RequestID() string { 21738 return s.RespMetadata.RequestID 21739 } 21740 21741 // 21742 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21743 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21744 // in the developer guide. 21745 // 21746 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21747 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21748 // With the latest version, AWS WAF has a single set of endpoints for regional 21749 // and global use. 21750 // 21751 // A summary of the rule groups you are subscribed to. 21752 type SubscribedRuleGroupSummary struct { 21753 _ struct{} `type:"structure"` 21754 21755 // A friendly name or description for the metrics for this RuleGroup. The name 21756 // can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 21757 // 128 and minimum length one. It can't contain whitespace or metric names reserved 21758 // for AWS WAF, including "All" and "Default_Action." You can't change the name 21759 // of the metric after you create the RuleGroup. 21760 // 21761 // MetricName is a required field 21762 MetricName *string `min:"1" type:"string" required:"true"` 21763 21764 // A friendly name or description of the RuleGroup. You can't change the name 21765 // of a RuleGroup after you create it. 21766 // 21767 // Name is a required field 21768 Name *string `min:"1" type:"string" required:"true"` 21769 21770 // A unique identifier for a RuleGroup. 21771 // 21772 // RuleGroupId is a required field 21773 RuleGroupId *string `min:"1" type:"string" required:"true"` 21774 } 21775 21776 // String returns the string representation. 21777 // 21778 // API parameter values that are decorated as "sensitive" in the API will not 21779 // be included in the string output. The member name will be present, but the 21780 // value will be replaced with "sensitive". 21781 func (s SubscribedRuleGroupSummary) String() string { 21782 return awsutil.Prettify(s) 21783 } 21784 21785 // GoString returns the string representation. 21786 // 21787 // API parameter values that are decorated as "sensitive" in the API will not 21788 // be included in the string output. The member name will be present, but the 21789 // value will be replaced with "sensitive". 21790 func (s SubscribedRuleGroupSummary) GoString() string { 21791 return s.String() 21792 } 21793 21794 // SetMetricName sets the MetricName field's value. 21795 func (s *SubscribedRuleGroupSummary) SetMetricName(v string) *SubscribedRuleGroupSummary { 21796 s.MetricName = &v 21797 return s 21798 } 21799 21800 // SetName sets the Name field's value. 21801 func (s *SubscribedRuleGroupSummary) SetName(v string) *SubscribedRuleGroupSummary { 21802 s.Name = &v 21803 return s 21804 } 21805 21806 // SetRuleGroupId sets the RuleGroupId field's value. 21807 func (s *SubscribedRuleGroupSummary) SetRuleGroupId(v string) *SubscribedRuleGroupSummary { 21808 s.RuleGroupId = &v 21809 return s 21810 } 21811 21812 // The specified subscription does not exist. 21813 type SubscriptionNotFoundException struct { 21814 _ struct{} `type:"structure"` 21815 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21816 21817 Message_ *string `locationName:"message" type:"string"` 21818 } 21819 21820 // String returns the string representation. 21821 // 21822 // API parameter values that are decorated as "sensitive" in the API will not 21823 // be included in the string output. The member name will be present, but the 21824 // value will be replaced with "sensitive". 21825 func (s SubscriptionNotFoundException) String() string { 21826 return awsutil.Prettify(s) 21827 } 21828 21829 // GoString returns the string representation. 21830 // 21831 // API parameter values that are decorated as "sensitive" in the API will not 21832 // be included in the string output. The member name will be present, but the 21833 // value will be replaced with "sensitive". 21834 func (s SubscriptionNotFoundException) GoString() string { 21835 return s.String() 21836 } 21837 21838 func newErrorSubscriptionNotFoundException(v protocol.ResponseMetadata) error { 21839 return &SubscriptionNotFoundException{ 21840 RespMetadata: v, 21841 } 21842 } 21843 21844 // Code returns the exception type name. 21845 func (s *SubscriptionNotFoundException) Code() string { 21846 return "WAFSubscriptionNotFoundException" 21847 } 21848 21849 // Message returns the exception's message. 21850 func (s *SubscriptionNotFoundException) Message() string { 21851 if s.Message_ != nil { 21852 return *s.Message_ 21853 } 21854 return "" 21855 } 21856 21857 // OrigErr always returns nil, satisfies awserr.Error interface. 21858 func (s *SubscriptionNotFoundException) OrigErr() error { 21859 return nil 21860 } 21861 21862 func (s *SubscriptionNotFoundException) Error() string { 21863 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21864 } 21865 21866 // Status code returns the HTTP status code for the request's response error. 21867 func (s *SubscriptionNotFoundException) StatusCode() int { 21868 return s.RespMetadata.StatusCode 21869 } 21870 21871 // RequestID returns the service's response RequestID for request. 21872 func (s *SubscriptionNotFoundException) RequestID() string { 21873 return s.RespMetadata.RequestID 21874 } 21875 21876 // 21877 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21878 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21879 // in the developer guide. 21880 // 21881 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21882 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21883 // With the latest version, AWS WAF has a single set of endpoints for regional 21884 // and global use. 21885 // 21886 // A tag associated with an AWS resource. Tags are key:value pairs that you 21887 // can use to categorize and manage your resources, for purposes like billing. 21888 // For example, you might set the tag key to "customer" and the value to the 21889 // customer name or ID. You can specify one or more tags to add to each AWS 21890 // resource, up to 50 tags for a resource. 21891 // 21892 // Tagging is only available through the API, SDKs, and CLI. You can't manage 21893 // or view tags through the AWS WAF Classic console. You can tag the AWS resources 21894 // that you manage through AWS WAF Classic: web ACLs, rule groups, and rules. 21895 type Tag struct { 21896 _ struct{} `type:"structure"` 21897 21898 // Key is a required field 21899 Key *string `min:"1" type:"string" required:"true"` 21900 21901 // Value is a required field 21902 Value *string `type:"string" required:"true"` 21903 } 21904 21905 // String returns the string representation. 21906 // 21907 // API parameter values that are decorated as "sensitive" in the API will not 21908 // be included in the string output. The member name will be present, but the 21909 // value will be replaced with "sensitive". 21910 func (s Tag) String() string { 21911 return awsutil.Prettify(s) 21912 } 21913 21914 // GoString returns the string representation. 21915 // 21916 // API parameter values that are decorated as "sensitive" in the API will not 21917 // be included in the string output. The member name will be present, but the 21918 // value will be replaced with "sensitive". 21919 func (s Tag) GoString() string { 21920 return s.String() 21921 } 21922 21923 // Validate inspects the fields of the type to determine if they are valid. 21924 func (s *Tag) Validate() error { 21925 invalidParams := request.ErrInvalidParams{Context: "Tag"} 21926 if s.Key == nil { 21927 invalidParams.Add(request.NewErrParamRequired("Key")) 21928 } 21929 if s.Key != nil && len(*s.Key) < 1 { 21930 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 21931 } 21932 if s.Value == nil { 21933 invalidParams.Add(request.NewErrParamRequired("Value")) 21934 } 21935 21936 if invalidParams.Len() > 0 { 21937 return invalidParams 21938 } 21939 return nil 21940 } 21941 21942 // SetKey sets the Key field's value. 21943 func (s *Tag) SetKey(v string) *Tag { 21944 s.Key = &v 21945 return s 21946 } 21947 21948 // SetValue sets the Value field's value. 21949 func (s *Tag) SetValue(v string) *Tag { 21950 s.Value = &v 21951 return s 21952 } 21953 21954 // 21955 // This is AWS WAF Classic documentation. For more information, see AWS WAF 21956 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 21957 // in the developer guide. 21958 // 21959 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 21960 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 21961 // With the latest version, AWS WAF has a single set of endpoints for regional 21962 // and global use. 21963 // 21964 // Information for a tag associated with an AWS resource. Tags are key:value 21965 // pairs that you can use to categorize and manage your resources, for purposes 21966 // like billing. For example, you might set the tag key to "customer" and the 21967 // value to the customer name or ID. You can specify one or more tags to add 21968 // to each AWS resource, up to 50 tags for a resource. 21969 // 21970 // Tagging is only available through the API, SDKs, and CLI. You can't manage 21971 // or view tags through the AWS WAF Classic console. You can tag the AWS resources 21972 // that you manage through AWS WAF Classic: web ACLs, rule groups, and rules. 21973 type TagInfoForResource struct { 21974 _ struct{} `type:"structure"` 21975 21976 ResourceARN *string `min:"1" type:"string"` 21977 21978 TagList []*Tag `min:"1" type:"list"` 21979 } 21980 21981 // String returns the string representation. 21982 // 21983 // API parameter values that are decorated as "sensitive" in the API will not 21984 // be included in the string output. The member name will be present, but the 21985 // value will be replaced with "sensitive". 21986 func (s TagInfoForResource) String() string { 21987 return awsutil.Prettify(s) 21988 } 21989 21990 // GoString returns the string representation. 21991 // 21992 // API parameter values that are decorated as "sensitive" in the API will not 21993 // be included in the string output. The member name will be present, but the 21994 // value will be replaced with "sensitive". 21995 func (s TagInfoForResource) GoString() string { 21996 return s.String() 21997 } 21998 21999 // SetResourceARN sets the ResourceARN field's value. 22000 func (s *TagInfoForResource) SetResourceARN(v string) *TagInfoForResource { 22001 s.ResourceARN = &v 22002 return s 22003 } 22004 22005 // SetTagList sets the TagList field's value. 22006 func (s *TagInfoForResource) SetTagList(v []*Tag) *TagInfoForResource { 22007 s.TagList = v 22008 return s 22009 } 22010 22011 type TagOperationException struct { 22012 _ struct{} `type:"structure"` 22013 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22014 22015 Message_ *string `locationName:"message" type:"string"` 22016 } 22017 22018 // String returns the string representation. 22019 // 22020 // API parameter values that are decorated as "sensitive" in the API will not 22021 // be included in the string output. The member name will be present, but the 22022 // value will be replaced with "sensitive". 22023 func (s TagOperationException) String() string { 22024 return awsutil.Prettify(s) 22025 } 22026 22027 // GoString returns the string representation. 22028 // 22029 // API parameter values that are decorated as "sensitive" in the API will not 22030 // be included in the string output. The member name will be present, but the 22031 // value will be replaced with "sensitive". 22032 func (s TagOperationException) GoString() string { 22033 return s.String() 22034 } 22035 22036 func newErrorTagOperationException(v protocol.ResponseMetadata) error { 22037 return &TagOperationException{ 22038 RespMetadata: v, 22039 } 22040 } 22041 22042 // Code returns the exception type name. 22043 func (s *TagOperationException) Code() string { 22044 return "WAFTagOperationException" 22045 } 22046 22047 // Message returns the exception's message. 22048 func (s *TagOperationException) Message() string { 22049 if s.Message_ != nil { 22050 return *s.Message_ 22051 } 22052 return "" 22053 } 22054 22055 // OrigErr always returns nil, satisfies awserr.Error interface. 22056 func (s *TagOperationException) OrigErr() error { 22057 return nil 22058 } 22059 22060 func (s *TagOperationException) Error() string { 22061 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22062 } 22063 22064 // Status code returns the HTTP status code for the request's response error. 22065 func (s *TagOperationException) StatusCode() int { 22066 return s.RespMetadata.StatusCode 22067 } 22068 22069 // RequestID returns the service's response RequestID for request. 22070 func (s *TagOperationException) RequestID() string { 22071 return s.RespMetadata.RequestID 22072 } 22073 22074 type TagOperationInternalErrorException struct { 22075 _ struct{} `type:"structure"` 22076 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22077 22078 Message_ *string `locationName:"message" type:"string"` 22079 } 22080 22081 // String returns the string representation. 22082 // 22083 // API parameter values that are decorated as "sensitive" in the API will not 22084 // be included in the string output. The member name will be present, but the 22085 // value will be replaced with "sensitive". 22086 func (s TagOperationInternalErrorException) String() string { 22087 return awsutil.Prettify(s) 22088 } 22089 22090 // GoString returns the string representation. 22091 // 22092 // API parameter values that are decorated as "sensitive" in the API will not 22093 // be included in the string output. The member name will be present, but the 22094 // value will be replaced with "sensitive". 22095 func (s TagOperationInternalErrorException) GoString() string { 22096 return s.String() 22097 } 22098 22099 func newErrorTagOperationInternalErrorException(v protocol.ResponseMetadata) error { 22100 return &TagOperationInternalErrorException{ 22101 RespMetadata: v, 22102 } 22103 } 22104 22105 // Code returns the exception type name. 22106 func (s *TagOperationInternalErrorException) Code() string { 22107 return "WAFTagOperationInternalErrorException" 22108 } 22109 22110 // Message returns the exception's message. 22111 func (s *TagOperationInternalErrorException) Message() string { 22112 if s.Message_ != nil { 22113 return *s.Message_ 22114 } 22115 return "" 22116 } 22117 22118 // OrigErr always returns nil, satisfies awserr.Error interface. 22119 func (s *TagOperationInternalErrorException) OrigErr() error { 22120 return nil 22121 } 22122 22123 func (s *TagOperationInternalErrorException) Error() string { 22124 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22125 } 22126 22127 // Status code returns the HTTP status code for the request's response error. 22128 func (s *TagOperationInternalErrorException) StatusCode() int { 22129 return s.RespMetadata.StatusCode 22130 } 22131 22132 // RequestID returns the service's response RequestID for request. 22133 func (s *TagOperationInternalErrorException) RequestID() string { 22134 return s.RespMetadata.RequestID 22135 } 22136 22137 type TagResourceInput struct { 22138 _ struct{} `type:"structure"` 22139 22140 // ResourceARN is a required field 22141 ResourceARN *string `min:"1" type:"string" required:"true"` 22142 22143 // Tags is a required field 22144 Tags []*Tag `min:"1" type:"list" required:"true"` 22145 } 22146 22147 // String returns the string representation. 22148 // 22149 // API parameter values that are decorated as "sensitive" in the API will not 22150 // be included in the string output. The member name will be present, but the 22151 // value will be replaced with "sensitive". 22152 func (s TagResourceInput) String() string { 22153 return awsutil.Prettify(s) 22154 } 22155 22156 // GoString returns the string representation. 22157 // 22158 // API parameter values that are decorated as "sensitive" in the API will not 22159 // be included in the string output. The member name will be present, but the 22160 // value will be replaced with "sensitive". 22161 func (s TagResourceInput) GoString() string { 22162 return s.String() 22163 } 22164 22165 // Validate inspects the fields of the type to determine if they are valid. 22166 func (s *TagResourceInput) Validate() error { 22167 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 22168 if s.ResourceARN == nil { 22169 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 22170 } 22171 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 22172 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 22173 } 22174 if s.Tags == nil { 22175 invalidParams.Add(request.NewErrParamRequired("Tags")) 22176 } 22177 if s.Tags != nil && len(s.Tags) < 1 { 22178 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 22179 } 22180 if s.Tags != nil { 22181 for i, v := range s.Tags { 22182 if v == nil { 22183 continue 22184 } 22185 if err := v.Validate(); err != nil { 22186 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 22187 } 22188 } 22189 } 22190 22191 if invalidParams.Len() > 0 { 22192 return invalidParams 22193 } 22194 return nil 22195 } 22196 22197 // SetResourceARN sets the ResourceARN field's value. 22198 func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { 22199 s.ResourceARN = &v 22200 return s 22201 } 22202 22203 // SetTags sets the Tags field's value. 22204 func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 22205 s.Tags = v 22206 return s 22207 } 22208 22209 type TagResourceOutput struct { 22210 _ struct{} `type:"structure"` 22211 } 22212 22213 // String returns the string representation. 22214 // 22215 // API parameter values that are decorated as "sensitive" in the API will not 22216 // be included in the string output. The member name will be present, but the 22217 // value will be replaced with "sensitive". 22218 func (s TagResourceOutput) String() string { 22219 return awsutil.Prettify(s) 22220 } 22221 22222 // GoString returns the string representation. 22223 // 22224 // API parameter values that are decorated as "sensitive" in the API will not 22225 // be included in the string output. The member name will be present, but the 22226 // value will be replaced with "sensitive". 22227 func (s TagResourceOutput) GoString() string { 22228 return s.String() 22229 } 22230 22231 // 22232 // This is AWS WAF Classic documentation. For more information, see AWS WAF 22233 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 22234 // in the developer guide. 22235 // 22236 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 22237 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 22238 // With the latest version, AWS WAF has a single set of endpoints for regional 22239 // and global use. 22240 // 22241 // In a GetSampledRequests request, the StartTime and EndTime objects specify 22242 // the time range for which you want AWS WAF to return a sample of web requests. 22243 // 22244 // You must specify the times in Coordinated Universal Time (UTC) format. UTC 22245 // format includes the special designator, Z. For example, "2016-09-27T14:50Z". 22246 // 22247 // In a GetSampledRequests response, the StartTime and EndTime objects specify 22248 // the time range for which AWS WAF actually returned a sample of web requests. 22249 // AWS WAF gets the specified number of requests from among the first 5,000 22250 // requests that your AWS resource receives during the specified time period. 22251 // If your resource receives more than 5,000 requests during that period, AWS 22252 // WAF stops sampling after the 5,000th request. In that case, EndTime is the 22253 // time that AWS WAF received the 5,000th request. 22254 type TimeWindow struct { 22255 _ struct{} `type:"structure"` 22256 22257 // The end of the time range from which you want GetSampledRequests to return 22258 // a sample of the requests that your AWS resource received. You must specify 22259 // the date and time in Coordinated Universal Time (UTC) format. UTC format 22260 // includes the special designator, Z. For example, "2016-09-27T14:50Z". You 22261 // can specify any time range in the previous three hours. 22262 // 22263 // EndTime is a required field 22264 EndTime *time.Time `type:"timestamp" required:"true"` 22265 22266 // The beginning of the time range from which you want GetSampledRequests to 22267 // return a sample of the requests that your AWS resource received. You must 22268 // specify the date and time in Coordinated Universal Time (UTC) format. UTC 22269 // format includes the special designator, Z. For example, "2016-09-27T14:50Z". 22270 // You can specify any time range in the previous three hours. 22271 // 22272 // StartTime is a required field 22273 StartTime *time.Time `type:"timestamp" required:"true"` 22274 } 22275 22276 // String returns the string representation. 22277 // 22278 // API parameter values that are decorated as "sensitive" in the API will not 22279 // be included in the string output. The member name will be present, but the 22280 // value will be replaced with "sensitive". 22281 func (s TimeWindow) String() string { 22282 return awsutil.Prettify(s) 22283 } 22284 22285 // GoString returns the string representation. 22286 // 22287 // API parameter values that are decorated as "sensitive" in the API will not 22288 // be included in the string output. The member name will be present, but the 22289 // value will be replaced with "sensitive". 22290 func (s TimeWindow) GoString() string { 22291 return s.String() 22292 } 22293 22294 // Validate inspects the fields of the type to determine if they are valid. 22295 func (s *TimeWindow) Validate() error { 22296 invalidParams := request.ErrInvalidParams{Context: "TimeWindow"} 22297 if s.EndTime == nil { 22298 invalidParams.Add(request.NewErrParamRequired("EndTime")) 22299 } 22300 if s.StartTime == nil { 22301 invalidParams.Add(request.NewErrParamRequired("StartTime")) 22302 } 22303 22304 if invalidParams.Len() > 0 { 22305 return invalidParams 22306 } 22307 return nil 22308 } 22309 22310 // SetEndTime sets the EndTime field's value. 22311 func (s *TimeWindow) SetEndTime(v time.Time) *TimeWindow { 22312 s.EndTime = &v 22313 return s 22314 } 22315 22316 // SetStartTime sets the StartTime field's value. 22317 func (s *TimeWindow) SetStartTime(v time.Time) *TimeWindow { 22318 s.StartTime = &v 22319 return s 22320 } 22321 22322 type UntagResourceInput struct { 22323 _ struct{} `type:"structure"` 22324 22325 // ResourceARN is a required field 22326 ResourceARN *string `min:"1" type:"string" required:"true"` 22327 22328 // TagKeys is a required field 22329 TagKeys []*string `min:"1" type:"list" required:"true"` 22330 } 22331 22332 // String returns the string representation. 22333 // 22334 // API parameter values that are decorated as "sensitive" in the API will not 22335 // be included in the string output. The member name will be present, but the 22336 // value will be replaced with "sensitive". 22337 func (s UntagResourceInput) String() string { 22338 return awsutil.Prettify(s) 22339 } 22340 22341 // GoString returns the string representation. 22342 // 22343 // API parameter values that are decorated as "sensitive" in the API will not 22344 // be included in the string output. The member name will be present, but the 22345 // value will be replaced with "sensitive". 22346 func (s UntagResourceInput) GoString() string { 22347 return s.String() 22348 } 22349 22350 // Validate inspects the fields of the type to determine if they are valid. 22351 func (s *UntagResourceInput) Validate() error { 22352 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 22353 if s.ResourceARN == nil { 22354 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 22355 } 22356 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 22357 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 22358 } 22359 if s.TagKeys == nil { 22360 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 22361 } 22362 if s.TagKeys != nil && len(s.TagKeys) < 1 { 22363 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 22364 } 22365 22366 if invalidParams.Len() > 0 { 22367 return invalidParams 22368 } 22369 return nil 22370 } 22371 22372 // SetResourceARN sets the ResourceARN field's value. 22373 func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { 22374 s.ResourceARN = &v 22375 return s 22376 } 22377 22378 // SetTagKeys sets the TagKeys field's value. 22379 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 22380 s.TagKeys = v 22381 return s 22382 } 22383 22384 type UntagResourceOutput struct { 22385 _ struct{} `type:"structure"` 22386 } 22387 22388 // String returns the string representation. 22389 // 22390 // API parameter values that are decorated as "sensitive" in the API will not 22391 // be included in the string output. The member name will be present, but the 22392 // value will be replaced with "sensitive". 22393 func (s UntagResourceOutput) String() string { 22394 return awsutil.Prettify(s) 22395 } 22396 22397 // GoString returns the string representation. 22398 // 22399 // API parameter values that are decorated as "sensitive" in the API will not 22400 // be included in the string output. The member name will be present, but the 22401 // value will be replaced with "sensitive". 22402 func (s UntagResourceOutput) GoString() string { 22403 return s.String() 22404 } 22405 22406 type UpdateByteMatchSetInput struct { 22407 _ struct{} `type:"structure"` 22408 22409 // The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId 22410 // is returned by CreateByteMatchSet and by ListByteMatchSets. 22411 // 22412 // ByteMatchSetId is a required field 22413 ByteMatchSetId *string `min:"1" type:"string" required:"true"` 22414 22415 // The value returned by the most recent call to GetChangeToken. 22416 // 22417 // ChangeToken is a required field 22418 ChangeToken *string `min:"1" type:"string" required:"true"` 22419 22420 // An array of ByteMatchSetUpdate objects that you want to insert into or delete 22421 // from a ByteMatchSet. For more information, see the applicable data types: 22422 // 22423 // * ByteMatchSetUpdate: Contains Action and ByteMatchTuple 22424 // 22425 // * ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, 22426 // and TextTransformation 22427 // 22428 // * FieldToMatch: Contains Data and Type 22429 // 22430 // Updates is a required field 22431 Updates []*ByteMatchSetUpdate `min:"1" type:"list" required:"true"` 22432 } 22433 22434 // String returns the string representation. 22435 // 22436 // API parameter values that are decorated as "sensitive" in the API will not 22437 // be included in the string output. The member name will be present, but the 22438 // value will be replaced with "sensitive". 22439 func (s UpdateByteMatchSetInput) String() string { 22440 return awsutil.Prettify(s) 22441 } 22442 22443 // GoString returns the string representation. 22444 // 22445 // API parameter values that are decorated as "sensitive" in the API will not 22446 // be included in the string output. The member name will be present, but the 22447 // value will be replaced with "sensitive". 22448 func (s UpdateByteMatchSetInput) GoString() string { 22449 return s.String() 22450 } 22451 22452 // Validate inspects the fields of the type to determine if they are valid. 22453 func (s *UpdateByteMatchSetInput) Validate() error { 22454 invalidParams := request.ErrInvalidParams{Context: "UpdateByteMatchSetInput"} 22455 if s.ByteMatchSetId == nil { 22456 invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) 22457 } 22458 if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { 22459 invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) 22460 } 22461 if s.ChangeToken == nil { 22462 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 22463 } 22464 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 22465 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 22466 } 22467 if s.Updates == nil { 22468 invalidParams.Add(request.NewErrParamRequired("Updates")) 22469 } 22470 if s.Updates != nil && len(s.Updates) < 1 { 22471 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 22472 } 22473 if s.Updates != nil { 22474 for i, v := range s.Updates { 22475 if v == nil { 22476 continue 22477 } 22478 if err := v.Validate(); err != nil { 22479 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 22480 } 22481 } 22482 } 22483 22484 if invalidParams.Len() > 0 { 22485 return invalidParams 22486 } 22487 return nil 22488 } 22489 22490 // SetByteMatchSetId sets the ByteMatchSetId field's value. 22491 func (s *UpdateByteMatchSetInput) SetByteMatchSetId(v string) *UpdateByteMatchSetInput { 22492 s.ByteMatchSetId = &v 22493 return s 22494 } 22495 22496 // SetChangeToken sets the ChangeToken field's value. 22497 func (s *UpdateByteMatchSetInput) SetChangeToken(v string) *UpdateByteMatchSetInput { 22498 s.ChangeToken = &v 22499 return s 22500 } 22501 22502 // SetUpdates sets the Updates field's value. 22503 func (s *UpdateByteMatchSetInput) SetUpdates(v []*ByteMatchSetUpdate) *UpdateByteMatchSetInput { 22504 s.Updates = v 22505 return s 22506 } 22507 22508 type UpdateByteMatchSetOutput struct { 22509 _ struct{} `type:"structure"` 22510 22511 // The ChangeToken that you used to submit the UpdateByteMatchSet request. You 22512 // can also use this value to query the status of the request. For more information, 22513 // see GetChangeTokenStatus. 22514 ChangeToken *string `min:"1" type:"string"` 22515 } 22516 22517 // String returns the string representation. 22518 // 22519 // API parameter values that are decorated as "sensitive" in the API will not 22520 // be included in the string output. The member name will be present, but the 22521 // value will be replaced with "sensitive". 22522 func (s UpdateByteMatchSetOutput) String() string { 22523 return awsutil.Prettify(s) 22524 } 22525 22526 // GoString returns the string representation. 22527 // 22528 // API parameter values that are decorated as "sensitive" in the API will not 22529 // be included in the string output. The member name will be present, but the 22530 // value will be replaced with "sensitive". 22531 func (s UpdateByteMatchSetOutput) GoString() string { 22532 return s.String() 22533 } 22534 22535 // SetChangeToken sets the ChangeToken field's value. 22536 func (s *UpdateByteMatchSetOutput) SetChangeToken(v string) *UpdateByteMatchSetOutput { 22537 s.ChangeToken = &v 22538 return s 22539 } 22540 22541 type UpdateGeoMatchSetInput struct { 22542 _ struct{} `type:"structure"` 22543 22544 // The value returned by the most recent call to GetChangeToken. 22545 // 22546 // ChangeToken is a required field 22547 ChangeToken *string `min:"1" type:"string" required:"true"` 22548 22549 // The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId 22550 // is returned by CreateGeoMatchSet and by ListGeoMatchSets. 22551 // 22552 // GeoMatchSetId is a required field 22553 GeoMatchSetId *string `min:"1" type:"string" required:"true"` 22554 22555 // An array of GeoMatchSetUpdate objects that you want to insert into or delete 22556 // from an GeoMatchSet. For more information, see the applicable data types: 22557 // 22558 // * GeoMatchSetUpdate: Contains Action and GeoMatchConstraint 22559 // 22560 // * GeoMatchConstraint: Contains Type and Value You can have only one Type 22561 // and Value per GeoMatchConstraint. To add multiple countries, include multiple 22562 // GeoMatchSetUpdate objects in your request. 22563 // 22564 // Updates is a required field 22565 Updates []*GeoMatchSetUpdate `min:"1" type:"list" required:"true"` 22566 } 22567 22568 // String returns the string representation. 22569 // 22570 // API parameter values that are decorated as "sensitive" in the API will not 22571 // be included in the string output. The member name will be present, but the 22572 // value will be replaced with "sensitive". 22573 func (s UpdateGeoMatchSetInput) String() string { 22574 return awsutil.Prettify(s) 22575 } 22576 22577 // GoString returns the string representation. 22578 // 22579 // API parameter values that are decorated as "sensitive" in the API will not 22580 // be included in the string output. The member name will be present, but the 22581 // value will be replaced with "sensitive". 22582 func (s UpdateGeoMatchSetInput) GoString() string { 22583 return s.String() 22584 } 22585 22586 // Validate inspects the fields of the type to determine if they are valid. 22587 func (s *UpdateGeoMatchSetInput) Validate() error { 22588 invalidParams := request.ErrInvalidParams{Context: "UpdateGeoMatchSetInput"} 22589 if s.ChangeToken == nil { 22590 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 22591 } 22592 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 22593 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 22594 } 22595 if s.GeoMatchSetId == nil { 22596 invalidParams.Add(request.NewErrParamRequired("GeoMatchSetId")) 22597 } 22598 if s.GeoMatchSetId != nil && len(*s.GeoMatchSetId) < 1 { 22599 invalidParams.Add(request.NewErrParamMinLen("GeoMatchSetId", 1)) 22600 } 22601 if s.Updates == nil { 22602 invalidParams.Add(request.NewErrParamRequired("Updates")) 22603 } 22604 if s.Updates != nil && len(s.Updates) < 1 { 22605 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 22606 } 22607 if s.Updates != nil { 22608 for i, v := range s.Updates { 22609 if v == nil { 22610 continue 22611 } 22612 if err := v.Validate(); err != nil { 22613 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 22614 } 22615 } 22616 } 22617 22618 if invalidParams.Len() > 0 { 22619 return invalidParams 22620 } 22621 return nil 22622 } 22623 22624 // SetChangeToken sets the ChangeToken field's value. 22625 func (s *UpdateGeoMatchSetInput) SetChangeToken(v string) *UpdateGeoMatchSetInput { 22626 s.ChangeToken = &v 22627 return s 22628 } 22629 22630 // SetGeoMatchSetId sets the GeoMatchSetId field's value. 22631 func (s *UpdateGeoMatchSetInput) SetGeoMatchSetId(v string) *UpdateGeoMatchSetInput { 22632 s.GeoMatchSetId = &v 22633 return s 22634 } 22635 22636 // SetUpdates sets the Updates field's value. 22637 func (s *UpdateGeoMatchSetInput) SetUpdates(v []*GeoMatchSetUpdate) *UpdateGeoMatchSetInput { 22638 s.Updates = v 22639 return s 22640 } 22641 22642 type UpdateGeoMatchSetOutput struct { 22643 _ struct{} `type:"structure"` 22644 22645 // The ChangeToken that you used to submit the UpdateGeoMatchSet request. You 22646 // can also use this value to query the status of the request. For more information, 22647 // see GetChangeTokenStatus. 22648 ChangeToken *string `min:"1" type:"string"` 22649 } 22650 22651 // String returns the string representation. 22652 // 22653 // API parameter values that are decorated as "sensitive" in the API will not 22654 // be included in the string output. The member name will be present, but the 22655 // value will be replaced with "sensitive". 22656 func (s UpdateGeoMatchSetOutput) String() string { 22657 return awsutil.Prettify(s) 22658 } 22659 22660 // GoString returns the string representation. 22661 // 22662 // API parameter values that are decorated as "sensitive" in the API will not 22663 // be included in the string output. The member name will be present, but the 22664 // value will be replaced with "sensitive". 22665 func (s UpdateGeoMatchSetOutput) GoString() string { 22666 return s.String() 22667 } 22668 22669 // SetChangeToken sets the ChangeToken field's value. 22670 func (s *UpdateGeoMatchSetOutput) SetChangeToken(v string) *UpdateGeoMatchSetOutput { 22671 s.ChangeToken = &v 22672 return s 22673 } 22674 22675 type UpdateIPSetInput struct { 22676 _ struct{} `type:"structure"` 22677 22678 // The value returned by the most recent call to GetChangeToken. 22679 // 22680 // ChangeToken is a required field 22681 ChangeToken *string `min:"1" type:"string" required:"true"` 22682 22683 // The IPSetId of the IPSet that you want to update. IPSetId is returned by 22684 // CreateIPSet and by ListIPSets. 22685 // 22686 // IPSetId is a required field 22687 IPSetId *string `min:"1" type:"string" required:"true"` 22688 22689 // An array of IPSetUpdate objects that you want to insert into or delete from 22690 // an IPSet. For more information, see the applicable data types: 22691 // 22692 // * IPSetUpdate: Contains Action and IPSetDescriptor 22693 // 22694 // * IPSetDescriptor: Contains Type and Value 22695 // 22696 // You can insert a maximum of 1000 addresses in a single request. 22697 // 22698 // Updates is a required field 22699 Updates []*IPSetUpdate `min:"1" type:"list" required:"true"` 22700 } 22701 22702 // String returns the string representation. 22703 // 22704 // API parameter values that are decorated as "sensitive" in the API will not 22705 // be included in the string output. The member name will be present, but the 22706 // value will be replaced with "sensitive". 22707 func (s UpdateIPSetInput) String() string { 22708 return awsutil.Prettify(s) 22709 } 22710 22711 // GoString returns the string representation. 22712 // 22713 // API parameter values that are decorated as "sensitive" in the API will not 22714 // be included in the string output. The member name will be present, but the 22715 // value will be replaced with "sensitive". 22716 func (s UpdateIPSetInput) GoString() string { 22717 return s.String() 22718 } 22719 22720 // Validate inspects the fields of the type to determine if they are valid. 22721 func (s *UpdateIPSetInput) Validate() error { 22722 invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"} 22723 if s.ChangeToken == nil { 22724 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 22725 } 22726 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 22727 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 22728 } 22729 if s.IPSetId == nil { 22730 invalidParams.Add(request.NewErrParamRequired("IPSetId")) 22731 } 22732 if s.IPSetId != nil && len(*s.IPSetId) < 1 { 22733 invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) 22734 } 22735 if s.Updates == nil { 22736 invalidParams.Add(request.NewErrParamRequired("Updates")) 22737 } 22738 if s.Updates != nil && len(s.Updates) < 1 { 22739 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 22740 } 22741 if s.Updates != nil { 22742 for i, v := range s.Updates { 22743 if v == nil { 22744 continue 22745 } 22746 if err := v.Validate(); err != nil { 22747 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 22748 } 22749 } 22750 } 22751 22752 if invalidParams.Len() > 0 { 22753 return invalidParams 22754 } 22755 return nil 22756 } 22757 22758 // SetChangeToken sets the ChangeToken field's value. 22759 func (s *UpdateIPSetInput) SetChangeToken(v string) *UpdateIPSetInput { 22760 s.ChangeToken = &v 22761 return s 22762 } 22763 22764 // SetIPSetId sets the IPSetId field's value. 22765 func (s *UpdateIPSetInput) SetIPSetId(v string) *UpdateIPSetInput { 22766 s.IPSetId = &v 22767 return s 22768 } 22769 22770 // SetUpdates sets the Updates field's value. 22771 func (s *UpdateIPSetInput) SetUpdates(v []*IPSetUpdate) *UpdateIPSetInput { 22772 s.Updates = v 22773 return s 22774 } 22775 22776 type UpdateIPSetOutput struct { 22777 _ struct{} `type:"structure"` 22778 22779 // The ChangeToken that you used to submit the UpdateIPSet request. You can 22780 // also use this value to query the status of the request. For more information, 22781 // see GetChangeTokenStatus. 22782 ChangeToken *string `min:"1" type:"string"` 22783 } 22784 22785 // String returns the string representation. 22786 // 22787 // API parameter values that are decorated as "sensitive" in the API will not 22788 // be included in the string output. The member name will be present, but the 22789 // value will be replaced with "sensitive". 22790 func (s UpdateIPSetOutput) String() string { 22791 return awsutil.Prettify(s) 22792 } 22793 22794 // GoString returns the string representation. 22795 // 22796 // API parameter values that are decorated as "sensitive" in the API will not 22797 // be included in the string output. The member name will be present, but the 22798 // value will be replaced with "sensitive". 22799 func (s UpdateIPSetOutput) GoString() string { 22800 return s.String() 22801 } 22802 22803 // SetChangeToken sets the ChangeToken field's value. 22804 func (s *UpdateIPSetOutput) SetChangeToken(v string) *UpdateIPSetOutput { 22805 s.ChangeToken = &v 22806 return s 22807 } 22808 22809 type UpdateRateBasedRuleInput struct { 22810 _ struct{} `type:"structure"` 22811 22812 // The value returned by the most recent call to GetChangeToken. 22813 // 22814 // ChangeToken is a required field 22815 ChangeToken *string `min:"1" type:"string" required:"true"` 22816 22817 // The maximum number of requests, which have an identical value in the field 22818 // specified by the RateKey, allowed in a five-minute period. If the number 22819 // of requests exceeds the RateLimit and the other predicates specified in the 22820 // rule are also met, AWS WAF triggers the action that is specified for this 22821 // rule. 22822 // 22823 // RateLimit is a required field 22824 RateLimit *int64 `min:"100" type:"long" required:"true"` 22825 22826 // The RuleId of the RateBasedRule that you want to update. RuleId is returned 22827 // by CreateRateBasedRule and by ListRateBasedRules. 22828 // 22829 // RuleId is a required field 22830 RuleId *string `min:"1" type:"string" required:"true"` 22831 22832 // An array of RuleUpdate objects that you want to insert into or delete from 22833 // a RateBasedRule. 22834 // 22835 // Updates is a required field 22836 Updates []*RuleUpdate `type:"list" required:"true"` 22837 } 22838 22839 // String returns the string representation. 22840 // 22841 // API parameter values that are decorated as "sensitive" in the API will not 22842 // be included in the string output. The member name will be present, but the 22843 // value will be replaced with "sensitive". 22844 func (s UpdateRateBasedRuleInput) String() string { 22845 return awsutil.Prettify(s) 22846 } 22847 22848 // GoString returns the string representation. 22849 // 22850 // API parameter values that are decorated as "sensitive" in the API will not 22851 // be included in the string output. The member name will be present, but the 22852 // value will be replaced with "sensitive". 22853 func (s UpdateRateBasedRuleInput) GoString() string { 22854 return s.String() 22855 } 22856 22857 // Validate inspects the fields of the type to determine if they are valid. 22858 func (s *UpdateRateBasedRuleInput) Validate() error { 22859 invalidParams := request.ErrInvalidParams{Context: "UpdateRateBasedRuleInput"} 22860 if s.ChangeToken == nil { 22861 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 22862 } 22863 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 22864 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 22865 } 22866 if s.RateLimit == nil { 22867 invalidParams.Add(request.NewErrParamRequired("RateLimit")) 22868 } 22869 if s.RateLimit != nil && *s.RateLimit < 100 { 22870 invalidParams.Add(request.NewErrParamMinValue("RateLimit", 100)) 22871 } 22872 if s.RuleId == nil { 22873 invalidParams.Add(request.NewErrParamRequired("RuleId")) 22874 } 22875 if s.RuleId != nil && len(*s.RuleId) < 1 { 22876 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 22877 } 22878 if s.Updates == nil { 22879 invalidParams.Add(request.NewErrParamRequired("Updates")) 22880 } 22881 if s.Updates != nil { 22882 for i, v := range s.Updates { 22883 if v == nil { 22884 continue 22885 } 22886 if err := v.Validate(); err != nil { 22887 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 22888 } 22889 } 22890 } 22891 22892 if invalidParams.Len() > 0 { 22893 return invalidParams 22894 } 22895 return nil 22896 } 22897 22898 // SetChangeToken sets the ChangeToken field's value. 22899 func (s *UpdateRateBasedRuleInput) SetChangeToken(v string) *UpdateRateBasedRuleInput { 22900 s.ChangeToken = &v 22901 return s 22902 } 22903 22904 // SetRateLimit sets the RateLimit field's value. 22905 func (s *UpdateRateBasedRuleInput) SetRateLimit(v int64) *UpdateRateBasedRuleInput { 22906 s.RateLimit = &v 22907 return s 22908 } 22909 22910 // SetRuleId sets the RuleId field's value. 22911 func (s *UpdateRateBasedRuleInput) SetRuleId(v string) *UpdateRateBasedRuleInput { 22912 s.RuleId = &v 22913 return s 22914 } 22915 22916 // SetUpdates sets the Updates field's value. 22917 func (s *UpdateRateBasedRuleInput) SetUpdates(v []*RuleUpdate) *UpdateRateBasedRuleInput { 22918 s.Updates = v 22919 return s 22920 } 22921 22922 type UpdateRateBasedRuleOutput struct { 22923 _ struct{} `type:"structure"` 22924 22925 // The ChangeToken that you used to submit the UpdateRateBasedRule request. 22926 // You can also use this value to query the status of the request. For more 22927 // information, see GetChangeTokenStatus. 22928 ChangeToken *string `min:"1" type:"string"` 22929 } 22930 22931 // String returns the string representation. 22932 // 22933 // API parameter values that are decorated as "sensitive" in the API will not 22934 // be included in the string output. The member name will be present, but the 22935 // value will be replaced with "sensitive". 22936 func (s UpdateRateBasedRuleOutput) String() string { 22937 return awsutil.Prettify(s) 22938 } 22939 22940 // GoString returns the string representation. 22941 // 22942 // API parameter values that are decorated as "sensitive" in the API will not 22943 // be included in the string output. The member name will be present, but the 22944 // value will be replaced with "sensitive". 22945 func (s UpdateRateBasedRuleOutput) GoString() string { 22946 return s.String() 22947 } 22948 22949 // SetChangeToken sets the ChangeToken field's value. 22950 func (s *UpdateRateBasedRuleOutput) SetChangeToken(v string) *UpdateRateBasedRuleOutput { 22951 s.ChangeToken = &v 22952 return s 22953 } 22954 22955 type UpdateRegexMatchSetInput struct { 22956 _ struct{} `type:"structure"` 22957 22958 // The value returned by the most recent call to GetChangeToken. 22959 // 22960 // ChangeToken is a required field 22961 ChangeToken *string `min:"1" type:"string" required:"true"` 22962 22963 // The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId 22964 // is returned by CreateRegexMatchSet and by ListRegexMatchSets. 22965 // 22966 // RegexMatchSetId is a required field 22967 RegexMatchSetId *string `min:"1" type:"string" required:"true"` 22968 22969 // An array of RegexMatchSetUpdate objects that you want to insert into or delete 22970 // from a RegexMatchSet. For more information, see RegexMatchTuple. 22971 // 22972 // Updates is a required field 22973 Updates []*RegexMatchSetUpdate `min:"1" type:"list" required:"true"` 22974 } 22975 22976 // String returns the string representation. 22977 // 22978 // API parameter values that are decorated as "sensitive" in the API will not 22979 // be included in the string output. The member name will be present, but the 22980 // value will be replaced with "sensitive". 22981 func (s UpdateRegexMatchSetInput) String() string { 22982 return awsutil.Prettify(s) 22983 } 22984 22985 // GoString returns the string representation. 22986 // 22987 // API parameter values that are decorated as "sensitive" in the API will not 22988 // be included in the string output. The member name will be present, but the 22989 // value will be replaced with "sensitive". 22990 func (s UpdateRegexMatchSetInput) GoString() string { 22991 return s.String() 22992 } 22993 22994 // Validate inspects the fields of the type to determine if they are valid. 22995 func (s *UpdateRegexMatchSetInput) Validate() error { 22996 invalidParams := request.ErrInvalidParams{Context: "UpdateRegexMatchSetInput"} 22997 if s.ChangeToken == nil { 22998 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 22999 } 23000 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23001 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23002 } 23003 if s.RegexMatchSetId == nil { 23004 invalidParams.Add(request.NewErrParamRequired("RegexMatchSetId")) 23005 } 23006 if s.RegexMatchSetId != nil && len(*s.RegexMatchSetId) < 1 { 23007 invalidParams.Add(request.NewErrParamMinLen("RegexMatchSetId", 1)) 23008 } 23009 if s.Updates == nil { 23010 invalidParams.Add(request.NewErrParamRequired("Updates")) 23011 } 23012 if s.Updates != nil && len(s.Updates) < 1 { 23013 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23014 } 23015 if s.Updates != nil { 23016 for i, v := range s.Updates { 23017 if v == nil { 23018 continue 23019 } 23020 if err := v.Validate(); err != nil { 23021 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23022 } 23023 } 23024 } 23025 23026 if invalidParams.Len() > 0 { 23027 return invalidParams 23028 } 23029 return nil 23030 } 23031 23032 // SetChangeToken sets the ChangeToken field's value. 23033 func (s *UpdateRegexMatchSetInput) SetChangeToken(v string) *UpdateRegexMatchSetInput { 23034 s.ChangeToken = &v 23035 return s 23036 } 23037 23038 // SetRegexMatchSetId sets the RegexMatchSetId field's value. 23039 func (s *UpdateRegexMatchSetInput) SetRegexMatchSetId(v string) *UpdateRegexMatchSetInput { 23040 s.RegexMatchSetId = &v 23041 return s 23042 } 23043 23044 // SetUpdates sets the Updates field's value. 23045 func (s *UpdateRegexMatchSetInput) SetUpdates(v []*RegexMatchSetUpdate) *UpdateRegexMatchSetInput { 23046 s.Updates = v 23047 return s 23048 } 23049 23050 type UpdateRegexMatchSetOutput struct { 23051 _ struct{} `type:"structure"` 23052 23053 // The ChangeToken that you used to submit the UpdateRegexMatchSet request. 23054 // You can also use this value to query the status of the request. For more 23055 // information, see GetChangeTokenStatus. 23056 ChangeToken *string `min:"1" type:"string"` 23057 } 23058 23059 // String returns the string representation. 23060 // 23061 // API parameter values that are decorated as "sensitive" in the API will not 23062 // be included in the string output. The member name will be present, but the 23063 // value will be replaced with "sensitive". 23064 func (s UpdateRegexMatchSetOutput) String() string { 23065 return awsutil.Prettify(s) 23066 } 23067 23068 // GoString returns the string representation. 23069 // 23070 // API parameter values that are decorated as "sensitive" in the API will not 23071 // be included in the string output. The member name will be present, but the 23072 // value will be replaced with "sensitive". 23073 func (s UpdateRegexMatchSetOutput) GoString() string { 23074 return s.String() 23075 } 23076 23077 // SetChangeToken sets the ChangeToken field's value. 23078 func (s *UpdateRegexMatchSetOutput) SetChangeToken(v string) *UpdateRegexMatchSetOutput { 23079 s.ChangeToken = &v 23080 return s 23081 } 23082 23083 type UpdateRegexPatternSetInput struct { 23084 _ struct{} `type:"structure"` 23085 23086 // The value returned by the most recent call to GetChangeToken. 23087 // 23088 // ChangeToken is a required field 23089 ChangeToken *string `min:"1" type:"string" required:"true"` 23090 23091 // The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId 23092 // is returned by CreateRegexPatternSet and by ListRegexPatternSets. 23093 // 23094 // RegexPatternSetId is a required field 23095 RegexPatternSetId *string `min:"1" type:"string" required:"true"` 23096 23097 // An array of RegexPatternSetUpdate objects that you want to insert into or 23098 // delete from a RegexPatternSet. 23099 // 23100 // Updates is a required field 23101 Updates []*RegexPatternSetUpdate `min:"1" type:"list" required:"true"` 23102 } 23103 23104 // String returns the string representation. 23105 // 23106 // API parameter values that are decorated as "sensitive" in the API will not 23107 // be included in the string output. The member name will be present, but the 23108 // value will be replaced with "sensitive". 23109 func (s UpdateRegexPatternSetInput) String() string { 23110 return awsutil.Prettify(s) 23111 } 23112 23113 // GoString returns the string representation. 23114 // 23115 // API parameter values that are decorated as "sensitive" in the API will not 23116 // be included in the string output. The member name will be present, but the 23117 // value will be replaced with "sensitive". 23118 func (s UpdateRegexPatternSetInput) GoString() string { 23119 return s.String() 23120 } 23121 23122 // Validate inspects the fields of the type to determine if they are valid. 23123 func (s *UpdateRegexPatternSetInput) Validate() error { 23124 invalidParams := request.ErrInvalidParams{Context: "UpdateRegexPatternSetInput"} 23125 if s.ChangeToken == nil { 23126 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23127 } 23128 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23129 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23130 } 23131 if s.RegexPatternSetId == nil { 23132 invalidParams.Add(request.NewErrParamRequired("RegexPatternSetId")) 23133 } 23134 if s.RegexPatternSetId != nil && len(*s.RegexPatternSetId) < 1 { 23135 invalidParams.Add(request.NewErrParamMinLen("RegexPatternSetId", 1)) 23136 } 23137 if s.Updates == nil { 23138 invalidParams.Add(request.NewErrParamRequired("Updates")) 23139 } 23140 if s.Updates != nil && len(s.Updates) < 1 { 23141 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23142 } 23143 if s.Updates != nil { 23144 for i, v := range s.Updates { 23145 if v == nil { 23146 continue 23147 } 23148 if err := v.Validate(); err != nil { 23149 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23150 } 23151 } 23152 } 23153 23154 if invalidParams.Len() > 0 { 23155 return invalidParams 23156 } 23157 return nil 23158 } 23159 23160 // SetChangeToken sets the ChangeToken field's value. 23161 func (s *UpdateRegexPatternSetInput) SetChangeToken(v string) *UpdateRegexPatternSetInput { 23162 s.ChangeToken = &v 23163 return s 23164 } 23165 23166 // SetRegexPatternSetId sets the RegexPatternSetId field's value. 23167 func (s *UpdateRegexPatternSetInput) SetRegexPatternSetId(v string) *UpdateRegexPatternSetInput { 23168 s.RegexPatternSetId = &v 23169 return s 23170 } 23171 23172 // SetUpdates sets the Updates field's value. 23173 func (s *UpdateRegexPatternSetInput) SetUpdates(v []*RegexPatternSetUpdate) *UpdateRegexPatternSetInput { 23174 s.Updates = v 23175 return s 23176 } 23177 23178 type UpdateRegexPatternSetOutput struct { 23179 _ struct{} `type:"structure"` 23180 23181 // The ChangeToken that you used to submit the UpdateRegexPatternSet request. 23182 // You can also use this value to query the status of the request. For more 23183 // information, see GetChangeTokenStatus. 23184 ChangeToken *string `min:"1" type:"string"` 23185 } 23186 23187 // String returns the string representation. 23188 // 23189 // API parameter values that are decorated as "sensitive" in the API will not 23190 // be included in the string output. The member name will be present, but the 23191 // value will be replaced with "sensitive". 23192 func (s UpdateRegexPatternSetOutput) String() string { 23193 return awsutil.Prettify(s) 23194 } 23195 23196 // GoString returns the string representation. 23197 // 23198 // API parameter values that are decorated as "sensitive" in the API will not 23199 // be included in the string output. The member name will be present, but the 23200 // value will be replaced with "sensitive". 23201 func (s UpdateRegexPatternSetOutput) GoString() string { 23202 return s.String() 23203 } 23204 23205 // SetChangeToken sets the ChangeToken field's value. 23206 func (s *UpdateRegexPatternSetOutput) SetChangeToken(v string) *UpdateRegexPatternSetOutput { 23207 s.ChangeToken = &v 23208 return s 23209 } 23210 23211 type UpdateRuleGroupInput struct { 23212 _ struct{} `type:"structure"` 23213 23214 // The value returned by the most recent call to GetChangeToken. 23215 // 23216 // ChangeToken is a required field 23217 ChangeToken *string `min:"1" type:"string" required:"true"` 23218 23219 // The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is 23220 // returned by CreateRuleGroup and by ListRuleGroups. 23221 // 23222 // RuleGroupId is a required field 23223 RuleGroupId *string `min:"1" type:"string" required:"true"` 23224 23225 // An array of RuleGroupUpdate objects that you want to insert into or delete 23226 // from a RuleGroup. 23227 // 23228 // You can only insert REGULAR rules into a rule group. 23229 // 23230 // ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup 23231 // to a WebACL. In this case you do not use ActivatedRule|Action. For all other 23232 // update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. 23233 // 23234 // Updates is a required field 23235 Updates []*RuleGroupUpdate `min:"1" type:"list" required:"true"` 23236 } 23237 23238 // String returns the string representation. 23239 // 23240 // API parameter values that are decorated as "sensitive" in the API will not 23241 // be included in the string output. The member name will be present, but the 23242 // value will be replaced with "sensitive". 23243 func (s UpdateRuleGroupInput) String() string { 23244 return awsutil.Prettify(s) 23245 } 23246 23247 // GoString returns the string representation. 23248 // 23249 // API parameter values that are decorated as "sensitive" in the API will not 23250 // be included in the string output. The member name will be present, but the 23251 // value will be replaced with "sensitive". 23252 func (s UpdateRuleGroupInput) GoString() string { 23253 return s.String() 23254 } 23255 23256 // Validate inspects the fields of the type to determine if they are valid. 23257 func (s *UpdateRuleGroupInput) Validate() error { 23258 invalidParams := request.ErrInvalidParams{Context: "UpdateRuleGroupInput"} 23259 if s.ChangeToken == nil { 23260 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23261 } 23262 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23263 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23264 } 23265 if s.RuleGroupId == nil { 23266 invalidParams.Add(request.NewErrParamRequired("RuleGroupId")) 23267 } 23268 if s.RuleGroupId != nil && len(*s.RuleGroupId) < 1 { 23269 invalidParams.Add(request.NewErrParamMinLen("RuleGroupId", 1)) 23270 } 23271 if s.Updates == nil { 23272 invalidParams.Add(request.NewErrParamRequired("Updates")) 23273 } 23274 if s.Updates != nil && len(s.Updates) < 1 { 23275 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23276 } 23277 if s.Updates != nil { 23278 for i, v := range s.Updates { 23279 if v == nil { 23280 continue 23281 } 23282 if err := v.Validate(); err != nil { 23283 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23284 } 23285 } 23286 } 23287 23288 if invalidParams.Len() > 0 { 23289 return invalidParams 23290 } 23291 return nil 23292 } 23293 23294 // SetChangeToken sets the ChangeToken field's value. 23295 func (s *UpdateRuleGroupInput) SetChangeToken(v string) *UpdateRuleGroupInput { 23296 s.ChangeToken = &v 23297 return s 23298 } 23299 23300 // SetRuleGroupId sets the RuleGroupId field's value. 23301 func (s *UpdateRuleGroupInput) SetRuleGroupId(v string) *UpdateRuleGroupInput { 23302 s.RuleGroupId = &v 23303 return s 23304 } 23305 23306 // SetUpdates sets the Updates field's value. 23307 func (s *UpdateRuleGroupInput) SetUpdates(v []*RuleGroupUpdate) *UpdateRuleGroupInput { 23308 s.Updates = v 23309 return s 23310 } 23311 23312 type UpdateRuleGroupOutput struct { 23313 _ struct{} `type:"structure"` 23314 23315 // The ChangeToken that you used to submit the UpdateRuleGroup request. You 23316 // can also use this value to query the status of the request. For more information, 23317 // see GetChangeTokenStatus. 23318 ChangeToken *string `min:"1" type:"string"` 23319 } 23320 23321 // String returns the string representation. 23322 // 23323 // API parameter values that are decorated as "sensitive" in the API will not 23324 // be included in the string output. The member name will be present, but the 23325 // value will be replaced with "sensitive". 23326 func (s UpdateRuleGroupOutput) String() string { 23327 return awsutil.Prettify(s) 23328 } 23329 23330 // GoString returns the string representation. 23331 // 23332 // API parameter values that are decorated as "sensitive" in the API will not 23333 // be included in the string output. The member name will be present, but the 23334 // value will be replaced with "sensitive". 23335 func (s UpdateRuleGroupOutput) GoString() string { 23336 return s.String() 23337 } 23338 23339 // SetChangeToken sets the ChangeToken field's value. 23340 func (s *UpdateRuleGroupOutput) SetChangeToken(v string) *UpdateRuleGroupOutput { 23341 s.ChangeToken = &v 23342 return s 23343 } 23344 23345 type UpdateRuleInput struct { 23346 _ struct{} `type:"structure"` 23347 23348 // The value returned by the most recent call to GetChangeToken. 23349 // 23350 // ChangeToken is a required field 23351 ChangeToken *string `min:"1" type:"string" required:"true"` 23352 23353 // The RuleId of the Rule that you want to update. RuleId is returned by CreateRule 23354 // and by ListRules. 23355 // 23356 // RuleId is a required field 23357 RuleId *string `min:"1" type:"string" required:"true"` 23358 23359 // An array of RuleUpdate objects that you want to insert into or delete from 23360 // a Rule. For more information, see the applicable data types: 23361 // 23362 // * RuleUpdate: Contains Action and Predicate 23363 // 23364 // * Predicate: Contains DataId, Negated, and Type 23365 // 23366 // * FieldToMatch: Contains Data and Type 23367 // 23368 // Updates is a required field 23369 Updates []*RuleUpdate `type:"list" required:"true"` 23370 } 23371 23372 // String returns the string representation. 23373 // 23374 // API parameter values that are decorated as "sensitive" in the API will not 23375 // be included in the string output. The member name will be present, but the 23376 // value will be replaced with "sensitive". 23377 func (s UpdateRuleInput) String() string { 23378 return awsutil.Prettify(s) 23379 } 23380 23381 // GoString returns the string representation. 23382 // 23383 // API parameter values that are decorated as "sensitive" in the API will not 23384 // be included in the string output. The member name will be present, but the 23385 // value will be replaced with "sensitive". 23386 func (s UpdateRuleInput) GoString() string { 23387 return s.String() 23388 } 23389 23390 // Validate inspects the fields of the type to determine if they are valid. 23391 func (s *UpdateRuleInput) Validate() error { 23392 invalidParams := request.ErrInvalidParams{Context: "UpdateRuleInput"} 23393 if s.ChangeToken == nil { 23394 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23395 } 23396 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23397 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23398 } 23399 if s.RuleId == nil { 23400 invalidParams.Add(request.NewErrParamRequired("RuleId")) 23401 } 23402 if s.RuleId != nil && len(*s.RuleId) < 1 { 23403 invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) 23404 } 23405 if s.Updates == nil { 23406 invalidParams.Add(request.NewErrParamRequired("Updates")) 23407 } 23408 if s.Updates != nil { 23409 for i, v := range s.Updates { 23410 if v == nil { 23411 continue 23412 } 23413 if err := v.Validate(); err != nil { 23414 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23415 } 23416 } 23417 } 23418 23419 if invalidParams.Len() > 0 { 23420 return invalidParams 23421 } 23422 return nil 23423 } 23424 23425 // SetChangeToken sets the ChangeToken field's value. 23426 func (s *UpdateRuleInput) SetChangeToken(v string) *UpdateRuleInput { 23427 s.ChangeToken = &v 23428 return s 23429 } 23430 23431 // SetRuleId sets the RuleId field's value. 23432 func (s *UpdateRuleInput) SetRuleId(v string) *UpdateRuleInput { 23433 s.RuleId = &v 23434 return s 23435 } 23436 23437 // SetUpdates sets the Updates field's value. 23438 func (s *UpdateRuleInput) SetUpdates(v []*RuleUpdate) *UpdateRuleInput { 23439 s.Updates = v 23440 return s 23441 } 23442 23443 type UpdateRuleOutput struct { 23444 _ struct{} `type:"structure"` 23445 23446 // The ChangeToken that you used to submit the UpdateRule request. You can also 23447 // use this value to query the status of the request. For more information, 23448 // see GetChangeTokenStatus. 23449 ChangeToken *string `min:"1" type:"string"` 23450 } 23451 23452 // String returns the string representation. 23453 // 23454 // API parameter values that are decorated as "sensitive" in the API will not 23455 // be included in the string output. The member name will be present, but the 23456 // value will be replaced with "sensitive". 23457 func (s UpdateRuleOutput) String() string { 23458 return awsutil.Prettify(s) 23459 } 23460 23461 // GoString returns the string representation. 23462 // 23463 // API parameter values that are decorated as "sensitive" in the API will not 23464 // be included in the string output. The member name will be present, but the 23465 // value will be replaced with "sensitive". 23466 func (s UpdateRuleOutput) GoString() string { 23467 return s.String() 23468 } 23469 23470 // SetChangeToken sets the ChangeToken field's value. 23471 func (s *UpdateRuleOutput) SetChangeToken(v string) *UpdateRuleOutput { 23472 s.ChangeToken = &v 23473 return s 23474 } 23475 23476 type UpdateSizeConstraintSetInput struct { 23477 _ struct{} `type:"structure"` 23478 23479 // The value returned by the most recent call to GetChangeToken. 23480 // 23481 // ChangeToken is a required field 23482 ChangeToken *string `min:"1" type:"string" required:"true"` 23483 23484 // The SizeConstraintSetId of the SizeConstraintSet that you want to update. 23485 // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. 23486 // 23487 // SizeConstraintSetId is a required field 23488 SizeConstraintSetId *string `min:"1" type:"string" required:"true"` 23489 23490 // An array of SizeConstraintSetUpdate objects that you want to insert into 23491 // or delete from a SizeConstraintSet. For more information, see the applicable 23492 // data types: 23493 // 23494 // * SizeConstraintSetUpdate: Contains Action and SizeConstraint 23495 // 23496 // * SizeConstraint: Contains FieldToMatch, TextTransformation, ComparisonOperator, 23497 // and Size 23498 // 23499 // * FieldToMatch: Contains Data and Type 23500 // 23501 // Updates is a required field 23502 Updates []*SizeConstraintSetUpdate `min:"1" type:"list" required:"true"` 23503 } 23504 23505 // String returns the string representation. 23506 // 23507 // API parameter values that are decorated as "sensitive" in the API will not 23508 // be included in the string output. The member name will be present, but the 23509 // value will be replaced with "sensitive". 23510 func (s UpdateSizeConstraintSetInput) String() string { 23511 return awsutil.Prettify(s) 23512 } 23513 23514 // GoString returns the string representation. 23515 // 23516 // API parameter values that are decorated as "sensitive" in the API will not 23517 // be included in the string output. The member name will be present, but the 23518 // value will be replaced with "sensitive". 23519 func (s UpdateSizeConstraintSetInput) GoString() string { 23520 return s.String() 23521 } 23522 23523 // Validate inspects the fields of the type to determine if they are valid. 23524 func (s *UpdateSizeConstraintSetInput) Validate() error { 23525 invalidParams := request.ErrInvalidParams{Context: "UpdateSizeConstraintSetInput"} 23526 if s.ChangeToken == nil { 23527 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23528 } 23529 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23530 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23531 } 23532 if s.SizeConstraintSetId == nil { 23533 invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) 23534 } 23535 if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { 23536 invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) 23537 } 23538 if s.Updates == nil { 23539 invalidParams.Add(request.NewErrParamRequired("Updates")) 23540 } 23541 if s.Updates != nil && len(s.Updates) < 1 { 23542 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23543 } 23544 if s.Updates != nil { 23545 for i, v := range s.Updates { 23546 if v == nil { 23547 continue 23548 } 23549 if err := v.Validate(); err != nil { 23550 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23551 } 23552 } 23553 } 23554 23555 if invalidParams.Len() > 0 { 23556 return invalidParams 23557 } 23558 return nil 23559 } 23560 23561 // SetChangeToken sets the ChangeToken field's value. 23562 func (s *UpdateSizeConstraintSetInput) SetChangeToken(v string) *UpdateSizeConstraintSetInput { 23563 s.ChangeToken = &v 23564 return s 23565 } 23566 23567 // SetSizeConstraintSetId sets the SizeConstraintSetId field's value. 23568 func (s *UpdateSizeConstraintSetInput) SetSizeConstraintSetId(v string) *UpdateSizeConstraintSetInput { 23569 s.SizeConstraintSetId = &v 23570 return s 23571 } 23572 23573 // SetUpdates sets the Updates field's value. 23574 func (s *UpdateSizeConstraintSetInput) SetUpdates(v []*SizeConstraintSetUpdate) *UpdateSizeConstraintSetInput { 23575 s.Updates = v 23576 return s 23577 } 23578 23579 type UpdateSizeConstraintSetOutput struct { 23580 _ struct{} `type:"structure"` 23581 23582 // The ChangeToken that you used to submit the UpdateSizeConstraintSet request. 23583 // You can also use this value to query the status of the request. For more 23584 // information, see GetChangeTokenStatus. 23585 ChangeToken *string `min:"1" type:"string"` 23586 } 23587 23588 // String returns the string representation. 23589 // 23590 // API parameter values that are decorated as "sensitive" in the API will not 23591 // be included in the string output. The member name will be present, but the 23592 // value will be replaced with "sensitive". 23593 func (s UpdateSizeConstraintSetOutput) String() string { 23594 return awsutil.Prettify(s) 23595 } 23596 23597 // GoString returns the string representation. 23598 // 23599 // API parameter values that are decorated as "sensitive" in the API will not 23600 // be included in the string output. The member name will be present, but the 23601 // value will be replaced with "sensitive". 23602 func (s UpdateSizeConstraintSetOutput) GoString() string { 23603 return s.String() 23604 } 23605 23606 // SetChangeToken sets the ChangeToken field's value. 23607 func (s *UpdateSizeConstraintSetOutput) SetChangeToken(v string) *UpdateSizeConstraintSetOutput { 23608 s.ChangeToken = &v 23609 return s 23610 } 23611 23612 // A request to update a SqlInjectionMatchSet. 23613 type UpdateSqlInjectionMatchSetInput struct { 23614 _ struct{} `type:"structure"` 23615 23616 // The value returned by the most recent call to GetChangeToken. 23617 // 23618 // ChangeToken is a required field 23619 ChangeToken *string `min:"1" type:"string" required:"true"` 23620 23621 // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. 23622 // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. 23623 // 23624 // SqlInjectionMatchSetId is a required field 23625 SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` 23626 23627 // An array of SqlInjectionMatchSetUpdate objects that you want to insert into 23628 // or delete from a SqlInjectionMatchSet. For more information, see the applicable 23629 // data types: 23630 // 23631 // * SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple 23632 // 23633 // * SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation 23634 // 23635 // * FieldToMatch: Contains Data and Type 23636 // 23637 // Updates is a required field 23638 Updates []*SqlInjectionMatchSetUpdate `min:"1" type:"list" required:"true"` 23639 } 23640 23641 // String returns the string representation. 23642 // 23643 // API parameter values that are decorated as "sensitive" in the API will not 23644 // be included in the string output. The member name will be present, but the 23645 // value will be replaced with "sensitive". 23646 func (s UpdateSqlInjectionMatchSetInput) String() string { 23647 return awsutil.Prettify(s) 23648 } 23649 23650 // GoString returns the string representation. 23651 // 23652 // API parameter values that are decorated as "sensitive" in the API will not 23653 // be included in the string output. The member name will be present, but the 23654 // value will be replaced with "sensitive". 23655 func (s UpdateSqlInjectionMatchSetInput) GoString() string { 23656 return s.String() 23657 } 23658 23659 // Validate inspects the fields of the type to determine if they are valid. 23660 func (s *UpdateSqlInjectionMatchSetInput) Validate() error { 23661 invalidParams := request.ErrInvalidParams{Context: "UpdateSqlInjectionMatchSetInput"} 23662 if s.ChangeToken == nil { 23663 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23664 } 23665 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23666 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23667 } 23668 if s.SqlInjectionMatchSetId == nil { 23669 invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) 23670 } 23671 if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { 23672 invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) 23673 } 23674 if s.Updates == nil { 23675 invalidParams.Add(request.NewErrParamRequired("Updates")) 23676 } 23677 if s.Updates != nil && len(s.Updates) < 1 { 23678 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23679 } 23680 if s.Updates != nil { 23681 for i, v := range s.Updates { 23682 if v == nil { 23683 continue 23684 } 23685 if err := v.Validate(); err != nil { 23686 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23687 } 23688 } 23689 } 23690 23691 if invalidParams.Len() > 0 { 23692 return invalidParams 23693 } 23694 return nil 23695 } 23696 23697 // SetChangeToken sets the ChangeToken field's value. 23698 func (s *UpdateSqlInjectionMatchSetInput) SetChangeToken(v string) *UpdateSqlInjectionMatchSetInput { 23699 s.ChangeToken = &v 23700 return s 23701 } 23702 23703 // SetSqlInjectionMatchSetId sets the SqlInjectionMatchSetId field's value. 23704 func (s *UpdateSqlInjectionMatchSetInput) SetSqlInjectionMatchSetId(v string) *UpdateSqlInjectionMatchSetInput { 23705 s.SqlInjectionMatchSetId = &v 23706 return s 23707 } 23708 23709 // SetUpdates sets the Updates field's value. 23710 func (s *UpdateSqlInjectionMatchSetInput) SetUpdates(v []*SqlInjectionMatchSetUpdate) *UpdateSqlInjectionMatchSetInput { 23711 s.Updates = v 23712 return s 23713 } 23714 23715 // The response to an UpdateSqlInjectionMatchSets request. 23716 type UpdateSqlInjectionMatchSetOutput struct { 23717 _ struct{} `type:"structure"` 23718 23719 // The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. 23720 // You can also use this value to query the status of the request. For more 23721 // information, see GetChangeTokenStatus. 23722 ChangeToken *string `min:"1" type:"string"` 23723 } 23724 23725 // String returns the string representation. 23726 // 23727 // API parameter values that are decorated as "sensitive" in the API will not 23728 // be included in the string output. The member name will be present, but the 23729 // value will be replaced with "sensitive". 23730 func (s UpdateSqlInjectionMatchSetOutput) String() string { 23731 return awsutil.Prettify(s) 23732 } 23733 23734 // GoString returns the string representation. 23735 // 23736 // API parameter values that are decorated as "sensitive" in the API will not 23737 // be included in the string output. The member name will be present, but the 23738 // value will be replaced with "sensitive". 23739 func (s UpdateSqlInjectionMatchSetOutput) GoString() string { 23740 return s.String() 23741 } 23742 23743 // SetChangeToken sets the ChangeToken field's value. 23744 func (s *UpdateSqlInjectionMatchSetOutput) SetChangeToken(v string) *UpdateSqlInjectionMatchSetOutput { 23745 s.ChangeToken = &v 23746 return s 23747 } 23748 23749 type UpdateWebACLInput struct { 23750 _ struct{} `type:"structure"` 23751 23752 // The value returned by the most recent call to GetChangeToken. 23753 // 23754 // ChangeToken is a required field 23755 ChangeToken *string `min:"1" type:"string" required:"true"` 23756 23757 // A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs 23758 // the default action if a request doesn't match the criteria in any of the 23759 // rules in a web ACL. 23760 DefaultAction *WafAction `type:"structure"` 23761 23762 // An array of updates to make to the WebACL. 23763 // 23764 // An array of WebACLUpdate objects that you want to insert into or delete from 23765 // a WebACL. For more information, see the applicable data types: 23766 // 23767 // * WebACLUpdate: Contains Action and ActivatedRule 23768 // 23769 // * ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and 23770 // Type. ActivatedRule|OverrideAction applies only when updating or adding 23771 // a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. 23772 // For all other update requests, ActivatedRule|Action is used instead of 23773 // ActivatedRule|OverrideAction. 23774 // 23775 // * WafAction: Contains Type 23776 Updates []*WebACLUpdate `type:"list"` 23777 23778 // The WebACLId of the WebACL that you want to update. WebACLId is returned 23779 // by CreateWebACL and by ListWebACLs. 23780 // 23781 // WebACLId is a required field 23782 WebACLId *string `min:"1" type:"string" required:"true"` 23783 } 23784 23785 // String returns the string representation. 23786 // 23787 // API parameter values that are decorated as "sensitive" in the API will not 23788 // be included in the string output. The member name will be present, but the 23789 // value will be replaced with "sensitive". 23790 func (s UpdateWebACLInput) String() string { 23791 return awsutil.Prettify(s) 23792 } 23793 23794 // GoString returns the string representation. 23795 // 23796 // API parameter values that are decorated as "sensitive" in the API will not 23797 // be included in the string output. The member name will be present, but the 23798 // value will be replaced with "sensitive". 23799 func (s UpdateWebACLInput) GoString() string { 23800 return s.String() 23801 } 23802 23803 // Validate inspects the fields of the type to determine if they are valid. 23804 func (s *UpdateWebACLInput) Validate() error { 23805 invalidParams := request.ErrInvalidParams{Context: "UpdateWebACLInput"} 23806 if s.ChangeToken == nil { 23807 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23808 } 23809 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23810 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23811 } 23812 if s.WebACLId == nil { 23813 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 23814 } 23815 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 23816 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 23817 } 23818 if s.DefaultAction != nil { 23819 if err := s.DefaultAction.Validate(); err != nil { 23820 invalidParams.AddNested("DefaultAction", err.(request.ErrInvalidParams)) 23821 } 23822 } 23823 if s.Updates != nil { 23824 for i, v := range s.Updates { 23825 if v == nil { 23826 continue 23827 } 23828 if err := v.Validate(); err != nil { 23829 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23830 } 23831 } 23832 } 23833 23834 if invalidParams.Len() > 0 { 23835 return invalidParams 23836 } 23837 return nil 23838 } 23839 23840 // SetChangeToken sets the ChangeToken field's value. 23841 func (s *UpdateWebACLInput) SetChangeToken(v string) *UpdateWebACLInput { 23842 s.ChangeToken = &v 23843 return s 23844 } 23845 23846 // SetDefaultAction sets the DefaultAction field's value. 23847 func (s *UpdateWebACLInput) SetDefaultAction(v *WafAction) *UpdateWebACLInput { 23848 s.DefaultAction = v 23849 return s 23850 } 23851 23852 // SetUpdates sets the Updates field's value. 23853 func (s *UpdateWebACLInput) SetUpdates(v []*WebACLUpdate) *UpdateWebACLInput { 23854 s.Updates = v 23855 return s 23856 } 23857 23858 // SetWebACLId sets the WebACLId field's value. 23859 func (s *UpdateWebACLInput) SetWebACLId(v string) *UpdateWebACLInput { 23860 s.WebACLId = &v 23861 return s 23862 } 23863 23864 type UpdateWebACLOutput struct { 23865 _ struct{} `type:"structure"` 23866 23867 // The ChangeToken that you used to submit the UpdateWebACL request. You can 23868 // also use this value to query the status of the request. For more information, 23869 // see GetChangeTokenStatus. 23870 ChangeToken *string `min:"1" type:"string"` 23871 } 23872 23873 // String returns the string representation. 23874 // 23875 // API parameter values that are decorated as "sensitive" in the API will not 23876 // be included in the string output. The member name will be present, but the 23877 // value will be replaced with "sensitive". 23878 func (s UpdateWebACLOutput) String() string { 23879 return awsutil.Prettify(s) 23880 } 23881 23882 // GoString returns the string representation. 23883 // 23884 // API parameter values that are decorated as "sensitive" in the API will not 23885 // be included in the string output. The member name will be present, but the 23886 // value will be replaced with "sensitive". 23887 func (s UpdateWebACLOutput) GoString() string { 23888 return s.String() 23889 } 23890 23891 // SetChangeToken sets the ChangeToken field's value. 23892 func (s *UpdateWebACLOutput) SetChangeToken(v string) *UpdateWebACLOutput { 23893 s.ChangeToken = &v 23894 return s 23895 } 23896 23897 // A request to update an XssMatchSet. 23898 type UpdateXssMatchSetInput struct { 23899 _ struct{} `type:"structure"` 23900 23901 // The value returned by the most recent call to GetChangeToken. 23902 // 23903 // ChangeToken is a required field 23904 ChangeToken *string `min:"1" type:"string" required:"true"` 23905 23906 // An array of XssMatchSetUpdate objects that you want to insert into or delete 23907 // from an XssMatchSet. For more information, see the applicable data types: 23908 // 23909 // * XssMatchSetUpdate: Contains Action and XssMatchTuple 23910 // 23911 // * XssMatchTuple: Contains FieldToMatch and TextTransformation 23912 // 23913 // * FieldToMatch: Contains Data and Type 23914 // 23915 // Updates is a required field 23916 Updates []*XssMatchSetUpdate `min:"1" type:"list" required:"true"` 23917 23918 // The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId 23919 // is returned by CreateXssMatchSet and by ListXssMatchSets. 23920 // 23921 // XssMatchSetId is a required field 23922 XssMatchSetId *string `min:"1" type:"string" required:"true"` 23923 } 23924 23925 // String returns the string representation. 23926 // 23927 // API parameter values that are decorated as "sensitive" in the API will not 23928 // be included in the string output. The member name will be present, but the 23929 // value will be replaced with "sensitive". 23930 func (s UpdateXssMatchSetInput) String() string { 23931 return awsutil.Prettify(s) 23932 } 23933 23934 // GoString returns the string representation. 23935 // 23936 // API parameter values that are decorated as "sensitive" in the API will not 23937 // be included in the string output. The member name will be present, but the 23938 // value will be replaced with "sensitive". 23939 func (s UpdateXssMatchSetInput) GoString() string { 23940 return s.String() 23941 } 23942 23943 // Validate inspects the fields of the type to determine if they are valid. 23944 func (s *UpdateXssMatchSetInput) Validate() error { 23945 invalidParams := request.ErrInvalidParams{Context: "UpdateXssMatchSetInput"} 23946 if s.ChangeToken == nil { 23947 invalidParams.Add(request.NewErrParamRequired("ChangeToken")) 23948 } 23949 if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { 23950 invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) 23951 } 23952 if s.Updates == nil { 23953 invalidParams.Add(request.NewErrParamRequired("Updates")) 23954 } 23955 if s.Updates != nil && len(s.Updates) < 1 { 23956 invalidParams.Add(request.NewErrParamMinLen("Updates", 1)) 23957 } 23958 if s.XssMatchSetId == nil { 23959 invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) 23960 } 23961 if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { 23962 invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) 23963 } 23964 if s.Updates != nil { 23965 for i, v := range s.Updates { 23966 if v == nil { 23967 continue 23968 } 23969 if err := v.Validate(); err != nil { 23970 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) 23971 } 23972 } 23973 } 23974 23975 if invalidParams.Len() > 0 { 23976 return invalidParams 23977 } 23978 return nil 23979 } 23980 23981 // SetChangeToken sets the ChangeToken field's value. 23982 func (s *UpdateXssMatchSetInput) SetChangeToken(v string) *UpdateXssMatchSetInput { 23983 s.ChangeToken = &v 23984 return s 23985 } 23986 23987 // SetUpdates sets the Updates field's value. 23988 func (s *UpdateXssMatchSetInput) SetUpdates(v []*XssMatchSetUpdate) *UpdateXssMatchSetInput { 23989 s.Updates = v 23990 return s 23991 } 23992 23993 // SetXssMatchSetId sets the XssMatchSetId field's value. 23994 func (s *UpdateXssMatchSetInput) SetXssMatchSetId(v string) *UpdateXssMatchSetInput { 23995 s.XssMatchSetId = &v 23996 return s 23997 } 23998 23999 // The response to an UpdateXssMatchSets request. 24000 type UpdateXssMatchSetOutput struct { 24001 _ struct{} `type:"structure"` 24002 24003 // The ChangeToken that you used to submit the UpdateXssMatchSet request. You 24004 // can also use this value to query the status of the request. For more information, 24005 // see GetChangeTokenStatus. 24006 ChangeToken *string `min:"1" type:"string"` 24007 } 24008 24009 // String returns the string representation. 24010 // 24011 // API parameter values that are decorated as "sensitive" in the API will not 24012 // be included in the string output. The member name will be present, but the 24013 // value will be replaced with "sensitive". 24014 func (s UpdateXssMatchSetOutput) String() string { 24015 return awsutil.Prettify(s) 24016 } 24017 24018 // GoString returns the string representation. 24019 // 24020 // API parameter values that are decorated as "sensitive" in the API will not 24021 // be included in the string output. The member name will be present, but the 24022 // value will be replaced with "sensitive". 24023 func (s UpdateXssMatchSetOutput) GoString() string { 24024 return s.String() 24025 } 24026 24027 // SetChangeToken sets the ChangeToken field's value. 24028 func (s *UpdateXssMatchSetOutput) SetChangeToken(v string) *UpdateXssMatchSetOutput { 24029 s.ChangeToken = &v 24030 return s 24031 } 24032 24033 // The operation failed due to a problem with the migration. The failure cause 24034 // is provided in the exception, in the MigrationErrorType: 24035 // 24036 // * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the 24037 // IgnoreUnsupportedType is not set to true. 24038 // 24039 // * ENTITY_NOT_FOUND - The web ACL doesn't exist. 24040 // 24041 // * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject 24042 // action to the specified Amazon S3 bucket. 24043 // 24044 // * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to 24045 // perform the PutObject action in the bucket. 24046 // 24047 // * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist. 24048 // 24049 // * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as 24050 // the web ACL. 24051 // 24052 // * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3 24053 // bucket for another reason. 24054 type WAFEntityMigrationException struct { 24055 _ struct{} `type:"structure"` 24056 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 24057 24058 Message_ *string `locationName:"message" type:"string"` 24059 24060 MigrationErrorReason *string `type:"string"` 24061 24062 MigrationErrorType *string `type:"string" enum:"MigrationErrorType"` 24063 } 24064 24065 // String returns the string representation. 24066 // 24067 // API parameter values that are decorated as "sensitive" in the API will not 24068 // be included in the string output. The member name will be present, but the 24069 // value will be replaced with "sensitive". 24070 func (s WAFEntityMigrationException) String() string { 24071 return awsutil.Prettify(s) 24072 } 24073 24074 // GoString returns the string representation. 24075 // 24076 // API parameter values that are decorated as "sensitive" in the API will not 24077 // be included in the string output. The member name will be present, but the 24078 // value will be replaced with "sensitive". 24079 func (s WAFEntityMigrationException) GoString() string { 24080 return s.String() 24081 } 24082 24083 func newErrorWAFEntityMigrationException(v protocol.ResponseMetadata) error { 24084 return &WAFEntityMigrationException{ 24085 RespMetadata: v, 24086 } 24087 } 24088 24089 // Code returns the exception type name. 24090 func (s *WAFEntityMigrationException) Code() string { 24091 return "WAFEntityMigrationException" 24092 } 24093 24094 // Message returns the exception's message. 24095 func (s *WAFEntityMigrationException) Message() string { 24096 if s.Message_ != nil { 24097 return *s.Message_ 24098 } 24099 return "" 24100 } 24101 24102 // OrigErr always returns nil, satisfies awserr.Error interface. 24103 func (s *WAFEntityMigrationException) OrigErr() error { 24104 return nil 24105 } 24106 24107 func (s *WAFEntityMigrationException) Error() string { 24108 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 24109 } 24110 24111 // Status code returns the HTTP status code for the request's response error. 24112 func (s *WAFEntityMigrationException) StatusCode() int { 24113 return s.RespMetadata.StatusCode 24114 } 24115 24116 // RequestID returns the service's response RequestID for request. 24117 func (s *WAFEntityMigrationException) RequestID() string { 24118 return s.RespMetadata.RequestID 24119 } 24120 24121 // 24122 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24123 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24124 // in the developer guide. 24125 // 24126 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24127 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24128 // With the latest version, AWS WAF has a single set of endpoints for regional 24129 // and global use. 24130 // 24131 // For the action that is associated with a rule in a WebACL, specifies the 24132 // action that you want AWS WAF to perform when a web request matches all of 24133 // the conditions in a rule. For the default action in a WebACL, specifies the 24134 // action that you want AWS WAF to take when a web request doesn't match all 24135 // of the conditions in any of the rules in a WebACL. 24136 type WafAction struct { 24137 _ struct{} `type:"structure"` 24138 24139 // Specifies how you want AWS WAF to respond to requests that match the settings 24140 // in a Rule. Valid settings include the following: 24141 // 24142 // * ALLOW: AWS WAF allows requests 24143 // 24144 // * BLOCK: AWS WAF blocks requests 24145 // 24146 // * COUNT: AWS WAF increments a counter of the requests that match all of 24147 // the conditions in the rule. AWS WAF then continues to inspect the web 24148 // request based on the remaining rules in the web ACL. You can't specify 24149 // COUNT for the default action for a WebACL. 24150 // 24151 // Type is a required field 24152 Type *string `type:"string" required:"true" enum:"WafActionType"` 24153 } 24154 24155 // String returns the string representation. 24156 // 24157 // API parameter values that are decorated as "sensitive" in the API will not 24158 // be included in the string output. The member name will be present, but the 24159 // value will be replaced with "sensitive". 24160 func (s WafAction) String() string { 24161 return awsutil.Prettify(s) 24162 } 24163 24164 // GoString returns the string representation. 24165 // 24166 // API parameter values that are decorated as "sensitive" in the API will not 24167 // be included in the string output. The member name will be present, but the 24168 // value will be replaced with "sensitive". 24169 func (s WafAction) GoString() string { 24170 return s.String() 24171 } 24172 24173 // Validate inspects the fields of the type to determine if they are valid. 24174 func (s *WafAction) Validate() error { 24175 invalidParams := request.ErrInvalidParams{Context: "WafAction"} 24176 if s.Type == nil { 24177 invalidParams.Add(request.NewErrParamRequired("Type")) 24178 } 24179 24180 if invalidParams.Len() > 0 { 24181 return invalidParams 24182 } 24183 return nil 24184 } 24185 24186 // SetType sets the Type field's value. 24187 func (s *WafAction) SetType(v string) *WafAction { 24188 s.Type = &v 24189 return s 24190 } 24191 24192 // 24193 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24194 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24195 // in the developer guide. 24196 // 24197 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24198 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24199 // With the latest version, AWS WAF has a single set of endpoints for regional 24200 // and global use. 24201 // 24202 // The action to take if any rule within the RuleGroup matches a request. 24203 type WafOverrideAction struct { 24204 _ struct{} `type:"structure"` 24205 24206 // COUNT overrides the action specified by the individual rule within a RuleGroup 24207 // . If set to NONE, the rule's action will take place. 24208 // 24209 // Type is a required field 24210 Type *string `type:"string" required:"true" enum:"WafOverrideActionType"` 24211 } 24212 24213 // String returns the string representation. 24214 // 24215 // API parameter values that are decorated as "sensitive" in the API will not 24216 // be included in the string output. The member name will be present, but the 24217 // value will be replaced with "sensitive". 24218 func (s WafOverrideAction) String() string { 24219 return awsutil.Prettify(s) 24220 } 24221 24222 // GoString returns the string representation. 24223 // 24224 // API parameter values that are decorated as "sensitive" in the API will not 24225 // be included in the string output. The member name will be present, but the 24226 // value will be replaced with "sensitive". 24227 func (s WafOverrideAction) GoString() string { 24228 return s.String() 24229 } 24230 24231 // Validate inspects the fields of the type to determine if they are valid. 24232 func (s *WafOverrideAction) Validate() error { 24233 invalidParams := request.ErrInvalidParams{Context: "WafOverrideAction"} 24234 if s.Type == nil { 24235 invalidParams.Add(request.NewErrParamRequired("Type")) 24236 } 24237 24238 if invalidParams.Len() > 0 { 24239 return invalidParams 24240 } 24241 return nil 24242 } 24243 24244 // SetType sets the Type field's value. 24245 func (s *WafOverrideAction) SetType(v string) *WafOverrideAction { 24246 s.Type = &v 24247 return s 24248 } 24249 24250 // 24251 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24252 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24253 // in the developer guide. 24254 // 24255 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24256 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24257 // With the latest version, AWS WAF has a single set of endpoints for regional 24258 // and global use. 24259 // 24260 // Contains the Rules that identify the requests that you want to allow, block, 24261 // or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), 24262 // and the action for each Rule that you add to a WebACL, for example, block 24263 // requests from specified IP addresses or block requests from specified referrers. 24264 // You also associate the WebACL with a CloudFront distribution to identify 24265 // the requests that you want AWS WAF to filter. If you add more than one Rule 24266 // to a WebACL, a request needs to match only one of the specifications to be 24267 // allowed, blocked, or counted. For more information, see UpdateWebACL. 24268 type WebACL struct { 24269 _ struct{} `type:"structure"` 24270 24271 // The action to perform if none of the Rules contained in the WebACL match. 24272 // The action is specified by the WafAction object. 24273 // 24274 // DefaultAction is a required field 24275 DefaultAction *WafAction `type:"structure" required:"true"` 24276 24277 // A friendly name or description for the metrics for this WebACL. The name 24278 // can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 24279 // 128 and minimum length one. It can't contain whitespace or metric names reserved 24280 // for AWS WAF, including "All" and "Default_Action." You can't change MetricName 24281 // after you create the WebACL. 24282 MetricName *string `min:"1" type:"string"` 24283 24284 // A friendly name or description of the WebACL. You can't change the name of 24285 // a WebACL after you create it. 24286 Name *string `min:"1" type:"string"` 24287 24288 // An array that contains the action for each Rule in a WebACL, the priority 24289 // of the Rule, and the ID of the Rule. 24290 // 24291 // Rules is a required field 24292 Rules []*ActivatedRule `type:"list" required:"true"` 24293 24294 // Tha Amazon Resource Name (ARN) of the web ACL. 24295 WebACLArn *string `min:"1" type:"string"` 24296 24297 // A unique identifier for a WebACL. You use WebACLId to get information about 24298 // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete 24299 // a WebACL from AWS WAF (see DeleteWebACL). 24300 // 24301 // WebACLId is returned by CreateWebACL and by ListWebACLs. 24302 // 24303 // WebACLId is a required field 24304 WebACLId *string `min:"1" type:"string" required:"true"` 24305 } 24306 24307 // String returns the string representation. 24308 // 24309 // API parameter values that are decorated as "sensitive" in the API will not 24310 // be included in the string output. The member name will be present, but the 24311 // value will be replaced with "sensitive". 24312 func (s WebACL) String() string { 24313 return awsutil.Prettify(s) 24314 } 24315 24316 // GoString returns the string representation. 24317 // 24318 // API parameter values that are decorated as "sensitive" in the API will not 24319 // be included in the string output. The member name will be present, but the 24320 // value will be replaced with "sensitive". 24321 func (s WebACL) GoString() string { 24322 return s.String() 24323 } 24324 24325 // SetDefaultAction sets the DefaultAction field's value. 24326 func (s *WebACL) SetDefaultAction(v *WafAction) *WebACL { 24327 s.DefaultAction = v 24328 return s 24329 } 24330 24331 // SetMetricName sets the MetricName field's value. 24332 func (s *WebACL) SetMetricName(v string) *WebACL { 24333 s.MetricName = &v 24334 return s 24335 } 24336 24337 // SetName sets the Name field's value. 24338 func (s *WebACL) SetName(v string) *WebACL { 24339 s.Name = &v 24340 return s 24341 } 24342 24343 // SetRules sets the Rules field's value. 24344 func (s *WebACL) SetRules(v []*ActivatedRule) *WebACL { 24345 s.Rules = v 24346 return s 24347 } 24348 24349 // SetWebACLArn sets the WebACLArn field's value. 24350 func (s *WebACL) SetWebACLArn(v string) *WebACL { 24351 s.WebACLArn = &v 24352 return s 24353 } 24354 24355 // SetWebACLId sets the WebACLId field's value. 24356 func (s *WebACL) SetWebACLId(v string) *WebACL { 24357 s.WebACLId = &v 24358 return s 24359 } 24360 24361 // 24362 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24363 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24364 // in the developer guide. 24365 // 24366 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24367 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24368 // With the latest version, AWS WAF has a single set of endpoints for regional 24369 // and global use. 24370 // 24371 // Contains the identifier and the name or description of the WebACL. 24372 type WebACLSummary struct { 24373 _ struct{} `type:"structure"` 24374 24375 // A friendly name or description of the WebACL. You can't change the name of 24376 // a WebACL after you create it. 24377 // 24378 // Name is a required field 24379 Name *string `min:"1" type:"string" required:"true"` 24380 24381 // A unique identifier for a WebACL. You use WebACLId to get information about 24382 // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete 24383 // a WebACL from AWS WAF (see DeleteWebACL). 24384 // 24385 // WebACLId is returned by CreateWebACL and by ListWebACLs. 24386 // 24387 // WebACLId is a required field 24388 WebACLId *string `min:"1" type:"string" required:"true"` 24389 } 24390 24391 // String returns the string representation. 24392 // 24393 // API parameter values that are decorated as "sensitive" in the API will not 24394 // be included in the string output. The member name will be present, but the 24395 // value will be replaced with "sensitive". 24396 func (s WebACLSummary) String() string { 24397 return awsutil.Prettify(s) 24398 } 24399 24400 // GoString returns the string representation. 24401 // 24402 // API parameter values that are decorated as "sensitive" in the API will not 24403 // be included in the string output. The member name will be present, but the 24404 // value will be replaced with "sensitive". 24405 func (s WebACLSummary) GoString() string { 24406 return s.String() 24407 } 24408 24409 // SetName sets the Name field's value. 24410 func (s *WebACLSummary) SetName(v string) *WebACLSummary { 24411 s.Name = &v 24412 return s 24413 } 24414 24415 // SetWebACLId sets the WebACLId field's value. 24416 func (s *WebACLSummary) SetWebACLId(v string) *WebACLSummary { 24417 s.WebACLId = &v 24418 return s 24419 } 24420 24421 // 24422 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24423 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24424 // in the developer guide. 24425 // 24426 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24427 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24428 // With the latest version, AWS WAF has a single set of endpoints for regional 24429 // and global use. 24430 // 24431 // Specifies whether to insert a Rule into or delete a Rule from a WebACL. 24432 type WebACLUpdate struct { 24433 _ struct{} `type:"structure"` 24434 24435 // Specifies whether to insert a Rule into or delete a Rule from a WebACL. 24436 // 24437 // Action is a required field 24438 Action *string `type:"string" required:"true" enum:"ChangeAction"` 24439 24440 // The ActivatedRule object in an UpdateWebACL request specifies a Rule that 24441 // you want to insert or delete, the priority of the Rule in the WebACL, and 24442 // the action that you want AWS WAF to take when a web request matches the Rule 24443 // (ALLOW, BLOCK, or COUNT). 24444 // 24445 // ActivatedRule is a required field 24446 ActivatedRule *ActivatedRule `type:"structure" required:"true"` 24447 } 24448 24449 // String returns the string representation. 24450 // 24451 // API parameter values that are decorated as "sensitive" in the API will not 24452 // be included in the string output. The member name will be present, but the 24453 // value will be replaced with "sensitive". 24454 func (s WebACLUpdate) String() string { 24455 return awsutil.Prettify(s) 24456 } 24457 24458 // GoString returns the string representation. 24459 // 24460 // API parameter values that are decorated as "sensitive" in the API will not 24461 // be included in the string output. The member name will be present, but the 24462 // value will be replaced with "sensitive". 24463 func (s WebACLUpdate) GoString() string { 24464 return s.String() 24465 } 24466 24467 // Validate inspects the fields of the type to determine if they are valid. 24468 func (s *WebACLUpdate) Validate() error { 24469 invalidParams := request.ErrInvalidParams{Context: "WebACLUpdate"} 24470 if s.Action == nil { 24471 invalidParams.Add(request.NewErrParamRequired("Action")) 24472 } 24473 if s.ActivatedRule == nil { 24474 invalidParams.Add(request.NewErrParamRequired("ActivatedRule")) 24475 } 24476 if s.ActivatedRule != nil { 24477 if err := s.ActivatedRule.Validate(); err != nil { 24478 invalidParams.AddNested("ActivatedRule", err.(request.ErrInvalidParams)) 24479 } 24480 } 24481 24482 if invalidParams.Len() > 0 { 24483 return invalidParams 24484 } 24485 return nil 24486 } 24487 24488 // SetAction sets the Action field's value. 24489 func (s *WebACLUpdate) SetAction(v string) *WebACLUpdate { 24490 s.Action = &v 24491 return s 24492 } 24493 24494 // SetActivatedRule sets the ActivatedRule field's value. 24495 func (s *WebACLUpdate) SetActivatedRule(v *ActivatedRule) *WebACLUpdate { 24496 s.ActivatedRule = v 24497 return s 24498 } 24499 24500 // 24501 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24502 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24503 // in the developer guide. 24504 // 24505 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24506 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24507 // With the latest version, AWS WAF has a single set of endpoints for regional 24508 // and global use. 24509 // 24510 // A complex type that contains XssMatchTuple objects, which specify the parts 24511 // of web requests that you want AWS WAF to inspect for cross-site scripting 24512 // attacks and, if you want AWS WAF to inspect a header, the name of the header. 24513 // If a XssMatchSet contains more than one XssMatchTuple object, a request needs 24514 // to include cross-site scripting attacks in only one of the specified parts 24515 // of the request to be considered a match. 24516 type XssMatchSet struct { 24517 _ struct{} `type:"structure"` 24518 24519 // The name, if any, of the XssMatchSet. 24520 Name *string `min:"1" type:"string"` 24521 24522 // A unique identifier for an XssMatchSet. You use XssMatchSetId to get information 24523 // about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), 24524 // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), 24525 // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). 24526 // 24527 // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. 24528 // 24529 // XssMatchSetId is a required field 24530 XssMatchSetId *string `min:"1" type:"string" required:"true"` 24531 24532 // Specifies the parts of web requests that you want to inspect for cross-site 24533 // scripting attacks. 24534 // 24535 // XssMatchTuples is a required field 24536 XssMatchTuples []*XssMatchTuple `type:"list" required:"true"` 24537 } 24538 24539 // String returns the string representation. 24540 // 24541 // API parameter values that are decorated as "sensitive" in the API will not 24542 // be included in the string output. The member name will be present, but the 24543 // value will be replaced with "sensitive". 24544 func (s XssMatchSet) String() string { 24545 return awsutil.Prettify(s) 24546 } 24547 24548 // GoString returns the string representation. 24549 // 24550 // API parameter values that are decorated as "sensitive" in the API will not 24551 // be included in the string output. The member name will be present, but the 24552 // value will be replaced with "sensitive". 24553 func (s XssMatchSet) GoString() string { 24554 return s.String() 24555 } 24556 24557 // SetName sets the Name field's value. 24558 func (s *XssMatchSet) SetName(v string) *XssMatchSet { 24559 s.Name = &v 24560 return s 24561 } 24562 24563 // SetXssMatchSetId sets the XssMatchSetId field's value. 24564 func (s *XssMatchSet) SetXssMatchSetId(v string) *XssMatchSet { 24565 s.XssMatchSetId = &v 24566 return s 24567 } 24568 24569 // SetXssMatchTuples sets the XssMatchTuples field's value. 24570 func (s *XssMatchSet) SetXssMatchTuples(v []*XssMatchTuple) *XssMatchSet { 24571 s.XssMatchTuples = v 24572 return s 24573 } 24574 24575 // 24576 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24577 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24578 // in the developer guide. 24579 // 24580 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24581 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24582 // With the latest version, AWS WAF has a single set of endpoints for regional 24583 // and global use. 24584 // 24585 // The Id and Name of an XssMatchSet. 24586 type XssMatchSetSummary struct { 24587 _ struct{} `type:"structure"` 24588 24589 // The name of the XssMatchSet, if any, specified by Id. 24590 // 24591 // Name is a required field 24592 Name *string `min:"1" type:"string" required:"true"` 24593 24594 // A unique identifier for an XssMatchSet. You use XssMatchSetId to get information 24595 // about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), 24596 // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), 24597 // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). 24598 // 24599 // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. 24600 // 24601 // XssMatchSetId is a required field 24602 XssMatchSetId *string `min:"1" type:"string" required:"true"` 24603 } 24604 24605 // String returns the string representation. 24606 // 24607 // API parameter values that are decorated as "sensitive" in the API will not 24608 // be included in the string output. The member name will be present, but the 24609 // value will be replaced with "sensitive". 24610 func (s XssMatchSetSummary) String() string { 24611 return awsutil.Prettify(s) 24612 } 24613 24614 // GoString returns the string representation. 24615 // 24616 // API parameter values that are decorated as "sensitive" in the API will not 24617 // be included in the string output. The member name will be present, but the 24618 // value will be replaced with "sensitive". 24619 func (s XssMatchSetSummary) GoString() string { 24620 return s.String() 24621 } 24622 24623 // SetName sets the Name field's value. 24624 func (s *XssMatchSetSummary) SetName(v string) *XssMatchSetSummary { 24625 s.Name = &v 24626 return s 24627 } 24628 24629 // SetXssMatchSetId sets the XssMatchSetId field's value. 24630 func (s *XssMatchSetSummary) SetXssMatchSetId(v string) *XssMatchSetSummary { 24631 s.XssMatchSetId = &v 24632 return s 24633 } 24634 24635 // 24636 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24637 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24638 // in the developer guide. 24639 // 24640 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24641 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24642 // With the latest version, AWS WAF has a single set of endpoints for regional 24643 // and global use. 24644 // 24645 // Specifies the part of a web request that you want to inspect for cross-site 24646 // scripting attacks and indicates whether you want to add the specification 24647 // to an XssMatchSet or delete it from an XssMatchSet. 24648 type XssMatchSetUpdate struct { 24649 _ struct{} `type:"structure"` 24650 24651 // Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE 24652 // to remove an XssMatchSetUpdate from an XssMatchSet. 24653 // 24654 // Action is a required field 24655 Action *string `type:"string" required:"true" enum:"ChangeAction"` 24656 24657 // Specifies the part of a web request that you want AWS WAF to inspect for 24658 // cross-site scripting attacks and, if you want AWS WAF to inspect a header, 24659 // the name of the header. 24660 // 24661 // XssMatchTuple is a required field 24662 XssMatchTuple *XssMatchTuple `type:"structure" required:"true"` 24663 } 24664 24665 // String returns the string representation. 24666 // 24667 // API parameter values that are decorated as "sensitive" in the API will not 24668 // be included in the string output. The member name will be present, but the 24669 // value will be replaced with "sensitive". 24670 func (s XssMatchSetUpdate) String() string { 24671 return awsutil.Prettify(s) 24672 } 24673 24674 // GoString returns the string representation. 24675 // 24676 // API parameter values that are decorated as "sensitive" in the API will not 24677 // be included in the string output. The member name will be present, but the 24678 // value will be replaced with "sensitive". 24679 func (s XssMatchSetUpdate) GoString() string { 24680 return s.String() 24681 } 24682 24683 // Validate inspects the fields of the type to determine if they are valid. 24684 func (s *XssMatchSetUpdate) Validate() error { 24685 invalidParams := request.ErrInvalidParams{Context: "XssMatchSetUpdate"} 24686 if s.Action == nil { 24687 invalidParams.Add(request.NewErrParamRequired("Action")) 24688 } 24689 if s.XssMatchTuple == nil { 24690 invalidParams.Add(request.NewErrParamRequired("XssMatchTuple")) 24691 } 24692 if s.XssMatchTuple != nil { 24693 if err := s.XssMatchTuple.Validate(); err != nil { 24694 invalidParams.AddNested("XssMatchTuple", err.(request.ErrInvalidParams)) 24695 } 24696 } 24697 24698 if invalidParams.Len() > 0 { 24699 return invalidParams 24700 } 24701 return nil 24702 } 24703 24704 // SetAction sets the Action field's value. 24705 func (s *XssMatchSetUpdate) SetAction(v string) *XssMatchSetUpdate { 24706 s.Action = &v 24707 return s 24708 } 24709 24710 // SetXssMatchTuple sets the XssMatchTuple field's value. 24711 func (s *XssMatchSetUpdate) SetXssMatchTuple(v *XssMatchTuple) *XssMatchSetUpdate { 24712 s.XssMatchTuple = v 24713 return s 24714 } 24715 24716 // 24717 // This is AWS WAF Classic documentation. For more information, see AWS WAF 24718 // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html) 24719 // in the developer guide. 24720 // 24721 // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS 24722 // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). 24723 // With the latest version, AWS WAF has a single set of endpoints for regional 24724 // and global use. 24725 // 24726 // Specifies the part of a web request that you want AWS WAF to inspect for 24727 // cross-site scripting attacks and, if you want AWS WAF to inspect a header, 24728 // the name of the header. 24729 type XssMatchTuple struct { 24730 _ struct{} `type:"structure"` 24731 24732 // Specifies where in a web request to look for cross-site scripting attacks. 24733 // 24734 // FieldToMatch is a required field 24735 FieldToMatch *FieldToMatch `type:"structure" required:"true"` 24736 24737 // Text transformations eliminate some of the unusual formatting that attackers 24738 // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, 24739 // AWS WAF performs the transformation on FieldToMatch before inspecting it 24740 // for a match. 24741 // 24742 // You can only specify a single type of TextTransformation. 24743 // 24744 // CMD_LINE 24745 // 24746 // When you're concerned that attackers are injecting an operating system command 24747 // line command and using unusual formatting to disguise some or all of the 24748 // command, use this option to perform the following transformations: 24749 // 24750 // * Delete the following characters: \ " ' ^ 24751 // 24752 // * Delete spaces before the following characters: / ( 24753 // 24754 // * Replace the following characters with a space: , ; 24755 // 24756 // * Replace multiple spaces with one space 24757 // 24758 // * Convert uppercase letters (A-Z) to lowercase (a-z) 24759 // 24760 // COMPRESS_WHITE_SPACE 24761 // 24762 // Use this option to replace the following characters with a space character 24763 // (decimal 32): 24764 // 24765 // * \f, formfeed, decimal 12 24766 // 24767 // * \t, tab, decimal 9 24768 // 24769 // * \n, newline, decimal 10 24770 // 24771 // * \r, carriage return, decimal 13 24772 // 24773 // * \v, vertical tab, decimal 11 24774 // 24775 // * non-breaking space, decimal 160 24776 // 24777 // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. 24778 // 24779 // HTML_ENTITY_DECODE 24780 // 24781 // Use this option to replace HTML-encoded characters with unencoded characters. 24782 // HTML_ENTITY_DECODE performs the following operations: 24783 // 24784 // * Replaces (ampersand)quot; with " 24785 // 24786 // * Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 24787 // 24788 // * Replaces (ampersand)lt; with a "less than" symbol 24789 // 24790 // * Replaces (ampersand)gt; with > 24791 // 24792 // * Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, 24793 // with the corresponding characters 24794 // 24795 // * Replaces characters that are represented in decimal format, (ampersand)#nnnn;, 24796 // with the corresponding characters 24797 // 24798 // LOWERCASE 24799 // 24800 // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). 24801 // 24802 // URL_DECODE 24803 // 24804 // Use this option to decode a URL-encoded value. 24805 // 24806 // NONE 24807 // 24808 // Specify NONE if you don't want to perform any text transformations. 24809 // 24810 // TextTransformation is a required field 24811 TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` 24812 } 24813 24814 // String returns the string representation. 24815 // 24816 // API parameter values that are decorated as "sensitive" in the API will not 24817 // be included in the string output. The member name will be present, but the 24818 // value will be replaced with "sensitive". 24819 func (s XssMatchTuple) String() string { 24820 return awsutil.Prettify(s) 24821 } 24822 24823 // GoString returns the string representation. 24824 // 24825 // API parameter values that are decorated as "sensitive" in the API will not 24826 // be included in the string output. The member name will be present, but the 24827 // value will be replaced with "sensitive". 24828 func (s XssMatchTuple) GoString() string { 24829 return s.String() 24830 } 24831 24832 // Validate inspects the fields of the type to determine if they are valid. 24833 func (s *XssMatchTuple) Validate() error { 24834 invalidParams := request.ErrInvalidParams{Context: "XssMatchTuple"} 24835 if s.FieldToMatch == nil { 24836 invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) 24837 } 24838 if s.TextTransformation == nil { 24839 invalidParams.Add(request.NewErrParamRequired("TextTransformation")) 24840 } 24841 if s.FieldToMatch != nil { 24842 if err := s.FieldToMatch.Validate(); err != nil { 24843 invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) 24844 } 24845 } 24846 24847 if invalidParams.Len() > 0 { 24848 return invalidParams 24849 } 24850 return nil 24851 } 24852 24853 // SetFieldToMatch sets the FieldToMatch field's value. 24854 func (s *XssMatchTuple) SetFieldToMatch(v *FieldToMatch) *XssMatchTuple { 24855 s.FieldToMatch = v 24856 return s 24857 } 24858 24859 // SetTextTransformation sets the TextTransformation field's value. 24860 func (s *XssMatchTuple) SetTextTransformation(v string) *XssMatchTuple { 24861 s.TextTransformation = &v 24862 return s 24863 } 24864 24865 const ( 24866 // ChangeActionInsert is a ChangeAction enum value 24867 ChangeActionInsert = "INSERT" 24868 24869 // ChangeActionDelete is a ChangeAction enum value 24870 ChangeActionDelete = "DELETE" 24871 ) 24872 24873 // ChangeAction_Values returns all elements of the ChangeAction enum 24874 func ChangeAction_Values() []string { 24875 return []string{ 24876 ChangeActionInsert, 24877 ChangeActionDelete, 24878 } 24879 } 24880 24881 const ( 24882 // ChangeTokenStatusProvisioned is a ChangeTokenStatus enum value 24883 ChangeTokenStatusProvisioned = "PROVISIONED" 24884 24885 // ChangeTokenStatusPending is a ChangeTokenStatus enum value 24886 ChangeTokenStatusPending = "PENDING" 24887 24888 // ChangeTokenStatusInsync is a ChangeTokenStatus enum value 24889 ChangeTokenStatusInsync = "INSYNC" 24890 ) 24891 24892 // ChangeTokenStatus_Values returns all elements of the ChangeTokenStatus enum 24893 func ChangeTokenStatus_Values() []string { 24894 return []string{ 24895 ChangeTokenStatusProvisioned, 24896 ChangeTokenStatusPending, 24897 ChangeTokenStatusInsync, 24898 } 24899 } 24900 24901 const ( 24902 // ComparisonOperatorEq is a ComparisonOperator enum value 24903 ComparisonOperatorEq = "EQ" 24904 24905 // ComparisonOperatorNe is a ComparisonOperator enum value 24906 ComparisonOperatorNe = "NE" 24907 24908 // ComparisonOperatorLe is a ComparisonOperator enum value 24909 ComparisonOperatorLe = "LE" 24910 24911 // ComparisonOperatorLt is a ComparisonOperator enum value 24912 ComparisonOperatorLt = "LT" 24913 24914 // ComparisonOperatorGe is a ComparisonOperator enum value 24915 ComparisonOperatorGe = "GE" 24916 24917 // ComparisonOperatorGt is a ComparisonOperator enum value 24918 ComparisonOperatorGt = "GT" 24919 ) 24920 24921 // ComparisonOperator_Values returns all elements of the ComparisonOperator enum 24922 func ComparisonOperator_Values() []string { 24923 return []string{ 24924 ComparisonOperatorEq, 24925 ComparisonOperatorNe, 24926 ComparisonOperatorLe, 24927 ComparisonOperatorLt, 24928 ComparisonOperatorGe, 24929 ComparisonOperatorGt, 24930 } 24931 } 24932 24933 const ( 24934 // GeoMatchConstraintTypeCountry is a GeoMatchConstraintType enum value 24935 GeoMatchConstraintTypeCountry = "Country" 24936 ) 24937 24938 // GeoMatchConstraintType_Values returns all elements of the GeoMatchConstraintType enum 24939 func GeoMatchConstraintType_Values() []string { 24940 return []string{ 24941 GeoMatchConstraintTypeCountry, 24942 } 24943 } 24944 24945 const ( 24946 // GeoMatchConstraintValueAf is a GeoMatchConstraintValue enum value 24947 GeoMatchConstraintValueAf = "AF" 24948 24949 // GeoMatchConstraintValueAx is a GeoMatchConstraintValue enum value 24950 GeoMatchConstraintValueAx = "AX" 24951 24952 // GeoMatchConstraintValueAl is a GeoMatchConstraintValue enum value 24953 GeoMatchConstraintValueAl = "AL" 24954 24955 // GeoMatchConstraintValueDz is a GeoMatchConstraintValue enum value 24956 GeoMatchConstraintValueDz = "DZ" 24957 24958 // GeoMatchConstraintValueAs is a GeoMatchConstraintValue enum value 24959 GeoMatchConstraintValueAs = "AS" 24960 24961 // GeoMatchConstraintValueAd is a GeoMatchConstraintValue enum value 24962 GeoMatchConstraintValueAd = "AD" 24963 24964 // GeoMatchConstraintValueAo is a GeoMatchConstraintValue enum value 24965 GeoMatchConstraintValueAo = "AO" 24966 24967 // GeoMatchConstraintValueAi is a GeoMatchConstraintValue enum value 24968 GeoMatchConstraintValueAi = "AI" 24969 24970 // GeoMatchConstraintValueAq is a GeoMatchConstraintValue enum value 24971 GeoMatchConstraintValueAq = "AQ" 24972 24973 // GeoMatchConstraintValueAg is a GeoMatchConstraintValue enum value 24974 GeoMatchConstraintValueAg = "AG" 24975 24976 // GeoMatchConstraintValueAr is a GeoMatchConstraintValue enum value 24977 GeoMatchConstraintValueAr = "AR" 24978 24979 // GeoMatchConstraintValueAm is a GeoMatchConstraintValue enum value 24980 GeoMatchConstraintValueAm = "AM" 24981 24982 // GeoMatchConstraintValueAw is a GeoMatchConstraintValue enum value 24983 GeoMatchConstraintValueAw = "AW" 24984 24985 // GeoMatchConstraintValueAu is a GeoMatchConstraintValue enum value 24986 GeoMatchConstraintValueAu = "AU" 24987 24988 // GeoMatchConstraintValueAt is a GeoMatchConstraintValue enum value 24989 GeoMatchConstraintValueAt = "AT" 24990 24991 // GeoMatchConstraintValueAz is a GeoMatchConstraintValue enum value 24992 GeoMatchConstraintValueAz = "AZ" 24993 24994 // GeoMatchConstraintValueBs is a GeoMatchConstraintValue enum value 24995 GeoMatchConstraintValueBs = "BS" 24996 24997 // GeoMatchConstraintValueBh is a GeoMatchConstraintValue enum value 24998 GeoMatchConstraintValueBh = "BH" 24999 25000 // GeoMatchConstraintValueBd is a GeoMatchConstraintValue enum value 25001 GeoMatchConstraintValueBd = "BD" 25002 25003 // GeoMatchConstraintValueBb is a GeoMatchConstraintValue enum value 25004 GeoMatchConstraintValueBb = "BB" 25005 25006 // GeoMatchConstraintValueBy is a GeoMatchConstraintValue enum value 25007 GeoMatchConstraintValueBy = "BY" 25008 25009 // GeoMatchConstraintValueBe is a GeoMatchConstraintValue enum value 25010 GeoMatchConstraintValueBe = "BE" 25011 25012 // GeoMatchConstraintValueBz is a GeoMatchConstraintValue enum value 25013 GeoMatchConstraintValueBz = "BZ" 25014 25015 // GeoMatchConstraintValueBj is a GeoMatchConstraintValue enum value 25016 GeoMatchConstraintValueBj = "BJ" 25017 25018 // GeoMatchConstraintValueBm is a GeoMatchConstraintValue enum value 25019 GeoMatchConstraintValueBm = "BM" 25020 25021 // GeoMatchConstraintValueBt is a GeoMatchConstraintValue enum value 25022 GeoMatchConstraintValueBt = "BT" 25023 25024 // GeoMatchConstraintValueBo is a GeoMatchConstraintValue enum value 25025 GeoMatchConstraintValueBo = "BO" 25026 25027 // GeoMatchConstraintValueBq is a GeoMatchConstraintValue enum value 25028 GeoMatchConstraintValueBq = "BQ" 25029 25030 // GeoMatchConstraintValueBa is a GeoMatchConstraintValue enum value 25031 GeoMatchConstraintValueBa = "BA" 25032 25033 // GeoMatchConstraintValueBw is a GeoMatchConstraintValue enum value 25034 GeoMatchConstraintValueBw = "BW" 25035 25036 // GeoMatchConstraintValueBv is a GeoMatchConstraintValue enum value 25037 GeoMatchConstraintValueBv = "BV" 25038 25039 // GeoMatchConstraintValueBr is a GeoMatchConstraintValue enum value 25040 GeoMatchConstraintValueBr = "BR" 25041 25042 // GeoMatchConstraintValueIo is a GeoMatchConstraintValue enum value 25043 GeoMatchConstraintValueIo = "IO" 25044 25045 // GeoMatchConstraintValueBn is a GeoMatchConstraintValue enum value 25046 GeoMatchConstraintValueBn = "BN" 25047 25048 // GeoMatchConstraintValueBg is a GeoMatchConstraintValue enum value 25049 GeoMatchConstraintValueBg = "BG" 25050 25051 // GeoMatchConstraintValueBf is a GeoMatchConstraintValue enum value 25052 GeoMatchConstraintValueBf = "BF" 25053 25054 // GeoMatchConstraintValueBi is a GeoMatchConstraintValue enum value 25055 GeoMatchConstraintValueBi = "BI" 25056 25057 // GeoMatchConstraintValueKh is a GeoMatchConstraintValue enum value 25058 GeoMatchConstraintValueKh = "KH" 25059 25060 // GeoMatchConstraintValueCm is a GeoMatchConstraintValue enum value 25061 GeoMatchConstraintValueCm = "CM" 25062 25063 // GeoMatchConstraintValueCa is a GeoMatchConstraintValue enum value 25064 GeoMatchConstraintValueCa = "CA" 25065 25066 // GeoMatchConstraintValueCv is a GeoMatchConstraintValue enum value 25067 GeoMatchConstraintValueCv = "CV" 25068 25069 // GeoMatchConstraintValueKy is a GeoMatchConstraintValue enum value 25070 GeoMatchConstraintValueKy = "KY" 25071 25072 // GeoMatchConstraintValueCf is a GeoMatchConstraintValue enum value 25073 GeoMatchConstraintValueCf = "CF" 25074 25075 // GeoMatchConstraintValueTd is a GeoMatchConstraintValue enum value 25076 GeoMatchConstraintValueTd = "TD" 25077 25078 // GeoMatchConstraintValueCl is a GeoMatchConstraintValue enum value 25079 GeoMatchConstraintValueCl = "CL" 25080 25081 // GeoMatchConstraintValueCn is a GeoMatchConstraintValue enum value 25082 GeoMatchConstraintValueCn = "CN" 25083 25084 // GeoMatchConstraintValueCx is a GeoMatchConstraintValue enum value 25085 GeoMatchConstraintValueCx = "CX" 25086 25087 // GeoMatchConstraintValueCc is a GeoMatchConstraintValue enum value 25088 GeoMatchConstraintValueCc = "CC" 25089 25090 // GeoMatchConstraintValueCo is a GeoMatchConstraintValue enum value 25091 GeoMatchConstraintValueCo = "CO" 25092 25093 // GeoMatchConstraintValueKm is a GeoMatchConstraintValue enum value 25094 GeoMatchConstraintValueKm = "KM" 25095 25096 // GeoMatchConstraintValueCg is a GeoMatchConstraintValue enum value 25097 GeoMatchConstraintValueCg = "CG" 25098 25099 // GeoMatchConstraintValueCd is a GeoMatchConstraintValue enum value 25100 GeoMatchConstraintValueCd = "CD" 25101 25102 // GeoMatchConstraintValueCk is a GeoMatchConstraintValue enum value 25103 GeoMatchConstraintValueCk = "CK" 25104 25105 // GeoMatchConstraintValueCr is a GeoMatchConstraintValue enum value 25106 GeoMatchConstraintValueCr = "CR" 25107 25108 // GeoMatchConstraintValueCi is a GeoMatchConstraintValue enum value 25109 GeoMatchConstraintValueCi = "CI" 25110 25111 // GeoMatchConstraintValueHr is a GeoMatchConstraintValue enum value 25112 GeoMatchConstraintValueHr = "HR" 25113 25114 // GeoMatchConstraintValueCu is a GeoMatchConstraintValue enum value 25115 GeoMatchConstraintValueCu = "CU" 25116 25117 // GeoMatchConstraintValueCw is a GeoMatchConstraintValue enum value 25118 GeoMatchConstraintValueCw = "CW" 25119 25120 // GeoMatchConstraintValueCy is a GeoMatchConstraintValue enum value 25121 GeoMatchConstraintValueCy = "CY" 25122 25123 // GeoMatchConstraintValueCz is a GeoMatchConstraintValue enum value 25124 GeoMatchConstraintValueCz = "CZ" 25125 25126 // GeoMatchConstraintValueDk is a GeoMatchConstraintValue enum value 25127 GeoMatchConstraintValueDk = "DK" 25128 25129 // GeoMatchConstraintValueDj is a GeoMatchConstraintValue enum value 25130 GeoMatchConstraintValueDj = "DJ" 25131 25132 // GeoMatchConstraintValueDm is a GeoMatchConstraintValue enum value 25133 GeoMatchConstraintValueDm = "DM" 25134 25135 // GeoMatchConstraintValueDo is a GeoMatchConstraintValue enum value 25136 GeoMatchConstraintValueDo = "DO" 25137 25138 // GeoMatchConstraintValueEc is a GeoMatchConstraintValue enum value 25139 GeoMatchConstraintValueEc = "EC" 25140 25141 // GeoMatchConstraintValueEg is a GeoMatchConstraintValue enum value 25142 GeoMatchConstraintValueEg = "EG" 25143 25144 // GeoMatchConstraintValueSv is a GeoMatchConstraintValue enum value 25145 GeoMatchConstraintValueSv = "SV" 25146 25147 // GeoMatchConstraintValueGq is a GeoMatchConstraintValue enum value 25148 GeoMatchConstraintValueGq = "GQ" 25149 25150 // GeoMatchConstraintValueEr is a GeoMatchConstraintValue enum value 25151 GeoMatchConstraintValueEr = "ER" 25152 25153 // GeoMatchConstraintValueEe is a GeoMatchConstraintValue enum value 25154 GeoMatchConstraintValueEe = "EE" 25155 25156 // GeoMatchConstraintValueEt is a GeoMatchConstraintValue enum value 25157 GeoMatchConstraintValueEt = "ET" 25158 25159 // GeoMatchConstraintValueFk is a GeoMatchConstraintValue enum value 25160 GeoMatchConstraintValueFk = "FK" 25161 25162 // GeoMatchConstraintValueFo is a GeoMatchConstraintValue enum value 25163 GeoMatchConstraintValueFo = "FO" 25164 25165 // GeoMatchConstraintValueFj is a GeoMatchConstraintValue enum value 25166 GeoMatchConstraintValueFj = "FJ" 25167 25168 // GeoMatchConstraintValueFi is a GeoMatchConstraintValue enum value 25169 GeoMatchConstraintValueFi = "FI" 25170 25171 // GeoMatchConstraintValueFr is a GeoMatchConstraintValue enum value 25172 GeoMatchConstraintValueFr = "FR" 25173 25174 // GeoMatchConstraintValueGf is a GeoMatchConstraintValue enum value 25175 GeoMatchConstraintValueGf = "GF" 25176 25177 // GeoMatchConstraintValuePf is a GeoMatchConstraintValue enum value 25178 GeoMatchConstraintValuePf = "PF" 25179 25180 // GeoMatchConstraintValueTf is a GeoMatchConstraintValue enum value 25181 GeoMatchConstraintValueTf = "TF" 25182 25183 // GeoMatchConstraintValueGa is a GeoMatchConstraintValue enum value 25184 GeoMatchConstraintValueGa = "GA" 25185 25186 // GeoMatchConstraintValueGm is a GeoMatchConstraintValue enum value 25187 GeoMatchConstraintValueGm = "GM" 25188 25189 // GeoMatchConstraintValueGe is a GeoMatchConstraintValue enum value 25190 GeoMatchConstraintValueGe = "GE" 25191 25192 // GeoMatchConstraintValueDe is a GeoMatchConstraintValue enum value 25193 GeoMatchConstraintValueDe = "DE" 25194 25195 // GeoMatchConstraintValueGh is a GeoMatchConstraintValue enum value 25196 GeoMatchConstraintValueGh = "GH" 25197 25198 // GeoMatchConstraintValueGi is a GeoMatchConstraintValue enum value 25199 GeoMatchConstraintValueGi = "GI" 25200 25201 // GeoMatchConstraintValueGr is a GeoMatchConstraintValue enum value 25202 GeoMatchConstraintValueGr = "GR" 25203 25204 // GeoMatchConstraintValueGl is a GeoMatchConstraintValue enum value 25205 GeoMatchConstraintValueGl = "GL" 25206 25207 // GeoMatchConstraintValueGd is a GeoMatchConstraintValue enum value 25208 GeoMatchConstraintValueGd = "GD" 25209 25210 // GeoMatchConstraintValueGp is a GeoMatchConstraintValue enum value 25211 GeoMatchConstraintValueGp = "GP" 25212 25213 // GeoMatchConstraintValueGu is a GeoMatchConstraintValue enum value 25214 GeoMatchConstraintValueGu = "GU" 25215 25216 // GeoMatchConstraintValueGt is a GeoMatchConstraintValue enum value 25217 GeoMatchConstraintValueGt = "GT" 25218 25219 // GeoMatchConstraintValueGg is a GeoMatchConstraintValue enum value 25220 GeoMatchConstraintValueGg = "GG" 25221 25222 // GeoMatchConstraintValueGn is a GeoMatchConstraintValue enum value 25223 GeoMatchConstraintValueGn = "GN" 25224 25225 // GeoMatchConstraintValueGw is a GeoMatchConstraintValue enum value 25226 GeoMatchConstraintValueGw = "GW" 25227 25228 // GeoMatchConstraintValueGy is a GeoMatchConstraintValue enum value 25229 GeoMatchConstraintValueGy = "GY" 25230 25231 // GeoMatchConstraintValueHt is a GeoMatchConstraintValue enum value 25232 GeoMatchConstraintValueHt = "HT" 25233 25234 // GeoMatchConstraintValueHm is a GeoMatchConstraintValue enum value 25235 GeoMatchConstraintValueHm = "HM" 25236 25237 // GeoMatchConstraintValueVa is a GeoMatchConstraintValue enum value 25238 GeoMatchConstraintValueVa = "VA" 25239 25240 // GeoMatchConstraintValueHn is a GeoMatchConstraintValue enum value 25241 GeoMatchConstraintValueHn = "HN" 25242 25243 // GeoMatchConstraintValueHk is a GeoMatchConstraintValue enum value 25244 GeoMatchConstraintValueHk = "HK" 25245 25246 // GeoMatchConstraintValueHu is a GeoMatchConstraintValue enum value 25247 GeoMatchConstraintValueHu = "HU" 25248 25249 // GeoMatchConstraintValueIs is a GeoMatchConstraintValue enum value 25250 GeoMatchConstraintValueIs = "IS" 25251 25252 // GeoMatchConstraintValueIn is a GeoMatchConstraintValue enum value 25253 GeoMatchConstraintValueIn = "IN" 25254 25255 // GeoMatchConstraintValueId is a GeoMatchConstraintValue enum value 25256 GeoMatchConstraintValueId = "ID" 25257 25258 // GeoMatchConstraintValueIr is a GeoMatchConstraintValue enum value 25259 GeoMatchConstraintValueIr = "IR" 25260 25261 // GeoMatchConstraintValueIq is a GeoMatchConstraintValue enum value 25262 GeoMatchConstraintValueIq = "IQ" 25263 25264 // GeoMatchConstraintValueIe is a GeoMatchConstraintValue enum value 25265 GeoMatchConstraintValueIe = "IE" 25266 25267 // GeoMatchConstraintValueIm is a GeoMatchConstraintValue enum value 25268 GeoMatchConstraintValueIm = "IM" 25269 25270 // GeoMatchConstraintValueIl is a GeoMatchConstraintValue enum value 25271 GeoMatchConstraintValueIl = "IL" 25272 25273 // GeoMatchConstraintValueIt is a GeoMatchConstraintValue enum value 25274 GeoMatchConstraintValueIt = "IT" 25275 25276 // GeoMatchConstraintValueJm is a GeoMatchConstraintValue enum value 25277 GeoMatchConstraintValueJm = "JM" 25278 25279 // GeoMatchConstraintValueJp is a GeoMatchConstraintValue enum value 25280 GeoMatchConstraintValueJp = "JP" 25281 25282 // GeoMatchConstraintValueJe is a GeoMatchConstraintValue enum value 25283 GeoMatchConstraintValueJe = "JE" 25284 25285 // GeoMatchConstraintValueJo is a GeoMatchConstraintValue enum value 25286 GeoMatchConstraintValueJo = "JO" 25287 25288 // GeoMatchConstraintValueKz is a GeoMatchConstraintValue enum value 25289 GeoMatchConstraintValueKz = "KZ" 25290 25291 // GeoMatchConstraintValueKe is a GeoMatchConstraintValue enum value 25292 GeoMatchConstraintValueKe = "KE" 25293 25294 // GeoMatchConstraintValueKi is a GeoMatchConstraintValue enum value 25295 GeoMatchConstraintValueKi = "KI" 25296 25297 // GeoMatchConstraintValueKp is a GeoMatchConstraintValue enum value 25298 GeoMatchConstraintValueKp = "KP" 25299 25300 // GeoMatchConstraintValueKr is a GeoMatchConstraintValue enum value 25301 GeoMatchConstraintValueKr = "KR" 25302 25303 // GeoMatchConstraintValueKw is a GeoMatchConstraintValue enum value 25304 GeoMatchConstraintValueKw = "KW" 25305 25306 // GeoMatchConstraintValueKg is a GeoMatchConstraintValue enum value 25307 GeoMatchConstraintValueKg = "KG" 25308 25309 // GeoMatchConstraintValueLa is a GeoMatchConstraintValue enum value 25310 GeoMatchConstraintValueLa = "LA" 25311 25312 // GeoMatchConstraintValueLv is a GeoMatchConstraintValue enum value 25313 GeoMatchConstraintValueLv = "LV" 25314 25315 // GeoMatchConstraintValueLb is a GeoMatchConstraintValue enum value 25316 GeoMatchConstraintValueLb = "LB" 25317 25318 // GeoMatchConstraintValueLs is a GeoMatchConstraintValue enum value 25319 GeoMatchConstraintValueLs = "LS" 25320 25321 // GeoMatchConstraintValueLr is a GeoMatchConstraintValue enum value 25322 GeoMatchConstraintValueLr = "LR" 25323 25324 // GeoMatchConstraintValueLy is a GeoMatchConstraintValue enum value 25325 GeoMatchConstraintValueLy = "LY" 25326 25327 // GeoMatchConstraintValueLi is a GeoMatchConstraintValue enum value 25328 GeoMatchConstraintValueLi = "LI" 25329 25330 // GeoMatchConstraintValueLt is a GeoMatchConstraintValue enum value 25331 GeoMatchConstraintValueLt = "LT" 25332 25333 // GeoMatchConstraintValueLu is a GeoMatchConstraintValue enum value 25334 GeoMatchConstraintValueLu = "LU" 25335 25336 // GeoMatchConstraintValueMo is a GeoMatchConstraintValue enum value 25337 GeoMatchConstraintValueMo = "MO" 25338 25339 // GeoMatchConstraintValueMk is a GeoMatchConstraintValue enum value 25340 GeoMatchConstraintValueMk = "MK" 25341 25342 // GeoMatchConstraintValueMg is a GeoMatchConstraintValue enum value 25343 GeoMatchConstraintValueMg = "MG" 25344 25345 // GeoMatchConstraintValueMw is a GeoMatchConstraintValue enum value 25346 GeoMatchConstraintValueMw = "MW" 25347 25348 // GeoMatchConstraintValueMy is a GeoMatchConstraintValue enum value 25349 GeoMatchConstraintValueMy = "MY" 25350 25351 // GeoMatchConstraintValueMv is a GeoMatchConstraintValue enum value 25352 GeoMatchConstraintValueMv = "MV" 25353 25354 // GeoMatchConstraintValueMl is a GeoMatchConstraintValue enum value 25355 GeoMatchConstraintValueMl = "ML" 25356 25357 // GeoMatchConstraintValueMt is a GeoMatchConstraintValue enum value 25358 GeoMatchConstraintValueMt = "MT" 25359 25360 // GeoMatchConstraintValueMh is a GeoMatchConstraintValue enum value 25361 GeoMatchConstraintValueMh = "MH" 25362 25363 // GeoMatchConstraintValueMq is a GeoMatchConstraintValue enum value 25364 GeoMatchConstraintValueMq = "MQ" 25365 25366 // GeoMatchConstraintValueMr is a GeoMatchConstraintValue enum value 25367 GeoMatchConstraintValueMr = "MR" 25368 25369 // GeoMatchConstraintValueMu is a GeoMatchConstraintValue enum value 25370 GeoMatchConstraintValueMu = "MU" 25371 25372 // GeoMatchConstraintValueYt is a GeoMatchConstraintValue enum value 25373 GeoMatchConstraintValueYt = "YT" 25374 25375 // GeoMatchConstraintValueMx is a GeoMatchConstraintValue enum value 25376 GeoMatchConstraintValueMx = "MX" 25377 25378 // GeoMatchConstraintValueFm is a GeoMatchConstraintValue enum value 25379 GeoMatchConstraintValueFm = "FM" 25380 25381 // GeoMatchConstraintValueMd is a GeoMatchConstraintValue enum value 25382 GeoMatchConstraintValueMd = "MD" 25383 25384 // GeoMatchConstraintValueMc is a GeoMatchConstraintValue enum value 25385 GeoMatchConstraintValueMc = "MC" 25386 25387 // GeoMatchConstraintValueMn is a GeoMatchConstraintValue enum value 25388 GeoMatchConstraintValueMn = "MN" 25389 25390 // GeoMatchConstraintValueMe is a GeoMatchConstraintValue enum value 25391 GeoMatchConstraintValueMe = "ME" 25392 25393 // GeoMatchConstraintValueMs is a GeoMatchConstraintValue enum value 25394 GeoMatchConstraintValueMs = "MS" 25395 25396 // GeoMatchConstraintValueMa is a GeoMatchConstraintValue enum value 25397 GeoMatchConstraintValueMa = "MA" 25398 25399 // GeoMatchConstraintValueMz is a GeoMatchConstraintValue enum value 25400 GeoMatchConstraintValueMz = "MZ" 25401 25402 // GeoMatchConstraintValueMm is a GeoMatchConstraintValue enum value 25403 GeoMatchConstraintValueMm = "MM" 25404 25405 // GeoMatchConstraintValueNa is a GeoMatchConstraintValue enum value 25406 GeoMatchConstraintValueNa = "NA" 25407 25408 // GeoMatchConstraintValueNr is a GeoMatchConstraintValue enum value 25409 GeoMatchConstraintValueNr = "NR" 25410 25411 // GeoMatchConstraintValueNp is a GeoMatchConstraintValue enum value 25412 GeoMatchConstraintValueNp = "NP" 25413 25414 // GeoMatchConstraintValueNl is a GeoMatchConstraintValue enum value 25415 GeoMatchConstraintValueNl = "NL" 25416 25417 // GeoMatchConstraintValueNc is a GeoMatchConstraintValue enum value 25418 GeoMatchConstraintValueNc = "NC" 25419 25420 // GeoMatchConstraintValueNz is a GeoMatchConstraintValue enum value 25421 GeoMatchConstraintValueNz = "NZ" 25422 25423 // GeoMatchConstraintValueNi is a GeoMatchConstraintValue enum value 25424 GeoMatchConstraintValueNi = "NI" 25425 25426 // GeoMatchConstraintValueNe is a GeoMatchConstraintValue enum value 25427 GeoMatchConstraintValueNe = "NE" 25428 25429 // GeoMatchConstraintValueNg is a GeoMatchConstraintValue enum value 25430 GeoMatchConstraintValueNg = "NG" 25431 25432 // GeoMatchConstraintValueNu is a GeoMatchConstraintValue enum value 25433 GeoMatchConstraintValueNu = "NU" 25434 25435 // GeoMatchConstraintValueNf is a GeoMatchConstraintValue enum value 25436 GeoMatchConstraintValueNf = "NF" 25437 25438 // GeoMatchConstraintValueMp is a GeoMatchConstraintValue enum value 25439 GeoMatchConstraintValueMp = "MP" 25440 25441 // GeoMatchConstraintValueNo is a GeoMatchConstraintValue enum value 25442 GeoMatchConstraintValueNo = "NO" 25443 25444 // GeoMatchConstraintValueOm is a GeoMatchConstraintValue enum value 25445 GeoMatchConstraintValueOm = "OM" 25446 25447 // GeoMatchConstraintValuePk is a GeoMatchConstraintValue enum value 25448 GeoMatchConstraintValuePk = "PK" 25449 25450 // GeoMatchConstraintValuePw is a GeoMatchConstraintValue enum value 25451 GeoMatchConstraintValuePw = "PW" 25452 25453 // GeoMatchConstraintValuePs is a GeoMatchConstraintValue enum value 25454 GeoMatchConstraintValuePs = "PS" 25455 25456 // GeoMatchConstraintValuePa is a GeoMatchConstraintValue enum value 25457 GeoMatchConstraintValuePa = "PA" 25458 25459 // GeoMatchConstraintValuePg is a GeoMatchConstraintValue enum value 25460 GeoMatchConstraintValuePg = "PG" 25461 25462 // GeoMatchConstraintValuePy is a GeoMatchConstraintValue enum value 25463 GeoMatchConstraintValuePy = "PY" 25464 25465 // GeoMatchConstraintValuePe is a GeoMatchConstraintValue enum value 25466 GeoMatchConstraintValuePe = "PE" 25467 25468 // GeoMatchConstraintValuePh is a GeoMatchConstraintValue enum value 25469 GeoMatchConstraintValuePh = "PH" 25470 25471 // GeoMatchConstraintValuePn is a GeoMatchConstraintValue enum value 25472 GeoMatchConstraintValuePn = "PN" 25473 25474 // GeoMatchConstraintValuePl is a GeoMatchConstraintValue enum value 25475 GeoMatchConstraintValuePl = "PL" 25476 25477 // GeoMatchConstraintValuePt is a GeoMatchConstraintValue enum value 25478 GeoMatchConstraintValuePt = "PT" 25479 25480 // GeoMatchConstraintValuePr is a GeoMatchConstraintValue enum value 25481 GeoMatchConstraintValuePr = "PR" 25482 25483 // GeoMatchConstraintValueQa is a GeoMatchConstraintValue enum value 25484 GeoMatchConstraintValueQa = "QA" 25485 25486 // GeoMatchConstraintValueRe is a GeoMatchConstraintValue enum value 25487 GeoMatchConstraintValueRe = "RE" 25488 25489 // GeoMatchConstraintValueRo is a GeoMatchConstraintValue enum value 25490 GeoMatchConstraintValueRo = "RO" 25491 25492 // GeoMatchConstraintValueRu is a GeoMatchConstraintValue enum value 25493 GeoMatchConstraintValueRu = "RU" 25494 25495 // GeoMatchConstraintValueRw is a GeoMatchConstraintValue enum value 25496 GeoMatchConstraintValueRw = "RW" 25497 25498 // GeoMatchConstraintValueBl is a GeoMatchConstraintValue enum value 25499 GeoMatchConstraintValueBl = "BL" 25500 25501 // GeoMatchConstraintValueSh is a GeoMatchConstraintValue enum value 25502 GeoMatchConstraintValueSh = "SH" 25503 25504 // GeoMatchConstraintValueKn is a GeoMatchConstraintValue enum value 25505 GeoMatchConstraintValueKn = "KN" 25506 25507 // GeoMatchConstraintValueLc is a GeoMatchConstraintValue enum value 25508 GeoMatchConstraintValueLc = "LC" 25509 25510 // GeoMatchConstraintValueMf is a GeoMatchConstraintValue enum value 25511 GeoMatchConstraintValueMf = "MF" 25512 25513 // GeoMatchConstraintValuePm is a GeoMatchConstraintValue enum value 25514 GeoMatchConstraintValuePm = "PM" 25515 25516 // GeoMatchConstraintValueVc is a GeoMatchConstraintValue enum value 25517 GeoMatchConstraintValueVc = "VC" 25518 25519 // GeoMatchConstraintValueWs is a GeoMatchConstraintValue enum value 25520 GeoMatchConstraintValueWs = "WS" 25521 25522 // GeoMatchConstraintValueSm is a GeoMatchConstraintValue enum value 25523 GeoMatchConstraintValueSm = "SM" 25524 25525 // GeoMatchConstraintValueSt is a GeoMatchConstraintValue enum value 25526 GeoMatchConstraintValueSt = "ST" 25527 25528 // GeoMatchConstraintValueSa is a GeoMatchConstraintValue enum value 25529 GeoMatchConstraintValueSa = "SA" 25530 25531 // GeoMatchConstraintValueSn is a GeoMatchConstraintValue enum value 25532 GeoMatchConstraintValueSn = "SN" 25533 25534 // GeoMatchConstraintValueRs is a GeoMatchConstraintValue enum value 25535 GeoMatchConstraintValueRs = "RS" 25536 25537 // GeoMatchConstraintValueSc is a GeoMatchConstraintValue enum value 25538 GeoMatchConstraintValueSc = "SC" 25539 25540 // GeoMatchConstraintValueSl is a GeoMatchConstraintValue enum value 25541 GeoMatchConstraintValueSl = "SL" 25542 25543 // GeoMatchConstraintValueSg is a GeoMatchConstraintValue enum value 25544 GeoMatchConstraintValueSg = "SG" 25545 25546 // GeoMatchConstraintValueSx is a GeoMatchConstraintValue enum value 25547 GeoMatchConstraintValueSx = "SX" 25548 25549 // GeoMatchConstraintValueSk is a GeoMatchConstraintValue enum value 25550 GeoMatchConstraintValueSk = "SK" 25551 25552 // GeoMatchConstraintValueSi is a GeoMatchConstraintValue enum value 25553 GeoMatchConstraintValueSi = "SI" 25554 25555 // GeoMatchConstraintValueSb is a GeoMatchConstraintValue enum value 25556 GeoMatchConstraintValueSb = "SB" 25557 25558 // GeoMatchConstraintValueSo is a GeoMatchConstraintValue enum value 25559 GeoMatchConstraintValueSo = "SO" 25560 25561 // GeoMatchConstraintValueZa is a GeoMatchConstraintValue enum value 25562 GeoMatchConstraintValueZa = "ZA" 25563 25564 // GeoMatchConstraintValueGs is a GeoMatchConstraintValue enum value 25565 GeoMatchConstraintValueGs = "GS" 25566 25567 // GeoMatchConstraintValueSs is a GeoMatchConstraintValue enum value 25568 GeoMatchConstraintValueSs = "SS" 25569 25570 // GeoMatchConstraintValueEs is a GeoMatchConstraintValue enum value 25571 GeoMatchConstraintValueEs = "ES" 25572 25573 // GeoMatchConstraintValueLk is a GeoMatchConstraintValue enum value 25574 GeoMatchConstraintValueLk = "LK" 25575 25576 // GeoMatchConstraintValueSd is a GeoMatchConstraintValue enum value 25577 GeoMatchConstraintValueSd = "SD" 25578 25579 // GeoMatchConstraintValueSr is a GeoMatchConstraintValue enum value 25580 GeoMatchConstraintValueSr = "SR" 25581 25582 // GeoMatchConstraintValueSj is a GeoMatchConstraintValue enum value 25583 GeoMatchConstraintValueSj = "SJ" 25584 25585 // GeoMatchConstraintValueSz is a GeoMatchConstraintValue enum value 25586 GeoMatchConstraintValueSz = "SZ" 25587 25588 // GeoMatchConstraintValueSe is a GeoMatchConstraintValue enum value 25589 GeoMatchConstraintValueSe = "SE" 25590 25591 // GeoMatchConstraintValueCh is a GeoMatchConstraintValue enum value 25592 GeoMatchConstraintValueCh = "CH" 25593 25594 // GeoMatchConstraintValueSy is a GeoMatchConstraintValue enum value 25595 GeoMatchConstraintValueSy = "SY" 25596 25597 // GeoMatchConstraintValueTw is a GeoMatchConstraintValue enum value 25598 GeoMatchConstraintValueTw = "TW" 25599 25600 // GeoMatchConstraintValueTj is a GeoMatchConstraintValue enum value 25601 GeoMatchConstraintValueTj = "TJ" 25602 25603 // GeoMatchConstraintValueTz is a GeoMatchConstraintValue enum value 25604 GeoMatchConstraintValueTz = "TZ" 25605 25606 // GeoMatchConstraintValueTh is a GeoMatchConstraintValue enum value 25607 GeoMatchConstraintValueTh = "TH" 25608 25609 // GeoMatchConstraintValueTl is a GeoMatchConstraintValue enum value 25610 GeoMatchConstraintValueTl = "TL" 25611 25612 // GeoMatchConstraintValueTg is a GeoMatchConstraintValue enum value 25613 GeoMatchConstraintValueTg = "TG" 25614 25615 // GeoMatchConstraintValueTk is a GeoMatchConstraintValue enum value 25616 GeoMatchConstraintValueTk = "TK" 25617 25618 // GeoMatchConstraintValueTo is a GeoMatchConstraintValue enum value 25619 GeoMatchConstraintValueTo = "TO" 25620 25621 // GeoMatchConstraintValueTt is a GeoMatchConstraintValue enum value 25622 GeoMatchConstraintValueTt = "TT" 25623 25624 // GeoMatchConstraintValueTn is a GeoMatchConstraintValue enum value 25625 GeoMatchConstraintValueTn = "TN" 25626 25627 // GeoMatchConstraintValueTr is a GeoMatchConstraintValue enum value 25628 GeoMatchConstraintValueTr = "TR" 25629 25630 // GeoMatchConstraintValueTm is a GeoMatchConstraintValue enum value 25631 GeoMatchConstraintValueTm = "TM" 25632 25633 // GeoMatchConstraintValueTc is a GeoMatchConstraintValue enum value 25634 GeoMatchConstraintValueTc = "TC" 25635 25636 // GeoMatchConstraintValueTv is a GeoMatchConstraintValue enum value 25637 GeoMatchConstraintValueTv = "TV" 25638 25639 // GeoMatchConstraintValueUg is a GeoMatchConstraintValue enum value 25640 GeoMatchConstraintValueUg = "UG" 25641 25642 // GeoMatchConstraintValueUa is a GeoMatchConstraintValue enum value 25643 GeoMatchConstraintValueUa = "UA" 25644 25645 // GeoMatchConstraintValueAe is a GeoMatchConstraintValue enum value 25646 GeoMatchConstraintValueAe = "AE" 25647 25648 // GeoMatchConstraintValueGb is a GeoMatchConstraintValue enum value 25649 GeoMatchConstraintValueGb = "GB" 25650 25651 // GeoMatchConstraintValueUs is a GeoMatchConstraintValue enum value 25652 GeoMatchConstraintValueUs = "US" 25653 25654 // GeoMatchConstraintValueUm is a GeoMatchConstraintValue enum value 25655 GeoMatchConstraintValueUm = "UM" 25656 25657 // GeoMatchConstraintValueUy is a GeoMatchConstraintValue enum value 25658 GeoMatchConstraintValueUy = "UY" 25659 25660 // GeoMatchConstraintValueUz is a GeoMatchConstraintValue enum value 25661 GeoMatchConstraintValueUz = "UZ" 25662 25663 // GeoMatchConstraintValueVu is a GeoMatchConstraintValue enum value 25664 GeoMatchConstraintValueVu = "VU" 25665 25666 // GeoMatchConstraintValueVe is a GeoMatchConstraintValue enum value 25667 GeoMatchConstraintValueVe = "VE" 25668 25669 // GeoMatchConstraintValueVn is a GeoMatchConstraintValue enum value 25670 GeoMatchConstraintValueVn = "VN" 25671 25672 // GeoMatchConstraintValueVg is a GeoMatchConstraintValue enum value 25673 GeoMatchConstraintValueVg = "VG" 25674 25675 // GeoMatchConstraintValueVi is a GeoMatchConstraintValue enum value 25676 GeoMatchConstraintValueVi = "VI" 25677 25678 // GeoMatchConstraintValueWf is a GeoMatchConstraintValue enum value 25679 GeoMatchConstraintValueWf = "WF" 25680 25681 // GeoMatchConstraintValueEh is a GeoMatchConstraintValue enum value 25682 GeoMatchConstraintValueEh = "EH" 25683 25684 // GeoMatchConstraintValueYe is a GeoMatchConstraintValue enum value 25685 GeoMatchConstraintValueYe = "YE" 25686 25687 // GeoMatchConstraintValueZm is a GeoMatchConstraintValue enum value 25688 GeoMatchConstraintValueZm = "ZM" 25689 25690 // GeoMatchConstraintValueZw is a GeoMatchConstraintValue enum value 25691 GeoMatchConstraintValueZw = "ZW" 25692 ) 25693 25694 // GeoMatchConstraintValue_Values returns all elements of the GeoMatchConstraintValue enum 25695 func GeoMatchConstraintValue_Values() []string { 25696 return []string{ 25697 GeoMatchConstraintValueAf, 25698 GeoMatchConstraintValueAx, 25699 GeoMatchConstraintValueAl, 25700 GeoMatchConstraintValueDz, 25701 GeoMatchConstraintValueAs, 25702 GeoMatchConstraintValueAd, 25703 GeoMatchConstraintValueAo, 25704 GeoMatchConstraintValueAi, 25705 GeoMatchConstraintValueAq, 25706 GeoMatchConstraintValueAg, 25707 GeoMatchConstraintValueAr, 25708 GeoMatchConstraintValueAm, 25709 GeoMatchConstraintValueAw, 25710 GeoMatchConstraintValueAu, 25711 GeoMatchConstraintValueAt, 25712 GeoMatchConstraintValueAz, 25713 GeoMatchConstraintValueBs, 25714 GeoMatchConstraintValueBh, 25715 GeoMatchConstraintValueBd, 25716 GeoMatchConstraintValueBb, 25717 GeoMatchConstraintValueBy, 25718 GeoMatchConstraintValueBe, 25719 GeoMatchConstraintValueBz, 25720 GeoMatchConstraintValueBj, 25721 GeoMatchConstraintValueBm, 25722 GeoMatchConstraintValueBt, 25723 GeoMatchConstraintValueBo, 25724 GeoMatchConstraintValueBq, 25725 GeoMatchConstraintValueBa, 25726 GeoMatchConstraintValueBw, 25727 GeoMatchConstraintValueBv, 25728 GeoMatchConstraintValueBr, 25729 GeoMatchConstraintValueIo, 25730 GeoMatchConstraintValueBn, 25731 GeoMatchConstraintValueBg, 25732 GeoMatchConstraintValueBf, 25733 GeoMatchConstraintValueBi, 25734 GeoMatchConstraintValueKh, 25735 GeoMatchConstraintValueCm, 25736 GeoMatchConstraintValueCa, 25737 GeoMatchConstraintValueCv, 25738 GeoMatchConstraintValueKy, 25739 GeoMatchConstraintValueCf, 25740 GeoMatchConstraintValueTd, 25741 GeoMatchConstraintValueCl, 25742 GeoMatchConstraintValueCn, 25743 GeoMatchConstraintValueCx, 25744 GeoMatchConstraintValueCc, 25745 GeoMatchConstraintValueCo, 25746 GeoMatchConstraintValueKm, 25747 GeoMatchConstraintValueCg, 25748 GeoMatchConstraintValueCd, 25749 GeoMatchConstraintValueCk, 25750 GeoMatchConstraintValueCr, 25751 GeoMatchConstraintValueCi, 25752 GeoMatchConstraintValueHr, 25753 GeoMatchConstraintValueCu, 25754 GeoMatchConstraintValueCw, 25755 GeoMatchConstraintValueCy, 25756 GeoMatchConstraintValueCz, 25757 GeoMatchConstraintValueDk, 25758 GeoMatchConstraintValueDj, 25759 GeoMatchConstraintValueDm, 25760 GeoMatchConstraintValueDo, 25761 GeoMatchConstraintValueEc, 25762 GeoMatchConstraintValueEg, 25763 GeoMatchConstraintValueSv, 25764 GeoMatchConstraintValueGq, 25765 GeoMatchConstraintValueEr, 25766 GeoMatchConstraintValueEe, 25767 GeoMatchConstraintValueEt, 25768 GeoMatchConstraintValueFk, 25769 GeoMatchConstraintValueFo, 25770 GeoMatchConstraintValueFj, 25771 GeoMatchConstraintValueFi, 25772 GeoMatchConstraintValueFr, 25773 GeoMatchConstraintValueGf, 25774 GeoMatchConstraintValuePf, 25775 GeoMatchConstraintValueTf, 25776 GeoMatchConstraintValueGa, 25777 GeoMatchConstraintValueGm, 25778 GeoMatchConstraintValueGe, 25779 GeoMatchConstraintValueDe, 25780 GeoMatchConstraintValueGh, 25781 GeoMatchConstraintValueGi, 25782 GeoMatchConstraintValueGr, 25783 GeoMatchConstraintValueGl, 25784 GeoMatchConstraintValueGd, 25785 GeoMatchConstraintValueGp, 25786 GeoMatchConstraintValueGu, 25787 GeoMatchConstraintValueGt, 25788 GeoMatchConstraintValueGg, 25789 GeoMatchConstraintValueGn, 25790 GeoMatchConstraintValueGw, 25791 GeoMatchConstraintValueGy, 25792 GeoMatchConstraintValueHt, 25793 GeoMatchConstraintValueHm, 25794 GeoMatchConstraintValueVa, 25795 GeoMatchConstraintValueHn, 25796 GeoMatchConstraintValueHk, 25797 GeoMatchConstraintValueHu, 25798 GeoMatchConstraintValueIs, 25799 GeoMatchConstraintValueIn, 25800 GeoMatchConstraintValueId, 25801 GeoMatchConstraintValueIr, 25802 GeoMatchConstraintValueIq, 25803 GeoMatchConstraintValueIe, 25804 GeoMatchConstraintValueIm, 25805 GeoMatchConstraintValueIl, 25806 GeoMatchConstraintValueIt, 25807 GeoMatchConstraintValueJm, 25808 GeoMatchConstraintValueJp, 25809 GeoMatchConstraintValueJe, 25810 GeoMatchConstraintValueJo, 25811 GeoMatchConstraintValueKz, 25812 GeoMatchConstraintValueKe, 25813 GeoMatchConstraintValueKi, 25814 GeoMatchConstraintValueKp, 25815 GeoMatchConstraintValueKr, 25816 GeoMatchConstraintValueKw, 25817 GeoMatchConstraintValueKg, 25818 GeoMatchConstraintValueLa, 25819 GeoMatchConstraintValueLv, 25820 GeoMatchConstraintValueLb, 25821 GeoMatchConstraintValueLs, 25822 GeoMatchConstraintValueLr, 25823 GeoMatchConstraintValueLy, 25824 GeoMatchConstraintValueLi, 25825 GeoMatchConstraintValueLt, 25826 GeoMatchConstraintValueLu, 25827 GeoMatchConstraintValueMo, 25828 GeoMatchConstraintValueMk, 25829 GeoMatchConstraintValueMg, 25830 GeoMatchConstraintValueMw, 25831 GeoMatchConstraintValueMy, 25832 GeoMatchConstraintValueMv, 25833 GeoMatchConstraintValueMl, 25834 GeoMatchConstraintValueMt, 25835 GeoMatchConstraintValueMh, 25836 GeoMatchConstraintValueMq, 25837 GeoMatchConstraintValueMr, 25838 GeoMatchConstraintValueMu, 25839 GeoMatchConstraintValueYt, 25840 GeoMatchConstraintValueMx, 25841 GeoMatchConstraintValueFm, 25842 GeoMatchConstraintValueMd, 25843 GeoMatchConstraintValueMc, 25844 GeoMatchConstraintValueMn, 25845 GeoMatchConstraintValueMe, 25846 GeoMatchConstraintValueMs, 25847 GeoMatchConstraintValueMa, 25848 GeoMatchConstraintValueMz, 25849 GeoMatchConstraintValueMm, 25850 GeoMatchConstraintValueNa, 25851 GeoMatchConstraintValueNr, 25852 GeoMatchConstraintValueNp, 25853 GeoMatchConstraintValueNl, 25854 GeoMatchConstraintValueNc, 25855 GeoMatchConstraintValueNz, 25856 GeoMatchConstraintValueNi, 25857 GeoMatchConstraintValueNe, 25858 GeoMatchConstraintValueNg, 25859 GeoMatchConstraintValueNu, 25860 GeoMatchConstraintValueNf, 25861 GeoMatchConstraintValueMp, 25862 GeoMatchConstraintValueNo, 25863 GeoMatchConstraintValueOm, 25864 GeoMatchConstraintValuePk, 25865 GeoMatchConstraintValuePw, 25866 GeoMatchConstraintValuePs, 25867 GeoMatchConstraintValuePa, 25868 GeoMatchConstraintValuePg, 25869 GeoMatchConstraintValuePy, 25870 GeoMatchConstraintValuePe, 25871 GeoMatchConstraintValuePh, 25872 GeoMatchConstraintValuePn, 25873 GeoMatchConstraintValuePl, 25874 GeoMatchConstraintValuePt, 25875 GeoMatchConstraintValuePr, 25876 GeoMatchConstraintValueQa, 25877 GeoMatchConstraintValueRe, 25878 GeoMatchConstraintValueRo, 25879 GeoMatchConstraintValueRu, 25880 GeoMatchConstraintValueRw, 25881 GeoMatchConstraintValueBl, 25882 GeoMatchConstraintValueSh, 25883 GeoMatchConstraintValueKn, 25884 GeoMatchConstraintValueLc, 25885 GeoMatchConstraintValueMf, 25886 GeoMatchConstraintValuePm, 25887 GeoMatchConstraintValueVc, 25888 GeoMatchConstraintValueWs, 25889 GeoMatchConstraintValueSm, 25890 GeoMatchConstraintValueSt, 25891 GeoMatchConstraintValueSa, 25892 GeoMatchConstraintValueSn, 25893 GeoMatchConstraintValueRs, 25894 GeoMatchConstraintValueSc, 25895 GeoMatchConstraintValueSl, 25896 GeoMatchConstraintValueSg, 25897 GeoMatchConstraintValueSx, 25898 GeoMatchConstraintValueSk, 25899 GeoMatchConstraintValueSi, 25900 GeoMatchConstraintValueSb, 25901 GeoMatchConstraintValueSo, 25902 GeoMatchConstraintValueZa, 25903 GeoMatchConstraintValueGs, 25904 GeoMatchConstraintValueSs, 25905 GeoMatchConstraintValueEs, 25906 GeoMatchConstraintValueLk, 25907 GeoMatchConstraintValueSd, 25908 GeoMatchConstraintValueSr, 25909 GeoMatchConstraintValueSj, 25910 GeoMatchConstraintValueSz, 25911 GeoMatchConstraintValueSe, 25912 GeoMatchConstraintValueCh, 25913 GeoMatchConstraintValueSy, 25914 GeoMatchConstraintValueTw, 25915 GeoMatchConstraintValueTj, 25916 GeoMatchConstraintValueTz, 25917 GeoMatchConstraintValueTh, 25918 GeoMatchConstraintValueTl, 25919 GeoMatchConstraintValueTg, 25920 GeoMatchConstraintValueTk, 25921 GeoMatchConstraintValueTo, 25922 GeoMatchConstraintValueTt, 25923 GeoMatchConstraintValueTn, 25924 GeoMatchConstraintValueTr, 25925 GeoMatchConstraintValueTm, 25926 GeoMatchConstraintValueTc, 25927 GeoMatchConstraintValueTv, 25928 GeoMatchConstraintValueUg, 25929 GeoMatchConstraintValueUa, 25930 GeoMatchConstraintValueAe, 25931 GeoMatchConstraintValueGb, 25932 GeoMatchConstraintValueUs, 25933 GeoMatchConstraintValueUm, 25934 GeoMatchConstraintValueUy, 25935 GeoMatchConstraintValueUz, 25936 GeoMatchConstraintValueVu, 25937 GeoMatchConstraintValueVe, 25938 GeoMatchConstraintValueVn, 25939 GeoMatchConstraintValueVg, 25940 GeoMatchConstraintValueVi, 25941 GeoMatchConstraintValueWf, 25942 GeoMatchConstraintValueEh, 25943 GeoMatchConstraintValueYe, 25944 GeoMatchConstraintValueZm, 25945 GeoMatchConstraintValueZw, 25946 } 25947 } 25948 25949 const ( 25950 // IPSetDescriptorTypeIpv4 is a IPSetDescriptorType enum value 25951 IPSetDescriptorTypeIpv4 = "IPV4" 25952 25953 // IPSetDescriptorTypeIpv6 is a IPSetDescriptorType enum value 25954 IPSetDescriptorTypeIpv6 = "IPV6" 25955 ) 25956 25957 // IPSetDescriptorType_Values returns all elements of the IPSetDescriptorType enum 25958 func IPSetDescriptorType_Values() []string { 25959 return []string{ 25960 IPSetDescriptorTypeIpv4, 25961 IPSetDescriptorTypeIpv6, 25962 } 25963 } 25964 25965 const ( 25966 // MatchFieldTypeUri is a MatchFieldType enum value 25967 MatchFieldTypeUri = "URI" 25968 25969 // MatchFieldTypeQueryString is a MatchFieldType enum value 25970 MatchFieldTypeQueryString = "QUERY_STRING" 25971 25972 // MatchFieldTypeHeader is a MatchFieldType enum value 25973 MatchFieldTypeHeader = "HEADER" 25974 25975 // MatchFieldTypeMethod is a MatchFieldType enum value 25976 MatchFieldTypeMethod = "METHOD" 25977 25978 // MatchFieldTypeBody is a MatchFieldType enum value 25979 MatchFieldTypeBody = "BODY" 25980 25981 // MatchFieldTypeSingleQueryArg is a MatchFieldType enum value 25982 MatchFieldTypeSingleQueryArg = "SINGLE_QUERY_ARG" 25983 25984 // MatchFieldTypeAllQueryArgs is a MatchFieldType enum value 25985 MatchFieldTypeAllQueryArgs = "ALL_QUERY_ARGS" 25986 ) 25987 25988 // MatchFieldType_Values returns all elements of the MatchFieldType enum 25989 func MatchFieldType_Values() []string { 25990 return []string{ 25991 MatchFieldTypeUri, 25992 MatchFieldTypeQueryString, 25993 MatchFieldTypeHeader, 25994 MatchFieldTypeMethod, 25995 MatchFieldTypeBody, 25996 MatchFieldTypeSingleQueryArg, 25997 MatchFieldTypeAllQueryArgs, 25998 } 25999 } 26000 26001 const ( 26002 // MigrationErrorTypeEntityNotSupported is a MigrationErrorType enum value 26003 MigrationErrorTypeEntityNotSupported = "ENTITY_NOT_SUPPORTED" 26004 26005 // MigrationErrorTypeEntityNotFound is a MigrationErrorType enum value 26006 MigrationErrorTypeEntityNotFound = "ENTITY_NOT_FOUND" 26007 26008 // MigrationErrorTypeS3BucketNoPermission is a MigrationErrorType enum value 26009 MigrationErrorTypeS3BucketNoPermission = "S3_BUCKET_NO_PERMISSION" 26010 26011 // MigrationErrorTypeS3BucketNotAccessible is a MigrationErrorType enum value 26012 MigrationErrorTypeS3BucketNotAccessible = "S3_BUCKET_NOT_ACCESSIBLE" 26013 26014 // MigrationErrorTypeS3BucketNotFound is a MigrationErrorType enum value 26015 MigrationErrorTypeS3BucketNotFound = "S3_BUCKET_NOT_FOUND" 26016 26017 // MigrationErrorTypeS3BucketInvalidRegion is a MigrationErrorType enum value 26018 MigrationErrorTypeS3BucketInvalidRegion = "S3_BUCKET_INVALID_REGION" 26019 26020 // MigrationErrorTypeS3InternalError is a MigrationErrorType enum value 26021 MigrationErrorTypeS3InternalError = "S3_INTERNAL_ERROR" 26022 ) 26023 26024 // MigrationErrorType_Values returns all elements of the MigrationErrorType enum 26025 func MigrationErrorType_Values() []string { 26026 return []string{ 26027 MigrationErrorTypeEntityNotSupported, 26028 MigrationErrorTypeEntityNotFound, 26029 MigrationErrorTypeS3BucketNoPermission, 26030 MigrationErrorTypeS3BucketNotAccessible, 26031 MigrationErrorTypeS3BucketNotFound, 26032 MigrationErrorTypeS3BucketInvalidRegion, 26033 MigrationErrorTypeS3InternalError, 26034 } 26035 } 26036 26037 const ( 26038 // ParameterExceptionFieldChangeAction is a ParameterExceptionField enum value 26039 ParameterExceptionFieldChangeAction = "CHANGE_ACTION" 26040 26041 // ParameterExceptionFieldWafAction is a ParameterExceptionField enum value 26042 ParameterExceptionFieldWafAction = "WAF_ACTION" 26043 26044 // ParameterExceptionFieldWafOverrideAction is a ParameterExceptionField enum value 26045 ParameterExceptionFieldWafOverrideAction = "WAF_OVERRIDE_ACTION" 26046 26047 // ParameterExceptionFieldPredicateType is a ParameterExceptionField enum value 26048 ParameterExceptionFieldPredicateType = "PREDICATE_TYPE" 26049 26050 // ParameterExceptionFieldIpsetType is a ParameterExceptionField enum value 26051 ParameterExceptionFieldIpsetType = "IPSET_TYPE" 26052 26053 // ParameterExceptionFieldByteMatchFieldType is a ParameterExceptionField enum value 26054 ParameterExceptionFieldByteMatchFieldType = "BYTE_MATCH_FIELD_TYPE" 26055 26056 // ParameterExceptionFieldSqlInjectionMatchFieldType is a ParameterExceptionField enum value 26057 ParameterExceptionFieldSqlInjectionMatchFieldType = "SQL_INJECTION_MATCH_FIELD_TYPE" 26058 26059 // ParameterExceptionFieldByteMatchTextTransformation is a ParameterExceptionField enum value 26060 ParameterExceptionFieldByteMatchTextTransformation = "BYTE_MATCH_TEXT_TRANSFORMATION" 26061 26062 // ParameterExceptionFieldByteMatchPositionalConstraint is a ParameterExceptionField enum value 26063 ParameterExceptionFieldByteMatchPositionalConstraint = "BYTE_MATCH_POSITIONAL_CONSTRAINT" 26064 26065 // ParameterExceptionFieldSizeConstraintComparisonOperator is a ParameterExceptionField enum value 26066 ParameterExceptionFieldSizeConstraintComparisonOperator = "SIZE_CONSTRAINT_COMPARISON_OPERATOR" 26067 26068 // ParameterExceptionFieldGeoMatchLocationType is a ParameterExceptionField enum value 26069 ParameterExceptionFieldGeoMatchLocationType = "GEO_MATCH_LOCATION_TYPE" 26070 26071 // ParameterExceptionFieldGeoMatchLocationValue is a ParameterExceptionField enum value 26072 ParameterExceptionFieldGeoMatchLocationValue = "GEO_MATCH_LOCATION_VALUE" 26073 26074 // ParameterExceptionFieldRateKey is a ParameterExceptionField enum value 26075 ParameterExceptionFieldRateKey = "RATE_KEY" 26076 26077 // ParameterExceptionFieldRuleType is a ParameterExceptionField enum value 26078 ParameterExceptionFieldRuleType = "RULE_TYPE" 26079 26080 // ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value 26081 ParameterExceptionFieldNextMarker = "NEXT_MARKER" 26082 26083 // ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value 26084 ParameterExceptionFieldResourceArn = "RESOURCE_ARN" 26085 26086 // ParameterExceptionFieldTags is a ParameterExceptionField enum value 26087 ParameterExceptionFieldTags = "TAGS" 26088 26089 // ParameterExceptionFieldTagKeys is a ParameterExceptionField enum value 26090 ParameterExceptionFieldTagKeys = "TAG_KEYS" 26091 ) 26092 26093 // ParameterExceptionField_Values returns all elements of the ParameterExceptionField enum 26094 func ParameterExceptionField_Values() []string { 26095 return []string{ 26096 ParameterExceptionFieldChangeAction, 26097 ParameterExceptionFieldWafAction, 26098 ParameterExceptionFieldWafOverrideAction, 26099 ParameterExceptionFieldPredicateType, 26100 ParameterExceptionFieldIpsetType, 26101 ParameterExceptionFieldByteMatchFieldType, 26102 ParameterExceptionFieldSqlInjectionMatchFieldType, 26103 ParameterExceptionFieldByteMatchTextTransformation, 26104 ParameterExceptionFieldByteMatchPositionalConstraint, 26105 ParameterExceptionFieldSizeConstraintComparisonOperator, 26106 ParameterExceptionFieldGeoMatchLocationType, 26107 ParameterExceptionFieldGeoMatchLocationValue, 26108 ParameterExceptionFieldRateKey, 26109 ParameterExceptionFieldRuleType, 26110 ParameterExceptionFieldNextMarker, 26111 ParameterExceptionFieldResourceArn, 26112 ParameterExceptionFieldTags, 26113 ParameterExceptionFieldTagKeys, 26114 } 26115 } 26116 26117 const ( 26118 // ParameterExceptionReasonInvalidOption is a ParameterExceptionReason enum value 26119 ParameterExceptionReasonInvalidOption = "INVALID_OPTION" 26120 26121 // ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value 26122 ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION" 26123 26124 // ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value 26125 ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT" 26126 26127 // ParameterExceptionReasonInvalidTagKey is a ParameterExceptionReason enum value 26128 ParameterExceptionReasonInvalidTagKey = "INVALID_TAG_KEY" 26129 ) 26130 26131 // ParameterExceptionReason_Values returns all elements of the ParameterExceptionReason enum 26132 func ParameterExceptionReason_Values() []string { 26133 return []string{ 26134 ParameterExceptionReasonInvalidOption, 26135 ParameterExceptionReasonIllegalCombination, 26136 ParameterExceptionReasonIllegalArgument, 26137 ParameterExceptionReasonInvalidTagKey, 26138 } 26139 } 26140 26141 const ( 26142 // PositionalConstraintExactly is a PositionalConstraint enum value 26143 PositionalConstraintExactly = "EXACTLY" 26144 26145 // PositionalConstraintStartsWith is a PositionalConstraint enum value 26146 PositionalConstraintStartsWith = "STARTS_WITH" 26147 26148 // PositionalConstraintEndsWith is a PositionalConstraint enum value 26149 PositionalConstraintEndsWith = "ENDS_WITH" 26150 26151 // PositionalConstraintContains is a PositionalConstraint enum value 26152 PositionalConstraintContains = "CONTAINS" 26153 26154 // PositionalConstraintContainsWord is a PositionalConstraint enum value 26155 PositionalConstraintContainsWord = "CONTAINS_WORD" 26156 ) 26157 26158 // PositionalConstraint_Values returns all elements of the PositionalConstraint enum 26159 func PositionalConstraint_Values() []string { 26160 return []string{ 26161 PositionalConstraintExactly, 26162 PositionalConstraintStartsWith, 26163 PositionalConstraintEndsWith, 26164 PositionalConstraintContains, 26165 PositionalConstraintContainsWord, 26166 } 26167 } 26168 26169 const ( 26170 // PredicateTypeIpmatch is a PredicateType enum value 26171 PredicateTypeIpmatch = "IPMatch" 26172 26173 // PredicateTypeByteMatch is a PredicateType enum value 26174 PredicateTypeByteMatch = "ByteMatch" 26175 26176 // PredicateTypeSqlInjectionMatch is a PredicateType enum value 26177 PredicateTypeSqlInjectionMatch = "SqlInjectionMatch" 26178 26179 // PredicateTypeGeoMatch is a PredicateType enum value 26180 PredicateTypeGeoMatch = "GeoMatch" 26181 26182 // PredicateTypeSizeConstraint is a PredicateType enum value 26183 PredicateTypeSizeConstraint = "SizeConstraint" 26184 26185 // PredicateTypeXssMatch is a PredicateType enum value 26186 PredicateTypeXssMatch = "XssMatch" 26187 26188 // PredicateTypeRegexMatch is a PredicateType enum value 26189 PredicateTypeRegexMatch = "RegexMatch" 26190 ) 26191 26192 // PredicateType_Values returns all elements of the PredicateType enum 26193 func PredicateType_Values() []string { 26194 return []string{ 26195 PredicateTypeIpmatch, 26196 PredicateTypeByteMatch, 26197 PredicateTypeSqlInjectionMatch, 26198 PredicateTypeGeoMatch, 26199 PredicateTypeSizeConstraint, 26200 PredicateTypeXssMatch, 26201 PredicateTypeRegexMatch, 26202 } 26203 } 26204 26205 const ( 26206 // RateKeyIp is a RateKey enum value 26207 RateKeyIp = "IP" 26208 ) 26209 26210 // RateKey_Values returns all elements of the RateKey enum 26211 func RateKey_Values() []string { 26212 return []string{ 26213 RateKeyIp, 26214 } 26215 } 26216 26217 const ( 26218 // TextTransformationNone is a TextTransformation enum value 26219 TextTransformationNone = "NONE" 26220 26221 // TextTransformationCompressWhiteSpace is a TextTransformation enum value 26222 TextTransformationCompressWhiteSpace = "COMPRESS_WHITE_SPACE" 26223 26224 // TextTransformationHtmlEntityDecode is a TextTransformation enum value 26225 TextTransformationHtmlEntityDecode = "HTML_ENTITY_DECODE" 26226 26227 // TextTransformationLowercase is a TextTransformation enum value 26228 TextTransformationLowercase = "LOWERCASE" 26229 26230 // TextTransformationCmdLine is a TextTransformation enum value 26231 TextTransformationCmdLine = "CMD_LINE" 26232 26233 // TextTransformationUrlDecode is a TextTransformation enum value 26234 TextTransformationUrlDecode = "URL_DECODE" 26235 ) 26236 26237 // TextTransformation_Values returns all elements of the TextTransformation enum 26238 func TextTransformation_Values() []string { 26239 return []string{ 26240 TextTransformationNone, 26241 TextTransformationCompressWhiteSpace, 26242 TextTransformationHtmlEntityDecode, 26243 TextTransformationLowercase, 26244 TextTransformationCmdLine, 26245 TextTransformationUrlDecode, 26246 } 26247 } 26248 26249 const ( 26250 // WafActionTypeBlock is a WafActionType enum value 26251 WafActionTypeBlock = "BLOCK" 26252 26253 // WafActionTypeAllow is a WafActionType enum value 26254 WafActionTypeAllow = "ALLOW" 26255 26256 // WafActionTypeCount is a WafActionType enum value 26257 WafActionTypeCount = "COUNT" 26258 ) 26259 26260 // WafActionType_Values returns all elements of the WafActionType enum 26261 func WafActionType_Values() []string { 26262 return []string{ 26263 WafActionTypeBlock, 26264 WafActionTypeAllow, 26265 WafActionTypeCount, 26266 } 26267 } 26268 26269 const ( 26270 // WafOverrideActionTypeNone is a WafOverrideActionType enum value 26271 WafOverrideActionTypeNone = "NONE" 26272 26273 // WafOverrideActionTypeCount is a WafOverrideActionType enum value 26274 WafOverrideActionTypeCount = "COUNT" 26275 ) 26276 26277 // WafOverrideActionType_Values returns all elements of the WafOverrideActionType enum 26278 func WafOverrideActionType_Values() []string { 26279 return []string{ 26280 WafOverrideActionTypeNone, 26281 WafOverrideActionTypeCount, 26282 } 26283 } 26284 26285 const ( 26286 // WafRuleTypeRegular is a WafRuleType enum value 26287 WafRuleTypeRegular = "REGULAR" 26288 26289 // WafRuleTypeRateBased is a WafRuleType enum value 26290 WafRuleTypeRateBased = "RATE_BASED" 26291 26292 // WafRuleTypeGroup is a WafRuleType enum value 26293 WafRuleTypeGroup = "GROUP" 26294 ) 26295 26296 // WafRuleType_Values returns all elements of the WafRuleType enum 26297 func WafRuleType_Values() []string { 26298 return []string{ 26299 WafRuleTypeRegular, 26300 WafRuleTypeRateBased, 26301 WafRuleTypeGroup, 26302 } 26303 }