github.com/aavshr/aws-sdk-go@v1.41.3/service/wafregional/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package wafregional
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    13  	"github.com/aavshr/aws-sdk-go/service/waf"
    14  )
    15  
    16  const opAssociateWebACL = "AssociateWebACL"
    17  
    18  // AssociateWebACLRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateWebACL operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateWebACL for more information on using the AssociateWebACL
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateWebACLRequest method.
    34  //    req, resp := client.AssociateWebACLRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/AssociateWebACL
    42  func (c *WAFRegional) AssociateWebACLRequest(input *AssociateWebACLInput) (req *request.Request, output *AssociateWebACLOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateWebACL,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateWebACLInput{}
    51  	}
    52  
    53  	output = &AssociateWebACLOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateWebACL API operation for AWS WAF Regional.
    60  //
    61  //
    62  // This is AWS WAF Classic Regional documentation. For more information, see
    63  // AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
    64  // in the developer guide.
    65  //
    66  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
    67  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
    68  // With the latest version, AWS WAF has a single set of endpoints for regional
    69  // and global use.
    70  //
    71  // Associates a web ACL with a resource, either an application load balancer
    72  // or Amazon API Gateway stage.
    73  //
    74  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    75  // with awserr.Error's Code and Message methods to get detailed information about
    76  // the error.
    77  //
    78  // See the AWS API reference guide for AWS WAF Regional's
    79  // API operation AssociateWebACL for usage and error information.
    80  //
    81  // Returned Error Types:
    82  //   * WAFInternalErrorException
    83  //   The operation failed because of a system problem, even though the request
    84  //   was valid. Retry your request.
    85  //
    86  //   * WAFInvalidAccountException
    87  //   The operation failed because you tried to create, update, or delete an object
    88  //   by using an invalid account identifier.
    89  //
    90  //   * WAFInvalidParameterException
    91  //   The operation failed because AWS WAF didn't recognize a parameter in the
    92  //   request. For example:
    93  //
    94  //      * You specified an invalid parameter name.
    95  //
    96  //      * You specified an invalid value.
    97  //
    98  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
    99  //      using an action other than INSERT or DELETE.
   100  //
   101  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
   102  //      BLOCK, or COUNT.
   103  //
   104  //      * You tried to create a RateBasedRule with a RateKey value other than
   105  //      IP.
   106  //
   107  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
   108  //      BLOCK, or COUNT.
   109  //
   110  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
   111  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
   112  //
   113  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
   114  //      for Data.
   115  //
   116  //      * Your request references an ARN that is malformed, or corresponds to
   117  //      a resource with which a web ACL cannot be associated.
   118  //
   119  //   * WAFNonexistentItemException
   120  //   The operation failed because the referenced object doesn't exist.
   121  //
   122  //   * WAFUnavailableEntityException
   123  //   The operation failed because the entity referenced is temporarily unavailable.
   124  //   Retry your request.
   125  //
   126  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/AssociateWebACL
   127  func (c *WAFRegional) AssociateWebACL(input *AssociateWebACLInput) (*AssociateWebACLOutput, error) {
   128  	req, out := c.AssociateWebACLRequest(input)
   129  	return out, req.Send()
   130  }
   131  
   132  // AssociateWebACLWithContext is the same as AssociateWebACL with the addition of
   133  // the ability to pass a context and additional request options.
   134  //
   135  // See AssociateWebACL for details on how to use this API operation.
   136  //
   137  // The context must be non-nil and will be used for request cancellation. If
   138  // the context is nil a panic will occur. In the future the SDK may create
   139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   140  // for more information on using Contexts.
   141  func (c *WAFRegional) AssociateWebACLWithContext(ctx aws.Context, input *AssociateWebACLInput, opts ...request.Option) (*AssociateWebACLOutput, error) {
   142  	req, out := c.AssociateWebACLRequest(input)
   143  	req.SetContext(ctx)
   144  	req.ApplyOptions(opts...)
   145  	return out, req.Send()
   146  }
   147  
   148  const opCreateByteMatchSet = "CreateByteMatchSet"
   149  
   150  // CreateByteMatchSetRequest generates a "aws/request.Request" representing the
   151  // client's request for the CreateByteMatchSet operation. The "output" return
   152  // value will be populated with the request's response once the request completes
   153  // successfully.
   154  //
   155  // Use "Send" method on the returned Request to send the API call to the service.
   156  // the "output" return value is not valid until after Send returns without error.
   157  //
   158  // See CreateByteMatchSet for more information on using the CreateByteMatchSet
   159  // API call, and error handling.
   160  //
   161  // This method is useful when you want to inject custom logic or configuration
   162  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   163  //
   164  //
   165  //    // Example sending a request using the CreateByteMatchSetRequest method.
   166  //    req, resp := client.CreateByteMatchSetRequest(params)
   167  //
   168  //    err := req.Send()
   169  //    if err == nil { // resp is now filled
   170  //        fmt.Println(resp)
   171  //    }
   172  //
   173  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet
   174  func (c *WAFRegional) CreateByteMatchSetRequest(input *waf.CreateByteMatchSetInput) (req *request.Request, output *waf.CreateByteMatchSetOutput) {
   175  	op := &request.Operation{
   176  		Name:       opCreateByteMatchSet,
   177  		HTTPMethod: "POST",
   178  		HTTPPath:   "/",
   179  	}
   180  
   181  	if input == nil {
   182  		input = &waf.CreateByteMatchSetInput{}
   183  	}
   184  
   185  	output = &waf.CreateByteMatchSetOutput{}
   186  	req = c.newRequest(op, input, output)
   187  	return
   188  }
   189  
   190  // CreateByteMatchSet API operation for AWS WAF Regional.
   191  //
   192  //
   193  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   194  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   195  // in the developer guide.
   196  //
   197  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   198  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   199  // With the latest version, AWS WAF has a single set of endpoints for regional
   200  // and global use.
   201  //
   202  // Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part
   203  // of a web request that you want AWS WAF to inspect, such as the values of
   204  // the User-Agent header or the query string. For example, you can create a
   205  // ByteMatchSet that matches any requests with User-Agent headers that contain
   206  // the string BadBot. You can then configure AWS WAF to reject those requests.
   207  //
   208  // To create and configure a ByteMatchSet, perform the following steps:
   209  //
   210  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   211  // parameter of a CreateByteMatchSet request.
   212  //
   213  // Submit a CreateByteMatchSet request.
   214  //
   215  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   216  // parameter of an UpdateByteMatchSet request.
   217  //
   218  // Submit an UpdateByteMatchSet request to specify the part of the request that
   219  // you want AWS WAF to inspect (for example, the header or the URI) and the
   220  // value that you want AWS WAF to watch for.
   221  //
   222  // For more information about how to use the AWS WAF API to allow or block HTTP
   223  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
   224  //
   225  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   226  // with awserr.Error's Code and Message methods to get detailed information about
   227  // the error.
   228  //
   229  // See the AWS API reference guide for AWS WAF Regional's
   230  // API operation CreateByteMatchSet for usage and error information.
   231  //
   232  // Returned Error Types:
   233  //   * WAFDisallowedNameException
   234  //   The name specified is invalid.
   235  //
   236  //   * WAFInternalErrorException
   237  //   The operation failed because of a system problem, even though the request
   238  //   was valid. Retry your request.
   239  //
   240  //   * WAFInvalidAccountException
   241  //   The operation failed because you tried to create, update, or delete an object
   242  //   by using an invalid account identifier.
   243  //
   244  //   * WAFInvalidParameterException
   245  //   The operation failed because AWS WAF didn't recognize a parameter in the
   246  //   request. For example:
   247  //
   248  //      * You specified an invalid parameter name.
   249  //
   250  //      * You specified an invalid value.
   251  //
   252  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
   253  //      using an action other than INSERT or DELETE.
   254  //
   255  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
   256  //      BLOCK, or COUNT.
   257  //
   258  //      * You tried to create a RateBasedRule with a RateKey value other than
   259  //      IP.
   260  //
   261  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
   262  //      BLOCK, or COUNT.
   263  //
   264  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
   265  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
   266  //
   267  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
   268  //      for Data.
   269  //
   270  //      * Your request references an ARN that is malformed, or corresponds to
   271  //      a resource with which a web ACL cannot be associated.
   272  //
   273  //   * WAFStaleDataException
   274  //   The operation failed because you tried to create, update, or delete an object
   275  //   by using a change token that has already been used.
   276  //
   277  //   * WAFLimitsExceededException
   278  //   The operation exceeds a resource limit, for example, the maximum number of
   279  //   WebACL objects that you can create for an AWS account. For more information,
   280  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
   281  //   in the AWS WAF Developer Guide.
   282  //
   283  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateByteMatchSet
   284  func (c *WAFRegional) CreateByteMatchSet(input *waf.CreateByteMatchSetInput) (*waf.CreateByteMatchSetOutput, error) {
   285  	req, out := c.CreateByteMatchSetRequest(input)
   286  	return out, req.Send()
   287  }
   288  
   289  // CreateByteMatchSetWithContext is the same as CreateByteMatchSet with the addition of
   290  // the ability to pass a context and additional request options.
   291  //
   292  // See CreateByteMatchSet for details on how to use this API operation.
   293  //
   294  // The context must be non-nil and will be used for request cancellation. If
   295  // the context is nil a panic will occur. In the future the SDK may create
   296  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   297  // for more information on using Contexts.
   298  func (c *WAFRegional) CreateByteMatchSetWithContext(ctx aws.Context, input *waf.CreateByteMatchSetInput, opts ...request.Option) (*waf.CreateByteMatchSetOutput, error) {
   299  	req, out := c.CreateByteMatchSetRequest(input)
   300  	req.SetContext(ctx)
   301  	req.ApplyOptions(opts...)
   302  	return out, req.Send()
   303  }
   304  
   305  const opCreateGeoMatchSet = "CreateGeoMatchSet"
   306  
   307  // CreateGeoMatchSetRequest generates a "aws/request.Request" representing the
   308  // client's request for the CreateGeoMatchSet operation. The "output" return
   309  // value will be populated with the request's response once the request completes
   310  // successfully.
   311  //
   312  // Use "Send" method on the returned Request to send the API call to the service.
   313  // the "output" return value is not valid until after Send returns without error.
   314  //
   315  // See CreateGeoMatchSet for more information on using the CreateGeoMatchSet
   316  // API call, and error handling.
   317  //
   318  // This method is useful when you want to inject custom logic or configuration
   319  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   320  //
   321  //
   322  //    // Example sending a request using the CreateGeoMatchSetRequest method.
   323  //    req, resp := client.CreateGeoMatchSetRequest(params)
   324  //
   325  //    err := req.Send()
   326  //    if err == nil { // resp is now filled
   327  //        fmt.Println(resp)
   328  //    }
   329  //
   330  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet
   331  func (c *WAFRegional) CreateGeoMatchSetRequest(input *waf.CreateGeoMatchSetInput) (req *request.Request, output *waf.CreateGeoMatchSetOutput) {
   332  	op := &request.Operation{
   333  		Name:       opCreateGeoMatchSet,
   334  		HTTPMethod: "POST",
   335  		HTTPPath:   "/",
   336  	}
   337  
   338  	if input == nil {
   339  		input = &waf.CreateGeoMatchSetInput{}
   340  	}
   341  
   342  	output = &waf.CreateGeoMatchSetOutput{}
   343  	req = c.newRequest(op, input, output)
   344  	return
   345  }
   346  
   347  // CreateGeoMatchSet API operation for AWS WAF Regional.
   348  //
   349  //
   350  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   351  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   352  // in the developer guide.
   353  //
   354  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   355  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   356  // With the latest version, AWS WAF has a single set of endpoints for regional
   357  // and global use.
   358  //
   359  // Creates an GeoMatchSet, which you use to specify which web requests you want
   360  // to allow or block based on the country that the requests originate from.
   361  // For example, if you're receiving a lot of requests from one or more countries
   362  // and you want to block the requests, you can create an GeoMatchSet that contains
   363  // those countries and then configure AWS WAF to block the requests.
   364  //
   365  // To create and configure a GeoMatchSet, perform the following steps:
   366  //
   367  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   368  // parameter of a CreateGeoMatchSet request.
   369  //
   370  // Submit a CreateGeoMatchSet request.
   371  //
   372  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   373  // parameter of an UpdateGeoMatchSet request.
   374  //
   375  // Submit an UpdateGeoMatchSetSet request to specify the countries that you
   376  // want AWS WAF to watch for.
   377  //
   378  // For more information about how to use the AWS WAF API to allow or block HTTP
   379  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
   380  //
   381  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   382  // with awserr.Error's Code and Message methods to get detailed information about
   383  // the error.
   384  //
   385  // See the AWS API reference guide for AWS WAF Regional's
   386  // API operation CreateGeoMatchSet for usage and error information.
   387  //
   388  // Returned Error Types:
   389  //   * WAFStaleDataException
   390  //   The operation failed because you tried to create, update, or delete an object
   391  //   by using a change token that has already been used.
   392  //
   393  //   * WAFInternalErrorException
   394  //   The operation failed because of a system problem, even though the request
   395  //   was valid. Retry your request.
   396  //
   397  //   * WAFInvalidAccountException
   398  //   The operation failed because you tried to create, update, or delete an object
   399  //   by using an invalid account identifier.
   400  //
   401  //   * WAFDisallowedNameException
   402  //   The name specified is invalid.
   403  //
   404  //   * WAFInvalidParameterException
   405  //   The operation failed because AWS WAF didn't recognize a parameter in the
   406  //   request. For example:
   407  //
   408  //      * You specified an invalid parameter name.
   409  //
   410  //      * You specified an invalid value.
   411  //
   412  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
   413  //      using an action other than INSERT or DELETE.
   414  //
   415  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
   416  //      BLOCK, or COUNT.
   417  //
   418  //      * You tried to create a RateBasedRule with a RateKey value other than
   419  //      IP.
   420  //
   421  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
   422  //      BLOCK, or COUNT.
   423  //
   424  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
   425  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
   426  //
   427  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
   428  //      for Data.
   429  //
   430  //      * Your request references an ARN that is malformed, or corresponds to
   431  //      a resource with which a web ACL cannot be associated.
   432  //
   433  //   * WAFLimitsExceededException
   434  //   The operation exceeds a resource limit, for example, the maximum number of
   435  //   WebACL objects that you can create for an AWS account. For more information,
   436  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
   437  //   in the AWS WAF Developer Guide.
   438  //
   439  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet
   440  func (c *WAFRegional) CreateGeoMatchSet(input *waf.CreateGeoMatchSetInput) (*waf.CreateGeoMatchSetOutput, error) {
   441  	req, out := c.CreateGeoMatchSetRequest(input)
   442  	return out, req.Send()
   443  }
   444  
   445  // CreateGeoMatchSetWithContext is the same as CreateGeoMatchSet with the addition of
   446  // the ability to pass a context and additional request options.
   447  //
   448  // See CreateGeoMatchSet for details on how to use this API operation.
   449  //
   450  // The context must be non-nil and will be used for request cancellation. If
   451  // the context is nil a panic will occur. In the future the SDK may create
   452  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   453  // for more information on using Contexts.
   454  func (c *WAFRegional) CreateGeoMatchSetWithContext(ctx aws.Context, input *waf.CreateGeoMatchSetInput, opts ...request.Option) (*waf.CreateGeoMatchSetOutput, error) {
   455  	req, out := c.CreateGeoMatchSetRequest(input)
   456  	req.SetContext(ctx)
   457  	req.ApplyOptions(opts...)
   458  	return out, req.Send()
   459  }
   460  
   461  const opCreateIPSet = "CreateIPSet"
   462  
   463  // CreateIPSetRequest generates a "aws/request.Request" representing the
   464  // client's request for the CreateIPSet operation. The "output" return
   465  // value will be populated with the request's response once the request completes
   466  // successfully.
   467  //
   468  // Use "Send" method on the returned Request to send the API call to the service.
   469  // the "output" return value is not valid until after Send returns without error.
   470  //
   471  // See CreateIPSet for more information on using the CreateIPSet
   472  // API call, and error handling.
   473  //
   474  // This method is useful when you want to inject custom logic or configuration
   475  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   476  //
   477  //
   478  //    // Example sending a request using the CreateIPSetRequest method.
   479  //    req, resp := client.CreateIPSetRequest(params)
   480  //
   481  //    err := req.Send()
   482  //    if err == nil { // resp is now filled
   483  //        fmt.Println(resp)
   484  //    }
   485  //
   486  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet
   487  func (c *WAFRegional) CreateIPSetRequest(input *waf.CreateIPSetInput) (req *request.Request, output *waf.CreateIPSetOutput) {
   488  	op := &request.Operation{
   489  		Name:       opCreateIPSet,
   490  		HTTPMethod: "POST",
   491  		HTTPPath:   "/",
   492  	}
   493  
   494  	if input == nil {
   495  		input = &waf.CreateIPSetInput{}
   496  	}
   497  
   498  	output = &waf.CreateIPSetOutput{}
   499  	req = c.newRequest(op, input, output)
   500  	return
   501  }
   502  
   503  // CreateIPSet API operation for AWS WAF Regional.
   504  //
   505  //
   506  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   507  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   508  // in the developer guide.
   509  //
   510  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   511  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   512  // With the latest version, AWS WAF has a single set of endpoints for regional
   513  // and global use.
   514  //
   515  // Creates an IPSet, which you use to specify which web requests that you want
   516  // to allow or block based on the IP addresses that the requests originate from.
   517  // For example, if you're receiving a lot of requests from one or more individual
   518  // IP addresses or one or more ranges of IP addresses and you want to block
   519  // the requests, you can create an IPSet that contains those IP addresses and
   520  // then configure AWS WAF to block the requests.
   521  //
   522  // To create and configure an IPSet, perform the following steps:
   523  //
   524  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   525  // parameter of a CreateIPSet request.
   526  //
   527  // Submit a CreateIPSet request.
   528  //
   529  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   530  // parameter of an UpdateIPSet request.
   531  //
   532  // Submit an UpdateIPSet request to specify the IP addresses that you want AWS
   533  // WAF to watch for.
   534  //
   535  // For more information about how to use the AWS WAF API to allow or block HTTP
   536  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
   537  //
   538  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   539  // with awserr.Error's Code and Message methods to get detailed information about
   540  // the error.
   541  //
   542  // See the AWS API reference guide for AWS WAF Regional's
   543  // API operation CreateIPSet for usage and error information.
   544  //
   545  // Returned Error Types:
   546  //   * WAFStaleDataException
   547  //   The operation failed because you tried to create, update, or delete an object
   548  //   by using a change token that has already been used.
   549  //
   550  //   * WAFInternalErrorException
   551  //   The operation failed because of a system problem, even though the request
   552  //   was valid. Retry your request.
   553  //
   554  //   * WAFInvalidAccountException
   555  //   The operation failed because you tried to create, update, or delete an object
   556  //   by using an invalid account identifier.
   557  //
   558  //   * WAFDisallowedNameException
   559  //   The name specified is invalid.
   560  //
   561  //   * WAFInvalidParameterException
   562  //   The operation failed because AWS WAF didn't recognize a parameter in the
   563  //   request. For example:
   564  //
   565  //      * You specified an invalid parameter name.
   566  //
   567  //      * You specified an invalid value.
   568  //
   569  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
   570  //      using an action other than INSERT or DELETE.
   571  //
   572  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
   573  //      BLOCK, or COUNT.
   574  //
   575  //      * You tried to create a RateBasedRule with a RateKey value other than
   576  //      IP.
   577  //
   578  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
   579  //      BLOCK, or COUNT.
   580  //
   581  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
   582  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
   583  //
   584  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
   585  //      for Data.
   586  //
   587  //      * Your request references an ARN that is malformed, or corresponds to
   588  //      a resource with which a web ACL cannot be associated.
   589  //
   590  //   * WAFLimitsExceededException
   591  //   The operation exceeds a resource limit, for example, the maximum number of
   592  //   WebACL objects that you can create for an AWS account. For more information,
   593  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
   594  //   in the AWS WAF Developer Guide.
   595  //
   596  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateIPSet
   597  func (c *WAFRegional) CreateIPSet(input *waf.CreateIPSetInput) (*waf.CreateIPSetOutput, error) {
   598  	req, out := c.CreateIPSetRequest(input)
   599  	return out, req.Send()
   600  }
   601  
   602  // CreateIPSetWithContext is the same as CreateIPSet with the addition of
   603  // the ability to pass a context and additional request options.
   604  //
   605  // See CreateIPSet for details on how to use this API operation.
   606  //
   607  // The context must be non-nil and will be used for request cancellation. If
   608  // the context is nil a panic will occur. In the future the SDK may create
   609  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   610  // for more information on using Contexts.
   611  func (c *WAFRegional) CreateIPSetWithContext(ctx aws.Context, input *waf.CreateIPSetInput, opts ...request.Option) (*waf.CreateIPSetOutput, error) {
   612  	req, out := c.CreateIPSetRequest(input)
   613  	req.SetContext(ctx)
   614  	req.ApplyOptions(opts...)
   615  	return out, req.Send()
   616  }
   617  
   618  const opCreateRateBasedRule = "CreateRateBasedRule"
   619  
   620  // CreateRateBasedRuleRequest generates a "aws/request.Request" representing the
   621  // client's request for the CreateRateBasedRule operation. The "output" return
   622  // value will be populated with the request's response once the request completes
   623  // successfully.
   624  //
   625  // Use "Send" method on the returned Request to send the API call to the service.
   626  // the "output" return value is not valid until after Send returns without error.
   627  //
   628  // See CreateRateBasedRule for more information on using the CreateRateBasedRule
   629  // API call, and error handling.
   630  //
   631  // This method is useful when you want to inject custom logic or configuration
   632  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   633  //
   634  //
   635  //    // Example sending a request using the CreateRateBasedRuleRequest method.
   636  //    req, resp := client.CreateRateBasedRuleRequest(params)
   637  //
   638  //    err := req.Send()
   639  //    if err == nil { // resp is now filled
   640  //        fmt.Println(resp)
   641  //    }
   642  //
   643  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule
   644  func (c *WAFRegional) CreateRateBasedRuleRequest(input *waf.CreateRateBasedRuleInput) (req *request.Request, output *waf.CreateRateBasedRuleOutput) {
   645  	op := &request.Operation{
   646  		Name:       opCreateRateBasedRule,
   647  		HTTPMethod: "POST",
   648  		HTTPPath:   "/",
   649  	}
   650  
   651  	if input == nil {
   652  		input = &waf.CreateRateBasedRuleInput{}
   653  	}
   654  
   655  	output = &waf.CreateRateBasedRuleOutput{}
   656  	req = c.newRequest(op, input, output)
   657  	return
   658  }
   659  
   660  // CreateRateBasedRule API operation for AWS WAF Regional.
   661  //
   662  //
   663  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   664  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   665  // in the developer guide.
   666  //
   667  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   668  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   669  // With the latest version, AWS WAF has a single set of endpoints for regional
   670  // and global use.
   671  //
   672  // Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies
   673  // the maximum number of requests that AWS WAF allows from a specified IP address
   674  // in a five-minute period. The RateBasedRule also contains the IPSet objects,
   675  // ByteMatchSet objects, and other predicates that identify the requests that
   676  // you want to count or block if these requests exceed the RateLimit.
   677  //
   678  // If you add more than one predicate to a RateBasedRule, a request not only
   679  // must exceed the RateLimit, but it also must match all the conditions to be
   680  // counted or blocked. For example, suppose you add the following to a RateBasedRule:
   681  //
   682  //    * An IPSet that matches the IP address 192.0.2.44/32
   683  //
   684  //    * A ByteMatchSet that matches BadBot in the User-Agent header
   685  //
   686  // Further, you specify a RateLimit of 1,000.
   687  //
   688  // You then add the RateBasedRule to a WebACL and specify that you want to block
   689  // requests that meet the conditions in the rule. For a request to be blocked,
   690  // it must come from the IP address 192.0.2.44 and the User-Agent header in
   691  // the request must contain the value BadBot. Further, requests that match these
   692  // two conditions must be received at a rate of more than 1,000 requests every
   693  // five minutes. If both conditions are met and the rate is exceeded, AWS WAF
   694  // blocks the requests. If the rate drops below 1,000 for a five-minute period,
   695  // AWS WAF no longer blocks the requests.
   696  //
   697  // As a second example, suppose you want to limit requests to a particular page
   698  // on your site. To do this, you could add the following to a RateBasedRule:
   699  //
   700  //    * A ByteMatchSet with FieldToMatch of URI
   701  //
   702  //    * A PositionalConstraint of STARTS_WITH
   703  //
   704  //    * A TargetString of login
   705  //
   706  // Further, you specify a RateLimit of 1,000.
   707  //
   708  // By adding this RateBasedRule to a WebACL, you could limit requests to your
   709  // login page without affecting the rest of your site.
   710  //
   711  // To create and configure a RateBasedRule, perform the following steps:
   712  //
   713  // Create and update the predicates that you want to include in the rule. For
   714  // more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
   715  //
   716  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   717  // parameter of a CreateRule request.
   718  //
   719  // Submit a CreateRateBasedRule request.
   720  //
   721  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   722  // parameter of an UpdateRule request.
   723  //
   724  // Submit an UpdateRateBasedRule request to specify the predicates that you
   725  // want to include in the rule.
   726  //
   727  // Create and update a WebACL that contains the RateBasedRule. For more information,
   728  // see CreateWebACL.
   729  //
   730  // For more information about how to use the AWS WAF API to allow or block HTTP
   731  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
   732  //
   733  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   734  // with awserr.Error's Code and Message methods to get detailed information about
   735  // the error.
   736  //
   737  // See the AWS API reference guide for AWS WAF Regional's
   738  // API operation CreateRateBasedRule for usage and error information.
   739  //
   740  // Returned Error Types:
   741  //   * WAFStaleDataException
   742  //   The operation failed because you tried to create, update, or delete an object
   743  //   by using a change token that has already been used.
   744  //
   745  //   * WAFInternalErrorException
   746  //   The operation failed because of a system problem, even though the request
   747  //   was valid. Retry your request.
   748  //
   749  //   * WAFDisallowedNameException
   750  //   The name specified is invalid.
   751  //
   752  //   * WAFInvalidParameterException
   753  //   The operation failed because AWS WAF didn't recognize a parameter in the
   754  //   request. For example:
   755  //
   756  //      * You specified an invalid parameter name.
   757  //
   758  //      * You specified an invalid value.
   759  //
   760  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
   761  //      using an action other than INSERT or DELETE.
   762  //
   763  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
   764  //      BLOCK, or COUNT.
   765  //
   766  //      * You tried to create a RateBasedRule with a RateKey value other than
   767  //      IP.
   768  //
   769  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
   770  //      BLOCK, or COUNT.
   771  //
   772  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
   773  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
   774  //
   775  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
   776  //      for Data.
   777  //
   778  //      * Your request references an ARN that is malformed, or corresponds to
   779  //      a resource with which a web ACL cannot be associated.
   780  //
   781  //   * WAFLimitsExceededException
   782  //   The operation exceeds a resource limit, for example, the maximum number of
   783  //   WebACL objects that you can create for an AWS account. For more information,
   784  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
   785  //   in the AWS WAF Developer Guide.
   786  //
   787  //   * WAFTagOperationException
   788  //
   789  //   * WAFTagOperationInternalErrorException
   790  //
   791  //   * WAFBadRequestException
   792  //
   793  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRateBasedRule
   794  func (c *WAFRegional) CreateRateBasedRule(input *waf.CreateRateBasedRuleInput) (*waf.CreateRateBasedRuleOutput, error) {
   795  	req, out := c.CreateRateBasedRuleRequest(input)
   796  	return out, req.Send()
   797  }
   798  
   799  // CreateRateBasedRuleWithContext is the same as CreateRateBasedRule with the addition of
   800  // the ability to pass a context and additional request options.
   801  //
   802  // See CreateRateBasedRule for details on how to use this API operation.
   803  //
   804  // The context must be non-nil and will be used for request cancellation. If
   805  // the context is nil a panic will occur. In the future the SDK may create
   806  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   807  // for more information on using Contexts.
   808  func (c *WAFRegional) CreateRateBasedRuleWithContext(ctx aws.Context, input *waf.CreateRateBasedRuleInput, opts ...request.Option) (*waf.CreateRateBasedRuleOutput, error) {
   809  	req, out := c.CreateRateBasedRuleRequest(input)
   810  	req.SetContext(ctx)
   811  	req.ApplyOptions(opts...)
   812  	return out, req.Send()
   813  }
   814  
   815  const opCreateRegexMatchSet = "CreateRegexMatchSet"
   816  
   817  // CreateRegexMatchSetRequest generates a "aws/request.Request" representing the
   818  // client's request for the CreateRegexMatchSet operation. The "output" return
   819  // value will be populated with the request's response once the request completes
   820  // successfully.
   821  //
   822  // Use "Send" method on the returned Request to send the API call to the service.
   823  // the "output" return value is not valid until after Send returns without error.
   824  //
   825  // See CreateRegexMatchSet for more information on using the CreateRegexMatchSet
   826  // API call, and error handling.
   827  //
   828  // This method is useful when you want to inject custom logic or configuration
   829  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   830  //
   831  //
   832  //    // Example sending a request using the CreateRegexMatchSetRequest method.
   833  //    req, resp := client.CreateRegexMatchSetRequest(params)
   834  //
   835  //    err := req.Send()
   836  //    if err == nil { // resp is now filled
   837  //        fmt.Println(resp)
   838  //    }
   839  //
   840  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet
   841  func (c *WAFRegional) CreateRegexMatchSetRequest(input *waf.CreateRegexMatchSetInput) (req *request.Request, output *waf.CreateRegexMatchSetOutput) {
   842  	op := &request.Operation{
   843  		Name:       opCreateRegexMatchSet,
   844  		HTTPMethod: "POST",
   845  		HTTPPath:   "/",
   846  	}
   847  
   848  	if input == nil {
   849  		input = &waf.CreateRegexMatchSetInput{}
   850  	}
   851  
   852  	output = &waf.CreateRegexMatchSetOutput{}
   853  	req = c.newRequest(op, input, output)
   854  	return
   855  }
   856  
   857  // CreateRegexMatchSet API operation for AWS WAF Regional.
   858  //
   859  //
   860  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   861  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   862  // in the developer guide.
   863  //
   864  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   865  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   866  // With the latest version, AWS WAF has a single set of endpoints for regional
   867  // and global use.
   868  //
   869  // Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the
   870  // part of a web request that you want AWS WAF to inspect, such as the values
   871  // of the User-Agent header or the query string. For example, you can create
   872  // a RegexMatchSet that contains a RegexMatchTuple that looks for any requests
   873  // with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t.
   874  // You can then configure AWS WAF to reject those requests.
   875  //
   876  // To create and configure a RegexMatchSet, perform the following steps:
   877  //
   878  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   879  // parameter of a CreateRegexMatchSet request.
   880  //
   881  // Submit a CreateRegexMatchSet request.
   882  //
   883  // Use GetChangeToken to get the change token that you provide in the ChangeToken
   884  // parameter of an UpdateRegexMatchSet request.
   885  //
   886  // Submit an UpdateRegexMatchSet request to specify the part of the request
   887  // that you want AWS WAF to inspect (for example, the header or the URI) and
   888  // the value, using a RegexPatternSet, that you want AWS WAF to watch for.
   889  //
   890  // For more information about how to use the AWS WAF API to allow or block HTTP
   891  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
   892  //
   893  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   894  // with awserr.Error's Code and Message methods to get detailed information about
   895  // the error.
   896  //
   897  // See the AWS API reference guide for AWS WAF Regional's
   898  // API operation CreateRegexMatchSet for usage and error information.
   899  //
   900  // Returned Error Types:
   901  //   * WAFStaleDataException
   902  //   The operation failed because you tried to create, update, or delete an object
   903  //   by using a change token that has already been used.
   904  //
   905  //   * WAFInternalErrorException
   906  //   The operation failed because of a system problem, even though the request
   907  //   was valid. Retry your request.
   908  //
   909  //   * WAFDisallowedNameException
   910  //   The name specified is invalid.
   911  //
   912  //   * WAFLimitsExceededException
   913  //   The operation exceeds a resource limit, for example, the maximum number of
   914  //   WebACL objects that you can create for an AWS account. For more information,
   915  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
   916  //   in the AWS WAF Developer Guide.
   917  //
   918  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet
   919  func (c *WAFRegional) CreateRegexMatchSet(input *waf.CreateRegexMatchSetInput) (*waf.CreateRegexMatchSetOutput, error) {
   920  	req, out := c.CreateRegexMatchSetRequest(input)
   921  	return out, req.Send()
   922  }
   923  
   924  // CreateRegexMatchSetWithContext is the same as CreateRegexMatchSet with the addition of
   925  // the ability to pass a context and additional request options.
   926  //
   927  // See CreateRegexMatchSet for details on how to use this API operation.
   928  //
   929  // The context must be non-nil and will be used for request cancellation. If
   930  // the context is nil a panic will occur. In the future the SDK may create
   931  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   932  // for more information on using Contexts.
   933  func (c *WAFRegional) CreateRegexMatchSetWithContext(ctx aws.Context, input *waf.CreateRegexMatchSetInput, opts ...request.Option) (*waf.CreateRegexMatchSetOutput, error) {
   934  	req, out := c.CreateRegexMatchSetRequest(input)
   935  	req.SetContext(ctx)
   936  	req.ApplyOptions(opts...)
   937  	return out, req.Send()
   938  }
   939  
   940  const opCreateRegexPatternSet = "CreateRegexPatternSet"
   941  
   942  // CreateRegexPatternSetRequest generates a "aws/request.Request" representing the
   943  // client's request for the CreateRegexPatternSet operation. The "output" return
   944  // value will be populated with the request's response once the request completes
   945  // successfully.
   946  //
   947  // Use "Send" method on the returned Request to send the API call to the service.
   948  // the "output" return value is not valid until after Send returns without error.
   949  //
   950  // See CreateRegexPatternSet for more information on using the CreateRegexPatternSet
   951  // API call, and error handling.
   952  //
   953  // This method is useful when you want to inject custom logic or configuration
   954  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   955  //
   956  //
   957  //    // Example sending a request using the CreateRegexPatternSetRequest method.
   958  //    req, resp := client.CreateRegexPatternSetRequest(params)
   959  //
   960  //    err := req.Send()
   961  //    if err == nil { // resp is now filled
   962  //        fmt.Println(resp)
   963  //    }
   964  //
   965  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet
   966  func (c *WAFRegional) CreateRegexPatternSetRequest(input *waf.CreateRegexPatternSetInput) (req *request.Request, output *waf.CreateRegexPatternSetOutput) {
   967  	op := &request.Operation{
   968  		Name:       opCreateRegexPatternSet,
   969  		HTTPMethod: "POST",
   970  		HTTPPath:   "/",
   971  	}
   972  
   973  	if input == nil {
   974  		input = &waf.CreateRegexPatternSetInput{}
   975  	}
   976  
   977  	output = &waf.CreateRegexPatternSetOutput{}
   978  	req = c.newRequest(op, input, output)
   979  	return
   980  }
   981  
   982  // CreateRegexPatternSet API operation for AWS WAF Regional.
   983  //
   984  //
   985  // This is AWS WAF Classic documentation. For more information, see AWS WAF
   986  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
   987  // in the developer guide.
   988  //
   989  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
   990  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
   991  // With the latest version, AWS WAF has a single set of endpoints for regional
   992  // and global use.
   993  //
   994  // Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify
   995  // the regular expression (regex) pattern that you want AWS WAF to search for,
   996  // such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.
   997  //
   998  // To create and configure a RegexPatternSet, perform the following steps:
   999  //
  1000  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1001  // parameter of a CreateRegexPatternSet request.
  1002  //
  1003  // Submit a CreateRegexPatternSet request.
  1004  //
  1005  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1006  // parameter of an UpdateRegexPatternSet request.
  1007  //
  1008  // Submit an UpdateRegexPatternSet request to specify the string that you want
  1009  // AWS WAF to watch for.
  1010  //
  1011  // For more information about how to use the AWS WAF API to allow or block HTTP
  1012  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1013  //
  1014  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1015  // with awserr.Error's Code and Message methods to get detailed information about
  1016  // the error.
  1017  //
  1018  // See the AWS API reference guide for AWS WAF Regional's
  1019  // API operation CreateRegexPatternSet for usage and error information.
  1020  //
  1021  // Returned Error Types:
  1022  //   * WAFStaleDataException
  1023  //   The operation failed because you tried to create, update, or delete an object
  1024  //   by using a change token that has already been used.
  1025  //
  1026  //   * WAFInternalErrorException
  1027  //   The operation failed because of a system problem, even though the request
  1028  //   was valid. Retry your request.
  1029  //
  1030  //   * WAFDisallowedNameException
  1031  //   The name specified is invalid.
  1032  //
  1033  //   * WAFLimitsExceededException
  1034  //   The operation exceeds a resource limit, for example, the maximum number of
  1035  //   WebACL objects that you can create for an AWS account. For more information,
  1036  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1037  //   in the AWS WAF Developer Guide.
  1038  //
  1039  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet
  1040  func (c *WAFRegional) CreateRegexPatternSet(input *waf.CreateRegexPatternSetInput) (*waf.CreateRegexPatternSetOutput, error) {
  1041  	req, out := c.CreateRegexPatternSetRequest(input)
  1042  	return out, req.Send()
  1043  }
  1044  
  1045  // CreateRegexPatternSetWithContext is the same as CreateRegexPatternSet with the addition of
  1046  // the ability to pass a context and additional request options.
  1047  //
  1048  // See CreateRegexPatternSet for details on how to use this API operation.
  1049  //
  1050  // The context must be non-nil and will be used for request cancellation. If
  1051  // the context is nil a panic will occur. In the future the SDK may create
  1052  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1053  // for more information on using Contexts.
  1054  func (c *WAFRegional) CreateRegexPatternSetWithContext(ctx aws.Context, input *waf.CreateRegexPatternSetInput, opts ...request.Option) (*waf.CreateRegexPatternSetOutput, error) {
  1055  	req, out := c.CreateRegexPatternSetRequest(input)
  1056  	req.SetContext(ctx)
  1057  	req.ApplyOptions(opts...)
  1058  	return out, req.Send()
  1059  }
  1060  
  1061  const opCreateRule = "CreateRule"
  1062  
  1063  // CreateRuleRequest generates a "aws/request.Request" representing the
  1064  // client's request for the CreateRule operation. The "output" return
  1065  // value will be populated with the request's response once the request completes
  1066  // successfully.
  1067  //
  1068  // Use "Send" method on the returned Request to send the API call to the service.
  1069  // the "output" return value is not valid until after Send returns without error.
  1070  //
  1071  // See CreateRule for more information on using the CreateRule
  1072  // API call, and error handling.
  1073  //
  1074  // This method is useful when you want to inject custom logic or configuration
  1075  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1076  //
  1077  //
  1078  //    // Example sending a request using the CreateRuleRequest method.
  1079  //    req, resp := client.CreateRuleRequest(params)
  1080  //
  1081  //    err := req.Send()
  1082  //    if err == nil { // resp is now filled
  1083  //        fmt.Println(resp)
  1084  //    }
  1085  //
  1086  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule
  1087  func (c *WAFRegional) CreateRuleRequest(input *waf.CreateRuleInput) (req *request.Request, output *waf.CreateRuleOutput) {
  1088  	op := &request.Operation{
  1089  		Name:       opCreateRule,
  1090  		HTTPMethod: "POST",
  1091  		HTTPPath:   "/",
  1092  	}
  1093  
  1094  	if input == nil {
  1095  		input = &waf.CreateRuleInput{}
  1096  	}
  1097  
  1098  	output = &waf.CreateRuleOutput{}
  1099  	req = c.newRequest(op, input, output)
  1100  	return
  1101  }
  1102  
  1103  // CreateRule API operation for AWS WAF Regional.
  1104  //
  1105  //
  1106  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  1107  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  1108  // in the developer guide.
  1109  //
  1110  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  1111  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1112  // With the latest version, AWS WAF has a single set of endpoints for regional
  1113  // and global use.
  1114  //
  1115  // Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and
  1116  // other predicates that identify the requests that you want to block. If you
  1117  // add more than one predicate to a Rule, a request must match all of the specifications
  1118  // to be allowed or blocked. For example, suppose that you add the following
  1119  // to a Rule:
  1120  //
  1121  //    * An IPSet that matches the IP address 192.0.2.44/32
  1122  //
  1123  //    * A ByteMatchSet that matches BadBot in the User-Agent header
  1124  //
  1125  // You then add the Rule to a WebACL and specify that you want to blocks requests
  1126  // that satisfy the Rule. For a request to be blocked, it must come from the
  1127  // IP address 192.0.2.44 and the User-Agent header in the request must contain
  1128  // the value BadBot.
  1129  //
  1130  // To create and configure a Rule, perform the following steps:
  1131  //
  1132  // Create and update the predicates that you want to include in the Rule. For
  1133  // more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
  1134  //
  1135  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1136  // parameter of a CreateRule request.
  1137  //
  1138  // Submit a CreateRule request.
  1139  //
  1140  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1141  // parameter of an UpdateRule request.
  1142  //
  1143  // Submit an UpdateRule request to specify the predicates that you want to include
  1144  // in the Rule.
  1145  //
  1146  // Create and update a WebACL that contains the Rule. For more information,
  1147  // see CreateWebACL.
  1148  //
  1149  // For more information about how to use the AWS WAF API to allow or block HTTP
  1150  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1151  //
  1152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1153  // with awserr.Error's Code and Message methods to get detailed information about
  1154  // the error.
  1155  //
  1156  // See the AWS API reference guide for AWS WAF Regional's
  1157  // API operation CreateRule for usage and error information.
  1158  //
  1159  // Returned Error Types:
  1160  //   * WAFStaleDataException
  1161  //   The operation failed because you tried to create, update, or delete an object
  1162  //   by using a change token that has already been used.
  1163  //
  1164  //   * WAFInternalErrorException
  1165  //   The operation failed because of a system problem, even though the request
  1166  //   was valid. Retry your request.
  1167  //
  1168  //   * WAFDisallowedNameException
  1169  //   The name specified is invalid.
  1170  //
  1171  //   * WAFInvalidParameterException
  1172  //   The operation failed because AWS WAF didn't recognize a parameter in the
  1173  //   request. For example:
  1174  //
  1175  //      * You specified an invalid parameter name.
  1176  //
  1177  //      * You specified an invalid value.
  1178  //
  1179  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  1180  //      using an action other than INSERT or DELETE.
  1181  //
  1182  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  1183  //      BLOCK, or COUNT.
  1184  //
  1185  //      * You tried to create a RateBasedRule with a RateKey value other than
  1186  //      IP.
  1187  //
  1188  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  1189  //      BLOCK, or COUNT.
  1190  //
  1191  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  1192  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  1193  //
  1194  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  1195  //      for Data.
  1196  //
  1197  //      * Your request references an ARN that is malformed, or corresponds to
  1198  //      a resource with which a web ACL cannot be associated.
  1199  //
  1200  //   * WAFLimitsExceededException
  1201  //   The operation exceeds a resource limit, for example, the maximum number of
  1202  //   WebACL objects that you can create for an AWS account. For more information,
  1203  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1204  //   in the AWS WAF Developer Guide.
  1205  //
  1206  //   * WAFTagOperationException
  1207  //
  1208  //   * WAFTagOperationInternalErrorException
  1209  //
  1210  //   * WAFBadRequestException
  1211  //
  1212  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRule
  1213  func (c *WAFRegional) CreateRule(input *waf.CreateRuleInput) (*waf.CreateRuleOutput, error) {
  1214  	req, out := c.CreateRuleRequest(input)
  1215  	return out, req.Send()
  1216  }
  1217  
  1218  // CreateRuleWithContext is the same as CreateRule with the addition of
  1219  // the ability to pass a context and additional request options.
  1220  //
  1221  // See CreateRule for details on how to use this API operation.
  1222  //
  1223  // The context must be non-nil and will be used for request cancellation. If
  1224  // the context is nil a panic will occur. In the future the SDK may create
  1225  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1226  // for more information on using Contexts.
  1227  func (c *WAFRegional) CreateRuleWithContext(ctx aws.Context, input *waf.CreateRuleInput, opts ...request.Option) (*waf.CreateRuleOutput, error) {
  1228  	req, out := c.CreateRuleRequest(input)
  1229  	req.SetContext(ctx)
  1230  	req.ApplyOptions(opts...)
  1231  	return out, req.Send()
  1232  }
  1233  
  1234  const opCreateRuleGroup = "CreateRuleGroup"
  1235  
  1236  // CreateRuleGroupRequest generates a "aws/request.Request" representing the
  1237  // client's request for the CreateRuleGroup operation. The "output" return
  1238  // value will be populated with the request's response once the request completes
  1239  // successfully.
  1240  //
  1241  // Use "Send" method on the returned Request to send the API call to the service.
  1242  // the "output" return value is not valid until after Send returns without error.
  1243  //
  1244  // See CreateRuleGroup for more information on using the CreateRuleGroup
  1245  // API call, and error handling.
  1246  //
  1247  // This method is useful when you want to inject custom logic or configuration
  1248  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1249  //
  1250  //
  1251  //    // Example sending a request using the CreateRuleGroupRequest method.
  1252  //    req, resp := client.CreateRuleGroupRequest(params)
  1253  //
  1254  //    err := req.Send()
  1255  //    if err == nil { // resp is now filled
  1256  //        fmt.Println(resp)
  1257  //    }
  1258  //
  1259  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup
  1260  func (c *WAFRegional) CreateRuleGroupRequest(input *waf.CreateRuleGroupInput) (req *request.Request, output *waf.CreateRuleGroupOutput) {
  1261  	op := &request.Operation{
  1262  		Name:       opCreateRuleGroup,
  1263  		HTTPMethod: "POST",
  1264  		HTTPPath:   "/",
  1265  	}
  1266  
  1267  	if input == nil {
  1268  		input = &waf.CreateRuleGroupInput{}
  1269  	}
  1270  
  1271  	output = &waf.CreateRuleGroupOutput{}
  1272  	req = c.newRequest(op, input, output)
  1273  	return
  1274  }
  1275  
  1276  // CreateRuleGroup API operation for AWS WAF Regional.
  1277  //
  1278  //
  1279  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  1280  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  1281  // in the developer guide.
  1282  //
  1283  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  1284  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1285  // With the latest version, AWS WAF has a single set of endpoints for regional
  1286  // and global use.
  1287  //
  1288  // Creates a RuleGroup. A rule group is a collection of predefined rules that
  1289  // you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.
  1290  //
  1291  // Rule groups are subject to the following limits:
  1292  //
  1293  //    * Three rule groups per account. You can request an increase to this limit
  1294  //    by contacting customer support.
  1295  //
  1296  //    * One rule group per web ACL.
  1297  //
  1298  //    * Ten rules per rule group.
  1299  //
  1300  // For more information about how to use the AWS WAF API to allow or block HTTP
  1301  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1302  //
  1303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1304  // with awserr.Error's Code and Message methods to get detailed information about
  1305  // the error.
  1306  //
  1307  // See the AWS API reference guide for AWS WAF Regional's
  1308  // API operation CreateRuleGroup for usage and error information.
  1309  //
  1310  // Returned Error Types:
  1311  //   * WAFStaleDataException
  1312  //   The operation failed because you tried to create, update, or delete an object
  1313  //   by using a change token that has already been used.
  1314  //
  1315  //   * WAFInternalErrorException
  1316  //   The operation failed because of a system problem, even though the request
  1317  //   was valid. Retry your request.
  1318  //
  1319  //   * WAFDisallowedNameException
  1320  //   The name specified is invalid.
  1321  //
  1322  //   * WAFLimitsExceededException
  1323  //   The operation exceeds a resource limit, for example, the maximum number of
  1324  //   WebACL objects that you can create for an AWS account. For more information,
  1325  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1326  //   in the AWS WAF Developer Guide.
  1327  //
  1328  //   * WAFTagOperationException
  1329  //
  1330  //   * WAFTagOperationInternalErrorException
  1331  //
  1332  //   * WAFBadRequestException
  1333  //
  1334  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroup
  1335  func (c *WAFRegional) CreateRuleGroup(input *waf.CreateRuleGroupInput) (*waf.CreateRuleGroupOutput, error) {
  1336  	req, out := c.CreateRuleGroupRequest(input)
  1337  	return out, req.Send()
  1338  }
  1339  
  1340  // CreateRuleGroupWithContext is the same as CreateRuleGroup with the addition of
  1341  // the ability to pass a context and additional request options.
  1342  //
  1343  // See CreateRuleGroup for details on how to use this API operation.
  1344  //
  1345  // The context must be non-nil and will be used for request cancellation. If
  1346  // the context is nil a panic will occur. In the future the SDK may create
  1347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1348  // for more information on using Contexts.
  1349  func (c *WAFRegional) CreateRuleGroupWithContext(ctx aws.Context, input *waf.CreateRuleGroupInput, opts ...request.Option) (*waf.CreateRuleGroupOutput, error) {
  1350  	req, out := c.CreateRuleGroupRequest(input)
  1351  	req.SetContext(ctx)
  1352  	req.ApplyOptions(opts...)
  1353  	return out, req.Send()
  1354  }
  1355  
  1356  const opCreateSizeConstraintSet = "CreateSizeConstraintSet"
  1357  
  1358  // CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the
  1359  // client's request for the CreateSizeConstraintSet operation. The "output" return
  1360  // value will be populated with the request's response once the request completes
  1361  // successfully.
  1362  //
  1363  // Use "Send" method on the returned Request to send the API call to the service.
  1364  // the "output" return value is not valid until after Send returns without error.
  1365  //
  1366  // See CreateSizeConstraintSet for more information on using the CreateSizeConstraintSet
  1367  // API call, and error handling.
  1368  //
  1369  // This method is useful when you want to inject custom logic or configuration
  1370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1371  //
  1372  //
  1373  //    // Example sending a request using the CreateSizeConstraintSetRequest method.
  1374  //    req, resp := client.CreateSizeConstraintSetRequest(params)
  1375  //
  1376  //    err := req.Send()
  1377  //    if err == nil { // resp is now filled
  1378  //        fmt.Println(resp)
  1379  //    }
  1380  //
  1381  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet
  1382  func (c *WAFRegional) CreateSizeConstraintSetRequest(input *waf.CreateSizeConstraintSetInput) (req *request.Request, output *waf.CreateSizeConstraintSetOutput) {
  1383  	op := &request.Operation{
  1384  		Name:       opCreateSizeConstraintSet,
  1385  		HTTPMethod: "POST",
  1386  		HTTPPath:   "/",
  1387  	}
  1388  
  1389  	if input == nil {
  1390  		input = &waf.CreateSizeConstraintSetInput{}
  1391  	}
  1392  
  1393  	output = &waf.CreateSizeConstraintSetOutput{}
  1394  	req = c.newRequest(op, input, output)
  1395  	return
  1396  }
  1397  
  1398  // CreateSizeConstraintSet API operation for AWS WAF Regional.
  1399  //
  1400  //
  1401  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  1402  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  1403  // in the developer guide.
  1404  //
  1405  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  1406  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1407  // With the latest version, AWS WAF has a single set of endpoints for regional
  1408  // and global use.
  1409  //
  1410  // Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify
  1411  // the part of a web request that you want AWS WAF to check for length, such
  1412  // as the length of the User-Agent header or the length of the query string.
  1413  // For example, you can create a SizeConstraintSet that matches any requests
  1414  // that have a query string that is longer than 100 bytes. You can then configure
  1415  // AWS WAF to reject those requests.
  1416  //
  1417  // To create and configure a SizeConstraintSet, perform the following steps:
  1418  //
  1419  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1420  // parameter of a CreateSizeConstraintSet request.
  1421  //
  1422  // Submit a CreateSizeConstraintSet request.
  1423  //
  1424  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1425  // parameter of an UpdateSizeConstraintSet request.
  1426  //
  1427  // Submit an UpdateSizeConstraintSet request to specify the part of the request
  1428  // that you want AWS WAF to inspect (for example, the header or the URI) and
  1429  // the value that you want AWS WAF to watch for.
  1430  //
  1431  // For more information about how to use the AWS WAF API to allow or block HTTP
  1432  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1433  //
  1434  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1435  // with awserr.Error's Code and Message methods to get detailed information about
  1436  // the error.
  1437  //
  1438  // See the AWS API reference guide for AWS WAF Regional's
  1439  // API operation CreateSizeConstraintSet for usage and error information.
  1440  //
  1441  // Returned Error Types:
  1442  //   * WAFStaleDataException
  1443  //   The operation failed because you tried to create, update, or delete an object
  1444  //   by using a change token that has already been used.
  1445  //
  1446  //   * WAFInternalErrorException
  1447  //   The operation failed because of a system problem, even though the request
  1448  //   was valid. Retry your request.
  1449  //
  1450  //   * WAFInvalidAccountException
  1451  //   The operation failed because you tried to create, update, or delete an object
  1452  //   by using an invalid account identifier.
  1453  //
  1454  //   * WAFDisallowedNameException
  1455  //   The name specified is invalid.
  1456  //
  1457  //   * WAFInvalidParameterException
  1458  //   The operation failed because AWS WAF didn't recognize a parameter in the
  1459  //   request. For example:
  1460  //
  1461  //      * You specified an invalid parameter name.
  1462  //
  1463  //      * You specified an invalid value.
  1464  //
  1465  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  1466  //      using an action other than INSERT or DELETE.
  1467  //
  1468  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  1469  //      BLOCK, or COUNT.
  1470  //
  1471  //      * You tried to create a RateBasedRule with a RateKey value other than
  1472  //      IP.
  1473  //
  1474  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  1475  //      BLOCK, or COUNT.
  1476  //
  1477  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  1478  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  1479  //
  1480  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  1481  //      for Data.
  1482  //
  1483  //      * Your request references an ARN that is malformed, or corresponds to
  1484  //      a resource with which a web ACL cannot be associated.
  1485  //
  1486  //   * WAFLimitsExceededException
  1487  //   The operation exceeds a resource limit, for example, the maximum number of
  1488  //   WebACL objects that you can create for an AWS account. For more information,
  1489  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1490  //   in the AWS WAF Developer Guide.
  1491  //
  1492  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSizeConstraintSet
  1493  func (c *WAFRegional) CreateSizeConstraintSet(input *waf.CreateSizeConstraintSetInput) (*waf.CreateSizeConstraintSetOutput, error) {
  1494  	req, out := c.CreateSizeConstraintSetRequest(input)
  1495  	return out, req.Send()
  1496  }
  1497  
  1498  // CreateSizeConstraintSetWithContext is the same as CreateSizeConstraintSet with the addition of
  1499  // the ability to pass a context and additional request options.
  1500  //
  1501  // See CreateSizeConstraintSet for details on how to use this API operation.
  1502  //
  1503  // The context must be non-nil and will be used for request cancellation. If
  1504  // the context is nil a panic will occur. In the future the SDK may create
  1505  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1506  // for more information on using Contexts.
  1507  func (c *WAFRegional) CreateSizeConstraintSetWithContext(ctx aws.Context, input *waf.CreateSizeConstraintSetInput, opts ...request.Option) (*waf.CreateSizeConstraintSetOutput, error) {
  1508  	req, out := c.CreateSizeConstraintSetRequest(input)
  1509  	req.SetContext(ctx)
  1510  	req.ApplyOptions(opts...)
  1511  	return out, req.Send()
  1512  }
  1513  
  1514  const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet"
  1515  
  1516  // CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
  1517  // client's request for the CreateSqlInjectionMatchSet operation. The "output" return
  1518  // value will be populated with the request's response once the request completes
  1519  // successfully.
  1520  //
  1521  // Use "Send" method on the returned Request to send the API call to the service.
  1522  // the "output" return value is not valid until after Send returns without error.
  1523  //
  1524  // See CreateSqlInjectionMatchSet for more information on using the CreateSqlInjectionMatchSet
  1525  // API call, and error handling.
  1526  //
  1527  // This method is useful when you want to inject custom logic or configuration
  1528  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1529  //
  1530  //
  1531  //    // Example sending a request using the CreateSqlInjectionMatchSetRequest method.
  1532  //    req, resp := client.CreateSqlInjectionMatchSetRequest(params)
  1533  //
  1534  //    err := req.Send()
  1535  //    if err == nil { // resp is now filled
  1536  //        fmt.Println(resp)
  1537  //    }
  1538  //
  1539  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet
  1540  func (c *WAFRegional) CreateSqlInjectionMatchSetRequest(input *waf.CreateSqlInjectionMatchSetInput) (req *request.Request, output *waf.CreateSqlInjectionMatchSetOutput) {
  1541  	op := &request.Operation{
  1542  		Name:       opCreateSqlInjectionMatchSet,
  1543  		HTTPMethod: "POST",
  1544  		HTTPPath:   "/",
  1545  	}
  1546  
  1547  	if input == nil {
  1548  		input = &waf.CreateSqlInjectionMatchSetInput{}
  1549  	}
  1550  
  1551  	output = &waf.CreateSqlInjectionMatchSetOutput{}
  1552  	req = c.newRequest(op, input, output)
  1553  	return
  1554  }
  1555  
  1556  // CreateSqlInjectionMatchSet API operation for AWS WAF Regional.
  1557  //
  1558  //
  1559  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  1560  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  1561  // in the developer guide.
  1562  //
  1563  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  1564  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1565  // With the latest version, AWS WAF has a single set of endpoints for regional
  1566  // and global use.
  1567  //
  1568  // Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests
  1569  // that contain snippets of SQL code in a specified part of web requests. AWS
  1570  // WAF searches for character sequences that are likely to be malicious strings.
  1571  //
  1572  // To create and configure a SqlInjectionMatchSet, perform the following steps:
  1573  //
  1574  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1575  // parameter of a CreateSqlInjectionMatchSet request.
  1576  //
  1577  // Submit a CreateSqlInjectionMatchSet request.
  1578  //
  1579  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1580  // parameter of an UpdateSqlInjectionMatchSet request.
  1581  //
  1582  // Submit an UpdateSqlInjectionMatchSet request to specify the parts of web
  1583  // requests in which you want to allow, block, or count malicious SQL code.
  1584  //
  1585  // For more information about how to use the AWS WAF API to allow or block HTTP
  1586  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1587  //
  1588  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1589  // with awserr.Error's Code and Message methods to get detailed information about
  1590  // the error.
  1591  //
  1592  // See the AWS API reference guide for AWS WAF Regional's
  1593  // API operation CreateSqlInjectionMatchSet for usage and error information.
  1594  //
  1595  // Returned Error Types:
  1596  //   * WAFDisallowedNameException
  1597  //   The name specified is invalid.
  1598  //
  1599  //   * WAFInternalErrorException
  1600  //   The operation failed because of a system problem, even though the request
  1601  //   was valid. Retry your request.
  1602  //
  1603  //   * WAFInvalidAccountException
  1604  //   The operation failed because you tried to create, update, or delete an object
  1605  //   by using an invalid account identifier.
  1606  //
  1607  //   * WAFInvalidParameterException
  1608  //   The operation failed because AWS WAF didn't recognize a parameter in the
  1609  //   request. For example:
  1610  //
  1611  //      * You specified an invalid parameter name.
  1612  //
  1613  //      * You specified an invalid value.
  1614  //
  1615  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  1616  //      using an action other than INSERT or DELETE.
  1617  //
  1618  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  1619  //      BLOCK, or COUNT.
  1620  //
  1621  //      * You tried to create a RateBasedRule with a RateKey value other than
  1622  //      IP.
  1623  //
  1624  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  1625  //      BLOCK, or COUNT.
  1626  //
  1627  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  1628  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  1629  //
  1630  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  1631  //      for Data.
  1632  //
  1633  //      * Your request references an ARN that is malformed, or corresponds to
  1634  //      a resource with which a web ACL cannot be associated.
  1635  //
  1636  //   * WAFStaleDataException
  1637  //   The operation failed because you tried to create, update, or delete an object
  1638  //   by using a change token that has already been used.
  1639  //
  1640  //   * WAFLimitsExceededException
  1641  //   The operation exceeds a resource limit, for example, the maximum number of
  1642  //   WebACL objects that you can create for an AWS account. For more information,
  1643  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1644  //   in the AWS WAF Developer Guide.
  1645  //
  1646  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateSqlInjectionMatchSet
  1647  func (c *WAFRegional) CreateSqlInjectionMatchSet(input *waf.CreateSqlInjectionMatchSetInput) (*waf.CreateSqlInjectionMatchSetOutput, error) {
  1648  	req, out := c.CreateSqlInjectionMatchSetRequest(input)
  1649  	return out, req.Send()
  1650  }
  1651  
  1652  // CreateSqlInjectionMatchSetWithContext is the same as CreateSqlInjectionMatchSet with the addition of
  1653  // the ability to pass a context and additional request options.
  1654  //
  1655  // See CreateSqlInjectionMatchSet for details on how to use this API operation.
  1656  //
  1657  // The context must be non-nil and will be used for request cancellation. If
  1658  // the context is nil a panic will occur. In the future the SDK may create
  1659  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1660  // for more information on using Contexts.
  1661  func (c *WAFRegional) CreateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.CreateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.CreateSqlInjectionMatchSetOutput, error) {
  1662  	req, out := c.CreateSqlInjectionMatchSetRequest(input)
  1663  	req.SetContext(ctx)
  1664  	req.ApplyOptions(opts...)
  1665  	return out, req.Send()
  1666  }
  1667  
  1668  const opCreateWebACL = "CreateWebACL"
  1669  
  1670  // CreateWebACLRequest generates a "aws/request.Request" representing the
  1671  // client's request for the CreateWebACL operation. The "output" return
  1672  // value will be populated with the request's response once the request completes
  1673  // successfully.
  1674  //
  1675  // Use "Send" method on the returned Request to send the API call to the service.
  1676  // the "output" return value is not valid until after Send returns without error.
  1677  //
  1678  // See CreateWebACL for more information on using the CreateWebACL
  1679  // API call, and error handling.
  1680  //
  1681  // This method is useful when you want to inject custom logic or configuration
  1682  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1683  //
  1684  //
  1685  //    // Example sending a request using the CreateWebACLRequest method.
  1686  //    req, resp := client.CreateWebACLRequest(params)
  1687  //
  1688  //    err := req.Send()
  1689  //    if err == nil { // resp is now filled
  1690  //        fmt.Println(resp)
  1691  //    }
  1692  //
  1693  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL
  1694  func (c *WAFRegional) CreateWebACLRequest(input *waf.CreateWebACLInput) (req *request.Request, output *waf.CreateWebACLOutput) {
  1695  	op := &request.Operation{
  1696  		Name:       opCreateWebACL,
  1697  		HTTPMethod: "POST",
  1698  		HTTPPath:   "/",
  1699  	}
  1700  
  1701  	if input == nil {
  1702  		input = &waf.CreateWebACLInput{}
  1703  	}
  1704  
  1705  	output = &waf.CreateWebACLOutput{}
  1706  	req = c.newRequest(op, input, output)
  1707  	return
  1708  }
  1709  
  1710  // CreateWebACL API operation for AWS WAF Regional.
  1711  //
  1712  //
  1713  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  1714  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  1715  // in the developer guide.
  1716  //
  1717  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  1718  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1719  // With the latest version, AWS WAF has a single set of endpoints for regional
  1720  // and global use.
  1721  //
  1722  // Creates a WebACL, which contains the Rules that identify the CloudFront web
  1723  // requests that you want to allow, block, or count. AWS WAF evaluates Rules
  1724  // in order based on the value of Priority for each Rule.
  1725  //
  1726  // You also specify a default action, either ALLOW or BLOCK. If a web request
  1727  // doesn't match any of the Rules in a WebACL, AWS WAF responds to the request
  1728  // with the default action.
  1729  //
  1730  // To create and configure a WebACL, perform the following steps:
  1731  //
  1732  // Create and update the ByteMatchSet objects and other predicates that you
  1733  // want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet,
  1734  // CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
  1735  //
  1736  // Create and update the Rules that you want to include in the WebACL. For more
  1737  // information, see CreateRule and UpdateRule.
  1738  //
  1739  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1740  // parameter of a CreateWebACL request.
  1741  //
  1742  // Submit a CreateWebACL request.
  1743  //
  1744  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  1745  // parameter of an UpdateWebACL request.
  1746  //
  1747  // Submit an UpdateWebACL request to specify the Rules that you want to include
  1748  // in the WebACL, to specify the default action, and to associate the WebACL
  1749  // with a CloudFront distribution.
  1750  //
  1751  // For more information about how to use the AWS WAF API, see the AWS WAF Developer
  1752  // Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  1753  //
  1754  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1755  // with awserr.Error's Code and Message methods to get detailed information about
  1756  // the error.
  1757  //
  1758  // See the AWS API reference guide for AWS WAF Regional's
  1759  // API operation CreateWebACL for usage and error information.
  1760  //
  1761  // Returned Error Types:
  1762  //   * WAFStaleDataException
  1763  //   The operation failed because you tried to create, update, or delete an object
  1764  //   by using a change token that has already been used.
  1765  //
  1766  //   * WAFInternalErrorException
  1767  //   The operation failed because of a system problem, even though the request
  1768  //   was valid. Retry your request.
  1769  //
  1770  //   * WAFInvalidAccountException
  1771  //   The operation failed because you tried to create, update, or delete an object
  1772  //   by using an invalid account identifier.
  1773  //
  1774  //   * WAFDisallowedNameException
  1775  //   The name specified is invalid.
  1776  //
  1777  //   * WAFInvalidParameterException
  1778  //   The operation failed because AWS WAF didn't recognize a parameter in the
  1779  //   request. For example:
  1780  //
  1781  //      * You specified an invalid parameter name.
  1782  //
  1783  //      * You specified an invalid value.
  1784  //
  1785  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  1786  //      using an action other than INSERT or DELETE.
  1787  //
  1788  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  1789  //      BLOCK, or COUNT.
  1790  //
  1791  //      * You tried to create a RateBasedRule with a RateKey value other than
  1792  //      IP.
  1793  //
  1794  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  1795  //      BLOCK, or COUNT.
  1796  //
  1797  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  1798  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  1799  //
  1800  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  1801  //      for Data.
  1802  //
  1803  //      * Your request references an ARN that is malformed, or corresponds to
  1804  //      a resource with which a web ACL cannot be associated.
  1805  //
  1806  //   * WAFLimitsExceededException
  1807  //   The operation exceeds a resource limit, for example, the maximum number of
  1808  //   WebACL objects that you can create for an AWS account. For more information,
  1809  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  1810  //   in the AWS WAF Developer Guide.
  1811  //
  1812  //   * WAFTagOperationException
  1813  //
  1814  //   * WAFTagOperationInternalErrorException
  1815  //
  1816  //   * WAFBadRequestException
  1817  //
  1818  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACL
  1819  func (c *WAFRegional) CreateWebACL(input *waf.CreateWebACLInput) (*waf.CreateWebACLOutput, error) {
  1820  	req, out := c.CreateWebACLRequest(input)
  1821  	return out, req.Send()
  1822  }
  1823  
  1824  // CreateWebACLWithContext is the same as CreateWebACL with the addition of
  1825  // the ability to pass a context and additional request options.
  1826  //
  1827  // See CreateWebACL for details on how to use this API operation.
  1828  //
  1829  // The context must be non-nil and will be used for request cancellation. If
  1830  // the context is nil a panic will occur. In the future the SDK may create
  1831  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1832  // for more information on using Contexts.
  1833  func (c *WAFRegional) CreateWebACLWithContext(ctx aws.Context, input *waf.CreateWebACLInput, opts ...request.Option) (*waf.CreateWebACLOutput, error) {
  1834  	req, out := c.CreateWebACLRequest(input)
  1835  	req.SetContext(ctx)
  1836  	req.ApplyOptions(opts...)
  1837  	return out, req.Send()
  1838  }
  1839  
  1840  const opCreateWebACLMigrationStack = "CreateWebACLMigrationStack"
  1841  
  1842  // CreateWebACLMigrationStackRequest generates a "aws/request.Request" representing the
  1843  // client's request for the CreateWebACLMigrationStack operation. The "output" return
  1844  // value will be populated with the request's response once the request completes
  1845  // successfully.
  1846  //
  1847  // Use "Send" method on the returned Request to send the API call to the service.
  1848  // the "output" return value is not valid until after Send returns without error.
  1849  //
  1850  // See CreateWebACLMigrationStack for more information on using the CreateWebACLMigrationStack
  1851  // API call, and error handling.
  1852  //
  1853  // This method is useful when you want to inject custom logic or configuration
  1854  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1855  //
  1856  //
  1857  //    // Example sending a request using the CreateWebACLMigrationStackRequest method.
  1858  //    req, resp := client.CreateWebACLMigrationStackRequest(params)
  1859  //
  1860  //    err := req.Send()
  1861  //    if err == nil { // resp is now filled
  1862  //        fmt.Println(resp)
  1863  //    }
  1864  //
  1865  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACLMigrationStack
  1866  func (c *WAFRegional) CreateWebACLMigrationStackRequest(input *waf.CreateWebACLMigrationStackInput) (req *request.Request, output *waf.CreateWebACLMigrationStackOutput) {
  1867  	op := &request.Operation{
  1868  		Name:       opCreateWebACLMigrationStack,
  1869  		HTTPMethod: "POST",
  1870  		HTTPPath:   "/",
  1871  	}
  1872  
  1873  	if input == nil {
  1874  		input = &waf.CreateWebACLMigrationStackInput{}
  1875  	}
  1876  
  1877  	output = &waf.CreateWebACLMigrationStackOutput{}
  1878  	req = c.newRequest(op, input, output)
  1879  	return
  1880  }
  1881  
  1882  // CreateWebACLMigrationStack API operation for AWS WAF Regional.
  1883  //
  1884  // Creates an AWS CloudFormation WAFV2 template for the specified web ACL in
  1885  // the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack
  1886  // from the template, to create the web ACL and its resources in AWS WAFV2.
  1887  // Use this to migrate your AWS WAF Classic web ACL to the latest version of
  1888  // AWS WAF.
  1889  //
  1890  // This is part of a larger migration procedure for web ACLs from AWS WAF Classic
  1891  // to the latest version of AWS WAF. For the full procedure, including caveats
  1892  // and manual steps to complete the migration and switch over to the new web
  1893  // ACL, see Migrating your AWS WAF Classic resources to AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-migrating-from-classic.html)
  1894  // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  1895  //
  1896  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1897  // with awserr.Error's Code and Message methods to get detailed information about
  1898  // the error.
  1899  //
  1900  // See the AWS API reference guide for AWS WAF Regional's
  1901  // API operation CreateWebACLMigrationStack for usage and error information.
  1902  //
  1903  // Returned Error Types:
  1904  //   * WAFInternalErrorException
  1905  //   The operation failed because of a system problem, even though the request
  1906  //   was valid. Retry your request.
  1907  //
  1908  //   * WAFInvalidParameterException
  1909  //   The operation failed because AWS WAF didn't recognize a parameter in the
  1910  //   request. For example:
  1911  //
  1912  //      * You specified an invalid parameter name.
  1913  //
  1914  //      * You specified an invalid value.
  1915  //
  1916  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  1917  //      using an action other than INSERT or DELETE.
  1918  //
  1919  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  1920  //      BLOCK, or COUNT.
  1921  //
  1922  //      * You tried to create a RateBasedRule with a RateKey value other than
  1923  //      IP.
  1924  //
  1925  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  1926  //      BLOCK, or COUNT.
  1927  //
  1928  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  1929  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  1930  //
  1931  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  1932  //      for Data.
  1933  //
  1934  //      * Your request references an ARN that is malformed, or corresponds to
  1935  //      a resource with which a web ACL cannot be associated.
  1936  //
  1937  //   * WAFInvalidOperationException
  1938  //   The operation failed because there was nothing to do. For example:
  1939  //
  1940  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  1941  //      specified WebACL.
  1942  //
  1943  //      * You tried to remove an IP address from an IPSet, but the IP address
  1944  //      isn't in the specified IPSet.
  1945  //
  1946  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  1947  //      isn't in the specified WebACL.
  1948  //
  1949  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  1950  //      the specified WebACL.
  1951  //
  1952  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  1953  //      already exists in the specified WebACL.
  1954  //
  1955  //   * WAFNonexistentItemException
  1956  //   The operation failed because the referenced object doesn't exist.
  1957  //
  1958  //   * WAFEntityMigrationException
  1959  //   The operation failed due to a problem with the migration. The failure cause
  1960  //   is provided in the exception, in the MigrationErrorType:
  1961  //
  1962  //      * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the
  1963  //      IgnoreUnsupportedType is not set to true.
  1964  //
  1965  //      * ENTITY_NOT_FOUND - The web ACL doesn't exist.
  1966  //
  1967  //      * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject
  1968  //      action to the specified Amazon S3 bucket.
  1969  //
  1970  //      * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to
  1971  //      perform the PutObject action in the bucket.
  1972  //
  1973  //      * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.
  1974  //
  1975  //      * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as
  1976  //      the web ACL.
  1977  //
  1978  //      * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3
  1979  //      bucket for another reason.
  1980  //
  1981  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateWebACLMigrationStack
  1982  func (c *WAFRegional) CreateWebACLMigrationStack(input *waf.CreateWebACLMigrationStackInput) (*waf.CreateWebACLMigrationStackOutput, error) {
  1983  	req, out := c.CreateWebACLMigrationStackRequest(input)
  1984  	return out, req.Send()
  1985  }
  1986  
  1987  // CreateWebACLMigrationStackWithContext is the same as CreateWebACLMigrationStack with the addition of
  1988  // the ability to pass a context and additional request options.
  1989  //
  1990  // See CreateWebACLMigrationStack for details on how to use this API operation.
  1991  //
  1992  // The context must be non-nil and will be used for request cancellation. If
  1993  // the context is nil a panic will occur. In the future the SDK may create
  1994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1995  // for more information on using Contexts.
  1996  func (c *WAFRegional) CreateWebACLMigrationStackWithContext(ctx aws.Context, input *waf.CreateWebACLMigrationStackInput, opts ...request.Option) (*waf.CreateWebACLMigrationStackOutput, error) {
  1997  	req, out := c.CreateWebACLMigrationStackRequest(input)
  1998  	req.SetContext(ctx)
  1999  	req.ApplyOptions(opts...)
  2000  	return out, req.Send()
  2001  }
  2002  
  2003  const opCreateXssMatchSet = "CreateXssMatchSet"
  2004  
  2005  // CreateXssMatchSetRequest generates a "aws/request.Request" representing the
  2006  // client's request for the CreateXssMatchSet operation. The "output" return
  2007  // value will be populated with the request's response once the request completes
  2008  // successfully.
  2009  //
  2010  // Use "Send" method on the returned Request to send the API call to the service.
  2011  // the "output" return value is not valid until after Send returns without error.
  2012  //
  2013  // See CreateXssMatchSet for more information on using the CreateXssMatchSet
  2014  // API call, and error handling.
  2015  //
  2016  // This method is useful when you want to inject custom logic or configuration
  2017  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2018  //
  2019  //
  2020  //    // Example sending a request using the CreateXssMatchSetRequest method.
  2021  //    req, resp := client.CreateXssMatchSetRequest(params)
  2022  //
  2023  //    err := req.Send()
  2024  //    if err == nil { // resp is now filled
  2025  //        fmt.Println(resp)
  2026  //    }
  2027  //
  2028  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet
  2029  func (c *WAFRegional) CreateXssMatchSetRequest(input *waf.CreateXssMatchSetInput) (req *request.Request, output *waf.CreateXssMatchSetOutput) {
  2030  	op := &request.Operation{
  2031  		Name:       opCreateXssMatchSet,
  2032  		HTTPMethod: "POST",
  2033  		HTTPPath:   "/",
  2034  	}
  2035  
  2036  	if input == nil {
  2037  		input = &waf.CreateXssMatchSetInput{}
  2038  	}
  2039  
  2040  	output = &waf.CreateXssMatchSetOutput{}
  2041  	req = c.newRequest(op, input, output)
  2042  	return
  2043  }
  2044  
  2045  // CreateXssMatchSet API operation for AWS WAF Regional.
  2046  //
  2047  //
  2048  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2049  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2050  // in the developer guide.
  2051  //
  2052  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2053  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2054  // With the latest version, AWS WAF has a single set of endpoints for regional
  2055  // and global use.
  2056  //
  2057  // Creates an XssMatchSet, which you use to allow, block, or count requests
  2058  // that contain cross-site scripting attacks in the specified part of web requests.
  2059  // AWS WAF searches for character sequences that are likely to be malicious
  2060  // strings.
  2061  //
  2062  // To create and configure an XssMatchSet, perform the following steps:
  2063  //
  2064  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2065  // parameter of a CreateXssMatchSet request.
  2066  //
  2067  // Submit a CreateXssMatchSet request.
  2068  //
  2069  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2070  // parameter of an UpdateXssMatchSet request.
  2071  //
  2072  // Submit an UpdateXssMatchSet request to specify the parts of web requests
  2073  // in which you want to allow, block, or count cross-site scripting attacks.
  2074  //
  2075  // For more information about how to use the AWS WAF API to allow or block HTTP
  2076  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  2077  //
  2078  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2079  // with awserr.Error's Code and Message methods to get detailed information about
  2080  // the error.
  2081  //
  2082  // See the AWS API reference guide for AWS WAF Regional's
  2083  // API operation CreateXssMatchSet for usage and error information.
  2084  //
  2085  // Returned Error Types:
  2086  //   * WAFDisallowedNameException
  2087  //   The name specified is invalid.
  2088  //
  2089  //   * WAFInternalErrorException
  2090  //   The operation failed because of a system problem, even though the request
  2091  //   was valid. Retry your request.
  2092  //
  2093  //   * WAFInvalidAccountException
  2094  //   The operation failed because you tried to create, update, or delete an object
  2095  //   by using an invalid account identifier.
  2096  //
  2097  //   * WAFInvalidParameterException
  2098  //   The operation failed because AWS WAF didn't recognize a parameter in the
  2099  //   request. For example:
  2100  //
  2101  //      * You specified an invalid parameter name.
  2102  //
  2103  //      * You specified an invalid value.
  2104  //
  2105  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  2106  //      using an action other than INSERT or DELETE.
  2107  //
  2108  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  2109  //      BLOCK, or COUNT.
  2110  //
  2111  //      * You tried to create a RateBasedRule with a RateKey value other than
  2112  //      IP.
  2113  //
  2114  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  2115  //      BLOCK, or COUNT.
  2116  //
  2117  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  2118  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  2119  //
  2120  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  2121  //      for Data.
  2122  //
  2123  //      * Your request references an ARN that is malformed, or corresponds to
  2124  //      a resource with which a web ACL cannot be associated.
  2125  //
  2126  //   * WAFStaleDataException
  2127  //   The operation failed because you tried to create, update, or delete an object
  2128  //   by using a change token that has already been used.
  2129  //
  2130  //   * WAFLimitsExceededException
  2131  //   The operation exceeds a resource limit, for example, the maximum number of
  2132  //   WebACL objects that you can create for an AWS account. For more information,
  2133  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  2134  //   in the AWS WAF Developer Guide.
  2135  //
  2136  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateXssMatchSet
  2137  func (c *WAFRegional) CreateXssMatchSet(input *waf.CreateXssMatchSetInput) (*waf.CreateXssMatchSetOutput, error) {
  2138  	req, out := c.CreateXssMatchSetRequest(input)
  2139  	return out, req.Send()
  2140  }
  2141  
  2142  // CreateXssMatchSetWithContext is the same as CreateXssMatchSet with the addition of
  2143  // the ability to pass a context and additional request options.
  2144  //
  2145  // See CreateXssMatchSet for details on how to use this API operation.
  2146  //
  2147  // The context must be non-nil and will be used for request cancellation. If
  2148  // the context is nil a panic will occur. In the future the SDK may create
  2149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2150  // for more information on using Contexts.
  2151  func (c *WAFRegional) CreateXssMatchSetWithContext(ctx aws.Context, input *waf.CreateXssMatchSetInput, opts ...request.Option) (*waf.CreateXssMatchSetOutput, error) {
  2152  	req, out := c.CreateXssMatchSetRequest(input)
  2153  	req.SetContext(ctx)
  2154  	req.ApplyOptions(opts...)
  2155  	return out, req.Send()
  2156  }
  2157  
  2158  const opDeleteByteMatchSet = "DeleteByteMatchSet"
  2159  
  2160  // DeleteByteMatchSetRequest generates a "aws/request.Request" representing the
  2161  // client's request for the DeleteByteMatchSet operation. The "output" return
  2162  // value will be populated with the request's response once the request completes
  2163  // successfully.
  2164  //
  2165  // Use "Send" method on the returned Request to send the API call to the service.
  2166  // the "output" return value is not valid until after Send returns without error.
  2167  //
  2168  // See DeleteByteMatchSet for more information on using the DeleteByteMatchSet
  2169  // API call, and error handling.
  2170  //
  2171  // This method is useful when you want to inject custom logic or configuration
  2172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2173  //
  2174  //
  2175  //    // Example sending a request using the DeleteByteMatchSetRequest method.
  2176  //    req, resp := client.DeleteByteMatchSetRequest(params)
  2177  //
  2178  //    err := req.Send()
  2179  //    if err == nil { // resp is now filled
  2180  //        fmt.Println(resp)
  2181  //    }
  2182  //
  2183  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet
  2184  func (c *WAFRegional) DeleteByteMatchSetRequest(input *waf.DeleteByteMatchSetInput) (req *request.Request, output *waf.DeleteByteMatchSetOutput) {
  2185  	op := &request.Operation{
  2186  		Name:       opDeleteByteMatchSet,
  2187  		HTTPMethod: "POST",
  2188  		HTTPPath:   "/",
  2189  	}
  2190  
  2191  	if input == nil {
  2192  		input = &waf.DeleteByteMatchSetInput{}
  2193  	}
  2194  
  2195  	output = &waf.DeleteByteMatchSetOutput{}
  2196  	req = c.newRequest(op, input, output)
  2197  	return
  2198  }
  2199  
  2200  // DeleteByteMatchSet API operation for AWS WAF Regional.
  2201  //
  2202  //
  2203  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2204  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2205  // in the developer guide.
  2206  //
  2207  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2208  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2209  // With the latest version, AWS WAF has a single set of endpoints for regional
  2210  // and global use.
  2211  //
  2212  // Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's
  2213  // still used in any Rules or if it still includes any ByteMatchTuple objects
  2214  // (any filters).
  2215  //
  2216  // If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.
  2217  //
  2218  // To permanently delete a ByteMatchSet, perform the following steps:
  2219  //
  2220  // Update the ByteMatchSet to remove filters, if any. For more information,
  2221  // see UpdateByteMatchSet.
  2222  //
  2223  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2224  // parameter of a DeleteByteMatchSet request.
  2225  //
  2226  // Submit a DeleteByteMatchSet request.
  2227  //
  2228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2229  // with awserr.Error's Code and Message methods to get detailed information about
  2230  // the error.
  2231  //
  2232  // See the AWS API reference guide for AWS WAF Regional's
  2233  // API operation DeleteByteMatchSet for usage and error information.
  2234  //
  2235  // Returned Error Types:
  2236  //   * WAFInternalErrorException
  2237  //   The operation failed because of a system problem, even though the request
  2238  //   was valid. Retry your request.
  2239  //
  2240  //   * WAFInvalidAccountException
  2241  //   The operation failed because you tried to create, update, or delete an object
  2242  //   by using an invalid account identifier.
  2243  //
  2244  //   * WAFNonexistentItemException
  2245  //   The operation failed because the referenced object doesn't exist.
  2246  //
  2247  //   * WAFReferencedItemException
  2248  //   The operation failed because you tried to delete an object that is still
  2249  //   in use. For example:
  2250  //
  2251  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  2252  //
  2253  //      * You tried to delete a Rule that is still referenced by a WebACL.
  2254  //
  2255  //   * WAFStaleDataException
  2256  //   The operation failed because you tried to create, update, or delete an object
  2257  //   by using a change token that has already been used.
  2258  //
  2259  //   * WAFNonEmptyEntityException
  2260  //   The operation failed because you tried to delete an object that isn't empty.
  2261  //   For example:
  2262  //
  2263  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  2264  //
  2265  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  2266  //      objects or other predicates.
  2267  //
  2268  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  2269  //      objects.
  2270  //
  2271  //      * You tried to delete an IPSet that references one or more IP addresses.
  2272  //
  2273  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteByteMatchSet
  2274  func (c *WAFRegional) DeleteByteMatchSet(input *waf.DeleteByteMatchSetInput) (*waf.DeleteByteMatchSetOutput, error) {
  2275  	req, out := c.DeleteByteMatchSetRequest(input)
  2276  	return out, req.Send()
  2277  }
  2278  
  2279  // DeleteByteMatchSetWithContext is the same as DeleteByteMatchSet with the addition of
  2280  // the ability to pass a context and additional request options.
  2281  //
  2282  // See DeleteByteMatchSet for details on how to use this API operation.
  2283  //
  2284  // The context must be non-nil and will be used for request cancellation. If
  2285  // the context is nil a panic will occur. In the future the SDK may create
  2286  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2287  // for more information on using Contexts.
  2288  func (c *WAFRegional) DeleteByteMatchSetWithContext(ctx aws.Context, input *waf.DeleteByteMatchSetInput, opts ...request.Option) (*waf.DeleteByteMatchSetOutput, error) {
  2289  	req, out := c.DeleteByteMatchSetRequest(input)
  2290  	req.SetContext(ctx)
  2291  	req.ApplyOptions(opts...)
  2292  	return out, req.Send()
  2293  }
  2294  
  2295  const opDeleteGeoMatchSet = "DeleteGeoMatchSet"
  2296  
  2297  // DeleteGeoMatchSetRequest generates a "aws/request.Request" representing the
  2298  // client's request for the DeleteGeoMatchSet operation. The "output" return
  2299  // value will be populated with the request's response once the request completes
  2300  // successfully.
  2301  //
  2302  // Use "Send" method on the returned Request to send the API call to the service.
  2303  // the "output" return value is not valid until after Send returns without error.
  2304  //
  2305  // See DeleteGeoMatchSet for more information on using the DeleteGeoMatchSet
  2306  // API call, and error handling.
  2307  //
  2308  // This method is useful when you want to inject custom logic or configuration
  2309  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2310  //
  2311  //
  2312  //    // Example sending a request using the DeleteGeoMatchSetRequest method.
  2313  //    req, resp := client.DeleteGeoMatchSetRequest(params)
  2314  //
  2315  //    err := req.Send()
  2316  //    if err == nil { // resp is now filled
  2317  //        fmt.Println(resp)
  2318  //    }
  2319  //
  2320  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet
  2321  func (c *WAFRegional) DeleteGeoMatchSetRequest(input *waf.DeleteGeoMatchSetInput) (req *request.Request, output *waf.DeleteGeoMatchSetOutput) {
  2322  	op := &request.Operation{
  2323  		Name:       opDeleteGeoMatchSet,
  2324  		HTTPMethod: "POST",
  2325  		HTTPPath:   "/",
  2326  	}
  2327  
  2328  	if input == nil {
  2329  		input = &waf.DeleteGeoMatchSetInput{}
  2330  	}
  2331  
  2332  	output = &waf.DeleteGeoMatchSetOutput{}
  2333  	req = c.newRequest(op, input, output)
  2334  	return
  2335  }
  2336  
  2337  // DeleteGeoMatchSet API operation for AWS WAF Regional.
  2338  //
  2339  //
  2340  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2341  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2342  // in the developer guide.
  2343  //
  2344  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2345  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2346  // With the latest version, AWS WAF has a single set of endpoints for regional
  2347  // and global use.
  2348  //
  2349  // Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's
  2350  // still used in any Rules or if it still includes any countries.
  2351  //
  2352  // If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.
  2353  //
  2354  // To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:
  2355  //
  2356  // Update the GeoMatchSet to remove any countries. For more information, see
  2357  // UpdateGeoMatchSet.
  2358  //
  2359  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2360  // parameter of a DeleteGeoMatchSet request.
  2361  //
  2362  // Submit a DeleteGeoMatchSet request.
  2363  //
  2364  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2365  // with awserr.Error's Code and Message methods to get detailed information about
  2366  // the error.
  2367  //
  2368  // See the AWS API reference guide for AWS WAF Regional's
  2369  // API operation DeleteGeoMatchSet for usage and error information.
  2370  //
  2371  // Returned Error Types:
  2372  //   * WAFStaleDataException
  2373  //   The operation failed because you tried to create, update, or delete an object
  2374  //   by using a change token that has already been used.
  2375  //
  2376  //   * WAFInternalErrorException
  2377  //   The operation failed because of a system problem, even though the request
  2378  //   was valid. Retry your request.
  2379  //
  2380  //   * WAFInvalidAccountException
  2381  //   The operation failed because you tried to create, update, or delete an object
  2382  //   by using an invalid account identifier.
  2383  //
  2384  //   * WAFNonexistentItemException
  2385  //   The operation failed because the referenced object doesn't exist.
  2386  //
  2387  //   * WAFReferencedItemException
  2388  //   The operation failed because you tried to delete an object that is still
  2389  //   in use. For example:
  2390  //
  2391  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  2392  //
  2393  //      * You tried to delete a Rule that is still referenced by a WebACL.
  2394  //
  2395  //   * WAFNonEmptyEntityException
  2396  //   The operation failed because you tried to delete an object that isn't empty.
  2397  //   For example:
  2398  //
  2399  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  2400  //
  2401  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  2402  //      objects or other predicates.
  2403  //
  2404  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  2405  //      objects.
  2406  //
  2407  //      * You tried to delete an IPSet that references one or more IP addresses.
  2408  //
  2409  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet
  2410  func (c *WAFRegional) DeleteGeoMatchSet(input *waf.DeleteGeoMatchSetInput) (*waf.DeleteGeoMatchSetOutput, error) {
  2411  	req, out := c.DeleteGeoMatchSetRequest(input)
  2412  	return out, req.Send()
  2413  }
  2414  
  2415  // DeleteGeoMatchSetWithContext is the same as DeleteGeoMatchSet with the addition of
  2416  // the ability to pass a context and additional request options.
  2417  //
  2418  // See DeleteGeoMatchSet for details on how to use this API operation.
  2419  //
  2420  // The context must be non-nil and will be used for request cancellation. If
  2421  // the context is nil a panic will occur. In the future the SDK may create
  2422  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2423  // for more information on using Contexts.
  2424  func (c *WAFRegional) DeleteGeoMatchSetWithContext(ctx aws.Context, input *waf.DeleteGeoMatchSetInput, opts ...request.Option) (*waf.DeleteGeoMatchSetOutput, error) {
  2425  	req, out := c.DeleteGeoMatchSetRequest(input)
  2426  	req.SetContext(ctx)
  2427  	req.ApplyOptions(opts...)
  2428  	return out, req.Send()
  2429  }
  2430  
  2431  const opDeleteIPSet = "DeleteIPSet"
  2432  
  2433  // DeleteIPSetRequest generates a "aws/request.Request" representing the
  2434  // client's request for the DeleteIPSet operation. The "output" return
  2435  // value will be populated with the request's response once the request completes
  2436  // successfully.
  2437  //
  2438  // Use "Send" method on the returned Request to send the API call to the service.
  2439  // the "output" return value is not valid until after Send returns without error.
  2440  //
  2441  // See DeleteIPSet for more information on using the DeleteIPSet
  2442  // API call, and error handling.
  2443  //
  2444  // This method is useful when you want to inject custom logic or configuration
  2445  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2446  //
  2447  //
  2448  //    // Example sending a request using the DeleteIPSetRequest method.
  2449  //    req, resp := client.DeleteIPSetRequest(params)
  2450  //
  2451  //    err := req.Send()
  2452  //    if err == nil { // resp is now filled
  2453  //        fmt.Println(resp)
  2454  //    }
  2455  //
  2456  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet
  2457  func (c *WAFRegional) DeleteIPSetRequest(input *waf.DeleteIPSetInput) (req *request.Request, output *waf.DeleteIPSetOutput) {
  2458  	op := &request.Operation{
  2459  		Name:       opDeleteIPSet,
  2460  		HTTPMethod: "POST",
  2461  		HTTPPath:   "/",
  2462  	}
  2463  
  2464  	if input == nil {
  2465  		input = &waf.DeleteIPSetInput{}
  2466  	}
  2467  
  2468  	output = &waf.DeleteIPSetOutput{}
  2469  	req = c.newRequest(op, input, output)
  2470  	return
  2471  }
  2472  
  2473  // DeleteIPSet API operation for AWS WAF Regional.
  2474  //
  2475  //
  2476  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2477  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2478  // in the developer guide.
  2479  //
  2480  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2481  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2482  // With the latest version, AWS WAF has a single set of endpoints for regional
  2483  // and global use.
  2484  //
  2485  // Permanently deletes an IPSet. You can't delete an IPSet if it's still used
  2486  // in any Rules or if it still includes any IP addresses.
  2487  //
  2488  // If you just want to remove an IPSet from a Rule, use UpdateRule.
  2489  //
  2490  // To permanently delete an IPSet from AWS WAF, perform the following steps:
  2491  //
  2492  // Update the IPSet to remove IP address ranges, if any. For more information,
  2493  // see UpdateIPSet.
  2494  //
  2495  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2496  // parameter of a DeleteIPSet request.
  2497  //
  2498  // Submit a DeleteIPSet request.
  2499  //
  2500  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2501  // with awserr.Error's Code and Message methods to get detailed information about
  2502  // the error.
  2503  //
  2504  // See the AWS API reference guide for AWS WAF Regional's
  2505  // API operation DeleteIPSet for usage and error information.
  2506  //
  2507  // Returned Error Types:
  2508  //   * WAFStaleDataException
  2509  //   The operation failed because you tried to create, update, or delete an object
  2510  //   by using a change token that has already been used.
  2511  //
  2512  //   * WAFInternalErrorException
  2513  //   The operation failed because of a system problem, even though the request
  2514  //   was valid. Retry your request.
  2515  //
  2516  //   * WAFInvalidAccountException
  2517  //   The operation failed because you tried to create, update, or delete an object
  2518  //   by using an invalid account identifier.
  2519  //
  2520  //   * WAFNonexistentItemException
  2521  //   The operation failed because the referenced object doesn't exist.
  2522  //
  2523  //   * WAFReferencedItemException
  2524  //   The operation failed because you tried to delete an object that is still
  2525  //   in use. For example:
  2526  //
  2527  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  2528  //
  2529  //      * You tried to delete a Rule that is still referenced by a WebACL.
  2530  //
  2531  //   * WAFNonEmptyEntityException
  2532  //   The operation failed because you tried to delete an object that isn't empty.
  2533  //   For example:
  2534  //
  2535  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  2536  //
  2537  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  2538  //      objects or other predicates.
  2539  //
  2540  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  2541  //      objects.
  2542  //
  2543  //      * You tried to delete an IPSet that references one or more IP addresses.
  2544  //
  2545  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteIPSet
  2546  func (c *WAFRegional) DeleteIPSet(input *waf.DeleteIPSetInput) (*waf.DeleteIPSetOutput, error) {
  2547  	req, out := c.DeleteIPSetRequest(input)
  2548  	return out, req.Send()
  2549  }
  2550  
  2551  // DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
  2552  // the ability to pass a context and additional request options.
  2553  //
  2554  // See DeleteIPSet for details on how to use this API operation.
  2555  //
  2556  // The context must be non-nil and will be used for request cancellation. If
  2557  // the context is nil a panic will occur. In the future the SDK may create
  2558  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2559  // for more information on using Contexts.
  2560  func (c *WAFRegional) DeleteIPSetWithContext(ctx aws.Context, input *waf.DeleteIPSetInput, opts ...request.Option) (*waf.DeleteIPSetOutput, error) {
  2561  	req, out := c.DeleteIPSetRequest(input)
  2562  	req.SetContext(ctx)
  2563  	req.ApplyOptions(opts...)
  2564  	return out, req.Send()
  2565  }
  2566  
  2567  const opDeleteLoggingConfiguration = "DeleteLoggingConfiguration"
  2568  
  2569  // DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the
  2570  // client's request for the DeleteLoggingConfiguration operation. The "output" return
  2571  // value will be populated with the request's response once the request completes
  2572  // successfully.
  2573  //
  2574  // Use "Send" method on the returned Request to send the API call to the service.
  2575  // the "output" return value is not valid until after Send returns without error.
  2576  //
  2577  // See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration
  2578  // API call, and error handling.
  2579  //
  2580  // This method is useful when you want to inject custom logic or configuration
  2581  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2582  //
  2583  //
  2584  //    // Example sending a request using the DeleteLoggingConfigurationRequest method.
  2585  //    req, resp := client.DeleteLoggingConfigurationRequest(params)
  2586  //
  2587  //    err := req.Send()
  2588  //    if err == nil { // resp is now filled
  2589  //        fmt.Println(resp)
  2590  //    }
  2591  //
  2592  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration
  2593  func (c *WAFRegional) DeleteLoggingConfigurationRequest(input *waf.DeleteLoggingConfigurationInput) (req *request.Request, output *waf.DeleteLoggingConfigurationOutput) {
  2594  	op := &request.Operation{
  2595  		Name:       opDeleteLoggingConfiguration,
  2596  		HTTPMethod: "POST",
  2597  		HTTPPath:   "/",
  2598  	}
  2599  
  2600  	if input == nil {
  2601  		input = &waf.DeleteLoggingConfigurationInput{}
  2602  	}
  2603  
  2604  	output = &waf.DeleteLoggingConfigurationOutput{}
  2605  	req = c.newRequest(op, input, output)
  2606  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2607  	return
  2608  }
  2609  
  2610  // DeleteLoggingConfiguration API operation for AWS WAF Regional.
  2611  //
  2612  //
  2613  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2614  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2615  // in the developer guide.
  2616  //
  2617  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2618  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2619  // With the latest version, AWS WAF has a single set of endpoints for regional
  2620  // and global use.
  2621  //
  2622  // Permanently deletes the LoggingConfiguration from the specified web ACL.
  2623  //
  2624  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2625  // with awserr.Error's Code and Message methods to get detailed information about
  2626  // the error.
  2627  //
  2628  // See the AWS API reference guide for AWS WAF Regional's
  2629  // API operation DeleteLoggingConfiguration for usage and error information.
  2630  //
  2631  // Returned Error Types:
  2632  //   * WAFInternalErrorException
  2633  //   The operation failed because of a system problem, even though the request
  2634  //   was valid. Retry your request.
  2635  //
  2636  //   * WAFNonexistentItemException
  2637  //   The operation failed because the referenced object doesn't exist.
  2638  //
  2639  //   * WAFStaleDataException
  2640  //   The operation failed because you tried to create, update, or delete an object
  2641  //   by using a change token that has already been used.
  2642  //
  2643  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteLoggingConfiguration
  2644  func (c *WAFRegional) DeleteLoggingConfiguration(input *waf.DeleteLoggingConfigurationInput) (*waf.DeleteLoggingConfigurationOutput, error) {
  2645  	req, out := c.DeleteLoggingConfigurationRequest(input)
  2646  	return out, req.Send()
  2647  }
  2648  
  2649  // DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of
  2650  // the ability to pass a context and additional request options.
  2651  //
  2652  // See DeleteLoggingConfiguration for details on how to use this API operation.
  2653  //
  2654  // The context must be non-nil and will be used for request cancellation. If
  2655  // the context is nil a panic will occur. In the future the SDK may create
  2656  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2657  // for more information on using Contexts.
  2658  func (c *WAFRegional) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *waf.DeleteLoggingConfigurationInput, opts ...request.Option) (*waf.DeleteLoggingConfigurationOutput, error) {
  2659  	req, out := c.DeleteLoggingConfigurationRequest(input)
  2660  	req.SetContext(ctx)
  2661  	req.ApplyOptions(opts...)
  2662  	return out, req.Send()
  2663  }
  2664  
  2665  const opDeletePermissionPolicy = "DeletePermissionPolicy"
  2666  
  2667  // DeletePermissionPolicyRequest generates a "aws/request.Request" representing the
  2668  // client's request for the DeletePermissionPolicy operation. The "output" return
  2669  // value will be populated with the request's response once the request completes
  2670  // successfully.
  2671  //
  2672  // Use "Send" method on the returned Request to send the API call to the service.
  2673  // the "output" return value is not valid until after Send returns without error.
  2674  //
  2675  // See DeletePermissionPolicy for more information on using the DeletePermissionPolicy
  2676  // API call, and error handling.
  2677  //
  2678  // This method is useful when you want to inject custom logic or configuration
  2679  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2680  //
  2681  //
  2682  //    // Example sending a request using the DeletePermissionPolicyRequest method.
  2683  //    req, resp := client.DeletePermissionPolicyRequest(params)
  2684  //
  2685  //    err := req.Send()
  2686  //    if err == nil { // resp is now filled
  2687  //        fmt.Println(resp)
  2688  //    }
  2689  //
  2690  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy
  2691  func (c *WAFRegional) DeletePermissionPolicyRequest(input *waf.DeletePermissionPolicyInput) (req *request.Request, output *waf.DeletePermissionPolicyOutput) {
  2692  	op := &request.Operation{
  2693  		Name:       opDeletePermissionPolicy,
  2694  		HTTPMethod: "POST",
  2695  		HTTPPath:   "/",
  2696  	}
  2697  
  2698  	if input == nil {
  2699  		input = &waf.DeletePermissionPolicyInput{}
  2700  	}
  2701  
  2702  	output = &waf.DeletePermissionPolicyOutput{}
  2703  	req = c.newRequest(op, input, output)
  2704  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2705  	return
  2706  }
  2707  
  2708  // DeletePermissionPolicy API operation for AWS WAF Regional.
  2709  //
  2710  //
  2711  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2712  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2713  // in the developer guide.
  2714  //
  2715  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2716  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2717  // With the latest version, AWS WAF has a single set of endpoints for regional
  2718  // and global use.
  2719  //
  2720  // Permanently deletes an IAM policy from the specified RuleGroup.
  2721  //
  2722  // The user making the request must be the owner of the RuleGroup.
  2723  //
  2724  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2725  // with awserr.Error's Code and Message methods to get detailed information about
  2726  // the error.
  2727  //
  2728  // See the AWS API reference guide for AWS WAF Regional's
  2729  // API operation DeletePermissionPolicy for usage and error information.
  2730  //
  2731  // Returned Error Types:
  2732  //   * WAFInternalErrorException
  2733  //   The operation failed because of a system problem, even though the request
  2734  //   was valid. Retry your request.
  2735  //
  2736  //   * WAFStaleDataException
  2737  //   The operation failed because you tried to create, update, or delete an object
  2738  //   by using a change token that has already been used.
  2739  //
  2740  //   * WAFNonexistentItemException
  2741  //   The operation failed because the referenced object doesn't exist.
  2742  //
  2743  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeletePermissionPolicy
  2744  func (c *WAFRegional) DeletePermissionPolicy(input *waf.DeletePermissionPolicyInput) (*waf.DeletePermissionPolicyOutput, error) {
  2745  	req, out := c.DeletePermissionPolicyRequest(input)
  2746  	return out, req.Send()
  2747  }
  2748  
  2749  // DeletePermissionPolicyWithContext is the same as DeletePermissionPolicy with the addition of
  2750  // the ability to pass a context and additional request options.
  2751  //
  2752  // See DeletePermissionPolicy for details on how to use this API operation.
  2753  //
  2754  // The context must be non-nil and will be used for request cancellation. If
  2755  // the context is nil a panic will occur. In the future the SDK may create
  2756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2757  // for more information on using Contexts.
  2758  func (c *WAFRegional) DeletePermissionPolicyWithContext(ctx aws.Context, input *waf.DeletePermissionPolicyInput, opts ...request.Option) (*waf.DeletePermissionPolicyOutput, error) {
  2759  	req, out := c.DeletePermissionPolicyRequest(input)
  2760  	req.SetContext(ctx)
  2761  	req.ApplyOptions(opts...)
  2762  	return out, req.Send()
  2763  }
  2764  
  2765  const opDeleteRateBasedRule = "DeleteRateBasedRule"
  2766  
  2767  // DeleteRateBasedRuleRequest generates a "aws/request.Request" representing the
  2768  // client's request for the DeleteRateBasedRule operation. The "output" return
  2769  // value will be populated with the request's response once the request completes
  2770  // successfully.
  2771  //
  2772  // Use "Send" method on the returned Request to send the API call to the service.
  2773  // the "output" return value is not valid until after Send returns without error.
  2774  //
  2775  // See DeleteRateBasedRule for more information on using the DeleteRateBasedRule
  2776  // API call, and error handling.
  2777  //
  2778  // This method is useful when you want to inject custom logic or configuration
  2779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2780  //
  2781  //
  2782  //    // Example sending a request using the DeleteRateBasedRuleRequest method.
  2783  //    req, resp := client.DeleteRateBasedRuleRequest(params)
  2784  //
  2785  //    err := req.Send()
  2786  //    if err == nil { // resp is now filled
  2787  //        fmt.Println(resp)
  2788  //    }
  2789  //
  2790  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule
  2791  func (c *WAFRegional) DeleteRateBasedRuleRequest(input *waf.DeleteRateBasedRuleInput) (req *request.Request, output *waf.DeleteRateBasedRuleOutput) {
  2792  	op := &request.Operation{
  2793  		Name:       opDeleteRateBasedRule,
  2794  		HTTPMethod: "POST",
  2795  		HTTPPath:   "/",
  2796  	}
  2797  
  2798  	if input == nil {
  2799  		input = &waf.DeleteRateBasedRuleInput{}
  2800  	}
  2801  
  2802  	output = &waf.DeleteRateBasedRuleOutput{}
  2803  	req = c.newRequest(op, input, output)
  2804  	return
  2805  }
  2806  
  2807  // DeleteRateBasedRule API operation for AWS WAF Regional.
  2808  //
  2809  //
  2810  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2811  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2812  // in the developer guide.
  2813  //
  2814  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2815  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2816  // With the latest version, AWS WAF has a single set of endpoints for regional
  2817  // and global use.
  2818  //
  2819  // Permanently deletes a RateBasedRule. You can't delete a rule if it's still
  2820  // used in any WebACL objects or if it still includes any predicates, such as
  2821  // ByteMatchSet objects.
  2822  //
  2823  // If you just want to remove a rule from a WebACL, use UpdateWebACL.
  2824  //
  2825  // To permanently delete a RateBasedRule from AWS WAF, perform the following
  2826  // steps:
  2827  //
  2828  // Update the RateBasedRule to remove predicates, if any. For more information,
  2829  // see UpdateRateBasedRule.
  2830  //
  2831  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2832  // parameter of a DeleteRateBasedRule request.
  2833  //
  2834  // Submit a DeleteRateBasedRule request.
  2835  //
  2836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2837  // with awserr.Error's Code and Message methods to get detailed information about
  2838  // the error.
  2839  //
  2840  // See the AWS API reference guide for AWS WAF Regional's
  2841  // API operation DeleteRateBasedRule for usage and error information.
  2842  //
  2843  // Returned Error Types:
  2844  //   * WAFStaleDataException
  2845  //   The operation failed because you tried to create, update, or delete an object
  2846  //   by using a change token that has already been used.
  2847  //
  2848  //   * WAFInternalErrorException
  2849  //   The operation failed because of a system problem, even though the request
  2850  //   was valid. Retry your request.
  2851  //
  2852  //   * WAFInvalidAccountException
  2853  //   The operation failed because you tried to create, update, or delete an object
  2854  //   by using an invalid account identifier.
  2855  //
  2856  //   * WAFNonexistentItemException
  2857  //   The operation failed because the referenced object doesn't exist.
  2858  //
  2859  //   * WAFReferencedItemException
  2860  //   The operation failed because you tried to delete an object that is still
  2861  //   in use. For example:
  2862  //
  2863  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  2864  //
  2865  //      * You tried to delete a Rule that is still referenced by a WebACL.
  2866  //
  2867  //   * WAFNonEmptyEntityException
  2868  //   The operation failed because you tried to delete an object that isn't empty.
  2869  //   For example:
  2870  //
  2871  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  2872  //
  2873  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  2874  //      objects or other predicates.
  2875  //
  2876  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  2877  //      objects.
  2878  //
  2879  //      * You tried to delete an IPSet that references one or more IP addresses.
  2880  //
  2881  //   * WAFTagOperationException
  2882  //
  2883  //   * WAFTagOperationInternalErrorException
  2884  //
  2885  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRateBasedRule
  2886  func (c *WAFRegional) DeleteRateBasedRule(input *waf.DeleteRateBasedRuleInput) (*waf.DeleteRateBasedRuleOutput, error) {
  2887  	req, out := c.DeleteRateBasedRuleRequest(input)
  2888  	return out, req.Send()
  2889  }
  2890  
  2891  // DeleteRateBasedRuleWithContext is the same as DeleteRateBasedRule with the addition of
  2892  // the ability to pass a context and additional request options.
  2893  //
  2894  // See DeleteRateBasedRule for details on how to use this API operation.
  2895  //
  2896  // The context must be non-nil and will be used for request cancellation. If
  2897  // the context is nil a panic will occur. In the future the SDK may create
  2898  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2899  // for more information on using Contexts.
  2900  func (c *WAFRegional) DeleteRateBasedRuleWithContext(ctx aws.Context, input *waf.DeleteRateBasedRuleInput, opts ...request.Option) (*waf.DeleteRateBasedRuleOutput, error) {
  2901  	req, out := c.DeleteRateBasedRuleRequest(input)
  2902  	req.SetContext(ctx)
  2903  	req.ApplyOptions(opts...)
  2904  	return out, req.Send()
  2905  }
  2906  
  2907  const opDeleteRegexMatchSet = "DeleteRegexMatchSet"
  2908  
  2909  // DeleteRegexMatchSetRequest generates a "aws/request.Request" representing the
  2910  // client's request for the DeleteRegexMatchSet operation. The "output" return
  2911  // value will be populated with the request's response once the request completes
  2912  // successfully.
  2913  //
  2914  // Use "Send" method on the returned Request to send the API call to the service.
  2915  // the "output" return value is not valid until after Send returns without error.
  2916  //
  2917  // See DeleteRegexMatchSet for more information on using the DeleteRegexMatchSet
  2918  // API call, and error handling.
  2919  //
  2920  // This method is useful when you want to inject custom logic or configuration
  2921  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2922  //
  2923  //
  2924  //    // Example sending a request using the DeleteRegexMatchSetRequest method.
  2925  //    req, resp := client.DeleteRegexMatchSetRequest(params)
  2926  //
  2927  //    err := req.Send()
  2928  //    if err == nil { // resp is now filled
  2929  //        fmt.Println(resp)
  2930  //    }
  2931  //
  2932  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet
  2933  func (c *WAFRegional) DeleteRegexMatchSetRequest(input *waf.DeleteRegexMatchSetInput) (req *request.Request, output *waf.DeleteRegexMatchSetOutput) {
  2934  	op := &request.Operation{
  2935  		Name:       opDeleteRegexMatchSet,
  2936  		HTTPMethod: "POST",
  2937  		HTTPPath:   "/",
  2938  	}
  2939  
  2940  	if input == nil {
  2941  		input = &waf.DeleteRegexMatchSetInput{}
  2942  	}
  2943  
  2944  	output = &waf.DeleteRegexMatchSetOutput{}
  2945  	req = c.newRequest(op, input, output)
  2946  	return
  2947  }
  2948  
  2949  // DeleteRegexMatchSet API operation for AWS WAF Regional.
  2950  //
  2951  //
  2952  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  2953  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  2954  // in the developer guide.
  2955  //
  2956  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  2957  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  2958  // With the latest version, AWS WAF has a single set of endpoints for regional
  2959  // and global use.
  2960  //
  2961  // Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if
  2962  // it's still used in any Rules or if it still includes any RegexMatchTuples
  2963  // objects (any filters).
  2964  //
  2965  // If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.
  2966  //
  2967  // To permanently delete a RegexMatchSet, perform the following steps:
  2968  //
  2969  // Update the RegexMatchSet to remove filters, if any. For more information,
  2970  // see UpdateRegexMatchSet.
  2971  //
  2972  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  2973  // parameter of a DeleteRegexMatchSet request.
  2974  //
  2975  // Submit a DeleteRegexMatchSet request.
  2976  //
  2977  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2978  // with awserr.Error's Code and Message methods to get detailed information about
  2979  // the error.
  2980  //
  2981  // See the AWS API reference guide for AWS WAF Regional's
  2982  // API operation DeleteRegexMatchSet for usage and error information.
  2983  //
  2984  // Returned Error Types:
  2985  //   * WAFInternalErrorException
  2986  //   The operation failed because of a system problem, even though the request
  2987  //   was valid. Retry your request.
  2988  //
  2989  //   * WAFInvalidAccountException
  2990  //   The operation failed because you tried to create, update, or delete an object
  2991  //   by using an invalid account identifier.
  2992  //
  2993  //   * WAFNonexistentItemException
  2994  //   The operation failed because the referenced object doesn't exist.
  2995  //
  2996  //   * WAFReferencedItemException
  2997  //   The operation failed because you tried to delete an object that is still
  2998  //   in use. For example:
  2999  //
  3000  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3001  //
  3002  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3003  //
  3004  //   * WAFStaleDataException
  3005  //   The operation failed because you tried to create, update, or delete an object
  3006  //   by using a change token that has already been used.
  3007  //
  3008  //   * WAFNonEmptyEntityException
  3009  //   The operation failed because you tried to delete an object that isn't empty.
  3010  //   For example:
  3011  //
  3012  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3013  //
  3014  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3015  //      objects or other predicates.
  3016  //
  3017  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3018  //      objects.
  3019  //
  3020  //      * You tried to delete an IPSet that references one or more IP addresses.
  3021  //
  3022  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet
  3023  func (c *WAFRegional) DeleteRegexMatchSet(input *waf.DeleteRegexMatchSetInput) (*waf.DeleteRegexMatchSetOutput, error) {
  3024  	req, out := c.DeleteRegexMatchSetRequest(input)
  3025  	return out, req.Send()
  3026  }
  3027  
  3028  // DeleteRegexMatchSetWithContext is the same as DeleteRegexMatchSet with the addition of
  3029  // the ability to pass a context and additional request options.
  3030  //
  3031  // See DeleteRegexMatchSet for details on how to use this API operation.
  3032  //
  3033  // The context must be non-nil and will be used for request cancellation. If
  3034  // the context is nil a panic will occur. In the future the SDK may create
  3035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3036  // for more information on using Contexts.
  3037  func (c *WAFRegional) DeleteRegexMatchSetWithContext(ctx aws.Context, input *waf.DeleteRegexMatchSetInput, opts ...request.Option) (*waf.DeleteRegexMatchSetOutput, error) {
  3038  	req, out := c.DeleteRegexMatchSetRequest(input)
  3039  	req.SetContext(ctx)
  3040  	req.ApplyOptions(opts...)
  3041  	return out, req.Send()
  3042  }
  3043  
  3044  const opDeleteRegexPatternSet = "DeleteRegexPatternSet"
  3045  
  3046  // DeleteRegexPatternSetRequest generates a "aws/request.Request" representing the
  3047  // client's request for the DeleteRegexPatternSet operation. The "output" return
  3048  // value will be populated with the request's response once the request completes
  3049  // successfully.
  3050  //
  3051  // Use "Send" method on the returned Request to send the API call to the service.
  3052  // the "output" return value is not valid until after Send returns without error.
  3053  //
  3054  // See DeleteRegexPatternSet for more information on using the DeleteRegexPatternSet
  3055  // API call, and error handling.
  3056  //
  3057  // This method is useful when you want to inject custom logic or configuration
  3058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3059  //
  3060  //
  3061  //    // Example sending a request using the DeleteRegexPatternSetRequest method.
  3062  //    req, resp := client.DeleteRegexPatternSetRequest(params)
  3063  //
  3064  //    err := req.Send()
  3065  //    if err == nil { // resp is now filled
  3066  //        fmt.Println(resp)
  3067  //    }
  3068  //
  3069  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet
  3070  func (c *WAFRegional) DeleteRegexPatternSetRequest(input *waf.DeleteRegexPatternSetInput) (req *request.Request, output *waf.DeleteRegexPatternSetOutput) {
  3071  	op := &request.Operation{
  3072  		Name:       opDeleteRegexPatternSet,
  3073  		HTTPMethod: "POST",
  3074  		HTTPPath:   "/",
  3075  	}
  3076  
  3077  	if input == nil {
  3078  		input = &waf.DeleteRegexPatternSetInput{}
  3079  	}
  3080  
  3081  	output = &waf.DeleteRegexPatternSetOutput{}
  3082  	req = c.newRequest(op, input, output)
  3083  	return
  3084  }
  3085  
  3086  // DeleteRegexPatternSet API operation for AWS WAF Regional.
  3087  //
  3088  //
  3089  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3090  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3091  // in the developer guide.
  3092  //
  3093  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3094  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3095  // With the latest version, AWS WAF has a single set of endpoints for regional
  3096  // and global use.
  3097  //
  3098  // Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet
  3099  // if it's still used in any RegexMatchSet or if the RegexPatternSet is not
  3100  // empty.
  3101  //
  3102  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3103  // with awserr.Error's Code and Message methods to get detailed information about
  3104  // the error.
  3105  //
  3106  // See the AWS API reference guide for AWS WAF Regional's
  3107  // API operation DeleteRegexPatternSet for usage and error information.
  3108  //
  3109  // Returned Error Types:
  3110  //   * WAFInternalErrorException
  3111  //   The operation failed because of a system problem, even though the request
  3112  //   was valid. Retry your request.
  3113  //
  3114  //   * WAFInvalidAccountException
  3115  //   The operation failed because you tried to create, update, or delete an object
  3116  //   by using an invalid account identifier.
  3117  //
  3118  //   * WAFNonexistentItemException
  3119  //   The operation failed because the referenced object doesn't exist.
  3120  //
  3121  //   * WAFReferencedItemException
  3122  //   The operation failed because you tried to delete an object that is still
  3123  //   in use. For example:
  3124  //
  3125  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3126  //
  3127  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3128  //
  3129  //   * WAFStaleDataException
  3130  //   The operation failed because you tried to create, update, or delete an object
  3131  //   by using a change token that has already been used.
  3132  //
  3133  //   * WAFNonEmptyEntityException
  3134  //   The operation failed because you tried to delete an object that isn't empty.
  3135  //   For example:
  3136  //
  3137  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3138  //
  3139  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3140  //      objects or other predicates.
  3141  //
  3142  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3143  //      objects.
  3144  //
  3145  //      * You tried to delete an IPSet that references one or more IP addresses.
  3146  //
  3147  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet
  3148  func (c *WAFRegional) DeleteRegexPatternSet(input *waf.DeleteRegexPatternSetInput) (*waf.DeleteRegexPatternSetOutput, error) {
  3149  	req, out := c.DeleteRegexPatternSetRequest(input)
  3150  	return out, req.Send()
  3151  }
  3152  
  3153  // DeleteRegexPatternSetWithContext is the same as DeleteRegexPatternSet with the addition of
  3154  // the ability to pass a context and additional request options.
  3155  //
  3156  // See DeleteRegexPatternSet for details on how to use this API operation.
  3157  //
  3158  // The context must be non-nil and will be used for request cancellation. If
  3159  // the context is nil a panic will occur. In the future the SDK may create
  3160  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3161  // for more information on using Contexts.
  3162  func (c *WAFRegional) DeleteRegexPatternSetWithContext(ctx aws.Context, input *waf.DeleteRegexPatternSetInput, opts ...request.Option) (*waf.DeleteRegexPatternSetOutput, error) {
  3163  	req, out := c.DeleteRegexPatternSetRequest(input)
  3164  	req.SetContext(ctx)
  3165  	req.ApplyOptions(opts...)
  3166  	return out, req.Send()
  3167  }
  3168  
  3169  const opDeleteRule = "DeleteRule"
  3170  
  3171  // DeleteRuleRequest generates a "aws/request.Request" representing the
  3172  // client's request for the DeleteRule operation. The "output" return
  3173  // value will be populated with the request's response once the request completes
  3174  // successfully.
  3175  //
  3176  // Use "Send" method on the returned Request to send the API call to the service.
  3177  // the "output" return value is not valid until after Send returns without error.
  3178  //
  3179  // See DeleteRule for more information on using the DeleteRule
  3180  // API call, and error handling.
  3181  //
  3182  // This method is useful when you want to inject custom logic or configuration
  3183  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3184  //
  3185  //
  3186  //    // Example sending a request using the DeleteRuleRequest method.
  3187  //    req, resp := client.DeleteRuleRequest(params)
  3188  //
  3189  //    err := req.Send()
  3190  //    if err == nil { // resp is now filled
  3191  //        fmt.Println(resp)
  3192  //    }
  3193  //
  3194  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule
  3195  func (c *WAFRegional) DeleteRuleRequest(input *waf.DeleteRuleInput) (req *request.Request, output *waf.DeleteRuleOutput) {
  3196  	op := &request.Operation{
  3197  		Name:       opDeleteRule,
  3198  		HTTPMethod: "POST",
  3199  		HTTPPath:   "/",
  3200  	}
  3201  
  3202  	if input == nil {
  3203  		input = &waf.DeleteRuleInput{}
  3204  	}
  3205  
  3206  	output = &waf.DeleteRuleOutput{}
  3207  	req = c.newRequest(op, input, output)
  3208  	return
  3209  }
  3210  
  3211  // DeleteRule API operation for AWS WAF Regional.
  3212  //
  3213  //
  3214  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3215  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3216  // in the developer guide.
  3217  //
  3218  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3219  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3220  // With the latest version, AWS WAF has a single set of endpoints for regional
  3221  // and global use.
  3222  //
  3223  // Permanently deletes a Rule. You can't delete a Rule if it's still used in
  3224  // any WebACL objects or if it still includes any predicates, such as ByteMatchSet
  3225  // objects.
  3226  //
  3227  // If you just want to remove a Rule from a WebACL, use UpdateWebACL.
  3228  //
  3229  // To permanently delete a Rule from AWS WAF, perform the following steps:
  3230  //
  3231  // Update the Rule to remove predicates, if any. For more information, see UpdateRule.
  3232  //
  3233  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3234  // parameter of a DeleteRule request.
  3235  //
  3236  // Submit a DeleteRule request.
  3237  //
  3238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3239  // with awserr.Error's Code and Message methods to get detailed information about
  3240  // the error.
  3241  //
  3242  // See the AWS API reference guide for AWS WAF Regional's
  3243  // API operation DeleteRule for usage and error information.
  3244  //
  3245  // Returned Error Types:
  3246  //   * WAFStaleDataException
  3247  //   The operation failed because you tried to create, update, or delete an object
  3248  //   by using a change token that has already been used.
  3249  //
  3250  //   * WAFInternalErrorException
  3251  //   The operation failed because of a system problem, even though the request
  3252  //   was valid. Retry your request.
  3253  //
  3254  //   * WAFInvalidAccountException
  3255  //   The operation failed because you tried to create, update, or delete an object
  3256  //   by using an invalid account identifier.
  3257  //
  3258  //   * WAFNonexistentItemException
  3259  //   The operation failed because the referenced object doesn't exist.
  3260  //
  3261  //   * WAFReferencedItemException
  3262  //   The operation failed because you tried to delete an object that is still
  3263  //   in use. For example:
  3264  //
  3265  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3266  //
  3267  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3268  //
  3269  //   * WAFNonEmptyEntityException
  3270  //   The operation failed because you tried to delete an object that isn't empty.
  3271  //   For example:
  3272  //
  3273  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3274  //
  3275  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3276  //      objects or other predicates.
  3277  //
  3278  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3279  //      objects.
  3280  //
  3281  //      * You tried to delete an IPSet that references one or more IP addresses.
  3282  //
  3283  //   * WAFTagOperationException
  3284  //
  3285  //   * WAFTagOperationInternalErrorException
  3286  //
  3287  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRule
  3288  func (c *WAFRegional) DeleteRule(input *waf.DeleteRuleInput) (*waf.DeleteRuleOutput, error) {
  3289  	req, out := c.DeleteRuleRequest(input)
  3290  	return out, req.Send()
  3291  }
  3292  
  3293  // DeleteRuleWithContext is the same as DeleteRule with the addition of
  3294  // the ability to pass a context and additional request options.
  3295  //
  3296  // See DeleteRule for details on how to use this API operation.
  3297  //
  3298  // The context must be non-nil and will be used for request cancellation. If
  3299  // the context is nil a panic will occur. In the future the SDK may create
  3300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3301  // for more information on using Contexts.
  3302  func (c *WAFRegional) DeleteRuleWithContext(ctx aws.Context, input *waf.DeleteRuleInput, opts ...request.Option) (*waf.DeleteRuleOutput, error) {
  3303  	req, out := c.DeleteRuleRequest(input)
  3304  	req.SetContext(ctx)
  3305  	req.ApplyOptions(opts...)
  3306  	return out, req.Send()
  3307  }
  3308  
  3309  const opDeleteRuleGroup = "DeleteRuleGroup"
  3310  
  3311  // DeleteRuleGroupRequest generates a "aws/request.Request" representing the
  3312  // client's request for the DeleteRuleGroup operation. The "output" return
  3313  // value will be populated with the request's response once the request completes
  3314  // successfully.
  3315  //
  3316  // Use "Send" method on the returned Request to send the API call to the service.
  3317  // the "output" return value is not valid until after Send returns without error.
  3318  //
  3319  // See DeleteRuleGroup for more information on using the DeleteRuleGroup
  3320  // API call, and error handling.
  3321  //
  3322  // This method is useful when you want to inject custom logic or configuration
  3323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3324  //
  3325  //
  3326  //    // Example sending a request using the DeleteRuleGroupRequest method.
  3327  //    req, resp := client.DeleteRuleGroupRequest(params)
  3328  //
  3329  //    err := req.Send()
  3330  //    if err == nil { // resp is now filled
  3331  //        fmt.Println(resp)
  3332  //    }
  3333  //
  3334  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup
  3335  func (c *WAFRegional) DeleteRuleGroupRequest(input *waf.DeleteRuleGroupInput) (req *request.Request, output *waf.DeleteRuleGroupOutput) {
  3336  	op := &request.Operation{
  3337  		Name:       opDeleteRuleGroup,
  3338  		HTTPMethod: "POST",
  3339  		HTTPPath:   "/",
  3340  	}
  3341  
  3342  	if input == nil {
  3343  		input = &waf.DeleteRuleGroupInput{}
  3344  	}
  3345  
  3346  	output = &waf.DeleteRuleGroupOutput{}
  3347  	req = c.newRequest(op, input, output)
  3348  	return
  3349  }
  3350  
  3351  // DeleteRuleGroup API operation for AWS WAF Regional.
  3352  //
  3353  //
  3354  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3355  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3356  // in the developer guide.
  3357  //
  3358  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3359  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3360  // With the latest version, AWS WAF has a single set of endpoints for regional
  3361  // and global use.
  3362  //
  3363  // Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still
  3364  // used in any WebACL objects or if it still includes any rules.
  3365  //
  3366  // If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.
  3367  //
  3368  // To permanently delete a RuleGroup from AWS WAF, perform the following steps:
  3369  //
  3370  // Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.
  3371  //
  3372  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3373  // parameter of a DeleteRuleGroup request.
  3374  //
  3375  // Submit a DeleteRuleGroup request.
  3376  //
  3377  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3378  // with awserr.Error's Code and Message methods to get detailed information about
  3379  // the error.
  3380  //
  3381  // See the AWS API reference guide for AWS WAF Regional's
  3382  // API operation DeleteRuleGroup for usage and error information.
  3383  //
  3384  // Returned Error Types:
  3385  //   * WAFStaleDataException
  3386  //   The operation failed because you tried to create, update, or delete an object
  3387  //   by using a change token that has already been used.
  3388  //
  3389  //   * WAFInternalErrorException
  3390  //   The operation failed because of a system problem, even though the request
  3391  //   was valid. Retry your request.
  3392  //
  3393  //   * WAFNonexistentItemException
  3394  //   The operation failed because the referenced object doesn't exist.
  3395  //
  3396  //   * WAFReferencedItemException
  3397  //   The operation failed because you tried to delete an object that is still
  3398  //   in use. For example:
  3399  //
  3400  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3401  //
  3402  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3403  //
  3404  //   * WAFNonEmptyEntityException
  3405  //   The operation failed because you tried to delete an object that isn't empty.
  3406  //   For example:
  3407  //
  3408  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3409  //
  3410  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3411  //      objects or other predicates.
  3412  //
  3413  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3414  //      objects.
  3415  //
  3416  //      * You tried to delete an IPSet that references one or more IP addresses.
  3417  //
  3418  //   * WAFInvalidOperationException
  3419  //   The operation failed because there was nothing to do. For example:
  3420  //
  3421  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  3422  //      specified WebACL.
  3423  //
  3424  //      * You tried to remove an IP address from an IPSet, but the IP address
  3425  //      isn't in the specified IPSet.
  3426  //
  3427  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  3428  //      isn't in the specified WebACL.
  3429  //
  3430  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  3431  //      the specified WebACL.
  3432  //
  3433  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  3434  //      already exists in the specified WebACL.
  3435  //
  3436  //   * WAFTagOperationException
  3437  //
  3438  //   * WAFTagOperationInternalErrorException
  3439  //
  3440  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroup
  3441  func (c *WAFRegional) DeleteRuleGroup(input *waf.DeleteRuleGroupInput) (*waf.DeleteRuleGroupOutput, error) {
  3442  	req, out := c.DeleteRuleGroupRequest(input)
  3443  	return out, req.Send()
  3444  }
  3445  
  3446  // DeleteRuleGroupWithContext is the same as DeleteRuleGroup with the addition of
  3447  // the ability to pass a context and additional request options.
  3448  //
  3449  // See DeleteRuleGroup for details on how to use this API operation.
  3450  //
  3451  // The context must be non-nil and will be used for request cancellation. If
  3452  // the context is nil a panic will occur. In the future the SDK may create
  3453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3454  // for more information on using Contexts.
  3455  func (c *WAFRegional) DeleteRuleGroupWithContext(ctx aws.Context, input *waf.DeleteRuleGroupInput, opts ...request.Option) (*waf.DeleteRuleGroupOutput, error) {
  3456  	req, out := c.DeleteRuleGroupRequest(input)
  3457  	req.SetContext(ctx)
  3458  	req.ApplyOptions(opts...)
  3459  	return out, req.Send()
  3460  }
  3461  
  3462  const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet"
  3463  
  3464  // DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the
  3465  // client's request for the DeleteSizeConstraintSet operation. The "output" return
  3466  // value will be populated with the request's response once the request completes
  3467  // successfully.
  3468  //
  3469  // Use "Send" method on the returned Request to send the API call to the service.
  3470  // the "output" return value is not valid until after Send returns without error.
  3471  //
  3472  // See DeleteSizeConstraintSet for more information on using the DeleteSizeConstraintSet
  3473  // API call, and error handling.
  3474  //
  3475  // This method is useful when you want to inject custom logic or configuration
  3476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3477  //
  3478  //
  3479  //    // Example sending a request using the DeleteSizeConstraintSetRequest method.
  3480  //    req, resp := client.DeleteSizeConstraintSetRequest(params)
  3481  //
  3482  //    err := req.Send()
  3483  //    if err == nil { // resp is now filled
  3484  //        fmt.Println(resp)
  3485  //    }
  3486  //
  3487  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet
  3488  func (c *WAFRegional) DeleteSizeConstraintSetRequest(input *waf.DeleteSizeConstraintSetInput) (req *request.Request, output *waf.DeleteSizeConstraintSetOutput) {
  3489  	op := &request.Operation{
  3490  		Name:       opDeleteSizeConstraintSet,
  3491  		HTTPMethod: "POST",
  3492  		HTTPPath:   "/",
  3493  	}
  3494  
  3495  	if input == nil {
  3496  		input = &waf.DeleteSizeConstraintSetInput{}
  3497  	}
  3498  
  3499  	output = &waf.DeleteSizeConstraintSetOutput{}
  3500  	req = c.newRequest(op, input, output)
  3501  	return
  3502  }
  3503  
  3504  // DeleteSizeConstraintSet API operation for AWS WAF Regional.
  3505  //
  3506  //
  3507  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3508  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3509  // in the developer guide.
  3510  //
  3511  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3512  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3513  // With the latest version, AWS WAF has a single set of endpoints for regional
  3514  // and global use.
  3515  //
  3516  // Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet
  3517  // if it's still used in any Rules or if it still includes any SizeConstraint
  3518  // objects (any filters).
  3519  //
  3520  // If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.
  3521  //
  3522  // To permanently delete a SizeConstraintSet, perform the following steps:
  3523  //
  3524  // Update the SizeConstraintSet to remove filters, if any. For more information,
  3525  // see UpdateSizeConstraintSet.
  3526  //
  3527  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3528  // parameter of a DeleteSizeConstraintSet request.
  3529  //
  3530  // Submit a DeleteSizeConstraintSet request.
  3531  //
  3532  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3533  // with awserr.Error's Code and Message methods to get detailed information about
  3534  // the error.
  3535  //
  3536  // See the AWS API reference guide for AWS WAF Regional's
  3537  // API operation DeleteSizeConstraintSet for usage and error information.
  3538  //
  3539  // Returned Error Types:
  3540  //   * WAFStaleDataException
  3541  //   The operation failed because you tried to create, update, or delete an object
  3542  //   by using a change token that has already been used.
  3543  //
  3544  //   * WAFInternalErrorException
  3545  //   The operation failed because of a system problem, even though the request
  3546  //   was valid. Retry your request.
  3547  //
  3548  //   * WAFInvalidAccountException
  3549  //   The operation failed because you tried to create, update, or delete an object
  3550  //   by using an invalid account identifier.
  3551  //
  3552  //   * WAFNonexistentItemException
  3553  //   The operation failed because the referenced object doesn't exist.
  3554  //
  3555  //   * WAFReferencedItemException
  3556  //   The operation failed because you tried to delete an object that is still
  3557  //   in use. For example:
  3558  //
  3559  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3560  //
  3561  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3562  //
  3563  //   * WAFNonEmptyEntityException
  3564  //   The operation failed because you tried to delete an object that isn't empty.
  3565  //   For example:
  3566  //
  3567  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3568  //
  3569  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3570  //      objects or other predicates.
  3571  //
  3572  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3573  //      objects.
  3574  //
  3575  //      * You tried to delete an IPSet that references one or more IP addresses.
  3576  //
  3577  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSizeConstraintSet
  3578  func (c *WAFRegional) DeleteSizeConstraintSet(input *waf.DeleteSizeConstraintSetInput) (*waf.DeleteSizeConstraintSetOutput, error) {
  3579  	req, out := c.DeleteSizeConstraintSetRequest(input)
  3580  	return out, req.Send()
  3581  }
  3582  
  3583  // DeleteSizeConstraintSetWithContext is the same as DeleteSizeConstraintSet with the addition of
  3584  // the ability to pass a context and additional request options.
  3585  //
  3586  // See DeleteSizeConstraintSet for details on how to use this API operation.
  3587  //
  3588  // The context must be non-nil and will be used for request cancellation. If
  3589  // the context is nil a panic will occur. In the future the SDK may create
  3590  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3591  // for more information on using Contexts.
  3592  func (c *WAFRegional) DeleteSizeConstraintSetWithContext(ctx aws.Context, input *waf.DeleteSizeConstraintSetInput, opts ...request.Option) (*waf.DeleteSizeConstraintSetOutput, error) {
  3593  	req, out := c.DeleteSizeConstraintSetRequest(input)
  3594  	req.SetContext(ctx)
  3595  	req.ApplyOptions(opts...)
  3596  	return out, req.Send()
  3597  }
  3598  
  3599  const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet"
  3600  
  3601  // DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
  3602  // client's request for the DeleteSqlInjectionMatchSet operation. The "output" return
  3603  // value will be populated with the request's response once the request completes
  3604  // successfully.
  3605  //
  3606  // Use "Send" method on the returned Request to send the API call to the service.
  3607  // the "output" return value is not valid until after Send returns without error.
  3608  //
  3609  // See DeleteSqlInjectionMatchSet for more information on using the DeleteSqlInjectionMatchSet
  3610  // API call, and error handling.
  3611  //
  3612  // This method is useful when you want to inject custom logic or configuration
  3613  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3614  //
  3615  //
  3616  //    // Example sending a request using the DeleteSqlInjectionMatchSetRequest method.
  3617  //    req, resp := client.DeleteSqlInjectionMatchSetRequest(params)
  3618  //
  3619  //    err := req.Send()
  3620  //    if err == nil { // resp is now filled
  3621  //        fmt.Println(resp)
  3622  //    }
  3623  //
  3624  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet
  3625  func (c *WAFRegional) DeleteSqlInjectionMatchSetRequest(input *waf.DeleteSqlInjectionMatchSetInput) (req *request.Request, output *waf.DeleteSqlInjectionMatchSetOutput) {
  3626  	op := &request.Operation{
  3627  		Name:       opDeleteSqlInjectionMatchSet,
  3628  		HTTPMethod: "POST",
  3629  		HTTPPath:   "/",
  3630  	}
  3631  
  3632  	if input == nil {
  3633  		input = &waf.DeleteSqlInjectionMatchSetInput{}
  3634  	}
  3635  
  3636  	output = &waf.DeleteSqlInjectionMatchSetOutput{}
  3637  	req = c.newRequest(op, input, output)
  3638  	return
  3639  }
  3640  
  3641  // DeleteSqlInjectionMatchSet API operation for AWS WAF Regional.
  3642  //
  3643  //
  3644  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3645  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3646  // in the developer guide.
  3647  //
  3648  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3649  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3650  // With the latest version, AWS WAF has a single set of endpoints for regional
  3651  // and global use.
  3652  //
  3653  // Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet
  3654  // if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple
  3655  // objects.
  3656  //
  3657  // If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.
  3658  //
  3659  // To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following
  3660  // steps:
  3661  //
  3662  // Update the SqlInjectionMatchSet to remove filters, if any. For more information,
  3663  // see UpdateSqlInjectionMatchSet.
  3664  //
  3665  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3666  // parameter of a DeleteSqlInjectionMatchSet request.
  3667  //
  3668  // Submit a DeleteSqlInjectionMatchSet request.
  3669  //
  3670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3671  // with awserr.Error's Code and Message methods to get detailed information about
  3672  // the error.
  3673  //
  3674  // See the AWS API reference guide for AWS WAF Regional's
  3675  // API operation DeleteSqlInjectionMatchSet for usage and error information.
  3676  //
  3677  // Returned Error Types:
  3678  //   * WAFInternalErrorException
  3679  //   The operation failed because of a system problem, even though the request
  3680  //   was valid. Retry your request.
  3681  //
  3682  //   * WAFInvalidAccountException
  3683  //   The operation failed because you tried to create, update, or delete an object
  3684  //   by using an invalid account identifier.
  3685  //
  3686  //   * WAFNonexistentItemException
  3687  //   The operation failed because the referenced object doesn't exist.
  3688  //
  3689  //   * WAFReferencedItemException
  3690  //   The operation failed because you tried to delete an object that is still
  3691  //   in use. For example:
  3692  //
  3693  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3694  //
  3695  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3696  //
  3697  //   * WAFStaleDataException
  3698  //   The operation failed because you tried to create, update, or delete an object
  3699  //   by using a change token that has already been used.
  3700  //
  3701  //   * WAFNonEmptyEntityException
  3702  //   The operation failed because you tried to delete an object that isn't empty.
  3703  //   For example:
  3704  //
  3705  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3706  //
  3707  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3708  //      objects or other predicates.
  3709  //
  3710  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3711  //      objects.
  3712  //
  3713  //      * You tried to delete an IPSet that references one or more IP addresses.
  3714  //
  3715  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteSqlInjectionMatchSet
  3716  func (c *WAFRegional) DeleteSqlInjectionMatchSet(input *waf.DeleteSqlInjectionMatchSetInput) (*waf.DeleteSqlInjectionMatchSetOutput, error) {
  3717  	req, out := c.DeleteSqlInjectionMatchSetRequest(input)
  3718  	return out, req.Send()
  3719  }
  3720  
  3721  // DeleteSqlInjectionMatchSetWithContext is the same as DeleteSqlInjectionMatchSet with the addition of
  3722  // the ability to pass a context and additional request options.
  3723  //
  3724  // See DeleteSqlInjectionMatchSet for details on how to use this API operation.
  3725  //
  3726  // The context must be non-nil and will be used for request cancellation. If
  3727  // the context is nil a panic will occur. In the future the SDK may create
  3728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3729  // for more information on using Contexts.
  3730  func (c *WAFRegional) DeleteSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.DeleteSqlInjectionMatchSetInput, opts ...request.Option) (*waf.DeleteSqlInjectionMatchSetOutput, error) {
  3731  	req, out := c.DeleteSqlInjectionMatchSetRequest(input)
  3732  	req.SetContext(ctx)
  3733  	req.ApplyOptions(opts...)
  3734  	return out, req.Send()
  3735  }
  3736  
  3737  const opDeleteWebACL = "DeleteWebACL"
  3738  
  3739  // DeleteWebACLRequest generates a "aws/request.Request" representing the
  3740  // client's request for the DeleteWebACL operation. The "output" return
  3741  // value will be populated with the request's response once the request completes
  3742  // successfully.
  3743  //
  3744  // Use "Send" method on the returned Request to send the API call to the service.
  3745  // the "output" return value is not valid until after Send returns without error.
  3746  //
  3747  // See DeleteWebACL for more information on using the DeleteWebACL
  3748  // API call, and error handling.
  3749  //
  3750  // This method is useful when you want to inject custom logic or configuration
  3751  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3752  //
  3753  //
  3754  //    // Example sending a request using the DeleteWebACLRequest method.
  3755  //    req, resp := client.DeleteWebACLRequest(params)
  3756  //
  3757  //    err := req.Send()
  3758  //    if err == nil { // resp is now filled
  3759  //        fmt.Println(resp)
  3760  //    }
  3761  //
  3762  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL
  3763  func (c *WAFRegional) DeleteWebACLRequest(input *waf.DeleteWebACLInput) (req *request.Request, output *waf.DeleteWebACLOutput) {
  3764  	op := &request.Operation{
  3765  		Name:       opDeleteWebACL,
  3766  		HTTPMethod: "POST",
  3767  		HTTPPath:   "/",
  3768  	}
  3769  
  3770  	if input == nil {
  3771  		input = &waf.DeleteWebACLInput{}
  3772  	}
  3773  
  3774  	output = &waf.DeleteWebACLOutput{}
  3775  	req = c.newRequest(op, input, output)
  3776  	return
  3777  }
  3778  
  3779  // DeleteWebACL API operation for AWS WAF Regional.
  3780  //
  3781  //
  3782  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3783  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3784  // in the developer guide.
  3785  //
  3786  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3787  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3788  // With the latest version, AWS WAF has a single set of endpoints for regional
  3789  // and global use.
  3790  //
  3791  // Permanently deletes a WebACL. You can't delete a WebACL if it still contains
  3792  // any Rules.
  3793  //
  3794  // To delete a WebACL, perform the following steps:
  3795  //
  3796  // Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.
  3797  //
  3798  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3799  // parameter of a DeleteWebACL request.
  3800  //
  3801  // Submit a DeleteWebACL request.
  3802  //
  3803  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3804  // with awserr.Error's Code and Message methods to get detailed information about
  3805  // the error.
  3806  //
  3807  // See the AWS API reference guide for AWS WAF Regional's
  3808  // API operation DeleteWebACL for usage and error information.
  3809  //
  3810  // Returned Error Types:
  3811  //   * WAFStaleDataException
  3812  //   The operation failed because you tried to create, update, or delete an object
  3813  //   by using a change token that has already been used.
  3814  //
  3815  //   * WAFInternalErrorException
  3816  //   The operation failed because of a system problem, even though the request
  3817  //   was valid. Retry your request.
  3818  //
  3819  //   * WAFInvalidAccountException
  3820  //   The operation failed because you tried to create, update, or delete an object
  3821  //   by using an invalid account identifier.
  3822  //
  3823  //   * WAFNonexistentItemException
  3824  //   The operation failed because the referenced object doesn't exist.
  3825  //
  3826  //   * WAFReferencedItemException
  3827  //   The operation failed because you tried to delete an object that is still
  3828  //   in use. For example:
  3829  //
  3830  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3831  //
  3832  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3833  //
  3834  //   * WAFNonEmptyEntityException
  3835  //   The operation failed because you tried to delete an object that isn't empty.
  3836  //   For example:
  3837  //
  3838  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3839  //
  3840  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3841  //      objects or other predicates.
  3842  //
  3843  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3844  //      objects.
  3845  //
  3846  //      * You tried to delete an IPSet that references one or more IP addresses.
  3847  //
  3848  //   * WAFTagOperationException
  3849  //
  3850  //   * WAFTagOperationInternalErrorException
  3851  //
  3852  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteWebACL
  3853  func (c *WAFRegional) DeleteWebACL(input *waf.DeleteWebACLInput) (*waf.DeleteWebACLOutput, error) {
  3854  	req, out := c.DeleteWebACLRequest(input)
  3855  	return out, req.Send()
  3856  }
  3857  
  3858  // DeleteWebACLWithContext is the same as DeleteWebACL with the addition of
  3859  // the ability to pass a context and additional request options.
  3860  //
  3861  // See DeleteWebACL for details on how to use this API operation.
  3862  //
  3863  // The context must be non-nil and will be used for request cancellation. If
  3864  // the context is nil a panic will occur. In the future the SDK may create
  3865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3866  // for more information on using Contexts.
  3867  func (c *WAFRegional) DeleteWebACLWithContext(ctx aws.Context, input *waf.DeleteWebACLInput, opts ...request.Option) (*waf.DeleteWebACLOutput, error) {
  3868  	req, out := c.DeleteWebACLRequest(input)
  3869  	req.SetContext(ctx)
  3870  	req.ApplyOptions(opts...)
  3871  	return out, req.Send()
  3872  }
  3873  
  3874  const opDeleteXssMatchSet = "DeleteXssMatchSet"
  3875  
  3876  // DeleteXssMatchSetRequest generates a "aws/request.Request" representing the
  3877  // client's request for the DeleteXssMatchSet operation. The "output" return
  3878  // value will be populated with the request's response once the request completes
  3879  // successfully.
  3880  //
  3881  // Use "Send" method on the returned Request to send the API call to the service.
  3882  // the "output" return value is not valid until after Send returns without error.
  3883  //
  3884  // See DeleteXssMatchSet for more information on using the DeleteXssMatchSet
  3885  // API call, and error handling.
  3886  //
  3887  // This method is useful when you want to inject custom logic or configuration
  3888  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3889  //
  3890  //
  3891  //    // Example sending a request using the DeleteXssMatchSetRequest method.
  3892  //    req, resp := client.DeleteXssMatchSetRequest(params)
  3893  //
  3894  //    err := req.Send()
  3895  //    if err == nil { // resp is now filled
  3896  //        fmt.Println(resp)
  3897  //    }
  3898  //
  3899  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet
  3900  func (c *WAFRegional) DeleteXssMatchSetRequest(input *waf.DeleteXssMatchSetInput) (req *request.Request, output *waf.DeleteXssMatchSetOutput) {
  3901  	op := &request.Operation{
  3902  		Name:       opDeleteXssMatchSet,
  3903  		HTTPMethod: "POST",
  3904  		HTTPPath:   "/",
  3905  	}
  3906  
  3907  	if input == nil {
  3908  		input = &waf.DeleteXssMatchSetInput{}
  3909  	}
  3910  
  3911  	output = &waf.DeleteXssMatchSetOutput{}
  3912  	req = c.newRequest(op, input, output)
  3913  	return
  3914  }
  3915  
  3916  // DeleteXssMatchSet API operation for AWS WAF Regional.
  3917  //
  3918  //
  3919  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  3920  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  3921  // in the developer guide.
  3922  //
  3923  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  3924  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  3925  // With the latest version, AWS WAF has a single set of endpoints for regional
  3926  // and global use.
  3927  //
  3928  // Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's
  3929  // still used in any Rules or if it still contains any XssMatchTuple objects.
  3930  //
  3931  // If you just want to remove an XssMatchSet from a Rule, use UpdateRule.
  3932  //
  3933  // To permanently delete an XssMatchSet from AWS WAF, perform the following
  3934  // steps:
  3935  //
  3936  // Update the XssMatchSet to remove filters, if any. For more information, see
  3937  // UpdateXssMatchSet.
  3938  //
  3939  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  3940  // parameter of a DeleteXssMatchSet request.
  3941  //
  3942  // Submit a DeleteXssMatchSet request.
  3943  //
  3944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3945  // with awserr.Error's Code and Message methods to get detailed information about
  3946  // the error.
  3947  //
  3948  // See the AWS API reference guide for AWS WAF Regional's
  3949  // API operation DeleteXssMatchSet for usage and error information.
  3950  //
  3951  // Returned Error Types:
  3952  //   * WAFInternalErrorException
  3953  //   The operation failed because of a system problem, even though the request
  3954  //   was valid. Retry your request.
  3955  //
  3956  //   * WAFInvalidAccountException
  3957  //   The operation failed because you tried to create, update, or delete an object
  3958  //   by using an invalid account identifier.
  3959  //
  3960  //   * WAFNonexistentItemException
  3961  //   The operation failed because the referenced object doesn't exist.
  3962  //
  3963  //   * WAFReferencedItemException
  3964  //   The operation failed because you tried to delete an object that is still
  3965  //   in use. For example:
  3966  //
  3967  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  3968  //
  3969  //      * You tried to delete a Rule that is still referenced by a WebACL.
  3970  //
  3971  //   * WAFStaleDataException
  3972  //   The operation failed because you tried to create, update, or delete an object
  3973  //   by using a change token that has already been used.
  3974  //
  3975  //   * WAFNonEmptyEntityException
  3976  //   The operation failed because you tried to delete an object that isn't empty.
  3977  //   For example:
  3978  //
  3979  //      * You tried to delete a WebACL that still contains one or more Rule objects.
  3980  //
  3981  //      * You tried to delete a Rule that still contains one or more ByteMatchSet
  3982  //      objects or other predicates.
  3983  //
  3984  //      * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
  3985  //      objects.
  3986  //
  3987  //      * You tried to delete an IPSet that references one or more IP addresses.
  3988  //
  3989  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteXssMatchSet
  3990  func (c *WAFRegional) DeleteXssMatchSet(input *waf.DeleteXssMatchSetInput) (*waf.DeleteXssMatchSetOutput, error) {
  3991  	req, out := c.DeleteXssMatchSetRequest(input)
  3992  	return out, req.Send()
  3993  }
  3994  
  3995  // DeleteXssMatchSetWithContext is the same as DeleteXssMatchSet with the addition of
  3996  // the ability to pass a context and additional request options.
  3997  //
  3998  // See DeleteXssMatchSet for details on how to use this API operation.
  3999  //
  4000  // The context must be non-nil and will be used for request cancellation. If
  4001  // the context is nil a panic will occur. In the future the SDK may create
  4002  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4003  // for more information on using Contexts.
  4004  func (c *WAFRegional) DeleteXssMatchSetWithContext(ctx aws.Context, input *waf.DeleteXssMatchSetInput, opts ...request.Option) (*waf.DeleteXssMatchSetOutput, error) {
  4005  	req, out := c.DeleteXssMatchSetRequest(input)
  4006  	req.SetContext(ctx)
  4007  	req.ApplyOptions(opts...)
  4008  	return out, req.Send()
  4009  }
  4010  
  4011  const opDisassociateWebACL = "DisassociateWebACL"
  4012  
  4013  // DisassociateWebACLRequest generates a "aws/request.Request" representing the
  4014  // client's request for the DisassociateWebACL operation. The "output" return
  4015  // value will be populated with the request's response once the request completes
  4016  // successfully.
  4017  //
  4018  // Use "Send" method on the returned Request to send the API call to the service.
  4019  // the "output" return value is not valid until after Send returns without error.
  4020  //
  4021  // See DisassociateWebACL for more information on using the DisassociateWebACL
  4022  // API call, and error handling.
  4023  //
  4024  // This method is useful when you want to inject custom logic or configuration
  4025  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4026  //
  4027  //
  4028  //    // Example sending a request using the DisassociateWebACLRequest method.
  4029  //    req, resp := client.DisassociateWebACLRequest(params)
  4030  //
  4031  //    err := req.Send()
  4032  //    if err == nil { // resp is now filled
  4033  //        fmt.Println(resp)
  4034  //    }
  4035  //
  4036  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL
  4037  func (c *WAFRegional) DisassociateWebACLRequest(input *DisassociateWebACLInput) (req *request.Request, output *DisassociateWebACLOutput) {
  4038  	op := &request.Operation{
  4039  		Name:       opDisassociateWebACL,
  4040  		HTTPMethod: "POST",
  4041  		HTTPPath:   "/",
  4042  	}
  4043  
  4044  	if input == nil {
  4045  		input = &DisassociateWebACLInput{}
  4046  	}
  4047  
  4048  	output = &DisassociateWebACLOutput{}
  4049  	req = c.newRequest(op, input, output)
  4050  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4051  	return
  4052  }
  4053  
  4054  // DisassociateWebACL API operation for AWS WAF Regional.
  4055  //
  4056  //
  4057  // This is AWS WAF Classic Regional documentation. For more information, see
  4058  // AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4059  // in the developer guide.
  4060  //
  4061  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4062  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4063  // With the latest version, AWS WAF has a single set of endpoints for regional
  4064  // and global use.
  4065  //
  4066  // Removes a web ACL from the specified resource, either an application load
  4067  // balancer or Amazon API Gateway stage.
  4068  //
  4069  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4070  // with awserr.Error's Code and Message methods to get detailed information about
  4071  // the error.
  4072  //
  4073  // See the AWS API reference guide for AWS WAF Regional's
  4074  // API operation DisassociateWebACL for usage and error information.
  4075  //
  4076  // Returned Error Types:
  4077  //   * WAFInternalErrorException
  4078  //   The operation failed because of a system problem, even though the request
  4079  //   was valid. Retry your request.
  4080  //
  4081  //   * WAFInvalidAccountException
  4082  //   The operation failed because you tried to create, update, or delete an object
  4083  //   by using an invalid account identifier.
  4084  //
  4085  //   * WAFInvalidParameterException
  4086  //   The operation failed because AWS WAF didn't recognize a parameter in the
  4087  //   request. For example:
  4088  //
  4089  //      * You specified an invalid parameter name.
  4090  //
  4091  //      * You specified an invalid value.
  4092  //
  4093  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  4094  //      using an action other than INSERT or DELETE.
  4095  //
  4096  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  4097  //      BLOCK, or COUNT.
  4098  //
  4099  //      * You tried to create a RateBasedRule with a RateKey value other than
  4100  //      IP.
  4101  //
  4102  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  4103  //      BLOCK, or COUNT.
  4104  //
  4105  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  4106  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  4107  //
  4108  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  4109  //      for Data.
  4110  //
  4111  //      * Your request references an ARN that is malformed, or corresponds to
  4112  //      a resource with which a web ACL cannot be associated.
  4113  //
  4114  //   * WAFNonexistentItemException
  4115  //   The operation failed because the referenced object doesn't exist.
  4116  //
  4117  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DisassociateWebACL
  4118  func (c *WAFRegional) DisassociateWebACL(input *DisassociateWebACLInput) (*DisassociateWebACLOutput, error) {
  4119  	req, out := c.DisassociateWebACLRequest(input)
  4120  	return out, req.Send()
  4121  }
  4122  
  4123  // DisassociateWebACLWithContext is the same as DisassociateWebACL with the addition of
  4124  // the ability to pass a context and additional request options.
  4125  //
  4126  // See DisassociateWebACL for details on how to use this API operation.
  4127  //
  4128  // The context must be non-nil and will be used for request cancellation. If
  4129  // the context is nil a panic will occur. In the future the SDK may create
  4130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4131  // for more information on using Contexts.
  4132  func (c *WAFRegional) DisassociateWebACLWithContext(ctx aws.Context, input *DisassociateWebACLInput, opts ...request.Option) (*DisassociateWebACLOutput, error) {
  4133  	req, out := c.DisassociateWebACLRequest(input)
  4134  	req.SetContext(ctx)
  4135  	req.ApplyOptions(opts...)
  4136  	return out, req.Send()
  4137  }
  4138  
  4139  const opGetByteMatchSet = "GetByteMatchSet"
  4140  
  4141  // GetByteMatchSetRequest generates a "aws/request.Request" representing the
  4142  // client's request for the GetByteMatchSet operation. The "output" return
  4143  // value will be populated with the request's response once the request completes
  4144  // successfully.
  4145  //
  4146  // Use "Send" method on the returned Request to send the API call to the service.
  4147  // the "output" return value is not valid until after Send returns without error.
  4148  //
  4149  // See GetByteMatchSet for more information on using the GetByteMatchSet
  4150  // API call, and error handling.
  4151  //
  4152  // This method is useful when you want to inject custom logic or configuration
  4153  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4154  //
  4155  //
  4156  //    // Example sending a request using the GetByteMatchSetRequest method.
  4157  //    req, resp := client.GetByteMatchSetRequest(params)
  4158  //
  4159  //    err := req.Send()
  4160  //    if err == nil { // resp is now filled
  4161  //        fmt.Println(resp)
  4162  //    }
  4163  //
  4164  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet
  4165  func (c *WAFRegional) GetByteMatchSetRequest(input *waf.GetByteMatchSetInput) (req *request.Request, output *waf.GetByteMatchSetOutput) {
  4166  	op := &request.Operation{
  4167  		Name:       opGetByteMatchSet,
  4168  		HTTPMethod: "POST",
  4169  		HTTPPath:   "/",
  4170  	}
  4171  
  4172  	if input == nil {
  4173  		input = &waf.GetByteMatchSetInput{}
  4174  	}
  4175  
  4176  	output = &waf.GetByteMatchSetOutput{}
  4177  	req = c.newRequest(op, input, output)
  4178  	return
  4179  }
  4180  
  4181  // GetByteMatchSet API operation for AWS WAF Regional.
  4182  //
  4183  //
  4184  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4185  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4186  // in the developer guide.
  4187  //
  4188  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4189  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4190  // With the latest version, AWS WAF has a single set of endpoints for regional
  4191  // and global use.
  4192  //
  4193  // Returns the ByteMatchSet specified by ByteMatchSetId.
  4194  //
  4195  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4196  // with awserr.Error's Code and Message methods to get detailed information about
  4197  // the error.
  4198  //
  4199  // See the AWS API reference guide for AWS WAF Regional's
  4200  // API operation GetByteMatchSet for usage and error information.
  4201  //
  4202  // Returned Error Types:
  4203  //   * WAFInternalErrorException
  4204  //   The operation failed because of a system problem, even though the request
  4205  //   was valid. Retry your request.
  4206  //
  4207  //   * WAFInvalidAccountException
  4208  //   The operation failed because you tried to create, update, or delete an object
  4209  //   by using an invalid account identifier.
  4210  //
  4211  //   * WAFNonexistentItemException
  4212  //   The operation failed because the referenced object doesn't exist.
  4213  //
  4214  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetByteMatchSet
  4215  func (c *WAFRegional) GetByteMatchSet(input *waf.GetByteMatchSetInput) (*waf.GetByteMatchSetOutput, error) {
  4216  	req, out := c.GetByteMatchSetRequest(input)
  4217  	return out, req.Send()
  4218  }
  4219  
  4220  // GetByteMatchSetWithContext is the same as GetByteMatchSet with the addition of
  4221  // the ability to pass a context and additional request options.
  4222  //
  4223  // See GetByteMatchSet for details on how to use this API operation.
  4224  //
  4225  // The context must be non-nil and will be used for request cancellation. If
  4226  // the context is nil a panic will occur. In the future the SDK may create
  4227  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4228  // for more information on using Contexts.
  4229  func (c *WAFRegional) GetByteMatchSetWithContext(ctx aws.Context, input *waf.GetByteMatchSetInput, opts ...request.Option) (*waf.GetByteMatchSetOutput, error) {
  4230  	req, out := c.GetByteMatchSetRequest(input)
  4231  	req.SetContext(ctx)
  4232  	req.ApplyOptions(opts...)
  4233  	return out, req.Send()
  4234  }
  4235  
  4236  const opGetChangeToken = "GetChangeToken"
  4237  
  4238  // GetChangeTokenRequest generates a "aws/request.Request" representing the
  4239  // client's request for the GetChangeToken operation. The "output" return
  4240  // value will be populated with the request's response once the request completes
  4241  // successfully.
  4242  //
  4243  // Use "Send" method on the returned Request to send the API call to the service.
  4244  // the "output" return value is not valid until after Send returns without error.
  4245  //
  4246  // See GetChangeToken for more information on using the GetChangeToken
  4247  // API call, and error handling.
  4248  //
  4249  // This method is useful when you want to inject custom logic or configuration
  4250  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4251  //
  4252  //
  4253  //    // Example sending a request using the GetChangeTokenRequest method.
  4254  //    req, resp := client.GetChangeTokenRequest(params)
  4255  //
  4256  //    err := req.Send()
  4257  //    if err == nil { // resp is now filled
  4258  //        fmt.Println(resp)
  4259  //    }
  4260  //
  4261  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken
  4262  func (c *WAFRegional) GetChangeTokenRequest(input *waf.GetChangeTokenInput) (req *request.Request, output *waf.GetChangeTokenOutput) {
  4263  	op := &request.Operation{
  4264  		Name:       opGetChangeToken,
  4265  		HTTPMethod: "POST",
  4266  		HTTPPath:   "/",
  4267  	}
  4268  
  4269  	if input == nil {
  4270  		input = &waf.GetChangeTokenInput{}
  4271  	}
  4272  
  4273  	output = &waf.GetChangeTokenOutput{}
  4274  	req = c.newRequest(op, input, output)
  4275  	return
  4276  }
  4277  
  4278  // GetChangeToken API operation for AWS WAF Regional.
  4279  //
  4280  //
  4281  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4282  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4283  // in the developer guide.
  4284  //
  4285  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4286  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4287  // With the latest version, AWS WAF has a single set of endpoints for regional
  4288  // and global use.
  4289  //
  4290  // When you want to create, update, or delete AWS WAF objects, get a change
  4291  // token and include the change token in the create, update, or delete request.
  4292  // Change tokens ensure that your application doesn't submit conflicting requests
  4293  // to AWS WAF.
  4294  //
  4295  // Each create, update, or delete request must use a unique change token. If
  4296  // your application submits a GetChangeToken request and then submits a second
  4297  // GetChangeToken request before submitting a create, update, or delete request,
  4298  // the second GetChangeToken request returns the same value as the first GetChangeToken
  4299  // request.
  4300  //
  4301  // When you use a change token in a create, update, or delete request, the status
  4302  // of the change token changes to PENDING, which indicates that AWS WAF is propagating
  4303  // the change to all AWS WAF servers. Use GetChangeTokenStatus to determine
  4304  // the status of your change token.
  4305  //
  4306  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4307  // with awserr.Error's Code and Message methods to get detailed information about
  4308  // the error.
  4309  //
  4310  // See the AWS API reference guide for AWS WAF Regional's
  4311  // API operation GetChangeToken for usage and error information.
  4312  //
  4313  // Returned Error Types:
  4314  //   * WAFInternalErrorException
  4315  //   The operation failed because of a system problem, even though the request
  4316  //   was valid. Retry your request.
  4317  //
  4318  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeToken
  4319  func (c *WAFRegional) GetChangeToken(input *waf.GetChangeTokenInput) (*waf.GetChangeTokenOutput, error) {
  4320  	req, out := c.GetChangeTokenRequest(input)
  4321  	return out, req.Send()
  4322  }
  4323  
  4324  // GetChangeTokenWithContext is the same as GetChangeToken with the addition of
  4325  // the ability to pass a context and additional request options.
  4326  //
  4327  // See GetChangeToken for details on how to use this API operation.
  4328  //
  4329  // The context must be non-nil and will be used for request cancellation. If
  4330  // the context is nil a panic will occur. In the future the SDK may create
  4331  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4332  // for more information on using Contexts.
  4333  func (c *WAFRegional) GetChangeTokenWithContext(ctx aws.Context, input *waf.GetChangeTokenInput, opts ...request.Option) (*waf.GetChangeTokenOutput, error) {
  4334  	req, out := c.GetChangeTokenRequest(input)
  4335  	req.SetContext(ctx)
  4336  	req.ApplyOptions(opts...)
  4337  	return out, req.Send()
  4338  }
  4339  
  4340  const opGetChangeTokenStatus = "GetChangeTokenStatus"
  4341  
  4342  // GetChangeTokenStatusRequest generates a "aws/request.Request" representing the
  4343  // client's request for the GetChangeTokenStatus operation. The "output" return
  4344  // value will be populated with the request's response once the request completes
  4345  // successfully.
  4346  //
  4347  // Use "Send" method on the returned Request to send the API call to the service.
  4348  // the "output" return value is not valid until after Send returns without error.
  4349  //
  4350  // See GetChangeTokenStatus for more information on using the GetChangeTokenStatus
  4351  // API call, and error handling.
  4352  //
  4353  // This method is useful when you want to inject custom logic or configuration
  4354  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4355  //
  4356  //
  4357  //    // Example sending a request using the GetChangeTokenStatusRequest method.
  4358  //    req, resp := client.GetChangeTokenStatusRequest(params)
  4359  //
  4360  //    err := req.Send()
  4361  //    if err == nil { // resp is now filled
  4362  //        fmt.Println(resp)
  4363  //    }
  4364  //
  4365  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus
  4366  func (c *WAFRegional) GetChangeTokenStatusRequest(input *waf.GetChangeTokenStatusInput) (req *request.Request, output *waf.GetChangeTokenStatusOutput) {
  4367  	op := &request.Operation{
  4368  		Name:       opGetChangeTokenStatus,
  4369  		HTTPMethod: "POST",
  4370  		HTTPPath:   "/",
  4371  	}
  4372  
  4373  	if input == nil {
  4374  		input = &waf.GetChangeTokenStatusInput{}
  4375  	}
  4376  
  4377  	output = &waf.GetChangeTokenStatusOutput{}
  4378  	req = c.newRequest(op, input, output)
  4379  	return
  4380  }
  4381  
  4382  // GetChangeTokenStatus API operation for AWS WAF Regional.
  4383  //
  4384  //
  4385  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4386  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4387  // in the developer guide.
  4388  //
  4389  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4390  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4391  // With the latest version, AWS WAF has a single set of endpoints for regional
  4392  // and global use.
  4393  //
  4394  // Returns the status of a ChangeToken that you got by calling GetChangeToken.
  4395  // ChangeTokenStatus is one of the following values:
  4396  //
  4397  //    * PROVISIONED: You requested the change token by calling GetChangeToken,
  4398  //    but you haven't used it yet in a call to create, update, or delete an
  4399  //    AWS WAF object.
  4400  //
  4401  //    * PENDING: AWS WAF is propagating the create, update, or delete request
  4402  //    to all AWS WAF servers.
  4403  //
  4404  //    * INSYNC: Propagation is complete.
  4405  //
  4406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4407  // with awserr.Error's Code and Message methods to get detailed information about
  4408  // the error.
  4409  //
  4410  // See the AWS API reference guide for AWS WAF Regional's
  4411  // API operation GetChangeTokenStatus for usage and error information.
  4412  //
  4413  // Returned Error Types:
  4414  //   * WAFNonexistentItemException
  4415  //   The operation failed because the referenced object doesn't exist.
  4416  //
  4417  //   * WAFInternalErrorException
  4418  //   The operation failed because of a system problem, even though the request
  4419  //   was valid. Retry your request.
  4420  //
  4421  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetChangeTokenStatus
  4422  func (c *WAFRegional) GetChangeTokenStatus(input *waf.GetChangeTokenStatusInput) (*waf.GetChangeTokenStatusOutput, error) {
  4423  	req, out := c.GetChangeTokenStatusRequest(input)
  4424  	return out, req.Send()
  4425  }
  4426  
  4427  // GetChangeTokenStatusWithContext is the same as GetChangeTokenStatus with the addition of
  4428  // the ability to pass a context and additional request options.
  4429  //
  4430  // See GetChangeTokenStatus for details on how to use this API operation.
  4431  //
  4432  // The context must be non-nil and will be used for request cancellation. If
  4433  // the context is nil a panic will occur. In the future the SDK may create
  4434  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4435  // for more information on using Contexts.
  4436  func (c *WAFRegional) GetChangeTokenStatusWithContext(ctx aws.Context, input *waf.GetChangeTokenStatusInput, opts ...request.Option) (*waf.GetChangeTokenStatusOutput, error) {
  4437  	req, out := c.GetChangeTokenStatusRequest(input)
  4438  	req.SetContext(ctx)
  4439  	req.ApplyOptions(opts...)
  4440  	return out, req.Send()
  4441  }
  4442  
  4443  const opGetGeoMatchSet = "GetGeoMatchSet"
  4444  
  4445  // GetGeoMatchSetRequest generates a "aws/request.Request" representing the
  4446  // client's request for the GetGeoMatchSet operation. The "output" return
  4447  // value will be populated with the request's response once the request completes
  4448  // successfully.
  4449  //
  4450  // Use "Send" method on the returned Request to send the API call to the service.
  4451  // the "output" return value is not valid until after Send returns without error.
  4452  //
  4453  // See GetGeoMatchSet for more information on using the GetGeoMatchSet
  4454  // API call, and error handling.
  4455  //
  4456  // This method is useful when you want to inject custom logic or configuration
  4457  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4458  //
  4459  //
  4460  //    // Example sending a request using the GetGeoMatchSetRequest method.
  4461  //    req, resp := client.GetGeoMatchSetRequest(params)
  4462  //
  4463  //    err := req.Send()
  4464  //    if err == nil { // resp is now filled
  4465  //        fmt.Println(resp)
  4466  //    }
  4467  //
  4468  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet
  4469  func (c *WAFRegional) GetGeoMatchSetRequest(input *waf.GetGeoMatchSetInput) (req *request.Request, output *waf.GetGeoMatchSetOutput) {
  4470  	op := &request.Operation{
  4471  		Name:       opGetGeoMatchSet,
  4472  		HTTPMethod: "POST",
  4473  		HTTPPath:   "/",
  4474  	}
  4475  
  4476  	if input == nil {
  4477  		input = &waf.GetGeoMatchSetInput{}
  4478  	}
  4479  
  4480  	output = &waf.GetGeoMatchSetOutput{}
  4481  	req = c.newRequest(op, input, output)
  4482  	return
  4483  }
  4484  
  4485  // GetGeoMatchSet API operation for AWS WAF Regional.
  4486  //
  4487  //
  4488  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4489  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4490  // in the developer guide.
  4491  //
  4492  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4493  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4494  // With the latest version, AWS WAF has a single set of endpoints for regional
  4495  // and global use.
  4496  //
  4497  // Returns the GeoMatchSet that is specified by GeoMatchSetId.
  4498  //
  4499  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4500  // with awserr.Error's Code and Message methods to get detailed information about
  4501  // the error.
  4502  //
  4503  // See the AWS API reference guide for AWS WAF Regional's
  4504  // API operation GetGeoMatchSet for usage and error information.
  4505  //
  4506  // Returned Error Types:
  4507  //   * WAFInternalErrorException
  4508  //   The operation failed because of a system problem, even though the request
  4509  //   was valid. Retry your request.
  4510  //
  4511  //   * WAFInvalidAccountException
  4512  //   The operation failed because you tried to create, update, or delete an object
  4513  //   by using an invalid account identifier.
  4514  //
  4515  //   * WAFNonexistentItemException
  4516  //   The operation failed because the referenced object doesn't exist.
  4517  //
  4518  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet
  4519  func (c *WAFRegional) GetGeoMatchSet(input *waf.GetGeoMatchSetInput) (*waf.GetGeoMatchSetOutput, error) {
  4520  	req, out := c.GetGeoMatchSetRequest(input)
  4521  	return out, req.Send()
  4522  }
  4523  
  4524  // GetGeoMatchSetWithContext is the same as GetGeoMatchSet with the addition of
  4525  // the ability to pass a context and additional request options.
  4526  //
  4527  // See GetGeoMatchSet for details on how to use this API operation.
  4528  //
  4529  // The context must be non-nil and will be used for request cancellation. If
  4530  // the context is nil a panic will occur. In the future the SDK may create
  4531  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4532  // for more information on using Contexts.
  4533  func (c *WAFRegional) GetGeoMatchSetWithContext(ctx aws.Context, input *waf.GetGeoMatchSetInput, opts ...request.Option) (*waf.GetGeoMatchSetOutput, error) {
  4534  	req, out := c.GetGeoMatchSetRequest(input)
  4535  	req.SetContext(ctx)
  4536  	req.ApplyOptions(opts...)
  4537  	return out, req.Send()
  4538  }
  4539  
  4540  const opGetIPSet = "GetIPSet"
  4541  
  4542  // GetIPSetRequest generates a "aws/request.Request" representing the
  4543  // client's request for the GetIPSet operation. The "output" return
  4544  // value will be populated with the request's response once the request completes
  4545  // successfully.
  4546  //
  4547  // Use "Send" method on the returned Request to send the API call to the service.
  4548  // the "output" return value is not valid until after Send returns without error.
  4549  //
  4550  // See GetIPSet for more information on using the GetIPSet
  4551  // API call, and error handling.
  4552  //
  4553  // This method is useful when you want to inject custom logic or configuration
  4554  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4555  //
  4556  //
  4557  //    // Example sending a request using the GetIPSetRequest method.
  4558  //    req, resp := client.GetIPSetRequest(params)
  4559  //
  4560  //    err := req.Send()
  4561  //    if err == nil { // resp is now filled
  4562  //        fmt.Println(resp)
  4563  //    }
  4564  //
  4565  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet
  4566  func (c *WAFRegional) GetIPSetRequest(input *waf.GetIPSetInput) (req *request.Request, output *waf.GetIPSetOutput) {
  4567  	op := &request.Operation{
  4568  		Name:       opGetIPSet,
  4569  		HTTPMethod: "POST",
  4570  		HTTPPath:   "/",
  4571  	}
  4572  
  4573  	if input == nil {
  4574  		input = &waf.GetIPSetInput{}
  4575  	}
  4576  
  4577  	output = &waf.GetIPSetOutput{}
  4578  	req = c.newRequest(op, input, output)
  4579  	return
  4580  }
  4581  
  4582  // GetIPSet API operation for AWS WAF Regional.
  4583  //
  4584  //
  4585  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4586  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4587  // in the developer guide.
  4588  //
  4589  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4590  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4591  // With the latest version, AWS WAF has a single set of endpoints for regional
  4592  // and global use.
  4593  //
  4594  // Returns the IPSet that is specified by IPSetId.
  4595  //
  4596  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4597  // with awserr.Error's Code and Message methods to get detailed information about
  4598  // the error.
  4599  //
  4600  // See the AWS API reference guide for AWS WAF Regional's
  4601  // API operation GetIPSet for usage and error information.
  4602  //
  4603  // Returned Error Types:
  4604  //   * WAFInternalErrorException
  4605  //   The operation failed because of a system problem, even though the request
  4606  //   was valid. Retry your request.
  4607  //
  4608  //   * WAFInvalidAccountException
  4609  //   The operation failed because you tried to create, update, or delete an object
  4610  //   by using an invalid account identifier.
  4611  //
  4612  //   * WAFNonexistentItemException
  4613  //   The operation failed because the referenced object doesn't exist.
  4614  //
  4615  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetIPSet
  4616  func (c *WAFRegional) GetIPSet(input *waf.GetIPSetInput) (*waf.GetIPSetOutput, error) {
  4617  	req, out := c.GetIPSetRequest(input)
  4618  	return out, req.Send()
  4619  }
  4620  
  4621  // GetIPSetWithContext is the same as GetIPSet with the addition of
  4622  // the ability to pass a context and additional request options.
  4623  //
  4624  // See GetIPSet for details on how to use this API operation.
  4625  //
  4626  // The context must be non-nil and will be used for request cancellation. If
  4627  // the context is nil a panic will occur. In the future the SDK may create
  4628  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4629  // for more information on using Contexts.
  4630  func (c *WAFRegional) GetIPSetWithContext(ctx aws.Context, input *waf.GetIPSetInput, opts ...request.Option) (*waf.GetIPSetOutput, error) {
  4631  	req, out := c.GetIPSetRequest(input)
  4632  	req.SetContext(ctx)
  4633  	req.ApplyOptions(opts...)
  4634  	return out, req.Send()
  4635  }
  4636  
  4637  const opGetLoggingConfiguration = "GetLoggingConfiguration"
  4638  
  4639  // GetLoggingConfigurationRequest generates a "aws/request.Request" representing the
  4640  // client's request for the GetLoggingConfiguration operation. The "output" return
  4641  // value will be populated with the request's response once the request completes
  4642  // successfully.
  4643  //
  4644  // Use "Send" method on the returned Request to send the API call to the service.
  4645  // the "output" return value is not valid until after Send returns without error.
  4646  //
  4647  // See GetLoggingConfiguration for more information on using the GetLoggingConfiguration
  4648  // API call, and error handling.
  4649  //
  4650  // This method is useful when you want to inject custom logic or configuration
  4651  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4652  //
  4653  //
  4654  //    // Example sending a request using the GetLoggingConfigurationRequest method.
  4655  //    req, resp := client.GetLoggingConfigurationRequest(params)
  4656  //
  4657  //    err := req.Send()
  4658  //    if err == nil { // resp is now filled
  4659  //        fmt.Println(resp)
  4660  //    }
  4661  //
  4662  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration
  4663  func (c *WAFRegional) GetLoggingConfigurationRequest(input *waf.GetLoggingConfigurationInput) (req *request.Request, output *waf.GetLoggingConfigurationOutput) {
  4664  	op := &request.Operation{
  4665  		Name:       opGetLoggingConfiguration,
  4666  		HTTPMethod: "POST",
  4667  		HTTPPath:   "/",
  4668  	}
  4669  
  4670  	if input == nil {
  4671  		input = &waf.GetLoggingConfigurationInput{}
  4672  	}
  4673  
  4674  	output = &waf.GetLoggingConfigurationOutput{}
  4675  	req = c.newRequest(op, input, output)
  4676  	return
  4677  }
  4678  
  4679  // GetLoggingConfiguration API operation for AWS WAF Regional.
  4680  //
  4681  //
  4682  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4683  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4684  // in the developer guide.
  4685  //
  4686  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4687  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4688  // With the latest version, AWS WAF has a single set of endpoints for regional
  4689  // and global use.
  4690  //
  4691  // Returns the LoggingConfiguration for the specified web ACL.
  4692  //
  4693  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4694  // with awserr.Error's Code and Message methods to get detailed information about
  4695  // the error.
  4696  //
  4697  // See the AWS API reference guide for AWS WAF Regional's
  4698  // API operation GetLoggingConfiguration for usage and error information.
  4699  //
  4700  // Returned Error Types:
  4701  //   * WAFInternalErrorException
  4702  //   The operation failed because of a system problem, even though the request
  4703  //   was valid. Retry your request.
  4704  //
  4705  //   * WAFNonexistentItemException
  4706  //   The operation failed because the referenced object doesn't exist.
  4707  //
  4708  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetLoggingConfiguration
  4709  func (c *WAFRegional) GetLoggingConfiguration(input *waf.GetLoggingConfigurationInput) (*waf.GetLoggingConfigurationOutput, error) {
  4710  	req, out := c.GetLoggingConfigurationRequest(input)
  4711  	return out, req.Send()
  4712  }
  4713  
  4714  // GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of
  4715  // the ability to pass a context and additional request options.
  4716  //
  4717  // See GetLoggingConfiguration for details on how to use this API operation.
  4718  //
  4719  // The context must be non-nil and will be used for request cancellation. If
  4720  // the context is nil a panic will occur. In the future the SDK may create
  4721  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4722  // for more information on using Contexts.
  4723  func (c *WAFRegional) GetLoggingConfigurationWithContext(ctx aws.Context, input *waf.GetLoggingConfigurationInput, opts ...request.Option) (*waf.GetLoggingConfigurationOutput, error) {
  4724  	req, out := c.GetLoggingConfigurationRequest(input)
  4725  	req.SetContext(ctx)
  4726  	req.ApplyOptions(opts...)
  4727  	return out, req.Send()
  4728  }
  4729  
  4730  const opGetPermissionPolicy = "GetPermissionPolicy"
  4731  
  4732  // GetPermissionPolicyRequest generates a "aws/request.Request" representing the
  4733  // client's request for the GetPermissionPolicy operation. The "output" return
  4734  // value will be populated with the request's response once the request completes
  4735  // successfully.
  4736  //
  4737  // Use "Send" method on the returned Request to send the API call to the service.
  4738  // the "output" return value is not valid until after Send returns without error.
  4739  //
  4740  // See GetPermissionPolicy for more information on using the GetPermissionPolicy
  4741  // API call, and error handling.
  4742  //
  4743  // This method is useful when you want to inject custom logic or configuration
  4744  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4745  //
  4746  //
  4747  //    // Example sending a request using the GetPermissionPolicyRequest method.
  4748  //    req, resp := client.GetPermissionPolicyRequest(params)
  4749  //
  4750  //    err := req.Send()
  4751  //    if err == nil { // resp is now filled
  4752  //        fmt.Println(resp)
  4753  //    }
  4754  //
  4755  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy
  4756  func (c *WAFRegional) GetPermissionPolicyRequest(input *waf.GetPermissionPolicyInput) (req *request.Request, output *waf.GetPermissionPolicyOutput) {
  4757  	op := &request.Operation{
  4758  		Name:       opGetPermissionPolicy,
  4759  		HTTPMethod: "POST",
  4760  		HTTPPath:   "/",
  4761  	}
  4762  
  4763  	if input == nil {
  4764  		input = &waf.GetPermissionPolicyInput{}
  4765  	}
  4766  
  4767  	output = &waf.GetPermissionPolicyOutput{}
  4768  	req = c.newRequest(op, input, output)
  4769  	return
  4770  }
  4771  
  4772  // GetPermissionPolicy API operation for AWS WAF Regional.
  4773  //
  4774  //
  4775  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4776  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4777  // in the developer guide.
  4778  //
  4779  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4780  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4781  // With the latest version, AWS WAF has a single set of endpoints for regional
  4782  // and global use.
  4783  //
  4784  // Returns the IAM policy attached to the RuleGroup.
  4785  //
  4786  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4787  // with awserr.Error's Code and Message methods to get detailed information about
  4788  // the error.
  4789  //
  4790  // See the AWS API reference guide for AWS WAF Regional's
  4791  // API operation GetPermissionPolicy for usage and error information.
  4792  //
  4793  // Returned Error Types:
  4794  //   * WAFInternalErrorException
  4795  //   The operation failed because of a system problem, even though the request
  4796  //   was valid. Retry your request.
  4797  //
  4798  //   * WAFNonexistentItemException
  4799  //   The operation failed because the referenced object doesn't exist.
  4800  //
  4801  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetPermissionPolicy
  4802  func (c *WAFRegional) GetPermissionPolicy(input *waf.GetPermissionPolicyInput) (*waf.GetPermissionPolicyOutput, error) {
  4803  	req, out := c.GetPermissionPolicyRequest(input)
  4804  	return out, req.Send()
  4805  }
  4806  
  4807  // GetPermissionPolicyWithContext is the same as GetPermissionPolicy with the addition of
  4808  // the ability to pass a context and additional request options.
  4809  //
  4810  // See GetPermissionPolicy for details on how to use this API operation.
  4811  //
  4812  // The context must be non-nil and will be used for request cancellation. If
  4813  // the context is nil a panic will occur. In the future the SDK may create
  4814  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4815  // for more information on using Contexts.
  4816  func (c *WAFRegional) GetPermissionPolicyWithContext(ctx aws.Context, input *waf.GetPermissionPolicyInput, opts ...request.Option) (*waf.GetPermissionPolicyOutput, error) {
  4817  	req, out := c.GetPermissionPolicyRequest(input)
  4818  	req.SetContext(ctx)
  4819  	req.ApplyOptions(opts...)
  4820  	return out, req.Send()
  4821  }
  4822  
  4823  const opGetRateBasedRule = "GetRateBasedRule"
  4824  
  4825  // GetRateBasedRuleRequest generates a "aws/request.Request" representing the
  4826  // client's request for the GetRateBasedRule operation. The "output" return
  4827  // value will be populated with the request's response once the request completes
  4828  // successfully.
  4829  //
  4830  // Use "Send" method on the returned Request to send the API call to the service.
  4831  // the "output" return value is not valid until after Send returns without error.
  4832  //
  4833  // See GetRateBasedRule for more information on using the GetRateBasedRule
  4834  // API call, and error handling.
  4835  //
  4836  // This method is useful when you want to inject custom logic or configuration
  4837  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4838  //
  4839  //
  4840  //    // Example sending a request using the GetRateBasedRuleRequest method.
  4841  //    req, resp := client.GetRateBasedRuleRequest(params)
  4842  //
  4843  //    err := req.Send()
  4844  //    if err == nil { // resp is now filled
  4845  //        fmt.Println(resp)
  4846  //    }
  4847  //
  4848  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule
  4849  func (c *WAFRegional) GetRateBasedRuleRequest(input *waf.GetRateBasedRuleInput) (req *request.Request, output *waf.GetRateBasedRuleOutput) {
  4850  	op := &request.Operation{
  4851  		Name:       opGetRateBasedRule,
  4852  		HTTPMethod: "POST",
  4853  		HTTPPath:   "/",
  4854  	}
  4855  
  4856  	if input == nil {
  4857  		input = &waf.GetRateBasedRuleInput{}
  4858  	}
  4859  
  4860  	output = &waf.GetRateBasedRuleOutput{}
  4861  	req = c.newRequest(op, input, output)
  4862  	return
  4863  }
  4864  
  4865  // GetRateBasedRule API operation for AWS WAF Regional.
  4866  //
  4867  //
  4868  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4869  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4870  // in the developer guide.
  4871  //
  4872  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4873  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4874  // With the latest version, AWS WAF has a single set of endpoints for regional
  4875  // and global use.
  4876  //
  4877  // Returns the RateBasedRule that is specified by the RuleId that you included
  4878  // in the GetRateBasedRule request.
  4879  //
  4880  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4881  // with awserr.Error's Code and Message methods to get detailed information about
  4882  // the error.
  4883  //
  4884  // See the AWS API reference guide for AWS WAF Regional's
  4885  // API operation GetRateBasedRule for usage and error information.
  4886  //
  4887  // Returned Error Types:
  4888  //   * WAFInternalErrorException
  4889  //   The operation failed because of a system problem, even though the request
  4890  //   was valid. Retry your request.
  4891  //
  4892  //   * WAFInvalidAccountException
  4893  //   The operation failed because you tried to create, update, or delete an object
  4894  //   by using an invalid account identifier.
  4895  //
  4896  //   * WAFNonexistentItemException
  4897  //   The operation failed because the referenced object doesn't exist.
  4898  //
  4899  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRule
  4900  func (c *WAFRegional) GetRateBasedRule(input *waf.GetRateBasedRuleInput) (*waf.GetRateBasedRuleOutput, error) {
  4901  	req, out := c.GetRateBasedRuleRequest(input)
  4902  	return out, req.Send()
  4903  }
  4904  
  4905  // GetRateBasedRuleWithContext is the same as GetRateBasedRule with the addition of
  4906  // the ability to pass a context and additional request options.
  4907  //
  4908  // See GetRateBasedRule for details on how to use this API operation.
  4909  //
  4910  // The context must be non-nil and will be used for request cancellation. If
  4911  // the context is nil a panic will occur. In the future the SDK may create
  4912  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4913  // for more information on using Contexts.
  4914  func (c *WAFRegional) GetRateBasedRuleWithContext(ctx aws.Context, input *waf.GetRateBasedRuleInput, opts ...request.Option) (*waf.GetRateBasedRuleOutput, error) {
  4915  	req, out := c.GetRateBasedRuleRequest(input)
  4916  	req.SetContext(ctx)
  4917  	req.ApplyOptions(opts...)
  4918  	return out, req.Send()
  4919  }
  4920  
  4921  const opGetRateBasedRuleManagedKeys = "GetRateBasedRuleManagedKeys"
  4922  
  4923  // GetRateBasedRuleManagedKeysRequest generates a "aws/request.Request" representing the
  4924  // client's request for the GetRateBasedRuleManagedKeys operation. The "output" return
  4925  // value will be populated with the request's response once the request completes
  4926  // successfully.
  4927  //
  4928  // Use "Send" method on the returned Request to send the API call to the service.
  4929  // the "output" return value is not valid until after Send returns without error.
  4930  //
  4931  // See GetRateBasedRuleManagedKeys for more information on using the GetRateBasedRuleManagedKeys
  4932  // API call, and error handling.
  4933  //
  4934  // This method is useful when you want to inject custom logic or configuration
  4935  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4936  //
  4937  //
  4938  //    // Example sending a request using the GetRateBasedRuleManagedKeysRequest method.
  4939  //    req, resp := client.GetRateBasedRuleManagedKeysRequest(params)
  4940  //
  4941  //    err := req.Send()
  4942  //    if err == nil { // resp is now filled
  4943  //        fmt.Println(resp)
  4944  //    }
  4945  //
  4946  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys
  4947  func (c *WAFRegional) GetRateBasedRuleManagedKeysRequest(input *waf.GetRateBasedRuleManagedKeysInput) (req *request.Request, output *waf.GetRateBasedRuleManagedKeysOutput) {
  4948  	op := &request.Operation{
  4949  		Name:       opGetRateBasedRuleManagedKeys,
  4950  		HTTPMethod: "POST",
  4951  		HTTPPath:   "/",
  4952  	}
  4953  
  4954  	if input == nil {
  4955  		input = &waf.GetRateBasedRuleManagedKeysInput{}
  4956  	}
  4957  
  4958  	output = &waf.GetRateBasedRuleManagedKeysOutput{}
  4959  	req = c.newRequest(op, input, output)
  4960  	return
  4961  }
  4962  
  4963  // GetRateBasedRuleManagedKeys API operation for AWS WAF Regional.
  4964  //
  4965  //
  4966  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  4967  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  4968  // in the developer guide.
  4969  //
  4970  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  4971  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  4972  // With the latest version, AWS WAF has a single set of endpoints for regional
  4973  // and global use.
  4974  //
  4975  // Returns an array of IP addresses currently being blocked by the RateBasedRule
  4976  // that is specified by the RuleId. The maximum number of managed keys that
  4977  // will be blocked is 10,000. If more than 10,000 addresses exceed the rate
  4978  // limit, the 10,000 addresses with the highest rates will be blocked.
  4979  //
  4980  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4981  // with awserr.Error's Code and Message methods to get detailed information about
  4982  // the error.
  4983  //
  4984  // See the AWS API reference guide for AWS WAF Regional's
  4985  // API operation GetRateBasedRuleManagedKeys for usage and error information.
  4986  //
  4987  // Returned Error Types:
  4988  //   * WAFInternalErrorException
  4989  //   The operation failed because of a system problem, even though the request
  4990  //   was valid. Retry your request.
  4991  //
  4992  //   * WAFInvalidAccountException
  4993  //   The operation failed because you tried to create, update, or delete an object
  4994  //   by using an invalid account identifier.
  4995  //
  4996  //   * WAFNonexistentItemException
  4997  //   The operation failed because the referenced object doesn't exist.
  4998  //
  4999  //   * WAFInvalidParameterException
  5000  //   The operation failed because AWS WAF didn't recognize a parameter in the
  5001  //   request. For example:
  5002  //
  5003  //      * You specified an invalid parameter name.
  5004  //
  5005  //      * You specified an invalid value.
  5006  //
  5007  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  5008  //      using an action other than INSERT or DELETE.
  5009  //
  5010  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  5011  //      BLOCK, or COUNT.
  5012  //
  5013  //      * You tried to create a RateBasedRule with a RateKey value other than
  5014  //      IP.
  5015  //
  5016  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  5017  //      BLOCK, or COUNT.
  5018  //
  5019  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  5020  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  5021  //
  5022  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  5023  //      for Data.
  5024  //
  5025  //      * Your request references an ARN that is malformed, or corresponds to
  5026  //      a resource with which a web ACL cannot be associated.
  5027  //
  5028  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRateBasedRuleManagedKeys
  5029  func (c *WAFRegional) GetRateBasedRuleManagedKeys(input *waf.GetRateBasedRuleManagedKeysInput) (*waf.GetRateBasedRuleManagedKeysOutput, error) {
  5030  	req, out := c.GetRateBasedRuleManagedKeysRequest(input)
  5031  	return out, req.Send()
  5032  }
  5033  
  5034  // GetRateBasedRuleManagedKeysWithContext is the same as GetRateBasedRuleManagedKeys with the addition of
  5035  // the ability to pass a context and additional request options.
  5036  //
  5037  // See GetRateBasedRuleManagedKeys for details on how to use this API operation.
  5038  //
  5039  // The context must be non-nil and will be used for request cancellation. If
  5040  // the context is nil a panic will occur. In the future the SDK may create
  5041  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5042  // for more information on using Contexts.
  5043  func (c *WAFRegional) GetRateBasedRuleManagedKeysWithContext(ctx aws.Context, input *waf.GetRateBasedRuleManagedKeysInput, opts ...request.Option) (*waf.GetRateBasedRuleManagedKeysOutput, error) {
  5044  	req, out := c.GetRateBasedRuleManagedKeysRequest(input)
  5045  	req.SetContext(ctx)
  5046  	req.ApplyOptions(opts...)
  5047  	return out, req.Send()
  5048  }
  5049  
  5050  const opGetRegexMatchSet = "GetRegexMatchSet"
  5051  
  5052  // GetRegexMatchSetRequest generates a "aws/request.Request" representing the
  5053  // client's request for the GetRegexMatchSet operation. The "output" return
  5054  // value will be populated with the request's response once the request completes
  5055  // successfully.
  5056  //
  5057  // Use "Send" method on the returned Request to send the API call to the service.
  5058  // the "output" return value is not valid until after Send returns without error.
  5059  //
  5060  // See GetRegexMatchSet for more information on using the GetRegexMatchSet
  5061  // API call, and error handling.
  5062  //
  5063  // This method is useful when you want to inject custom logic or configuration
  5064  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5065  //
  5066  //
  5067  //    // Example sending a request using the GetRegexMatchSetRequest method.
  5068  //    req, resp := client.GetRegexMatchSetRequest(params)
  5069  //
  5070  //    err := req.Send()
  5071  //    if err == nil { // resp is now filled
  5072  //        fmt.Println(resp)
  5073  //    }
  5074  //
  5075  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet
  5076  func (c *WAFRegional) GetRegexMatchSetRequest(input *waf.GetRegexMatchSetInput) (req *request.Request, output *waf.GetRegexMatchSetOutput) {
  5077  	op := &request.Operation{
  5078  		Name:       opGetRegexMatchSet,
  5079  		HTTPMethod: "POST",
  5080  		HTTPPath:   "/",
  5081  	}
  5082  
  5083  	if input == nil {
  5084  		input = &waf.GetRegexMatchSetInput{}
  5085  	}
  5086  
  5087  	output = &waf.GetRegexMatchSetOutput{}
  5088  	req = c.newRequest(op, input, output)
  5089  	return
  5090  }
  5091  
  5092  // GetRegexMatchSet API operation for AWS WAF Regional.
  5093  //
  5094  //
  5095  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5096  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5097  // in the developer guide.
  5098  //
  5099  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5100  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5101  // With the latest version, AWS WAF has a single set of endpoints for regional
  5102  // and global use.
  5103  //
  5104  // Returns the RegexMatchSet specified by RegexMatchSetId.
  5105  //
  5106  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5107  // with awserr.Error's Code and Message methods to get detailed information about
  5108  // the error.
  5109  //
  5110  // See the AWS API reference guide for AWS WAF Regional's
  5111  // API operation GetRegexMatchSet for usage and error information.
  5112  //
  5113  // Returned Error Types:
  5114  //   * WAFInternalErrorException
  5115  //   The operation failed because of a system problem, even though the request
  5116  //   was valid. Retry your request.
  5117  //
  5118  //   * WAFInvalidAccountException
  5119  //   The operation failed because you tried to create, update, or delete an object
  5120  //   by using an invalid account identifier.
  5121  //
  5122  //   * WAFNonexistentItemException
  5123  //   The operation failed because the referenced object doesn't exist.
  5124  //
  5125  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet
  5126  func (c *WAFRegional) GetRegexMatchSet(input *waf.GetRegexMatchSetInput) (*waf.GetRegexMatchSetOutput, error) {
  5127  	req, out := c.GetRegexMatchSetRequest(input)
  5128  	return out, req.Send()
  5129  }
  5130  
  5131  // GetRegexMatchSetWithContext is the same as GetRegexMatchSet with the addition of
  5132  // the ability to pass a context and additional request options.
  5133  //
  5134  // See GetRegexMatchSet for details on how to use this API operation.
  5135  //
  5136  // The context must be non-nil and will be used for request cancellation. If
  5137  // the context is nil a panic will occur. In the future the SDK may create
  5138  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5139  // for more information on using Contexts.
  5140  func (c *WAFRegional) GetRegexMatchSetWithContext(ctx aws.Context, input *waf.GetRegexMatchSetInput, opts ...request.Option) (*waf.GetRegexMatchSetOutput, error) {
  5141  	req, out := c.GetRegexMatchSetRequest(input)
  5142  	req.SetContext(ctx)
  5143  	req.ApplyOptions(opts...)
  5144  	return out, req.Send()
  5145  }
  5146  
  5147  const opGetRegexPatternSet = "GetRegexPatternSet"
  5148  
  5149  // GetRegexPatternSetRequest generates a "aws/request.Request" representing the
  5150  // client's request for the GetRegexPatternSet operation. The "output" return
  5151  // value will be populated with the request's response once the request completes
  5152  // successfully.
  5153  //
  5154  // Use "Send" method on the returned Request to send the API call to the service.
  5155  // the "output" return value is not valid until after Send returns without error.
  5156  //
  5157  // See GetRegexPatternSet for more information on using the GetRegexPatternSet
  5158  // API call, and error handling.
  5159  //
  5160  // This method is useful when you want to inject custom logic or configuration
  5161  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5162  //
  5163  //
  5164  //    // Example sending a request using the GetRegexPatternSetRequest method.
  5165  //    req, resp := client.GetRegexPatternSetRequest(params)
  5166  //
  5167  //    err := req.Send()
  5168  //    if err == nil { // resp is now filled
  5169  //        fmt.Println(resp)
  5170  //    }
  5171  //
  5172  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet
  5173  func (c *WAFRegional) GetRegexPatternSetRequest(input *waf.GetRegexPatternSetInput) (req *request.Request, output *waf.GetRegexPatternSetOutput) {
  5174  	op := &request.Operation{
  5175  		Name:       opGetRegexPatternSet,
  5176  		HTTPMethod: "POST",
  5177  		HTTPPath:   "/",
  5178  	}
  5179  
  5180  	if input == nil {
  5181  		input = &waf.GetRegexPatternSetInput{}
  5182  	}
  5183  
  5184  	output = &waf.GetRegexPatternSetOutput{}
  5185  	req = c.newRequest(op, input, output)
  5186  	return
  5187  }
  5188  
  5189  // GetRegexPatternSet API operation for AWS WAF Regional.
  5190  //
  5191  //
  5192  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5193  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5194  // in the developer guide.
  5195  //
  5196  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5197  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5198  // With the latest version, AWS WAF has a single set of endpoints for regional
  5199  // and global use.
  5200  //
  5201  // Returns the RegexPatternSet specified by RegexPatternSetId.
  5202  //
  5203  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5204  // with awserr.Error's Code and Message methods to get detailed information about
  5205  // the error.
  5206  //
  5207  // See the AWS API reference guide for AWS WAF Regional's
  5208  // API operation GetRegexPatternSet for usage and error information.
  5209  //
  5210  // Returned Error Types:
  5211  //   * WAFInternalErrorException
  5212  //   The operation failed because of a system problem, even though the request
  5213  //   was valid. Retry your request.
  5214  //
  5215  //   * WAFInvalidAccountException
  5216  //   The operation failed because you tried to create, update, or delete an object
  5217  //   by using an invalid account identifier.
  5218  //
  5219  //   * WAFNonexistentItemException
  5220  //   The operation failed because the referenced object doesn't exist.
  5221  //
  5222  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet
  5223  func (c *WAFRegional) GetRegexPatternSet(input *waf.GetRegexPatternSetInput) (*waf.GetRegexPatternSetOutput, error) {
  5224  	req, out := c.GetRegexPatternSetRequest(input)
  5225  	return out, req.Send()
  5226  }
  5227  
  5228  // GetRegexPatternSetWithContext is the same as GetRegexPatternSet with the addition of
  5229  // the ability to pass a context and additional request options.
  5230  //
  5231  // See GetRegexPatternSet for details on how to use this API operation.
  5232  //
  5233  // The context must be non-nil and will be used for request cancellation. If
  5234  // the context is nil a panic will occur. In the future the SDK may create
  5235  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5236  // for more information on using Contexts.
  5237  func (c *WAFRegional) GetRegexPatternSetWithContext(ctx aws.Context, input *waf.GetRegexPatternSetInput, opts ...request.Option) (*waf.GetRegexPatternSetOutput, error) {
  5238  	req, out := c.GetRegexPatternSetRequest(input)
  5239  	req.SetContext(ctx)
  5240  	req.ApplyOptions(opts...)
  5241  	return out, req.Send()
  5242  }
  5243  
  5244  const opGetRule = "GetRule"
  5245  
  5246  // GetRuleRequest generates a "aws/request.Request" representing the
  5247  // client's request for the GetRule operation. The "output" return
  5248  // value will be populated with the request's response once the request completes
  5249  // successfully.
  5250  //
  5251  // Use "Send" method on the returned Request to send the API call to the service.
  5252  // the "output" return value is not valid until after Send returns without error.
  5253  //
  5254  // See GetRule for more information on using the GetRule
  5255  // API call, and error handling.
  5256  //
  5257  // This method is useful when you want to inject custom logic or configuration
  5258  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5259  //
  5260  //
  5261  //    // Example sending a request using the GetRuleRequest method.
  5262  //    req, resp := client.GetRuleRequest(params)
  5263  //
  5264  //    err := req.Send()
  5265  //    if err == nil { // resp is now filled
  5266  //        fmt.Println(resp)
  5267  //    }
  5268  //
  5269  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule
  5270  func (c *WAFRegional) GetRuleRequest(input *waf.GetRuleInput) (req *request.Request, output *waf.GetRuleOutput) {
  5271  	op := &request.Operation{
  5272  		Name:       opGetRule,
  5273  		HTTPMethod: "POST",
  5274  		HTTPPath:   "/",
  5275  	}
  5276  
  5277  	if input == nil {
  5278  		input = &waf.GetRuleInput{}
  5279  	}
  5280  
  5281  	output = &waf.GetRuleOutput{}
  5282  	req = c.newRequest(op, input, output)
  5283  	return
  5284  }
  5285  
  5286  // GetRule API operation for AWS WAF Regional.
  5287  //
  5288  //
  5289  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5290  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5291  // in the developer guide.
  5292  //
  5293  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5294  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5295  // With the latest version, AWS WAF has a single set of endpoints for regional
  5296  // and global use.
  5297  //
  5298  // Returns the Rule that is specified by the RuleId that you included in the
  5299  // GetRule request.
  5300  //
  5301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5302  // with awserr.Error's Code and Message methods to get detailed information about
  5303  // the error.
  5304  //
  5305  // See the AWS API reference guide for AWS WAF Regional's
  5306  // API operation GetRule for usage and error information.
  5307  //
  5308  // Returned Error Types:
  5309  //   * WAFInternalErrorException
  5310  //   The operation failed because of a system problem, even though the request
  5311  //   was valid. Retry your request.
  5312  //
  5313  //   * WAFInvalidAccountException
  5314  //   The operation failed because you tried to create, update, or delete an object
  5315  //   by using an invalid account identifier.
  5316  //
  5317  //   * WAFNonexistentItemException
  5318  //   The operation failed because the referenced object doesn't exist.
  5319  //
  5320  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule
  5321  func (c *WAFRegional) GetRule(input *waf.GetRuleInput) (*waf.GetRuleOutput, error) {
  5322  	req, out := c.GetRuleRequest(input)
  5323  	return out, req.Send()
  5324  }
  5325  
  5326  // GetRuleWithContext is the same as GetRule with the addition of
  5327  // the ability to pass a context and additional request options.
  5328  //
  5329  // See GetRule for details on how to use this API operation.
  5330  //
  5331  // The context must be non-nil and will be used for request cancellation. If
  5332  // the context is nil a panic will occur. In the future the SDK may create
  5333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5334  // for more information on using Contexts.
  5335  func (c *WAFRegional) GetRuleWithContext(ctx aws.Context, input *waf.GetRuleInput, opts ...request.Option) (*waf.GetRuleOutput, error) {
  5336  	req, out := c.GetRuleRequest(input)
  5337  	req.SetContext(ctx)
  5338  	req.ApplyOptions(opts...)
  5339  	return out, req.Send()
  5340  }
  5341  
  5342  const opGetRuleGroup = "GetRuleGroup"
  5343  
  5344  // GetRuleGroupRequest generates a "aws/request.Request" representing the
  5345  // client's request for the GetRuleGroup operation. The "output" return
  5346  // value will be populated with the request's response once the request completes
  5347  // successfully.
  5348  //
  5349  // Use "Send" method on the returned Request to send the API call to the service.
  5350  // the "output" return value is not valid until after Send returns without error.
  5351  //
  5352  // See GetRuleGroup for more information on using the GetRuleGroup
  5353  // API call, and error handling.
  5354  //
  5355  // This method is useful when you want to inject custom logic or configuration
  5356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5357  //
  5358  //
  5359  //    // Example sending a request using the GetRuleGroupRequest method.
  5360  //    req, resp := client.GetRuleGroupRequest(params)
  5361  //
  5362  //    err := req.Send()
  5363  //    if err == nil { // resp is now filled
  5364  //        fmt.Println(resp)
  5365  //    }
  5366  //
  5367  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup
  5368  func (c *WAFRegional) GetRuleGroupRequest(input *waf.GetRuleGroupInput) (req *request.Request, output *waf.GetRuleGroupOutput) {
  5369  	op := &request.Operation{
  5370  		Name:       opGetRuleGroup,
  5371  		HTTPMethod: "POST",
  5372  		HTTPPath:   "/",
  5373  	}
  5374  
  5375  	if input == nil {
  5376  		input = &waf.GetRuleGroupInput{}
  5377  	}
  5378  
  5379  	output = &waf.GetRuleGroupOutput{}
  5380  	req = c.newRequest(op, input, output)
  5381  	return
  5382  }
  5383  
  5384  // GetRuleGroup API operation for AWS WAF Regional.
  5385  //
  5386  //
  5387  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5388  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5389  // in the developer guide.
  5390  //
  5391  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5392  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5393  // With the latest version, AWS WAF has a single set of endpoints for regional
  5394  // and global use.
  5395  //
  5396  // Returns the RuleGroup that is specified by the RuleGroupId that you included
  5397  // in the GetRuleGroup request.
  5398  //
  5399  // To view the rules in a rule group, use ListActivatedRulesInRuleGroup.
  5400  //
  5401  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5402  // with awserr.Error's Code and Message methods to get detailed information about
  5403  // the error.
  5404  //
  5405  // See the AWS API reference guide for AWS WAF Regional's
  5406  // API operation GetRuleGroup for usage and error information.
  5407  //
  5408  // Returned Error Types:
  5409  //   * WAFInternalErrorException
  5410  //   The operation failed because of a system problem, even though the request
  5411  //   was valid. Retry your request.
  5412  //
  5413  //   * WAFNonexistentItemException
  5414  //   The operation failed because the referenced object doesn't exist.
  5415  //
  5416  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroup
  5417  func (c *WAFRegional) GetRuleGroup(input *waf.GetRuleGroupInput) (*waf.GetRuleGroupOutput, error) {
  5418  	req, out := c.GetRuleGroupRequest(input)
  5419  	return out, req.Send()
  5420  }
  5421  
  5422  // GetRuleGroupWithContext is the same as GetRuleGroup with the addition of
  5423  // the ability to pass a context and additional request options.
  5424  //
  5425  // See GetRuleGroup for details on how to use this API operation.
  5426  //
  5427  // The context must be non-nil and will be used for request cancellation. If
  5428  // the context is nil a panic will occur. In the future the SDK may create
  5429  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5430  // for more information on using Contexts.
  5431  func (c *WAFRegional) GetRuleGroupWithContext(ctx aws.Context, input *waf.GetRuleGroupInput, opts ...request.Option) (*waf.GetRuleGroupOutput, error) {
  5432  	req, out := c.GetRuleGroupRequest(input)
  5433  	req.SetContext(ctx)
  5434  	req.ApplyOptions(opts...)
  5435  	return out, req.Send()
  5436  }
  5437  
  5438  const opGetSampledRequests = "GetSampledRequests"
  5439  
  5440  // GetSampledRequestsRequest generates a "aws/request.Request" representing the
  5441  // client's request for the GetSampledRequests operation. The "output" return
  5442  // value will be populated with the request's response once the request completes
  5443  // successfully.
  5444  //
  5445  // Use "Send" method on the returned Request to send the API call to the service.
  5446  // the "output" return value is not valid until after Send returns without error.
  5447  //
  5448  // See GetSampledRequests for more information on using the GetSampledRequests
  5449  // API call, and error handling.
  5450  //
  5451  // This method is useful when you want to inject custom logic or configuration
  5452  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5453  //
  5454  //
  5455  //    // Example sending a request using the GetSampledRequestsRequest method.
  5456  //    req, resp := client.GetSampledRequestsRequest(params)
  5457  //
  5458  //    err := req.Send()
  5459  //    if err == nil { // resp is now filled
  5460  //        fmt.Println(resp)
  5461  //    }
  5462  //
  5463  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests
  5464  func (c *WAFRegional) GetSampledRequestsRequest(input *waf.GetSampledRequestsInput) (req *request.Request, output *waf.GetSampledRequestsOutput) {
  5465  	op := &request.Operation{
  5466  		Name:       opGetSampledRequests,
  5467  		HTTPMethod: "POST",
  5468  		HTTPPath:   "/",
  5469  	}
  5470  
  5471  	if input == nil {
  5472  		input = &waf.GetSampledRequestsInput{}
  5473  	}
  5474  
  5475  	output = &waf.GetSampledRequestsOutput{}
  5476  	req = c.newRequest(op, input, output)
  5477  	return
  5478  }
  5479  
  5480  // GetSampledRequests API operation for AWS WAF Regional.
  5481  //
  5482  //
  5483  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5484  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5485  // in the developer guide.
  5486  //
  5487  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5488  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5489  // With the latest version, AWS WAF has a single set of endpoints for regional
  5490  // and global use.
  5491  //
  5492  // Gets detailed information about a specified number of requests--a sample--that
  5493  // AWS WAF randomly selects from among the first 5,000 requests that your AWS
  5494  // resource received during a time range that you choose. You can specify a
  5495  // sample size of up to 500 requests, and you can specify any time range in
  5496  // the previous three hours.
  5497  //
  5498  // GetSampledRequests returns a time range, which is usually the time range
  5499  // that you specified. However, if your resource (such as a CloudFront distribution)
  5500  // received 5,000 requests before the specified time range elapsed, GetSampledRequests
  5501  // returns an updated time range. This new time range indicates the actual period
  5502  // during which AWS WAF selected the requests in the sample.
  5503  //
  5504  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5505  // with awserr.Error's Code and Message methods to get detailed information about
  5506  // the error.
  5507  //
  5508  // See the AWS API reference guide for AWS WAF Regional's
  5509  // API operation GetSampledRequests for usage and error information.
  5510  //
  5511  // Returned Error Types:
  5512  //   * WAFNonexistentItemException
  5513  //   The operation failed because the referenced object doesn't exist.
  5514  //
  5515  //   * WAFInternalErrorException
  5516  //   The operation failed because of a system problem, even though the request
  5517  //   was valid. Retry your request.
  5518  //
  5519  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSampledRequests
  5520  func (c *WAFRegional) GetSampledRequests(input *waf.GetSampledRequestsInput) (*waf.GetSampledRequestsOutput, error) {
  5521  	req, out := c.GetSampledRequestsRequest(input)
  5522  	return out, req.Send()
  5523  }
  5524  
  5525  // GetSampledRequestsWithContext is the same as GetSampledRequests with the addition of
  5526  // the ability to pass a context and additional request options.
  5527  //
  5528  // See GetSampledRequests for details on how to use this API operation.
  5529  //
  5530  // The context must be non-nil and will be used for request cancellation. If
  5531  // the context is nil a panic will occur. In the future the SDK may create
  5532  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5533  // for more information on using Contexts.
  5534  func (c *WAFRegional) GetSampledRequestsWithContext(ctx aws.Context, input *waf.GetSampledRequestsInput, opts ...request.Option) (*waf.GetSampledRequestsOutput, error) {
  5535  	req, out := c.GetSampledRequestsRequest(input)
  5536  	req.SetContext(ctx)
  5537  	req.ApplyOptions(opts...)
  5538  	return out, req.Send()
  5539  }
  5540  
  5541  const opGetSizeConstraintSet = "GetSizeConstraintSet"
  5542  
  5543  // GetSizeConstraintSetRequest generates a "aws/request.Request" representing the
  5544  // client's request for the GetSizeConstraintSet operation. The "output" return
  5545  // value will be populated with the request's response once the request completes
  5546  // successfully.
  5547  //
  5548  // Use "Send" method on the returned Request to send the API call to the service.
  5549  // the "output" return value is not valid until after Send returns without error.
  5550  //
  5551  // See GetSizeConstraintSet for more information on using the GetSizeConstraintSet
  5552  // API call, and error handling.
  5553  //
  5554  // This method is useful when you want to inject custom logic or configuration
  5555  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5556  //
  5557  //
  5558  //    // Example sending a request using the GetSizeConstraintSetRequest method.
  5559  //    req, resp := client.GetSizeConstraintSetRequest(params)
  5560  //
  5561  //    err := req.Send()
  5562  //    if err == nil { // resp is now filled
  5563  //        fmt.Println(resp)
  5564  //    }
  5565  //
  5566  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet
  5567  func (c *WAFRegional) GetSizeConstraintSetRequest(input *waf.GetSizeConstraintSetInput) (req *request.Request, output *waf.GetSizeConstraintSetOutput) {
  5568  	op := &request.Operation{
  5569  		Name:       opGetSizeConstraintSet,
  5570  		HTTPMethod: "POST",
  5571  		HTTPPath:   "/",
  5572  	}
  5573  
  5574  	if input == nil {
  5575  		input = &waf.GetSizeConstraintSetInput{}
  5576  	}
  5577  
  5578  	output = &waf.GetSizeConstraintSetOutput{}
  5579  	req = c.newRequest(op, input, output)
  5580  	return
  5581  }
  5582  
  5583  // GetSizeConstraintSet API operation for AWS WAF Regional.
  5584  //
  5585  //
  5586  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5587  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5588  // in the developer guide.
  5589  //
  5590  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5591  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5592  // With the latest version, AWS WAF has a single set of endpoints for regional
  5593  // and global use.
  5594  //
  5595  // Returns the SizeConstraintSet specified by SizeConstraintSetId.
  5596  //
  5597  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5598  // with awserr.Error's Code and Message methods to get detailed information about
  5599  // the error.
  5600  //
  5601  // See the AWS API reference guide for AWS WAF Regional's
  5602  // API operation GetSizeConstraintSet for usage and error information.
  5603  //
  5604  // Returned Error Types:
  5605  //   * WAFInternalErrorException
  5606  //   The operation failed because of a system problem, even though the request
  5607  //   was valid. Retry your request.
  5608  //
  5609  //   * WAFInvalidAccountException
  5610  //   The operation failed because you tried to create, update, or delete an object
  5611  //   by using an invalid account identifier.
  5612  //
  5613  //   * WAFNonexistentItemException
  5614  //   The operation failed because the referenced object doesn't exist.
  5615  //
  5616  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSizeConstraintSet
  5617  func (c *WAFRegional) GetSizeConstraintSet(input *waf.GetSizeConstraintSetInput) (*waf.GetSizeConstraintSetOutput, error) {
  5618  	req, out := c.GetSizeConstraintSetRequest(input)
  5619  	return out, req.Send()
  5620  }
  5621  
  5622  // GetSizeConstraintSetWithContext is the same as GetSizeConstraintSet with the addition of
  5623  // the ability to pass a context and additional request options.
  5624  //
  5625  // See GetSizeConstraintSet for details on how to use this API operation.
  5626  //
  5627  // The context must be non-nil and will be used for request cancellation. If
  5628  // the context is nil a panic will occur. In the future the SDK may create
  5629  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5630  // for more information on using Contexts.
  5631  func (c *WAFRegional) GetSizeConstraintSetWithContext(ctx aws.Context, input *waf.GetSizeConstraintSetInput, opts ...request.Option) (*waf.GetSizeConstraintSetOutput, error) {
  5632  	req, out := c.GetSizeConstraintSetRequest(input)
  5633  	req.SetContext(ctx)
  5634  	req.ApplyOptions(opts...)
  5635  	return out, req.Send()
  5636  }
  5637  
  5638  const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet"
  5639  
  5640  // GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
  5641  // client's request for the GetSqlInjectionMatchSet operation. The "output" return
  5642  // value will be populated with the request's response once the request completes
  5643  // successfully.
  5644  //
  5645  // Use "Send" method on the returned Request to send the API call to the service.
  5646  // the "output" return value is not valid until after Send returns without error.
  5647  //
  5648  // See GetSqlInjectionMatchSet for more information on using the GetSqlInjectionMatchSet
  5649  // API call, and error handling.
  5650  //
  5651  // This method is useful when you want to inject custom logic or configuration
  5652  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5653  //
  5654  //
  5655  //    // Example sending a request using the GetSqlInjectionMatchSetRequest method.
  5656  //    req, resp := client.GetSqlInjectionMatchSetRequest(params)
  5657  //
  5658  //    err := req.Send()
  5659  //    if err == nil { // resp is now filled
  5660  //        fmt.Println(resp)
  5661  //    }
  5662  //
  5663  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet
  5664  func (c *WAFRegional) GetSqlInjectionMatchSetRequest(input *waf.GetSqlInjectionMatchSetInput) (req *request.Request, output *waf.GetSqlInjectionMatchSetOutput) {
  5665  	op := &request.Operation{
  5666  		Name:       opGetSqlInjectionMatchSet,
  5667  		HTTPMethod: "POST",
  5668  		HTTPPath:   "/",
  5669  	}
  5670  
  5671  	if input == nil {
  5672  		input = &waf.GetSqlInjectionMatchSetInput{}
  5673  	}
  5674  
  5675  	output = &waf.GetSqlInjectionMatchSetOutput{}
  5676  	req = c.newRequest(op, input, output)
  5677  	return
  5678  }
  5679  
  5680  // GetSqlInjectionMatchSet API operation for AWS WAF Regional.
  5681  //
  5682  //
  5683  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5684  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5685  // in the developer guide.
  5686  //
  5687  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5688  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5689  // With the latest version, AWS WAF has a single set of endpoints for regional
  5690  // and global use.
  5691  //
  5692  // Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.
  5693  //
  5694  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5695  // with awserr.Error's Code and Message methods to get detailed information about
  5696  // the error.
  5697  //
  5698  // See the AWS API reference guide for AWS WAF Regional's
  5699  // API operation GetSqlInjectionMatchSet for usage and error information.
  5700  //
  5701  // Returned Error Types:
  5702  //   * WAFInternalErrorException
  5703  //   The operation failed because of a system problem, even though the request
  5704  //   was valid. Retry your request.
  5705  //
  5706  //   * WAFInvalidAccountException
  5707  //   The operation failed because you tried to create, update, or delete an object
  5708  //   by using an invalid account identifier.
  5709  //
  5710  //   * WAFNonexistentItemException
  5711  //   The operation failed because the referenced object doesn't exist.
  5712  //
  5713  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetSqlInjectionMatchSet
  5714  func (c *WAFRegional) GetSqlInjectionMatchSet(input *waf.GetSqlInjectionMatchSetInput) (*waf.GetSqlInjectionMatchSetOutput, error) {
  5715  	req, out := c.GetSqlInjectionMatchSetRequest(input)
  5716  	return out, req.Send()
  5717  }
  5718  
  5719  // GetSqlInjectionMatchSetWithContext is the same as GetSqlInjectionMatchSet with the addition of
  5720  // the ability to pass a context and additional request options.
  5721  //
  5722  // See GetSqlInjectionMatchSet for details on how to use this API operation.
  5723  //
  5724  // The context must be non-nil and will be used for request cancellation. If
  5725  // the context is nil a panic will occur. In the future the SDK may create
  5726  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5727  // for more information on using Contexts.
  5728  func (c *WAFRegional) GetSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.GetSqlInjectionMatchSetInput, opts ...request.Option) (*waf.GetSqlInjectionMatchSetOutput, error) {
  5729  	req, out := c.GetSqlInjectionMatchSetRequest(input)
  5730  	req.SetContext(ctx)
  5731  	req.ApplyOptions(opts...)
  5732  	return out, req.Send()
  5733  }
  5734  
  5735  const opGetWebACL = "GetWebACL"
  5736  
  5737  // GetWebACLRequest generates a "aws/request.Request" representing the
  5738  // client's request for the GetWebACL operation. The "output" return
  5739  // value will be populated with the request's response once the request completes
  5740  // successfully.
  5741  //
  5742  // Use "Send" method on the returned Request to send the API call to the service.
  5743  // the "output" return value is not valid until after Send returns without error.
  5744  //
  5745  // See GetWebACL for more information on using the GetWebACL
  5746  // API call, and error handling.
  5747  //
  5748  // This method is useful when you want to inject custom logic or configuration
  5749  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5750  //
  5751  //
  5752  //    // Example sending a request using the GetWebACLRequest method.
  5753  //    req, resp := client.GetWebACLRequest(params)
  5754  //
  5755  //    err := req.Send()
  5756  //    if err == nil { // resp is now filled
  5757  //        fmt.Println(resp)
  5758  //    }
  5759  //
  5760  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL
  5761  func (c *WAFRegional) GetWebACLRequest(input *waf.GetWebACLInput) (req *request.Request, output *waf.GetWebACLOutput) {
  5762  	op := &request.Operation{
  5763  		Name:       opGetWebACL,
  5764  		HTTPMethod: "POST",
  5765  		HTTPPath:   "/",
  5766  	}
  5767  
  5768  	if input == nil {
  5769  		input = &waf.GetWebACLInput{}
  5770  	}
  5771  
  5772  	output = &waf.GetWebACLOutput{}
  5773  	req = c.newRequest(op, input, output)
  5774  	return
  5775  }
  5776  
  5777  // GetWebACL API operation for AWS WAF Regional.
  5778  //
  5779  //
  5780  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  5781  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5782  // in the developer guide.
  5783  //
  5784  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5785  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5786  // With the latest version, AWS WAF has a single set of endpoints for regional
  5787  // and global use.
  5788  //
  5789  // Returns the WebACL that is specified by WebACLId.
  5790  //
  5791  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5792  // with awserr.Error's Code and Message methods to get detailed information about
  5793  // the error.
  5794  //
  5795  // See the AWS API reference guide for AWS WAF Regional's
  5796  // API operation GetWebACL for usage and error information.
  5797  //
  5798  // Returned Error Types:
  5799  //   * WAFInternalErrorException
  5800  //   The operation failed because of a system problem, even though the request
  5801  //   was valid. Retry your request.
  5802  //
  5803  //   * WAFInvalidAccountException
  5804  //   The operation failed because you tried to create, update, or delete an object
  5805  //   by using an invalid account identifier.
  5806  //
  5807  //   * WAFNonexistentItemException
  5808  //   The operation failed because the referenced object doesn't exist.
  5809  //
  5810  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACL
  5811  func (c *WAFRegional) GetWebACL(input *waf.GetWebACLInput) (*waf.GetWebACLOutput, error) {
  5812  	req, out := c.GetWebACLRequest(input)
  5813  	return out, req.Send()
  5814  }
  5815  
  5816  // GetWebACLWithContext is the same as GetWebACL with the addition of
  5817  // the ability to pass a context and additional request options.
  5818  //
  5819  // See GetWebACL for details on how to use this API operation.
  5820  //
  5821  // The context must be non-nil and will be used for request cancellation. If
  5822  // the context is nil a panic will occur. In the future the SDK may create
  5823  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5824  // for more information on using Contexts.
  5825  func (c *WAFRegional) GetWebACLWithContext(ctx aws.Context, input *waf.GetWebACLInput, opts ...request.Option) (*waf.GetWebACLOutput, error) {
  5826  	req, out := c.GetWebACLRequest(input)
  5827  	req.SetContext(ctx)
  5828  	req.ApplyOptions(opts...)
  5829  	return out, req.Send()
  5830  }
  5831  
  5832  const opGetWebACLForResource = "GetWebACLForResource"
  5833  
  5834  // GetWebACLForResourceRequest generates a "aws/request.Request" representing the
  5835  // client's request for the GetWebACLForResource operation. The "output" return
  5836  // value will be populated with the request's response once the request completes
  5837  // successfully.
  5838  //
  5839  // Use "Send" method on the returned Request to send the API call to the service.
  5840  // the "output" return value is not valid until after Send returns without error.
  5841  //
  5842  // See GetWebACLForResource for more information on using the GetWebACLForResource
  5843  // API call, and error handling.
  5844  //
  5845  // This method is useful when you want to inject custom logic or configuration
  5846  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5847  //
  5848  //
  5849  //    // Example sending a request using the GetWebACLForResourceRequest method.
  5850  //    req, resp := client.GetWebACLForResourceRequest(params)
  5851  //
  5852  //    err := req.Send()
  5853  //    if err == nil { // resp is now filled
  5854  //        fmt.Println(resp)
  5855  //    }
  5856  //
  5857  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource
  5858  func (c *WAFRegional) GetWebACLForResourceRequest(input *GetWebACLForResourceInput) (req *request.Request, output *GetWebACLForResourceOutput) {
  5859  	op := &request.Operation{
  5860  		Name:       opGetWebACLForResource,
  5861  		HTTPMethod: "POST",
  5862  		HTTPPath:   "/",
  5863  	}
  5864  
  5865  	if input == nil {
  5866  		input = &GetWebACLForResourceInput{}
  5867  	}
  5868  
  5869  	output = &GetWebACLForResourceOutput{}
  5870  	req = c.newRequest(op, input, output)
  5871  	return
  5872  }
  5873  
  5874  // GetWebACLForResource API operation for AWS WAF Regional.
  5875  //
  5876  //
  5877  // This is AWS WAF Classic Regional documentation. For more information, see
  5878  // AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  5879  // in the developer guide.
  5880  //
  5881  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  5882  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  5883  // With the latest version, AWS WAF has a single set of endpoints for regional
  5884  // and global use.
  5885  //
  5886  // Returns the web ACL for the specified resource, either an application load
  5887  // balancer or Amazon API Gateway stage.
  5888  //
  5889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5890  // with awserr.Error's Code and Message methods to get detailed information about
  5891  // the error.
  5892  //
  5893  // See the AWS API reference guide for AWS WAF Regional's
  5894  // API operation GetWebACLForResource for usage and error information.
  5895  //
  5896  // Returned Error Types:
  5897  //   * WAFInternalErrorException
  5898  //   The operation failed because of a system problem, even though the request
  5899  //   was valid. Retry your request.
  5900  //
  5901  //   * WAFInvalidAccountException
  5902  //   The operation failed because you tried to create, update, or delete an object
  5903  //   by using an invalid account identifier.
  5904  //
  5905  //   * WAFNonexistentItemException
  5906  //   The operation failed because the referenced object doesn't exist.
  5907  //
  5908  //   * WAFInvalidParameterException
  5909  //   The operation failed because AWS WAF didn't recognize a parameter in the
  5910  //   request. For example:
  5911  //
  5912  //      * You specified an invalid parameter name.
  5913  //
  5914  //      * You specified an invalid value.
  5915  //
  5916  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  5917  //      using an action other than INSERT or DELETE.
  5918  //
  5919  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  5920  //      BLOCK, or COUNT.
  5921  //
  5922  //      * You tried to create a RateBasedRule with a RateKey value other than
  5923  //      IP.
  5924  //
  5925  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  5926  //      BLOCK, or COUNT.
  5927  //
  5928  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  5929  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  5930  //
  5931  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  5932  //      for Data.
  5933  //
  5934  //      * Your request references an ARN that is malformed, or corresponds to
  5935  //      a resource with which a web ACL cannot be associated.
  5936  //
  5937  //   * WAFUnavailableEntityException
  5938  //   The operation failed because the entity referenced is temporarily unavailable.
  5939  //   Retry your request.
  5940  //
  5941  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetWebACLForResource
  5942  func (c *WAFRegional) GetWebACLForResource(input *GetWebACLForResourceInput) (*GetWebACLForResourceOutput, error) {
  5943  	req, out := c.GetWebACLForResourceRequest(input)
  5944  	return out, req.Send()
  5945  }
  5946  
  5947  // GetWebACLForResourceWithContext is the same as GetWebACLForResource with the addition of
  5948  // the ability to pass a context and additional request options.
  5949  //
  5950  // See GetWebACLForResource for details on how to use this API operation.
  5951  //
  5952  // The context must be non-nil and will be used for request cancellation. If
  5953  // the context is nil a panic will occur. In the future the SDK may create
  5954  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5955  // for more information on using Contexts.
  5956  func (c *WAFRegional) GetWebACLForResourceWithContext(ctx aws.Context, input *GetWebACLForResourceInput, opts ...request.Option) (*GetWebACLForResourceOutput, error) {
  5957  	req, out := c.GetWebACLForResourceRequest(input)
  5958  	req.SetContext(ctx)
  5959  	req.ApplyOptions(opts...)
  5960  	return out, req.Send()
  5961  }
  5962  
  5963  const opGetXssMatchSet = "GetXssMatchSet"
  5964  
  5965  // GetXssMatchSetRequest generates a "aws/request.Request" representing the
  5966  // client's request for the GetXssMatchSet operation. The "output" return
  5967  // value will be populated with the request's response once the request completes
  5968  // successfully.
  5969  //
  5970  // Use "Send" method on the returned Request to send the API call to the service.
  5971  // the "output" return value is not valid until after Send returns without error.
  5972  //
  5973  // See GetXssMatchSet for more information on using the GetXssMatchSet
  5974  // API call, and error handling.
  5975  //
  5976  // This method is useful when you want to inject custom logic or configuration
  5977  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5978  //
  5979  //
  5980  //    // Example sending a request using the GetXssMatchSetRequest method.
  5981  //    req, resp := client.GetXssMatchSetRequest(params)
  5982  //
  5983  //    err := req.Send()
  5984  //    if err == nil { // resp is now filled
  5985  //        fmt.Println(resp)
  5986  //    }
  5987  //
  5988  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet
  5989  func (c *WAFRegional) GetXssMatchSetRequest(input *waf.GetXssMatchSetInput) (req *request.Request, output *waf.GetXssMatchSetOutput) {
  5990  	op := &request.Operation{
  5991  		Name:       opGetXssMatchSet,
  5992  		HTTPMethod: "POST",
  5993  		HTTPPath:   "/",
  5994  	}
  5995  
  5996  	if input == nil {
  5997  		input = &waf.GetXssMatchSetInput{}
  5998  	}
  5999  
  6000  	output = &waf.GetXssMatchSetOutput{}
  6001  	req = c.newRequest(op, input, output)
  6002  	return
  6003  }
  6004  
  6005  // GetXssMatchSet API operation for AWS WAF Regional.
  6006  //
  6007  //
  6008  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6009  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6010  // in the developer guide.
  6011  //
  6012  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6013  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6014  // With the latest version, AWS WAF has a single set of endpoints for regional
  6015  // and global use.
  6016  //
  6017  // Returns the XssMatchSet that is specified by XssMatchSetId.
  6018  //
  6019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6020  // with awserr.Error's Code and Message methods to get detailed information about
  6021  // the error.
  6022  //
  6023  // See the AWS API reference guide for AWS WAF Regional's
  6024  // API operation GetXssMatchSet for usage and error information.
  6025  //
  6026  // Returned Error Types:
  6027  //   * WAFInternalErrorException
  6028  //   The operation failed because of a system problem, even though the request
  6029  //   was valid. Retry your request.
  6030  //
  6031  //   * WAFInvalidAccountException
  6032  //   The operation failed because you tried to create, update, or delete an object
  6033  //   by using an invalid account identifier.
  6034  //
  6035  //   * WAFNonexistentItemException
  6036  //   The operation failed because the referenced object doesn't exist.
  6037  //
  6038  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetXssMatchSet
  6039  func (c *WAFRegional) GetXssMatchSet(input *waf.GetXssMatchSetInput) (*waf.GetXssMatchSetOutput, error) {
  6040  	req, out := c.GetXssMatchSetRequest(input)
  6041  	return out, req.Send()
  6042  }
  6043  
  6044  // GetXssMatchSetWithContext is the same as GetXssMatchSet with the addition of
  6045  // the ability to pass a context and additional request options.
  6046  //
  6047  // See GetXssMatchSet for details on how to use this API operation.
  6048  //
  6049  // The context must be non-nil and will be used for request cancellation. If
  6050  // the context is nil a panic will occur. In the future the SDK may create
  6051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6052  // for more information on using Contexts.
  6053  func (c *WAFRegional) GetXssMatchSetWithContext(ctx aws.Context, input *waf.GetXssMatchSetInput, opts ...request.Option) (*waf.GetXssMatchSetOutput, error) {
  6054  	req, out := c.GetXssMatchSetRequest(input)
  6055  	req.SetContext(ctx)
  6056  	req.ApplyOptions(opts...)
  6057  	return out, req.Send()
  6058  }
  6059  
  6060  const opListActivatedRulesInRuleGroup = "ListActivatedRulesInRuleGroup"
  6061  
  6062  // ListActivatedRulesInRuleGroupRequest generates a "aws/request.Request" representing the
  6063  // client's request for the ListActivatedRulesInRuleGroup operation. The "output" return
  6064  // value will be populated with the request's response once the request completes
  6065  // successfully.
  6066  //
  6067  // Use "Send" method on the returned Request to send the API call to the service.
  6068  // the "output" return value is not valid until after Send returns without error.
  6069  //
  6070  // See ListActivatedRulesInRuleGroup for more information on using the ListActivatedRulesInRuleGroup
  6071  // API call, and error handling.
  6072  //
  6073  // This method is useful when you want to inject custom logic or configuration
  6074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6075  //
  6076  //
  6077  //    // Example sending a request using the ListActivatedRulesInRuleGroupRequest method.
  6078  //    req, resp := client.ListActivatedRulesInRuleGroupRequest(params)
  6079  //
  6080  //    err := req.Send()
  6081  //    if err == nil { // resp is now filled
  6082  //        fmt.Println(resp)
  6083  //    }
  6084  //
  6085  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup
  6086  func (c *WAFRegional) ListActivatedRulesInRuleGroupRequest(input *waf.ListActivatedRulesInRuleGroupInput) (req *request.Request, output *waf.ListActivatedRulesInRuleGroupOutput) {
  6087  	op := &request.Operation{
  6088  		Name:       opListActivatedRulesInRuleGroup,
  6089  		HTTPMethod: "POST",
  6090  		HTTPPath:   "/",
  6091  	}
  6092  
  6093  	if input == nil {
  6094  		input = &waf.ListActivatedRulesInRuleGroupInput{}
  6095  	}
  6096  
  6097  	output = &waf.ListActivatedRulesInRuleGroupOutput{}
  6098  	req = c.newRequest(op, input, output)
  6099  	return
  6100  }
  6101  
  6102  // ListActivatedRulesInRuleGroup API operation for AWS WAF Regional.
  6103  //
  6104  //
  6105  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6106  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6107  // in the developer guide.
  6108  //
  6109  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6110  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6111  // With the latest version, AWS WAF has a single set of endpoints for regional
  6112  // and global use.
  6113  //
  6114  // Returns an array of ActivatedRule objects.
  6115  //
  6116  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6117  // with awserr.Error's Code and Message methods to get detailed information about
  6118  // the error.
  6119  //
  6120  // See the AWS API reference guide for AWS WAF Regional's
  6121  // API operation ListActivatedRulesInRuleGroup for usage and error information.
  6122  //
  6123  // Returned Error Types:
  6124  //   * WAFInternalErrorException
  6125  //   The operation failed because of a system problem, even though the request
  6126  //   was valid. Retry your request.
  6127  //
  6128  //   * WAFNonexistentItemException
  6129  //   The operation failed because the referenced object doesn't exist.
  6130  //
  6131  //   * WAFInvalidParameterException
  6132  //   The operation failed because AWS WAF didn't recognize a parameter in the
  6133  //   request. For example:
  6134  //
  6135  //      * You specified an invalid parameter name.
  6136  //
  6137  //      * You specified an invalid value.
  6138  //
  6139  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  6140  //      using an action other than INSERT or DELETE.
  6141  //
  6142  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  6143  //      BLOCK, or COUNT.
  6144  //
  6145  //      * You tried to create a RateBasedRule with a RateKey value other than
  6146  //      IP.
  6147  //
  6148  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  6149  //      BLOCK, or COUNT.
  6150  //
  6151  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  6152  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  6153  //
  6154  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  6155  //      for Data.
  6156  //
  6157  //      * Your request references an ARN that is malformed, or corresponds to
  6158  //      a resource with which a web ACL cannot be associated.
  6159  //
  6160  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroup
  6161  func (c *WAFRegional) ListActivatedRulesInRuleGroup(input *waf.ListActivatedRulesInRuleGroupInput) (*waf.ListActivatedRulesInRuleGroupOutput, error) {
  6162  	req, out := c.ListActivatedRulesInRuleGroupRequest(input)
  6163  	return out, req.Send()
  6164  }
  6165  
  6166  // ListActivatedRulesInRuleGroupWithContext is the same as ListActivatedRulesInRuleGroup with the addition of
  6167  // the ability to pass a context and additional request options.
  6168  //
  6169  // See ListActivatedRulesInRuleGroup for details on how to use this API operation.
  6170  //
  6171  // The context must be non-nil and will be used for request cancellation. If
  6172  // the context is nil a panic will occur. In the future the SDK may create
  6173  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6174  // for more information on using Contexts.
  6175  func (c *WAFRegional) ListActivatedRulesInRuleGroupWithContext(ctx aws.Context, input *waf.ListActivatedRulesInRuleGroupInput, opts ...request.Option) (*waf.ListActivatedRulesInRuleGroupOutput, error) {
  6176  	req, out := c.ListActivatedRulesInRuleGroupRequest(input)
  6177  	req.SetContext(ctx)
  6178  	req.ApplyOptions(opts...)
  6179  	return out, req.Send()
  6180  }
  6181  
  6182  const opListByteMatchSets = "ListByteMatchSets"
  6183  
  6184  // ListByteMatchSetsRequest generates a "aws/request.Request" representing the
  6185  // client's request for the ListByteMatchSets operation. The "output" return
  6186  // value will be populated with the request's response once the request completes
  6187  // successfully.
  6188  //
  6189  // Use "Send" method on the returned Request to send the API call to the service.
  6190  // the "output" return value is not valid until after Send returns without error.
  6191  //
  6192  // See ListByteMatchSets for more information on using the ListByteMatchSets
  6193  // API call, and error handling.
  6194  //
  6195  // This method is useful when you want to inject custom logic or configuration
  6196  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6197  //
  6198  //
  6199  //    // Example sending a request using the ListByteMatchSetsRequest method.
  6200  //    req, resp := client.ListByteMatchSetsRequest(params)
  6201  //
  6202  //    err := req.Send()
  6203  //    if err == nil { // resp is now filled
  6204  //        fmt.Println(resp)
  6205  //    }
  6206  //
  6207  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets
  6208  func (c *WAFRegional) ListByteMatchSetsRequest(input *waf.ListByteMatchSetsInput) (req *request.Request, output *waf.ListByteMatchSetsOutput) {
  6209  	op := &request.Operation{
  6210  		Name:       opListByteMatchSets,
  6211  		HTTPMethod: "POST",
  6212  		HTTPPath:   "/",
  6213  	}
  6214  
  6215  	if input == nil {
  6216  		input = &waf.ListByteMatchSetsInput{}
  6217  	}
  6218  
  6219  	output = &waf.ListByteMatchSetsOutput{}
  6220  	req = c.newRequest(op, input, output)
  6221  	return
  6222  }
  6223  
  6224  // ListByteMatchSets API operation for AWS WAF Regional.
  6225  //
  6226  //
  6227  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6228  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6229  // in the developer guide.
  6230  //
  6231  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6232  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6233  // With the latest version, AWS WAF has a single set of endpoints for regional
  6234  // and global use.
  6235  //
  6236  // Returns an array of ByteMatchSetSummary objects.
  6237  //
  6238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6239  // with awserr.Error's Code and Message methods to get detailed information about
  6240  // the error.
  6241  //
  6242  // See the AWS API reference guide for AWS WAF Regional's
  6243  // API operation ListByteMatchSets for usage and error information.
  6244  //
  6245  // Returned Error Types:
  6246  //   * WAFInternalErrorException
  6247  //   The operation failed because of a system problem, even though the request
  6248  //   was valid. Retry your request.
  6249  //
  6250  //   * WAFInvalidAccountException
  6251  //   The operation failed because you tried to create, update, or delete an object
  6252  //   by using an invalid account identifier.
  6253  //
  6254  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListByteMatchSets
  6255  func (c *WAFRegional) ListByteMatchSets(input *waf.ListByteMatchSetsInput) (*waf.ListByteMatchSetsOutput, error) {
  6256  	req, out := c.ListByteMatchSetsRequest(input)
  6257  	return out, req.Send()
  6258  }
  6259  
  6260  // ListByteMatchSetsWithContext is the same as ListByteMatchSets with the addition of
  6261  // the ability to pass a context and additional request options.
  6262  //
  6263  // See ListByteMatchSets for details on how to use this API operation.
  6264  //
  6265  // The context must be non-nil and will be used for request cancellation. If
  6266  // the context is nil a panic will occur. In the future the SDK may create
  6267  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6268  // for more information on using Contexts.
  6269  func (c *WAFRegional) ListByteMatchSetsWithContext(ctx aws.Context, input *waf.ListByteMatchSetsInput, opts ...request.Option) (*waf.ListByteMatchSetsOutput, error) {
  6270  	req, out := c.ListByteMatchSetsRequest(input)
  6271  	req.SetContext(ctx)
  6272  	req.ApplyOptions(opts...)
  6273  	return out, req.Send()
  6274  }
  6275  
  6276  const opListGeoMatchSets = "ListGeoMatchSets"
  6277  
  6278  // ListGeoMatchSetsRequest generates a "aws/request.Request" representing the
  6279  // client's request for the ListGeoMatchSets operation. The "output" return
  6280  // value will be populated with the request's response once the request completes
  6281  // successfully.
  6282  //
  6283  // Use "Send" method on the returned Request to send the API call to the service.
  6284  // the "output" return value is not valid until after Send returns without error.
  6285  //
  6286  // See ListGeoMatchSets for more information on using the ListGeoMatchSets
  6287  // API call, and error handling.
  6288  //
  6289  // This method is useful when you want to inject custom logic or configuration
  6290  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6291  //
  6292  //
  6293  //    // Example sending a request using the ListGeoMatchSetsRequest method.
  6294  //    req, resp := client.ListGeoMatchSetsRequest(params)
  6295  //
  6296  //    err := req.Send()
  6297  //    if err == nil { // resp is now filled
  6298  //        fmt.Println(resp)
  6299  //    }
  6300  //
  6301  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets
  6302  func (c *WAFRegional) ListGeoMatchSetsRequest(input *waf.ListGeoMatchSetsInput) (req *request.Request, output *waf.ListGeoMatchSetsOutput) {
  6303  	op := &request.Operation{
  6304  		Name:       opListGeoMatchSets,
  6305  		HTTPMethod: "POST",
  6306  		HTTPPath:   "/",
  6307  	}
  6308  
  6309  	if input == nil {
  6310  		input = &waf.ListGeoMatchSetsInput{}
  6311  	}
  6312  
  6313  	output = &waf.ListGeoMatchSetsOutput{}
  6314  	req = c.newRequest(op, input, output)
  6315  	return
  6316  }
  6317  
  6318  // ListGeoMatchSets API operation for AWS WAF Regional.
  6319  //
  6320  //
  6321  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6322  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6323  // in the developer guide.
  6324  //
  6325  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6326  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6327  // With the latest version, AWS WAF has a single set of endpoints for regional
  6328  // and global use.
  6329  //
  6330  // Returns an array of GeoMatchSetSummary objects in the response.
  6331  //
  6332  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6333  // with awserr.Error's Code and Message methods to get detailed information about
  6334  // the error.
  6335  //
  6336  // See the AWS API reference guide for AWS WAF Regional's
  6337  // API operation ListGeoMatchSets for usage and error information.
  6338  //
  6339  // Returned Error Types:
  6340  //   * WAFInternalErrorException
  6341  //   The operation failed because of a system problem, even though the request
  6342  //   was valid. Retry your request.
  6343  //
  6344  //   * WAFInvalidAccountException
  6345  //   The operation failed because you tried to create, update, or delete an object
  6346  //   by using an invalid account identifier.
  6347  //
  6348  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets
  6349  func (c *WAFRegional) ListGeoMatchSets(input *waf.ListGeoMatchSetsInput) (*waf.ListGeoMatchSetsOutput, error) {
  6350  	req, out := c.ListGeoMatchSetsRequest(input)
  6351  	return out, req.Send()
  6352  }
  6353  
  6354  // ListGeoMatchSetsWithContext is the same as ListGeoMatchSets with the addition of
  6355  // the ability to pass a context and additional request options.
  6356  //
  6357  // See ListGeoMatchSets for details on how to use this API operation.
  6358  //
  6359  // The context must be non-nil and will be used for request cancellation. If
  6360  // the context is nil a panic will occur. In the future the SDK may create
  6361  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6362  // for more information on using Contexts.
  6363  func (c *WAFRegional) ListGeoMatchSetsWithContext(ctx aws.Context, input *waf.ListGeoMatchSetsInput, opts ...request.Option) (*waf.ListGeoMatchSetsOutput, error) {
  6364  	req, out := c.ListGeoMatchSetsRequest(input)
  6365  	req.SetContext(ctx)
  6366  	req.ApplyOptions(opts...)
  6367  	return out, req.Send()
  6368  }
  6369  
  6370  const opListIPSets = "ListIPSets"
  6371  
  6372  // ListIPSetsRequest generates a "aws/request.Request" representing the
  6373  // client's request for the ListIPSets operation. The "output" return
  6374  // value will be populated with the request's response once the request completes
  6375  // successfully.
  6376  //
  6377  // Use "Send" method on the returned Request to send the API call to the service.
  6378  // the "output" return value is not valid until after Send returns without error.
  6379  //
  6380  // See ListIPSets for more information on using the ListIPSets
  6381  // API call, and error handling.
  6382  //
  6383  // This method is useful when you want to inject custom logic or configuration
  6384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6385  //
  6386  //
  6387  //    // Example sending a request using the ListIPSetsRequest method.
  6388  //    req, resp := client.ListIPSetsRequest(params)
  6389  //
  6390  //    err := req.Send()
  6391  //    if err == nil { // resp is now filled
  6392  //        fmt.Println(resp)
  6393  //    }
  6394  //
  6395  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets
  6396  func (c *WAFRegional) ListIPSetsRequest(input *waf.ListIPSetsInput) (req *request.Request, output *waf.ListIPSetsOutput) {
  6397  	op := &request.Operation{
  6398  		Name:       opListIPSets,
  6399  		HTTPMethod: "POST",
  6400  		HTTPPath:   "/",
  6401  	}
  6402  
  6403  	if input == nil {
  6404  		input = &waf.ListIPSetsInput{}
  6405  	}
  6406  
  6407  	output = &waf.ListIPSetsOutput{}
  6408  	req = c.newRequest(op, input, output)
  6409  	return
  6410  }
  6411  
  6412  // ListIPSets API operation for AWS WAF Regional.
  6413  //
  6414  //
  6415  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6416  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6417  // in the developer guide.
  6418  //
  6419  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6420  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6421  // With the latest version, AWS WAF has a single set of endpoints for regional
  6422  // and global use.
  6423  //
  6424  // Returns an array of IPSetSummary objects in the response.
  6425  //
  6426  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6427  // with awserr.Error's Code and Message methods to get detailed information about
  6428  // the error.
  6429  //
  6430  // See the AWS API reference guide for AWS WAF Regional's
  6431  // API operation ListIPSets for usage and error information.
  6432  //
  6433  // Returned Error Types:
  6434  //   * WAFInternalErrorException
  6435  //   The operation failed because of a system problem, even though the request
  6436  //   was valid. Retry your request.
  6437  //
  6438  //   * WAFInvalidAccountException
  6439  //   The operation failed because you tried to create, update, or delete an object
  6440  //   by using an invalid account identifier.
  6441  //
  6442  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListIPSets
  6443  func (c *WAFRegional) ListIPSets(input *waf.ListIPSetsInput) (*waf.ListIPSetsOutput, error) {
  6444  	req, out := c.ListIPSetsRequest(input)
  6445  	return out, req.Send()
  6446  }
  6447  
  6448  // ListIPSetsWithContext is the same as ListIPSets with the addition of
  6449  // the ability to pass a context and additional request options.
  6450  //
  6451  // See ListIPSets for details on how to use this API operation.
  6452  //
  6453  // The context must be non-nil and will be used for request cancellation. If
  6454  // the context is nil a panic will occur. In the future the SDK may create
  6455  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6456  // for more information on using Contexts.
  6457  func (c *WAFRegional) ListIPSetsWithContext(ctx aws.Context, input *waf.ListIPSetsInput, opts ...request.Option) (*waf.ListIPSetsOutput, error) {
  6458  	req, out := c.ListIPSetsRequest(input)
  6459  	req.SetContext(ctx)
  6460  	req.ApplyOptions(opts...)
  6461  	return out, req.Send()
  6462  }
  6463  
  6464  const opListLoggingConfigurations = "ListLoggingConfigurations"
  6465  
  6466  // ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the
  6467  // client's request for the ListLoggingConfigurations operation. The "output" return
  6468  // value will be populated with the request's response once the request completes
  6469  // successfully.
  6470  //
  6471  // Use "Send" method on the returned Request to send the API call to the service.
  6472  // the "output" return value is not valid until after Send returns without error.
  6473  //
  6474  // See ListLoggingConfigurations for more information on using the ListLoggingConfigurations
  6475  // API call, and error handling.
  6476  //
  6477  // This method is useful when you want to inject custom logic or configuration
  6478  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6479  //
  6480  //
  6481  //    // Example sending a request using the ListLoggingConfigurationsRequest method.
  6482  //    req, resp := client.ListLoggingConfigurationsRequest(params)
  6483  //
  6484  //    err := req.Send()
  6485  //    if err == nil { // resp is now filled
  6486  //        fmt.Println(resp)
  6487  //    }
  6488  //
  6489  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations
  6490  func (c *WAFRegional) ListLoggingConfigurationsRequest(input *waf.ListLoggingConfigurationsInput) (req *request.Request, output *waf.ListLoggingConfigurationsOutput) {
  6491  	op := &request.Operation{
  6492  		Name:       opListLoggingConfigurations,
  6493  		HTTPMethod: "POST",
  6494  		HTTPPath:   "/",
  6495  	}
  6496  
  6497  	if input == nil {
  6498  		input = &waf.ListLoggingConfigurationsInput{}
  6499  	}
  6500  
  6501  	output = &waf.ListLoggingConfigurationsOutput{}
  6502  	req = c.newRequest(op, input, output)
  6503  	return
  6504  }
  6505  
  6506  // ListLoggingConfigurations API operation for AWS WAF Regional.
  6507  //
  6508  //
  6509  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6510  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6511  // in the developer guide.
  6512  //
  6513  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6514  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6515  // With the latest version, AWS WAF has a single set of endpoints for regional
  6516  // and global use.
  6517  //
  6518  // Returns an array of LoggingConfiguration objects.
  6519  //
  6520  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6521  // with awserr.Error's Code and Message methods to get detailed information about
  6522  // the error.
  6523  //
  6524  // See the AWS API reference guide for AWS WAF Regional's
  6525  // API operation ListLoggingConfigurations for usage and error information.
  6526  //
  6527  // Returned Error Types:
  6528  //   * WAFInternalErrorException
  6529  //   The operation failed because of a system problem, even though the request
  6530  //   was valid. Retry your request.
  6531  //
  6532  //   * WAFNonexistentItemException
  6533  //   The operation failed because the referenced object doesn't exist.
  6534  //
  6535  //   * WAFInvalidParameterException
  6536  //   The operation failed because AWS WAF didn't recognize a parameter in the
  6537  //   request. For example:
  6538  //
  6539  //      * You specified an invalid parameter name.
  6540  //
  6541  //      * You specified an invalid value.
  6542  //
  6543  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  6544  //      using an action other than INSERT or DELETE.
  6545  //
  6546  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  6547  //      BLOCK, or COUNT.
  6548  //
  6549  //      * You tried to create a RateBasedRule with a RateKey value other than
  6550  //      IP.
  6551  //
  6552  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  6553  //      BLOCK, or COUNT.
  6554  //
  6555  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  6556  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  6557  //
  6558  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  6559  //      for Data.
  6560  //
  6561  //      * Your request references an ARN that is malformed, or corresponds to
  6562  //      a resource with which a web ACL cannot be associated.
  6563  //
  6564  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListLoggingConfigurations
  6565  func (c *WAFRegional) ListLoggingConfigurations(input *waf.ListLoggingConfigurationsInput) (*waf.ListLoggingConfigurationsOutput, error) {
  6566  	req, out := c.ListLoggingConfigurationsRequest(input)
  6567  	return out, req.Send()
  6568  }
  6569  
  6570  // ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of
  6571  // the ability to pass a context and additional request options.
  6572  //
  6573  // See ListLoggingConfigurations for details on how to use this API operation.
  6574  //
  6575  // The context must be non-nil and will be used for request cancellation. If
  6576  // the context is nil a panic will occur. In the future the SDK may create
  6577  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6578  // for more information on using Contexts.
  6579  func (c *WAFRegional) ListLoggingConfigurationsWithContext(ctx aws.Context, input *waf.ListLoggingConfigurationsInput, opts ...request.Option) (*waf.ListLoggingConfigurationsOutput, error) {
  6580  	req, out := c.ListLoggingConfigurationsRequest(input)
  6581  	req.SetContext(ctx)
  6582  	req.ApplyOptions(opts...)
  6583  	return out, req.Send()
  6584  }
  6585  
  6586  const opListRateBasedRules = "ListRateBasedRules"
  6587  
  6588  // ListRateBasedRulesRequest generates a "aws/request.Request" representing the
  6589  // client's request for the ListRateBasedRules operation. The "output" return
  6590  // value will be populated with the request's response once the request completes
  6591  // successfully.
  6592  //
  6593  // Use "Send" method on the returned Request to send the API call to the service.
  6594  // the "output" return value is not valid until after Send returns without error.
  6595  //
  6596  // See ListRateBasedRules for more information on using the ListRateBasedRules
  6597  // API call, and error handling.
  6598  //
  6599  // This method is useful when you want to inject custom logic or configuration
  6600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6601  //
  6602  //
  6603  //    // Example sending a request using the ListRateBasedRulesRequest method.
  6604  //    req, resp := client.ListRateBasedRulesRequest(params)
  6605  //
  6606  //    err := req.Send()
  6607  //    if err == nil { // resp is now filled
  6608  //        fmt.Println(resp)
  6609  //    }
  6610  //
  6611  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules
  6612  func (c *WAFRegional) ListRateBasedRulesRequest(input *waf.ListRateBasedRulesInput) (req *request.Request, output *waf.ListRateBasedRulesOutput) {
  6613  	op := &request.Operation{
  6614  		Name:       opListRateBasedRules,
  6615  		HTTPMethod: "POST",
  6616  		HTTPPath:   "/",
  6617  	}
  6618  
  6619  	if input == nil {
  6620  		input = &waf.ListRateBasedRulesInput{}
  6621  	}
  6622  
  6623  	output = &waf.ListRateBasedRulesOutput{}
  6624  	req = c.newRequest(op, input, output)
  6625  	return
  6626  }
  6627  
  6628  // ListRateBasedRules API operation for AWS WAF Regional.
  6629  //
  6630  //
  6631  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6632  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6633  // in the developer guide.
  6634  //
  6635  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6636  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6637  // With the latest version, AWS WAF has a single set of endpoints for regional
  6638  // and global use.
  6639  //
  6640  // Returns an array of RuleSummary objects.
  6641  //
  6642  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6643  // with awserr.Error's Code and Message methods to get detailed information about
  6644  // the error.
  6645  //
  6646  // See the AWS API reference guide for AWS WAF Regional's
  6647  // API operation ListRateBasedRules for usage and error information.
  6648  //
  6649  // Returned Error Types:
  6650  //   * WAFInternalErrorException
  6651  //   The operation failed because of a system problem, even though the request
  6652  //   was valid. Retry your request.
  6653  //
  6654  //   * WAFInvalidAccountException
  6655  //   The operation failed because you tried to create, update, or delete an object
  6656  //   by using an invalid account identifier.
  6657  //
  6658  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRateBasedRules
  6659  func (c *WAFRegional) ListRateBasedRules(input *waf.ListRateBasedRulesInput) (*waf.ListRateBasedRulesOutput, error) {
  6660  	req, out := c.ListRateBasedRulesRequest(input)
  6661  	return out, req.Send()
  6662  }
  6663  
  6664  // ListRateBasedRulesWithContext is the same as ListRateBasedRules with the addition of
  6665  // the ability to pass a context and additional request options.
  6666  //
  6667  // See ListRateBasedRules for details on how to use this API operation.
  6668  //
  6669  // The context must be non-nil and will be used for request cancellation. If
  6670  // the context is nil a panic will occur. In the future the SDK may create
  6671  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6672  // for more information on using Contexts.
  6673  func (c *WAFRegional) ListRateBasedRulesWithContext(ctx aws.Context, input *waf.ListRateBasedRulesInput, opts ...request.Option) (*waf.ListRateBasedRulesOutput, error) {
  6674  	req, out := c.ListRateBasedRulesRequest(input)
  6675  	req.SetContext(ctx)
  6676  	req.ApplyOptions(opts...)
  6677  	return out, req.Send()
  6678  }
  6679  
  6680  const opListRegexMatchSets = "ListRegexMatchSets"
  6681  
  6682  // ListRegexMatchSetsRequest generates a "aws/request.Request" representing the
  6683  // client's request for the ListRegexMatchSets operation. The "output" return
  6684  // value will be populated with the request's response once the request completes
  6685  // successfully.
  6686  //
  6687  // Use "Send" method on the returned Request to send the API call to the service.
  6688  // the "output" return value is not valid until after Send returns without error.
  6689  //
  6690  // See ListRegexMatchSets for more information on using the ListRegexMatchSets
  6691  // API call, and error handling.
  6692  //
  6693  // This method is useful when you want to inject custom logic or configuration
  6694  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6695  //
  6696  //
  6697  //    // Example sending a request using the ListRegexMatchSetsRequest method.
  6698  //    req, resp := client.ListRegexMatchSetsRequest(params)
  6699  //
  6700  //    err := req.Send()
  6701  //    if err == nil { // resp is now filled
  6702  //        fmt.Println(resp)
  6703  //    }
  6704  //
  6705  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets
  6706  func (c *WAFRegional) ListRegexMatchSetsRequest(input *waf.ListRegexMatchSetsInput) (req *request.Request, output *waf.ListRegexMatchSetsOutput) {
  6707  	op := &request.Operation{
  6708  		Name:       opListRegexMatchSets,
  6709  		HTTPMethod: "POST",
  6710  		HTTPPath:   "/",
  6711  	}
  6712  
  6713  	if input == nil {
  6714  		input = &waf.ListRegexMatchSetsInput{}
  6715  	}
  6716  
  6717  	output = &waf.ListRegexMatchSetsOutput{}
  6718  	req = c.newRequest(op, input, output)
  6719  	return
  6720  }
  6721  
  6722  // ListRegexMatchSets API operation for AWS WAF Regional.
  6723  //
  6724  //
  6725  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6726  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6727  // in the developer guide.
  6728  //
  6729  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6730  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6731  // With the latest version, AWS WAF has a single set of endpoints for regional
  6732  // and global use.
  6733  //
  6734  // Returns an array of RegexMatchSetSummary objects.
  6735  //
  6736  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6737  // with awserr.Error's Code and Message methods to get detailed information about
  6738  // the error.
  6739  //
  6740  // See the AWS API reference guide for AWS WAF Regional's
  6741  // API operation ListRegexMatchSets for usage and error information.
  6742  //
  6743  // Returned Error Types:
  6744  //   * WAFInternalErrorException
  6745  //   The operation failed because of a system problem, even though the request
  6746  //   was valid. Retry your request.
  6747  //
  6748  //   * WAFInvalidAccountException
  6749  //   The operation failed because you tried to create, update, or delete an object
  6750  //   by using an invalid account identifier.
  6751  //
  6752  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets
  6753  func (c *WAFRegional) ListRegexMatchSets(input *waf.ListRegexMatchSetsInput) (*waf.ListRegexMatchSetsOutput, error) {
  6754  	req, out := c.ListRegexMatchSetsRequest(input)
  6755  	return out, req.Send()
  6756  }
  6757  
  6758  // ListRegexMatchSetsWithContext is the same as ListRegexMatchSets with the addition of
  6759  // the ability to pass a context and additional request options.
  6760  //
  6761  // See ListRegexMatchSets for details on how to use this API operation.
  6762  //
  6763  // The context must be non-nil and will be used for request cancellation. If
  6764  // the context is nil a panic will occur. In the future the SDK may create
  6765  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6766  // for more information on using Contexts.
  6767  func (c *WAFRegional) ListRegexMatchSetsWithContext(ctx aws.Context, input *waf.ListRegexMatchSetsInput, opts ...request.Option) (*waf.ListRegexMatchSetsOutput, error) {
  6768  	req, out := c.ListRegexMatchSetsRequest(input)
  6769  	req.SetContext(ctx)
  6770  	req.ApplyOptions(opts...)
  6771  	return out, req.Send()
  6772  }
  6773  
  6774  const opListRegexPatternSets = "ListRegexPatternSets"
  6775  
  6776  // ListRegexPatternSetsRequest generates a "aws/request.Request" representing the
  6777  // client's request for the ListRegexPatternSets operation. The "output" return
  6778  // value will be populated with the request's response once the request completes
  6779  // successfully.
  6780  //
  6781  // Use "Send" method on the returned Request to send the API call to the service.
  6782  // the "output" return value is not valid until after Send returns without error.
  6783  //
  6784  // See ListRegexPatternSets for more information on using the ListRegexPatternSets
  6785  // API call, and error handling.
  6786  //
  6787  // This method is useful when you want to inject custom logic or configuration
  6788  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6789  //
  6790  //
  6791  //    // Example sending a request using the ListRegexPatternSetsRequest method.
  6792  //    req, resp := client.ListRegexPatternSetsRequest(params)
  6793  //
  6794  //    err := req.Send()
  6795  //    if err == nil { // resp is now filled
  6796  //        fmt.Println(resp)
  6797  //    }
  6798  //
  6799  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets
  6800  func (c *WAFRegional) ListRegexPatternSetsRequest(input *waf.ListRegexPatternSetsInput) (req *request.Request, output *waf.ListRegexPatternSetsOutput) {
  6801  	op := &request.Operation{
  6802  		Name:       opListRegexPatternSets,
  6803  		HTTPMethod: "POST",
  6804  		HTTPPath:   "/",
  6805  	}
  6806  
  6807  	if input == nil {
  6808  		input = &waf.ListRegexPatternSetsInput{}
  6809  	}
  6810  
  6811  	output = &waf.ListRegexPatternSetsOutput{}
  6812  	req = c.newRequest(op, input, output)
  6813  	return
  6814  }
  6815  
  6816  // ListRegexPatternSets API operation for AWS WAF Regional.
  6817  //
  6818  //
  6819  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  6820  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6821  // in the developer guide.
  6822  //
  6823  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6824  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6825  // With the latest version, AWS WAF has a single set of endpoints for regional
  6826  // and global use.
  6827  //
  6828  // Returns an array of RegexPatternSetSummary objects.
  6829  //
  6830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6831  // with awserr.Error's Code and Message methods to get detailed information about
  6832  // the error.
  6833  //
  6834  // See the AWS API reference guide for AWS WAF Regional's
  6835  // API operation ListRegexPatternSets for usage and error information.
  6836  //
  6837  // Returned Error Types:
  6838  //   * WAFInternalErrorException
  6839  //   The operation failed because of a system problem, even though the request
  6840  //   was valid. Retry your request.
  6841  //
  6842  //   * WAFInvalidAccountException
  6843  //   The operation failed because you tried to create, update, or delete an object
  6844  //   by using an invalid account identifier.
  6845  //
  6846  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets
  6847  func (c *WAFRegional) ListRegexPatternSets(input *waf.ListRegexPatternSetsInput) (*waf.ListRegexPatternSetsOutput, error) {
  6848  	req, out := c.ListRegexPatternSetsRequest(input)
  6849  	return out, req.Send()
  6850  }
  6851  
  6852  // ListRegexPatternSetsWithContext is the same as ListRegexPatternSets with the addition of
  6853  // the ability to pass a context and additional request options.
  6854  //
  6855  // See ListRegexPatternSets for details on how to use this API operation.
  6856  //
  6857  // The context must be non-nil and will be used for request cancellation. If
  6858  // the context is nil a panic will occur. In the future the SDK may create
  6859  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6860  // for more information on using Contexts.
  6861  func (c *WAFRegional) ListRegexPatternSetsWithContext(ctx aws.Context, input *waf.ListRegexPatternSetsInput, opts ...request.Option) (*waf.ListRegexPatternSetsOutput, error) {
  6862  	req, out := c.ListRegexPatternSetsRequest(input)
  6863  	req.SetContext(ctx)
  6864  	req.ApplyOptions(opts...)
  6865  	return out, req.Send()
  6866  }
  6867  
  6868  const opListResourcesForWebACL = "ListResourcesForWebACL"
  6869  
  6870  // ListResourcesForWebACLRequest generates a "aws/request.Request" representing the
  6871  // client's request for the ListResourcesForWebACL operation. The "output" return
  6872  // value will be populated with the request's response once the request completes
  6873  // successfully.
  6874  //
  6875  // Use "Send" method on the returned Request to send the API call to the service.
  6876  // the "output" return value is not valid until after Send returns without error.
  6877  //
  6878  // See ListResourcesForWebACL for more information on using the ListResourcesForWebACL
  6879  // API call, and error handling.
  6880  //
  6881  // This method is useful when you want to inject custom logic or configuration
  6882  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6883  //
  6884  //
  6885  //    // Example sending a request using the ListResourcesForWebACLRequest method.
  6886  //    req, resp := client.ListResourcesForWebACLRequest(params)
  6887  //
  6888  //    err := req.Send()
  6889  //    if err == nil { // resp is now filled
  6890  //        fmt.Println(resp)
  6891  //    }
  6892  //
  6893  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL
  6894  func (c *WAFRegional) ListResourcesForWebACLRequest(input *ListResourcesForWebACLInput) (req *request.Request, output *ListResourcesForWebACLOutput) {
  6895  	op := &request.Operation{
  6896  		Name:       opListResourcesForWebACL,
  6897  		HTTPMethod: "POST",
  6898  		HTTPPath:   "/",
  6899  	}
  6900  
  6901  	if input == nil {
  6902  		input = &ListResourcesForWebACLInput{}
  6903  	}
  6904  
  6905  	output = &ListResourcesForWebACLOutput{}
  6906  	req = c.newRequest(op, input, output)
  6907  	return
  6908  }
  6909  
  6910  // ListResourcesForWebACL API operation for AWS WAF Regional.
  6911  //
  6912  //
  6913  // This is AWS WAF Classic Regional documentation. For more information, see
  6914  // AWS WAF Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  6915  // in the developer guide.
  6916  //
  6917  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  6918  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  6919  // With the latest version, AWS WAF has a single set of endpoints for regional
  6920  // and global use.
  6921  //
  6922  // Returns an array of resources associated with the specified web ACL.
  6923  //
  6924  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6925  // with awserr.Error's Code and Message methods to get detailed information about
  6926  // the error.
  6927  //
  6928  // See the AWS API reference guide for AWS WAF Regional's
  6929  // API operation ListResourcesForWebACL for usage and error information.
  6930  //
  6931  // Returned Error Types:
  6932  //   * WAFInternalErrorException
  6933  //   The operation failed because of a system problem, even though the request
  6934  //   was valid. Retry your request.
  6935  //
  6936  //   * WAFInvalidAccountException
  6937  //   The operation failed because you tried to create, update, or delete an object
  6938  //   by using an invalid account identifier.
  6939  //
  6940  //   * WAFNonexistentItemException
  6941  //   The operation failed because the referenced object doesn't exist.
  6942  //
  6943  //   * WAFInvalidParameterException
  6944  //   The operation failed because AWS WAF didn't recognize a parameter in the
  6945  //   request. For example:
  6946  //
  6947  //      * You specified an invalid parameter name.
  6948  //
  6949  //      * You specified an invalid value.
  6950  //
  6951  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  6952  //      using an action other than INSERT or DELETE.
  6953  //
  6954  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  6955  //      BLOCK, or COUNT.
  6956  //
  6957  //      * You tried to create a RateBasedRule with a RateKey value other than
  6958  //      IP.
  6959  //
  6960  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  6961  //      BLOCK, or COUNT.
  6962  //
  6963  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  6964  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  6965  //
  6966  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  6967  //      for Data.
  6968  //
  6969  //      * Your request references an ARN that is malformed, or corresponds to
  6970  //      a resource with which a web ACL cannot be associated.
  6971  //
  6972  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListResourcesForWebACL
  6973  func (c *WAFRegional) ListResourcesForWebACL(input *ListResourcesForWebACLInput) (*ListResourcesForWebACLOutput, error) {
  6974  	req, out := c.ListResourcesForWebACLRequest(input)
  6975  	return out, req.Send()
  6976  }
  6977  
  6978  // ListResourcesForWebACLWithContext is the same as ListResourcesForWebACL with the addition of
  6979  // the ability to pass a context and additional request options.
  6980  //
  6981  // See ListResourcesForWebACL for details on how to use this API operation.
  6982  //
  6983  // The context must be non-nil and will be used for request cancellation. If
  6984  // the context is nil a panic will occur. In the future the SDK may create
  6985  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6986  // for more information on using Contexts.
  6987  func (c *WAFRegional) ListResourcesForWebACLWithContext(ctx aws.Context, input *ListResourcesForWebACLInput, opts ...request.Option) (*ListResourcesForWebACLOutput, error) {
  6988  	req, out := c.ListResourcesForWebACLRequest(input)
  6989  	req.SetContext(ctx)
  6990  	req.ApplyOptions(opts...)
  6991  	return out, req.Send()
  6992  }
  6993  
  6994  const opListRuleGroups = "ListRuleGroups"
  6995  
  6996  // ListRuleGroupsRequest generates a "aws/request.Request" representing the
  6997  // client's request for the ListRuleGroups operation. The "output" return
  6998  // value will be populated with the request's response once the request completes
  6999  // successfully.
  7000  //
  7001  // Use "Send" method on the returned Request to send the API call to the service.
  7002  // the "output" return value is not valid until after Send returns without error.
  7003  //
  7004  // See ListRuleGroups for more information on using the ListRuleGroups
  7005  // API call, and error handling.
  7006  //
  7007  // This method is useful when you want to inject custom logic or configuration
  7008  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7009  //
  7010  //
  7011  //    // Example sending a request using the ListRuleGroupsRequest method.
  7012  //    req, resp := client.ListRuleGroupsRequest(params)
  7013  //
  7014  //    err := req.Send()
  7015  //    if err == nil { // resp is now filled
  7016  //        fmt.Println(resp)
  7017  //    }
  7018  //
  7019  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups
  7020  func (c *WAFRegional) ListRuleGroupsRequest(input *waf.ListRuleGroupsInput) (req *request.Request, output *waf.ListRuleGroupsOutput) {
  7021  	op := &request.Operation{
  7022  		Name:       opListRuleGroups,
  7023  		HTTPMethod: "POST",
  7024  		HTTPPath:   "/",
  7025  	}
  7026  
  7027  	if input == nil {
  7028  		input = &waf.ListRuleGroupsInput{}
  7029  	}
  7030  
  7031  	output = &waf.ListRuleGroupsOutput{}
  7032  	req = c.newRequest(op, input, output)
  7033  	return
  7034  }
  7035  
  7036  // ListRuleGroups API operation for AWS WAF Regional.
  7037  //
  7038  //
  7039  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7040  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7041  // in the developer guide.
  7042  //
  7043  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7044  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7045  // With the latest version, AWS WAF has a single set of endpoints for regional
  7046  // and global use.
  7047  //
  7048  // Returns an array of RuleGroup objects.
  7049  //
  7050  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7051  // with awserr.Error's Code and Message methods to get detailed information about
  7052  // the error.
  7053  //
  7054  // See the AWS API reference guide for AWS WAF Regional's
  7055  // API operation ListRuleGroups for usage and error information.
  7056  //
  7057  // Returned Error Types:
  7058  //   * WAFInternalErrorException
  7059  //   The operation failed because of a system problem, even though the request
  7060  //   was valid. Retry your request.
  7061  //
  7062  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroups
  7063  func (c *WAFRegional) ListRuleGroups(input *waf.ListRuleGroupsInput) (*waf.ListRuleGroupsOutput, error) {
  7064  	req, out := c.ListRuleGroupsRequest(input)
  7065  	return out, req.Send()
  7066  }
  7067  
  7068  // ListRuleGroupsWithContext is the same as ListRuleGroups with the addition of
  7069  // the ability to pass a context and additional request options.
  7070  //
  7071  // See ListRuleGroups for details on how to use this API operation.
  7072  //
  7073  // The context must be non-nil and will be used for request cancellation. If
  7074  // the context is nil a panic will occur. In the future the SDK may create
  7075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7076  // for more information on using Contexts.
  7077  func (c *WAFRegional) ListRuleGroupsWithContext(ctx aws.Context, input *waf.ListRuleGroupsInput, opts ...request.Option) (*waf.ListRuleGroupsOutput, error) {
  7078  	req, out := c.ListRuleGroupsRequest(input)
  7079  	req.SetContext(ctx)
  7080  	req.ApplyOptions(opts...)
  7081  	return out, req.Send()
  7082  }
  7083  
  7084  const opListRules = "ListRules"
  7085  
  7086  // ListRulesRequest generates a "aws/request.Request" representing the
  7087  // client's request for the ListRules operation. The "output" return
  7088  // value will be populated with the request's response once the request completes
  7089  // successfully.
  7090  //
  7091  // Use "Send" method on the returned Request to send the API call to the service.
  7092  // the "output" return value is not valid until after Send returns without error.
  7093  //
  7094  // See ListRules for more information on using the ListRules
  7095  // API call, and error handling.
  7096  //
  7097  // This method is useful when you want to inject custom logic or configuration
  7098  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7099  //
  7100  //
  7101  //    // Example sending a request using the ListRulesRequest method.
  7102  //    req, resp := client.ListRulesRequest(params)
  7103  //
  7104  //    err := req.Send()
  7105  //    if err == nil { // resp is now filled
  7106  //        fmt.Println(resp)
  7107  //    }
  7108  //
  7109  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules
  7110  func (c *WAFRegional) ListRulesRequest(input *waf.ListRulesInput) (req *request.Request, output *waf.ListRulesOutput) {
  7111  	op := &request.Operation{
  7112  		Name:       opListRules,
  7113  		HTTPMethod: "POST",
  7114  		HTTPPath:   "/",
  7115  	}
  7116  
  7117  	if input == nil {
  7118  		input = &waf.ListRulesInput{}
  7119  	}
  7120  
  7121  	output = &waf.ListRulesOutput{}
  7122  	req = c.newRequest(op, input, output)
  7123  	return
  7124  }
  7125  
  7126  // ListRules API operation for AWS WAF Regional.
  7127  //
  7128  //
  7129  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7130  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7131  // in the developer guide.
  7132  //
  7133  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7134  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7135  // With the latest version, AWS WAF has a single set of endpoints for regional
  7136  // and global use.
  7137  //
  7138  // Returns an array of RuleSummary objects.
  7139  //
  7140  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7141  // with awserr.Error's Code and Message methods to get detailed information about
  7142  // the error.
  7143  //
  7144  // See the AWS API reference guide for AWS WAF Regional's
  7145  // API operation ListRules for usage and error information.
  7146  //
  7147  // Returned Error Types:
  7148  //   * WAFInternalErrorException
  7149  //   The operation failed because of a system problem, even though the request
  7150  //   was valid. Retry your request.
  7151  //
  7152  //   * WAFInvalidAccountException
  7153  //   The operation failed because you tried to create, update, or delete an object
  7154  //   by using an invalid account identifier.
  7155  //
  7156  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRules
  7157  func (c *WAFRegional) ListRules(input *waf.ListRulesInput) (*waf.ListRulesOutput, error) {
  7158  	req, out := c.ListRulesRequest(input)
  7159  	return out, req.Send()
  7160  }
  7161  
  7162  // ListRulesWithContext is the same as ListRules with the addition of
  7163  // the ability to pass a context and additional request options.
  7164  //
  7165  // See ListRules for details on how to use this API operation.
  7166  //
  7167  // The context must be non-nil and will be used for request cancellation. If
  7168  // the context is nil a panic will occur. In the future the SDK may create
  7169  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7170  // for more information on using Contexts.
  7171  func (c *WAFRegional) ListRulesWithContext(ctx aws.Context, input *waf.ListRulesInput, opts ...request.Option) (*waf.ListRulesOutput, error) {
  7172  	req, out := c.ListRulesRequest(input)
  7173  	req.SetContext(ctx)
  7174  	req.ApplyOptions(opts...)
  7175  	return out, req.Send()
  7176  }
  7177  
  7178  const opListSizeConstraintSets = "ListSizeConstraintSets"
  7179  
  7180  // ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the
  7181  // client's request for the ListSizeConstraintSets operation. The "output" return
  7182  // value will be populated with the request's response once the request completes
  7183  // successfully.
  7184  //
  7185  // Use "Send" method on the returned Request to send the API call to the service.
  7186  // the "output" return value is not valid until after Send returns without error.
  7187  //
  7188  // See ListSizeConstraintSets for more information on using the ListSizeConstraintSets
  7189  // API call, and error handling.
  7190  //
  7191  // This method is useful when you want to inject custom logic or configuration
  7192  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7193  //
  7194  //
  7195  //    // Example sending a request using the ListSizeConstraintSetsRequest method.
  7196  //    req, resp := client.ListSizeConstraintSetsRequest(params)
  7197  //
  7198  //    err := req.Send()
  7199  //    if err == nil { // resp is now filled
  7200  //        fmt.Println(resp)
  7201  //    }
  7202  //
  7203  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets
  7204  func (c *WAFRegional) ListSizeConstraintSetsRequest(input *waf.ListSizeConstraintSetsInput) (req *request.Request, output *waf.ListSizeConstraintSetsOutput) {
  7205  	op := &request.Operation{
  7206  		Name:       opListSizeConstraintSets,
  7207  		HTTPMethod: "POST",
  7208  		HTTPPath:   "/",
  7209  	}
  7210  
  7211  	if input == nil {
  7212  		input = &waf.ListSizeConstraintSetsInput{}
  7213  	}
  7214  
  7215  	output = &waf.ListSizeConstraintSetsOutput{}
  7216  	req = c.newRequest(op, input, output)
  7217  	return
  7218  }
  7219  
  7220  // ListSizeConstraintSets API operation for AWS WAF Regional.
  7221  //
  7222  //
  7223  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7224  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7225  // in the developer guide.
  7226  //
  7227  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7228  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7229  // With the latest version, AWS WAF has a single set of endpoints for regional
  7230  // and global use.
  7231  //
  7232  // Returns an array of SizeConstraintSetSummary objects.
  7233  //
  7234  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7235  // with awserr.Error's Code and Message methods to get detailed information about
  7236  // the error.
  7237  //
  7238  // See the AWS API reference guide for AWS WAF Regional's
  7239  // API operation ListSizeConstraintSets for usage and error information.
  7240  //
  7241  // Returned Error Types:
  7242  //   * WAFInternalErrorException
  7243  //   The operation failed because of a system problem, even though the request
  7244  //   was valid. Retry your request.
  7245  //
  7246  //   * WAFInvalidAccountException
  7247  //   The operation failed because you tried to create, update, or delete an object
  7248  //   by using an invalid account identifier.
  7249  //
  7250  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSizeConstraintSets
  7251  func (c *WAFRegional) ListSizeConstraintSets(input *waf.ListSizeConstraintSetsInput) (*waf.ListSizeConstraintSetsOutput, error) {
  7252  	req, out := c.ListSizeConstraintSetsRequest(input)
  7253  	return out, req.Send()
  7254  }
  7255  
  7256  // ListSizeConstraintSetsWithContext is the same as ListSizeConstraintSets with the addition of
  7257  // the ability to pass a context and additional request options.
  7258  //
  7259  // See ListSizeConstraintSets for details on how to use this API operation.
  7260  //
  7261  // The context must be non-nil and will be used for request cancellation. If
  7262  // the context is nil a panic will occur. In the future the SDK may create
  7263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7264  // for more information on using Contexts.
  7265  func (c *WAFRegional) ListSizeConstraintSetsWithContext(ctx aws.Context, input *waf.ListSizeConstraintSetsInput, opts ...request.Option) (*waf.ListSizeConstraintSetsOutput, error) {
  7266  	req, out := c.ListSizeConstraintSetsRequest(input)
  7267  	req.SetContext(ctx)
  7268  	req.ApplyOptions(opts...)
  7269  	return out, req.Send()
  7270  }
  7271  
  7272  const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets"
  7273  
  7274  // ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the
  7275  // client's request for the ListSqlInjectionMatchSets operation. The "output" return
  7276  // value will be populated with the request's response once the request completes
  7277  // successfully.
  7278  //
  7279  // Use "Send" method on the returned Request to send the API call to the service.
  7280  // the "output" return value is not valid until after Send returns without error.
  7281  //
  7282  // See ListSqlInjectionMatchSets for more information on using the ListSqlInjectionMatchSets
  7283  // API call, and error handling.
  7284  //
  7285  // This method is useful when you want to inject custom logic or configuration
  7286  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7287  //
  7288  //
  7289  //    // Example sending a request using the ListSqlInjectionMatchSetsRequest method.
  7290  //    req, resp := client.ListSqlInjectionMatchSetsRequest(params)
  7291  //
  7292  //    err := req.Send()
  7293  //    if err == nil { // resp is now filled
  7294  //        fmt.Println(resp)
  7295  //    }
  7296  //
  7297  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets
  7298  func (c *WAFRegional) ListSqlInjectionMatchSetsRequest(input *waf.ListSqlInjectionMatchSetsInput) (req *request.Request, output *waf.ListSqlInjectionMatchSetsOutput) {
  7299  	op := &request.Operation{
  7300  		Name:       opListSqlInjectionMatchSets,
  7301  		HTTPMethod: "POST",
  7302  		HTTPPath:   "/",
  7303  	}
  7304  
  7305  	if input == nil {
  7306  		input = &waf.ListSqlInjectionMatchSetsInput{}
  7307  	}
  7308  
  7309  	output = &waf.ListSqlInjectionMatchSetsOutput{}
  7310  	req = c.newRequest(op, input, output)
  7311  	return
  7312  }
  7313  
  7314  // ListSqlInjectionMatchSets API operation for AWS WAF Regional.
  7315  //
  7316  //
  7317  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7318  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7319  // in the developer guide.
  7320  //
  7321  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7322  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7323  // With the latest version, AWS WAF has a single set of endpoints for regional
  7324  // and global use.
  7325  //
  7326  // Returns an array of SqlInjectionMatchSet objects.
  7327  //
  7328  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7329  // with awserr.Error's Code and Message methods to get detailed information about
  7330  // the error.
  7331  //
  7332  // See the AWS API reference guide for AWS WAF Regional's
  7333  // API operation ListSqlInjectionMatchSets for usage and error information.
  7334  //
  7335  // Returned Error Types:
  7336  //   * WAFInternalErrorException
  7337  //   The operation failed because of a system problem, even though the request
  7338  //   was valid. Retry your request.
  7339  //
  7340  //   * WAFInvalidAccountException
  7341  //   The operation failed because you tried to create, update, or delete an object
  7342  //   by using an invalid account identifier.
  7343  //
  7344  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSqlInjectionMatchSets
  7345  func (c *WAFRegional) ListSqlInjectionMatchSets(input *waf.ListSqlInjectionMatchSetsInput) (*waf.ListSqlInjectionMatchSetsOutput, error) {
  7346  	req, out := c.ListSqlInjectionMatchSetsRequest(input)
  7347  	return out, req.Send()
  7348  }
  7349  
  7350  // ListSqlInjectionMatchSetsWithContext is the same as ListSqlInjectionMatchSets with the addition of
  7351  // the ability to pass a context and additional request options.
  7352  //
  7353  // See ListSqlInjectionMatchSets for details on how to use this API operation.
  7354  //
  7355  // The context must be non-nil and will be used for request cancellation. If
  7356  // the context is nil a panic will occur. In the future the SDK may create
  7357  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7358  // for more information on using Contexts.
  7359  func (c *WAFRegional) ListSqlInjectionMatchSetsWithContext(ctx aws.Context, input *waf.ListSqlInjectionMatchSetsInput, opts ...request.Option) (*waf.ListSqlInjectionMatchSetsOutput, error) {
  7360  	req, out := c.ListSqlInjectionMatchSetsRequest(input)
  7361  	req.SetContext(ctx)
  7362  	req.ApplyOptions(opts...)
  7363  	return out, req.Send()
  7364  }
  7365  
  7366  const opListSubscribedRuleGroups = "ListSubscribedRuleGroups"
  7367  
  7368  // ListSubscribedRuleGroupsRequest generates a "aws/request.Request" representing the
  7369  // client's request for the ListSubscribedRuleGroups operation. The "output" return
  7370  // value will be populated with the request's response once the request completes
  7371  // successfully.
  7372  //
  7373  // Use "Send" method on the returned Request to send the API call to the service.
  7374  // the "output" return value is not valid until after Send returns without error.
  7375  //
  7376  // See ListSubscribedRuleGroups for more information on using the ListSubscribedRuleGroups
  7377  // API call, and error handling.
  7378  //
  7379  // This method is useful when you want to inject custom logic or configuration
  7380  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7381  //
  7382  //
  7383  //    // Example sending a request using the ListSubscribedRuleGroupsRequest method.
  7384  //    req, resp := client.ListSubscribedRuleGroupsRequest(params)
  7385  //
  7386  //    err := req.Send()
  7387  //    if err == nil { // resp is now filled
  7388  //        fmt.Println(resp)
  7389  //    }
  7390  //
  7391  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups
  7392  func (c *WAFRegional) ListSubscribedRuleGroupsRequest(input *waf.ListSubscribedRuleGroupsInput) (req *request.Request, output *waf.ListSubscribedRuleGroupsOutput) {
  7393  	op := &request.Operation{
  7394  		Name:       opListSubscribedRuleGroups,
  7395  		HTTPMethod: "POST",
  7396  		HTTPPath:   "/",
  7397  	}
  7398  
  7399  	if input == nil {
  7400  		input = &waf.ListSubscribedRuleGroupsInput{}
  7401  	}
  7402  
  7403  	output = &waf.ListSubscribedRuleGroupsOutput{}
  7404  	req = c.newRequest(op, input, output)
  7405  	return
  7406  }
  7407  
  7408  // ListSubscribedRuleGroups API operation for AWS WAF Regional.
  7409  //
  7410  //
  7411  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7412  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7413  // in the developer guide.
  7414  //
  7415  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7416  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7417  // With the latest version, AWS WAF has a single set of endpoints for regional
  7418  // and global use.
  7419  //
  7420  // Returns an array of RuleGroup objects that you are subscribed to.
  7421  //
  7422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7423  // with awserr.Error's Code and Message methods to get detailed information about
  7424  // the error.
  7425  //
  7426  // See the AWS API reference guide for AWS WAF Regional's
  7427  // API operation ListSubscribedRuleGroups for usage and error information.
  7428  //
  7429  // Returned Error Types:
  7430  //   * WAFNonexistentItemException
  7431  //   The operation failed because the referenced object doesn't exist.
  7432  //
  7433  //   * WAFInternalErrorException
  7434  //   The operation failed because of a system problem, even though the request
  7435  //   was valid. Retry your request.
  7436  //
  7437  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroups
  7438  func (c *WAFRegional) ListSubscribedRuleGroups(input *waf.ListSubscribedRuleGroupsInput) (*waf.ListSubscribedRuleGroupsOutput, error) {
  7439  	req, out := c.ListSubscribedRuleGroupsRequest(input)
  7440  	return out, req.Send()
  7441  }
  7442  
  7443  // ListSubscribedRuleGroupsWithContext is the same as ListSubscribedRuleGroups with the addition of
  7444  // the ability to pass a context and additional request options.
  7445  //
  7446  // See ListSubscribedRuleGroups for details on how to use this API operation.
  7447  //
  7448  // The context must be non-nil and will be used for request cancellation. If
  7449  // the context is nil a panic will occur. In the future the SDK may create
  7450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7451  // for more information on using Contexts.
  7452  func (c *WAFRegional) ListSubscribedRuleGroupsWithContext(ctx aws.Context, input *waf.ListSubscribedRuleGroupsInput, opts ...request.Option) (*waf.ListSubscribedRuleGroupsOutput, error) {
  7453  	req, out := c.ListSubscribedRuleGroupsRequest(input)
  7454  	req.SetContext(ctx)
  7455  	req.ApplyOptions(opts...)
  7456  	return out, req.Send()
  7457  }
  7458  
  7459  const opListTagsForResource = "ListTagsForResource"
  7460  
  7461  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  7462  // client's request for the ListTagsForResource operation. The "output" return
  7463  // value will be populated with the request's response once the request completes
  7464  // successfully.
  7465  //
  7466  // Use "Send" method on the returned Request to send the API call to the service.
  7467  // the "output" return value is not valid until after Send returns without error.
  7468  //
  7469  // See ListTagsForResource for more information on using the ListTagsForResource
  7470  // API call, and error handling.
  7471  //
  7472  // This method is useful when you want to inject custom logic or configuration
  7473  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7474  //
  7475  //
  7476  //    // Example sending a request using the ListTagsForResourceRequest method.
  7477  //    req, resp := client.ListTagsForResourceRequest(params)
  7478  //
  7479  //    err := req.Send()
  7480  //    if err == nil { // resp is now filled
  7481  //        fmt.Println(resp)
  7482  //    }
  7483  //
  7484  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource
  7485  func (c *WAFRegional) ListTagsForResourceRequest(input *waf.ListTagsForResourceInput) (req *request.Request, output *waf.ListTagsForResourceOutput) {
  7486  	op := &request.Operation{
  7487  		Name:       opListTagsForResource,
  7488  		HTTPMethod: "POST",
  7489  		HTTPPath:   "/",
  7490  	}
  7491  
  7492  	if input == nil {
  7493  		input = &waf.ListTagsForResourceInput{}
  7494  	}
  7495  
  7496  	output = &waf.ListTagsForResourceOutput{}
  7497  	req = c.newRequest(op, input, output)
  7498  	return
  7499  }
  7500  
  7501  // ListTagsForResource API operation for AWS WAF Regional.
  7502  //
  7503  //
  7504  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7505  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7506  // in the developer guide.
  7507  //
  7508  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7509  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7510  // With the latest version, AWS WAF has a single set of endpoints for regional
  7511  // and global use.
  7512  //
  7513  // Retrieves the tags associated with the specified AWS resource. Tags are key:value
  7514  // pairs that you can use to categorize and manage your resources, for purposes
  7515  // like billing. For example, you might set the tag key to "customer" and the
  7516  // value to the customer name or ID. You can specify one or more tags to add
  7517  // to each AWS resource, up to 50 tags for a resource.
  7518  //
  7519  // Tagging is only available through the API, SDKs, and CLI. You can't manage
  7520  // or view tags through the AWS WAF Classic console. You can tag the AWS resources
  7521  // that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.
  7522  //
  7523  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7524  // with awserr.Error's Code and Message methods to get detailed information about
  7525  // the error.
  7526  //
  7527  // See the AWS API reference guide for AWS WAF Regional's
  7528  // API operation ListTagsForResource for usage and error information.
  7529  //
  7530  // Returned Error Types:
  7531  //   * WAFInternalErrorException
  7532  //   The operation failed because of a system problem, even though the request
  7533  //   was valid. Retry your request.
  7534  //
  7535  //   * WAFInvalidParameterException
  7536  //   The operation failed because AWS WAF didn't recognize a parameter in the
  7537  //   request. For example:
  7538  //
  7539  //      * You specified an invalid parameter name.
  7540  //
  7541  //      * You specified an invalid value.
  7542  //
  7543  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  7544  //      using an action other than INSERT or DELETE.
  7545  //
  7546  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  7547  //      BLOCK, or COUNT.
  7548  //
  7549  //      * You tried to create a RateBasedRule with a RateKey value other than
  7550  //      IP.
  7551  //
  7552  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  7553  //      BLOCK, or COUNT.
  7554  //
  7555  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  7556  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  7557  //
  7558  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  7559  //      for Data.
  7560  //
  7561  //      * Your request references an ARN that is malformed, or corresponds to
  7562  //      a resource with which a web ACL cannot be associated.
  7563  //
  7564  //   * WAFNonexistentItemException
  7565  //   The operation failed because the referenced object doesn't exist.
  7566  //
  7567  //   * WAFBadRequestException
  7568  //
  7569  //   * WAFTagOperationException
  7570  //
  7571  //   * WAFTagOperationInternalErrorException
  7572  //
  7573  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListTagsForResource
  7574  func (c *WAFRegional) ListTagsForResource(input *waf.ListTagsForResourceInput) (*waf.ListTagsForResourceOutput, error) {
  7575  	req, out := c.ListTagsForResourceRequest(input)
  7576  	return out, req.Send()
  7577  }
  7578  
  7579  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  7580  // the ability to pass a context and additional request options.
  7581  //
  7582  // See ListTagsForResource for details on how to use this API operation.
  7583  //
  7584  // The context must be non-nil and will be used for request cancellation. If
  7585  // the context is nil a panic will occur. In the future the SDK may create
  7586  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7587  // for more information on using Contexts.
  7588  func (c *WAFRegional) ListTagsForResourceWithContext(ctx aws.Context, input *waf.ListTagsForResourceInput, opts ...request.Option) (*waf.ListTagsForResourceOutput, error) {
  7589  	req, out := c.ListTagsForResourceRequest(input)
  7590  	req.SetContext(ctx)
  7591  	req.ApplyOptions(opts...)
  7592  	return out, req.Send()
  7593  }
  7594  
  7595  const opListWebACLs = "ListWebACLs"
  7596  
  7597  // ListWebACLsRequest generates a "aws/request.Request" representing the
  7598  // client's request for the ListWebACLs operation. The "output" return
  7599  // value will be populated with the request's response once the request completes
  7600  // successfully.
  7601  //
  7602  // Use "Send" method on the returned Request to send the API call to the service.
  7603  // the "output" return value is not valid until after Send returns without error.
  7604  //
  7605  // See ListWebACLs for more information on using the ListWebACLs
  7606  // API call, and error handling.
  7607  //
  7608  // This method is useful when you want to inject custom logic or configuration
  7609  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7610  //
  7611  //
  7612  //    // Example sending a request using the ListWebACLsRequest method.
  7613  //    req, resp := client.ListWebACLsRequest(params)
  7614  //
  7615  //    err := req.Send()
  7616  //    if err == nil { // resp is now filled
  7617  //        fmt.Println(resp)
  7618  //    }
  7619  //
  7620  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs
  7621  func (c *WAFRegional) ListWebACLsRequest(input *waf.ListWebACLsInput) (req *request.Request, output *waf.ListWebACLsOutput) {
  7622  	op := &request.Operation{
  7623  		Name:       opListWebACLs,
  7624  		HTTPMethod: "POST",
  7625  		HTTPPath:   "/",
  7626  	}
  7627  
  7628  	if input == nil {
  7629  		input = &waf.ListWebACLsInput{}
  7630  	}
  7631  
  7632  	output = &waf.ListWebACLsOutput{}
  7633  	req = c.newRequest(op, input, output)
  7634  	return
  7635  }
  7636  
  7637  // ListWebACLs API operation for AWS WAF Regional.
  7638  //
  7639  //
  7640  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7641  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7642  // in the developer guide.
  7643  //
  7644  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7645  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7646  // With the latest version, AWS WAF has a single set of endpoints for regional
  7647  // and global use.
  7648  //
  7649  // Returns an array of WebACLSummary objects in the response.
  7650  //
  7651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7652  // with awserr.Error's Code and Message methods to get detailed information about
  7653  // the error.
  7654  //
  7655  // See the AWS API reference guide for AWS WAF Regional's
  7656  // API operation ListWebACLs for usage and error information.
  7657  //
  7658  // Returned Error Types:
  7659  //   * WAFInternalErrorException
  7660  //   The operation failed because of a system problem, even though the request
  7661  //   was valid. Retry your request.
  7662  //
  7663  //   * WAFInvalidAccountException
  7664  //   The operation failed because you tried to create, update, or delete an object
  7665  //   by using an invalid account identifier.
  7666  //
  7667  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListWebACLs
  7668  func (c *WAFRegional) ListWebACLs(input *waf.ListWebACLsInput) (*waf.ListWebACLsOutput, error) {
  7669  	req, out := c.ListWebACLsRequest(input)
  7670  	return out, req.Send()
  7671  }
  7672  
  7673  // ListWebACLsWithContext is the same as ListWebACLs with the addition of
  7674  // the ability to pass a context and additional request options.
  7675  //
  7676  // See ListWebACLs for details on how to use this API operation.
  7677  //
  7678  // The context must be non-nil and will be used for request cancellation. If
  7679  // the context is nil a panic will occur. In the future the SDK may create
  7680  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7681  // for more information on using Contexts.
  7682  func (c *WAFRegional) ListWebACLsWithContext(ctx aws.Context, input *waf.ListWebACLsInput, opts ...request.Option) (*waf.ListWebACLsOutput, error) {
  7683  	req, out := c.ListWebACLsRequest(input)
  7684  	req.SetContext(ctx)
  7685  	req.ApplyOptions(opts...)
  7686  	return out, req.Send()
  7687  }
  7688  
  7689  const opListXssMatchSets = "ListXssMatchSets"
  7690  
  7691  // ListXssMatchSetsRequest generates a "aws/request.Request" representing the
  7692  // client's request for the ListXssMatchSets operation. The "output" return
  7693  // value will be populated with the request's response once the request completes
  7694  // successfully.
  7695  //
  7696  // Use "Send" method on the returned Request to send the API call to the service.
  7697  // the "output" return value is not valid until after Send returns without error.
  7698  //
  7699  // See ListXssMatchSets for more information on using the ListXssMatchSets
  7700  // API call, and error handling.
  7701  //
  7702  // This method is useful when you want to inject custom logic or configuration
  7703  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7704  //
  7705  //
  7706  //    // Example sending a request using the ListXssMatchSetsRequest method.
  7707  //    req, resp := client.ListXssMatchSetsRequest(params)
  7708  //
  7709  //    err := req.Send()
  7710  //    if err == nil { // resp is now filled
  7711  //        fmt.Println(resp)
  7712  //    }
  7713  //
  7714  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets
  7715  func (c *WAFRegional) ListXssMatchSetsRequest(input *waf.ListXssMatchSetsInput) (req *request.Request, output *waf.ListXssMatchSetsOutput) {
  7716  	op := &request.Operation{
  7717  		Name:       opListXssMatchSets,
  7718  		HTTPMethod: "POST",
  7719  		HTTPPath:   "/",
  7720  	}
  7721  
  7722  	if input == nil {
  7723  		input = &waf.ListXssMatchSetsInput{}
  7724  	}
  7725  
  7726  	output = &waf.ListXssMatchSetsOutput{}
  7727  	req = c.newRequest(op, input, output)
  7728  	return
  7729  }
  7730  
  7731  // ListXssMatchSets API operation for AWS WAF Regional.
  7732  //
  7733  //
  7734  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7735  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7736  // in the developer guide.
  7737  //
  7738  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7739  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7740  // With the latest version, AWS WAF has a single set of endpoints for regional
  7741  // and global use.
  7742  //
  7743  // Returns an array of XssMatchSet objects.
  7744  //
  7745  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7746  // with awserr.Error's Code and Message methods to get detailed information about
  7747  // the error.
  7748  //
  7749  // See the AWS API reference guide for AWS WAF Regional's
  7750  // API operation ListXssMatchSets for usage and error information.
  7751  //
  7752  // Returned Error Types:
  7753  //   * WAFInternalErrorException
  7754  //   The operation failed because of a system problem, even though the request
  7755  //   was valid. Retry your request.
  7756  //
  7757  //   * WAFInvalidAccountException
  7758  //   The operation failed because you tried to create, update, or delete an object
  7759  //   by using an invalid account identifier.
  7760  //
  7761  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListXssMatchSets
  7762  func (c *WAFRegional) ListXssMatchSets(input *waf.ListXssMatchSetsInput) (*waf.ListXssMatchSetsOutput, error) {
  7763  	req, out := c.ListXssMatchSetsRequest(input)
  7764  	return out, req.Send()
  7765  }
  7766  
  7767  // ListXssMatchSetsWithContext is the same as ListXssMatchSets with the addition of
  7768  // the ability to pass a context and additional request options.
  7769  //
  7770  // See ListXssMatchSets for details on how to use this API operation.
  7771  //
  7772  // The context must be non-nil and will be used for request cancellation. If
  7773  // the context is nil a panic will occur. In the future the SDK may create
  7774  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7775  // for more information on using Contexts.
  7776  func (c *WAFRegional) ListXssMatchSetsWithContext(ctx aws.Context, input *waf.ListXssMatchSetsInput, opts ...request.Option) (*waf.ListXssMatchSetsOutput, error) {
  7777  	req, out := c.ListXssMatchSetsRequest(input)
  7778  	req.SetContext(ctx)
  7779  	req.ApplyOptions(opts...)
  7780  	return out, req.Send()
  7781  }
  7782  
  7783  const opPutLoggingConfiguration = "PutLoggingConfiguration"
  7784  
  7785  // PutLoggingConfigurationRequest generates a "aws/request.Request" representing the
  7786  // client's request for the PutLoggingConfiguration operation. The "output" return
  7787  // value will be populated with the request's response once the request completes
  7788  // successfully.
  7789  //
  7790  // Use "Send" method on the returned Request to send the API call to the service.
  7791  // the "output" return value is not valid until after Send returns without error.
  7792  //
  7793  // See PutLoggingConfiguration for more information on using the PutLoggingConfiguration
  7794  // API call, and error handling.
  7795  //
  7796  // This method is useful when you want to inject custom logic or configuration
  7797  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7798  //
  7799  //
  7800  //    // Example sending a request using the PutLoggingConfigurationRequest method.
  7801  //    req, resp := client.PutLoggingConfigurationRequest(params)
  7802  //
  7803  //    err := req.Send()
  7804  //    if err == nil { // resp is now filled
  7805  //        fmt.Println(resp)
  7806  //    }
  7807  //
  7808  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration
  7809  func (c *WAFRegional) PutLoggingConfigurationRequest(input *waf.PutLoggingConfigurationInput) (req *request.Request, output *waf.PutLoggingConfigurationOutput) {
  7810  	op := &request.Operation{
  7811  		Name:       opPutLoggingConfiguration,
  7812  		HTTPMethod: "POST",
  7813  		HTTPPath:   "/",
  7814  	}
  7815  
  7816  	if input == nil {
  7817  		input = &waf.PutLoggingConfigurationInput{}
  7818  	}
  7819  
  7820  	output = &waf.PutLoggingConfigurationOutput{}
  7821  	req = c.newRequest(op, input, output)
  7822  	return
  7823  }
  7824  
  7825  // PutLoggingConfiguration API operation for AWS WAF Regional.
  7826  //
  7827  //
  7828  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7829  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7830  // in the developer guide.
  7831  //
  7832  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7833  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7834  // With the latest version, AWS WAF has a single set of endpoints for regional
  7835  // and global use.
  7836  //
  7837  // Associates a LoggingConfiguration with a specified web ACL.
  7838  //
  7839  // You can access information about all traffic that AWS WAF inspects using
  7840  // the following steps:
  7841  //
  7842  // Create an Amazon Kinesis Data Firehose.
  7843  //
  7844  // Create the data firehose with a PUT source and in the region that you are
  7845  // operating. However, if you are capturing logs for Amazon CloudFront, always
  7846  // create the firehose in US East (N. Virginia).
  7847  //
  7848  // Do not create the data firehose using a Kinesis stream as your source.
  7849  //
  7850  // Associate that firehose to your web ACL using a PutLoggingConfiguration request.
  7851  //
  7852  // When you successfully enable logging using a PutLoggingConfiguration request,
  7853  // AWS WAF will create a service linked role with the necessary permissions
  7854  // to write logs to the Amazon Kinesis Data Firehose. For more information,
  7855  // see Logging Web ACL Traffic Information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
  7856  // in the AWS WAF Developer Guide.
  7857  //
  7858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7859  // with awserr.Error's Code and Message methods to get detailed information about
  7860  // the error.
  7861  //
  7862  // See the AWS API reference guide for AWS WAF Regional's
  7863  // API operation PutLoggingConfiguration for usage and error information.
  7864  //
  7865  // Returned Error Types:
  7866  //   * WAFInternalErrorException
  7867  //   The operation failed because of a system problem, even though the request
  7868  //   was valid. Retry your request.
  7869  //
  7870  //   * WAFNonexistentItemException
  7871  //   The operation failed because the referenced object doesn't exist.
  7872  //
  7873  //   * WAFStaleDataException
  7874  //   The operation failed because you tried to create, update, or delete an object
  7875  //   by using a change token that has already been used.
  7876  //
  7877  //   * WAFServiceLinkedRoleErrorException
  7878  //   AWS WAF is not able to access the service linked role. This can be caused
  7879  //   by a previous PutLoggingConfiguration request, which can lock the service
  7880  //   linked role for about 20 seconds. Please try your request again. The service
  7881  //   linked role can also be locked by a previous DeleteServiceLinkedRole request,
  7882  //   which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole,
  7883  //   wait at least 15 minutes and try the request again. If you receive this same
  7884  //   exception again, you will have to wait additional time until the role is
  7885  //   unlocked.
  7886  //
  7887  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutLoggingConfiguration
  7888  func (c *WAFRegional) PutLoggingConfiguration(input *waf.PutLoggingConfigurationInput) (*waf.PutLoggingConfigurationOutput, error) {
  7889  	req, out := c.PutLoggingConfigurationRequest(input)
  7890  	return out, req.Send()
  7891  }
  7892  
  7893  // PutLoggingConfigurationWithContext is the same as PutLoggingConfiguration with the addition of
  7894  // the ability to pass a context and additional request options.
  7895  //
  7896  // See PutLoggingConfiguration for details on how to use this API operation.
  7897  //
  7898  // The context must be non-nil and will be used for request cancellation. If
  7899  // the context is nil a panic will occur. In the future the SDK may create
  7900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7901  // for more information on using Contexts.
  7902  func (c *WAFRegional) PutLoggingConfigurationWithContext(ctx aws.Context, input *waf.PutLoggingConfigurationInput, opts ...request.Option) (*waf.PutLoggingConfigurationOutput, error) {
  7903  	req, out := c.PutLoggingConfigurationRequest(input)
  7904  	req.SetContext(ctx)
  7905  	req.ApplyOptions(opts...)
  7906  	return out, req.Send()
  7907  }
  7908  
  7909  const opPutPermissionPolicy = "PutPermissionPolicy"
  7910  
  7911  // PutPermissionPolicyRequest generates a "aws/request.Request" representing the
  7912  // client's request for the PutPermissionPolicy operation. The "output" return
  7913  // value will be populated with the request's response once the request completes
  7914  // successfully.
  7915  //
  7916  // Use "Send" method on the returned Request to send the API call to the service.
  7917  // the "output" return value is not valid until after Send returns without error.
  7918  //
  7919  // See PutPermissionPolicy for more information on using the PutPermissionPolicy
  7920  // API call, and error handling.
  7921  //
  7922  // This method is useful when you want to inject custom logic or configuration
  7923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7924  //
  7925  //
  7926  //    // Example sending a request using the PutPermissionPolicyRequest method.
  7927  //    req, resp := client.PutPermissionPolicyRequest(params)
  7928  //
  7929  //    err := req.Send()
  7930  //    if err == nil { // resp is now filled
  7931  //        fmt.Println(resp)
  7932  //    }
  7933  //
  7934  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy
  7935  func (c *WAFRegional) PutPermissionPolicyRequest(input *waf.PutPermissionPolicyInput) (req *request.Request, output *waf.PutPermissionPolicyOutput) {
  7936  	op := &request.Operation{
  7937  		Name:       opPutPermissionPolicy,
  7938  		HTTPMethod: "POST",
  7939  		HTTPPath:   "/",
  7940  	}
  7941  
  7942  	if input == nil {
  7943  		input = &waf.PutPermissionPolicyInput{}
  7944  	}
  7945  
  7946  	output = &waf.PutPermissionPolicyOutput{}
  7947  	req = c.newRequest(op, input, output)
  7948  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7949  	return
  7950  }
  7951  
  7952  // PutPermissionPolicy API operation for AWS WAF Regional.
  7953  //
  7954  //
  7955  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  7956  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  7957  // in the developer guide.
  7958  //
  7959  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  7960  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  7961  // With the latest version, AWS WAF has a single set of endpoints for regional
  7962  // and global use.
  7963  //
  7964  // Attaches an IAM policy to the specified resource. The only supported use
  7965  // for this action is to share a RuleGroup across accounts.
  7966  //
  7967  // The PutPermissionPolicy is subject to the following restrictions:
  7968  //
  7969  //    * You can attach only one policy with each PutPermissionPolicy request.
  7970  //
  7971  //    * The policy must include an Effect, Action and Principal.
  7972  //
  7973  //    * Effect must specify Allow.
  7974  //
  7975  //    * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
  7976  //    waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
  7977  //    actions in the policy will be rejected.
  7978  //
  7979  //    * The policy cannot include a Resource parameter.
  7980  //
  7981  //    * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
  7982  //    must exist in the same region.
  7983  //
  7984  //    * The user making the request must be the owner of the RuleGroup.
  7985  //
  7986  //    * Your policy must be composed using IAM Policy version 2012-10-17.
  7987  //
  7988  // For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
  7989  //
  7990  // An example of a valid policy parameter is shown in the Examples section below.
  7991  //
  7992  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7993  // with awserr.Error's Code and Message methods to get detailed information about
  7994  // the error.
  7995  //
  7996  // See the AWS API reference guide for AWS WAF Regional's
  7997  // API operation PutPermissionPolicy for usage and error information.
  7998  //
  7999  // Returned Error Types:
  8000  //   * WAFInternalErrorException
  8001  //   The operation failed because of a system problem, even though the request
  8002  //   was valid. Retry your request.
  8003  //
  8004  //   * WAFStaleDataException
  8005  //   The operation failed because you tried to create, update, or delete an object
  8006  //   by using a change token that has already been used.
  8007  //
  8008  //   * WAFNonexistentItemException
  8009  //   The operation failed because the referenced object doesn't exist.
  8010  //
  8011  //   * WAFInvalidPermissionPolicyException
  8012  //   The operation failed because the specified policy is not in the proper format.
  8013  //
  8014  //   The policy is subject to the following restrictions:
  8015  //
  8016  //      * You can attach only one policy with each PutPermissionPolicy request.
  8017  //
  8018  //      * The policy must include an Effect, Action and Principal.
  8019  //
  8020  //      * Effect must specify Allow.
  8021  //
  8022  //      * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
  8023  //      waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
  8024  //      actions in the policy will be rejected.
  8025  //
  8026  //      * The policy cannot include a Resource parameter.
  8027  //
  8028  //      * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
  8029  //      must exist in the same region.
  8030  //
  8031  //      * The user making the request must be the owner of the RuleGroup.
  8032  //
  8033  //      * Your policy must be composed using IAM Policy version 2012-10-17.
  8034  //
  8035  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/PutPermissionPolicy
  8036  func (c *WAFRegional) PutPermissionPolicy(input *waf.PutPermissionPolicyInput) (*waf.PutPermissionPolicyOutput, error) {
  8037  	req, out := c.PutPermissionPolicyRequest(input)
  8038  	return out, req.Send()
  8039  }
  8040  
  8041  // PutPermissionPolicyWithContext is the same as PutPermissionPolicy with the addition of
  8042  // the ability to pass a context and additional request options.
  8043  //
  8044  // See PutPermissionPolicy for details on how to use this API operation.
  8045  //
  8046  // The context must be non-nil and will be used for request cancellation. If
  8047  // the context is nil a panic will occur. In the future the SDK may create
  8048  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8049  // for more information on using Contexts.
  8050  func (c *WAFRegional) PutPermissionPolicyWithContext(ctx aws.Context, input *waf.PutPermissionPolicyInput, opts ...request.Option) (*waf.PutPermissionPolicyOutput, error) {
  8051  	req, out := c.PutPermissionPolicyRequest(input)
  8052  	req.SetContext(ctx)
  8053  	req.ApplyOptions(opts...)
  8054  	return out, req.Send()
  8055  }
  8056  
  8057  const opTagResource = "TagResource"
  8058  
  8059  // TagResourceRequest generates a "aws/request.Request" representing the
  8060  // client's request for the TagResource operation. The "output" return
  8061  // value will be populated with the request's response once the request completes
  8062  // successfully.
  8063  //
  8064  // Use "Send" method on the returned Request to send the API call to the service.
  8065  // the "output" return value is not valid until after Send returns without error.
  8066  //
  8067  // See TagResource for more information on using the TagResource
  8068  // API call, and error handling.
  8069  //
  8070  // This method is useful when you want to inject custom logic or configuration
  8071  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8072  //
  8073  //
  8074  //    // Example sending a request using the TagResourceRequest method.
  8075  //    req, resp := client.TagResourceRequest(params)
  8076  //
  8077  //    err := req.Send()
  8078  //    if err == nil { // resp is now filled
  8079  //        fmt.Println(resp)
  8080  //    }
  8081  //
  8082  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource
  8083  func (c *WAFRegional) TagResourceRequest(input *waf.TagResourceInput) (req *request.Request, output *waf.TagResourceOutput) {
  8084  	op := &request.Operation{
  8085  		Name:       opTagResource,
  8086  		HTTPMethod: "POST",
  8087  		HTTPPath:   "/",
  8088  	}
  8089  
  8090  	if input == nil {
  8091  		input = &waf.TagResourceInput{}
  8092  	}
  8093  
  8094  	output = &waf.TagResourceOutput{}
  8095  	req = c.newRequest(op, input, output)
  8096  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8097  	return
  8098  }
  8099  
  8100  // TagResource API operation for AWS WAF Regional.
  8101  //
  8102  //
  8103  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  8104  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  8105  // in the developer guide.
  8106  //
  8107  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  8108  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  8109  // With the latest version, AWS WAF has a single set of endpoints for regional
  8110  // and global use.
  8111  //
  8112  // Associates tags with the specified AWS resource. Tags are key:value pairs
  8113  // that you can use to categorize and manage your resources, for purposes like
  8114  // billing. For example, you might set the tag key to "customer" and the value
  8115  // to the customer name or ID. You can specify one or more tags to add to each
  8116  // AWS resource, up to 50 tags for a resource.
  8117  //
  8118  // Tagging is only available through the API, SDKs, and CLI. You can't manage
  8119  // or view tags through the AWS WAF Classic console. You can use this action
  8120  // to tag the AWS resources that you manage through AWS WAF Classic: web ACLs,
  8121  // rule groups, and rules.
  8122  //
  8123  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8124  // with awserr.Error's Code and Message methods to get detailed information about
  8125  // the error.
  8126  //
  8127  // See the AWS API reference guide for AWS WAF Regional's
  8128  // API operation TagResource for usage and error information.
  8129  //
  8130  // Returned Error Types:
  8131  //   * WAFInternalErrorException
  8132  //   The operation failed because of a system problem, even though the request
  8133  //   was valid. Retry your request.
  8134  //
  8135  //   * WAFInvalidParameterException
  8136  //   The operation failed because AWS WAF didn't recognize a parameter in the
  8137  //   request. For example:
  8138  //
  8139  //      * You specified an invalid parameter name.
  8140  //
  8141  //      * You specified an invalid value.
  8142  //
  8143  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  8144  //      using an action other than INSERT or DELETE.
  8145  //
  8146  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  8147  //      BLOCK, or COUNT.
  8148  //
  8149  //      * You tried to create a RateBasedRule with a RateKey value other than
  8150  //      IP.
  8151  //
  8152  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  8153  //      BLOCK, or COUNT.
  8154  //
  8155  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  8156  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  8157  //
  8158  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  8159  //      for Data.
  8160  //
  8161  //      * Your request references an ARN that is malformed, or corresponds to
  8162  //      a resource with which a web ACL cannot be associated.
  8163  //
  8164  //   * WAFLimitsExceededException
  8165  //   The operation exceeds a resource limit, for example, the maximum number of
  8166  //   WebACL objects that you can create for an AWS account. For more information,
  8167  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  8168  //   in the AWS WAF Developer Guide.
  8169  //
  8170  //   * WAFNonexistentItemException
  8171  //   The operation failed because the referenced object doesn't exist.
  8172  //
  8173  //   * WAFBadRequestException
  8174  //
  8175  //   * WAFTagOperationException
  8176  //
  8177  //   * WAFTagOperationInternalErrorException
  8178  //
  8179  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/TagResource
  8180  func (c *WAFRegional) TagResource(input *waf.TagResourceInput) (*waf.TagResourceOutput, error) {
  8181  	req, out := c.TagResourceRequest(input)
  8182  	return out, req.Send()
  8183  }
  8184  
  8185  // TagResourceWithContext is the same as TagResource with the addition of
  8186  // the ability to pass a context and additional request options.
  8187  //
  8188  // See TagResource for details on how to use this API operation.
  8189  //
  8190  // The context must be non-nil and will be used for request cancellation. If
  8191  // the context is nil a panic will occur. In the future the SDK may create
  8192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8193  // for more information on using Contexts.
  8194  func (c *WAFRegional) TagResourceWithContext(ctx aws.Context, input *waf.TagResourceInput, opts ...request.Option) (*waf.TagResourceOutput, error) {
  8195  	req, out := c.TagResourceRequest(input)
  8196  	req.SetContext(ctx)
  8197  	req.ApplyOptions(opts...)
  8198  	return out, req.Send()
  8199  }
  8200  
  8201  const opUntagResource = "UntagResource"
  8202  
  8203  // UntagResourceRequest generates a "aws/request.Request" representing the
  8204  // client's request for the UntagResource operation. The "output" return
  8205  // value will be populated with the request's response once the request completes
  8206  // successfully.
  8207  //
  8208  // Use "Send" method on the returned Request to send the API call to the service.
  8209  // the "output" return value is not valid until after Send returns without error.
  8210  //
  8211  // See UntagResource for more information on using the UntagResource
  8212  // API call, and error handling.
  8213  //
  8214  // This method is useful when you want to inject custom logic or configuration
  8215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8216  //
  8217  //
  8218  //    // Example sending a request using the UntagResourceRequest method.
  8219  //    req, resp := client.UntagResourceRequest(params)
  8220  //
  8221  //    err := req.Send()
  8222  //    if err == nil { // resp is now filled
  8223  //        fmt.Println(resp)
  8224  //    }
  8225  //
  8226  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource
  8227  func (c *WAFRegional) UntagResourceRequest(input *waf.UntagResourceInput) (req *request.Request, output *waf.UntagResourceOutput) {
  8228  	op := &request.Operation{
  8229  		Name:       opUntagResource,
  8230  		HTTPMethod: "POST",
  8231  		HTTPPath:   "/",
  8232  	}
  8233  
  8234  	if input == nil {
  8235  		input = &waf.UntagResourceInput{}
  8236  	}
  8237  
  8238  	output = &waf.UntagResourceOutput{}
  8239  	req = c.newRequest(op, input, output)
  8240  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8241  	return
  8242  }
  8243  
  8244  // UntagResource API operation for AWS WAF Regional.
  8245  //
  8246  //
  8247  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  8248  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  8249  // in the developer guide.
  8250  //
  8251  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  8252  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  8253  // With the latest version, AWS WAF has a single set of endpoints for regional
  8254  // and global use.
  8255  //
  8256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8257  // with awserr.Error's Code and Message methods to get detailed information about
  8258  // the error.
  8259  //
  8260  // See the AWS API reference guide for AWS WAF Regional's
  8261  // API operation UntagResource for usage and error information.
  8262  //
  8263  // Returned Error Types:
  8264  //   * WAFInternalErrorException
  8265  //   The operation failed because of a system problem, even though the request
  8266  //   was valid. Retry your request.
  8267  //
  8268  //   * WAFInvalidParameterException
  8269  //   The operation failed because AWS WAF didn't recognize a parameter in the
  8270  //   request. For example:
  8271  //
  8272  //      * You specified an invalid parameter name.
  8273  //
  8274  //      * You specified an invalid value.
  8275  //
  8276  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  8277  //      using an action other than INSERT or DELETE.
  8278  //
  8279  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  8280  //      BLOCK, or COUNT.
  8281  //
  8282  //      * You tried to create a RateBasedRule with a RateKey value other than
  8283  //      IP.
  8284  //
  8285  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  8286  //      BLOCK, or COUNT.
  8287  //
  8288  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  8289  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  8290  //
  8291  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  8292  //      for Data.
  8293  //
  8294  //      * Your request references an ARN that is malformed, or corresponds to
  8295  //      a resource with which a web ACL cannot be associated.
  8296  //
  8297  //   * WAFNonexistentItemException
  8298  //   The operation failed because the referenced object doesn't exist.
  8299  //
  8300  //   * WAFBadRequestException
  8301  //
  8302  //   * WAFTagOperationException
  8303  //
  8304  //   * WAFTagOperationInternalErrorException
  8305  //
  8306  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UntagResource
  8307  func (c *WAFRegional) UntagResource(input *waf.UntagResourceInput) (*waf.UntagResourceOutput, error) {
  8308  	req, out := c.UntagResourceRequest(input)
  8309  	return out, req.Send()
  8310  }
  8311  
  8312  // UntagResourceWithContext is the same as UntagResource with the addition of
  8313  // the ability to pass a context and additional request options.
  8314  //
  8315  // See UntagResource for details on how to use this API operation.
  8316  //
  8317  // The context must be non-nil and will be used for request cancellation. If
  8318  // the context is nil a panic will occur. In the future the SDK may create
  8319  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8320  // for more information on using Contexts.
  8321  func (c *WAFRegional) UntagResourceWithContext(ctx aws.Context, input *waf.UntagResourceInput, opts ...request.Option) (*waf.UntagResourceOutput, error) {
  8322  	req, out := c.UntagResourceRequest(input)
  8323  	req.SetContext(ctx)
  8324  	req.ApplyOptions(opts...)
  8325  	return out, req.Send()
  8326  }
  8327  
  8328  const opUpdateByteMatchSet = "UpdateByteMatchSet"
  8329  
  8330  // UpdateByteMatchSetRequest generates a "aws/request.Request" representing the
  8331  // client's request for the UpdateByteMatchSet operation. The "output" return
  8332  // value will be populated with the request's response once the request completes
  8333  // successfully.
  8334  //
  8335  // Use "Send" method on the returned Request to send the API call to the service.
  8336  // the "output" return value is not valid until after Send returns without error.
  8337  //
  8338  // See UpdateByteMatchSet for more information on using the UpdateByteMatchSet
  8339  // API call, and error handling.
  8340  //
  8341  // This method is useful when you want to inject custom logic or configuration
  8342  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8343  //
  8344  //
  8345  //    // Example sending a request using the UpdateByteMatchSetRequest method.
  8346  //    req, resp := client.UpdateByteMatchSetRequest(params)
  8347  //
  8348  //    err := req.Send()
  8349  //    if err == nil { // resp is now filled
  8350  //        fmt.Println(resp)
  8351  //    }
  8352  //
  8353  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet
  8354  func (c *WAFRegional) UpdateByteMatchSetRequest(input *waf.UpdateByteMatchSetInput) (req *request.Request, output *waf.UpdateByteMatchSetOutput) {
  8355  	op := &request.Operation{
  8356  		Name:       opUpdateByteMatchSet,
  8357  		HTTPMethod: "POST",
  8358  		HTTPPath:   "/",
  8359  	}
  8360  
  8361  	if input == nil {
  8362  		input = &waf.UpdateByteMatchSetInput{}
  8363  	}
  8364  
  8365  	output = &waf.UpdateByteMatchSetOutput{}
  8366  	req = c.newRequest(op, input, output)
  8367  	return
  8368  }
  8369  
  8370  // UpdateByteMatchSet API operation for AWS WAF Regional.
  8371  //
  8372  //
  8373  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  8374  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  8375  // in the developer guide.
  8376  //
  8377  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  8378  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  8379  // With the latest version, AWS WAF has a single set of endpoints for regional
  8380  // and global use.
  8381  //
  8382  // Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For
  8383  // each ByteMatchTuple object, you specify the following values:
  8384  //
  8385  //    * Whether to insert or delete the object from the array. If you want to
  8386  //    change a ByteMatchSetUpdate object, you delete the existing object and
  8387  //    add a new one.
  8388  //
  8389  //    * The part of a web request that you want AWS WAF to inspect, such as
  8390  //    a query string or the value of the User-Agent header.
  8391  //
  8392  //    * The bytes (typically a string that corresponds with ASCII characters)
  8393  //    that you want AWS WAF to look for. For more information, including how
  8394  //    you specify the values for the AWS WAF API and the AWS CLI or SDKs, see
  8395  //    TargetString in the ByteMatchTuple data type.
  8396  //
  8397  //    * Where to look, such as at the beginning or the end of a query string.
  8398  //
  8399  //    * Whether to perform any conversions on the request, such as converting
  8400  //    it to lowercase, before inspecting it for the specified string.
  8401  //
  8402  // For example, you can add a ByteMatchSetUpdate object that matches web requests
  8403  // in which User-Agent headers contain the string BadBot. You can then configure
  8404  // AWS WAF to block those requests.
  8405  //
  8406  // To create and configure a ByteMatchSet, perform the following steps:
  8407  //
  8408  // Create a ByteMatchSet. For more information, see CreateByteMatchSet.
  8409  //
  8410  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  8411  // parameter of an UpdateByteMatchSet request.
  8412  //
  8413  // Submit an UpdateByteMatchSet request to specify the part of the request that
  8414  // you want AWS WAF to inspect (for example, the header or the URI) and the
  8415  // value that you want AWS WAF to watch for.
  8416  //
  8417  // For more information about how to use the AWS WAF API to allow or block HTTP
  8418  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  8419  //
  8420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8421  // with awserr.Error's Code and Message methods to get detailed information about
  8422  // the error.
  8423  //
  8424  // See the AWS API reference guide for AWS WAF Regional's
  8425  // API operation UpdateByteMatchSet for usage and error information.
  8426  //
  8427  // Returned Error Types:
  8428  //   * WAFInternalErrorException
  8429  //   The operation failed because of a system problem, even though the request
  8430  //   was valid. Retry your request.
  8431  //
  8432  //   * WAFInvalidAccountException
  8433  //   The operation failed because you tried to create, update, or delete an object
  8434  //   by using an invalid account identifier.
  8435  //
  8436  //   * WAFInvalidOperationException
  8437  //   The operation failed because there was nothing to do. For example:
  8438  //
  8439  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  8440  //      specified WebACL.
  8441  //
  8442  //      * You tried to remove an IP address from an IPSet, but the IP address
  8443  //      isn't in the specified IPSet.
  8444  //
  8445  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  8446  //      isn't in the specified WebACL.
  8447  //
  8448  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  8449  //      the specified WebACL.
  8450  //
  8451  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  8452  //      already exists in the specified WebACL.
  8453  //
  8454  //   * WAFInvalidParameterException
  8455  //   The operation failed because AWS WAF didn't recognize a parameter in the
  8456  //   request. For example:
  8457  //
  8458  //      * You specified an invalid parameter name.
  8459  //
  8460  //      * You specified an invalid value.
  8461  //
  8462  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  8463  //      using an action other than INSERT or DELETE.
  8464  //
  8465  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  8466  //      BLOCK, or COUNT.
  8467  //
  8468  //      * You tried to create a RateBasedRule with a RateKey value other than
  8469  //      IP.
  8470  //
  8471  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  8472  //      BLOCK, or COUNT.
  8473  //
  8474  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  8475  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  8476  //
  8477  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  8478  //      for Data.
  8479  //
  8480  //      * Your request references an ARN that is malformed, or corresponds to
  8481  //      a resource with which a web ACL cannot be associated.
  8482  //
  8483  //   * WAFNonexistentContainerException
  8484  //   The operation failed because you tried to add an object to or delete an object
  8485  //   from another object that doesn't exist. For example:
  8486  //
  8487  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  8488  //      exist.
  8489  //
  8490  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  8491  //      that doesn't exist.
  8492  //
  8493  //      * You tried to add an IP address to or delete an IP address from an IPSet
  8494  //      that doesn't exist.
  8495  //
  8496  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  8497  //      a ByteMatchSet that doesn't exist.
  8498  //
  8499  //   * WAFNonexistentItemException
  8500  //   The operation failed because the referenced object doesn't exist.
  8501  //
  8502  //   * WAFStaleDataException
  8503  //   The operation failed because you tried to create, update, or delete an object
  8504  //   by using a change token that has already been used.
  8505  //
  8506  //   * WAFLimitsExceededException
  8507  //   The operation exceeds a resource limit, for example, the maximum number of
  8508  //   WebACL objects that you can create for an AWS account. For more information,
  8509  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  8510  //   in the AWS WAF Developer Guide.
  8511  //
  8512  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateByteMatchSet
  8513  func (c *WAFRegional) UpdateByteMatchSet(input *waf.UpdateByteMatchSetInput) (*waf.UpdateByteMatchSetOutput, error) {
  8514  	req, out := c.UpdateByteMatchSetRequest(input)
  8515  	return out, req.Send()
  8516  }
  8517  
  8518  // UpdateByteMatchSetWithContext is the same as UpdateByteMatchSet with the addition of
  8519  // the ability to pass a context and additional request options.
  8520  //
  8521  // See UpdateByteMatchSet for details on how to use this API operation.
  8522  //
  8523  // The context must be non-nil and will be used for request cancellation. If
  8524  // the context is nil a panic will occur. In the future the SDK may create
  8525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8526  // for more information on using Contexts.
  8527  func (c *WAFRegional) UpdateByteMatchSetWithContext(ctx aws.Context, input *waf.UpdateByteMatchSetInput, opts ...request.Option) (*waf.UpdateByteMatchSetOutput, error) {
  8528  	req, out := c.UpdateByteMatchSetRequest(input)
  8529  	req.SetContext(ctx)
  8530  	req.ApplyOptions(opts...)
  8531  	return out, req.Send()
  8532  }
  8533  
  8534  const opUpdateGeoMatchSet = "UpdateGeoMatchSet"
  8535  
  8536  // UpdateGeoMatchSetRequest generates a "aws/request.Request" representing the
  8537  // client's request for the UpdateGeoMatchSet operation. The "output" return
  8538  // value will be populated with the request's response once the request completes
  8539  // successfully.
  8540  //
  8541  // Use "Send" method on the returned Request to send the API call to the service.
  8542  // the "output" return value is not valid until after Send returns without error.
  8543  //
  8544  // See UpdateGeoMatchSet for more information on using the UpdateGeoMatchSet
  8545  // API call, and error handling.
  8546  //
  8547  // This method is useful when you want to inject custom logic or configuration
  8548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8549  //
  8550  //
  8551  //    // Example sending a request using the UpdateGeoMatchSetRequest method.
  8552  //    req, resp := client.UpdateGeoMatchSetRequest(params)
  8553  //
  8554  //    err := req.Send()
  8555  //    if err == nil { // resp is now filled
  8556  //        fmt.Println(resp)
  8557  //    }
  8558  //
  8559  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet
  8560  func (c *WAFRegional) UpdateGeoMatchSetRequest(input *waf.UpdateGeoMatchSetInput) (req *request.Request, output *waf.UpdateGeoMatchSetOutput) {
  8561  	op := &request.Operation{
  8562  		Name:       opUpdateGeoMatchSet,
  8563  		HTTPMethod: "POST",
  8564  		HTTPPath:   "/",
  8565  	}
  8566  
  8567  	if input == nil {
  8568  		input = &waf.UpdateGeoMatchSetInput{}
  8569  	}
  8570  
  8571  	output = &waf.UpdateGeoMatchSetOutput{}
  8572  	req = c.newRequest(op, input, output)
  8573  	return
  8574  }
  8575  
  8576  // UpdateGeoMatchSet API operation for AWS WAF Regional.
  8577  //
  8578  //
  8579  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  8580  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  8581  // in the developer guide.
  8582  //
  8583  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  8584  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  8585  // With the latest version, AWS WAF has a single set of endpoints for regional
  8586  // and global use.
  8587  //
  8588  // Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each
  8589  // GeoMatchConstraint object, you specify the following values:
  8590  //
  8591  //    * Whether to insert or delete the object from the array. If you want to
  8592  //    change an GeoMatchConstraint object, you delete the existing object and
  8593  //    add a new one.
  8594  //
  8595  //    * The Type. The only valid value for Type is Country.
  8596  //
  8597  //    * The Value, which is a two character code for the country to add to the
  8598  //    GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.
  8599  //
  8600  // To create and configure an GeoMatchSet, perform the following steps:
  8601  //
  8602  // Submit a CreateGeoMatchSet request.
  8603  //
  8604  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  8605  // parameter of an UpdateGeoMatchSet request.
  8606  //
  8607  // Submit an UpdateGeoMatchSet request to specify the country that you want
  8608  // AWS WAF to watch for.
  8609  //
  8610  // When you update an GeoMatchSet, you specify the country that you want to
  8611  // add and/or the country that you want to delete. If you want to change a country,
  8612  // you delete the existing country and add the new one.
  8613  //
  8614  // For more information about how to use the AWS WAF API to allow or block HTTP
  8615  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  8616  //
  8617  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8618  // with awserr.Error's Code and Message methods to get detailed information about
  8619  // the error.
  8620  //
  8621  // See the AWS API reference guide for AWS WAF Regional's
  8622  // API operation UpdateGeoMatchSet for usage and error information.
  8623  //
  8624  // Returned Error Types:
  8625  //   * WAFStaleDataException
  8626  //   The operation failed because you tried to create, update, or delete an object
  8627  //   by using a change token that has already been used.
  8628  //
  8629  //   * WAFInternalErrorException
  8630  //   The operation failed because of a system problem, even though the request
  8631  //   was valid. Retry your request.
  8632  //
  8633  //   * WAFInvalidAccountException
  8634  //   The operation failed because you tried to create, update, or delete an object
  8635  //   by using an invalid account identifier.
  8636  //
  8637  //   * WAFInvalidOperationException
  8638  //   The operation failed because there was nothing to do. For example:
  8639  //
  8640  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  8641  //      specified WebACL.
  8642  //
  8643  //      * You tried to remove an IP address from an IPSet, but the IP address
  8644  //      isn't in the specified IPSet.
  8645  //
  8646  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  8647  //      isn't in the specified WebACL.
  8648  //
  8649  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  8650  //      the specified WebACL.
  8651  //
  8652  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  8653  //      already exists in the specified WebACL.
  8654  //
  8655  //   * WAFInvalidParameterException
  8656  //   The operation failed because AWS WAF didn't recognize a parameter in the
  8657  //   request. For example:
  8658  //
  8659  //      * You specified an invalid parameter name.
  8660  //
  8661  //      * You specified an invalid value.
  8662  //
  8663  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  8664  //      using an action other than INSERT or DELETE.
  8665  //
  8666  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  8667  //      BLOCK, or COUNT.
  8668  //
  8669  //      * You tried to create a RateBasedRule with a RateKey value other than
  8670  //      IP.
  8671  //
  8672  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  8673  //      BLOCK, or COUNT.
  8674  //
  8675  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  8676  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  8677  //
  8678  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  8679  //      for Data.
  8680  //
  8681  //      * Your request references an ARN that is malformed, or corresponds to
  8682  //      a resource with which a web ACL cannot be associated.
  8683  //
  8684  //   * WAFNonexistentContainerException
  8685  //   The operation failed because you tried to add an object to or delete an object
  8686  //   from another object that doesn't exist. For example:
  8687  //
  8688  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  8689  //      exist.
  8690  //
  8691  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  8692  //      that doesn't exist.
  8693  //
  8694  //      * You tried to add an IP address to or delete an IP address from an IPSet
  8695  //      that doesn't exist.
  8696  //
  8697  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  8698  //      a ByteMatchSet that doesn't exist.
  8699  //
  8700  //   * WAFNonexistentItemException
  8701  //   The operation failed because the referenced object doesn't exist.
  8702  //
  8703  //   * WAFReferencedItemException
  8704  //   The operation failed because you tried to delete an object that is still
  8705  //   in use. For example:
  8706  //
  8707  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  8708  //
  8709  //      * You tried to delete a Rule that is still referenced by a WebACL.
  8710  //
  8711  //   * WAFLimitsExceededException
  8712  //   The operation exceeds a resource limit, for example, the maximum number of
  8713  //   WebACL objects that you can create for an AWS account. For more information,
  8714  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  8715  //   in the AWS WAF Developer Guide.
  8716  //
  8717  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet
  8718  func (c *WAFRegional) UpdateGeoMatchSet(input *waf.UpdateGeoMatchSetInput) (*waf.UpdateGeoMatchSetOutput, error) {
  8719  	req, out := c.UpdateGeoMatchSetRequest(input)
  8720  	return out, req.Send()
  8721  }
  8722  
  8723  // UpdateGeoMatchSetWithContext is the same as UpdateGeoMatchSet with the addition of
  8724  // the ability to pass a context and additional request options.
  8725  //
  8726  // See UpdateGeoMatchSet for details on how to use this API operation.
  8727  //
  8728  // The context must be non-nil and will be used for request cancellation. If
  8729  // the context is nil a panic will occur. In the future the SDK may create
  8730  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8731  // for more information on using Contexts.
  8732  func (c *WAFRegional) UpdateGeoMatchSetWithContext(ctx aws.Context, input *waf.UpdateGeoMatchSetInput, opts ...request.Option) (*waf.UpdateGeoMatchSetOutput, error) {
  8733  	req, out := c.UpdateGeoMatchSetRequest(input)
  8734  	req.SetContext(ctx)
  8735  	req.ApplyOptions(opts...)
  8736  	return out, req.Send()
  8737  }
  8738  
  8739  const opUpdateIPSet = "UpdateIPSet"
  8740  
  8741  // UpdateIPSetRequest generates a "aws/request.Request" representing the
  8742  // client's request for the UpdateIPSet operation. The "output" return
  8743  // value will be populated with the request's response once the request completes
  8744  // successfully.
  8745  //
  8746  // Use "Send" method on the returned Request to send the API call to the service.
  8747  // the "output" return value is not valid until after Send returns without error.
  8748  //
  8749  // See UpdateIPSet for more information on using the UpdateIPSet
  8750  // API call, and error handling.
  8751  //
  8752  // This method is useful when you want to inject custom logic or configuration
  8753  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8754  //
  8755  //
  8756  //    // Example sending a request using the UpdateIPSetRequest method.
  8757  //    req, resp := client.UpdateIPSetRequest(params)
  8758  //
  8759  //    err := req.Send()
  8760  //    if err == nil { // resp is now filled
  8761  //        fmt.Println(resp)
  8762  //    }
  8763  //
  8764  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet
  8765  func (c *WAFRegional) UpdateIPSetRequest(input *waf.UpdateIPSetInput) (req *request.Request, output *waf.UpdateIPSetOutput) {
  8766  	op := &request.Operation{
  8767  		Name:       opUpdateIPSet,
  8768  		HTTPMethod: "POST",
  8769  		HTTPPath:   "/",
  8770  	}
  8771  
  8772  	if input == nil {
  8773  		input = &waf.UpdateIPSetInput{}
  8774  	}
  8775  
  8776  	output = &waf.UpdateIPSetOutput{}
  8777  	req = c.newRequest(op, input, output)
  8778  	return
  8779  }
  8780  
  8781  // UpdateIPSet API operation for AWS WAF Regional.
  8782  //
  8783  //
  8784  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  8785  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  8786  // in the developer guide.
  8787  //
  8788  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  8789  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  8790  // With the latest version, AWS WAF has a single set of endpoints for regional
  8791  // and global use.
  8792  //
  8793  // Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor
  8794  // object, you specify the following values:
  8795  //
  8796  //    * Whether to insert or delete the object from the array. If you want to
  8797  //    change an IPSetDescriptor object, you delete the existing object and add
  8798  //    a new one.
  8799  //
  8800  //    * The IP address version, IPv4 or IPv6.
  8801  //
  8802  //    * The IP address in CIDR notation, for example, 192.0.2.0/24 (for the
  8803  //    range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32
  8804  //    (for the individual IP address 192.0.2.44).
  8805  //
  8806  // AWS WAF supports IPv4 address ranges: /8 and any range between /16 through
  8807  // /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.
  8808  // For more information about CIDR notation, see the Wikipedia entry Classless
  8809  // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
  8810  //
  8811  // IPv6 addresses can be represented using any of the following formats:
  8812  //
  8813  //    * 1111:0000:0000:0000:0000:0000:0000:0111/128
  8814  //
  8815  //    * 1111:0:0:0:0:0:0:0111/128
  8816  //
  8817  //    * 1111::0111/128
  8818  //
  8819  //    * 1111::111/128
  8820  //
  8821  // You use an IPSet to specify which web requests you want to allow or block
  8822  // based on the IP addresses that the requests originated from. For example,
  8823  // if you're receiving a lot of requests from one or a small number of IP addresses
  8824  // and you want to block the requests, you can create an IPSet that specifies
  8825  // those IP addresses, and then configure AWS WAF to block the requests.
  8826  //
  8827  // To create and configure an IPSet, perform the following steps:
  8828  //
  8829  // Submit a CreateIPSet request.
  8830  //
  8831  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  8832  // parameter of an UpdateIPSet request.
  8833  //
  8834  // Submit an UpdateIPSet request to specify the IP addresses that you want AWS
  8835  // WAF to watch for.
  8836  //
  8837  // When you update an IPSet, you specify the IP addresses that you want to add
  8838  // and/or the IP addresses that you want to delete. If you want to change an
  8839  // IP address, you delete the existing IP address and add the new one.
  8840  //
  8841  // You can insert a maximum of 1000 addresses in a single request.
  8842  //
  8843  // For more information about how to use the AWS WAF API to allow or block HTTP
  8844  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  8845  //
  8846  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8847  // with awserr.Error's Code and Message methods to get detailed information about
  8848  // the error.
  8849  //
  8850  // See the AWS API reference guide for AWS WAF Regional's
  8851  // API operation UpdateIPSet for usage and error information.
  8852  //
  8853  // Returned Error Types:
  8854  //   * WAFStaleDataException
  8855  //   The operation failed because you tried to create, update, or delete an object
  8856  //   by using a change token that has already been used.
  8857  //
  8858  //   * WAFInternalErrorException
  8859  //   The operation failed because of a system problem, even though the request
  8860  //   was valid. Retry your request.
  8861  //
  8862  //   * WAFInvalidAccountException
  8863  //   The operation failed because you tried to create, update, or delete an object
  8864  //   by using an invalid account identifier.
  8865  //
  8866  //   * WAFInvalidOperationException
  8867  //   The operation failed because there was nothing to do. For example:
  8868  //
  8869  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  8870  //      specified WebACL.
  8871  //
  8872  //      * You tried to remove an IP address from an IPSet, but the IP address
  8873  //      isn't in the specified IPSet.
  8874  //
  8875  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  8876  //      isn't in the specified WebACL.
  8877  //
  8878  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  8879  //      the specified WebACL.
  8880  //
  8881  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  8882  //      already exists in the specified WebACL.
  8883  //
  8884  //   * WAFInvalidParameterException
  8885  //   The operation failed because AWS WAF didn't recognize a parameter in the
  8886  //   request. For example:
  8887  //
  8888  //      * You specified an invalid parameter name.
  8889  //
  8890  //      * You specified an invalid value.
  8891  //
  8892  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  8893  //      using an action other than INSERT or DELETE.
  8894  //
  8895  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  8896  //      BLOCK, or COUNT.
  8897  //
  8898  //      * You tried to create a RateBasedRule with a RateKey value other than
  8899  //      IP.
  8900  //
  8901  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  8902  //      BLOCK, or COUNT.
  8903  //
  8904  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  8905  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  8906  //
  8907  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  8908  //      for Data.
  8909  //
  8910  //      * Your request references an ARN that is malformed, or corresponds to
  8911  //      a resource with which a web ACL cannot be associated.
  8912  //
  8913  //   * WAFNonexistentContainerException
  8914  //   The operation failed because you tried to add an object to or delete an object
  8915  //   from another object that doesn't exist. For example:
  8916  //
  8917  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  8918  //      exist.
  8919  //
  8920  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  8921  //      that doesn't exist.
  8922  //
  8923  //      * You tried to add an IP address to or delete an IP address from an IPSet
  8924  //      that doesn't exist.
  8925  //
  8926  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  8927  //      a ByteMatchSet that doesn't exist.
  8928  //
  8929  //   * WAFNonexistentItemException
  8930  //   The operation failed because the referenced object doesn't exist.
  8931  //
  8932  //   * WAFReferencedItemException
  8933  //   The operation failed because you tried to delete an object that is still
  8934  //   in use. For example:
  8935  //
  8936  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  8937  //
  8938  //      * You tried to delete a Rule that is still referenced by a WebACL.
  8939  //
  8940  //   * WAFLimitsExceededException
  8941  //   The operation exceeds a resource limit, for example, the maximum number of
  8942  //   WebACL objects that you can create for an AWS account. For more information,
  8943  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  8944  //   in the AWS WAF Developer Guide.
  8945  //
  8946  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateIPSet
  8947  func (c *WAFRegional) UpdateIPSet(input *waf.UpdateIPSetInput) (*waf.UpdateIPSetOutput, error) {
  8948  	req, out := c.UpdateIPSetRequest(input)
  8949  	return out, req.Send()
  8950  }
  8951  
  8952  // UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
  8953  // the ability to pass a context and additional request options.
  8954  //
  8955  // See UpdateIPSet for details on how to use this API operation.
  8956  //
  8957  // The context must be non-nil and will be used for request cancellation. If
  8958  // the context is nil a panic will occur. In the future the SDK may create
  8959  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8960  // for more information on using Contexts.
  8961  func (c *WAFRegional) UpdateIPSetWithContext(ctx aws.Context, input *waf.UpdateIPSetInput, opts ...request.Option) (*waf.UpdateIPSetOutput, error) {
  8962  	req, out := c.UpdateIPSetRequest(input)
  8963  	req.SetContext(ctx)
  8964  	req.ApplyOptions(opts...)
  8965  	return out, req.Send()
  8966  }
  8967  
  8968  const opUpdateRateBasedRule = "UpdateRateBasedRule"
  8969  
  8970  // UpdateRateBasedRuleRequest generates a "aws/request.Request" representing the
  8971  // client's request for the UpdateRateBasedRule operation. The "output" return
  8972  // value will be populated with the request's response once the request completes
  8973  // successfully.
  8974  //
  8975  // Use "Send" method on the returned Request to send the API call to the service.
  8976  // the "output" return value is not valid until after Send returns without error.
  8977  //
  8978  // See UpdateRateBasedRule for more information on using the UpdateRateBasedRule
  8979  // API call, and error handling.
  8980  //
  8981  // This method is useful when you want to inject custom logic or configuration
  8982  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8983  //
  8984  //
  8985  //    // Example sending a request using the UpdateRateBasedRuleRequest method.
  8986  //    req, resp := client.UpdateRateBasedRuleRequest(params)
  8987  //
  8988  //    err := req.Send()
  8989  //    if err == nil { // resp is now filled
  8990  //        fmt.Println(resp)
  8991  //    }
  8992  //
  8993  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule
  8994  func (c *WAFRegional) UpdateRateBasedRuleRequest(input *waf.UpdateRateBasedRuleInput) (req *request.Request, output *waf.UpdateRateBasedRuleOutput) {
  8995  	op := &request.Operation{
  8996  		Name:       opUpdateRateBasedRule,
  8997  		HTTPMethod: "POST",
  8998  		HTTPPath:   "/",
  8999  	}
  9000  
  9001  	if input == nil {
  9002  		input = &waf.UpdateRateBasedRuleInput{}
  9003  	}
  9004  
  9005  	output = &waf.UpdateRateBasedRuleOutput{}
  9006  	req = c.newRequest(op, input, output)
  9007  	return
  9008  }
  9009  
  9010  // UpdateRateBasedRule API operation for AWS WAF Regional.
  9011  //
  9012  //
  9013  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9014  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9015  // in the developer guide.
  9016  //
  9017  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9018  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9019  // With the latest version, AWS WAF has a single set of endpoints for regional
  9020  // and global use.
  9021  //
  9022  // Inserts or deletes Predicate objects in a rule and updates the RateLimit
  9023  // in the rule.
  9024  //
  9025  // Each Predicate object identifies a predicate, such as a ByteMatchSet or an
  9026  // IPSet, that specifies the web requests that you want to block or count. The
  9027  // RateLimit specifies the number of requests every five minutes that triggers
  9028  // the rule.
  9029  //
  9030  // If you add more than one predicate to a RateBasedRule, a request must match
  9031  // all the predicates and exceed the RateLimit to be counted or blocked. For
  9032  // example, suppose you add the following to a RateBasedRule:
  9033  //
  9034  //    * An IPSet that matches the IP address 192.0.2.44/32
  9035  //
  9036  //    * A ByteMatchSet that matches BadBot in the User-Agent header
  9037  //
  9038  // Further, you specify a RateLimit of 1,000.
  9039  //
  9040  // You then add the RateBasedRule to a WebACL and specify that you want to block
  9041  // requests that satisfy the rule. For a request to be blocked, it must come
  9042  // from the IP address 192.0.2.44 and the User-Agent header in the request must
  9043  // contain the value BadBot. Further, requests that match these two conditions
  9044  // much be received at a rate of more than 1,000 every five minutes. If the
  9045  // rate drops below this limit, AWS WAF no longer blocks the requests.
  9046  //
  9047  // As a second example, suppose you want to limit requests to a particular page
  9048  // on your site. To do this, you could add the following to a RateBasedRule:
  9049  //
  9050  //    * A ByteMatchSet with FieldToMatch of URI
  9051  //
  9052  //    * A PositionalConstraint of STARTS_WITH
  9053  //
  9054  //    * A TargetString of login
  9055  //
  9056  // Further, you specify a RateLimit of 1,000.
  9057  //
  9058  // By adding this RateBasedRule to a WebACL, you could limit requests to your
  9059  // login page without affecting the rest of your site.
  9060  //
  9061  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9062  // with awserr.Error's Code and Message methods to get detailed information about
  9063  // the error.
  9064  //
  9065  // See the AWS API reference guide for AWS WAF Regional's
  9066  // API operation UpdateRateBasedRule for usage and error information.
  9067  //
  9068  // Returned Error Types:
  9069  //   * WAFStaleDataException
  9070  //   The operation failed because you tried to create, update, or delete an object
  9071  //   by using a change token that has already been used.
  9072  //
  9073  //   * WAFInternalErrorException
  9074  //   The operation failed because of a system problem, even though the request
  9075  //   was valid. Retry your request.
  9076  //
  9077  //   * WAFInvalidAccountException
  9078  //   The operation failed because you tried to create, update, or delete an object
  9079  //   by using an invalid account identifier.
  9080  //
  9081  //   * WAFInvalidOperationException
  9082  //   The operation failed because there was nothing to do. For example:
  9083  //
  9084  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  9085  //      specified WebACL.
  9086  //
  9087  //      * You tried to remove an IP address from an IPSet, but the IP address
  9088  //      isn't in the specified IPSet.
  9089  //
  9090  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  9091  //      isn't in the specified WebACL.
  9092  //
  9093  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  9094  //      the specified WebACL.
  9095  //
  9096  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  9097  //      already exists in the specified WebACL.
  9098  //
  9099  //   * WAFInvalidParameterException
  9100  //   The operation failed because AWS WAF didn't recognize a parameter in the
  9101  //   request. For example:
  9102  //
  9103  //      * You specified an invalid parameter name.
  9104  //
  9105  //      * You specified an invalid value.
  9106  //
  9107  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  9108  //      using an action other than INSERT or DELETE.
  9109  //
  9110  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  9111  //      BLOCK, or COUNT.
  9112  //
  9113  //      * You tried to create a RateBasedRule with a RateKey value other than
  9114  //      IP.
  9115  //
  9116  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  9117  //      BLOCK, or COUNT.
  9118  //
  9119  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  9120  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  9121  //
  9122  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  9123  //      for Data.
  9124  //
  9125  //      * Your request references an ARN that is malformed, or corresponds to
  9126  //      a resource with which a web ACL cannot be associated.
  9127  //
  9128  //   * WAFNonexistentContainerException
  9129  //   The operation failed because you tried to add an object to or delete an object
  9130  //   from another object that doesn't exist. For example:
  9131  //
  9132  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  9133  //      exist.
  9134  //
  9135  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  9136  //      that doesn't exist.
  9137  //
  9138  //      * You tried to add an IP address to or delete an IP address from an IPSet
  9139  //      that doesn't exist.
  9140  //
  9141  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  9142  //      a ByteMatchSet that doesn't exist.
  9143  //
  9144  //   * WAFNonexistentItemException
  9145  //   The operation failed because the referenced object doesn't exist.
  9146  //
  9147  //   * WAFReferencedItemException
  9148  //   The operation failed because you tried to delete an object that is still
  9149  //   in use. For example:
  9150  //
  9151  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  9152  //
  9153  //      * You tried to delete a Rule that is still referenced by a WebACL.
  9154  //
  9155  //   * WAFLimitsExceededException
  9156  //   The operation exceeds a resource limit, for example, the maximum number of
  9157  //   WebACL objects that you can create for an AWS account. For more information,
  9158  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  9159  //   in the AWS WAF Developer Guide.
  9160  //
  9161  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRateBasedRule
  9162  func (c *WAFRegional) UpdateRateBasedRule(input *waf.UpdateRateBasedRuleInput) (*waf.UpdateRateBasedRuleOutput, error) {
  9163  	req, out := c.UpdateRateBasedRuleRequest(input)
  9164  	return out, req.Send()
  9165  }
  9166  
  9167  // UpdateRateBasedRuleWithContext is the same as UpdateRateBasedRule with the addition of
  9168  // the ability to pass a context and additional request options.
  9169  //
  9170  // See UpdateRateBasedRule for details on how to use this API operation.
  9171  //
  9172  // The context must be non-nil and will be used for request cancellation. If
  9173  // the context is nil a panic will occur. In the future the SDK may create
  9174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9175  // for more information on using Contexts.
  9176  func (c *WAFRegional) UpdateRateBasedRuleWithContext(ctx aws.Context, input *waf.UpdateRateBasedRuleInput, opts ...request.Option) (*waf.UpdateRateBasedRuleOutput, error) {
  9177  	req, out := c.UpdateRateBasedRuleRequest(input)
  9178  	req.SetContext(ctx)
  9179  	req.ApplyOptions(opts...)
  9180  	return out, req.Send()
  9181  }
  9182  
  9183  const opUpdateRegexMatchSet = "UpdateRegexMatchSet"
  9184  
  9185  // UpdateRegexMatchSetRequest generates a "aws/request.Request" representing the
  9186  // client's request for the UpdateRegexMatchSet operation. The "output" return
  9187  // value will be populated with the request's response once the request completes
  9188  // successfully.
  9189  //
  9190  // Use "Send" method on the returned Request to send the API call to the service.
  9191  // the "output" return value is not valid until after Send returns without error.
  9192  //
  9193  // See UpdateRegexMatchSet for more information on using the UpdateRegexMatchSet
  9194  // API call, and error handling.
  9195  //
  9196  // This method is useful when you want to inject custom logic or configuration
  9197  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9198  //
  9199  //
  9200  //    // Example sending a request using the UpdateRegexMatchSetRequest method.
  9201  //    req, resp := client.UpdateRegexMatchSetRequest(params)
  9202  //
  9203  //    err := req.Send()
  9204  //    if err == nil { // resp is now filled
  9205  //        fmt.Println(resp)
  9206  //    }
  9207  //
  9208  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet
  9209  func (c *WAFRegional) UpdateRegexMatchSetRequest(input *waf.UpdateRegexMatchSetInput) (req *request.Request, output *waf.UpdateRegexMatchSetOutput) {
  9210  	op := &request.Operation{
  9211  		Name:       opUpdateRegexMatchSet,
  9212  		HTTPMethod: "POST",
  9213  		HTTPPath:   "/",
  9214  	}
  9215  
  9216  	if input == nil {
  9217  		input = &waf.UpdateRegexMatchSetInput{}
  9218  	}
  9219  
  9220  	output = &waf.UpdateRegexMatchSetOutput{}
  9221  	req = c.newRequest(op, input, output)
  9222  	return
  9223  }
  9224  
  9225  // UpdateRegexMatchSet API operation for AWS WAF Regional.
  9226  //
  9227  //
  9228  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9229  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9230  // in the developer guide.
  9231  //
  9232  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9233  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9234  // With the latest version, AWS WAF has a single set of endpoints for regional
  9235  // and global use.
  9236  //
  9237  // Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet.
  9238  // For each RegexMatchSetUpdate object, you specify the following values:
  9239  //
  9240  //    * Whether to insert or delete the object from the array. If you want to
  9241  //    change a RegexMatchSetUpdate object, you delete the existing object and
  9242  //    add a new one.
  9243  //
  9244  //    * The part of a web request that you want AWS WAF to inspectupdate, such
  9245  //    as a query string or the value of the User-Agent header.
  9246  //
  9247  //    * The identifier of the pattern (a regular expression) that you want AWS
  9248  //    WAF to look for. For more information, see RegexPatternSet.
  9249  //
  9250  //    * Whether to perform any conversions on the request, such as converting
  9251  //    it to lowercase, before inspecting it for the specified string.
  9252  //
  9253  // For example, you can create a RegexPatternSet that matches any requests with
  9254  // User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure
  9255  // AWS WAF to reject those requests.
  9256  //
  9257  // To create and configure a RegexMatchSet, perform the following steps:
  9258  //
  9259  // Create a RegexMatchSet. For more information, see CreateRegexMatchSet.
  9260  //
  9261  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  9262  // parameter of an UpdateRegexMatchSet request.
  9263  //
  9264  // Submit an UpdateRegexMatchSet request to specify the part of the request
  9265  // that you want AWS WAF to inspect (for example, the header or the URI) and
  9266  // the identifier of the RegexPatternSet that contain the regular expression
  9267  // patters you want AWS WAF to watch for.
  9268  //
  9269  // For more information about how to use the AWS WAF API to allow or block HTTP
  9270  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  9271  //
  9272  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9273  // with awserr.Error's Code and Message methods to get detailed information about
  9274  // the error.
  9275  //
  9276  // See the AWS API reference guide for AWS WAF Regional's
  9277  // API operation UpdateRegexMatchSet for usage and error information.
  9278  //
  9279  // Returned Error Types:
  9280  //   * WAFStaleDataException
  9281  //   The operation failed because you tried to create, update, or delete an object
  9282  //   by using a change token that has already been used.
  9283  //
  9284  //   * WAFInternalErrorException
  9285  //   The operation failed because of a system problem, even though the request
  9286  //   was valid. Retry your request.
  9287  //
  9288  //   * WAFDisallowedNameException
  9289  //   The name specified is invalid.
  9290  //
  9291  //   * WAFLimitsExceededException
  9292  //   The operation exceeds a resource limit, for example, the maximum number of
  9293  //   WebACL objects that you can create for an AWS account. For more information,
  9294  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  9295  //   in the AWS WAF Developer Guide.
  9296  //
  9297  //   * WAFNonexistentItemException
  9298  //   The operation failed because the referenced object doesn't exist.
  9299  //
  9300  //   * WAFNonexistentContainerException
  9301  //   The operation failed because you tried to add an object to or delete an object
  9302  //   from another object that doesn't exist. For example:
  9303  //
  9304  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  9305  //      exist.
  9306  //
  9307  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  9308  //      that doesn't exist.
  9309  //
  9310  //      * You tried to add an IP address to or delete an IP address from an IPSet
  9311  //      that doesn't exist.
  9312  //
  9313  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  9314  //      a ByteMatchSet that doesn't exist.
  9315  //
  9316  //   * WAFInvalidOperationException
  9317  //   The operation failed because there was nothing to do. For example:
  9318  //
  9319  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  9320  //      specified WebACL.
  9321  //
  9322  //      * You tried to remove an IP address from an IPSet, but the IP address
  9323  //      isn't in the specified IPSet.
  9324  //
  9325  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  9326  //      isn't in the specified WebACL.
  9327  //
  9328  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  9329  //      the specified WebACL.
  9330  //
  9331  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  9332  //      already exists in the specified WebACL.
  9333  //
  9334  //   * WAFInvalidAccountException
  9335  //   The operation failed because you tried to create, update, or delete an object
  9336  //   by using an invalid account identifier.
  9337  //
  9338  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet
  9339  func (c *WAFRegional) UpdateRegexMatchSet(input *waf.UpdateRegexMatchSetInput) (*waf.UpdateRegexMatchSetOutput, error) {
  9340  	req, out := c.UpdateRegexMatchSetRequest(input)
  9341  	return out, req.Send()
  9342  }
  9343  
  9344  // UpdateRegexMatchSetWithContext is the same as UpdateRegexMatchSet with the addition of
  9345  // the ability to pass a context and additional request options.
  9346  //
  9347  // See UpdateRegexMatchSet for details on how to use this API operation.
  9348  //
  9349  // The context must be non-nil and will be used for request cancellation. If
  9350  // the context is nil a panic will occur. In the future the SDK may create
  9351  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9352  // for more information on using Contexts.
  9353  func (c *WAFRegional) UpdateRegexMatchSetWithContext(ctx aws.Context, input *waf.UpdateRegexMatchSetInput, opts ...request.Option) (*waf.UpdateRegexMatchSetOutput, error) {
  9354  	req, out := c.UpdateRegexMatchSetRequest(input)
  9355  	req.SetContext(ctx)
  9356  	req.ApplyOptions(opts...)
  9357  	return out, req.Send()
  9358  }
  9359  
  9360  const opUpdateRegexPatternSet = "UpdateRegexPatternSet"
  9361  
  9362  // UpdateRegexPatternSetRequest generates a "aws/request.Request" representing the
  9363  // client's request for the UpdateRegexPatternSet operation. The "output" return
  9364  // value will be populated with the request's response once the request completes
  9365  // successfully.
  9366  //
  9367  // Use "Send" method on the returned Request to send the API call to the service.
  9368  // the "output" return value is not valid until after Send returns without error.
  9369  //
  9370  // See UpdateRegexPatternSet for more information on using the UpdateRegexPatternSet
  9371  // API call, and error handling.
  9372  //
  9373  // This method is useful when you want to inject custom logic or configuration
  9374  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9375  //
  9376  //
  9377  //    // Example sending a request using the UpdateRegexPatternSetRequest method.
  9378  //    req, resp := client.UpdateRegexPatternSetRequest(params)
  9379  //
  9380  //    err := req.Send()
  9381  //    if err == nil { // resp is now filled
  9382  //        fmt.Println(resp)
  9383  //    }
  9384  //
  9385  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet
  9386  func (c *WAFRegional) UpdateRegexPatternSetRequest(input *waf.UpdateRegexPatternSetInput) (req *request.Request, output *waf.UpdateRegexPatternSetOutput) {
  9387  	op := &request.Operation{
  9388  		Name:       opUpdateRegexPatternSet,
  9389  		HTTPMethod: "POST",
  9390  		HTTPPath:   "/",
  9391  	}
  9392  
  9393  	if input == nil {
  9394  		input = &waf.UpdateRegexPatternSetInput{}
  9395  	}
  9396  
  9397  	output = &waf.UpdateRegexPatternSetOutput{}
  9398  	req = c.newRequest(op, input, output)
  9399  	return
  9400  }
  9401  
  9402  // UpdateRegexPatternSet API operation for AWS WAF Regional.
  9403  //
  9404  //
  9405  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9406  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9407  // in the developer guide.
  9408  //
  9409  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9410  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9411  // With the latest version, AWS WAF has a single set of endpoints for regional
  9412  // and global use.
  9413  //
  9414  // Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each
  9415  // RegexPatternString object, you specify the following values:
  9416  //
  9417  //    * Whether to insert or delete the RegexPatternString.
  9418  //
  9419  //    * The regular expression pattern that you want to insert or delete. For
  9420  //    more information, see RegexPatternSet.
  9421  //
  9422  // For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS
  9423  // WAF will match this RegexPatternString to:
  9424  //
  9425  //    * BadBot
  9426  //
  9427  //    * BadB0t
  9428  //
  9429  //    * B@dBot
  9430  //
  9431  //    * B@dB0t
  9432  //
  9433  // To create and configure a RegexPatternSet, perform the following steps:
  9434  //
  9435  // Create a RegexPatternSet. For more information, see CreateRegexPatternSet.
  9436  //
  9437  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  9438  // parameter of an UpdateRegexPatternSet request.
  9439  //
  9440  // Submit an UpdateRegexPatternSet request to specify the regular expression
  9441  // pattern that you want AWS WAF to watch for.
  9442  //
  9443  // For more information about how to use the AWS WAF API to allow or block HTTP
  9444  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  9445  //
  9446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9447  // with awserr.Error's Code and Message methods to get detailed information about
  9448  // the error.
  9449  //
  9450  // See the AWS API reference guide for AWS WAF Regional's
  9451  // API operation UpdateRegexPatternSet for usage and error information.
  9452  //
  9453  // Returned Error Types:
  9454  //   * WAFStaleDataException
  9455  //   The operation failed because you tried to create, update, or delete an object
  9456  //   by using a change token that has already been used.
  9457  //
  9458  //   * WAFInternalErrorException
  9459  //   The operation failed because of a system problem, even though the request
  9460  //   was valid. Retry your request.
  9461  //
  9462  //   * WAFLimitsExceededException
  9463  //   The operation exceeds a resource limit, for example, the maximum number of
  9464  //   WebACL objects that you can create for an AWS account. For more information,
  9465  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  9466  //   in the AWS WAF Developer Guide.
  9467  //
  9468  //   * WAFNonexistentItemException
  9469  //   The operation failed because the referenced object doesn't exist.
  9470  //
  9471  //   * WAFNonexistentContainerException
  9472  //   The operation failed because you tried to add an object to or delete an object
  9473  //   from another object that doesn't exist. For example:
  9474  //
  9475  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  9476  //      exist.
  9477  //
  9478  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  9479  //      that doesn't exist.
  9480  //
  9481  //      * You tried to add an IP address to or delete an IP address from an IPSet
  9482  //      that doesn't exist.
  9483  //
  9484  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  9485  //      a ByteMatchSet that doesn't exist.
  9486  //
  9487  //   * WAFInvalidOperationException
  9488  //   The operation failed because there was nothing to do. For example:
  9489  //
  9490  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  9491  //      specified WebACL.
  9492  //
  9493  //      * You tried to remove an IP address from an IPSet, but the IP address
  9494  //      isn't in the specified IPSet.
  9495  //
  9496  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  9497  //      isn't in the specified WebACL.
  9498  //
  9499  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  9500  //      the specified WebACL.
  9501  //
  9502  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  9503  //      already exists in the specified WebACL.
  9504  //
  9505  //   * WAFInvalidAccountException
  9506  //   The operation failed because you tried to create, update, or delete an object
  9507  //   by using an invalid account identifier.
  9508  //
  9509  //   * WAFInvalidRegexPatternException
  9510  //   The regular expression (regex) you specified in RegexPatternString is invalid.
  9511  //
  9512  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet
  9513  func (c *WAFRegional) UpdateRegexPatternSet(input *waf.UpdateRegexPatternSetInput) (*waf.UpdateRegexPatternSetOutput, error) {
  9514  	req, out := c.UpdateRegexPatternSetRequest(input)
  9515  	return out, req.Send()
  9516  }
  9517  
  9518  // UpdateRegexPatternSetWithContext is the same as UpdateRegexPatternSet with the addition of
  9519  // the ability to pass a context and additional request options.
  9520  //
  9521  // See UpdateRegexPatternSet for details on how to use this API operation.
  9522  //
  9523  // The context must be non-nil and will be used for request cancellation. If
  9524  // the context is nil a panic will occur. In the future the SDK may create
  9525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9526  // for more information on using Contexts.
  9527  func (c *WAFRegional) UpdateRegexPatternSetWithContext(ctx aws.Context, input *waf.UpdateRegexPatternSetInput, opts ...request.Option) (*waf.UpdateRegexPatternSetOutput, error) {
  9528  	req, out := c.UpdateRegexPatternSetRequest(input)
  9529  	req.SetContext(ctx)
  9530  	req.ApplyOptions(opts...)
  9531  	return out, req.Send()
  9532  }
  9533  
  9534  const opUpdateRule = "UpdateRule"
  9535  
  9536  // UpdateRuleRequest generates a "aws/request.Request" representing the
  9537  // client's request for the UpdateRule operation. The "output" return
  9538  // value will be populated with the request's response once the request completes
  9539  // successfully.
  9540  //
  9541  // Use "Send" method on the returned Request to send the API call to the service.
  9542  // the "output" return value is not valid until after Send returns without error.
  9543  //
  9544  // See UpdateRule for more information on using the UpdateRule
  9545  // API call, and error handling.
  9546  //
  9547  // This method is useful when you want to inject custom logic or configuration
  9548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9549  //
  9550  //
  9551  //    // Example sending a request using the UpdateRuleRequest method.
  9552  //    req, resp := client.UpdateRuleRequest(params)
  9553  //
  9554  //    err := req.Send()
  9555  //    if err == nil { // resp is now filled
  9556  //        fmt.Println(resp)
  9557  //    }
  9558  //
  9559  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule
  9560  func (c *WAFRegional) UpdateRuleRequest(input *waf.UpdateRuleInput) (req *request.Request, output *waf.UpdateRuleOutput) {
  9561  	op := &request.Operation{
  9562  		Name:       opUpdateRule,
  9563  		HTTPMethod: "POST",
  9564  		HTTPPath:   "/",
  9565  	}
  9566  
  9567  	if input == nil {
  9568  		input = &waf.UpdateRuleInput{}
  9569  	}
  9570  
  9571  	output = &waf.UpdateRuleOutput{}
  9572  	req = c.newRequest(op, input, output)
  9573  	return
  9574  }
  9575  
  9576  // UpdateRule API operation for AWS WAF Regional.
  9577  //
  9578  //
  9579  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9580  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9581  // in the developer guide.
  9582  //
  9583  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9584  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9585  // With the latest version, AWS WAF has a single set of endpoints for regional
  9586  // and global use.
  9587  //
  9588  // Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies
  9589  // a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests
  9590  // that you want to allow, block, or count. If you add more than one predicate
  9591  // to a Rule, a request must match all of the specifications to be allowed,
  9592  // blocked, or counted. For example, suppose that you add the following to a
  9593  // Rule:
  9594  //
  9595  //    * A ByteMatchSet that matches the value BadBot in the User-Agent header
  9596  //
  9597  //    * An IPSet that matches the IP address 192.0.2.44
  9598  //
  9599  // You then add the Rule to a WebACL and specify that you want to block requests
  9600  // that satisfy the Rule. For a request to be blocked, the User-Agent header
  9601  // in the request must contain the value BadBot and the request must originate
  9602  // from the IP address 192.0.2.44.
  9603  //
  9604  // To create and configure a Rule, perform the following steps:
  9605  //
  9606  // Create and update the predicates that you want to include in the Rule.
  9607  //
  9608  // Create the Rule. See CreateRule.
  9609  //
  9610  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  9611  // parameter of an UpdateRule request.
  9612  //
  9613  // Submit an UpdateRule request to add predicates to the Rule.
  9614  //
  9615  // Create and update a WebACL that contains the Rule. See CreateWebACL.
  9616  //
  9617  // If you want to replace one ByteMatchSet or IPSet with another, you delete
  9618  // the existing one and add the new one.
  9619  //
  9620  // For more information about how to use the AWS WAF API to allow or block HTTP
  9621  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  9622  //
  9623  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9624  // with awserr.Error's Code and Message methods to get detailed information about
  9625  // the error.
  9626  //
  9627  // See the AWS API reference guide for AWS WAF Regional's
  9628  // API operation UpdateRule for usage and error information.
  9629  //
  9630  // Returned Error Types:
  9631  //   * WAFStaleDataException
  9632  //   The operation failed because you tried to create, update, or delete an object
  9633  //   by using a change token that has already been used.
  9634  //
  9635  //   * WAFInternalErrorException
  9636  //   The operation failed because of a system problem, even though the request
  9637  //   was valid. Retry your request.
  9638  //
  9639  //   * WAFInvalidAccountException
  9640  //   The operation failed because you tried to create, update, or delete an object
  9641  //   by using an invalid account identifier.
  9642  //
  9643  //   * WAFInvalidOperationException
  9644  //   The operation failed because there was nothing to do. For example:
  9645  //
  9646  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  9647  //      specified WebACL.
  9648  //
  9649  //      * You tried to remove an IP address from an IPSet, but the IP address
  9650  //      isn't in the specified IPSet.
  9651  //
  9652  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  9653  //      isn't in the specified WebACL.
  9654  //
  9655  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  9656  //      the specified WebACL.
  9657  //
  9658  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  9659  //      already exists in the specified WebACL.
  9660  //
  9661  //   * WAFInvalidParameterException
  9662  //   The operation failed because AWS WAF didn't recognize a parameter in the
  9663  //   request. For example:
  9664  //
  9665  //      * You specified an invalid parameter name.
  9666  //
  9667  //      * You specified an invalid value.
  9668  //
  9669  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  9670  //      using an action other than INSERT or DELETE.
  9671  //
  9672  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  9673  //      BLOCK, or COUNT.
  9674  //
  9675  //      * You tried to create a RateBasedRule with a RateKey value other than
  9676  //      IP.
  9677  //
  9678  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  9679  //      BLOCK, or COUNT.
  9680  //
  9681  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  9682  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  9683  //
  9684  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  9685  //      for Data.
  9686  //
  9687  //      * Your request references an ARN that is malformed, or corresponds to
  9688  //      a resource with which a web ACL cannot be associated.
  9689  //
  9690  //   * WAFNonexistentContainerException
  9691  //   The operation failed because you tried to add an object to or delete an object
  9692  //   from another object that doesn't exist. For example:
  9693  //
  9694  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  9695  //      exist.
  9696  //
  9697  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  9698  //      that doesn't exist.
  9699  //
  9700  //      * You tried to add an IP address to or delete an IP address from an IPSet
  9701  //      that doesn't exist.
  9702  //
  9703  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  9704  //      a ByteMatchSet that doesn't exist.
  9705  //
  9706  //   * WAFNonexistentItemException
  9707  //   The operation failed because the referenced object doesn't exist.
  9708  //
  9709  //   * WAFReferencedItemException
  9710  //   The operation failed because you tried to delete an object that is still
  9711  //   in use. For example:
  9712  //
  9713  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
  9714  //
  9715  //      * You tried to delete a Rule that is still referenced by a WebACL.
  9716  //
  9717  //   * WAFLimitsExceededException
  9718  //   The operation exceeds a resource limit, for example, the maximum number of
  9719  //   WebACL objects that you can create for an AWS account. For more information,
  9720  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  9721  //   in the AWS WAF Developer Guide.
  9722  //
  9723  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRule
  9724  func (c *WAFRegional) UpdateRule(input *waf.UpdateRuleInput) (*waf.UpdateRuleOutput, error) {
  9725  	req, out := c.UpdateRuleRequest(input)
  9726  	return out, req.Send()
  9727  }
  9728  
  9729  // UpdateRuleWithContext is the same as UpdateRule with the addition of
  9730  // the ability to pass a context and additional request options.
  9731  //
  9732  // See UpdateRule for details on how to use this API operation.
  9733  //
  9734  // The context must be non-nil and will be used for request cancellation. If
  9735  // the context is nil a panic will occur. In the future the SDK may create
  9736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9737  // for more information on using Contexts.
  9738  func (c *WAFRegional) UpdateRuleWithContext(ctx aws.Context, input *waf.UpdateRuleInput, opts ...request.Option) (*waf.UpdateRuleOutput, error) {
  9739  	req, out := c.UpdateRuleRequest(input)
  9740  	req.SetContext(ctx)
  9741  	req.ApplyOptions(opts...)
  9742  	return out, req.Send()
  9743  }
  9744  
  9745  const opUpdateRuleGroup = "UpdateRuleGroup"
  9746  
  9747  // UpdateRuleGroupRequest generates a "aws/request.Request" representing the
  9748  // client's request for the UpdateRuleGroup operation. The "output" return
  9749  // value will be populated with the request's response once the request completes
  9750  // successfully.
  9751  //
  9752  // Use "Send" method on the returned Request to send the API call to the service.
  9753  // the "output" return value is not valid until after Send returns without error.
  9754  //
  9755  // See UpdateRuleGroup for more information on using the UpdateRuleGroup
  9756  // API call, and error handling.
  9757  //
  9758  // This method is useful when you want to inject custom logic or configuration
  9759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9760  //
  9761  //
  9762  //    // Example sending a request using the UpdateRuleGroupRequest method.
  9763  //    req, resp := client.UpdateRuleGroupRequest(params)
  9764  //
  9765  //    err := req.Send()
  9766  //    if err == nil { // resp is now filled
  9767  //        fmt.Println(resp)
  9768  //    }
  9769  //
  9770  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup
  9771  func (c *WAFRegional) UpdateRuleGroupRequest(input *waf.UpdateRuleGroupInput) (req *request.Request, output *waf.UpdateRuleGroupOutput) {
  9772  	op := &request.Operation{
  9773  		Name:       opUpdateRuleGroup,
  9774  		HTTPMethod: "POST",
  9775  		HTTPPath:   "/",
  9776  	}
  9777  
  9778  	if input == nil {
  9779  		input = &waf.UpdateRuleGroupInput{}
  9780  	}
  9781  
  9782  	output = &waf.UpdateRuleGroupOutput{}
  9783  	req = c.newRequest(op, input, output)
  9784  	return
  9785  }
  9786  
  9787  // UpdateRuleGroup API operation for AWS WAF Regional.
  9788  //
  9789  //
  9790  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9791  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9792  // in the developer guide.
  9793  //
  9794  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9795  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9796  // With the latest version, AWS WAF has a single set of endpoints for regional
  9797  // and global use.
  9798  //
  9799  // Inserts or deletes ActivatedRule objects in a RuleGroup.
  9800  //
  9801  // You can only insert REGULAR rules into a rule group.
  9802  //
  9803  // You can have a maximum of ten rules per rule group.
  9804  //
  9805  // To create and configure a RuleGroup, perform the following steps:
  9806  //
  9807  // Create and update the Rules that you want to include in the RuleGroup. See
  9808  // CreateRule.
  9809  //
  9810  // Use GetChangeToken to get the change token that you provide in the ChangeToken
  9811  // parameter of an UpdateRuleGroup request.
  9812  //
  9813  // Submit an UpdateRuleGroup request to add Rules to the RuleGroup.
  9814  //
  9815  // Create and update a WebACL that contains the RuleGroup. See CreateWebACL.
  9816  //
  9817  // If you want to replace one Rule with another, you delete the existing one
  9818  // and add the new one.
  9819  //
  9820  // For more information about how to use the AWS WAF API to allow or block HTTP
  9821  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
  9822  //
  9823  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9824  // with awserr.Error's Code and Message methods to get detailed information about
  9825  // the error.
  9826  //
  9827  // See the AWS API reference guide for AWS WAF Regional's
  9828  // API operation UpdateRuleGroup for usage and error information.
  9829  //
  9830  // Returned Error Types:
  9831  //   * WAFStaleDataException
  9832  //   The operation failed because you tried to create, update, or delete an object
  9833  //   by using a change token that has already been used.
  9834  //
  9835  //   * WAFInternalErrorException
  9836  //   The operation failed because of a system problem, even though the request
  9837  //   was valid. Retry your request.
  9838  //
  9839  //   * WAFNonexistentContainerException
  9840  //   The operation failed because you tried to add an object to or delete an object
  9841  //   from another object that doesn't exist. For example:
  9842  //
  9843  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
  9844  //      exist.
  9845  //
  9846  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
  9847  //      that doesn't exist.
  9848  //
  9849  //      * You tried to add an IP address to or delete an IP address from an IPSet
  9850  //      that doesn't exist.
  9851  //
  9852  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
  9853  //      a ByteMatchSet that doesn't exist.
  9854  //
  9855  //   * WAFNonexistentItemException
  9856  //   The operation failed because the referenced object doesn't exist.
  9857  //
  9858  //   * WAFInvalidOperationException
  9859  //   The operation failed because there was nothing to do. For example:
  9860  //
  9861  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
  9862  //      specified WebACL.
  9863  //
  9864  //      * You tried to remove an IP address from an IPSet, but the IP address
  9865  //      isn't in the specified IPSet.
  9866  //
  9867  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
  9868  //      isn't in the specified WebACL.
  9869  //
  9870  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
  9871  //      the specified WebACL.
  9872  //
  9873  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
  9874  //      already exists in the specified WebACL.
  9875  //
  9876  //   * WAFLimitsExceededException
  9877  //   The operation exceeds a resource limit, for example, the maximum number of
  9878  //   WebACL objects that you can create for an AWS account. For more information,
  9879  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
  9880  //   in the AWS WAF Developer Guide.
  9881  //
  9882  //   * WAFInvalidParameterException
  9883  //   The operation failed because AWS WAF didn't recognize a parameter in the
  9884  //   request. For example:
  9885  //
  9886  //      * You specified an invalid parameter name.
  9887  //
  9888  //      * You specified an invalid value.
  9889  //
  9890  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
  9891  //      using an action other than INSERT or DELETE.
  9892  //
  9893  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
  9894  //      BLOCK, or COUNT.
  9895  //
  9896  //      * You tried to create a RateBasedRule with a RateKey value other than
  9897  //      IP.
  9898  //
  9899  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
  9900  //      BLOCK, or COUNT.
  9901  //
  9902  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
  9903  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
  9904  //
  9905  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
  9906  //      for Data.
  9907  //
  9908  //      * Your request references an ARN that is malformed, or corresponds to
  9909  //      a resource with which a web ACL cannot be associated.
  9910  //
  9911  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroup
  9912  func (c *WAFRegional) UpdateRuleGroup(input *waf.UpdateRuleGroupInput) (*waf.UpdateRuleGroupOutput, error) {
  9913  	req, out := c.UpdateRuleGroupRequest(input)
  9914  	return out, req.Send()
  9915  }
  9916  
  9917  // UpdateRuleGroupWithContext is the same as UpdateRuleGroup with the addition of
  9918  // the ability to pass a context and additional request options.
  9919  //
  9920  // See UpdateRuleGroup for details on how to use this API operation.
  9921  //
  9922  // The context must be non-nil and will be used for request cancellation. If
  9923  // the context is nil a panic will occur. In the future the SDK may create
  9924  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9925  // for more information on using Contexts.
  9926  func (c *WAFRegional) UpdateRuleGroupWithContext(ctx aws.Context, input *waf.UpdateRuleGroupInput, opts ...request.Option) (*waf.UpdateRuleGroupOutput, error) {
  9927  	req, out := c.UpdateRuleGroupRequest(input)
  9928  	req.SetContext(ctx)
  9929  	req.ApplyOptions(opts...)
  9930  	return out, req.Send()
  9931  }
  9932  
  9933  const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet"
  9934  
  9935  // UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the
  9936  // client's request for the UpdateSizeConstraintSet operation. The "output" return
  9937  // value will be populated with the request's response once the request completes
  9938  // successfully.
  9939  //
  9940  // Use "Send" method on the returned Request to send the API call to the service.
  9941  // the "output" return value is not valid until after Send returns without error.
  9942  //
  9943  // See UpdateSizeConstraintSet for more information on using the UpdateSizeConstraintSet
  9944  // API call, and error handling.
  9945  //
  9946  // This method is useful when you want to inject custom logic or configuration
  9947  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9948  //
  9949  //
  9950  //    // Example sending a request using the UpdateSizeConstraintSetRequest method.
  9951  //    req, resp := client.UpdateSizeConstraintSetRequest(params)
  9952  //
  9953  //    err := req.Send()
  9954  //    if err == nil { // resp is now filled
  9955  //        fmt.Println(resp)
  9956  //    }
  9957  //
  9958  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet
  9959  func (c *WAFRegional) UpdateSizeConstraintSetRequest(input *waf.UpdateSizeConstraintSetInput) (req *request.Request, output *waf.UpdateSizeConstraintSetOutput) {
  9960  	op := &request.Operation{
  9961  		Name:       opUpdateSizeConstraintSet,
  9962  		HTTPMethod: "POST",
  9963  		HTTPPath:   "/",
  9964  	}
  9965  
  9966  	if input == nil {
  9967  		input = &waf.UpdateSizeConstraintSetInput{}
  9968  	}
  9969  
  9970  	output = &waf.UpdateSizeConstraintSetOutput{}
  9971  	req = c.newRequest(op, input, output)
  9972  	return
  9973  }
  9974  
  9975  // UpdateSizeConstraintSet API operation for AWS WAF Regional.
  9976  //
  9977  //
  9978  // This is AWS WAF Classic documentation. For more information, see AWS WAF
  9979  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
  9980  // in the developer guide.
  9981  //
  9982  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
  9983  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
  9984  // With the latest version, AWS WAF has a single set of endpoints for regional
  9985  // and global use.
  9986  //
  9987  // Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet.
  9988  // For each SizeConstraint object, you specify the following values:
  9989  //
  9990  //    * Whether to insert or delete the object from the array. If you want to
  9991  //    change a SizeConstraintSetUpdate object, you delete the existing object
  9992  //    and add a new one.
  9993  //
  9994  //    * The part of a web request that you want AWS WAF to evaluate, such as
  9995  //    the length of a query string or the length of the User-Agent header.
  9996  //
  9997  //    * Whether to perform any transformations on the request, such as converting
  9998  //    it to lowercase, before checking its length. Note that transformations
  9999  //    of the request body are not supported because the AWS resource forwards
 10000  //    only the first 8192 bytes of your request to AWS WAF. You can only specify
 10001  //    a single type of TextTransformation.
 10002  //
 10003  //    * A ComparisonOperator used for evaluating the selected part of the request
 10004  //    against the specified Size, such as equals, greater than, less than, and
 10005  //    so on.
 10006  //
 10007  //    * The length, in bytes, that you want AWS WAF to watch for in selected
 10008  //    part of the request. The length is computed after applying the transformation.
 10009  //
 10010  // For example, you can add a SizeConstraintSetUpdate object that matches web
 10011  // requests in which the length of the User-Agent header is greater than 100
 10012  // bytes. You can then configure AWS WAF to block those requests.
 10013  //
 10014  // To create and configure a SizeConstraintSet, perform the following steps:
 10015  //
 10016  // Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.
 10017  //
 10018  // Use GetChangeToken to get the change token that you provide in the ChangeToken
 10019  // parameter of an UpdateSizeConstraintSet request.
 10020  //
 10021  // Submit an UpdateSizeConstraintSet request to specify the part of the request
 10022  // that you want AWS WAF to inspect (for example, the header or the URI) and
 10023  // the value that you want AWS WAF to watch for.
 10024  //
 10025  // For more information about how to use the AWS WAF API to allow or block HTTP
 10026  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
 10027  //
 10028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10029  // with awserr.Error's Code and Message methods to get detailed information about
 10030  // the error.
 10031  //
 10032  // See the AWS API reference guide for AWS WAF Regional's
 10033  // API operation UpdateSizeConstraintSet for usage and error information.
 10034  //
 10035  // Returned Error Types:
 10036  //   * WAFStaleDataException
 10037  //   The operation failed because you tried to create, update, or delete an object
 10038  //   by using a change token that has already been used.
 10039  //
 10040  //   * WAFInternalErrorException
 10041  //   The operation failed because of a system problem, even though the request
 10042  //   was valid. Retry your request.
 10043  //
 10044  //   * WAFInvalidAccountException
 10045  //   The operation failed because you tried to create, update, or delete an object
 10046  //   by using an invalid account identifier.
 10047  //
 10048  //   * WAFInvalidOperationException
 10049  //   The operation failed because there was nothing to do. For example:
 10050  //
 10051  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
 10052  //      specified WebACL.
 10053  //
 10054  //      * You tried to remove an IP address from an IPSet, but the IP address
 10055  //      isn't in the specified IPSet.
 10056  //
 10057  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
 10058  //      isn't in the specified WebACL.
 10059  //
 10060  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
 10061  //      the specified WebACL.
 10062  //
 10063  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
 10064  //      already exists in the specified WebACL.
 10065  //
 10066  //   * WAFInvalidParameterException
 10067  //   The operation failed because AWS WAF didn't recognize a parameter in the
 10068  //   request. For example:
 10069  //
 10070  //      * You specified an invalid parameter name.
 10071  //
 10072  //      * You specified an invalid value.
 10073  //
 10074  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
 10075  //      using an action other than INSERT or DELETE.
 10076  //
 10077  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
 10078  //      BLOCK, or COUNT.
 10079  //
 10080  //      * You tried to create a RateBasedRule with a RateKey value other than
 10081  //      IP.
 10082  //
 10083  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
 10084  //      BLOCK, or COUNT.
 10085  //
 10086  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
 10087  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
 10088  //
 10089  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
 10090  //      for Data.
 10091  //
 10092  //      * Your request references an ARN that is malformed, or corresponds to
 10093  //      a resource with which a web ACL cannot be associated.
 10094  //
 10095  //   * WAFNonexistentContainerException
 10096  //   The operation failed because you tried to add an object to or delete an object
 10097  //   from another object that doesn't exist. For example:
 10098  //
 10099  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
 10100  //      exist.
 10101  //
 10102  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
 10103  //      that doesn't exist.
 10104  //
 10105  //      * You tried to add an IP address to or delete an IP address from an IPSet
 10106  //      that doesn't exist.
 10107  //
 10108  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
 10109  //      a ByteMatchSet that doesn't exist.
 10110  //
 10111  //   * WAFNonexistentItemException
 10112  //   The operation failed because the referenced object doesn't exist.
 10113  //
 10114  //   * WAFReferencedItemException
 10115  //   The operation failed because you tried to delete an object that is still
 10116  //   in use. For example:
 10117  //
 10118  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
 10119  //
 10120  //      * You tried to delete a Rule that is still referenced by a WebACL.
 10121  //
 10122  //   * WAFLimitsExceededException
 10123  //   The operation exceeds a resource limit, for example, the maximum number of
 10124  //   WebACL objects that you can create for an AWS account. For more information,
 10125  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
 10126  //   in the AWS WAF Developer Guide.
 10127  //
 10128  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSizeConstraintSet
 10129  func (c *WAFRegional) UpdateSizeConstraintSet(input *waf.UpdateSizeConstraintSetInput) (*waf.UpdateSizeConstraintSetOutput, error) {
 10130  	req, out := c.UpdateSizeConstraintSetRequest(input)
 10131  	return out, req.Send()
 10132  }
 10133  
 10134  // UpdateSizeConstraintSetWithContext is the same as UpdateSizeConstraintSet with the addition of
 10135  // the ability to pass a context and additional request options.
 10136  //
 10137  // See UpdateSizeConstraintSet for details on how to use this API operation.
 10138  //
 10139  // The context must be non-nil and will be used for request cancellation. If
 10140  // the context is nil a panic will occur. In the future the SDK may create
 10141  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10142  // for more information on using Contexts.
 10143  func (c *WAFRegional) UpdateSizeConstraintSetWithContext(ctx aws.Context, input *waf.UpdateSizeConstraintSetInput, opts ...request.Option) (*waf.UpdateSizeConstraintSetOutput, error) {
 10144  	req, out := c.UpdateSizeConstraintSetRequest(input)
 10145  	req.SetContext(ctx)
 10146  	req.ApplyOptions(opts...)
 10147  	return out, req.Send()
 10148  }
 10149  
 10150  const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet"
 10151  
 10152  // UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the
 10153  // client's request for the UpdateSqlInjectionMatchSet operation. The "output" return
 10154  // value will be populated with the request's response once the request completes
 10155  // successfully.
 10156  //
 10157  // Use "Send" method on the returned Request to send the API call to the service.
 10158  // the "output" return value is not valid until after Send returns without error.
 10159  //
 10160  // See UpdateSqlInjectionMatchSet for more information on using the UpdateSqlInjectionMatchSet
 10161  // API call, and error handling.
 10162  //
 10163  // This method is useful when you want to inject custom logic or configuration
 10164  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10165  //
 10166  //
 10167  //    // Example sending a request using the UpdateSqlInjectionMatchSetRequest method.
 10168  //    req, resp := client.UpdateSqlInjectionMatchSetRequest(params)
 10169  //
 10170  //    err := req.Send()
 10171  //    if err == nil { // resp is now filled
 10172  //        fmt.Println(resp)
 10173  //    }
 10174  //
 10175  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet
 10176  func (c *WAFRegional) UpdateSqlInjectionMatchSetRequest(input *waf.UpdateSqlInjectionMatchSetInput) (req *request.Request, output *waf.UpdateSqlInjectionMatchSetOutput) {
 10177  	op := &request.Operation{
 10178  		Name:       opUpdateSqlInjectionMatchSet,
 10179  		HTTPMethod: "POST",
 10180  		HTTPPath:   "/",
 10181  	}
 10182  
 10183  	if input == nil {
 10184  		input = &waf.UpdateSqlInjectionMatchSetInput{}
 10185  	}
 10186  
 10187  	output = &waf.UpdateSqlInjectionMatchSetOutput{}
 10188  	req = c.newRequest(op, input, output)
 10189  	return
 10190  }
 10191  
 10192  // UpdateSqlInjectionMatchSet API operation for AWS WAF Regional.
 10193  //
 10194  //
 10195  // This is AWS WAF Classic documentation. For more information, see AWS WAF
 10196  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
 10197  // in the developer guide.
 10198  //
 10199  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
 10200  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
 10201  // With the latest version, AWS WAF has a single set of endpoints for regional
 10202  // and global use.
 10203  //
 10204  // Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet.
 10205  // For each SqlInjectionMatchTuple object, you specify the following values:
 10206  //
 10207  //    * Action: Whether to insert the object into or delete the object from
 10208  //    the array. To change a SqlInjectionMatchTuple, you delete the existing
 10209  //    object and add a new one.
 10210  //
 10211  //    * FieldToMatch: The part of web requests that you want AWS WAF to inspect
 10212  //    and, if you want AWS WAF to inspect a header or custom query parameter,
 10213  //    the name of the header or parameter.
 10214  //
 10215  //    * TextTransformation: Which text transformation, if any, to perform on
 10216  //    the web request before inspecting the request for snippets of malicious
 10217  //    SQL code. You can only specify a single type of TextTransformation.
 10218  //
 10219  // You use SqlInjectionMatchSet objects to specify which CloudFront requests
 10220  // that you want to allow, block, or count. For example, if you're receiving
 10221  // requests that contain snippets of SQL code in the query string and you want
 10222  // to block the requests, you can create a SqlInjectionMatchSet with the applicable
 10223  // settings, and then configure AWS WAF to block the requests.
 10224  //
 10225  // To create and configure a SqlInjectionMatchSet, perform the following steps:
 10226  //
 10227  // Submit a CreateSqlInjectionMatchSet request.
 10228  //
 10229  // Use GetChangeToken to get the change token that you provide in the ChangeToken
 10230  // parameter of an UpdateIPSet request.
 10231  //
 10232  // Submit an UpdateSqlInjectionMatchSet request to specify the parts of web
 10233  // requests that you want AWS WAF to inspect for snippets of SQL code.
 10234  //
 10235  // For more information about how to use the AWS WAF API to allow or block HTTP
 10236  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
 10237  //
 10238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10239  // with awserr.Error's Code and Message methods to get detailed information about
 10240  // the error.
 10241  //
 10242  // See the AWS API reference guide for AWS WAF Regional's
 10243  // API operation UpdateSqlInjectionMatchSet for usage and error information.
 10244  //
 10245  // Returned Error Types:
 10246  //   * WAFInternalErrorException
 10247  //   The operation failed because of a system problem, even though the request
 10248  //   was valid. Retry your request.
 10249  //
 10250  //   * WAFInvalidAccountException
 10251  //   The operation failed because you tried to create, update, or delete an object
 10252  //   by using an invalid account identifier.
 10253  //
 10254  //   * WAFInvalidOperationException
 10255  //   The operation failed because there was nothing to do. For example:
 10256  //
 10257  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
 10258  //      specified WebACL.
 10259  //
 10260  //      * You tried to remove an IP address from an IPSet, but the IP address
 10261  //      isn't in the specified IPSet.
 10262  //
 10263  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
 10264  //      isn't in the specified WebACL.
 10265  //
 10266  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
 10267  //      the specified WebACL.
 10268  //
 10269  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
 10270  //      already exists in the specified WebACL.
 10271  //
 10272  //   * WAFInvalidParameterException
 10273  //   The operation failed because AWS WAF didn't recognize a parameter in the
 10274  //   request. For example:
 10275  //
 10276  //      * You specified an invalid parameter name.
 10277  //
 10278  //      * You specified an invalid value.
 10279  //
 10280  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
 10281  //      using an action other than INSERT or DELETE.
 10282  //
 10283  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
 10284  //      BLOCK, or COUNT.
 10285  //
 10286  //      * You tried to create a RateBasedRule with a RateKey value other than
 10287  //      IP.
 10288  //
 10289  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
 10290  //      BLOCK, or COUNT.
 10291  //
 10292  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
 10293  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
 10294  //
 10295  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
 10296  //      for Data.
 10297  //
 10298  //      * Your request references an ARN that is malformed, or corresponds to
 10299  //      a resource with which a web ACL cannot be associated.
 10300  //
 10301  //   * WAFNonexistentContainerException
 10302  //   The operation failed because you tried to add an object to or delete an object
 10303  //   from another object that doesn't exist. For example:
 10304  //
 10305  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
 10306  //      exist.
 10307  //
 10308  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
 10309  //      that doesn't exist.
 10310  //
 10311  //      * You tried to add an IP address to or delete an IP address from an IPSet
 10312  //      that doesn't exist.
 10313  //
 10314  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
 10315  //      a ByteMatchSet that doesn't exist.
 10316  //
 10317  //   * WAFNonexistentItemException
 10318  //   The operation failed because the referenced object doesn't exist.
 10319  //
 10320  //   * WAFStaleDataException
 10321  //   The operation failed because you tried to create, update, or delete an object
 10322  //   by using a change token that has already been used.
 10323  //
 10324  //   * WAFLimitsExceededException
 10325  //   The operation exceeds a resource limit, for example, the maximum number of
 10326  //   WebACL objects that you can create for an AWS account. For more information,
 10327  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
 10328  //   in the AWS WAF Developer Guide.
 10329  //
 10330  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateSqlInjectionMatchSet
 10331  func (c *WAFRegional) UpdateSqlInjectionMatchSet(input *waf.UpdateSqlInjectionMatchSetInput) (*waf.UpdateSqlInjectionMatchSetOutput, error) {
 10332  	req, out := c.UpdateSqlInjectionMatchSetRequest(input)
 10333  	return out, req.Send()
 10334  }
 10335  
 10336  // UpdateSqlInjectionMatchSetWithContext is the same as UpdateSqlInjectionMatchSet with the addition of
 10337  // the ability to pass a context and additional request options.
 10338  //
 10339  // See UpdateSqlInjectionMatchSet for details on how to use this API operation.
 10340  //
 10341  // The context must be non-nil and will be used for request cancellation. If
 10342  // the context is nil a panic will occur. In the future the SDK may create
 10343  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10344  // for more information on using Contexts.
 10345  func (c *WAFRegional) UpdateSqlInjectionMatchSetWithContext(ctx aws.Context, input *waf.UpdateSqlInjectionMatchSetInput, opts ...request.Option) (*waf.UpdateSqlInjectionMatchSetOutput, error) {
 10346  	req, out := c.UpdateSqlInjectionMatchSetRequest(input)
 10347  	req.SetContext(ctx)
 10348  	req.ApplyOptions(opts...)
 10349  	return out, req.Send()
 10350  }
 10351  
 10352  const opUpdateWebACL = "UpdateWebACL"
 10353  
 10354  // UpdateWebACLRequest generates a "aws/request.Request" representing the
 10355  // client's request for the UpdateWebACL operation. The "output" return
 10356  // value will be populated with the request's response once the request completes
 10357  // successfully.
 10358  //
 10359  // Use "Send" method on the returned Request to send the API call to the service.
 10360  // the "output" return value is not valid until after Send returns without error.
 10361  //
 10362  // See UpdateWebACL for more information on using the UpdateWebACL
 10363  // API call, and error handling.
 10364  //
 10365  // This method is useful when you want to inject custom logic or configuration
 10366  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10367  //
 10368  //
 10369  //    // Example sending a request using the UpdateWebACLRequest method.
 10370  //    req, resp := client.UpdateWebACLRequest(params)
 10371  //
 10372  //    err := req.Send()
 10373  //    if err == nil { // resp is now filled
 10374  //        fmt.Println(resp)
 10375  //    }
 10376  //
 10377  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL
 10378  func (c *WAFRegional) UpdateWebACLRequest(input *waf.UpdateWebACLInput) (req *request.Request, output *waf.UpdateWebACLOutput) {
 10379  	op := &request.Operation{
 10380  		Name:       opUpdateWebACL,
 10381  		HTTPMethod: "POST",
 10382  		HTTPPath:   "/",
 10383  	}
 10384  
 10385  	if input == nil {
 10386  		input = &waf.UpdateWebACLInput{}
 10387  	}
 10388  
 10389  	output = &waf.UpdateWebACLOutput{}
 10390  	req = c.newRequest(op, input, output)
 10391  	return
 10392  }
 10393  
 10394  // UpdateWebACL API operation for AWS WAF Regional.
 10395  //
 10396  //
 10397  // This is AWS WAF Classic documentation. For more information, see AWS WAF
 10398  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
 10399  // in the developer guide.
 10400  //
 10401  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
 10402  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
 10403  // With the latest version, AWS WAF has a single set of endpoints for regional
 10404  // and global use.
 10405  //
 10406  // Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies
 10407  // web requests that you want to allow, block, or count. When you update a WebACL,
 10408  // you specify the following values:
 10409  //
 10410  //    * A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs
 10411  //    the default action if a request doesn't match the criteria in any of the
 10412  //    Rules in a WebACL.
 10413  //
 10414  //    * The Rules that you want to add or delete. If you want to replace one
 10415  //    Rule with another, you delete the existing Rule and add the new one.
 10416  //
 10417  //    * For each Rule, whether you want AWS WAF to allow requests, block requests,
 10418  //    or count requests that match the conditions in the Rule.
 10419  //
 10420  //    * The order in which you want AWS WAF to evaluate the Rules in a WebACL.
 10421  //    If you add more than one Rule to a WebACL, AWS WAF evaluates each request
 10422  //    against the Rules in order based on the value of Priority. (The Rule that
 10423  //    has the lowest value for Priority is evaluated first.) When a web request
 10424  //    matches all the predicates (such as ByteMatchSets and IPSets) in a Rule,
 10425  //    AWS WAF immediately takes the corresponding action, allow or block, and
 10426  //    doesn't evaluate the request against the remaining Rules in the WebACL,
 10427  //    if any.
 10428  //
 10429  // To create and configure a WebACL, perform the following steps:
 10430  //
 10431  // Create and update the predicates that you want to include in Rules. For more
 10432  // information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
 10433  // CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
 10434  //
 10435  // Create and update the Rules that you want to include in the WebACL. For more
 10436  // information, see CreateRule and UpdateRule.
 10437  //
 10438  // Create a WebACL. See CreateWebACL.
 10439  //
 10440  // Use GetChangeToken to get the change token that you provide in the ChangeToken
 10441  // parameter of an UpdateWebACL request.
 10442  //
 10443  // Submit an UpdateWebACL request to specify the Rules that you want to include
 10444  // in the WebACL, to specify the default action, and to associate the WebACL
 10445  // with a CloudFront distribution.
 10446  //
 10447  // The ActivatedRule can be a rule group. If you specify a rule group as your
 10448  // ActivatedRule , you can exclude specific rules from that rule group.
 10449  //
 10450  // If you already have a rule group associated with a web ACL and want to submit
 10451  // an UpdateWebACL request to exclude certain rules from that rule group, you
 10452  // must first remove the rule group from the web ACL, the re-insert it again,
 10453  // specifying the excluded rules. For details, see ActivatedRule$ExcludedRules .
 10454  //
 10455  // Be aware that if you try to add a RATE_BASED rule to a web ACL without setting
 10456  // the rule type when first creating the rule, the UpdateWebACL request will
 10457  // fail because the request tries to add a REGULAR rule (the default rule type)
 10458  // with the specified ID, which does not exist.
 10459  //
 10460  // For more information about how to use the AWS WAF API to allow or block HTTP
 10461  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
 10462  //
 10463  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10464  // with awserr.Error's Code and Message methods to get detailed information about
 10465  // the error.
 10466  //
 10467  // See the AWS API reference guide for AWS WAF Regional's
 10468  // API operation UpdateWebACL for usage and error information.
 10469  //
 10470  // Returned Error Types:
 10471  //   * WAFStaleDataException
 10472  //   The operation failed because you tried to create, update, or delete an object
 10473  //   by using a change token that has already been used.
 10474  //
 10475  //   * WAFInternalErrorException
 10476  //   The operation failed because of a system problem, even though the request
 10477  //   was valid. Retry your request.
 10478  //
 10479  //   * WAFInvalidAccountException
 10480  //   The operation failed because you tried to create, update, or delete an object
 10481  //   by using an invalid account identifier.
 10482  //
 10483  //   * WAFInvalidOperationException
 10484  //   The operation failed because there was nothing to do. For example:
 10485  //
 10486  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
 10487  //      specified WebACL.
 10488  //
 10489  //      * You tried to remove an IP address from an IPSet, but the IP address
 10490  //      isn't in the specified IPSet.
 10491  //
 10492  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
 10493  //      isn't in the specified WebACL.
 10494  //
 10495  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
 10496  //      the specified WebACL.
 10497  //
 10498  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
 10499  //      already exists in the specified WebACL.
 10500  //
 10501  //   * WAFInvalidParameterException
 10502  //   The operation failed because AWS WAF didn't recognize a parameter in the
 10503  //   request. For example:
 10504  //
 10505  //      * You specified an invalid parameter name.
 10506  //
 10507  //      * You specified an invalid value.
 10508  //
 10509  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
 10510  //      using an action other than INSERT or DELETE.
 10511  //
 10512  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
 10513  //      BLOCK, or COUNT.
 10514  //
 10515  //      * You tried to create a RateBasedRule with a RateKey value other than
 10516  //      IP.
 10517  //
 10518  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
 10519  //      BLOCK, or COUNT.
 10520  //
 10521  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
 10522  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
 10523  //
 10524  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
 10525  //      for Data.
 10526  //
 10527  //      * Your request references an ARN that is malformed, or corresponds to
 10528  //      a resource with which a web ACL cannot be associated.
 10529  //
 10530  //   * WAFNonexistentContainerException
 10531  //   The operation failed because you tried to add an object to or delete an object
 10532  //   from another object that doesn't exist. For example:
 10533  //
 10534  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
 10535  //      exist.
 10536  //
 10537  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
 10538  //      that doesn't exist.
 10539  //
 10540  //      * You tried to add an IP address to or delete an IP address from an IPSet
 10541  //      that doesn't exist.
 10542  //
 10543  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
 10544  //      a ByteMatchSet that doesn't exist.
 10545  //
 10546  //   * WAFNonexistentItemException
 10547  //   The operation failed because the referenced object doesn't exist.
 10548  //
 10549  //   * WAFReferencedItemException
 10550  //   The operation failed because you tried to delete an object that is still
 10551  //   in use. For example:
 10552  //
 10553  //      * You tried to delete a ByteMatchSet that is still referenced by a Rule.
 10554  //
 10555  //      * You tried to delete a Rule that is still referenced by a WebACL.
 10556  //
 10557  //   * WAFLimitsExceededException
 10558  //   The operation exceeds a resource limit, for example, the maximum number of
 10559  //   WebACL objects that you can create for an AWS account. For more information,
 10560  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
 10561  //   in the AWS WAF Developer Guide.
 10562  //
 10563  //   * WAFSubscriptionNotFoundException
 10564  //   The specified subscription does not exist.
 10565  //
 10566  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateWebACL
 10567  func (c *WAFRegional) UpdateWebACL(input *waf.UpdateWebACLInput) (*waf.UpdateWebACLOutput, error) {
 10568  	req, out := c.UpdateWebACLRequest(input)
 10569  	return out, req.Send()
 10570  }
 10571  
 10572  // UpdateWebACLWithContext is the same as UpdateWebACL with the addition of
 10573  // the ability to pass a context and additional request options.
 10574  //
 10575  // See UpdateWebACL for details on how to use this API operation.
 10576  //
 10577  // The context must be non-nil and will be used for request cancellation. If
 10578  // the context is nil a panic will occur. In the future the SDK may create
 10579  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10580  // for more information on using Contexts.
 10581  func (c *WAFRegional) UpdateWebACLWithContext(ctx aws.Context, input *waf.UpdateWebACLInput, opts ...request.Option) (*waf.UpdateWebACLOutput, error) {
 10582  	req, out := c.UpdateWebACLRequest(input)
 10583  	req.SetContext(ctx)
 10584  	req.ApplyOptions(opts...)
 10585  	return out, req.Send()
 10586  }
 10587  
 10588  const opUpdateXssMatchSet = "UpdateXssMatchSet"
 10589  
 10590  // UpdateXssMatchSetRequest generates a "aws/request.Request" representing the
 10591  // client's request for the UpdateXssMatchSet operation. The "output" return
 10592  // value will be populated with the request's response once the request completes
 10593  // successfully.
 10594  //
 10595  // Use "Send" method on the returned Request to send the API call to the service.
 10596  // the "output" return value is not valid until after Send returns without error.
 10597  //
 10598  // See UpdateXssMatchSet for more information on using the UpdateXssMatchSet
 10599  // API call, and error handling.
 10600  //
 10601  // This method is useful when you want to inject custom logic or configuration
 10602  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10603  //
 10604  //
 10605  //    // Example sending a request using the UpdateXssMatchSetRequest method.
 10606  //    req, resp := client.UpdateXssMatchSetRequest(params)
 10607  //
 10608  //    err := req.Send()
 10609  //    if err == nil { // resp is now filled
 10610  //        fmt.Println(resp)
 10611  //    }
 10612  //
 10613  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet
 10614  func (c *WAFRegional) UpdateXssMatchSetRequest(input *waf.UpdateXssMatchSetInput) (req *request.Request, output *waf.UpdateXssMatchSetOutput) {
 10615  	op := &request.Operation{
 10616  		Name:       opUpdateXssMatchSet,
 10617  		HTTPMethod: "POST",
 10618  		HTTPPath:   "/",
 10619  	}
 10620  
 10621  	if input == nil {
 10622  		input = &waf.UpdateXssMatchSetInput{}
 10623  	}
 10624  
 10625  	output = &waf.UpdateXssMatchSetOutput{}
 10626  	req = c.newRequest(op, input, output)
 10627  	return
 10628  }
 10629  
 10630  // UpdateXssMatchSet API operation for AWS WAF Regional.
 10631  //
 10632  //
 10633  // This is AWS WAF Classic documentation. For more information, see AWS WAF
 10634  // Classic (https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html)
 10635  // in the developer guide.
 10636  //
 10637  // For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
 10638  // WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
 10639  // With the latest version, AWS WAF has a single set of endpoints for regional
 10640  // and global use.
 10641  //
 10642  // Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For
 10643  // each XssMatchTuple object, you specify the following values:
 10644  //
 10645  //    * Action: Whether to insert the object into or delete the object from
 10646  //    the array. To change an XssMatchTuple, you delete the existing object
 10647  //    and add a new one.
 10648  //
 10649  //    * FieldToMatch: The part of web requests that you want AWS WAF to inspect
 10650  //    and, if you want AWS WAF to inspect a header or custom query parameter,
 10651  //    the name of the header or parameter.
 10652  //
 10653  //    * TextTransformation: Which text transformation, if any, to perform on
 10654  //    the web request before inspecting the request for cross-site scripting
 10655  //    attacks. You can only specify a single type of TextTransformation.
 10656  //
 10657  // You use XssMatchSet objects to specify which CloudFront requests that you
 10658  // want to allow, block, or count. For example, if you're receiving requests
 10659  // that contain cross-site scripting attacks in the request body and you want
 10660  // to block the requests, you can create an XssMatchSet with the applicable
 10661  // settings, and then configure AWS WAF to block the requests.
 10662  //
 10663  // To create and configure an XssMatchSet, perform the following steps:
 10664  //
 10665  // Submit a CreateXssMatchSet request.
 10666  //
 10667  // Use GetChangeToken to get the change token that you provide in the ChangeToken
 10668  // parameter of an UpdateIPSet request.
 10669  //
 10670  // Submit an UpdateXssMatchSet request to specify the parts of web requests
 10671  // that you want AWS WAF to inspect for cross-site scripting attacks.
 10672  //
 10673  // For more information about how to use the AWS WAF API to allow or block HTTP
 10674  // requests, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/).
 10675  //
 10676  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10677  // with awserr.Error's Code and Message methods to get detailed information about
 10678  // the error.
 10679  //
 10680  // See the AWS API reference guide for AWS WAF Regional's
 10681  // API operation UpdateXssMatchSet for usage and error information.
 10682  //
 10683  // Returned Error Types:
 10684  //   * WAFInternalErrorException
 10685  //   The operation failed because of a system problem, even though the request
 10686  //   was valid. Retry your request.
 10687  //
 10688  //   * WAFInvalidAccountException
 10689  //   The operation failed because you tried to create, update, or delete an object
 10690  //   by using an invalid account identifier.
 10691  //
 10692  //   * WAFInvalidOperationException
 10693  //   The operation failed because there was nothing to do. For example:
 10694  //
 10695  //      * You tried to remove a Rule from a WebACL, but the Rule isn't in the
 10696  //      specified WebACL.
 10697  //
 10698  //      * You tried to remove an IP address from an IPSet, but the IP address
 10699  //      isn't in the specified IPSet.
 10700  //
 10701  //      * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
 10702  //      isn't in the specified WebACL.
 10703  //
 10704  //      * You tried to add a Rule to a WebACL, but the Rule already exists in
 10705  //      the specified WebACL.
 10706  //
 10707  //      * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
 10708  //      already exists in the specified WebACL.
 10709  //
 10710  //   * WAFInvalidParameterException
 10711  //   The operation failed because AWS WAF didn't recognize a parameter in the
 10712  //   request. For example:
 10713  //
 10714  //      * You specified an invalid parameter name.
 10715  //
 10716  //      * You specified an invalid value.
 10717  //
 10718  //      * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
 10719  //      using an action other than INSERT or DELETE.
 10720  //
 10721  //      * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
 10722  //      BLOCK, or COUNT.
 10723  //
 10724  //      * You tried to create a RateBasedRule with a RateKey value other than
 10725  //      IP.
 10726  //
 10727  //      * You tried to update a WebACL with a WafAction Type other than ALLOW,
 10728  //      BLOCK, or COUNT.
 10729  //
 10730  //      * You tried to update a ByteMatchSet with a FieldToMatch Type other than
 10731  //      HEADER, METHOD, QUERY_STRING, URI, or BODY.
 10732  //
 10733  //      * You tried to update a ByteMatchSet with a Field of HEADER but no value
 10734  //      for Data.
 10735  //
 10736  //      * Your request references an ARN that is malformed, or corresponds to
 10737  //      a resource with which a web ACL cannot be associated.
 10738  //
 10739  //   * WAFNonexistentContainerException
 10740  //   The operation failed because you tried to add an object to or delete an object
 10741  //   from another object that doesn't exist. For example:
 10742  //
 10743  //      * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
 10744  //      exist.
 10745  //
 10746  //      * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
 10747  //      that doesn't exist.
 10748  //
 10749  //      * You tried to add an IP address to or delete an IP address from an IPSet
 10750  //      that doesn't exist.
 10751  //
 10752  //      * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
 10753  //      a ByteMatchSet that doesn't exist.
 10754  //
 10755  //   * WAFNonexistentItemException
 10756  //   The operation failed because the referenced object doesn't exist.
 10757  //
 10758  //   * WAFStaleDataException
 10759  //   The operation failed because you tried to create, update, or delete an object
 10760  //   by using a change token that has already been used.
 10761  //
 10762  //   * WAFLimitsExceededException
 10763  //   The operation exceeds a resource limit, for example, the maximum number of
 10764  //   WebACL objects that you can create for an AWS account. For more information,
 10765  //   see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
 10766  //   in the AWS WAF Developer Guide.
 10767  //
 10768  // See also, https://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateXssMatchSet
 10769  func (c *WAFRegional) UpdateXssMatchSet(input *waf.UpdateXssMatchSetInput) (*waf.UpdateXssMatchSetOutput, error) {
 10770  	req, out := c.UpdateXssMatchSetRequest(input)
 10771  	return out, req.Send()
 10772  }
 10773  
 10774  // UpdateXssMatchSetWithContext is the same as UpdateXssMatchSet with the addition of
 10775  // the ability to pass a context and additional request options.
 10776  //
 10777  // See UpdateXssMatchSet for details on how to use this API operation.
 10778  //
 10779  // The context must be non-nil and will be used for request cancellation. If
 10780  // the context is nil a panic will occur. In the future the SDK may create
 10781  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10782  // for more information on using Contexts.
 10783  func (c *WAFRegional) UpdateXssMatchSetWithContext(ctx aws.Context, input *waf.UpdateXssMatchSetInput, opts ...request.Option) (*waf.UpdateXssMatchSetOutput, error) {
 10784  	req, out := c.UpdateXssMatchSetRequest(input)
 10785  	req.SetContext(ctx)
 10786  	req.ApplyOptions(opts...)
 10787  	return out, req.Send()
 10788  }
 10789  
 10790  type AssociateWebACLInput struct {
 10791  	_ struct{} `type:"structure"`
 10792  
 10793  	// The ARN (Amazon Resource Name) of the resource to be protected, either an
 10794  	// application load balancer or Amazon API Gateway stage.
 10795  	//
 10796  	// The ARN should be in one of the following formats:
 10797  	//
 10798  	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
 10799  	//
 10800  	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
 10801  	//
 10802  	// ResourceArn is a required field
 10803  	ResourceArn *string `min:"1" type:"string" required:"true"`
 10804  
 10805  	// A unique identifier (ID) for the web ACL.
 10806  	//
 10807  	// WebACLId is a required field
 10808  	WebACLId *string `min:"1" type:"string" required:"true"`
 10809  }
 10810  
 10811  // String returns the string representation.
 10812  //
 10813  // API parameter values that are decorated as "sensitive" in the API will not
 10814  // be included in the string output. The member name will be present, but the
 10815  // value will be replaced with "sensitive".
 10816  func (s AssociateWebACLInput) String() string {
 10817  	return awsutil.Prettify(s)
 10818  }
 10819  
 10820  // GoString returns the string representation.
 10821  //
 10822  // API parameter values that are decorated as "sensitive" in the API will not
 10823  // be included in the string output. The member name will be present, but the
 10824  // value will be replaced with "sensitive".
 10825  func (s AssociateWebACLInput) GoString() string {
 10826  	return s.String()
 10827  }
 10828  
 10829  // Validate inspects the fields of the type to determine if they are valid.
 10830  func (s *AssociateWebACLInput) Validate() error {
 10831  	invalidParams := request.ErrInvalidParams{Context: "AssociateWebACLInput"}
 10832  	if s.ResourceArn == nil {
 10833  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10834  	}
 10835  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10836  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10837  	}
 10838  	if s.WebACLId == nil {
 10839  		invalidParams.Add(request.NewErrParamRequired("WebACLId"))
 10840  	}
 10841  	if s.WebACLId != nil && len(*s.WebACLId) < 1 {
 10842  		invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1))
 10843  	}
 10844  
 10845  	if invalidParams.Len() > 0 {
 10846  		return invalidParams
 10847  	}
 10848  	return nil
 10849  }
 10850  
 10851  // SetResourceArn sets the ResourceArn field's value.
 10852  func (s *AssociateWebACLInput) SetResourceArn(v string) *AssociateWebACLInput {
 10853  	s.ResourceArn = &v
 10854  	return s
 10855  }
 10856  
 10857  // SetWebACLId sets the WebACLId field's value.
 10858  func (s *AssociateWebACLInput) SetWebACLId(v string) *AssociateWebACLInput {
 10859  	s.WebACLId = &v
 10860  	return s
 10861  }
 10862  
 10863  type AssociateWebACLOutput struct {
 10864  	_ struct{} `type:"structure"`
 10865  }
 10866  
 10867  // String returns the string representation.
 10868  //
 10869  // API parameter values that are decorated as "sensitive" in the API will not
 10870  // be included in the string output. The member name will be present, but the
 10871  // value will be replaced with "sensitive".
 10872  func (s AssociateWebACLOutput) String() string {
 10873  	return awsutil.Prettify(s)
 10874  }
 10875  
 10876  // GoString returns the string representation.
 10877  //
 10878  // API parameter values that are decorated as "sensitive" in the API will not
 10879  // be included in the string output. The member name will be present, but the
 10880  // value will be replaced with "sensitive".
 10881  func (s AssociateWebACLOutput) GoString() string {
 10882  	return s.String()
 10883  }
 10884  
 10885  type DisassociateWebACLInput struct {
 10886  	_ struct{} `type:"structure"`
 10887  
 10888  	// The ARN (Amazon Resource Name) of the resource from which the web ACL is
 10889  	// being removed, either an application load balancer or Amazon API Gateway
 10890  	// stage.
 10891  	//
 10892  	// The ARN should be in one of the following formats:
 10893  	//
 10894  	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
 10895  	//
 10896  	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
 10897  	//
 10898  	// ResourceArn is a required field
 10899  	ResourceArn *string `min:"1" type:"string" required:"true"`
 10900  }
 10901  
 10902  // String returns the string representation.
 10903  //
 10904  // API parameter values that are decorated as "sensitive" in the API will not
 10905  // be included in the string output. The member name will be present, but the
 10906  // value will be replaced with "sensitive".
 10907  func (s DisassociateWebACLInput) String() string {
 10908  	return awsutil.Prettify(s)
 10909  }
 10910  
 10911  // GoString returns the string representation.
 10912  //
 10913  // API parameter values that are decorated as "sensitive" in the API will not
 10914  // be included in the string output. The member name will be present, but the
 10915  // value will be replaced with "sensitive".
 10916  func (s DisassociateWebACLInput) GoString() string {
 10917  	return s.String()
 10918  }
 10919  
 10920  // Validate inspects the fields of the type to determine if they are valid.
 10921  func (s *DisassociateWebACLInput) Validate() error {
 10922  	invalidParams := request.ErrInvalidParams{Context: "DisassociateWebACLInput"}
 10923  	if s.ResourceArn == nil {
 10924  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10925  	}
 10926  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10927  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10928  	}
 10929  
 10930  	if invalidParams.Len() > 0 {
 10931  		return invalidParams
 10932  	}
 10933  	return nil
 10934  }
 10935  
 10936  // SetResourceArn sets the ResourceArn field's value.
 10937  func (s *DisassociateWebACLInput) SetResourceArn(v string) *DisassociateWebACLInput {
 10938  	s.ResourceArn = &v
 10939  	return s
 10940  }
 10941  
 10942  type DisassociateWebACLOutput struct {
 10943  	_ struct{} `type:"structure"`
 10944  }
 10945  
 10946  // String returns the string representation.
 10947  //
 10948  // API parameter values that are decorated as "sensitive" in the API will not
 10949  // be included in the string output. The member name will be present, but the
 10950  // value will be replaced with "sensitive".
 10951  func (s DisassociateWebACLOutput) String() string {
 10952  	return awsutil.Prettify(s)
 10953  }
 10954  
 10955  // GoString returns the string representation.
 10956  //
 10957  // API parameter values that are decorated as "sensitive" in the API will not
 10958  // be included in the string output. The member name will be present, but the
 10959  // value will be replaced with "sensitive".
 10960  func (s DisassociateWebACLOutput) GoString() string {
 10961  	return s.String()
 10962  }
 10963  
 10964  type GetWebACLForResourceInput struct {
 10965  	_ struct{} `type:"structure"`
 10966  
 10967  	// The ARN (Amazon Resource Name) of the resource for which to get the web ACL,
 10968  	// either an application load balancer or Amazon API Gateway stage.
 10969  	//
 10970  	// The ARN should be in one of the following formats:
 10971  	//
 10972  	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
 10973  	//
 10974  	//    * For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name
 10975  	//
 10976  	// ResourceArn is a required field
 10977  	ResourceArn *string `min:"1" type:"string" required:"true"`
 10978  }
 10979  
 10980  // String returns the string representation.
 10981  //
 10982  // API parameter values that are decorated as "sensitive" in the API will not
 10983  // be included in the string output. The member name will be present, but the
 10984  // value will be replaced with "sensitive".
 10985  func (s GetWebACLForResourceInput) String() string {
 10986  	return awsutil.Prettify(s)
 10987  }
 10988  
 10989  // GoString returns the string representation.
 10990  //
 10991  // API parameter values that are decorated as "sensitive" in the API will not
 10992  // be included in the string output. The member name will be present, but the
 10993  // value will be replaced with "sensitive".
 10994  func (s GetWebACLForResourceInput) GoString() string {
 10995  	return s.String()
 10996  }
 10997  
 10998  // Validate inspects the fields of the type to determine if they are valid.
 10999  func (s *GetWebACLForResourceInput) Validate() error {
 11000  	invalidParams := request.ErrInvalidParams{Context: "GetWebACLForResourceInput"}
 11001  	if s.ResourceArn == nil {
 11002  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11003  	}
 11004  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 11005  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 11006  	}
 11007  
 11008  	if invalidParams.Len() > 0 {
 11009  		return invalidParams
 11010  	}
 11011  	return nil
 11012  }
 11013  
 11014  // SetResourceArn sets the ResourceArn field's value.
 11015  func (s *GetWebACLForResourceInput) SetResourceArn(v string) *GetWebACLForResourceInput {
 11016  	s.ResourceArn = &v
 11017  	return s
 11018  }
 11019  
 11020  type GetWebACLForResourceOutput struct {
 11021  	_ struct{} `type:"structure"`
 11022  
 11023  	// Information about the web ACL that you specified in the GetWebACLForResource
 11024  	// request. If there is no associated resource, a null WebACLSummary is returned.
 11025  	WebACLSummary *waf.WebACLSummary `type:"structure"`
 11026  }
 11027  
 11028  // String returns the string representation.
 11029  //
 11030  // API parameter values that are decorated as "sensitive" in the API will not
 11031  // be included in the string output. The member name will be present, but the
 11032  // value will be replaced with "sensitive".
 11033  func (s GetWebACLForResourceOutput) String() string {
 11034  	return awsutil.Prettify(s)
 11035  }
 11036  
 11037  // GoString returns the string representation.
 11038  //
 11039  // API parameter values that are decorated as "sensitive" in the API will not
 11040  // be included in the string output. The member name will be present, but the
 11041  // value will be replaced with "sensitive".
 11042  func (s GetWebACLForResourceOutput) GoString() string {
 11043  	return s.String()
 11044  }
 11045  
 11046  // SetWebACLSummary sets the WebACLSummary field's value.
 11047  func (s *GetWebACLForResourceOutput) SetWebACLSummary(v *waf.WebACLSummary) *GetWebACLForResourceOutput {
 11048  	s.WebACLSummary = v
 11049  	return s
 11050  }
 11051  
 11052  type ListResourcesForWebACLInput struct {
 11053  	_ struct{} `type:"structure"`
 11054  
 11055  	// The type of resource to list, either an application load balancer or Amazon
 11056  	// API Gateway.
 11057  	ResourceType *string `type:"string" enum:"ResourceType"`
 11058  
 11059  	// The unique identifier (ID) of the web ACL for which to list the associated
 11060  	// resources.
 11061  	//
 11062  	// WebACLId is a required field
 11063  	WebACLId *string `min:"1" type:"string" required:"true"`
 11064  }
 11065  
 11066  // String returns the string representation.
 11067  //
 11068  // API parameter values that are decorated as "sensitive" in the API will not
 11069  // be included in the string output. The member name will be present, but the
 11070  // value will be replaced with "sensitive".
 11071  func (s ListResourcesForWebACLInput) String() string {
 11072  	return awsutil.Prettify(s)
 11073  }
 11074  
 11075  // GoString returns the string representation.
 11076  //
 11077  // API parameter values that are decorated as "sensitive" in the API will not
 11078  // be included in the string output. The member name will be present, but the
 11079  // value will be replaced with "sensitive".
 11080  func (s ListResourcesForWebACLInput) GoString() string {
 11081  	return s.String()
 11082  }
 11083  
 11084  // Validate inspects the fields of the type to determine if they are valid.
 11085  func (s *ListResourcesForWebACLInput) Validate() error {
 11086  	invalidParams := request.ErrInvalidParams{Context: "ListResourcesForWebACLInput"}
 11087  	if s.WebACLId == nil {
 11088  		invalidParams.Add(request.NewErrParamRequired("WebACLId"))
 11089  	}
 11090  	if s.WebACLId != nil && len(*s.WebACLId) < 1 {
 11091  		invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1))
 11092  	}
 11093  
 11094  	if invalidParams.Len() > 0 {
 11095  		return invalidParams
 11096  	}
 11097  	return nil
 11098  }
 11099  
 11100  // SetResourceType sets the ResourceType field's value.
 11101  func (s *ListResourcesForWebACLInput) SetResourceType(v string) *ListResourcesForWebACLInput {
 11102  	s.ResourceType = &v
 11103  	return s
 11104  }
 11105  
 11106  // SetWebACLId sets the WebACLId field's value.
 11107  func (s *ListResourcesForWebACLInput) SetWebACLId(v string) *ListResourcesForWebACLInput {
 11108  	s.WebACLId = &v
 11109  	return s
 11110  }
 11111  
 11112  type ListResourcesForWebACLOutput struct {
 11113  	_ struct{} `type:"structure"`
 11114  
 11115  	// An array of ARNs (Amazon Resource Names) of the resources associated with
 11116  	// the specified web ACL. An array with zero elements is returned if there are
 11117  	// no resources associated with the web ACL.
 11118  	ResourceArns []*string `type:"list"`
 11119  }
 11120  
 11121  // String returns the string representation.
 11122  //
 11123  // API parameter values that are decorated as "sensitive" in the API will not
 11124  // be included in the string output. The member name will be present, but the
 11125  // value will be replaced with "sensitive".
 11126  func (s ListResourcesForWebACLOutput) String() string {
 11127  	return awsutil.Prettify(s)
 11128  }
 11129  
 11130  // GoString returns the string representation.
 11131  //
 11132  // API parameter values that are decorated as "sensitive" in the API will not
 11133  // be included in the string output. The member name will be present, but the
 11134  // value will be replaced with "sensitive".
 11135  func (s ListResourcesForWebACLOutput) GoString() string {
 11136  	return s.String()
 11137  }
 11138  
 11139  // SetResourceArns sets the ResourceArns field's value.
 11140  func (s *ListResourcesForWebACLOutput) SetResourceArns(v []*string) *ListResourcesForWebACLOutput {
 11141  	s.ResourceArns = v
 11142  	return s
 11143  }
 11144  
 11145  type WAFBadRequestException struct {
 11146  	_            struct{}                  `type:"structure"`
 11147  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11148  
 11149  	Message_ *string `locationName:"message" type:"string"`
 11150  }
 11151  
 11152  // String returns the string representation.
 11153  //
 11154  // API parameter values that are decorated as "sensitive" in the API will not
 11155  // be included in the string output. The member name will be present, but the
 11156  // value will be replaced with "sensitive".
 11157  func (s WAFBadRequestException) String() string {
 11158  	return awsutil.Prettify(s)
 11159  }
 11160  
 11161  // GoString returns the string representation.
 11162  //
 11163  // API parameter values that are decorated as "sensitive" in the API will not
 11164  // be included in the string output. The member name will be present, but the
 11165  // value will be replaced with "sensitive".
 11166  func (s WAFBadRequestException) GoString() string {
 11167  	return s.String()
 11168  }
 11169  
 11170  func newErrorWAFBadRequestException(v protocol.ResponseMetadata) error {
 11171  	return &WAFBadRequestException{
 11172  		RespMetadata: v,
 11173  	}
 11174  }
 11175  
 11176  // Code returns the exception type name.
 11177  func (s *WAFBadRequestException) Code() string {
 11178  	return "WAFBadRequestException"
 11179  }
 11180  
 11181  // Message returns the exception's message.
 11182  func (s *WAFBadRequestException) Message() string {
 11183  	if s.Message_ != nil {
 11184  		return *s.Message_
 11185  	}
 11186  	return ""
 11187  }
 11188  
 11189  // OrigErr always returns nil, satisfies awserr.Error interface.
 11190  func (s *WAFBadRequestException) OrigErr() error {
 11191  	return nil
 11192  }
 11193  
 11194  func (s *WAFBadRequestException) Error() string {
 11195  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11196  }
 11197  
 11198  // Status code returns the HTTP status code for the request's response error.
 11199  func (s *WAFBadRequestException) StatusCode() int {
 11200  	return s.RespMetadata.StatusCode
 11201  }
 11202  
 11203  // RequestID returns the service's response RequestID for request.
 11204  func (s *WAFBadRequestException) RequestID() string {
 11205  	return s.RespMetadata.RequestID
 11206  }
 11207  
 11208  // The name specified is invalid.
 11209  type WAFDisallowedNameException struct {
 11210  	_            struct{}                  `type:"structure"`
 11211  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11212  
 11213  	Message_ *string `locationName:"message" type:"string"`
 11214  }
 11215  
 11216  // String returns the string representation.
 11217  //
 11218  // API parameter values that are decorated as "sensitive" in the API will not
 11219  // be included in the string output. The member name will be present, but the
 11220  // value will be replaced with "sensitive".
 11221  func (s WAFDisallowedNameException) String() string {
 11222  	return awsutil.Prettify(s)
 11223  }
 11224  
 11225  // GoString returns the string representation.
 11226  //
 11227  // API parameter values that are decorated as "sensitive" in the API will not
 11228  // be included in the string output. The member name will be present, but the
 11229  // value will be replaced with "sensitive".
 11230  func (s WAFDisallowedNameException) GoString() string {
 11231  	return s.String()
 11232  }
 11233  
 11234  func newErrorWAFDisallowedNameException(v protocol.ResponseMetadata) error {
 11235  	return &WAFDisallowedNameException{
 11236  		RespMetadata: v,
 11237  	}
 11238  }
 11239  
 11240  // Code returns the exception type name.
 11241  func (s *WAFDisallowedNameException) Code() string {
 11242  	return "WAFDisallowedNameException"
 11243  }
 11244  
 11245  // Message returns the exception's message.
 11246  func (s *WAFDisallowedNameException) Message() string {
 11247  	if s.Message_ != nil {
 11248  		return *s.Message_
 11249  	}
 11250  	return ""
 11251  }
 11252  
 11253  // OrigErr always returns nil, satisfies awserr.Error interface.
 11254  func (s *WAFDisallowedNameException) OrigErr() error {
 11255  	return nil
 11256  }
 11257  
 11258  func (s *WAFDisallowedNameException) Error() string {
 11259  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11260  }
 11261  
 11262  // Status code returns the HTTP status code for the request's response error.
 11263  func (s *WAFDisallowedNameException) StatusCode() int {
 11264  	return s.RespMetadata.StatusCode
 11265  }
 11266  
 11267  // RequestID returns the service's response RequestID for request.
 11268  func (s *WAFDisallowedNameException) RequestID() string {
 11269  	return s.RespMetadata.RequestID
 11270  }
 11271  
 11272  // The operation failed due to a problem with the migration. The failure cause
 11273  // is provided in the exception, in the MigrationErrorType:
 11274  //
 11275  //    * ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the
 11276  //    IgnoreUnsupportedType is not set to true.
 11277  //
 11278  //    * ENTITY_NOT_FOUND - The web ACL doesn't exist.
 11279  //
 11280  //    * S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject
 11281  //    action to the specified Amazon S3 bucket.
 11282  //
 11283  //    * S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to
 11284  //    perform the PutObject action in the bucket.
 11285  //
 11286  //    * S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.
 11287  //
 11288  //    * S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as
 11289  //    the web ACL.
 11290  //
 11291  //    * S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3
 11292  //    bucket for another reason.
 11293  type WAFEntityMigrationException struct {
 11294  	_            struct{}                  `type:"structure"`
 11295  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11296  
 11297  	Message_ *string `locationName:"message" type:"string"`
 11298  
 11299  	MigrationErrorReason *string `type:"string"`
 11300  
 11301  	MigrationErrorType *string `type:"string" enum:"MigrationErrorType"`
 11302  }
 11303  
 11304  // String returns the string representation.
 11305  //
 11306  // API parameter values that are decorated as "sensitive" in the API will not
 11307  // be included in the string output. The member name will be present, but the
 11308  // value will be replaced with "sensitive".
 11309  func (s WAFEntityMigrationException) String() string {
 11310  	return awsutil.Prettify(s)
 11311  }
 11312  
 11313  // GoString returns the string representation.
 11314  //
 11315  // API parameter values that are decorated as "sensitive" in the API will not
 11316  // be included in the string output. The member name will be present, but the
 11317  // value will be replaced with "sensitive".
 11318  func (s WAFEntityMigrationException) GoString() string {
 11319  	return s.String()
 11320  }
 11321  
 11322  func newErrorWAFEntityMigrationException(v protocol.ResponseMetadata) error {
 11323  	return &WAFEntityMigrationException{
 11324  		RespMetadata: v,
 11325  	}
 11326  }
 11327  
 11328  // Code returns the exception type name.
 11329  func (s *WAFEntityMigrationException) Code() string {
 11330  	return "WAFEntityMigrationException"
 11331  }
 11332  
 11333  // Message returns the exception's message.
 11334  func (s *WAFEntityMigrationException) Message() string {
 11335  	if s.Message_ != nil {
 11336  		return *s.Message_
 11337  	}
 11338  	return ""
 11339  }
 11340  
 11341  // OrigErr always returns nil, satisfies awserr.Error interface.
 11342  func (s *WAFEntityMigrationException) OrigErr() error {
 11343  	return nil
 11344  }
 11345  
 11346  func (s *WAFEntityMigrationException) Error() string {
 11347  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11348  }
 11349  
 11350  // Status code returns the HTTP status code for the request's response error.
 11351  func (s *WAFEntityMigrationException) StatusCode() int {
 11352  	return s.RespMetadata.StatusCode
 11353  }
 11354  
 11355  // RequestID returns the service's response RequestID for request.
 11356  func (s *WAFEntityMigrationException) RequestID() string {
 11357  	return s.RespMetadata.RequestID
 11358  }
 11359  
 11360  // The operation failed because of a system problem, even though the request
 11361  // was valid. Retry your request.
 11362  type WAFInternalErrorException struct {
 11363  	_            struct{}                  `type:"structure"`
 11364  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11365  
 11366  	Message_ *string `locationName:"message" type:"string"`
 11367  }
 11368  
 11369  // String returns the string representation.
 11370  //
 11371  // API parameter values that are decorated as "sensitive" in the API will not
 11372  // be included in the string output. The member name will be present, but the
 11373  // value will be replaced with "sensitive".
 11374  func (s WAFInternalErrorException) String() string {
 11375  	return awsutil.Prettify(s)
 11376  }
 11377  
 11378  // GoString returns the string representation.
 11379  //
 11380  // API parameter values that are decorated as "sensitive" in the API will not
 11381  // be included in the string output. The member name will be present, but the
 11382  // value will be replaced with "sensitive".
 11383  func (s WAFInternalErrorException) GoString() string {
 11384  	return s.String()
 11385  }
 11386  
 11387  func newErrorWAFInternalErrorException(v protocol.ResponseMetadata) error {
 11388  	return &WAFInternalErrorException{
 11389  		RespMetadata: v,
 11390  	}
 11391  }
 11392  
 11393  // Code returns the exception type name.
 11394  func (s *WAFInternalErrorException) Code() string {
 11395  	return "WAFInternalErrorException"
 11396  }
 11397  
 11398  // Message returns the exception's message.
 11399  func (s *WAFInternalErrorException) Message() string {
 11400  	if s.Message_ != nil {
 11401  		return *s.Message_
 11402  	}
 11403  	return ""
 11404  }
 11405  
 11406  // OrigErr always returns nil, satisfies awserr.Error interface.
 11407  func (s *WAFInternalErrorException) OrigErr() error {
 11408  	return nil
 11409  }
 11410  
 11411  func (s *WAFInternalErrorException) Error() string {
 11412  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11413  }
 11414  
 11415  // Status code returns the HTTP status code for the request's response error.
 11416  func (s *WAFInternalErrorException) StatusCode() int {
 11417  	return s.RespMetadata.StatusCode
 11418  }
 11419  
 11420  // RequestID returns the service's response RequestID for request.
 11421  func (s *WAFInternalErrorException) RequestID() string {
 11422  	return s.RespMetadata.RequestID
 11423  }
 11424  
 11425  // The operation failed because you tried to create, update, or delete an object
 11426  // by using an invalid account identifier.
 11427  type WAFInvalidAccountException struct {
 11428  	_            struct{}                  `type:"structure"`
 11429  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11430  
 11431  	Message_ *string `locationName:"message" type:"string"`
 11432  }
 11433  
 11434  // String returns the string representation.
 11435  //
 11436  // API parameter values that are decorated as "sensitive" in the API will not
 11437  // be included in the string output. The member name will be present, but the
 11438  // value will be replaced with "sensitive".
 11439  func (s WAFInvalidAccountException) String() string {
 11440  	return awsutil.Prettify(s)
 11441  }
 11442  
 11443  // GoString returns the string representation.
 11444  //
 11445  // API parameter values that are decorated as "sensitive" in the API will not
 11446  // be included in the string output. The member name will be present, but the
 11447  // value will be replaced with "sensitive".
 11448  func (s WAFInvalidAccountException) GoString() string {
 11449  	return s.String()
 11450  }
 11451  
 11452  func newErrorWAFInvalidAccountException(v protocol.ResponseMetadata) error {
 11453  	return &WAFInvalidAccountException{
 11454  		RespMetadata: v,
 11455  	}
 11456  }
 11457  
 11458  // Code returns the exception type name.
 11459  func (s *WAFInvalidAccountException) Code() string {
 11460  	return "WAFInvalidAccountException"
 11461  }
 11462  
 11463  // Message returns the exception's message.
 11464  func (s *WAFInvalidAccountException) Message() string {
 11465  	if s.Message_ != nil {
 11466  		return *s.Message_
 11467  	}
 11468  	return ""
 11469  }
 11470  
 11471  // OrigErr always returns nil, satisfies awserr.Error interface.
 11472  func (s *WAFInvalidAccountException) OrigErr() error {
 11473  	return nil
 11474  }
 11475  
 11476  func (s *WAFInvalidAccountException) Error() string {
 11477  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11478  }
 11479  
 11480  // Status code returns the HTTP status code for the request's response error.
 11481  func (s *WAFInvalidAccountException) StatusCode() int {
 11482  	return s.RespMetadata.StatusCode
 11483  }
 11484  
 11485  // RequestID returns the service's response RequestID for request.
 11486  func (s *WAFInvalidAccountException) RequestID() string {
 11487  	return s.RespMetadata.RequestID
 11488  }
 11489  
 11490  // The operation failed because there was nothing to do. For example:
 11491  //
 11492  //    * You tried to remove a Rule from a WebACL, but the Rule isn't in the
 11493  //    specified WebACL.
 11494  //
 11495  //    * You tried to remove an IP address from an IPSet, but the IP address
 11496  //    isn't in the specified IPSet.
 11497  //
 11498  //    * You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple
 11499  //    isn't in the specified WebACL.
 11500  //
 11501  //    * You tried to add a Rule to a WebACL, but the Rule already exists in
 11502  //    the specified WebACL.
 11503  //
 11504  //    * You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple
 11505  //    already exists in the specified WebACL.
 11506  type WAFInvalidOperationException struct {
 11507  	_            struct{}                  `type:"structure"`
 11508  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11509  
 11510  	Message_ *string `locationName:"message" type:"string"`
 11511  }
 11512  
 11513  // String returns the string representation.
 11514  //
 11515  // API parameter values that are decorated as "sensitive" in the API will not
 11516  // be included in the string output. The member name will be present, but the
 11517  // value will be replaced with "sensitive".
 11518  func (s WAFInvalidOperationException) String() string {
 11519  	return awsutil.Prettify(s)
 11520  }
 11521  
 11522  // GoString returns the string representation.
 11523  //
 11524  // API parameter values that are decorated as "sensitive" in the API will not
 11525  // be included in the string output. The member name will be present, but the
 11526  // value will be replaced with "sensitive".
 11527  func (s WAFInvalidOperationException) GoString() string {
 11528  	return s.String()
 11529  }
 11530  
 11531  func newErrorWAFInvalidOperationException(v protocol.ResponseMetadata) error {
 11532  	return &WAFInvalidOperationException{
 11533  		RespMetadata: v,
 11534  	}
 11535  }
 11536  
 11537  // Code returns the exception type name.
 11538  func (s *WAFInvalidOperationException) Code() string {
 11539  	return "WAFInvalidOperationException"
 11540  }
 11541  
 11542  // Message returns the exception's message.
 11543  func (s *WAFInvalidOperationException) Message() string {
 11544  	if s.Message_ != nil {
 11545  		return *s.Message_
 11546  	}
 11547  	return ""
 11548  }
 11549  
 11550  // OrigErr always returns nil, satisfies awserr.Error interface.
 11551  func (s *WAFInvalidOperationException) OrigErr() error {
 11552  	return nil
 11553  }
 11554  
 11555  func (s *WAFInvalidOperationException) Error() string {
 11556  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11557  }
 11558  
 11559  // Status code returns the HTTP status code for the request's response error.
 11560  func (s *WAFInvalidOperationException) StatusCode() int {
 11561  	return s.RespMetadata.StatusCode
 11562  }
 11563  
 11564  // RequestID returns the service's response RequestID for request.
 11565  func (s *WAFInvalidOperationException) RequestID() string {
 11566  	return s.RespMetadata.RequestID
 11567  }
 11568  
 11569  // The operation failed because AWS WAF didn't recognize a parameter in the
 11570  // request. For example:
 11571  //
 11572  //    * You specified an invalid parameter name.
 11573  //
 11574  //    * You specified an invalid value.
 11575  //
 11576  //    * You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL)
 11577  //    using an action other than INSERT or DELETE.
 11578  //
 11579  //    * You tried to create a WebACL with a DefaultAction Type other than ALLOW,
 11580  //    BLOCK, or COUNT.
 11581  //
 11582  //    * You tried to create a RateBasedRule with a RateKey value other than
 11583  //    IP.
 11584  //
 11585  //    * You tried to update a WebACL with a WafAction Type other than ALLOW,
 11586  //    BLOCK, or COUNT.
 11587  //
 11588  //    * You tried to update a ByteMatchSet with a FieldToMatch Type other than
 11589  //    HEADER, METHOD, QUERY_STRING, URI, or BODY.
 11590  //
 11591  //    * You tried to update a ByteMatchSet with a Field of HEADER but no value
 11592  //    for Data.
 11593  //
 11594  //    * Your request references an ARN that is malformed, or corresponds to
 11595  //    a resource with which a web ACL cannot be associated.
 11596  type WAFInvalidParameterException struct {
 11597  	_            struct{}                  `type:"structure"`
 11598  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11599  
 11600  	Field *string `locationName:"field" type:"string" enum:"ParameterExceptionField"`
 11601  
 11602  	Message_ *string `locationName:"message" type:"string"`
 11603  
 11604  	Parameter *string `locationName:"parameter" min:"1" type:"string"`
 11605  
 11606  	Reason *string `locationName:"reason" type:"string" enum:"ParameterExceptionReason"`
 11607  }
 11608  
 11609  // String returns the string representation.
 11610  //
 11611  // API parameter values that are decorated as "sensitive" in the API will not
 11612  // be included in the string output. The member name will be present, but the
 11613  // value will be replaced with "sensitive".
 11614  func (s WAFInvalidParameterException) String() string {
 11615  	return awsutil.Prettify(s)
 11616  }
 11617  
 11618  // GoString returns the string representation.
 11619  //
 11620  // API parameter values that are decorated as "sensitive" in the API will not
 11621  // be included in the string output. The member name will be present, but the
 11622  // value will be replaced with "sensitive".
 11623  func (s WAFInvalidParameterException) GoString() string {
 11624  	return s.String()
 11625  }
 11626  
 11627  func newErrorWAFInvalidParameterException(v protocol.ResponseMetadata) error {
 11628  	return &WAFInvalidParameterException{
 11629  		RespMetadata: v,
 11630  	}
 11631  }
 11632  
 11633  // Code returns the exception type name.
 11634  func (s *WAFInvalidParameterException) Code() string {
 11635  	return "WAFInvalidParameterException"
 11636  }
 11637  
 11638  // Message returns the exception's message.
 11639  func (s *WAFInvalidParameterException) Message() string {
 11640  	if s.Message_ != nil {
 11641  		return *s.Message_
 11642  	}
 11643  	return ""
 11644  }
 11645  
 11646  // OrigErr always returns nil, satisfies awserr.Error interface.
 11647  func (s *WAFInvalidParameterException) OrigErr() error {
 11648  	return nil
 11649  }
 11650  
 11651  func (s *WAFInvalidParameterException) Error() string {
 11652  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11653  }
 11654  
 11655  // Status code returns the HTTP status code for the request's response error.
 11656  func (s *WAFInvalidParameterException) StatusCode() int {
 11657  	return s.RespMetadata.StatusCode
 11658  }
 11659  
 11660  // RequestID returns the service's response RequestID for request.
 11661  func (s *WAFInvalidParameterException) RequestID() string {
 11662  	return s.RespMetadata.RequestID
 11663  }
 11664  
 11665  // The operation failed because the specified policy is not in the proper format.
 11666  //
 11667  // The policy is subject to the following restrictions:
 11668  //
 11669  //    * You can attach only one policy with each PutPermissionPolicy request.
 11670  //
 11671  //    * The policy must include an Effect, Action and Principal.
 11672  //
 11673  //    * Effect must specify Allow.
 11674  //
 11675  //    * The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL,
 11676  //    waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard
 11677  //    actions in the policy will be rejected.
 11678  //
 11679  //    * The policy cannot include a Resource parameter.
 11680  //
 11681  //    * The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup
 11682  //    must exist in the same region.
 11683  //
 11684  //    * The user making the request must be the owner of the RuleGroup.
 11685  //
 11686  //    * Your policy must be composed using IAM Policy version 2012-10-17.
 11687  type WAFInvalidPermissionPolicyException struct {
 11688  	_            struct{}                  `type:"structure"`
 11689  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11690  
 11691  	Message_ *string `locationName:"message" type:"string"`
 11692  }
 11693  
 11694  // String returns the string representation.
 11695  //
 11696  // API parameter values that are decorated as "sensitive" in the API will not
 11697  // be included in the string output. The member name will be present, but the
 11698  // value will be replaced with "sensitive".
 11699  func (s WAFInvalidPermissionPolicyException) String() string {
 11700  	return awsutil.Prettify(s)
 11701  }
 11702  
 11703  // GoString returns the string representation.
 11704  //
 11705  // API parameter values that are decorated as "sensitive" in the API will not
 11706  // be included in the string output. The member name will be present, but the
 11707  // value will be replaced with "sensitive".
 11708  func (s WAFInvalidPermissionPolicyException) GoString() string {
 11709  	return s.String()
 11710  }
 11711  
 11712  func newErrorWAFInvalidPermissionPolicyException(v protocol.ResponseMetadata) error {
 11713  	return &WAFInvalidPermissionPolicyException{
 11714  		RespMetadata: v,
 11715  	}
 11716  }
 11717  
 11718  // Code returns the exception type name.
 11719  func (s *WAFInvalidPermissionPolicyException) Code() string {
 11720  	return "WAFInvalidPermissionPolicyException"
 11721  }
 11722  
 11723  // Message returns the exception's message.
 11724  func (s *WAFInvalidPermissionPolicyException) Message() string {
 11725  	if s.Message_ != nil {
 11726  		return *s.Message_
 11727  	}
 11728  	return ""
 11729  }
 11730  
 11731  // OrigErr always returns nil, satisfies awserr.Error interface.
 11732  func (s *WAFInvalidPermissionPolicyException) OrigErr() error {
 11733  	return nil
 11734  }
 11735  
 11736  func (s *WAFInvalidPermissionPolicyException) Error() string {
 11737  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11738  }
 11739  
 11740  // Status code returns the HTTP status code for the request's response error.
 11741  func (s *WAFInvalidPermissionPolicyException) StatusCode() int {
 11742  	return s.RespMetadata.StatusCode
 11743  }
 11744  
 11745  // RequestID returns the service's response RequestID for request.
 11746  func (s *WAFInvalidPermissionPolicyException) RequestID() string {
 11747  	return s.RespMetadata.RequestID
 11748  }
 11749  
 11750  // The regular expression (regex) you specified in RegexPatternString is invalid.
 11751  type WAFInvalidRegexPatternException struct {
 11752  	_            struct{}                  `type:"structure"`
 11753  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11754  
 11755  	Message_ *string `locationName:"message" type:"string"`
 11756  }
 11757  
 11758  // String returns the string representation.
 11759  //
 11760  // API parameter values that are decorated as "sensitive" in the API will not
 11761  // be included in the string output. The member name will be present, but the
 11762  // value will be replaced with "sensitive".
 11763  func (s WAFInvalidRegexPatternException) String() string {
 11764  	return awsutil.Prettify(s)
 11765  }
 11766  
 11767  // GoString returns the string representation.
 11768  //
 11769  // API parameter values that are decorated as "sensitive" in the API will not
 11770  // be included in the string output. The member name will be present, but the
 11771  // value will be replaced with "sensitive".
 11772  func (s WAFInvalidRegexPatternException) GoString() string {
 11773  	return s.String()
 11774  }
 11775  
 11776  func newErrorWAFInvalidRegexPatternException(v protocol.ResponseMetadata) error {
 11777  	return &WAFInvalidRegexPatternException{
 11778  		RespMetadata: v,
 11779  	}
 11780  }
 11781  
 11782  // Code returns the exception type name.
 11783  func (s *WAFInvalidRegexPatternException) Code() string {
 11784  	return "WAFInvalidRegexPatternException"
 11785  }
 11786  
 11787  // Message returns the exception's message.
 11788  func (s *WAFInvalidRegexPatternException) Message() string {
 11789  	if s.Message_ != nil {
 11790  		return *s.Message_
 11791  	}
 11792  	return ""
 11793  }
 11794  
 11795  // OrigErr always returns nil, satisfies awserr.Error interface.
 11796  func (s *WAFInvalidRegexPatternException) OrigErr() error {
 11797  	return nil
 11798  }
 11799  
 11800  func (s *WAFInvalidRegexPatternException) Error() string {
 11801  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11802  }
 11803  
 11804  // Status code returns the HTTP status code for the request's response error.
 11805  func (s *WAFInvalidRegexPatternException) StatusCode() int {
 11806  	return s.RespMetadata.StatusCode
 11807  }
 11808  
 11809  // RequestID returns the service's response RequestID for request.
 11810  func (s *WAFInvalidRegexPatternException) RequestID() string {
 11811  	return s.RespMetadata.RequestID
 11812  }
 11813  
 11814  // The operation exceeds a resource limit, for example, the maximum number of
 11815  // WebACL objects that you can create for an AWS account. For more information,
 11816  // see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
 11817  // in the AWS WAF Developer Guide.
 11818  type WAFLimitsExceededException struct {
 11819  	_            struct{}                  `type:"structure"`
 11820  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11821  
 11822  	Message_ *string `locationName:"message" type:"string"`
 11823  }
 11824  
 11825  // String returns the string representation.
 11826  //
 11827  // API parameter values that are decorated as "sensitive" in the API will not
 11828  // be included in the string output. The member name will be present, but the
 11829  // value will be replaced with "sensitive".
 11830  func (s WAFLimitsExceededException) String() string {
 11831  	return awsutil.Prettify(s)
 11832  }
 11833  
 11834  // GoString returns the string representation.
 11835  //
 11836  // API parameter values that are decorated as "sensitive" in the API will not
 11837  // be included in the string output. The member name will be present, but the
 11838  // value will be replaced with "sensitive".
 11839  func (s WAFLimitsExceededException) GoString() string {
 11840  	return s.String()
 11841  }
 11842  
 11843  func newErrorWAFLimitsExceededException(v protocol.ResponseMetadata) error {
 11844  	return &WAFLimitsExceededException{
 11845  		RespMetadata: v,
 11846  	}
 11847  }
 11848  
 11849  // Code returns the exception type name.
 11850  func (s *WAFLimitsExceededException) Code() string {
 11851  	return "WAFLimitsExceededException"
 11852  }
 11853  
 11854  // Message returns the exception's message.
 11855  func (s *WAFLimitsExceededException) Message() string {
 11856  	if s.Message_ != nil {
 11857  		return *s.Message_
 11858  	}
 11859  	return ""
 11860  }
 11861  
 11862  // OrigErr always returns nil, satisfies awserr.Error interface.
 11863  func (s *WAFLimitsExceededException) OrigErr() error {
 11864  	return nil
 11865  }
 11866  
 11867  func (s *WAFLimitsExceededException) Error() string {
 11868  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11869  }
 11870  
 11871  // Status code returns the HTTP status code for the request's response error.
 11872  func (s *WAFLimitsExceededException) StatusCode() int {
 11873  	return s.RespMetadata.StatusCode
 11874  }
 11875  
 11876  // RequestID returns the service's response RequestID for request.
 11877  func (s *WAFLimitsExceededException) RequestID() string {
 11878  	return s.RespMetadata.RequestID
 11879  }
 11880  
 11881  // The operation failed because you tried to delete an object that isn't empty.
 11882  // For example:
 11883  //
 11884  //    * You tried to delete a WebACL that still contains one or more Rule objects.
 11885  //
 11886  //    * You tried to delete a Rule that still contains one or more ByteMatchSet
 11887  //    objects or other predicates.
 11888  //
 11889  //    * You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple
 11890  //    objects.
 11891  //
 11892  //    * You tried to delete an IPSet that references one or more IP addresses.
 11893  type WAFNonEmptyEntityException struct {
 11894  	_            struct{}                  `type:"structure"`
 11895  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11896  
 11897  	Message_ *string `locationName:"message" type:"string"`
 11898  }
 11899  
 11900  // String returns the string representation.
 11901  //
 11902  // API parameter values that are decorated as "sensitive" in the API will not
 11903  // be included in the string output. The member name will be present, but the
 11904  // value will be replaced with "sensitive".
 11905  func (s WAFNonEmptyEntityException) String() string {
 11906  	return awsutil.Prettify(s)
 11907  }
 11908  
 11909  // GoString returns the string representation.
 11910  //
 11911  // API parameter values that are decorated as "sensitive" in the API will not
 11912  // be included in the string output. The member name will be present, but the
 11913  // value will be replaced with "sensitive".
 11914  func (s WAFNonEmptyEntityException) GoString() string {
 11915  	return s.String()
 11916  }
 11917  
 11918  func newErrorWAFNonEmptyEntityException(v protocol.ResponseMetadata) error {
 11919  	return &WAFNonEmptyEntityException{
 11920  		RespMetadata: v,
 11921  	}
 11922  }
 11923  
 11924  // Code returns the exception type name.
 11925  func (s *WAFNonEmptyEntityException) Code() string {
 11926  	return "WAFNonEmptyEntityException"
 11927  }
 11928  
 11929  // Message returns the exception's message.
 11930  func (s *WAFNonEmptyEntityException) Message() string {
 11931  	if s.Message_ != nil {
 11932  		return *s.Message_
 11933  	}
 11934  	return ""
 11935  }
 11936  
 11937  // OrigErr always returns nil, satisfies awserr.Error interface.
 11938  func (s *WAFNonEmptyEntityException) OrigErr() error {
 11939  	return nil
 11940  }
 11941  
 11942  func (s *WAFNonEmptyEntityException) Error() string {
 11943  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11944  }
 11945  
 11946  // Status code returns the HTTP status code for the request's response error.
 11947  func (s *WAFNonEmptyEntityException) StatusCode() int {
 11948  	return s.RespMetadata.StatusCode
 11949  }
 11950  
 11951  // RequestID returns the service's response RequestID for request.
 11952  func (s *WAFNonEmptyEntityException) RequestID() string {
 11953  	return s.RespMetadata.RequestID
 11954  }
 11955  
 11956  // The operation failed because you tried to add an object to or delete an object
 11957  // from another object that doesn't exist. For example:
 11958  //
 11959  //    * You tried to add a Rule to or delete a Rule from a WebACL that doesn't
 11960  //    exist.
 11961  //
 11962  //    * You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule
 11963  //    that doesn't exist.
 11964  //
 11965  //    * You tried to add an IP address to or delete an IP address from an IPSet
 11966  //    that doesn't exist.
 11967  //
 11968  //    * You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from
 11969  //    a ByteMatchSet that doesn't exist.
 11970  type WAFNonexistentContainerException struct {
 11971  	_            struct{}                  `type:"structure"`
 11972  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11973  
 11974  	Message_ *string `locationName:"message" type:"string"`
 11975  }
 11976  
 11977  // String returns the string representation.
 11978  //
 11979  // API parameter values that are decorated as "sensitive" in the API will not
 11980  // be included in the string output. The member name will be present, but the
 11981  // value will be replaced with "sensitive".
 11982  func (s WAFNonexistentContainerException) String() string {
 11983  	return awsutil.Prettify(s)
 11984  }
 11985  
 11986  // GoString returns the string representation.
 11987  //
 11988  // API parameter values that are decorated as "sensitive" in the API will not
 11989  // be included in the string output. The member name will be present, but the
 11990  // value will be replaced with "sensitive".
 11991  func (s WAFNonexistentContainerException) GoString() string {
 11992  	return s.String()
 11993  }
 11994  
 11995  func newErrorWAFNonexistentContainerException(v protocol.ResponseMetadata) error {
 11996  	return &WAFNonexistentContainerException{
 11997  		RespMetadata: v,
 11998  	}
 11999  }
 12000  
 12001  // Code returns the exception type name.
 12002  func (s *WAFNonexistentContainerException) Code() string {
 12003  	return "WAFNonexistentContainerException"
 12004  }
 12005  
 12006  // Message returns the exception's message.
 12007  func (s *WAFNonexistentContainerException) Message() string {
 12008  	if s.Message_ != nil {
 12009  		return *s.Message_
 12010  	}
 12011  	return ""
 12012  }
 12013  
 12014  // OrigErr always returns nil, satisfies awserr.Error interface.
 12015  func (s *WAFNonexistentContainerException) OrigErr() error {
 12016  	return nil
 12017  }
 12018  
 12019  func (s *WAFNonexistentContainerException) Error() string {
 12020  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12021  }
 12022  
 12023  // Status code returns the HTTP status code for the request's response error.
 12024  func (s *WAFNonexistentContainerException) StatusCode() int {
 12025  	return s.RespMetadata.StatusCode
 12026  }
 12027  
 12028  // RequestID returns the service's response RequestID for request.
 12029  func (s *WAFNonexistentContainerException) RequestID() string {
 12030  	return s.RespMetadata.RequestID
 12031  }
 12032  
 12033  // The operation failed because the referenced object doesn't exist.
 12034  type WAFNonexistentItemException struct {
 12035  	_            struct{}                  `type:"structure"`
 12036  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12037  
 12038  	Message_ *string `locationName:"message" type:"string"`
 12039  }
 12040  
 12041  // String returns the string representation.
 12042  //
 12043  // API parameter values that are decorated as "sensitive" in the API will not
 12044  // be included in the string output. The member name will be present, but the
 12045  // value will be replaced with "sensitive".
 12046  func (s WAFNonexistentItemException) String() string {
 12047  	return awsutil.Prettify(s)
 12048  }
 12049  
 12050  // GoString returns the string representation.
 12051  //
 12052  // API parameter values that are decorated as "sensitive" in the API will not
 12053  // be included in the string output. The member name will be present, but the
 12054  // value will be replaced with "sensitive".
 12055  func (s WAFNonexistentItemException) GoString() string {
 12056  	return s.String()
 12057  }
 12058  
 12059  func newErrorWAFNonexistentItemException(v protocol.ResponseMetadata) error {
 12060  	return &WAFNonexistentItemException{
 12061  		RespMetadata: v,
 12062  	}
 12063  }
 12064  
 12065  // Code returns the exception type name.
 12066  func (s *WAFNonexistentItemException) Code() string {
 12067  	return "WAFNonexistentItemException"
 12068  }
 12069  
 12070  // Message returns the exception's message.
 12071  func (s *WAFNonexistentItemException) Message() string {
 12072  	if s.Message_ != nil {
 12073  		return *s.Message_
 12074  	}
 12075  	return ""
 12076  }
 12077  
 12078  // OrigErr always returns nil, satisfies awserr.Error interface.
 12079  func (s *WAFNonexistentItemException) OrigErr() error {
 12080  	return nil
 12081  }
 12082  
 12083  func (s *WAFNonexistentItemException) Error() string {
 12084  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12085  }
 12086  
 12087  // Status code returns the HTTP status code for the request's response error.
 12088  func (s *WAFNonexistentItemException) StatusCode() int {
 12089  	return s.RespMetadata.StatusCode
 12090  }
 12091  
 12092  // RequestID returns the service's response RequestID for request.
 12093  func (s *WAFNonexistentItemException) RequestID() string {
 12094  	return s.RespMetadata.RequestID
 12095  }
 12096  
 12097  // The operation failed because you tried to delete an object that is still
 12098  // in use. For example:
 12099  //
 12100  //    * You tried to delete a ByteMatchSet that is still referenced by a Rule.
 12101  //
 12102  //    * You tried to delete a Rule that is still referenced by a WebACL.
 12103  type WAFReferencedItemException struct {
 12104  	_            struct{}                  `type:"structure"`
 12105  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12106  
 12107  	Message_ *string `locationName:"message" type:"string"`
 12108  }
 12109  
 12110  // String returns the string representation.
 12111  //
 12112  // API parameter values that are decorated as "sensitive" in the API will not
 12113  // be included in the string output. The member name will be present, but the
 12114  // value will be replaced with "sensitive".
 12115  func (s WAFReferencedItemException) String() string {
 12116  	return awsutil.Prettify(s)
 12117  }
 12118  
 12119  // GoString returns the string representation.
 12120  //
 12121  // API parameter values that are decorated as "sensitive" in the API will not
 12122  // be included in the string output. The member name will be present, but the
 12123  // value will be replaced with "sensitive".
 12124  func (s WAFReferencedItemException) GoString() string {
 12125  	return s.String()
 12126  }
 12127  
 12128  func newErrorWAFReferencedItemException(v protocol.ResponseMetadata) error {
 12129  	return &WAFReferencedItemException{
 12130  		RespMetadata: v,
 12131  	}
 12132  }
 12133  
 12134  // Code returns the exception type name.
 12135  func (s *WAFReferencedItemException) Code() string {
 12136  	return "WAFReferencedItemException"
 12137  }
 12138  
 12139  // Message returns the exception's message.
 12140  func (s *WAFReferencedItemException) Message() string {
 12141  	if s.Message_ != nil {
 12142  		return *s.Message_
 12143  	}
 12144  	return ""
 12145  }
 12146  
 12147  // OrigErr always returns nil, satisfies awserr.Error interface.
 12148  func (s *WAFReferencedItemException) OrigErr() error {
 12149  	return nil
 12150  }
 12151  
 12152  func (s *WAFReferencedItemException) Error() string {
 12153  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12154  }
 12155  
 12156  // Status code returns the HTTP status code for the request's response error.
 12157  func (s *WAFReferencedItemException) StatusCode() int {
 12158  	return s.RespMetadata.StatusCode
 12159  }
 12160  
 12161  // RequestID returns the service's response RequestID for request.
 12162  func (s *WAFReferencedItemException) RequestID() string {
 12163  	return s.RespMetadata.RequestID
 12164  }
 12165  
 12166  // AWS WAF is not able to access the service linked role. This can be caused
 12167  // by a previous PutLoggingConfiguration request, which can lock the service
 12168  // linked role for about 20 seconds. Please try your request again. The service
 12169  // linked role can also be locked by a previous DeleteServiceLinkedRole request,
 12170  // which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole,
 12171  // wait at least 15 minutes and try the request again. If you receive this same
 12172  // exception again, you will have to wait additional time until the role is
 12173  // unlocked.
 12174  type WAFServiceLinkedRoleErrorException struct {
 12175  	_            struct{}                  `type:"structure"`
 12176  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12177  
 12178  	Message_ *string `locationName:"message" type:"string"`
 12179  }
 12180  
 12181  // String returns the string representation.
 12182  //
 12183  // API parameter values that are decorated as "sensitive" in the API will not
 12184  // be included in the string output. The member name will be present, but the
 12185  // value will be replaced with "sensitive".
 12186  func (s WAFServiceLinkedRoleErrorException) String() string {
 12187  	return awsutil.Prettify(s)
 12188  }
 12189  
 12190  // GoString returns the string representation.
 12191  //
 12192  // API parameter values that are decorated as "sensitive" in the API will not
 12193  // be included in the string output. The member name will be present, but the
 12194  // value will be replaced with "sensitive".
 12195  func (s WAFServiceLinkedRoleErrorException) GoString() string {
 12196  	return s.String()
 12197  }
 12198  
 12199  func newErrorWAFServiceLinkedRoleErrorException(v protocol.ResponseMetadata) error {
 12200  	return &WAFServiceLinkedRoleErrorException{
 12201  		RespMetadata: v,
 12202  	}
 12203  }
 12204  
 12205  // Code returns the exception type name.
 12206  func (s *WAFServiceLinkedRoleErrorException) Code() string {
 12207  	return "WAFServiceLinkedRoleErrorException"
 12208  }
 12209  
 12210  // Message returns the exception's message.
 12211  func (s *WAFServiceLinkedRoleErrorException) Message() string {
 12212  	if s.Message_ != nil {
 12213  		return *s.Message_
 12214  	}
 12215  	return ""
 12216  }
 12217  
 12218  // OrigErr always returns nil, satisfies awserr.Error interface.
 12219  func (s *WAFServiceLinkedRoleErrorException) OrigErr() error {
 12220  	return nil
 12221  }
 12222  
 12223  func (s *WAFServiceLinkedRoleErrorException) Error() string {
 12224  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12225  }
 12226  
 12227  // Status code returns the HTTP status code for the request's response error.
 12228  func (s *WAFServiceLinkedRoleErrorException) StatusCode() int {
 12229  	return s.RespMetadata.StatusCode
 12230  }
 12231  
 12232  // RequestID returns the service's response RequestID for request.
 12233  func (s *WAFServiceLinkedRoleErrorException) RequestID() string {
 12234  	return s.RespMetadata.RequestID
 12235  }
 12236  
 12237  // The operation failed because you tried to create, update, or delete an object
 12238  // by using a change token that has already been used.
 12239  type WAFStaleDataException struct {
 12240  	_            struct{}                  `type:"structure"`
 12241  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12242  
 12243  	Message_ *string `locationName:"message" type:"string"`
 12244  }
 12245  
 12246  // String returns the string representation.
 12247  //
 12248  // API parameter values that are decorated as "sensitive" in the API will not
 12249  // be included in the string output. The member name will be present, but the
 12250  // value will be replaced with "sensitive".
 12251  func (s WAFStaleDataException) String() string {
 12252  	return awsutil.Prettify(s)
 12253  }
 12254  
 12255  // GoString returns the string representation.
 12256  //
 12257  // API parameter values that are decorated as "sensitive" in the API will not
 12258  // be included in the string output. The member name will be present, but the
 12259  // value will be replaced with "sensitive".
 12260  func (s WAFStaleDataException) GoString() string {
 12261  	return s.String()
 12262  }
 12263  
 12264  func newErrorWAFStaleDataException(v protocol.ResponseMetadata) error {
 12265  	return &WAFStaleDataException{
 12266  		RespMetadata: v,
 12267  	}
 12268  }
 12269  
 12270  // Code returns the exception type name.
 12271  func (s *WAFStaleDataException) Code() string {
 12272  	return "WAFStaleDataException"
 12273  }
 12274  
 12275  // Message returns the exception's message.
 12276  func (s *WAFStaleDataException) Message() string {
 12277  	if s.Message_ != nil {
 12278  		return *s.Message_
 12279  	}
 12280  	return ""
 12281  }
 12282  
 12283  // OrigErr always returns nil, satisfies awserr.Error interface.
 12284  func (s *WAFStaleDataException) OrigErr() error {
 12285  	return nil
 12286  }
 12287  
 12288  func (s *WAFStaleDataException) Error() string {
 12289  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12290  }
 12291  
 12292  // Status code returns the HTTP status code for the request's response error.
 12293  func (s *WAFStaleDataException) StatusCode() int {
 12294  	return s.RespMetadata.StatusCode
 12295  }
 12296  
 12297  // RequestID returns the service's response RequestID for request.
 12298  func (s *WAFStaleDataException) RequestID() string {
 12299  	return s.RespMetadata.RequestID
 12300  }
 12301  
 12302  // The specified subscription does not exist.
 12303  type WAFSubscriptionNotFoundException struct {
 12304  	_            struct{}                  `type:"structure"`
 12305  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12306  
 12307  	Message_ *string `locationName:"message" type:"string"`
 12308  }
 12309  
 12310  // String returns the string representation.
 12311  //
 12312  // API parameter values that are decorated as "sensitive" in the API will not
 12313  // be included in the string output. The member name will be present, but the
 12314  // value will be replaced with "sensitive".
 12315  func (s WAFSubscriptionNotFoundException) String() string {
 12316  	return awsutil.Prettify(s)
 12317  }
 12318  
 12319  // GoString returns the string representation.
 12320  //
 12321  // API parameter values that are decorated as "sensitive" in the API will not
 12322  // be included in the string output. The member name will be present, but the
 12323  // value will be replaced with "sensitive".
 12324  func (s WAFSubscriptionNotFoundException) GoString() string {
 12325  	return s.String()
 12326  }
 12327  
 12328  func newErrorWAFSubscriptionNotFoundException(v protocol.ResponseMetadata) error {
 12329  	return &WAFSubscriptionNotFoundException{
 12330  		RespMetadata: v,
 12331  	}
 12332  }
 12333  
 12334  // Code returns the exception type name.
 12335  func (s *WAFSubscriptionNotFoundException) Code() string {
 12336  	return "WAFSubscriptionNotFoundException"
 12337  }
 12338  
 12339  // Message returns the exception's message.
 12340  func (s *WAFSubscriptionNotFoundException) Message() string {
 12341  	if s.Message_ != nil {
 12342  		return *s.Message_
 12343  	}
 12344  	return ""
 12345  }
 12346  
 12347  // OrigErr always returns nil, satisfies awserr.Error interface.
 12348  func (s *WAFSubscriptionNotFoundException) OrigErr() error {
 12349  	return nil
 12350  }
 12351  
 12352  func (s *WAFSubscriptionNotFoundException) Error() string {
 12353  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12354  }
 12355  
 12356  // Status code returns the HTTP status code for the request's response error.
 12357  func (s *WAFSubscriptionNotFoundException) StatusCode() int {
 12358  	return s.RespMetadata.StatusCode
 12359  }
 12360  
 12361  // RequestID returns the service's response RequestID for request.
 12362  func (s *WAFSubscriptionNotFoundException) RequestID() string {
 12363  	return s.RespMetadata.RequestID
 12364  }
 12365  
 12366  type WAFTagOperationException struct {
 12367  	_            struct{}                  `type:"structure"`
 12368  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12369  
 12370  	Message_ *string `locationName:"message" type:"string"`
 12371  }
 12372  
 12373  // String returns the string representation.
 12374  //
 12375  // API parameter values that are decorated as "sensitive" in the API will not
 12376  // be included in the string output. The member name will be present, but the
 12377  // value will be replaced with "sensitive".
 12378  func (s WAFTagOperationException) String() string {
 12379  	return awsutil.Prettify(s)
 12380  }
 12381  
 12382  // GoString returns the string representation.
 12383  //
 12384  // API parameter values that are decorated as "sensitive" in the API will not
 12385  // be included in the string output. The member name will be present, but the
 12386  // value will be replaced with "sensitive".
 12387  func (s WAFTagOperationException) GoString() string {
 12388  	return s.String()
 12389  }
 12390  
 12391  func newErrorWAFTagOperationException(v protocol.ResponseMetadata) error {
 12392  	return &WAFTagOperationException{
 12393  		RespMetadata: v,
 12394  	}
 12395  }
 12396  
 12397  // Code returns the exception type name.
 12398  func (s *WAFTagOperationException) Code() string {
 12399  	return "WAFTagOperationException"
 12400  }
 12401  
 12402  // Message returns the exception's message.
 12403  func (s *WAFTagOperationException) Message() string {
 12404  	if s.Message_ != nil {
 12405  		return *s.Message_
 12406  	}
 12407  	return ""
 12408  }
 12409  
 12410  // OrigErr always returns nil, satisfies awserr.Error interface.
 12411  func (s *WAFTagOperationException) OrigErr() error {
 12412  	return nil
 12413  }
 12414  
 12415  func (s *WAFTagOperationException) Error() string {
 12416  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12417  }
 12418  
 12419  // Status code returns the HTTP status code for the request's response error.
 12420  func (s *WAFTagOperationException) StatusCode() int {
 12421  	return s.RespMetadata.StatusCode
 12422  }
 12423  
 12424  // RequestID returns the service's response RequestID for request.
 12425  func (s *WAFTagOperationException) RequestID() string {
 12426  	return s.RespMetadata.RequestID
 12427  }
 12428  
 12429  type WAFTagOperationInternalErrorException struct {
 12430  	_            struct{}                  `type:"structure"`
 12431  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12432  
 12433  	Message_ *string `locationName:"message" type:"string"`
 12434  }
 12435  
 12436  // String returns the string representation.
 12437  //
 12438  // API parameter values that are decorated as "sensitive" in the API will not
 12439  // be included in the string output. The member name will be present, but the
 12440  // value will be replaced with "sensitive".
 12441  func (s WAFTagOperationInternalErrorException) String() string {
 12442  	return awsutil.Prettify(s)
 12443  }
 12444  
 12445  // GoString returns the string representation.
 12446  //
 12447  // API parameter values that are decorated as "sensitive" in the API will not
 12448  // be included in the string output. The member name will be present, but the
 12449  // value will be replaced with "sensitive".
 12450  func (s WAFTagOperationInternalErrorException) GoString() string {
 12451  	return s.String()
 12452  }
 12453  
 12454  func newErrorWAFTagOperationInternalErrorException(v protocol.ResponseMetadata) error {
 12455  	return &WAFTagOperationInternalErrorException{
 12456  		RespMetadata: v,
 12457  	}
 12458  }
 12459  
 12460  // Code returns the exception type name.
 12461  func (s *WAFTagOperationInternalErrorException) Code() string {
 12462  	return "WAFTagOperationInternalErrorException"
 12463  }
 12464  
 12465  // Message returns the exception's message.
 12466  func (s *WAFTagOperationInternalErrorException) Message() string {
 12467  	if s.Message_ != nil {
 12468  		return *s.Message_
 12469  	}
 12470  	return ""
 12471  }
 12472  
 12473  // OrigErr always returns nil, satisfies awserr.Error interface.
 12474  func (s *WAFTagOperationInternalErrorException) OrigErr() error {
 12475  	return nil
 12476  }
 12477  
 12478  func (s *WAFTagOperationInternalErrorException) Error() string {
 12479  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12480  }
 12481  
 12482  // Status code returns the HTTP status code for the request's response error.
 12483  func (s *WAFTagOperationInternalErrorException) StatusCode() int {
 12484  	return s.RespMetadata.StatusCode
 12485  }
 12486  
 12487  // RequestID returns the service's response RequestID for request.
 12488  func (s *WAFTagOperationInternalErrorException) RequestID() string {
 12489  	return s.RespMetadata.RequestID
 12490  }
 12491  
 12492  // The operation failed because the entity referenced is temporarily unavailable.
 12493  // Retry your request.
 12494  type WAFUnavailableEntityException struct {
 12495  	_            struct{}                  `type:"structure"`
 12496  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12497  
 12498  	Message_ *string `locationName:"message" type:"string"`
 12499  }
 12500  
 12501  // String returns the string representation.
 12502  //
 12503  // API parameter values that are decorated as "sensitive" in the API will not
 12504  // be included in the string output. The member name will be present, but the
 12505  // value will be replaced with "sensitive".
 12506  func (s WAFUnavailableEntityException) String() string {
 12507  	return awsutil.Prettify(s)
 12508  }
 12509  
 12510  // GoString returns the string representation.
 12511  //
 12512  // API parameter values that are decorated as "sensitive" in the API will not
 12513  // be included in the string output. The member name will be present, but the
 12514  // value will be replaced with "sensitive".
 12515  func (s WAFUnavailableEntityException) GoString() string {
 12516  	return s.String()
 12517  }
 12518  
 12519  func newErrorWAFUnavailableEntityException(v protocol.ResponseMetadata) error {
 12520  	return &WAFUnavailableEntityException{
 12521  		RespMetadata: v,
 12522  	}
 12523  }
 12524  
 12525  // Code returns the exception type name.
 12526  func (s *WAFUnavailableEntityException) Code() string {
 12527  	return "WAFUnavailableEntityException"
 12528  }
 12529  
 12530  // Message returns the exception's message.
 12531  func (s *WAFUnavailableEntityException) Message() string {
 12532  	if s.Message_ != nil {
 12533  		return *s.Message_
 12534  	}
 12535  	return ""
 12536  }
 12537  
 12538  // OrigErr always returns nil, satisfies awserr.Error interface.
 12539  func (s *WAFUnavailableEntityException) OrigErr() error {
 12540  	return nil
 12541  }
 12542  
 12543  func (s *WAFUnavailableEntityException) Error() string {
 12544  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12545  }
 12546  
 12547  // Status code returns the HTTP status code for the request's response error.
 12548  func (s *WAFUnavailableEntityException) StatusCode() int {
 12549  	return s.RespMetadata.StatusCode
 12550  }
 12551  
 12552  // RequestID returns the service's response RequestID for request.
 12553  func (s *WAFUnavailableEntityException) RequestID() string {
 12554  	return s.RespMetadata.RequestID
 12555  }
 12556  
 12557  const (
 12558  	// ChangeActionInsert is a ChangeAction enum value
 12559  	ChangeActionInsert = "INSERT"
 12560  
 12561  	// ChangeActionDelete is a ChangeAction enum value
 12562  	ChangeActionDelete = "DELETE"
 12563  )
 12564  
 12565  // ChangeAction_Values returns all elements of the ChangeAction enum
 12566  func ChangeAction_Values() []string {
 12567  	return []string{
 12568  		ChangeActionInsert,
 12569  		ChangeActionDelete,
 12570  	}
 12571  }
 12572  
 12573  const (
 12574  	// ChangeTokenStatusProvisioned is a ChangeTokenStatus enum value
 12575  	ChangeTokenStatusProvisioned = "PROVISIONED"
 12576  
 12577  	// ChangeTokenStatusPending is a ChangeTokenStatus enum value
 12578  	ChangeTokenStatusPending = "PENDING"
 12579  
 12580  	// ChangeTokenStatusInsync is a ChangeTokenStatus enum value
 12581  	ChangeTokenStatusInsync = "INSYNC"
 12582  )
 12583  
 12584  // ChangeTokenStatus_Values returns all elements of the ChangeTokenStatus enum
 12585  func ChangeTokenStatus_Values() []string {
 12586  	return []string{
 12587  		ChangeTokenStatusProvisioned,
 12588  		ChangeTokenStatusPending,
 12589  		ChangeTokenStatusInsync,
 12590  	}
 12591  }
 12592  
 12593  const (
 12594  	// ComparisonOperatorEq is a ComparisonOperator enum value
 12595  	ComparisonOperatorEq = "EQ"
 12596  
 12597  	// ComparisonOperatorNe is a ComparisonOperator enum value
 12598  	ComparisonOperatorNe = "NE"
 12599  
 12600  	// ComparisonOperatorLe is a ComparisonOperator enum value
 12601  	ComparisonOperatorLe = "LE"
 12602  
 12603  	// ComparisonOperatorLt is a ComparisonOperator enum value
 12604  	ComparisonOperatorLt = "LT"
 12605  
 12606  	// ComparisonOperatorGe is a ComparisonOperator enum value
 12607  	ComparisonOperatorGe = "GE"
 12608  
 12609  	// ComparisonOperatorGt is a ComparisonOperator enum value
 12610  	ComparisonOperatorGt = "GT"
 12611  )
 12612  
 12613  // ComparisonOperator_Values returns all elements of the ComparisonOperator enum
 12614  func ComparisonOperator_Values() []string {
 12615  	return []string{
 12616  		ComparisonOperatorEq,
 12617  		ComparisonOperatorNe,
 12618  		ComparisonOperatorLe,
 12619  		ComparisonOperatorLt,
 12620  		ComparisonOperatorGe,
 12621  		ComparisonOperatorGt,
 12622  	}
 12623  }
 12624  
 12625  const (
 12626  	// GeoMatchConstraintTypeCountry is a GeoMatchConstraintType enum value
 12627  	GeoMatchConstraintTypeCountry = "Country"
 12628  )
 12629  
 12630  // GeoMatchConstraintType_Values returns all elements of the GeoMatchConstraintType enum
 12631  func GeoMatchConstraintType_Values() []string {
 12632  	return []string{
 12633  		GeoMatchConstraintTypeCountry,
 12634  	}
 12635  }
 12636  
 12637  const (
 12638  	// GeoMatchConstraintValueAf is a GeoMatchConstraintValue enum value
 12639  	GeoMatchConstraintValueAf = "AF"
 12640  
 12641  	// GeoMatchConstraintValueAx is a GeoMatchConstraintValue enum value
 12642  	GeoMatchConstraintValueAx = "AX"
 12643  
 12644  	// GeoMatchConstraintValueAl is a GeoMatchConstraintValue enum value
 12645  	GeoMatchConstraintValueAl = "AL"
 12646  
 12647  	// GeoMatchConstraintValueDz is a GeoMatchConstraintValue enum value
 12648  	GeoMatchConstraintValueDz = "DZ"
 12649  
 12650  	// GeoMatchConstraintValueAs is a GeoMatchConstraintValue enum value
 12651  	GeoMatchConstraintValueAs = "AS"
 12652  
 12653  	// GeoMatchConstraintValueAd is a GeoMatchConstraintValue enum value
 12654  	GeoMatchConstraintValueAd = "AD"
 12655  
 12656  	// GeoMatchConstraintValueAo is a GeoMatchConstraintValue enum value
 12657  	GeoMatchConstraintValueAo = "AO"
 12658  
 12659  	// GeoMatchConstraintValueAi is a GeoMatchConstraintValue enum value
 12660  	GeoMatchConstraintValueAi = "AI"
 12661  
 12662  	// GeoMatchConstraintValueAq is a GeoMatchConstraintValue enum value
 12663  	GeoMatchConstraintValueAq = "AQ"
 12664  
 12665  	// GeoMatchConstraintValueAg is a GeoMatchConstraintValue enum value
 12666  	GeoMatchConstraintValueAg = "AG"
 12667  
 12668  	// GeoMatchConstraintValueAr is a GeoMatchConstraintValue enum value
 12669  	GeoMatchConstraintValueAr = "AR"
 12670  
 12671  	// GeoMatchConstraintValueAm is a GeoMatchConstraintValue enum value
 12672  	GeoMatchConstraintValueAm = "AM"
 12673  
 12674  	// GeoMatchConstraintValueAw is a GeoMatchConstraintValue enum value
 12675  	GeoMatchConstraintValueAw = "AW"
 12676  
 12677  	// GeoMatchConstraintValueAu is a GeoMatchConstraintValue enum value
 12678  	GeoMatchConstraintValueAu = "AU"
 12679  
 12680  	// GeoMatchConstraintValueAt is a GeoMatchConstraintValue enum value
 12681  	GeoMatchConstraintValueAt = "AT"
 12682  
 12683  	// GeoMatchConstraintValueAz is a GeoMatchConstraintValue enum value
 12684  	GeoMatchConstraintValueAz = "AZ"
 12685  
 12686  	// GeoMatchConstraintValueBs is a GeoMatchConstraintValue enum value
 12687  	GeoMatchConstraintValueBs = "BS"
 12688  
 12689  	// GeoMatchConstraintValueBh is a GeoMatchConstraintValue enum value
 12690  	GeoMatchConstraintValueBh = "BH"
 12691  
 12692  	// GeoMatchConstraintValueBd is a GeoMatchConstraintValue enum value
 12693  	GeoMatchConstraintValueBd = "BD"
 12694  
 12695  	// GeoMatchConstraintValueBb is a GeoMatchConstraintValue enum value
 12696  	GeoMatchConstraintValueBb = "BB"
 12697  
 12698  	// GeoMatchConstraintValueBy is a GeoMatchConstraintValue enum value
 12699  	GeoMatchConstraintValueBy = "BY"
 12700  
 12701  	// GeoMatchConstraintValueBe is a GeoMatchConstraintValue enum value
 12702  	GeoMatchConstraintValueBe = "BE"
 12703  
 12704  	// GeoMatchConstraintValueBz is a GeoMatchConstraintValue enum value
 12705  	GeoMatchConstraintValueBz = "BZ"
 12706  
 12707  	// GeoMatchConstraintValueBj is a GeoMatchConstraintValue enum value
 12708  	GeoMatchConstraintValueBj = "BJ"
 12709  
 12710  	// GeoMatchConstraintValueBm is a GeoMatchConstraintValue enum value
 12711  	GeoMatchConstraintValueBm = "BM"
 12712  
 12713  	// GeoMatchConstraintValueBt is a GeoMatchConstraintValue enum value
 12714  	GeoMatchConstraintValueBt = "BT"
 12715  
 12716  	// GeoMatchConstraintValueBo is a GeoMatchConstraintValue enum value
 12717  	GeoMatchConstraintValueBo = "BO"
 12718  
 12719  	// GeoMatchConstraintValueBq is a GeoMatchConstraintValue enum value
 12720  	GeoMatchConstraintValueBq = "BQ"
 12721  
 12722  	// GeoMatchConstraintValueBa is a GeoMatchConstraintValue enum value
 12723  	GeoMatchConstraintValueBa = "BA"
 12724  
 12725  	// GeoMatchConstraintValueBw is a GeoMatchConstraintValue enum value
 12726  	GeoMatchConstraintValueBw = "BW"
 12727  
 12728  	// GeoMatchConstraintValueBv is a GeoMatchConstraintValue enum value
 12729  	GeoMatchConstraintValueBv = "BV"
 12730  
 12731  	// GeoMatchConstraintValueBr is a GeoMatchConstraintValue enum value
 12732  	GeoMatchConstraintValueBr = "BR"
 12733  
 12734  	// GeoMatchConstraintValueIo is a GeoMatchConstraintValue enum value
 12735  	GeoMatchConstraintValueIo = "IO"
 12736  
 12737  	// GeoMatchConstraintValueBn is a GeoMatchConstraintValue enum value
 12738  	GeoMatchConstraintValueBn = "BN"
 12739  
 12740  	// GeoMatchConstraintValueBg is a GeoMatchConstraintValue enum value
 12741  	GeoMatchConstraintValueBg = "BG"
 12742  
 12743  	// GeoMatchConstraintValueBf is a GeoMatchConstraintValue enum value
 12744  	GeoMatchConstraintValueBf = "BF"
 12745  
 12746  	// GeoMatchConstraintValueBi is a GeoMatchConstraintValue enum value
 12747  	GeoMatchConstraintValueBi = "BI"
 12748  
 12749  	// GeoMatchConstraintValueKh is a GeoMatchConstraintValue enum value
 12750  	GeoMatchConstraintValueKh = "KH"
 12751  
 12752  	// GeoMatchConstraintValueCm is a GeoMatchConstraintValue enum value
 12753  	GeoMatchConstraintValueCm = "CM"
 12754  
 12755  	// GeoMatchConstraintValueCa is a GeoMatchConstraintValue enum value
 12756  	GeoMatchConstraintValueCa = "CA"
 12757  
 12758  	// GeoMatchConstraintValueCv is a GeoMatchConstraintValue enum value
 12759  	GeoMatchConstraintValueCv = "CV"
 12760  
 12761  	// GeoMatchConstraintValueKy is a GeoMatchConstraintValue enum value
 12762  	GeoMatchConstraintValueKy = "KY"
 12763  
 12764  	// GeoMatchConstraintValueCf is a GeoMatchConstraintValue enum value
 12765  	GeoMatchConstraintValueCf = "CF"
 12766  
 12767  	// GeoMatchConstraintValueTd is a GeoMatchConstraintValue enum value
 12768  	GeoMatchConstraintValueTd = "TD"
 12769  
 12770  	// GeoMatchConstraintValueCl is a GeoMatchConstraintValue enum value
 12771  	GeoMatchConstraintValueCl = "CL"
 12772  
 12773  	// GeoMatchConstraintValueCn is a GeoMatchConstraintValue enum value
 12774  	GeoMatchConstraintValueCn = "CN"
 12775  
 12776  	// GeoMatchConstraintValueCx is a GeoMatchConstraintValue enum value
 12777  	GeoMatchConstraintValueCx = "CX"
 12778  
 12779  	// GeoMatchConstraintValueCc is a GeoMatchConstraintValue enum value
 12780  	GeoMatchConstraintValueCc = "CC"
 12781  
 12782  	// GeoMatchConstraintValueCo is a GeoMatchConstraintValue enum value
 12783  	GeoMatchConstraintValueCo = "CO"
 12784  
 12785  	// GeoMatchConstraintValueKm is a GeoMatchConstraintValue enum value
 12786  	GeoMatchConstraintValueKm = "KM"
 12787  
 12788  	// GeoMatchConstraintValueCg is a GeoMatchConstraintValue enum value
 12789  	GeoMatchConstraintValueCg = "CG"
 12790  
 12791  	// GeoMatchConstraintValueCd is a GeoMatchConstraintValue enum value
 12792  	GeoMatchConstraintValueCd = "CD"
 12793  
 12794  	// GeoMatchConstraintValueCk is a GeoMatchConstraintValue enum value
 12795  	GeoMatchConstraintValueCk = "CK"
 12796  
 12797  	// GeoMatchConstraintValueCr is a GeoMatchConstraintValue enum value
 12798  	GeoMatchConstraintValueCr = "CR"
 12799  
 12800  	// GeoMatchConstraintValueCi is a GeoMatchConstraintValue enum value
 12801  	GeoMatchConstraintValueCi = "CI"
 12802  
 12803  	// GeoMatchConstraintValueHr is a GeoMatchConstraintValue enum value
 12804  	GeoMatchConstraintValueHr = "HR"
 12805  
 12806  	// GeoMatchConstraintValueCu is a GeoMatchConstraintValue enum value
 12807  	GeoMatchConstraintValueCu = "CU"
 12808  
 12809  	// GeoMatchConstraintValueCw is a GeoMatchConstraintValue enum value
 12810  	GeoMatchConstraintValueCw = "CW"
 12811  
 12812  	// GeoMatchConstraintValueCy is a GeoMatchConstraintValue enum value
 12813  	GeoMatchConstraintValueCy = "CY"
 12814  
 12815  	// GeoMatchConstraintValueCz is a GeoMatchConstraintValue enum value
 12816  	GeoMatchConstraintValueCz = "CZ"
 12817  
 12818  	// GeoMatchConstraintValueDk is a GeoMatchConstraintValue enum value
 12819  	GeoMatchConstraintValueDk = "DK"
 12820  
 12821  	// GeoMatchConstraintValueDj is a GeoMatchConstraintValue enum value
 12822  	GeoMatchConstraintValueDj = "DJ"
 12823  
 12824  	// GeoMatchConstraintValueDm is a GeoMatchConstraintValue enum value
 12825  	GeoMatchConstraintValueDm = "DM"
 12826  
 12827  	// GeoMatchConstraintValueDo is a GeoMatchConstraintValue enum value
 12828  	GeoMatchConstraintValueDo = "DO"
 12829  
 12830  	// GeoMatchConstraintValueEc is a GeoMatchConstraintValue enum value
 12831  	GeoMatchConstraintValueEc = "EC"
 12832  
 12833  	// GeoMatchConstraintValueEg is a GeoMatchConstraintValue enum value
 12834  	GeoMatchConstraintValueEg = "EG"
 12835  
 12836  	// GeoMatchConstraintValueSv is a GeoMatchConstraintValue enum value
 12837  	GeoMatchConstraintValueSv = "SV"
 12838  
 12839  	// GeoMatchConstraintValueGq is a GeoMatchConstraintValue enum value
 12840  	GeoMatchConstraintValueGq = "GQ"
 12841  
 12842  	// GeoMatchConstraintValueEr is a GeoMatchConstraintValue enum value
 12843  	GeoMatchConstraintValueEr = "ER"
 12844  
 12845  	// GeoMatchConstraintValueEe is a GeoMatchConstraintValue enum value
 12846  	GeoMatchConstraintValueEe = "EE"
 12847  
 12848  	// GeoMatchConstraintValueEt is a GeoMatchConstraintValue enum value
 12849  	GeoMatchConstraintValueEt = "ET"
 12850  
 12851  	// GeoMatchConstraintValueFk is a GeoMatchConstraintValue enum value
 12852  	GeoMatchConstraintValueFk = "FK"
 12853  
 12854  	// GeoMatchConstraintValueFo is a GeoMatchConstraintValue enum value
 12855  	GeoMatchConstraintValueFo = "FO"
 12856  
 12857  	// GeoMatchConstraintValueFj is a GeoMatchConstraintValue enum value
 12858  	GeoMatchConstraintValueFj = "FJ"
 12859  
 12860  	// GeoMatchConstraintValueFi is a GeoMatchConstraintValue enum value
 12861  	GeoMatchConstraintValueFi = "FI"
 12862  
 12863  	// GeoMatchConstraintValueFr is a GeoMatchConstraintValue enum value
 12864  	GeoMatchConstraintValueFr = "FR"
 12865  
 12866  	// GeoMatchConstraintValueGf is a GeoMatchConstraintValue enum value
 12867  	GeoMatchConstraintValueGf = "GF"
 12868  
 12869  	// GeoMatchConstraintValuePf is a GeoMatchConstraintValue enum value
 12870  	GeoMatchConstraintValuePf = "PF"
 12871  
 12872  	// GeoMatchConstraintValueTf is a GeoMatchConstraintValue enum value
 12873  	GeoMatchConstraintValueTf = "TF"
 12874  
 12875  	// GeoMatchConstraintValueGa is a GeoMatchConstraintValue enum value
 12876  	GeoMatchConstraintValueGa = "GA"
 12877  
 12878  	// GeoMatchConstraintValueGm is a GeoMatchConstraintValue enum value
 12879  	GeoMatchConstraintValueGm = "GM"
 12880  
 12881  	// GeoMatchConstraintValueGe is a GeoMatchConstraintValue enum value
 12882  	GeoMatchConstraintValueGe = "GE"
 12883  
 12884  	// GeoMatchConstraintValueDe is a GeoMatchConstraintValue enum value
 12885  	GeoMatchConstraintValueDe = "DE"
 12886  
 12887  	// GeoMatchConstraintValueGh is a GeoMatchConstraintValue enum value
 12888  	GeoMatchConstraintValueGh = "GH"
 12889  
 12890  	// GeoMatchConstraintValueGi is a GeoMatchConstraintValue enum value
 12891  	GeoMatchConstraintValueGi = "GI"
 12892  
 12893  	// GeoMatchConstraintValueGr is a GeoMatchConstraintValue enum value
 12894  	GeoMatchConstraintValueGr = "GR"
 12895  
 12896  	// GeoMatchConstraintValueGl is a GeoMatchConstraintValue enum value
 12897  	GeoMatchConstraintValueGl = "GL"
 12898  
 12899  	// GeoMatchConstraintValueGd is a GeoMatchConstraintValue enum value
 12900  	GeoMatchConstraintValueGd = "GD"
 12901  
 12902  	// GeoMatchConstraintValueGp is a GeoMatchConstraintValue enum value
 12903  	GeoMatchConstraintValueGp = "GP"
 12904  
 12905  	// GeoMatchConstraintValueGu is a GeoMatchConstraintValue enum value
 12906  	GeoMatchConstraintValueGu = "GU"
 12907  
 12908  	// GeoMatchConstraintValueGt is a GeoMatchConstraintValue enum value
 12909  	GeoMatchConstraintValueGt = "GT"
 12910  
 12911  	// GeoMatchConstraintValueGg is a GeoMatchConstraintValue enum value
 12912  	GeoMatchConstraintValueGg = "GG"
 12913  
 12914  	// GeoMatchConstraintValueGn is a GeoMatchConstraintValue enum value
 12915  	GeoMatchConstraintValueGn = "GN"
 12916  
 12917  	// GeoMatchConstraintValueGw is a GeoMatchConstraintValue enum value
 12918  	GeoMatchConstraintValueGw = "GW"
 12919  
 12920  	// GeoMatchConstraintValueGy is a GeoMatchConstraintValue enum value
 12921  	GeoMatchConstraintValueGy = "GY"
 12922  
 12923  	// GeoMatchConstraintValueHt is a GeoMatchConstraintValue enum value
 12924  	GeoMatchConstraintValueHt = "HT"
 12925  
 12926  	// GeoMatchConstraintValueHm is a GeoMatchConstraintValue enum value
 12927  	GeoMatchConstraintValueHm = "HM"
 12928  
 12929  	// GeoMatchConstraintValueVa is a GeoMatchConstraintValue enum value
 12930  	GeoMatchConstraintValueVa = "VA"
 12931  
 12932  	// GeoMatchConstraintValueHn is a GeoMatchConstraintValue enum value
 12933  	GeoMatchConstraintValueHn = "HN"
 12934  
 12935  	// GeoMatchConstraintValueHk is a GeoMatchConstraintValue enum value
 12936  	GeoMatchConstraintValueHk = "HK"
 12937  
 12938  	// GeoMatchConstraintValueHu is a GeoMatchConstraintValue enum value
 12939  	GeoMatchConstraintValueHu = "HU"
 12940  
 12941  	// GeoMatchConstraintValueIs is a GeoMatchConstraintValue enum value
 12942  	GeoMatchConstraintValueIs = "IS"
 12943  
 12944  	// GeoMatchConstraintValueIn is a GeoMatchConstraintValue enum value
 12945  	GeoMatchConstraintValueIn = "IN"
 12946  
 12947  	// GeoMatchConstraintValueId is a GeoMatchConstraintValue enum value
 12948  	GeoMatchConstraintValueId = "ID"
 12949  
 12950  	// GeoMatchConstraintValueIr is a GeoMatchConstraintValue enum value
 12951  	GeoMatchConstraintValueIr = "IR"
 12952  
 12953  	// GeoMatchConstraintValueIq is a GeoMatchConstraintValue enum value
 12954  	GeoMatchConstraintValueIq = "IQ"
 12955  
 12956  	// GeoMatchConstraintValueIe is a GeoMatchConstraintValue enum value
 12957  	GeoMatchConstraintValueIe = "IE"
 12958  
 12959  	// GeoMatchConstraintValueIm is a GeoMatchConstraintValue enum value
 12960  	GeoMatchConstraintValueIm = "IM"
 12961  
 12962  	// GeoMatchConstraintValueIl is a GeoMatchConstraintValue enum value
 12963  	GeoMatchConstraintValueIl = "IL"
 12964  
 12965  	// GeoMatchConstraintValueIt is a GeoMatchConstraintValue enum value
 12966  	GeoMatchConstraintValueIt = "IT"
 12967  
 12968  	// GeoMatchConstraintValueJm is a GeoMatchConstraintValue enum value
 12969  	GeoMatchConstraintValueJm = "JM"
 12970  
 12971  	// GeoMatchConstraintValueJp is a GeoMatchConstraintValue enum value
 12972  	GeoMatchConstraintValueJp = "JP"
 12973  
 12974  	// GeoMatchConstraintValueJe is a GeoMatchConstraintValue enum value
 12975  	GeoMatchConstraintValueJe = "JE"
 12976  
 12977  	// GeoMatchConstraintValueJo is a GeoMatchConstraintValue enum value
 12978  	GeoMatchConstraintValueJo = "JO"
 12979  
 12980  	// GeoMatchConstraintValueKz is a GeoMatchConstraintValue enum value
 12981  	GeoMatchConstraintValueKz = "KZ"
 12982  
 12983  	// GeoMatchConstraintValueKe is a GeoMatchConstraintValue enum value
 12984  	GeoMatchConstraintValueKe = "KE"
 12985  
 12986  	// GeoMatchConstraintValueKi is a GeoMatchConstraintValue enum value
 12987  	GeoMatchConstraintValueKi = "KI"
 12988  
 12989  	// GeoMatchConstraintValueKp is a GeoMatchConstraintValue enum value
 12990  	GeoMatchConstraintValueKp = "KP"
 12991  
 12992  	// GeoMatchConstraintValueKr is a GeoMatchConstraintValue enum value
 12993  	GeoMatchConstraintValueKr = "KR"
 12994  
 12995  	// GeoMatchConstraintValueKw is a GeoMatchConstraintValue enum value
 12996  	GeoMatchConstraintValueKw = "KW"
 12997  
 12998  	// GeoMatchConstraintValueKg is a GeoMatchConstraintValue enum value
 12999  	GeoMatchConstraintValueKg = "KG"
 13000  
 13001  	// GeoMatchConstraintValueLa is a GeoMatchConstraintValue enum value
 13002  	GeoMatchConstraintValueLa = "LA"
 13003  
 13004  	// GeoMatchConstraintValueLv is a GeoMatchConstraintValue enum value
 13005  	GeoMatchConstraintValueLv = "LV"
 13006  
 13007  	// GeoMatchConstraintValueLb is a GeoMatchConstraintValue enum value
 13008  	GeoMatchConstraintValueLb = "LB"
 13009  
 13010  	// GeoMatchConstraintValueLs is a GeoMatchConstraintValue enum value
 13011  	GeoMatchConstraintValueLs = "LS"
 13012  
 13013  	// GeoMatchConstraintValueLr is a GeoMatchConstraintValue enum value
 13014  	GeoMatchConstraintValueLr = "LR"
 13015  
 13016  	// GeoMatchConstraintValueLy is a GeoMatchConstraintValue enum value
 13017  	GeoMatchConstraintValueLy = "LY"
 13018  
 13019  	// GeoMatchConstraintValueLi is a GeoMatchConstraintValue enum value
 13020  	GeoMatchConstraintValueLi = "LI"
 13021  
 13022  	// GeoMatchConstraintValueLt is a GeoMatchConstraintValue enum value
 13023  	GeoMatchConstraintValueLt = "LT"
 13024  
 13025  	// GeoMatchConstraintValueLu is a GeoMatchConstraintValue enum value
 13026  	GeoMatchConstraintValueLu = "LU"
 13027  
 13028  	// GeoMatchConstraintValueMo is a GeoMatchConstraintValue enum value
 13029  	GeoMatchConstraintValueMo = "MO"
 13030  
 13031  	// GeoMatchConstraintValueMk is a GeoMatchConstraintValue enum value
 13032  	GeoMatchConstraintValueMk = "MK"
 13033  
 13034  	// GeoMatchConstraintValueMg is a GeoMatchConstraintValue enum value
 13035  	GeoMatchConstraintValueMg = "MG"
 13036  
 13037  	// GeoMatchConstraintValueMw is a GeoMatchConstraintValue enum value
 13038  	GeoMatchConstraintValueMw = "MW"
 13039  
 13040  	// GeoMatchConstraintValueMy is a GeoMatchConstraintValue enum value
 13041  	GeoMatchConstraintValueMy = "MY"
 13042  
 13043  	// GeoMatchConstraintValueMv is a GeoMatchConstraintValue enum value
 13044  	GeoMatchConstraintValueMv = "MV"
 13045  
 13046  	// GeoMatchConstraintValueMl is a GeoMatchConstraintValue enum value
 13047  	GeoMatchConstraintValueMl = "ML"
 13048  
 13049  	// GeoMatchConstraintValueMt is a GeoMatchConstraintValue enum value
 13050  	GeoMatchConstraintValueMt = "MT"
 13051  
 13052  	// GeoMatchConstraintValueMh is a GeoMatchConstraintValue enum value
 13053  	GeoMatchConstraintValueMh = "MH"
 13054  
 13055  	// GeoMatchConstraintValueMq is a GeoMatchConstraintValue enum value
 13056  	GeoMatchConstraintValueMq = "MQ"
 13057  
 13058  	// GeoMatchConstraintValueMr is a GeoMatchConstraintValue enum value
 13059  	GeoMatchConstraintValueMr = "MR"
 13060  
 13061  	// GeoMatchConstraintValueMu is a GeoMatchConstraintValue enum value
 13062  	GeoMatchConstraintValueMu = "MU"
 13063  
 13064  	// GeoMatchConstraintValueYt is a GeoMatchConstraintValue enum value
 13065  	GeoMatchConstraintValueYt = "YT"
 13066  
 13067  	// GeoMatchConstraintValueMx is a GeoMatchConstraintValue enum value
 13068  	GeoMatchConstraintValueMx = "MX"
 13069  
 13070  	// GeoMatchConstraintValueFm is a GeoMatchConstraintValue enum value
 13071  	GeoMatchConstraintValueFm = "FM"
 13072  
 13073  	// GeoMatchConstraintValueMd is a GeoMatchConstraintValue enum value
 13074  	GeoMatchConstraintValueMd = "MD"
 13075  
 13076  	// GeoMatchConstraintValueMc is a GeoMatchConstraintValue enum value
 13077  	GeoMatchConstraintValueMc = "MC"
 13078  
 13079  	// GeoMatchConstraintValueMn is a GeoMatchConstraintValue enum value
 13080  	GeoMatchConstraintValueMn = "MN"
 13081  
 13082  	// GeoMatchConstraintValueMe is a GeoMatchConstraintValue enum value
 13083  	GeoMatchConstraintValueMe = "ME"
 13084  
 13085  	// GeoMatchConstraintValueMs is a GeoMatchConstraintValue enum value
 13086  	GeoMatchConstraintValueMs = "MS"
 13087  
 13088  	// GeoMatchConstraintValueMa is a GeoMatchConstraintValue enum value
 13089  	GeoMatchConstraintValueMa = "MA"
 13090  
 13091  	// GeoMatchConstraintValueMz is a GeoMatchConstraintValue enum value
 13092  	GeoMatchConstraintValueMz = "MZ"
 13093  
 13094  	// GeoMatchConstraintValueMm is a GeoMatchConstraintValue enum value
 13095  	GeoMatchConstraintValueMm = "MM"
 13096  
 13097  	// GeoMatchConstraintValueNa is a GeoMatchConstraintValue enum value
 13098  	GeoMatchConstraintValueNa = "NA"
 13099  
 13100  	// GeoMatchConstraintValueNr is a GeoMatchConstraintValue enum value
 13101  	GeoMatchConstraintValueNr = "NR"
 13102  
 13103  	// GeoMatchConstraintValueNp is a GeoMatchConstraintValue enum value
 13104  	GeoMatchConstraintValueNp = "NP"
 13105  
 13106  	// GeoMatchConstraintValueNl is a GeoMatchConstraintValue enum value
 13107  	GeoMatchConstraintValueNl = "NL"
 13108  
 13109  	// GeoMatchConstraintValueNc is a GeoMatchConstraintValue enum value
 13110  	GeoMatchConstraintValueNc = "NC"
 13111  
 13112  	// GeoMatchConstraintValueNz is a GeoMatchConstraintValue enum value
 13113  	GeoMatchConstraintValueNz = "NZ"
 13114  
 13115  	// GeoMatchConstraintValueNi is a GeoMatchConstraintValue enum value
 13116  	GeoMatchConstraintValueNi = "NI"
 13117  
 13118  	// GeoMatchConstraintValueNe is a GeoMatchConstraintValue enum value
 13119  	GeoMatchConstraintValueNe = "NE"
 13120  
 13121  	// GeoMatchConstraintValueNg is a GeoMatchConstraintValue enum value
 13122  	GeoMatchConstraintValueNg = "NG"
 13123  
 13124  	// GeoMatchConstraintValueNu is a GeoMatchConstraintValue enum value
 13125  	GeoMatchConstraintValueNu = "NU"
 13126  
 13127  	// GeoMatchConstraintValueNf is a GeoMatchConstraintValue enum value
 13128  	GeoMatchConstraintValueNf = "NF"
 13129  
 13130  	// GeoMatchConstraintValueMp is a GeoMatchConstraintValue enum value
 13131  	GeoMatchConstraintValueMp = "MP"
 13132  
 13133  	// GeoMatchConstraintValueNo is a GeoMatchConstraintValue enum value
 13134  	GeoMatchConstraintValueNo = "NO"
 13135  
 13136  	// GeoMatchConstraintValueOm is a GeoMatchConstraintValue enum value
 13137  	GeoMatchConstraintValueOm = "OM"
 13138  
 13139  	// GeoMatchConstraintValuePk is a GeoMatchConstraintValue enum value
 13140  	GeoMatchConstraintValuePk = "PK"
 13141  
 13142  	// GeoMatchConstraintValuePw is a GeoMatchConstraintValue enum value
 13143  	GeoMatchConstraintValuePw = "PW"
 13144  
 13145  	// GeoMatchConstraintValuePs is a GeoMatchConstraintValue enum value
 13146  	GeoMatchConstraintValuePs = "PS"
 13147  
 13148  	// GeoMatchConstraintValuePa is a GeoMatchConstraintValue enum value
 13149  	GeoMatchConstraintValuePa = "PA"
 13150  
 13151  	// GeoMatchConstraintValuePg is a GeoMatchConstraintValue enum value
 13152  	GeoMatchConstraintValuePg = "PG"
 13153  
 13154  	// GeoMatchConstraintValuePy is a GeoMatchConstraintValue enum value
 13155  	GeoMatchConstraintValuePy = "PY"
 13156  
 13157  	// GeoMatchConstraintValuePe is a GeoMatchConstraintValue enum value
 13158  	GeoMatchConstraintValuePe = "PE"
 13159  
 13160  	// GeoMatchConstraintValuePh is a GeoMatchConstraintValue enum value
 13161  	GeoMatchConstraintValuePh = "PH"
 13162  
 13163  	// GeoMatchConstraintValuePn is a GeoMatchConstraintValue enum value
 13164  	GeoMatchConstraintValuePn = "PN"
 13165  
 13166  	// GeoMatchConstraintValuePl is a GeoMatchConstraintValue enum value
 13167  	GeoMatchConstraintValuePl = "PL"
 13168  
 13169  	// GeoMatchConstraintValuePt is a GeoMatchConstraintValue enum value
 13170  	GeoMatchConstraintValuePt = "PT"
 13171  
 13172  	// GeoMatchConstraintValuePr is a GeoMatchConstraintValue enum value
 13173  	GeoMatchConstraintValuePr = "PR"
 13174  
 13175  	// GeoMatchConstraintValueQa is a GeoMatchConstraintValue enum value
 13176  	GeoMatchConstraintValueQa = "QA"
 13177  
 13178  	// GeoMatchConstraintValueRe is a GeoMatchConstraintValue enum value
 13179  	GeoMatchConstraintValueRe = "RE"
 13180  
 13181  	// GeoMatchConstraintValueRo is a GeoMatchConstraintValue enum value
 13182  	GeoMatchConstraintValueRo = "RO"
 13183  
 13184  	// GeoMatchConstraintValueRu is a GeoMatchConstraintValue enum value
 13185  	GeoMatchConstraintValueRu = "RU"
 13186  
 13187  	// GeoMatchConstraintValueRw is a GeoMatchConstraintValue enum value
 13188  	GeoMatchConstraintValueRw = "RW"
 13189  
 13190  	// GeoMatchConstraintValueBl is a GeoMatchConstraintValue enum value
 13191  	GeoMatchConstraintValueBl = "BL"
 13192  
 13193  	// GeoMatchConstraintValueSh is a GeoMatchConstraintValue enum value
 13194  	GeoMatchConstraintValueSh = "SH"
 13195  
 13196  	// GeoMatchConstraintValueKn is a GeoMatchConstraintValue enum value
 13197  	GeoMatchConstraintValueKn = "KN"
 13198  
 13199  	// GeoMatchConstraintValueLc is a GeoMatchConstraintValue enum value
 13200  	GeoMatchConstraintValueLc = "LC"
 13201  
 13202  	// GeoMatchConstraintValueMf is a GeoMatchConstraintValue enum value
 13203  	GeoMatchConstraintValueMf = "MF"
 13204  
 13205  	// GeoMatchConstraintValuePm is a GeoMatchConstraintValue enum value
 13206  	GeoMatchConstraintValuePm = "PM"
 13207  
 13208  	// GeoMatchConstraintValueVc is a GeoMatchConstraintValue enum value
 13209  	GeoMatchConstraintValueVc = "VC"
 13210  
 13211  	// GeoMatchConstraintValueWs is a GeoMatchConstraintValue enum value
 13212  	GeoMatchConstraintValueWs = "WS"
 13213  
 13214  	// GeoMatchConstraintValueSm is a GeoMatchConstraintValue enum value
 13215  	GeoMatchConstraintValueSm = "SM"
 13216  
 13217  	// GeoMatchConstraintValueSt is a GeoMatchConstraintValue enum value
 13218  	GeoMatchConstraintValueSt = "ST"
 13219  
 13220  	// GeoMatchConstraintValueSa is a GeoMatchConstraintValue enum value
 13221  	GeoMatchConstraintValueSa = "SA"
 13222  
 13223  	// GeoMatchConstraintValueSn is a GeoMatchConstraintValue enum value
 13224  	GeoMatchConstraintValueSn = "SN"
 13225  
 13226  	// GeoMatchConstraintValueRs is a GeoMatchConstraintValue enum value
 13227  	GeoMatchConstraintValueRs = "RS"
 13228  
 13229  	// GeoMatchConstraintValueSc is a GeoMatchConstraintValue enum value
 13230  	GeoMatchConstraintValueSc = "SC"
 13231  
 13232  	// GeoMatchConstraintValueSl is a GeoMatchConstraintValue enum value
 13233  	GeoMatchConstraintValueSl = "SL"
 13234  
 13235  	// GeoMatchConstraintValueSg is a GeoMatchConstraintValue enum value
 13236  	GeoMatchConstraintValueSg = "SG"
 13237  
 13238  	// GeoMatchConstraintValueSx is a GeoMatchConstraintValue enum value
 13239  	GeoMatchConstraintValueSx = "SX"
 13240  
 13241  	// GeoMatchConstraintValueSk is a GeoMatchConstraintValue enum value
 13242  	GeoMatchConstraintValueSk = "SK"
 13243  
 13244  	// GeoMatchConstraintValueSi is a GeoMatchConstraintValue enum value
 13245  	GeoMatchConstraintValueSi = "SI"
 13246  
 13247  	// GeoMatchConstraintValueSb is a GeoMatchConstraintValue enum value
 13248  	GeoMatchConstraintValueSb = "SB"
 13249  
 13250  	// GeoMatchConstraintValueSo is a GeoMatchConstraintValue enum value
 13251  	GeoMatchConstraintValueSo = "SO"
 13252  
 13253  	// GeoMatchConstraintValueZa is a GeoMatchConstraintValue enum value
 13254  	GeoMatchConstraintValueZa = "ZA"
 13255  
 13256  	// GeoMatchConstraintValueGs is a GeoMatchConstraintValue enum value
 13257  	GeoMatchConstraintValueGs = "GS"
 13258  
 13259  	// GeoMatchConstraintValueSs is a GeoMatchConstraintValue enum value
 13260  	GeoMatchConstraintValueSs = "SS"
 13261  
 13262  	// GeoMatchConstraintValueEs is a GeoMatchConstraintValue enum value
 13263  	GeoMatchConstraintValueEs = "ES"
 13264  
 13265  	// GeoMatchConstraintValueLk is a GeoMatchConstraintValue enum value
 13266  	GeoMatchConstraintValueLk = "LK"
 13267  
 13268  	// GeoMatchConstraintValueSd is a GeoMatchConstraintValue enum value
 13269  	GeoMatchConstraintValueSd = "SD"
 13270  
 13271  	// GeoMatchConstraintValueSr is a GeoMatchConstraintValue enum value
 13272  	GeoMatchConstraintValueSr = "SR"
 13273  
 13274  	// GeoMatchConstraintValueSj is a GeoMatchConstraintValue enum value
 13275  	GeoMatchConstraintValueSj = "SJ"
 13276  
 13277  	// GeoMatchConstraintValueSz is a GeoMatchConstraintValue enum value
 13278  	GeoMatchConstraintValueSz = "SZ"
 13279  
 13280  	// GeoMatchConstraintValueSe is a GeoMatchConstraintValue enum value
 13281  	GeoMatchConstraintValueSe = "SE"
 13282  
 13283  	// GeoMatchConstraintValueCh is a GeoMatchConstraintValue enum value
 13284  	GeoMatchConstraintValueCh = "CH"
 13285  
 13286  	// GeoMatchConstraintValueSy is a GeoMatchConstraintValue enum value
 13287  	GeoMatchConstraintValueSy = "SY"
 13288  
 13289  	// GeoMatchConstraintValueTw is a GeoMatchConstraintValue enum value
 13290  	GeoMatchConstraintValueTw = "TW"
 13291  
 13292  	// GeoMatchConstraintValueTj is a GeoMatchConstraintValue enum value
 13293  	GeoMatchConstraintValueTj = "TJ"
 13294  
 13295  	// GeoMatchConstraintValueTz is a GeoMatchConstraintValue enum value
 13296  	GeoMatchConstraintValueTz = "TZ"
 13297  
 13298  	// GeoMatchConstraintValueTh is a GeoMatchConstraintValue enum value
 13299  	GeoMatchConstraintValueTh = "TH"
 13300  
 13301  	// GeoMatchConstraintValueTl is a GeoMatchConstraintValue enum value
 13302  	GeoMatchConstraintValueTl = "TL"
 13303  
 13304  	// GeoMatchConstraintValueTg is a GeoMatchConstraintValue enum value
 13305  	GeoMatchConstraintValueTg = "TG"
 13306  
 13307  	// GeoMatchConstraintValueTk is a GeoMatchConstraintValue enum value
 13308  	GeoMatchConstraintValueTk = "TK"
 13309  
 13310  	// GeoMatchConstraintValueTo is a GeoMatchConstraintValue enum value
 13311  	GeoMatchConstraintValueTo = "TO"
 13312  
 13313  	// GeoMatchConstraintValueTt is a GeoMatchConstraintValue enum value
 13314  	GeoMatchConstraintValueTt = "TT"
 13315  
 13316  	// GeoMatchConstraintValueTn is a GeoMatchConstraintValue enum value
 13317  	GeoMatchConstraintValueTn = "TN"
 13318  
 13319  	// GeoMatchConstraintValueTr is a GeoMatchConstraintValue enum value
 13320  	GeoMatchConstraintValueTr = "TR"
 13321  
 13322  	// GeoMatchConstraintValueTm is a GeoMatchConstraintValue enum value
 13323  	GeoMatchConstraintValueTm = "TM"
 13324  
 13325  	// GeoMatchConstraintValueTc is a GeoMatchConstraintValue enum value
 13326  	GeoMatchConstraintValueTc = "TC"
 13327  
 13328  	// GeoMatchConstraintValueTv is a GeoMatchConstraintValue enum value
 13329  	GeoMatchConstraintValueTv = "TV"
 13330  
 13331  	// GeoMatchConstraintValueUg is a GeoMatchConstraintValue enum value
 13332  	GeoMatchConstraintValueUg = "UG"
 13333  
 13334  	// GeoMatchConstraintValueUa is a GeoMatchConstraintValue enum value
 13335  	GeoMatchConstraintValueUa = "UA"
 13336  
 13337  	// GeoMatchConstraintValueAe is a GeoMatchConstraintValue enum value
 13338  	GeoMatchConstraintValueAe = "AE"
 13339  
 13340  	// GeoMatchConstraintValueGb is a GeoMatchConstraintValue enum value
 13341  	GeoMatchConstraintValueGb = "GB"
 13342  
 13343  	// GeoMatchConstraintValueUs is a GeoMatchConstraintValue enum value
 13344  	GeoMatchConstraintValueUs = "US"
 13345  
 13346  	// GeoMatchConstraintValueUm is a GeoMatchConstraintValue enum value
 13347  	GeoMatchConstraintValueUm = "UM"
 13348  
 13349  	// GeoMatchConstraintValueUy is a GeoMatchConstraintValue enum value
 13350  	GeoMatchConstraintValueUy = "UY"
 13351  
 13352  	// GeoMatchConstraintValueUz is a GeoMatchConstraintValue enum value
 13353  	GeoMatchConstraintValueUz = "UZ"
 13354  
 13355  	// GeoMatchConstraintValueVu is a GeoMatchConstraintValue enum value
 13356  	GeoMatchConstraintValueVu = "VU"
 13357  
 13358  	// GeoMatchConstraintValueVe is a GeoMatchConstraintValue enum value
 13359  	GeoMatchConstraintValueVe = "VE"
 13360  
 13361  	// GeoMatchConstraintValueVn is a GeoMatchConstraintValue enum value
 13362  	GeoMatchConstraintValueVn = "VN"
 13363  
 13364  	// GeoMatchConstraintValueVg is a GeoMatchConstraintValue enum value
 13365  	GeoMatchConstraintValueVg = "VG"
 13366  
 13367  	// GeoMatchConstraintValueVi is a GeoMatchConstraintValue enum value
 13368  	GeoMatchConstraintValueVi = "VI"
 13369  
 13370  	// GeoMatchConstraintValueWf is a GeoMatchConstraintValue enum value
 13371  	GeoMatchConstraintValueWf = "WF"
 13372  
 13373  	// GeoMatchConstraintValueEh is a GeoMatchConstraintValue enum value
 13374  	GeoMatchConstraintValueEh = "EH"
 13375  
 13376  	// GeoMatchConstraintValueYe is a GeoMatchConstraintValue enum value
 13377  	GeoMatchConstraintValueYe = "YE"
 13378  
 13379  	// GeoMatchConstraintValueZm is a GeoMatchConstraintValue enum value
 13380  	GeoMatchConstraintValueZm = "ZM"
 13381  
 13382  	// GeoMatchConstraintValueZw is a GeoMatchConstraintValue enum value
 13383  	GeoMatchConstraintValueZw = "ZW"
 13384  )
 13385  
 13386  // GeoMatchConstraintValue_Values returns all elements of the GeoMatchConstraintValue enum
 13387  func GeoMatchConstraintValue_Values() []string {
 13388  	return []string{
 13389  		GeoMatchConstraintValueAf,
 13390  		GeoMatchConstraintValueAx,
 13391  		GeoMatchConstraintValueAl,
 13392  		GeoMatchConstraintValueDz,
 13393  		GeoMatchConstraintValueAs,
 13394  		GeoMatchConstraintValueAd,
 13395  		GeoMatchConstraintValueAo,
 13396  		GeoMatchConstraintValueAi,
 13397  		GeoMatchConstraintValueAq,
 13398  		GeoMatchConstraintValueAg,
 13399  		GeoMatchConstraintValueAr,
 13400  		GeoMatchConstraintValueAm,
 13401  		GeoMatchConstraintValueAw,
 13402  		GeoMatchConstraintValueAu,
 13403  		GeoMatchConstraintValueAt,
 13404  		GeoMatchConstraintValueAz,
 13405  		GeoMatchConstraintValueBs,
 13406  		GeoMatchConstraintValueBh,
 13407  		GeoMatchConstraintValueBd,
 13408  		GeoMatchConstraintValueBb,
 13409  		GeoMatchConstraintValueBy,
 13410  		GeoMatchConstraintValueBe,
 13411  		GeoMatchConstraintValueBz,
 13412  		GeoMatchConstraintValueBj,
 13413  		GeoMatchConstraintValueBm,
 13414  		GeoMatchConstraintValueBt,
 13415  		GeoMatchConstraintValueBo,
 13416  		GeoMatchConstraintValueBq,
 13417  		GeoMatchConstraintValueBa,
 13418  		GeoMatchConstraintValueBw,
 13419  		GeoMatchConstraintValueBv,
 13420  		GeoMatchConstraintValueBr,
 13421  		GeoMatchConstraintValueIo,
 13422  		GeoMatchConstraintValueBn,
 13423  		GeoMatchConstraintValueBg,
 13424  		GeoMatchConstraintValueBf,
 13425  		GeoMatchConstraintValueBi,
 13426  		GeoMatchConstraintValueKh,
 13427  		GeoMatchConstraintValueCm,
 13428  		GeoMatchConstraintValueCa,
 13429  		GeoMatchConstraintValueCv,
 13430  		GeoMatchConstraintValueKy,
 13431  		GeoMatchConstraintValueCf,
 13432  		GeoMatchConstraintValueTd,
 13433  		GeoMatchConstraintValueCl,
 13434  		GeoMatchConstraintValueCn,
 13435  		GeoMatchConstraintValueCx,
 13436  		GeoMatchConstraintValueCc,
 13437  		GeoMatchConstraintValueCo,
 13438  		GeoMatchConstraintValueKm,
 13439  		GeoMatchConstraintValueCg,
 13440  		GeoMatchConstraintValueCd,
 13441  		GeoMatchConstraintValueCk,
 13442  		GeoMatchConstraintValueCr,
 13443  		GeoMatchConstraintValueCi,
 13444  		GeoMatchConstraintValueHr,
 13445  		GeoMatchConstraintValueCu,
 13446  		GeoMatchConstraintValueCw,
 13447  		GeoMatchConstraintValueCy,
 13448  		GeoMatchConstraintValueCz,
 13449  		GeoMatchConstraintValueDk,
 13450  		GeoMatchConstraintValueDj,
 13451  		GeoMatchConstraintValueDm,
 13452  		GeoMatchConstraintValueDo,
 13453  		GeoMatchConstraintValueEc,
 13454  		GeoMatchConstraintValueEg,
 13455  		GeoMatchConstraintValueSv,
 13456  		GeoMatchConstraintValueGq,
 13457  		GeoMatchConstraintValueEr,
 13458  		GeoMatchConstraintValueEe,
 13459  		GeoMatchConstraintValueEt,
 13460  		GeoMatchConstraintValueFk,
 13461  		GeoMatchConstraintValueFo,
 13462  		GeoMatchConstraintValueFj,
 13463  		GeoMatchConstraintValueFi,
 13464  		GeoMatchConstraintValueFr,
 13465  		GeoMatchConstraintValueGf,
 13466  		GeoMatchConstraintValuePf,
 13467  		GeoMatchConstraintValueTf,
 13468  		GeoMatchConstraintValueGa,
 13469  		GeoMatchConstraintValueGm,
 13470  		GeoMatchConstraintValueGe,
 13471  		GeoMatchConstraintValueDe,
 13472  		GeoMatchConstraintValueGh,
 13473  		GeoMatchConstraintValueGi,
 13474  		GeoMatchConstraintValueGr,
 13475  		GeoMatchConstraintValueGl,
 13476  		GeoMatchConstraintValueGd,
 13477  		GeoMatchConstraintValueGp,
 13478  		GeoMatchConstraintValueGu,
 13479  		GeoMatchConstraintValueGt,
 13480  		GeoMatchConstraintValueGg,
 13481  		GeoMatchConstraintValueGn,
 13482  		GeoMatchConstraintValueGw,
 13483  		GeoMatchConstraintValueGy,
 13484  		GeoMatchConstraintValueHt,
 13485  		GeoMatchConstraintValueHm,
 13486  		GeoMatchConstraintValueVa,
 13487  		GeoMatchConstraintValueHn,
 13488  		GeoMatchConstraintValueHk,
 13489  		GeoMatchConstraintValueHu,
 13490  		GeoMatchConstraintValueIs,
 13491  		GeoMatchConstraintValueIn,
 13492  		GeoMatchConstraintValueId,
 13493  		GeoMatchConstraintValueIr,
 13494  		GeoMatchConstraintValueIq,
 13495  		GeoMatchConstraintValueIe,
 13496  		GeoMatchConstraintValueIm,
 13497  		GeoMatchConstraintValueIl,
 13498  		GeoMatchConstraintValueIt,
 13499  		GeoMatchConstraintValueJm,
 13500  		GeoMatchConstraintValueJp,
 13501  		GeoMatchConstraintValueJe,
 13502  		GeoMatchConstraintValueJo,
 13503  		GeoMatchConstraintValueKz,
 13504  		GeoMatchConstraintValueKe,
 13505  		GeoMatchConstraintValueKi,
 13506  		GeoMatchConstraintValueKp,
 13507  		GeoMatchConstraintValueKr,
 13508  		GeoMatchConstraintValueKw,
 13509  		GeoMatchConstraintValueKg,
 13510  		GeoMatchConstraintValueLa,
 13511  		GeoMatchConstraintValueLv,
 13512  		GeoMatchConstraintValueLb,
 13513  		GeoMatchConstraintValueLs,
 13514  		GeoMatchConstraintValueLr,
 13515  		GeoMatchConstraintValueLy,
 13516  		GeoMatchConstraintValueLi,
 13517  		GeoMatchConstraintValueLt,
 13518  		GeoMatchConstraintValueLu,
 13519  		GeoMatchConstraintValueMo,
 13520  		GeoMatchConstraintValueMk,
 13521  		GeoMatchConstraintValueMg,
 13522  		GeoMatchConstraintValueMw,
 13523  		GeoMatchConstraintValueMy,
 13524  		GeoMatchConstraintValueMv,
 13525  		GeoMatchConstraintValueMl,
 13526  		GeoMatchConstraintValueMt,
 13527  		GeoMatchConstraintValueMh,
 13528  		GeoMatchConstraintValueMq,
 13529  		GeoMatchConstraintValueMr,
 13530  		GeoMatchConstraintValueMu,
 13531  		GeoMatchConstraintValueYt,
 13532  		GeoMatchConstraintValueMx,
 13533  		GeoMatchConstraintValueFm,
 13534  		GeoMatchConstraintValueMd,
 13535  		GeoMatchConstraintValueMc,
 13536  		GeoMatchConstraintValueMn,
 13537  		GeoMatchConstraintValueMe,
 13538  		GeoMatchConstraintValueMs,
 13539  		GeoMatchConstraintValueMa,
 13540  		GeoMatchConstraintValueMz,
 13541  		GeoMatchConstraintValueMm,
 13542  		GeoMatchConstraintValueNa,
 13543  		GeoMatchConstraintValueNr,
 13544  		GeoMatchConstraintValueNp,
 13545  		GeoMatchConstraintValueNl,
 13546  		GeoMatchConstraintValueNc,
 13547  		GeoMatchConstraintValueNz,
 13548  		GeoMatchConstraintValueNi,
 13549  		GeoMatchConstraintValueNe,
 13550  		GeoMatchConstraintValueNg,
 13551  		GeoMatchConstraintValueNu,
 13552  		GeoMatchConstraintValueNf,
 13553  		GeoMatchConstraintValueMp,
 13554  		GeoMatchConstraintValueNo,
 13555  		GeoMatchConstraintValueOm,
 13556  		GeoMatchConstraintValuePk,
 13557  		GeoMatchConstraintValuePw,
 13558  		GeoMatchConstraintValuePs,
 13559  		GeoMatchConstraintValuePa,
 13560  		GeoMatchConstraintValuePg,
 13561  		GeoMatchConstraintValuePy,
 13562  		GeoMatchConstraintValuePe,
 13563  		GeoMatchConstraintValuePh,
 13564  		GeoMatchConstraintValuePn,
 13565  		GeoMatchConstraintValuePl,
 13566  		GeoMatchConstraintValuePt,
 13567  		GeoMatchConstraintValuePr,
 13568  		GeoMatchConstraintValueQa,
 13569  		GeoMatchConstraintValueRe,
 13570  		GeoMatchConstraintValueRo,
 13571  		GeoMatchConstraintValueRu,
 13572  		GeoMatchConstraintValueRw,
 13573  		GeoMatchConstraintValueBl,
 13574  		GeoMatchConstraintValueSh,
 13575  		GeoMatchConstraintValueKn,
 13576  		GeoMatchConstraintValueLc,
 13577  		GeoMatchConstraintValueMf,
 13578  		GeoMatchConstraintValuePm,
 13579  		GeoMatchConstraintValueVc,
 13580  		GeoMatchConstraintValueWs,
 13581  		GeoMatchConstraintValueSm,
 13582  		GeoMatchConstraintValueSt,
 13583  		GeoMatchConstraintValueSa,
 13584  		GeoMatchConstraintValueSn,
 13585  		GeoMatchConstraintValueRs,
 13586  		GeoMatchConstraintValueSc,
 13587  		GeoMatchConstraintValueSl,
 13588  		GeoMatchConstraintValueSg,
 13589  		GeoMatchConstraintValueSx,
 13590  		GeoMatchConstraintValueSk,
 13591  		GeoMatchConstraintValueSi,
 13592  		GeoMatchConstraintValueSb,
 13593  		GeoMatchConstraintValueSo,
 13594  		GeoMatchConstraintValueZa,
 13595  		GeoMatchConstraintValueGs,
 13596  		GeoMatchConstraintValueSs,
 13597  		GeoMatchConstraintValueEs,
 13598  		GeoMatchConstraintValueLk,
 13599  		GeoMatchConstraintValueSd,
 13600  		GeoMatchConstraintValueSr,
 13601  		GeoMatchConstraintValueSj,
 13602  		GeoMatchConstraintValueSz,
 13603  		GeoMatchConstraintValueSe,
 13604  		GeoMatchConstraintValueCh,
 13605  		GeoMatchConstraintValueSy,
 13606  		GeoMatchConstraintValueTw,
 13607  		GeoMatchConstraintValueTj,
 13608  		GeoMatchConstraintValueTz,
 13609  		GeoMatchConstraintValueTh,
 13610  		GeoMatchConstraintValueTl,
 13611  		GeoMatchConstraintValueTg,
 13612  		GeoMatchConstraintValueTk,
 13613  		GeoMatchConstraintValueTo,
 13614  		GeoMatchConstraintValueTt,
 13615  		GeoMatchConstraintValueTn,
 13616  		GeoMatchConstraintValueTr,
 13617  		GeoMatchConstraintValueTm,
 13618  		GeoMatchConstraintValueTc,
 13619  		GeoMatchConstraintValueTv,
 13620  		GeoMatchConstraintValueUg,
 13621  		GeoMatchConstraintValueUa,
 13622  		GeoMatchConstraintValueAe,
 13623  		GeoMatchConstraintValueGb,
 13624  		GeoMatchConstraintValueUs,
 13625  		GeoMatchConstraintValueUm,
 13626  		GeoMatchConstraintValueUy,
 13627  		GeoMatchConstraintValueUz,
 13628  		GeoMatchConstraintValueVu,
 13629  		GeoMatchConstraintValueVe,
 13630  		GeoMatchConstraintValueVn,
 13631  		GeoMatchConstraintValueVg,
 13632  		GeoMatchConstraintValueVi,
 13633  		GeoMatchConstraintValueWf,
 13634  		GeoMatchConstraintValueEh,
 13635  		GeoMatchConstraintValueYe,
 13636  		GeoMatchConstraintValueZm,
 13637  		GeoMatchConstraintValueZw,
 13638  	}
 13639  }
 13640  
 13641  const (
 13642  	// IPSetDescriptorTypeIpv4 is a IPSetDescriptorType enum value
 13643  	IPSetDescriptorTypeIpv4 = "IPV4"
 13644  
 13645  	// IPSetDescriptorTypeIpv6 is a IPSetDescriptorType enum value
 13646  	IPSetDescriptorTypeIpv6 = "IPV6"
 13647  )
 13648  
 13649  // IPSetDescriptorType_Values returns all elements of the IPSetDescriptorType enum
 13650  func IPSetDescriptorType_Values() []string {
 13651  	return []string{
 13652  		IPSetDescriptorTypeIpv4,
 13653  		IPSetDescriptorTypeIpv6,
 13654  	}
 13655  }
 13656  
 13657  const (
 13658  	// MatchFieldTypeUri is a MatchFieldType enum value
 13659  	MatchFieldTypeUri = "URI"
 13660  
 13661  	// MatchFieldTypeQueryString is a MatchFieldType enum value
 13662  	MatchFieldTypeQueryString = "QUERY_STRING"
 13663  
 13664  	// MatchFieldTypeHeader is a MatchFieldType enum value
 13665  	MatchFieldTypeHeader = "HEADER"
 13666  
 13667  	// MatchFieldTypeMethod is a MatchFieldType enum value
 13668  	MatchFieldTypeMethod = "METHOD"
 13669  
 13670  	// MatchFieldTypeBody is a MatchFieldType enum value
 13671  	MatchFieldTypeBody = "BODY"
 13672  
 13673  	// MatchFieldTypeSingleQueryArg is a MatchFieldType enum value
 13674  	MatchFieldTypeSingleQueryArg = "SINGLE_QUERY_ARG"
 13675  
 13676  	// MatchFieldTypeAllQueryArgs is a MatchFieldType enum value
 13677  	MatchFieldTypeAllQueryArgs = "ALL_QUERY_ARGS"
 13678  )
 13679  
 13680  // MatchFieldType_Values returns all elements of the MatchFieldType enum
 13681  func MatchFieldType_Values() []string {
 13682  	return []string{
 13683  		MatchFieldTypeUri,
 13684  		MatchFieldTypeQueryString,
 13685  		MatchFieldTypeHeader,
 13686  		MatchFieldTypeMethod,
 13687  		MatchFieldTypeBody,
 13688  		MatchFieldTypeSingleQueryArg,
 13689  		MatchFieldTypeAllQueryArgs,
 13690  	}
 13691  }
 13692  
 13693  const (
 13694  	// MigrationErrorTypeEntityNotSupported is a MigrationErrorType enum value
 13695  	MigrationErrorTypeEntityNotSupported = "ENTITY_NOT_SUPPORTED"
 13696  
 13697  	// MigrationErrorTypeEntityNotFound is a MigrationErrorType enum value
 13698  	MigrationErrorTypeEntityNotFound = "ENTITY_NOT_FOUND"
 13699  
 13700  	// MigrationErrorTypeS3BucketNoPermission is a MigrationErrorType enum value
 13701  	MigrationErrorTypeS3BucketNoPermission = "S3_BUCKET_NO_PERMISSION"
 13702  
 13703  	// MigrationErrorTypeS3BucketNotAccessible is a MigrationErrorType enum value
 13704  	MigrationErrorTypeS3BucketNotAccessible = "S3_BUCKET_NOT_ACCESSIBLE"
 13705  
 13706  	// MigrationErrorTypeS3BucketNotFound is a MigrationErrorType enum value
 13707  	MigrationErrorTypeS3BucketNotFound = "S3_BUCKET_NOT_FOUND"
 13708  
 13709  	// MigrationErrorTypeS3BucketInvalidRegion is a MigrationErrorType enum value
 13710  	MigrationErrorTypeS3BucketInvalidRegion = "S3_BUCKET_INVALID_REGION"
 13711  
 13712  	// MigrationErrorTypeS3InternalError is a MigrationErrorType enum value
 13713  	MigrationErrorTypeS3InternalError = "S3_INTERNAL_ERROR"
 13714  )
 13715  
 13716  // MigrationErrorType_Values returns all elements of the MigrationErrorType enum
 13717  func MigrationErrorType_Values() []string {
 13718  	return []string{
 13719  		MigrationErrorTypeEntityNotSupported,
 13720  		MigrationErrorTypeEntityNotFound,
 13721  		MigrationErrorTypeS3BucketNoPermission,
 13722  		MigrationErrorTypeS3BucketNotAccessible,
 13723  		MigrationErrorTypeS3BucketNotFound,
 13724  		MigrationErrorTypeS3BucketInvalidRegion,
 13725  		MigrationErrorTypeS3InternalError,
 13726  	}
 13727  }
 13728  
 13729  const (
 13730  	// ParameterExceptionFieldChangeAction is a ParameterExceptionField enum value
 13731  	ParameterExceptionFieldChangeAction = "CHANGE_ACTION"
 13732  
 13733  	// ParameterExceptionFieldWafAction is a ParameterExceptionField enum value
 13734  	ParameterExceptionFieldWafAction = "WAF_ACTION"
 13735  
 13736  	// ParameterExceptionFieldWafOverrideAction is a ParameterExceptionField enum value
 13737  	ParameterExceptionFieldWafOverrideAction = "WAF_OVERRIDE_ACTION"
 13738  
 13739  	// ParameterExceptionFieldPredicateType is a ParameterExceptionField enum value
 13740  	ParameterExceptionFieldPredicateType = "PREDICATE_TYPE"
 13741  
 13742  	// ParameterExceptionFieldIpsetType is a ParameterExceptionField enum value
 13743  	ParameterExceptionFieldIpsetType = "IPSET_TYPE"
 13744  
 13745  	// ParameterExceptionFieldByteMatchFieldType is a ParameterExceptionField enum value
 13746  	ParameterExceptionFieldByteMatchFieldType = "BYTE_MATCH_FIELD_TYPE"
 13747  
 13748  	// ParameterExceptionFieldSqlInjectionMatchFieldType is a ParameterExceptionField enum value
 13749  	ParameterExceptionFieldSqlInjectionMatchFieldType = "SQL_INJECTION_MATCH_FIELD_TYPE"
 13750  
 13751  	// ParameterExceptionFieldByteMatchTextTransformation is a ParameterExceptionField enum value
 13752  	ParameterExceptionFieldByteMatchTextTransformation = "BYTE_MATCH_TEXT_TRANSFORMATION"
 13753  
 13754  	// ParameterExceptionFieldByteMatchPositionalConstraint is a ParameterExceptionField enum value
 13755  	ParameterExceptionFieldByteMatchPositionalConstraint = "BYTE_MATCH_POSITIONAL_CONSTRAINT"
 13756  
 13757  	// ParameterExceptionFieldSizeConstraintComparisonOperator is a ParameterExceptionField enum value
 13758  	ParameterExceptionFieldSizeConstraintComparisonOperator = "SIZE_CONSTRAINT_COMPARISON_OPERATOR"
 13759  
 13760  	// ParameterExceptionFieldGeoMatchLocationType is a ParameterExceptionField enum value
 13761  	ParameterExceptionFieldGeoMatchLocationType = "GEO_MATCH_LOCATION_TYPE"
 13762  
 13763  	// ParameterExceptionFieldGeoMatchLocationValue is a ParameterExceptionField enum value
 13764  	ParameterExceptionFieldGeoMatchLocationValue = "GEO_MATCH_LOCATION_VALUE"
 13765  
 13766  	// ParameterExceptionFieldRateKey is a ParameterExceptionField enum value
 13767  	ParameterExceptionFieldRateKey = "RATE_KEY"
 13768  
 13769  	// ParameterExceptionFieldRuleType is a ParameterExceptionField enum value
 13770  	ParameterExceptionFieldRuleType = "RULE_TYPE"
 13771  
 13772  	// ParameterExceptionFieldNextMarker is a ParameterExceptionField enum value
 13773  	ParameterExceptionFieldNextMarker = "NEXT_MARKER"
 13774  
 13775  	// ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value
 13776  	ParameterExceptionFieldResourceArn = "RESOURCE_ARN"
 13777  
 13778  	// ParameterExceptionFieldTags is a ParameterExceptionField enum value
 13779  	ParameterExceptionFieldTags = "TAGS"
 13780  
 13781  	// ParameterExceptionFieldTagKeys is a ParameterExceptionField enum value
 13782  	ParameterExceptionFieldTagKeys = "TAG_KEYS"
 13783  )
 13784  
 13785  // ParameterExceptionField_Values returns all elements of the ParameterExceptionField enum
 13786  func ParameterExceptionField_Values() []string {
 13787  	return []string{
 13788  		ParameterExceptionFieldChangeAction,
 13789  		ParameterExceptionFieldWafAction,
 13790  		ParameterExceptionFieldWafOverrideAction,
 13791  		ParameterExceptionFieldPredicateType,
 13792  		ParameterExceptionFieldIpsetType,
 13793  		ParameterExceptionFieldByteMatchFieldType,
 13794  		ParameterExceptionFieldSqlInjectionMatchFieldType,
 13795  		ParameterExceptionFieldByteMatchTextTransformation,
 13796  		ParameterExceptionFieldByteMatchPositionalConstraint,
 13797  		ParameterExceptionFieldSizeConstraintComparisonOperator,
 13798  		ParameterExceptionFieldGeoMatchLocationType,
 13799  		ParameterExceptionFieldGeoMatchLocationValue,
 13800  		ParameterExceptionFieldRateKey,
 13801  		ParameterExceptionFieldRuleType,
 13802  		ParameterExceptionFieldNextMarker,
 13803  		ParameterExceptionFieldResourceArn,
 13804  		ParameterExceptionFieldTags,
 13805  		ParameterExceptionFieldTagKeys,
 13806  	}
 13807  }
 13808  
 13809  const (
 13810  	// ParameterExceptionReasonInvalidOption is a ParameterExceptionReason enum value
 13811  	ParameterExceptionReasonInvalidOption = "INVALID_OPTION"
 13812  
 13813  	// ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value
 13814  	ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION"
 13815  
 13816  	// ParameterExceptionReasonIllegalArgument is a ParameterExceptionReason enum value
 13817  	ParameterExceptionReasonIllegalArgument = "ILLEGAL_ARGUMENT"
 13818  
 13819  	// ParameterExceptionReasonInvalidTagKey is a ParameterExceptionReason enum value
 13820  	ParameterExceptionReasonInvalidTagKey = "INVALID_TAG_KEY"
 13821  )
 13822  
 13823  // ParameterExceptionReason_Values returns all elements of the ParameterExceptionReason enum
 13824  func ParameterExceptionReason_Values() []string {
 13825  	return []string{
 13826  		ParameterExceptionReasonInvalidOption,
 13827  		ParameterExceptionReasonIllegalCombination,
 13828  		ParameterExceptionReasonIllegalArgument,
 13829  		ParameterExceptionReasonInvalidTagKey,
 13830  	}
 13831  }
 13832  
 13833  const (
 13834  	// PositionalConstraintExactly is a PositionalConstraint enum value
 13835  	PositionalConstraintExactly = "EXACTLY"
 13836  
 13837  	// PositionalConstraintStartsWith is a PositionalConstraint enum value
 13838  	PositionalConstraintStartsWith = "STARTS_WITH"
 13839  
 13840  	// PositionalConstraintEndsWith is a PositionalConstraint enum value
 13841  	PositionalConstraintEndsWith = "ENDS_WITH"
 13842  
 13843  	// PositionalConstraintContains is a PositionalConstraint enum value
 13844  	PositionalConstraintContains = "CONTAINS"
 13845  
 13846  	// PositionalConstraintContainsWord is a PositionalConstraint enum value
 13847  	PositionalConstraintContainsWord = "CONTAINS_WORD"
 13848  )
 13849  
 13850  // PositionalConstraint_Values returns all elements of the PositionalConstraint enum
 13851  func PositionalConstraint_Values() []string {
 13852  	return []string{
 13853  		PositionalConstraintExactly,
 13854  		PositionalConstraintStartsWith,
 13855  		PositionalConstraintEndsWith,
 13856  		PositionalConstraintContains,
 13857  		PositionalConstraintContainsWord,
 13858  	}
 13859  }
 13860  
 13861  const (
 13862  	// PredicateTypeIpmatch is a PredicateType enum value
 13863  	PredicateTypeIpmatch = "IPMatch"
 13864  
 13865  	// PredicateTypeByteMatch is a PredicateType enum value
 13866  	PredicateTypeByteMatch = "ByteMatch"
 13867  
 13868  	// PredicateTypeSqlInjectionMatch is a PredicateType enum value
 13869  	PredicateTypeSqlInjectionMatch = "SqlInjectionMatch"
 13870  
 13871  	// PredicateTypeGeoMatch is a PredicateType enum value
 13872  	PredicateTypeGeoMatch = "GeoMatch"
 13873  
 13874  	// PredicateTypeSizeConstraint is a PredicateType enum value
 13875  	PredicateTypeSizeConstraint = "SizeConstraint"
 13876  
 13877  	// PredicateTypeXssMatch is a PredicateType enum value
 13878  	PredicateTypeXssMatch = "XssMatch"
 13879  
 13880  	// PredicateTypeRegexMatch is a PredicateType enum value
 13881  	PredicateTypeRegexMatch = "RegexMatch"
 13882  )
 13883  
 13884  // PredicateType_Values returns all elements of the PredicateType enum
 13885  func PredicateType_Values() []string {
 13886  	return []string{
 13887  		PredicateTypeIpmatch,
 13888  		PredicateTypeByteMatch,
 13889  		PredicateTypeSqlInjectionMatch,
 13890  		PredicateTypeGeoMatch,
 13891  		PredicateTypeSizeConstraint,
 13892  		PredicateTypeXssMatch,
 13893  		PredicateTypeRegexMatch,
 13894  	}
 13895  }
 13896  
 13897  const (
 13898  	// RateKeyIp is a RateKey enum value
 13899  	RateKeyIp = "IP"
 13900  )
 13901  
 13902  // RateKey_Values returns all elements of the RateKey enum
 13903  func RateKey_Values() []string {
 13904  	return []string{
 13905  		RateKeyIp,
 13906  	}
 13907  }
 13908  
 13909  const (
 13910  	// ResourceTypeApplicationLoadBalancer is a ResourceType enum value
 13911  	ResourceTypeApplicationLoadBalancer = "APPLICATION_LOAD_BALANCER"
 13912  
 13913  	// ResourceTypeApiGateway is a ResourceType enum value
 13914  	ResourceTypeApiGateway = "API_GATEWAY"
 13915  )
 13916  
 13917  // ResourceType_Values returns all elements of the ResourceType enum
 13918  func ResourceType_Values() []string {
 13919  	return []string{
 13920  		ResourceTypeApplicationLoadBalancer,
 13921  		ResourceTypeApiGateway,
 13922  	}
 13923  }
 13924  
 13925  const (
 13926  	// TextTransformationNone is a TextTransformation enum value
 13927  	TextTransformationNone = "NONE"
 13928  
 13929  	// TextTransformationCompressWhiteSpace is a TextTransformation enum value
 13930  	TextTransformationCompressWhiteSpace = "COMPRESS_WHITE_SPACE"
 13931  
 13932  	// TextTransformationHtmlEntityDecode is a TextTransformation enum value
 13933  	TextTransformationHtmlEntityDecode = "HTML_ENTITY_DECODE"
 13934  
 13935  	// TextTransformationLowercase is a TextTransformation enum value
 13936  	TextTransformationLowercase = "LOWERCASE"
 13937  
 13938  	// TextTransformationCmdLine is a TextTransformation enum value
 13939  	TextTransformationCmdLine = "CMD_LINE"
 13940  
 13941  	// TextTransformationUrlDecode is a TextTransformation enum value
 13942  	TextTransformationUrlDecode = "URL_DECODE"
 13943  )
 13944  
 13945  // TextTransformation_Values returns all elements of the TextTransformation enum
 13946  func TextTransformation_Values() []string {
 13947  	return []string{
 13948  		TextTransformationNone,
 13949  		TextTransformationCompressWhiteSpace,
 13950  		TextTransformationHtmlEntityDecode,
 13951  		TextTransformationLowercase,
 13952  		TextTransformationCmdLine,
 13953  		TextTransformationUrlDecode,
 13954  	}
 13955  }
 13956  
 13957  const (
 13958  	// WafActionTypeBlock is a WafActionType enum value
 13959  	WafActionTypeBlock = "BLOCK"
 13960  
 13961  	// WafActionTypeAllow is a WafActionType enum value
 13962  	WafActionTypeAllow = "ALLOW"
 13963  
 13964  	// WafActionTypeCount is a WafActionType enum value
 13965  	WafActionTypeCount = "COUNT"
 13966  )
 13967  
 13968  // WafActionType_Values returns all elements of the WafActionType enum
 13969  func WafActionType_Values() []string {
 13970  	return []string{
 13971  		WafActionTypeBlock,
 13972  		WafActionTypeAllow,
 13973  		WafActionTypeCount,
 13974  	}
 13975  }
 13976  
 13977  const (
 13978  	// WafOverrideActionTypeNone is a WafOverrideActionType enum value
 13979  	WafOverrideActionTypeNone = "NONE"
 13980  
 13981  	// WafOverrideActionTypeCount is a WafOverrideActionType enum value
 13982  	WafOverrideActionTypeCount = "COUNT"
 13983  )
 13984  
 13985  // WafOverrideActionType_Values returns all elements of the WafOverrideActionType enum
 13986  func WafOverrideActionType_Values() []string {
 13987  	return []string{
 13988  		WafOverrideActionTypeNone,
 13989  		WafOverrideActionTypeCount,
 13990  	}
 13991  }
 13992  
 13993  const (
 13994  	// WafRuleTypeRegular is a WafRuleType enum value
 13995  	WafRuleTypeRegular = "REGULAR"
 13996  
 13997  	// WafRuleTypeRateBased is a WafRuleType enum value
 13998  	WafRuleTypeRateBased = "RATE_BASED"
 13999  
 14000  	// WafRuleTypeGroup is a WafRuleType enum value
 14001  	WafRuleTypeGroup = "GROUP"
 14002  )
 14003  
 14004  // WafRuleType_Values returns all elements of the WafRuleType enum
 14005  func WafRuleType_Values() []string {
 14006  	return []string{
 14007  		WafRuleTypeRegular,
 14008  		WafRuleTypeRateBased,
 14009  		WafRuleTypeGroup,
 14010  	}
 14011  }