wafv2

package
v1.55.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2024 License: Apache-2.0 Imports: 10 Imported by: 62

Documentation

Overview

Package wafv2 provides the client and types for making API requests to AWS WAFV2.

This is the latest version of the WAF API, released in November, 2019. The names of the entities that you use to access this API, like endpoints and namespaces, all have the versioning information added, like "V2" or "v2", to distinguish from the prior version. We recommend migrating your resources to this version, because it has a number of significant improvements.

If you used WAF prior to this release, you can't use this WAFV2 API to access any WAF resources that you created before. You can access your old rules, web ACLs, and other WAF resources only through the WAF Classic APIs. The WAF Classic APIs have retained the prior names, endpoints, and namespaces.

For information, including how to migrate your WAF resources to this version, see the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).

WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to an Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner service, or Amazon Web Services Verified Access instance. WAF also lets you control access to your content, to protect the Amazon Web Services resource that WAF is monitoring. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, the protected resource responds to requests with either the requested content, an HTTP 403 status code (Forbidden), or with a custom response.

This API guide is for developers who need detailed information about WAF API actions, data types, and errors. For detailed information about WAF features and guidance for configuring and using WAF, see the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).

You can make calls using the endpoints listed in WAF endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/waf.html).

  • For regional applications, you can use any of the endpoints in the list. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

  • For Amazon CloudFront applications, you must use the API endpoint listed for US East (N. Virginia): us-east-1.

Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see Amazon Web Services SDKs (http://aws.amazon.com/tools/#SDKs).

We currently provide two versions of the WAF API: this API and the prior versions, the classic WAF APIs. This new API provides the same functionality as the older versions, with the following major improvements:

  • You use one API for both global and regional applications. Where you need to distinguish the scope, you specify a Scope parameter and set it to CLOUDFRONT or REGIONAL.

  • You can define a web ACL or rule group with a single call, and update it with a single call. You define all rule specifications in JSON format, and pass them to your rule group or web ACL calls.

  • The limits WAF places on the use of rules more closely reflects the cost of running each type of rule. Rule groups include capacity settings, so you know the maximum cost of a rule group when you use it.

See https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29 for more information on this service.

See wafv2 package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/wafv2/

Using the Client

To contact AWS WAFV2 with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS WAFV2 client WAFV2 for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/wafv2/#New

Index

Constants

View Source
const (
	// ActionValueAllow is a ActionValue enum value
	ActionValueAllow = "ALLOW"

	// ActionValueBlock is a ActionValue enum value
	ActionValueBlock = "BLOCK"

	// ActionValueCount is a ActionValue enum value
	ActionValueCount = "COUNT"

	// ActionValueCaptcha is a ActionValue enum value
	ActionValueCaptcha = "CAPTCHA"

	// ActionValueChallenge is a ActionValue enum value
	ActionValueChallenge = "CHALLENGE"

	// ActionValueExcludedAsCount is a ActionValue enum value
	ActionValueExcludedAsCount = "EXCLUDED_AS_COUNT"
)
View Source
const (
	// AssociatedResourceTypeCloudfront is a AssociatedResourceType enum value
	AssociatedResourceTypeCloudfront = "CLOUDFRONT"

	// AssociatedResourceTypeApiGateway is a AssociatedResourceType enum value
	AssociatedResourceTypeApiGateway = "API_GATEWAY"

	// AssociatedResourceTypeCognitoUserPool is a AssociatedResourceType enum value
	AssociatedResourceTypeCognitoUserPool = "COGNITO_USER_POOL"

	// AssociatedResourceTypeAppRunnerService is a AssociatedResourceType enum value
	AssociatedResourceTypeAppRunnerService = "APP_RUNNER_SERVICE"

	// AssociatedResourceTypeVerifiedAccessInstance is a AssociatedResourceType enum value
	AssociatedResourceTypeVerifiedAccessInstance = "VERIFIED_ACCESS_INSTANCE"
)
View Source
const (
	// BodyParsingFallbackBehaviorMatch is a BodyParsingFallbackBehavior enum value
	BodyParsingFallbackBehaviorMatch = "MATCH"

	// BodyParsingFallbackBehaviorNoMatch is a BodyParsingFallbackBehavior enum value
	BodyParsingFallbackBehaviorNoMatch = "NO_MATCH"

	// BodyParsingFallbackBehaviorEvaluateAsString is a BodyParsingFallbackBehavior enum value
	BodyParsingFallbackBehaviorEvaluateAsString = "EVALUATE_AS_STRING"
)
View Source
const (
	// ComparisonOperatorEq is a ComparisonOperator enum value
	ComparisonOperatorEq = "EQ"

	// ComparisonOperatorNe is a ComparisonOperator enum value
	ComparisonOperatorNe = "NE"

	// ComparisonOperatorLe is a ComparisonOperator enum value
	ComparisonOperatorLe = "LE"

	// ComparisonOperatorLt is a ComparisonOperator enum value
	ComparisonOperatorLt = "LT"

	// ComparisonOperatorGe is a ComparisonOperator enum value
	ComparisonOperatorGe = "GE"

	// ComparisonOperatorGt is a ComparisonOperator enum value
	ComparisonOperatorGt = "GT"
)
View Source
const (
	// CountryCodeAf is a CountryCode enum value
	CountryCodeAf = "AF"

	// CountryCodeAx is a CountryCode enum value
	CountryCodeAx = "AX"

	// CountryCodeAl is a CountryCode enum value
	CountryCodeAl = "AL"

	// CountryCodeDz is a CountryCode enum value
	CountryCodeDz = "DZ"

	// CountryCodeAs is a CountryCode enum value
	CountryCodeAs = "AS"

	// CountryCodeAd is a CountryCode enum value
	CountryCodeAd = "AD"

	// CountryCodeAo is a CountryCode enum value
	CountryCodeAo = "AO"

	// CountryCodeAi is a CountryCode enum value
	CountryCodeAi = "AI"

	// CountryCodeAq is a CountryCode enum value
	CountryCodeAq = "AQ"

	// CountryCodeAg is a CountryCode enum value
	CountryCodeAg = "AG"

	// CountryCodeAr is a CountryCode enum value
	CountryCodeAr = "AR"

	// CountryCodeAm is a CountryCode enum value
	CountryCodeAm = "AM"

	// CountryCodeAw is a CountryCode enum value
	CountryCodeAw = "AW"

	// CountryCodeAu is a CountryCode enum value
	CountryCodeAu = "AU"

	// CountryCodeAt is a CountryCode enum value
	CountryCodeAt = "AT"

	// CountryCodeAz is a CountryCode enum value
	CountryCodeAz = "AZ"

	// CountryCodeBs is a CountryCode enum value
	CountryCodeBs = "BS"

	// CountryCodeBh is a CountryCode enum value
	CountryCodeBh = "BH"

	// CountryCodeBd is a CountryCode enum value
	CountryCodeBd = "BD"

	// CountryCodeBb is a CountryCode enum value
	CountryCodeBb = "BB"

	// CountryCodeBy is a CountryCode enum value
	CountryCodeBy = "BY"

	// CountryCodeBe is a CountryCode enum value
	CountryCodeBe = "BE"

	// CountryCodeBz is a CountryCode enum value
	CountryCodeBz = "BZ"

	// CountryCodeBj is a CountryCode enum value
	CountryCodeBj = "BJ"

	// CountryCodeBm is a CountryCode enum value
	CountryCodeBm = "BM"

	// CountryCodeBt is a CountryCode enum value
	CountryCodeBt = "BT"

	// CountryCodeBo is a CountryCode enum value
	CountryCodeBo = "BO"

	// CountryCodeBq is a CountryCode enum value
	CountryCodeBq = "BQ"

	// CountryCodeBa is a CountryCode enum value
	CountryCodeBa = "BA"

	// CountryCodeBw is a CountryCode enum value
	CountryCodeBw = "BW"

	// CountryCodeBv is a CountryCode enum value
	CountryCodeBv = "BV"

	// CountryCodeBr is a CountryCode enum value
	CountryCodeBr = "BR"

	// CountryCodeIo is a CountryCode enum value
	CountryCodeIo = "IO"

	// CountryCodeBn is a CountryCode enum value
	CountryCodeBn = "BN"

	// CountryCodeBg is a CountryCode enum value
	CountryCodeBg = "BG"

	// CountryCodeBf is a CountryCode enum value
	CountryCodeBf = "BF"

	// CountryCodeBi is a CountryCode enum value
	CountryCodeBi = "BI"

	// CountryCodeKh is a CountryCode enum value
	CountryCodeKh = "KH"

	// CountryCodeCm is a CountryCode enum value
	CountryCodeCm = "CM"

	// CountryCodeCa is a CountryCode enum value
	CountryCodeCa = "CA"

	// CountryCodeCv is a CountryCode enum value
	CountryCodeCv = "CV"

	// CountryCodeKy is a CountryCode enum value
	CountryCodeKy = "KY"

	// CountryCodeCf is a CountryCode enum value
	CountryCodeCf = "CF"

	// CountryCodeTd is a CountryCode enum value
	CountryCodeTd = "TD"

	// CountryCodeCl is a CountryCode enum value
	CountryCodeCl = "CL"

	// CountryCodeCn is a CountryCode enum value
	CountryCodeCn = "CN"

	// CountryCodeCx is a CountryCode enum value
	CountryCodeCx = "CX"

	// CountryCodeCc is a CountryCode enum value
	CountryCodeCc = "CC"

	// CountryCodeCo is a CountryCode enum value
	CountryCodeCo = "CO"

	// CountryCodeKm is a CountryCode enum value
	CountryCodeKm = "KM"

	// CountryCodeCg is a CountryCode enum value
	CountryCodeCg = "CG"

	// CountryCodeCd is a CountryCode enum value
	CountryCodeCd = "CD"

	// CountryCodeCk is a CountryCode enum value
	CountryCodeCk = "CK"

	// CountryCodeCr is a CountryCode enum value
	CountryCodeCr = "CR"

	// CountryCodeCi is a CountryCode enum value
	CountryCodeCi = "CI"

	// CountryCodeHr is a CountryCode enum value
	CountryCodeHr = "HR"

	// CountryCodeCu is a CountryCode enum value
	CountryCodeCu = "CU"

	// CountryCodeCw is a CountryCode enum value
	CountryCodeCw = "CW"

	// CountryCodeCy is a CountryCode enum value
	CountryCodeCy = "CY"

	// CountryCodeCz is a CountryCode enum value
	CountryCodeCz = "CZ"

	// CountryCodeDk is a CountryCode enum value
	CountryCodeDk = "DK"

	// CountryCodeDj is a CountryCode enum value
	CountryCodeDj = "DJ"

	// CountryCodeDm is a CountryCode enum value
	CountryCodeDm = "DM"

	// CountryCodeDo is a CountryCode enum value
	CountryCodeDo = "DO"

	// CountryCodeEc is a CountryCode enum value
	CountryCodeEc = "EC"

	// CountryCodeEg is a CountryCode enum value
	CountryCodeEg = "EG"

	// CountryCodeSv is a CountryCode enum value
	CountryCodeSv = "SV"

	// CountryCodeGq is a CountryCode enum value
	CountryCodeGq = "GQ"

	// CountryCodeEr is a CountryCode enum value
	CountryCodeEr = "ER"

	// CountryCodeEe is a CountryCode enum value
	CountryCodeEe = "EE"

	// CountryCodeEt is a CountryCode enum value
	CountryCodeEt = "ET"

	// CountryCodeFk is a CountryCode enum value
	CountryCodeFk = "FK"

	// CountryCodeFo is a CountryCode enum value
	CountryCodeFo = "FO"

	// CountryCodeFj is a CountryCode enum value
	CountryCodeFj = "FJ"

	// CountryCodeFi is a CountryCode enum value
	CountryCodeFi = "FI"

	// CountryCodeFr is a CountryCode enum value
	CountryCodeFr = "FR"

	// CountryCodeGf is a CountryCode enum value
	CountryCodeGf = "GF"

	// CountryCodePf is a CountryCode enum value
	CountryCodePf = "PF"

	// CountryCodeTf is a CountryCode enum value
	CountryCodeTf = "TF"

	// CountryCodeGa is a CountryCode enum value
	CountryCodeGa = "GA"

	// CountryCodeGm is a CountryCode enum value
	CountryCodeGm = "GM"

	// CountryCodeGe is a CountryCode enum value
	CountryCodeGe = "GE"

	// CountryCodeDe is a CountryCode enum value
	CountryCodeDe = "DE"

	// CountryCodeGh is a CountryCode enum value
	CountryCodeGh = "GH"

	// CountryCodeGi is a CountryCode enum value
	CountryCodeGi = "GI"

	// CountryCodeGr is a CountryCode enum value
	CountryCodeGr = "GR"

	// CountryCodeGl is a CountryCode enum value
	CountryCodeGl = "GL"

	// CountryCodeGd is a CountryCode enum value
	CountryCodeGd = "GD"

	// CountryCodeGp is a CountryCode enum value
	CountryCodeGp = "GP"

	// CountryCodeGu is a CountryCode enum value
	CountryCodeGu = "GU"

	// CountryCodeGt is a CountryCode enum value
	CountryCodeGt = "GT"

	// CountryCodeGg is a CountryCode enum value
	CountryCodeGg = "GG"

	// CountryCodeGn is a CountryCode enum value
	CountryCodeGn = "GN"

	// CountryCodeGw is a CountryCode enum value
	CountryCodeGw = "GW"

	// CountryCodeGy is a CountryCode enum value
	CountryCodeGy = "GY"

	// CountryCodeHt is a CountryCode enum value
	CountryCodeHt = "HT"

	// CountryCodeHm is a CountryCode enum value
	CountryCodeHm = "HM"

	// CountryCodeVa is a CountryCode enum value
	CountryCodeVa = "VA"

	// CountryCodeHn is a CountryCode enum value
	CountryCodeHn = "HN"

	// CountryCodeHk is a CountryCode enum value
	CountryCodeHk = "HK"

	// CountryCodeHu is a CountryCode enum value
	CountryCodeHu = "HU"

	// CountryCodeIs is a CountryCode enum value
	CountryCodeIs = "IS"

	// CountryCodeIn is a CountryCode enum value
	CountryCodeIn = "IN"

	// CountryCodeId is a CountryCode enum value
	CountryCodeId = "ID"

	// CountryCodeIr is a CountryCode enum value
	CountryCodeIr = "IR"

	// CountryCodeIq is a CountryCode enum value
	CountryCodeIq = "IQ"

	// CountryCodeIe is a CountryCode enum value
	CountryCodeIe = "IE"

	// CountryCodeIm is a CountryCode enum value
	CountryCodeIm = "IM"

	// CountryCodeIl is a CountryCode enum value
	CountryCodeIl = "IL"

	// CountryCodeIt is a CountryCode enum value
	CountryCodeIt = "IT"

	// CountryCodeJm is a CountryCode enum value
	CountryCodeJm = "JM"

	// CountryCodeJp is a CountryCode enum value
	CountryCodeJp = "JP"

	// CountryCodeJe is a CountryCode enum value
	CountryCodeJe = "JE"

	// CountryCodeJo is a CountryCode enum value
	CountryCodeJo = "JO"

	// CountryCodeKz is a CountryCode enum value
	CountryCodeKz = "KZ"

	// CountryCodeKe is a CountryCode enum value
	CountryCodeKe = "KE"

	// CountryCodeKi is a CountryCode enum value
	CountryCodeKi = "KI"

	// CountryCodeKp is a CountryCode enum value
	CountryCodeKp = "KP"

	// CountryCodeKr is a CountryCode enum value
	CountryCodeKr = "KR"

	// CountryCodeKw is a CountryCode enum value
	CountryCodeKw = "KW"

	// CountryCodeKg is a CountryCode enum value
	CountryCodeKg = "KG"

	// CountryCodeLa is a CountryCode enum value
	CountryCodeLa = "LA"

	// CountryCodeLv is a CountryCode enum value
	CountryCodeLv = "LV"

	// CountryCodeLb is a CountryCode enum value
	CountryCodeLb = "LB"

	// CountryCodeLs is a CountryCode enum value
	CountryCodeLs = "LS"

	// CountryCodeLr is a CountryCode enum value
	CountryCodeLr = "LR"

	// CountryCodeLy is a CountryCode enum value
	CountryCodeLy = "LY"

	// CountryCodeLi is a CountryCode enum value
	CountryCodeLi = "LI"

	// CountryCodeLt is a CountryCode enum value
	CountryCodeLt = "LT"

	// CountryCodeLu is a CountryCode enum value
	CountryCodeLu = "LU"

	// CountryCodeMo is a CountryCode enum value
	CountryCodeMo = "MO"

	// CountryCodeMk is a CountryCode enum value
	CountryCodeMk = "MK"

	// CountryCodeMg is a CountryCode enum value
	CountryCodeMg = "MG"

	// CountryCodeMw is a CountryCode enum value
	CountryCodeMw = "MW"

	// CountryCodeMy is a CountryCode enum value
	CountryCodeMy = "MY"

	// CountryCodeMv is a CountryCode enum value
	CountryCodeMv = "MV"

	// CountryCodeMl is a CountryCode enum value
	CountryCodeMl = "ML"

	// CountryCodeMt is a CountryCode enum value
	CountryCodeMt = "MT"

	// CountryCodeMh is a CountryCode enum value
	CountryCodeMh = "MH"

	// CountryCodeMq is a CountryCode enum value
	CountryCodeMq = "MQ"

	// CountryCodeMr is a CountryCode enum value
	CountryCodeMr = "MR"

	// CountryCodeMu is a CountryCode enum value
	CountryCodeMu = "MU"

	// CountryCodeYt is a CountryCode enum value
	CountryCodeYt = "YT"

	// CountryCodeMx is a CountryCode enum value
	CountryCodeMx = "MX"

	// CountryCodeFm is a CountryCode enum value
	CountryCodeFm = "FM"

	// CountryCodeMd is a CountryCode enum value
	CountryCodeMd = "MD"

	// CountryCodeMc is a CountryCode enum value
	CountryCodeMc = "MC"

	// CountryCodeMn is a CountryCode enum value
	CountryCodeMn = "MN"

	// CountryCodeMe is a CountryCode enum value
	CountryCodeMe = "ME"

	// CountryCodeMs is a CountryCode enum value
	CountryCodeMs = "MS"

	// CountryCodeMa is a CountryCode enum value
	CountryCodeMa = "MA"

	// CountryCodeMz is a CountryCode enum value
	CountryCodeMz = "MZ"

	// CountryCodeMm is a CountryCode enum value
	CountryCodeMm = "MM"

	// CountryCodeNa is a CountryCode enum value
	CountryCodeNa = "NA"

	// CountryCodeNr is a CountryCode enum value
	CountryCodeNr = "NR"

	// CountryCodeNp is a CountryCode enum value
	CountryCodeNp = "NP"

	// CountryCodeNl is a CountryCode enum value
	CountryCodeNl = "NL"

	// CountryCodeNc is a CountryCode enum value
	CountryCodeNc = "NC"

	// CountryCodeNz is a CountryCode enum value
	CountryCodeNz = "NZ"

	// CountryCodeNi is a CountryCode enum value
	CountryCodeNi = "NI"

	// CountryCodeNe is a CountryCode enum value
	CountryCodeNe = "NE"

	// CountryCodeNg is a CountryCode enum value
	CountryCodeNg = "NG"

	// CountryCodeNu is a CountryCode enum value
	CountryCodeNu = "NU"

	// CountryCodeNf is a CountryCode enum value
	CountryCodeNf = "NF"

	// CountryCodeMp is a CountryCode enum value
	CountryCodeMp = "MP"

	// CountryCodeNo is a CountryCode enum value
	CountryCodeNo = "NO"

	// CountryCodeOm is a CountryCode enum value
	CountryCodeOm = "OM"

	// CountryCodePk is a CountryCode enum value
	CountryCodePk = "PK"

	// CountryCodePw is a CountryCode enum value
	CountryCodePw = "PW"

	// CountryCodePs is a CountryCode enum value
	CountryCodePs = "PS"

	// CountryCodePa is a CountryCode enum value
	CountryCodePa = "PA"

	// CountryCodePg is a CountryCode enum value
	CountryCodePg = "PG"

	// CountryCodePy is a CountryCode enum value
	CountryCodePy = "PY"

	// CountryCodePe is a CountryCode enum value
	CountryCodePe = "PE"

	// CountryCodePh is a CountryCode enum value
	CountryCodePh = "PH"

	// CountryCodePn is a CountryCode enum value
	CountryCodePn = "PN"

	// CountryCodePl is a CountryCode enum value
	CountryCodePl = "PL"

	// CountryCodePt is a CountryCode enum value
	CountryCodePt = "PT"

	// CountryCodePr is a CountryCode enum value
	CountryCodePr = "PR"

	// CountryCodeQa is a CountryCode enum value
	CountryCodeQa = "QA"

	// CountryCodeRe is a CountryCode enum value
	CountryCodeRe = "RE"

	// CountryCodeRo is a CountryCode enum value
	CountryCodeRo = "RO"

	// CountryCodeRu is a CountryCode enum value
	CountryCodeRu = "RU"

	// CountryCodeRw is a CountryCode enum value
	CountryCodeRw = "RW"

	// CountryCodeBl is a CountryCode enum value
	CountryCodeBl = "BL"

	// CountryCodeSh is a CountryCode enum value
	CountryCodeSh = "SH"

	// CountryCodeKn is a CountryCode enum value
	CountryCodeKn = "KN"

	// CountryCodeLc is a CountryCode enum value
	CountryCodeLc = "LC"

	// CountryCodeMf is a CountryCode enum value
	CountryCodeMf = "MF"

	// CountryCodePm is a CountryCode enum value
	CountryCodePm = "PM"

	// CountryCodeVc is a CountryCode enum value
	CountryCodeVc = "VC"

	// CountryCodeWs is a CountryCode enum value
	CountryCodeWs = "WS"

	// CountryCodeSm is a CountryCode enum value
	CountryCodeSm = "SM"

	// CountryCodeSt is a CountryCode enum value
	CountryCodeSt = "ST"

	// CountryCodeSa is a CountryCode enum value
	CountryCodeSa = "SA"

	// CountryCodeSn is a CountryCode enum value
	CountryCodeSn = "SN"

	// CountryCodeRs is a CountryCode enum value
	CountryCodeRs = "RS"

	// CountryCodeSc is a CountryCode enum value
	CountryCodeSc = "SC"

	// CountryCodeSl is a CountryCode enum value
	CountryCodeSl = "SL"

	// CountryCodeSg is a CountryCode enum value
	CountryCodeSg = "SG"

	// CountryCodeSx is a CountryCode enum value
	CountryCodeSx = "SX"

	// CountryCodeSk is a CountryCode enum value
	CountryCodeSk = "SK"

	// CountryCodeSi is a CountryCode enum value
	CountryCodeSi = "SI"

	// CountryCodeSb is a CountryCode enum value
	CountryCodeSb = "SB"

	// CountryCodeSo is a CountryCode enum value
	CountryCodeSo = "SO"

	// CountryCodeZa is a CountryCode enum value
	CountryCodeZa = "ZA"

	// CountryCodeGs is a CountryCode enum value
	CountryCodeGs = "GS"

	// CountryCodeSs is a CountryCode enum value
	CountryCodeSs = "SS"

	// CountryCodeEs is a CountryCode enum value
	CountryCodeEs = "ES"

	// CountryCodeLk is a CountryCode enum value
	CountryCodeLk = "LK"

	// CountryCodeSd is a CountryCode enum value
	CountryCodeSd = "SD"

	// CountryCodeSr is a CountryCode enum value
	CountryCodeSr = "SR"

	// CountryCodeSj is a CountryCode enum value
	CountryCodeSj = "SJ"

	// CountryCodeSz is a CountryCode enum value
	CountryCodeSz = "SZ"

	// CountryCodeSe is a CountryCode enum value
	CountryCodeSe = "SE"

	// CountryCodeCh is a CountryCode enum value
	CountryCodeCh = "CH"

	// CountryCodeSy is a CountryCode enum value
	CountryCodeSy = "SY"

	// CountryCodeTw is a CountryCode enum value
	CountryCodeTw = "TW"

	// CountryCodeTj is a CountryCode enum value
	CountryCodeTj = "TJ"

	// CountryCodeTz is a CountryCode enum value
	CountryCodeTz = "TZ"

	// CountryCodeTh is a CountryCode enum value
	CountryCodeTh = "TH"

	// CountryCodeTl is a CountryCode enum value
	CountryCodeTl = "TL"

	// CountryCodeTg is a CountryCode enum value
	CountryCodeTg = "TG"

	// CountryCodeTk is a CountryCode enum value
	CountryCodeTk = "TK"

	// CountryCodeTo is a CountryCode enum value
	CountryCodeTo = "TO"

	// CountryCodeTt is a CountryCode enum value
	CountryCodeTt = "TT"

	// CountryCodeTn is a CountryCode enum value
	CountryCodeTn = "TN"

	// CountryCodeTr is a CountryCode enum value
	CountryCodeTr = "TR"

	// CountryCodeTm is a CountryCode enum value
	CountryCodeTm = "TM"

	// CountryCodeTc is a CountryCode enum value
	CountryCodeTc = "TC"

	// CountryCodeTv is a CountryCode enum value
	CountryCodeTv = "TV"

	// CountryCodeUg is a CountryCode enum value
	CountryCodeUg = "UG"

	// CountryCodeUa is a CountryCode enum value
	CountryCodeUa = "UA"

	// CountryCodeAe is a CountryCode enum value
	CountryCodeAe = "AE"

	// CountryCodeGb is a CountryCode enum value
	CountryCodeGb = "GB"

	// CountryCodeUs is a CountryCode enum value
	CountryCodeUs = "US"

	// CountryCodeUm is a CountryCode enum value
	CountryCodeUm = "UM"

	// CountryCodeUy is a CountryCode enum value
	CountryCodeUy = "UY"

	// CountryCodeUz is a CountryCode enum value
	CountryCodeUz = "UZ"

	// CountryCodeVu is a CountryCode enum value
	CountryCodeVu = "VU"

	// CountryCodeVe is a CountryCode enum value
	CountryCodeVe = "VE"

	// CountryCodeVn is a CountryCode enum value
	CountryCodeVn = "VN"

	// CountryCodeVg is a CountryCode enum value
	CountryCodeVg = "VG"

	// CountryCodeVi is a CountryCode enum value
	CountryCodeVi = "VI"

	// CountryCodeWf is a CountryCode enum value
	CountryCodeWf = "WF"

	// CountryCodeEh is a CountryCode enum value
	CountryCodeEh = "EH"

	// CountryCodeYe is a CountryCode enum value
	CountryCodeYe = "YE"

	// CountryCodeZm is a CountryCode enum value
	CountryCodeZm = "ZM"

	// CountryCodeZw is a CountryCode enum value
	CountryCodeZw = "ZW"

	// CountryCodeXk is a CountryCode enum value
	CountryCodeXk = "XK"
)
View Source
const (
	// FailureReasonTokenMissing is a FailureReason enum value
	FailureReasonTokenMissing = "TOKEN_MISSING"

	// FailureReasonTokenExpired is a FailureReason enum value
	FailureReasonTokenExpired = "TOKEN_EXPIRED"

	// FailureReasonTokenInvalid is a FailureReason enum value
	FailureReasonTokenInvalid = "TOKEN_INVALID"

	// FailureReasonTokenDomainMismatch is a FailureReason enum value
	FailureReasonTokenDomainMismatch = "TOKEN_DOMAIN_MISMATCH"
)
View Source
const (
	// FallbackBehaviorMatch is a FallbackBehavior enum value
	FallbackBehaviorMatch = "MATCH"

	// FallbackBehaviorNoMatch is a FallbackBehavior enum value
	FallbackBehaviorNoMatch = "NO_MATCH"
)
View Source
const (
	// FilterBehaviorKeep is a FilterBehavior enum value
	FilterBehaviorKeep = "KEEP"

	// FilterBehaviorDrop is a FilterBehavior enum value
	FilterBehaviorDrop = "DROP"
)
View Source
const (
	// FilterRequirementMeetsAll is a FilterRequirement enum value
	FilterRequirementMeetsAll = "MEETS_ALL"

	// FilterRequirementMeetsAny is a FilterRequirement enum value
	FilterRequirementMeetsAny = "MEETS_ANY"
)
View Source
const (
	// ForwardedIPPositionFirst is a ForwardedIPPosition enum value
	ForwardedIPPositionFirst = "FIRST"

	// ForwardedIPPositionLast is a ForwardedIPPosition enum value
	ForwardedIPPositionLast = "LAST"

	// ForwardedIPPositionAny is a ForwardedIPPosition enum value
	ForwardedIPPositionAny = "ANY"
)
View Source
const (
	// IPAddressVersionIpv4 is a IPAddressVersion enum value
	IPAddressVersionIpv4 = "IPV4"

	// IPAddressVersionIpv6 is a IPAddressVersion enum value
	IPAddressVersionIpv6 = "IPV6"
)
View Source
const (
	// InspectionLevelCommon is a InspectionLevel enum value
	InspectionLevelCommon = "COMMON"

	// InspectionLevelTargeted is a InspectionLevel enum value
	InspectionLevelTargeted = "TARGETED"
)
View Source
const (
	// JsonMatchScopeAll is a JsonMatchScope enum value
	JsonMatchScopeAll = "ALL"

	// JsonMatchScopeKey is a JsonMatchScope enum value
	JsonMatchScopeKey = "KEY"

	// JsonMatchScopeValue is a JsonMatchScope enum value
	JsonMatchScopeValue = "VALUE"
)
View Source
const (
	// LabelMatchScopeLabel is a LabelMatchScope enum value
	LabelMatchScopeLabel = "LABEL"

	// LabelMatchScopeNamespace is a LabelMatchScope enum value
	LabelMatchScopeNamespace = "NAMESPACE"
)
View Source
const (
	// LogScopeCustomer is a LogScope enum value
	LogScopeCustomer = "CUSTOMER"

	// LogScopeSecurityLake is a LogScope enum value
	LogScopeSecurityLake = "SECURITY_LAKE"
)
View Source
const (
	// MapMatchScopeAll is a MapMatchScope enum value
	MapMatchScopeAll = "ALL"

	// MapMatchScopeKey is a MapMatchScope enum value
	MapMatchScopeKey = "KEY"

	// MapMatchScopeValue is a MapMatchScope enum value
	MapMatchScopeValue = "VALUE"
)
View Source
const (
	// OversizeHandlingContinue is a OversizeHandling enum value
	OversizeHandlingContinue = "CONTINUE"

	// OversizeHandlingMatch is a OversizeHandling enum value
	OversizeHandlingMatch = "MATCH"

	// OversizeHandlingNoMatch is a OversizeHandling enum value
	OversizeHandlingNoMatch = "NO_MATCH"
)
View Source
const (
	// ParameterExceptionFieldWebAcl is a ParameterExceptionField enum value
	ParameterExceptionFieldWebAcl = "WEB_ACL"

	// ParameterExceptionFieldRuleGroup is a ParameterExceptionField enum value
	ParameterExceptionFieldRuleGroup = "RULE_GROUP"

	// ParameterExceptionFieldRegexPatternSet is a ParameterExceptionField enum value
	ParameterExceptionFieldRegexPatternSet = "REGEX_PATTERN_SET"

	// ParameterExceptionFieldIpSet is a ParameterExceptionField enum value
	ParameterExceptionFieldIpSet = "IP_SET"

	// ParameterExceptionFieldManagedRuleSet is a ParameterExceptionField enum value
	ParameterExceptionFieldManagedRuleSet = "MANAGED_RULE_SET"

	// ParameterExceptionFieldRule is a ParameterExceptionField enum value
	ParameterExceptionFieldRule = "RULE"

	// ParameterExceptionFieldExcludedRule is a ParameterExceptionField enum value
	ParameterExceptionFieldExcludedRule = "EXCLUDED_RULE"

	// ParameterExceptionFieldStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldStatement = "STATEMENT"

	// ParameterExceptionFieldByteMatchStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldByteMatchStatement = "BYTE_MATCH_STATEMENT"

	// ParameterExceptionFieldSqliMatchStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldSqliMatchStatement = "SQLI_MATCH_STATEMENT"

	// ParameterExceptionFieldXssMatchStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldXssMatchStatement = "XSS_MATCH_STATEMENT"

	// ParameterExceptionFieldSizeConstraintStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldSizeConstraintStatement = "SIZE_CONSTRAINT_STATEMENT"

	// ParameterExceptionFieldGeoMatchStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldGeoMatchStatement = "GEO_MATCH_STATEMENT"

	// ParameterExceptionFieldRateBasedStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldRateBasedStatement = "RATE_BASED_STATEMENT"

	// ParameterExceptionFieldRuleGroupReferenceStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldRuleGroupReferenceStatement = "RULE_GROUP_REFERENCE_STATEMENT"

	// ParameterExceptionFieldRegexPatternReferenceStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldRegexPatternReferenceStatement = "REGEX_PATTERN_REFERENCE_STATEMENT"

	// ParameterExceptionFieldIpSetReferenceStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldIpSetReferenceStatement = "IP_SET_REFERENCE_STATEMENT"

	// ParameterExceptionFieldManagedRuleSetStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldManagedRuleSetStatement = "MANAGED_RULE_SET_STATEMENT"

	// ParameterExceptionFieldLabelMatchStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldLabelMatchStatement = "LABEL_MATCH_STATEMENT"

	// ParameterExceptionFieldAndStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldAndStatement = "AND_STATEMENT"

	// ParameterExceptionFieldOrStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldOrStatement = "OR_STATEMENT"

	// ParameterExceptionFieldNotStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldNotStatement = "NOT_STATEMENT"

	// ParameterExceptionFieldIpAddress is a ParameterExceptionField enum value
	ParameterExceptionFieldIpAddress = "IP_ADDRESS"

	// ParameterExceptionFieldIpAddressVersion is a ParameterExceptionField enum value
	ParameterExceptionFieldIpAddressVersion = "IP_ADDRESS_VERSION"

	// ParameterExceptionFieldFieldToMatch is a ParameterExceptionField enum value
	ParameterExceptionFieldFieldToMatch = "FIELD_TO_MATCH"

	// ParameterExceptionFieldTextTransformation is a ParameterExceptionField enum value
	ParameterExceptionFieldTextTransformation = "TEXT_TRANSFORMATION"

	// ParameterExceptionFieldSingleQueryArgument is a ParameterExceptionField enum value
	ParameterExceptionFieldSingleQueryArgument = "SINGLE_QUERY_ARGUMENT"

	// ParameterExceptionFieldSingleHeader is a ParameterExceptionField enum value
	ParameterExceptionFieldSingleHeader = "SINGLE_HEADER"

	// ParameterExceptionFieldDefaultAction is a ParameterExceptionField enum value
	ParameterExceptionFieldDefaultAction = "DEFAULT_ACTION"

	// ParameterExceptionFieldRuleAction is a ParameterExceptionField enum value
	ParameterExceptionFieldRuleAction = "RULE_ACTION"

	// ParameterExceptionFieldEntityLimit is a ParameterExceptionField enum value
	ParameterExceptionFieldEntityLimit = "ENTITY_LIMIT"

	// ParameterExceptionFieldOverrideAction is a ParameterExceptionField enum value
	ParameterExceptionFieldOverrideAction = "OVERRIDE_ACTION"

	// ParameterExceptionFieldScopeValue is a ParameterExceptionField enum value
	ParameterExceptionFieldScopeValue = "SCOPE_VALUE"

	// ParameterExceptionFieldResourceArn is a ParameterExceptionField enum value
	ParameterExceptionFieldResourceArn = "RESOURCE_ARN"

	// ParameterExceptionFieldResourceType is a ParameterExceptionField enum value
	ParameterExceptionFieldResourceType = "RESOURCE_TYPE"

	// ParameterExceptionFieldTags is a ParameterExceptionField enum value
	ParameterExceptionFieldTags = "TAGS"

	// ParameterExceptionFieldTagKeys is a ParameterExceptionField enum value
	ParameterExceptionFieldTagKeys = "TAG_KEYS"

	// ParameterExceptionFieldMetricName is a ParameterExceptionField enum value
	ParameterExceptionFieldMetricName = "METRIC_NAME"

	// ParameterExceptionFieldFirewallManagerStatement is a ParameterExceptionField enum value
	ParameterExceptionFieldFirewallManagerStatement = "FIREWALL_MANAGER_STATEMENT"

	// ParameterExceptionFieldFallbackBehavior is a ParameterExceptionField enum value
	ParameterExceptionFieldFallbackBehavior = "FALLBACK_BEHAVIOR"

	// ParameterExceptionFieldPosition is a ParameterExceptionField enum value
	ParameterExceptionFieldPosition = "POSITION"

	// ParameterExceptionFieldForwardedIpConfig is a ParameterExceptionField enum value
	ParameterExceptionFieldForwardedIpConfig = "FORWARDED_IP_CONFIG"

	// ParameterExceptionFieldIpSetForwardedIpConfig is a ParameterExceptionField enum value
	ParameterExceptionFieldIpSetForwardedIpConfig = "IP_SET_FORWARDED_IP_CONFIG"

	// ParameterExceptionFieldHeaderName is a ParameterExceptionField enum value
	ParameterExceptionFieldHeaderName = "HEADER_NAME"

	// ParameterExceptionFieldCustomRequestHandling is a ParameterExceptionField enum value
	ParameterExceptionFieldCustomRequestHandling = "CUSTOM_REQUEST_HANDLING"

	// ParameterExceptionFieldResponseContentType is a ParameterExceptionField enum value
	ParameterExceptionFieldResponseContentType = "RESPONSE_CONTENT_TYPE"

	// ParameterExceptionFieldCustomResponse is a ParameterExceptionField enum value
	ParameterExceptionFieldCustomResponse = "CUSTOM_RESPONSE"

	// ParameterExceptionFieldCustomResponseBody is a ParameterExceptionField enum value
	ParameterExceptionFieldCustomResponseBody = "CUSTOM_RESPONSE_BODY"

	// ParameterExceptionFieldJsonMatchPattern is a ParameterExceptionField enum value
	ParameterExceptionFieldJsonMatchPattern = "JSON_MATCH_PATTERN"

	// ParameterExceptionFieldJsonMatchScope is a ParameterExceptionField enum value
	ParameterExceptionFieldJsonMatchScope = "JSON_MATCH_SCOPE"

	// ParameterExceptionFieldBodyParsingFallbackBehavior is a ParameterExceptionField enum value
	ParameterExceptionFieldBodyParsingFallbackBehavior = "BODY_PARSING_FALLBACK_BEHAVIOR"

	// ParameterExceptionFieldLoggingFilter is a ParameterExceptionField enum value
	ParameterExceptionFieldLoggingFilter = "LOGGING_FILTER"

	// ParameterExceptionFieldFilterCondition is a ParameterExceptionField enum value
	ParameterExceptionFieldFilterCondition = "FILTER_CONDITION"

	// ParameterExceptionFieldExpireTimestamp is a ParameterExceptionField enum value
	ParameterExceptionFieldExpireTimestamp = "EXPIRE_TIMESTAMP"

	// ParameterExceptionFieldChangePropagationStatus is a ParameterExceptionField enum value
	ParameterExceptionFieldChangePropagationStatus = "CHANGE_PROPAGATION_STATUS"

	// ParameterExceptionFieldAssociableResource is a ParameterExceptionField enum value
	ParameterExceptionFieldAssociableResource = "ASSOCIABLE_RESOURCE"

	// ParameterExceptionFieldLogDestination is a ParameterExceptionField enum value
	ParameterExceptionFieldLogDestination = "LOG_DESTINATION"

	// ParameterExceptionFieldManagedRuleGroupConfig is a ParameterExceptionField enum value
	ParameterExceptionFieldManagedRuleGroupConfig = "MANAGED_RULE_GROUP_CONFIG"

	// ParameterExceptionFieldPayloadType is a ParameterExceptionField enum value
	ParameterExceptionFieldPayloadType = "PAYLOAD_TYPE"

	// ParameterExceptionFieldHeaderMatchPattern is a ParameterExceptionField enum value
	ParameterExceptionFieldHeaderMatchPattern = "HEADER_MATCH_PATTERN"

	// ParameterExceptionFieldCookieMatchPattern is a ParameterExceptionField enum value
	ParameterExceptionFieldCookieMatchPattern = "COOKIE_MATCH_PATTERN"

	// ParameterExceptionFieldMapMatchScope is a ParameterExceptionField enum value
	ParameterExceptionFieldMapMatchScope = "MAP_MATCH_SCOPE"

	// ParameterExceptionFieldOversizeHandling is a ParameterExceptionField enum value
	ParameterExceptionFieldOversizeHandling = "OVERSIZE_HANDLING"

	// ParameterExceptionFieldChallengeConfig is a ParameterExceptionField enum value
	ParameterExceptionFieldChallengeConfig = "CHALLENGE_CONFIG"

	// ParameterExceptionFieldTokenDomain is a ParameterExceptionField enum value
	ParameterExceptionFieldTokenDomain = "TOKEN_DOMAIN"

	// ParameterExceptionFieldAtpRuleSetResponseInspection is a ParameterExceptionField enum value
	ParameterExceptionFieldAtpRuleSetResponseInspection = "ATP_RULE_SET_RESPONSE_INSPECTION"

	// ParameterExceptionFieldAssociatedResourceType is a ParameterExceptionField enum value
	ParameterExceptionFieldAssociatedResourceType = "ASSOCIATED_RESOURCE_TYPE"

	// ParameterExceptionFieldScopeDown is a ParameterExceptionField enum value
	ParameterExceptionFieldScopeDown = "SCOPE_DOWN"

	// ParameterExceptionFieldCustomKeys is a ParameterExceptionField enum value
	ParameterExceptionFieldCustomKeys = "CUSTOM_KEYS"

	// ParameterExceptionFieldAcpRuleSetResponseInspection is a ParameterExceptionField enum value
	ParameterExceptionFieldAcpRuleSetResponseInspection = "ACP_RULE_SET_RESPONSE_INSPECTION"
)
View Source
const (
	// PayloadTypeJson is a PayloadType enum value
	PayloadTypeJson = "JSON"

	// PayloadTypeFormEncoded is a PayloadType enum value
	PayloadTypeFormEncoded = "FORM_ENCODED"
)
View Source
const (
	// PlatformIos is a Platform enum value
	PlatformIos = "IOS"

	// PlatformAndroid is a Platform enum value
	PlatformAndroid = "ANDROID"
)
View Source
const (
	// PositionalConstraintExactly is a PositionalConstraint enum value
	PositionalConstraintExactly = "EXACTLY"

	// PositionalConstraintStartsWith is a PositionalConstraint enum value
	PositionalConstraintStartsWith = "STARTS_WITH"

	// PositionalConstraintEndsWith is a PositionalConstraint enum value
	PositionalConstraintEndsWith = "ENDS_WITH"

	// PositionalConstraintContains is a PositionalConstraint enum value
	PositionalConstraintContains = "CONTAINS"

	// PositionalConstraintContainsWord is a PositionalConstraint enum value
	PositionalConstraintContainsWord = "CONTAINS_WORD"
)
View Source
const (
	// RateBasedStatementAggregateKeyTypeIp is a RateBasedStatementAggregateKeyType enum value
	RateBasedStatementAggregateKeyTypeIp = "IP"

	// RateBasedStatementAggregateKeyTypeForwardedIp is a RateBasedStatementAggregateKeyType enum value
	RateBasedStatementAggregateKeyTypeForwardedIp = "FORWARDED_IP"

	// RateBasedStatementAggregateKeyTypeCustomKeys is a RateBasedStatementAggregateKeyType enum value
	RateBasedStatementAggregateKeyTypeCustomKeys = "CUSTOM_KEYS"

	// RateBasedStatementAggregateKeyTypeConstant is a RateBasedStatementAggregateKeyType enum value
	RateBasedStatementAggregateKeyTypeConstant = "CONSTANT"
)
View Source
const (
	// ResourceTypeApplicationLoadBalancer is a ResourceType enum value
	ResourceTypeApplicationLoadBalancer = "APPLICATION_LOAD_BALANCER"

	// ResourceTypeApiGateway is a ResourceType enum value
	ResourceTypeApiGateway = "API_GATEWAY"

	// ResourceTypeAppsync is a ResourceType enum value
	ResourceTypeAppsync = "APPSYNC"

	// ResourceTypeCognitoUserPool is a ResourceType enum value
	ResourceTypeCognitoUserPool = "COGNITO_USER_POOL"

	// ResourceTypeAppRunnerService is a ResourceType enum value
	ResourceTypeAppRunnerService = "APP_RUNNER_SERVICE"

	// ResourceTypeVerifiedAccessInstance is a ResourceType enum value
	ResourceTypeVerifiedAccessInstance = "VERIFIED_ACCESS_INSTANCE"
)
View Source
const (
	// ResponseContentTypeTextPlain is a ResponseContentType enum value
	ResponseContentTypeTextPlain = "TEXT_PLAIN"

	// ResponseContentTypeTextHtml is a ResponseContentType enum value
	ResponseContentTypeTextHtml = "TEXT_HTML"

	// ResponseContentTypeApplicationJson is a ResponseContentType enum value
	ResponseContentTypeApplicationJson = "APPLICATION_JSON"
)
View Source
const (
	// ScopeCloudfront is a Scope enum value
	ScopeCloudfront = "CLOUDFRONT"

	// ScopeRegional is a Scope enum value
	ScopeRegional = "REGIONAL"
)
View Source
const (
	// SensitivityLevelLow is a SensitivityLevel enum value
	SensitivityLevelLow = "LOW"

	// SensitivityLevelHigh is a SensitivityLevel enum value
	SensitivityLevelHigh = "HIGH"
)
View Source
const (
	// SizeInspectionLimitKb16 is a SizeInspectionLimit enum value
	SizeInspectionLimitKb16 = "KB_16"

	// SizeInspectionLimitKb32 is a SizeInspectionLimit enum value
	SizeInspectionLimitKb32 = "KB_32"

	// SizeInspectionLimitKb48 is a SizeInspectionLimit enum value
	SizeInspectionLimitKb48 = "KB_48"

	// SizeInspectionLimitKb64 is a SizeInspectionLimit enum value
	SizeInspectionLimitKb64 = "KB_64"
)
View Source
const (
	// TextTransformationTypeNone is a TextTransformationType enum value
	TextTransformationTypeNone = "NONE"

	// TextTransformationTypeCompressWhiteSpace is a TextTransformationType enum value
	TextTransformationTypeCompressWhiteSpace = "COMPRESS_WHITE_SPACE"

	// TextTransformationTypeHtmlEntityDecode is a TextTransformationType enum value
	TextTransformationTypeHtmlEntityDecode = "HTML_ENTITY_DECODE"

	// TextTransformationTypeLowercase is a TextTransformationType enum value
	TextTransformationTypeLowercase = "LOWERCASE"

	// TextTransformationTypeCmdLine is a TextTransformationType enum value
	TextTransformationTypeCmdLine = "CMD_LINE"

	// TextTransformationTypeUrlDecode is a TextTransformationType enum value
	TextTransformationTypeUrlDecode = "URL_DECODE"

	// TextTransformationTypeBase64Decode is a TextTransformationType enum value
	TextTransformationTypeBase64Decode = "BASE64_DECODE"

	// TextTransformationTypeHexDecode is a TextTransformationType enum value
	TextTransformationTypeHexDecode = "HEX_DECODE"

	// TextTransformationTypeMd5 is a TextTransformationType enum value
	TextTransformationTypeMd5 = "MD5"

	// TextTransformationTypeReplaceComments is a TextTransformationType enum value
	TextTransformationTypeReplaceComments = "REPLACE_COMMENTS"

	// TextTransformationTypeEscapeSeqDecode is a TextTransformationType enum value
	TextTransformationTypeEscapeSeqDecode = "ESCAPE_SEQ_DECODE"

	// TextTransformationTypeSqlHexDecode is a TextTransformationType enum value
	TextTransformationTypeSqlHexDecode = "SQL_HEX_DECODE"

	// TextTransformationTypeCssDecode is a TextTransformationType enum value
	TextTransformationTypeCssDecode = "CSS_DECODE"

	// TextTransformationTypeJsDecode is a TextTransformationType enum value
	TextTransformationTypeJsDecode = "JS_DECODE"

	// TextTransformationTypeNormalizePath is a TextTransformationType enum value
	TextTransformationTypeNormalizePath = "NORMALIZE_PATH"

	// TextTransformationTypeNormalizePathWin is a TextTransformationType enum value
	TextTransformationTypeNormalizePathWin = "NORMALIZE_PATH_WIN"

	// TextTransformationTypeRemoveNulls is a TextTransformationType enum value
	TextTransformationTypeRemoveNulls = "REMOVE_NULLS"

	// TextTransformationTypeReplaceNulls is a TextTransformationType enum value
	TextTransformationTypeReplaceNulls = "REPLACE_NULLS"

	// TextTransformationTypeBase64DecodeExt is a TextTransformationType enum value
	TextTransformationTypeBase64DecodeExt = "BASE64_DECODE_EXT"

	// TextTransformationTypeUrlDecodeUni is a TextTransformationType enum value
	TextTransformationTypeUrlDecodeUni = "URL_DECODE_UNI"

	// TextTransformationTypeUtf8ToUnicode is a TextTransformationType enum value
	TextTransformationTypeUtf8ToUnicode = "UTF8_TO_UNICODE"
)
View Source
const (

	// ErrCodeWAFAssociatedItemException for service response error code
	// "WAFAssociatedItemException".
	//
	// WAF couldn’t perform the operation because your resource is being used
	// by another resource or it’s associated with another resource.
	ErrCodeWAFAssociatedItemException = "WAFAssociatedItemException"

	// ErrCodeWAFConfigurationWarningException for service response error code
	// "WAFConfigurationWarningException".
	//
	// The operation failed because you are inspecting the web request body, headers,
	// or cookies without specifying how to handle oversize components. Rules that
	// inspect the body must either provide an OversizeHandling configuration or
	// they must be preceded by a SizeConstraintStatement that blocks the body content
	// from being too large. Rules that inspect the headers or cookies must provide
	// an OversizeHandling configuration.
	//
	// Provide the handling configuration and retry your operation.
	//
	// Alternately, you can suppress this warning by adding the following tag to
	// the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut,
	// value:true).
	ErrCodeWAFConfigurationWarningException = "WAFConfigurationWarningException"

	// ErrCodeWAFDuplicateItemException for service response error code
	// "WAFDuplicateItemException".
	//
	// WAF couldn’t perform the operation because the resource that you tried
	// to save is a duplicate of an existing one.
	ErrCodeWAFDuplicateItemException = "WAFDuplicateItemException"

	// ErrCodeWAFExpiredManagedRuleGroupVersionException for service response error code
	// "WAFExpiredManagedRuleGroupVersionException".
	//
	// The operation failed because the specified version for the managed rule group
	// has expired. You can retrieve the available versions for the managed rule
	// group by calling ListAvailableManagedRuleGroupVersions.
	ErrCodeWAFExpiredManagedRuleGroupVersionException = "WAFExpiredManagedRuleGroupVersionException"

	// ErrCodeWAFInternalErrorException for service response error code
	// "WAFInternalErrorException".
	//
	// Your request is valid, but WAF couldn’t perform the operation because of
	// a system problem. Retry your request.
	ErrCodeWAFInternalErrorException = "WAFInternalErrorException"

	// ErrCodeWAFInvalidOperationException for service response error code
	// "WAFInvalidOperationException".
	//
	// The operation isn't valid.
	ErrCodeWAFInvalidOperationException = "WAFInvalidOperationException"

	// ErrCodeWAFInvalidParameterException for service response error code
	// "WAFInvalidParameterException".
	//
	// The operation failed because WAF didn't recognize a parameter in the request.
	// For example:
	//
	//    * You specified a parameter name or value that isn't valid.
	//
	//    * Your nested statement isn't valid. You might have tried to nest a statement
	//    that can’t be nested.
	//
	//    * You tried to update a WebACL with a DefaultAction that isn't among the
	//    types available at DefaultAction.
	//
	//    * Your request references an ARN that is malformed, or corresponds to
	//    a resource with which a web ACL can't be associated.
	ErrCodeWAFInvalidParameterException = "WAFInvalidParameterException"

	// ErrCodeWAFInvalidPermissionPolicyException for service response error code
	// "WAFInvalidPermissionPolicyException".
	//
	// The operation failed because the specified policy isn't in the proper format.
	//
	// The policy specifications must conform to the following:
	//
	//    * The policy must be composed using IAM Policy version 2012-10-17.
	//
	//    * The policy must include specifications for Effect, Action, and Principal.
	//
	//    * Effect must specify Allow.
	//
	//    * Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups
	//    and may optionally specify wafv2:GetRuleGroup. WAF rejects any extra actions
	//    or wildcard actions in the policy.
	//
	//    * The policy must not include a Resource parameter.
	//
	// For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
	ErrCodeWAFInvalidPermissionPolicyException = "WAFInvalidPermissionPolicyException"

	// ErrCodeWAFInvalidResourceException for service response error code
	// "WAFInvalidResourceException".
	//
	// WAF couldn’t perform the operation because the resource that you requested
	// isn’t valid. Check the resource, and try again.
	ErrCodeWAFInvalidResourceException = "WAFInvalidResourceException"

	// ErrCodeWAFLimitsExceededException for service response error code
	// "WAFLimitsExceededException".
	//
	// WAF couldn’t perform the operation because you exceeded your resource limit.
	// For example, the maximum number of WebACL objects that you can create for
	// an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	ErrCodeWAFLimitsExceededException = "WAFLimitsExceededException"

	// ErrCodeWAFLogDestinationPermissionIssueException for service response error code
	// "WAFLogDestinationPermissionIssueException".
	//
	// The operation failed because you don't have the permissions that your logging
	// configuration requires. For information, see Logging web ACL traffic information
	// (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the
	// WAF Developer Guide.
	ErrCodeWAFLogDestinationPermissionIssueException = "WAFLogDestinationPermissionIssueException"

	// ErrCodeWAFNonexistentItemException for service response error code
	// "WAFNonexistentItemException".
	//
	// WAF couldn’t perform the operation because your resource doesn't exist.
	// If you've just created a resource that you're using in this operation, you
	// might just need to wait a few minutes. It can take from a few seconds to
	// a number of minutes for changes to propagate.
	ErrCodeWAFNonexistentItemException = "WAFNonexistentItemException"

	// ErrCodeWAFOptimisticLockException for service response error code
	// "WAFOptimisticLockException".
	//
	// WAF couldn’t save your changes because you tried to update or delete a
	// resource that has changed since you last retrieved it. Get the resource again,
	// make any changes you need to make to the new copy, and retry your operation.
	ErrCodeWAFOptimisticLockException = "WAFOptimisticLockException"

	// ErrCodeWAFServiceLinkedRoleErrorException for service response error code
	// "WAFServiceLinkedRoleErrorException".
	//
	// WAF is not able to access the service linked role. This can be caused by
	// a previous PutLoggingConfiguration request, which can lock the service linked
	// role for about 20 seconds. Please try your request again. The service linked
	// role can also be locked by a previous DeleteServiceLinkedRole request, which
	// can lock the role for 15 minutes or more. If you recently made a call to
	// DeleteServiceLinkedRole, wait at least 15 minutes and try the request again.
	// If you receive this same exception again, you will have to wait additional
	// time until the role is unlocked.
	ErrCodeWAFServiceLinkedRoleErrorException = "WAFServiceLinkedRoleErrorException"

	// ErrCodeWAFSubscriptionNotFoundException for service response error code
	// "WAFSubscriptionNotFoundException".
	//
	// You tried to use a managed rule group that's available by subscription, but
	// you aren't subscribed to it yet.
	ErrCodeWAFSubscriptionNotFoundException = "WAFSubscriptionNotFoundException"

	// ErrCodeWAFTagOperationException for service response error code
	// "WAFTagOperationException".
	//
	// An error occurred during the tagging operation. Retry your request.
	ErrCodeWAFTagOperationException = "WAFTagOperationException"

	// ErrCodeWAFTagOperationInternalErrorException for service response error code
	// "WAFTagOperationInternalErrorException".
	//
	// WAF couldn’t perform your tagging operation because of an internal error.
	// Retry your request.
	ErrCodeWAFTagOperationInternalErrorException = "WAFTagOperationInternalErrorException"

	// ErrCodeWAFUnavailableEntityException for service response error code
	// "WAFUnavailableEntityException".
	//
	// WAF couldn’t retrieve a resource that you specified for this operation.
	// If you've just created a resource that you're using in this operation, you
	// might just need to wait a few minutes. It can take from a few seconds to
	// a number of minutes for changes to propagate. Verify the resources that you
	// are specifying in your request parameters and then retry the operation.
	ErrCodeWAFUnavailableEntityException = "WAFUnavailableEntityException"

	// ErrCodeWAFUnsupportedAggregateKeyTypeException for service response error code
	// "WAFUnsupportedAggregateKeyTypeException".
	//
	// The rule that you've named doesn't aggregate solely on the IP address or
	// solely on the forwarded IP address. This call is only available for rate-based
	// rules with an AggregateKeyType setting of IP or FORWARDED_IP.
	ErrCodeWAFUnsupportedAggregateKeyTypeException = "WAFUnsupportedAggregateKeyTypeException"
)
View Source
const (
	ServiceName = "WAFV2" // Name of service.
	EndpointsID = "wafv2" // ID to lookup a service endpoint with.
	ServiceID   = "WAFV2" // ServiceID is a unique identifier of a specific service.
)

Service information constants

View Source
const (
	// LogTypeWafLogs is a LogType enum value
	LogTypeWafLogs = "WAF_LOGS"
)

Variables

This section is empty.

Functions

func ActionValue_Values added in v1.38.11

func ActionValue_Values() []string

ActionValue_Values returns all elements of the ActionValue enum

func AssociatedResourceType_Values added in v1.44.235

func AssociatedResourceType_Values() []string

AssociatedResourceType_Values returns all elements of the AssociatedResourceType enum

func BodyParsingFallbackBehavior_Values added in v1.37.10

func BodyParsingFallbackBehavior_Values() []string

BodyParsingFallbackBehavior_Values returns all elements of the BodyParsingFallbackBehavior enum

func ComparisonOperator_Values added in v1.34.3

func ComparisonOperator_Values() []string

ComparisonOperator_Values returns all elements of the ComparisonOperator enum

func CountryCode_Values added in v1.34.3

func CountryCode_Values() []string

CountryCode_Values returns all elements of the CountryCode enum

func FailureReason_Values added in v1.42.0

func FailureReason_Values() []string

FailureReason_Values returns all elements of the FailureReason enum

func FallbackBehavior_Values added in v1.34.3

func FallbackBehavior_Values() []string

FallbackBehavior_Values returns all elements of the FallbackBehavior enum

func FilterBehavior_Values added in v1.38.11

func FilterBehavior_Values() []string

FilterBehavior_Values returns all elements of the FilterBehavior enum

func FilterRequirement_Values added in v1.38.11

func FilterRequirement_Values() []string

FilterRequirement_Values returns all elements of the FilterRequirement enum

func ForwardedIPPosition_Values added in v1.34.3

func ForwardedIPPosition_Values() []string

ForwardedIPPosition_Values returns all elements of the ForwardedIPPosition enum

func IPAddressVersion_Values added in v1.34.3

func IPAddressVersion_Values() []string

IPAddressVersion_Values returns all elements of the IPAddressVersion enum

func InspectionLevel_Values added in v1.44.125

func InspectionLevel_Values() []string

InspectionLevel_Values returns all elements of the InspectionLevel enum

func JsonMatchScope_Values added in v1.37.10

func JsonMatchScope_Values() []string

JsonMatchScope_Values returns all elements of the JsonMatchScope enum

func LabelMatchScope_Values added in v1.38.11

func LabelMatchScope_Values() []string

LabelMatchScope_Values returns all elements of the LabelMatchScope enum

func LogScope_Values added in v1.53.8

func LogScope_Values() []string

LogScope_Values returns all elements of the LogScope enum

func LogType_Values added in v1.53.8

func LogType_Values() []string

LogType_Values returns all elements of the LogType enum

func MapMatchScope_Values added in v1.44.4

func MapMatchScope_Values() []string

MapMatchScope_Values returns all elements of the MapMatchScope enum

func OversizeHandling_Values added in v1.44.4

func OversizeHandling_Values() []string

OversizeHandling_Values returns all elements of the OversizeHandling enum

func ParameterExceptionField_Values added in v1.34.3

func ParameterExceptionField_Values() []string

ParameterExceptionField_Values returns all elements of the ParameterExceptionField enum

func PayloadType_Values added in v1.42.51

func PayloadType_Values() []string

PayloadType_Values returns all elements of the PayloadType enum

func Platform_Values added in v1.42.51

func Platform_Values() []string

Platform_Values returns all elements of the Platform enum

func PositionalConstraint_Values added in v1.34.3

func PositionalConstraint_Values() []string

PositionalConstraint_Values returns all elements of the PositionalConstraint enum

func RateBasedStatementAggregateKeyType_Values added in v1.34.3

func RateBasedStatementAggregateKeyType_Values() []string

RateBasedStatementAggregateKeyType_Values returns all elements of the RateBasedStatementAggregateKeyType enum

func ResourceType_Values added in v1.34.3

func ResourceType_Values() []string

ResourceType_Values returns all elements of the ResourceType enum

func ResponseContentType_Values added in v1.38.8

func ResponseContentType_Values() []string

ResponseContentType_Values returns all elements of the ResponseContentType enum

func Scope_Values added in v1.34.3

func Scope_Values() []string

Scope_Values returns all elements of the Scope enum

func SensitivityLevel_Values added in v1.44.56

func SensitivityLevel_Values() []string

SensitivityLevel_Values returns all elements of the SensitivityLevel enum

func SizeInspectionLimit_Values added in v1.44.235

func SizeInspectionLimit_Values() []string

SizeInspectionLimit_Values returns all elements of the SizeInspectionLimit enum

func TextTransformationType_Values added in v1.34.3

func TextTransformationType_Values() []string

TextTransformationType_Values returns all elements of the TextTransformationType enum

Types

type APIKeySummary added in v1.44.247

type APIKeySummary struct {

	// The generated, encrypted API key. You can copy this for use in your JavaScript
	// CAPTCHA integration.
	APIKey *string `min:"1" type:"string"`

	// The date and time that the key was created.
	CreationTimestamp *time.Time `type:"timestamp"`

	// The token domains that are defined in this API key.
	TokenDomains []*string `type:"list"`

	// Internal value used by WAF to manage the key.
	Version *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Information for a single API key.

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

func (APIKeySummary) GoString added in v1.44.247

func (s APIKeySummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*APIKeySummary) SetAPIKey added in v1.44.247

func (s *APIKeySummary) SetAPIKey(v string) *APIKeySummary

SetAPIKey sets the APIKey field's value.

func (*APIKeySummary) SetCreationTimestamp added in v1.44.247

func (s *APIKeySummary) SetCreationTimestamp(v time.Time) *APIKeySummary

SetCreationTimestamp sets the CreationTimestamp field's value.

func (*APIKeySummary) SetTokenDomains added in v1.44.247

func (s *APIKeySummary) SetTokenDomains(v []*string) *APIKeySummary

SetTokenDomains sets the TokenDomains field's value.

func (*APIKeySummary) SetVersion added in v1.44.247

func (s *APIKeySummary) SetVersion(v int64) *APIKeySummary

SetVersion sets the Version field's value.

func (APIKeySummary) String added in v1.44.247

func (s APIKeySummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type AWSManagedRulesACFPRuleSet added in v1.44.282

type AWSManagedRulesACFPRuleSet struct {

	// The path of the account creation endpoint for your application. This is the
	// page on your website that accepts the completed registration form for a new
	// user. This page must accept POST requests.
	//
	// For example, for the URL https://example.com/web/newaccount, you would provide
	// the path /web/newaccount. Account creation page paths that start with the
	// path that you provide are considered a match. For example /web/newaccount
	// matches the account creation paths /web/newaccount, /web/newaccount/, /web/newaccountPage,
	// and /web/newaccount/thisPage, but doesn't match the path /home/web/newaccount
	// or /website/newaccount.
	//
	// CreationPath is a required field
	CreationPath *string `min:"1" type:"string" required:"true"`

	// Allow the use of regular expressions in the registration page path and the
	// account creation path.
	EnableRegexInPath *bool `type:"boolean"`

	// The path of the account registration endpoint for your application. This
	// is the page on your website that presents the registration form to new users.
	//
	// This page must accept GET text/html requests.
	//
	// For example, for the URL https://example.com/web/registration, you would
	// provide the path /web/registration. Registration page paths that start with
	// the path that you provide are considered a match. For example /web/registration
	// matches the registration paths /web/registration, /web/registration/, /web/registrationPage,
	// and /web/registration/thisPage, but doesn't match the path /home/web/registration
	// or /website/registration.
	//
	// RegistrationPagePath is a required field
	RegistrationPagePath *string `min:"1" type:"string" required:"true"`

	// The criteria for inspecting account creation requests, used by the ACFP rule
	// group to validate and track account creation attempts.
	//
	// RequestInspection is a required field
	RequestInspection *RequestInspectionACFP `type:"structure" required:"true"`

	// The criteria for inspecting responses to account creation requests, used
	// by the ACFP rule group to track account creation success rates.
	//
	// Response inspection is available only in web ACLs that protect Amazon CloudFront
	// distributions.
	//
	// The ACFP rule group evaluates the responses that your protected resources
	// send back to client account creation attempts, keeping count of successful
	// and failed attempts from each IP address and client session. Using this information,
	// the rule group labels and mitigates requests from client sessions and IP
	// addresses that have had too many successful account creation attempts in
	// a short amount of time.
	ResponseInspection *ResponseInspection `type:"structure"`
	// contains filtered or unexported fields
}

Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

func (AWSManagedRulesACFPRuleSet) GoString added in v1.44.282

func (s AWSManagedRulesACFPRuleSet) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesACFPRuleSet) SetCreationPath added in v1.44.282

SetCreationPath sets the CreationPath field's value.

func (*AWSManagedRulesACFPRuleSet) SetEnableRegexInPath added in v1.44.282

func (s *AWSManagedRulesACFPRuleSet) SetEnableRegexInPath(v bool) *AWSManagedRulesACFPRuleSet

SetEnableRegexInPath sets the EnableRegexInPath field's value.

func (*AWSManagedRulesACFPRuleSet) SetRegistrationPagePath added in v1.44.282

func (s *AWSManagedRulesACFPRuleSet) SetRegistrationPagePath(v string) *AWSManagedRulesACFPRuleSet

SetRegistrationPagePath sets the RegistrationPagePath field's value.

func (*AWSManagedRulesACFPRuleSet) SetRequestInspection added in v1.44.282

SetRequestInspection sets the RequestInspection field's value.

func (*AWSManagedRulesACFPRuleSet) SetResponseInspection added in v1.44.282

SetResponseInspection sets the ResponseInspection field's value.

func (AWSManagedRulesACFPRuleSet) String added in v1.44.282

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesACFPRuleSet) Validate added in v1.44.282

func (s *AWSManagedRulesACFPRuleSet) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AWSManagedRulesATPRuleSet added in v1.44.202

type AWSManagedRulesATPRuleSet struct {

	// Allow the use of regular expressions in the login page path.
	EnableRegexInPath *bool `type:"boolean"`

	// The path of the login endpoint for your application. For example, for the
	// URL https://example.com/web/login, you would provide the path /web/login.
	// Login paths that start with the path that you provide are considered a match.
	// For example /web/login matches the login paths /web/login, /web/login/, /web/loginPage,
	// and /web/login/thisPage, but doesn't match the login path /home/web/login
	// or /website/login.
	//
	// The rule group inspects only HTTP POST requests to your specified login endpoint.
	//
	// LoginPath is a required field
	LoginPath *string `type:"string" required:"true"`

	// The criteria for inspecting login requests, used by the ATP rule group to
	// validate credentials usage.
	RequestInspection *RequestInspection `type:"structure"`

	// The criteria for inspecting responses to login requests, used by the ATP
	// rule group to track login failure rates.
	//
	// Response inspection is available only in web ACLs that protect Amazon CloudFront
	// distributions.
	//
	// The ATP rule group evaluates the responses that your protected resources
	// send back to client login attempts, keeping count of successful and failed
	// attempts for each IP address and client session. Using this information,
	// the rule group labels and mitigates requests from client sessions and IP
	// addresses that have had too many failed login attempts in a short amount
	// of time.
	ResponseInspection *ResponseInspection `type:"structure"`
	// contains filtered or unexported fields
}

Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet. This configuration is used in ManagedRuleGroupConfig.

func (AWSManagedRulesATPRuleSet) GoString added in v1.44.202

func (s AWSManagedRulesATPRuleSet) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesATPRuleSet) SetEnableRegexInPath added in v1.44.282

func (s *AWSManagedRulesATPRuleSet) SetEnableRegexInPath(v bool) *AWSManagedRulesATPRuleSet

SetEnableRegexInPath sets the EnableRegexInPath field's value.

func (*AWSManagedRulesATPRuleSet) SetLoginPath added in v1.44.202

SetLoginPath sets the LoginPath field's value.

func (*AWSManagedRulesATPRuleSet) SetRequestInspection added in v1.44.202

SetRequestInspection sets the RequestInspection field's value.

func (*AWSManagedRulesATPRuleSet) SetResponseInspection added in v1.44.202

SetResponseInspection sets the ResponseInspection field's value.

func (AWSManagedRulesATPRuleSet) String added in v1.44.202

func (s AWSManagedRulesATPRuleSet) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesATPRuleSet) Validate added in v1.44.202

func (s *AWSManagedRulesATPRuleSet) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AWSManagedRulesBotControlRuleSet added in v1.44.125

type AWSManagedRulesBotControlRuleSet struct {

	// Applies only to the targeted inspection level.
	//
	// Determines whether to use machine learning (ML) to analyze your web traffic
	// for bot-related activity. Machine learning is required for the Bot Control
	// rules TGT_ML_CoordinatedActivityLow and TGT_ML_CoordinatedActivityMedium,
	// which inspect for anomalous behavior that might indicate distributed, coordinated
	// bot activity.
	//
	// For more information about this choice, see the listing for these rules in
	// the table at Bot Control rules listing (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules)
	// in the WAF Developer Guide.
	//
	// Default: TRUE
	EnableMachineLearning *bool `type:"boolean"`

	// The inspection level to use for the Bot Control rule group. The common level
	// is the least expensive. The targeted level includes all common level rules
	// and adds rules with more advanced inspection criteria. For details, see WAF
	// Bot Control rule group (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)
	// in the WAF Developer Guide.
	//
	// InspectionLevel is a required field
	InspectionLevel *string `type:"string" required:"true" enum:"InspectionLevel"`
	// contains filtered or unexported fields
}

Details for your use of the Bot Control managed rule group, AWSManagedRulesBotControlRuleSet. This configuration is used in ManagedRuleGroupConfig.

func (AWSManagedRulesBotControlRuleSet) GoString added in v1.44.125

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesBotControlRuleSet) SetEnableMachineLearning added in v1.45.4

SetEnableMachineLearning sets the EnableMachineLearning field's value.

func (*AWSManagedRulesBotControlRuleSet) SetInspectionLevel added in v1.44.125

SetInspectionLevel sets the InspectionLevel field's value.

func (AWSManagedRulesBotControlRuleSet) String added in v1.44.125

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AWSManagedRulesBotControlRuleSet) Validate added in v1.44.125

Validate inspects the fields of the type to determine if they are valid.

type ActionCondition added in v1.38.11

type ActionCondition struct {

	// The action setting that a log record must contain in order to meet the condition.
	// This is the action that WAF applied to the web request.
	//
	// For rule groups, this is either the configured rule action setting, or if
	// you've applied a rule action override to the rule, it's the override action.
	// The value EXCLUDED_AS_COUNT matches on excluded rules and also on rules that
	// have a rule action override of Count.
	//
	// Action is a required field
	Action *string `type:"string" required:"true" enum:"ActionValue"`
	// contains filtered or unexported fields
}

A single action condition for a Condition in a logging filter.

func (ActionCondition) GoString added in v1.38.11

func (s ActionCondition) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ActionCondition) SetAction added in v1.38.11

func (s *ActionCondition) SetAction(v string) *ActionCondition

SetAction sets the Action field's value.

func (ActionCondition) String added in v1.38.11

func (s ActionCondition) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ActionCondition) Validate added in v1.38.11

func (s *ActionCondition) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AddressField added in v1.44.282

type AddressField struct {

	// The name of a single primary address field.
	//
	// How you specify the address fields depends on the request inspection payload
	// type.
	//
	//    * For JSON payloads, specify the field identifiers in JSON pointer syntax.
	//    For information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2":
	//    "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, the address
	//    field idenfiers are /form/primaryaddressline1, /form/primaryaddressline2,
	//    and /form/primaryaddressline3.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with input elements named primaryaddressline1, primaryaddressline2,
	//    and primaryaddressline3, the address fields identifiers are primaryaddressline1,
	//    primaryaddressline2, and primaryaddressline3.
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The name of a field in the request payload that contains part or all of your customer's primary physical address.

This data type is used in the RequestInspectionACFP data type.

func (AddressField) GoString added in v1.44.282

func (s AddressField) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AddressField) SetIdentifier added in v1.44.282

func (s *AddressField) SetIdentifier(v string) *AddressField

SetIdentifier sets the Identifier field's value.

func (AddressField) String added in v1.44.282

func (s AddressField) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AddressField) Validate added in v1.44.282

func (s *AddressField) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type All added in v1.37.10

type All struct {
	// contains filtered or unexported fields
}

Inspect all of the elements that WAF has parsed and extracted from the web request component that you've identified in your FieldToMatch specifications.

This is used in the FieldToMatch specification for some web request component types.

JSON specification: "All": {}

func (All) GoString added in v1.37.10

func (s All) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (All) String added in v1.37.10

func (s All) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type AllQueryArguments

type AllQueryArguments struct {
	// contains filtered or unexported fields
}

Inspect all query arguments of the web request.

This is used in the FieldToMatch specification for some web request component types.

JSON specification: "AllQueryArguments": {}

func (AllQueryArguments) GoString

func (s AllQueryArguments) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (AllQueryArguments) String

func (s AllQueryArguments) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type AllowAction

type AllowAction struct {

	// Defines custom handling for the web request.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	CustomRequestHandling *CustomRequestHandling `type:"structure"`
	// contains filtered or unexported fields
}

Specifies that WAF should allow the request and optionally defines additional custom handling for the request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

func (AllowAction) GoString

func (s AllowAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AllowAction) SetCustomRequestHandling added in v1.38.8

func (s *AllowAction) SetCustomRequestHandling(v *CustomRequestHandling) *AllowAction

SetCustomRequestHandling sets the CustomRequestHandling field's value.

func (AllowAction) String

func (s AllowAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AllowAction) Validate added in v1.38.8

func (s *AllowAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AndStatement

type AndStatement struct {

	// The statements to combine with AND logic. You can use any statements that
	// can be nested.
	//
	// Statements is a required field
	Statements []*Statement `type:"list" required:"true"`
	// contains filtered or unexported fields
}

A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

func (AndStatement) GoString

func (s AndStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AndStatement) SetStatements

func (s *AndStatement) SetStatements(v []*Statement) *AndStatement

SetStatements sets the Statements field's value.

func (AndStatement) String

func (s AndStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AndStatement) Validate

func (s *AndStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AssociateWebACLInput

type AssociateWebACLInput struct {

	// The Amazon Resource Name (ARN) of the resource to associate with the web
	// ACL.
	//
	// The ARN must be in one of the following formats:
	//
	//    * For an Application Load Balancer: arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
	//
	//    * For an Amazon API Gateway REST API: arn:partition:apigateway:region::/restapis/api-id/stages/stage-name
	//
	//    * For an AppSync GraphQL API: arn:partition:appsync:region:account-id:apis/GraphQLApiId
	//
	//    * For an Amazon Cognito user pool: arn:partition:cognito-idp:region:account-id:userpool/user-pool-id
	//
	//    * For an App Runner service: arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id
	//
	//    * For an Amazon Web Services Verified Access instance: arn:partition:ec2:region:account-id:verified-access-instance/instance-id
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`

	// The Amazon Resource Name (ARN) of the web ACL that you want to associate
	// with the resource.
	//
	// WebACLArn is a required field
	WebACLArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (AssociateWebACLInput) GoString

func (s AssociateWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AssociateWebACLInput) SetResourceArn

func (s *AssociateWebACLInput) SetResourceArn(v string) *AssociateWebACLInput

SetResourceArn sets the ResourceArn field's value.

func (*AssociateWebACLInput) SetWebACLArn

func (s *AssociateWebACLInput) SetWebACLArn(v string) *AssociateWebACLInput

SetWebACLArn sets the WebACLArn field's value.

func (AssociateWebACLInput) String

func (s AssociateWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AssociateWebACLInput) Validate

func (s *AssociateWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AssociateWebACLOutput

type AssociateWebACLOutput struct {
	// contains filtered or unexported fields
}

func (AssociateWebACLOutput) GoString

func (s AssociateWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (AssociateWebACLOutput) String

func (s AssociateWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type AssociationConfig added in v1.44.235

type AssociationConfig struct {

	// Customizes the maximum size of the request body that your protected CloudFront,
	// API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward
	// to WAF for inspection. The default size is 16 KB (16,384 bytes). You can
	// change the setting for any of the available resource types.
	//
	// You are charged additional fees when your protected resources forward body
	// sizes that are larger than the default. For more information, see WAF Pricing
	// (http://aws.amazon.com/waf/pricing/).
	//
	// Example JSON: { "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }
	//
	// For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192
	// bytes).
	RequestBody map[string]*RequestBodyAssociatedResourceTypeConfig `type:"map"`
	// contains filtered or unexported fields
}

Specifies custom configurations for the associations between the web ACL and protected resources.

Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/).

For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

func (AssociationConfig) GoString added in v1.44.235

func (s AssociationConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AssociationConfig) SetRequestBody added in v1.44.235

SetRequestBody sets the RequestBody field's value.

func (AssociationConfig) String added in v1.44.235

func (s AssociationConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*AssociationConfig) Validate added in v1.44.235

func (s *AssociationConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type BlockAction

type BlockAction struct {

	// Defines a custom response for the web request.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	CustomResponse *CustomResponse `type:"structure"`
	// contains filtered or unexported fields
}

Specifies that WAF should block the request and optionally defines additional custom handling for the response to the web request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

func (BlockAction) GoString

func (s BlockAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*BlockAction) SetCustomResponse added in v1.38.8

func (s *BlockAction) SetCustomResponse(v *CustomResponse) *BlockAction

SetCustomResponse sets the CustomResponse field's value.

func (BlockAction) String

func (s BlockAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*BlockAction) Validate added in v1.38.8

func (s *BlockAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Body

type Body struct {

	// What WAF should do if the body is larger than WAF can inspect.
	//
	// WAF does not support inspecting the entire contents of the web request body
	// if the body exceeds the limit for the resource type. When a web request body
	// is larger than the limit, the underlying host service only forwards the contents
	// that are within the limit to WAF for inspection.
	//
	//    * For Application Load Balancer and AppSync, the limit is fixed at 8 KB
	//    (8,192 bytes).
	//
	//    * For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
	//    Access, the default limit is 16 KB (16,384 bytes), and you can increase
	//    the limit for each resource type in the web ACL AssociationConfig, for
	//    additional processing fees.
	//
	// The options for oversize handling are the following:
	//
	//    * CONTINUE - Inspect the available body contents normally, according to
	//    the rule inspection criteria.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// You can combine the MATCH or NO_MATCH settings for oversize handling with
	// your rule and web ACL action settings, so that you block any request whose
	// body is over the limit.
	//
	// Default: CONTINUE
	OversizeHandling *string `type:"string" enum:"OversizeHandling"`
	// contains filtered or unexported fields
}

Inspect the body of the web request. The body immediately follows the request headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

func (Body) GoString

func (s Body) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Body) SetOversizeHandling added in v1.44.4

func (s *Body) SetOversizeHandling(v string) *Body

SetOversizeHandling sets the OversizeHandling field's value.

func (Body) String

func (s Body) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ByteMatchStatement

type ByteMatchStatement struct {

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// The area within the portion of the web request that you want WAF to search
	// for SearchString. Valid values include the following:
	//
	// CONTAINS
	//
	// The specified part of the web request must include the value of SearchString,
	// but the location doesn't matter.
	//
	// CONTAINS_WORD
	//
	// The specified part of the web request must include the value of SearchString,
	// and SearchString must contain only alphanumeric characters or underscore
	// (A-Z, a-z, 0-9, or _). In addition, SearchString must be a word, which means
	// that both of the following are true:
	//
	//    * SearchString is at the beginning of the specified part of the web request
	//    or is preceded by a character other than an alphanumeric character or
	//    underscore (_). Examples include the value of a header and ;BadBot.
	//
	//    * SearchString is at the end of the specified part of the web request
	//    or is followed by a character other than an alphanumeric character or
	//    underscore (_), for example, BadBot; and -BadBot;.
	//
	// EXACTLY
	//
	// The value of the specified part of the web request must exactly match the
	// value of SearchString.
	//
	// STARTS_WITH
	//
	// The value of SearchString must appear at the beginning of the specified part
	// of the web request.
	//
	// ENDS_WITH
	//
	// The value of SearchString must appear at the end of the specified part of
	// the web request.
	//
	// PositionalConstraint is a required field
	PositionalConstraint *string `type:"string" required:"true" enum:"PositionalConstraint"`

	// A string value that you want WAF to search for. WAF searches only in the
	// part of web requests that you designate for inspection in FieldToMatch. The
	// maximum length of the value is 200 bytes.
	//
	// Valid values depend on the component that you specify for inspection in FieldToMatch:
	//
	//    * Method: The HTTP method that you want WAF to search for. This indicates
	//    the type of operation specified in the request.
	//
	//    * UriPath: The value that you want WAF to search for in the URI path,
	//    for example, /images/daily-ad.jpg.
	//
	//    * JA3Fingerprint: Available for use with Amazon CloudFront distributions
	//    and Application Load Balancers. Match against the request's JA3 fingerprint.
	//    The JA3 fingerprint is a 32-character hash derived from the TLS Client
	//    Hello of an incoming request. This fingerprint serves as a unique identifier
	//    for the client's TLS configuration. You can use this choice only with
	//    a string match ByteMatchStatement with the PositionalConstraint set to
	//    EXACTLY. You can obtain the JA3 fingerprint for client requests from the
	//    web ACL logs. If WAF is able to calculate the fingerprint, it includes
	//    it in the logs. For information about the logging fields, see Log fields
	//    (https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html)
	//    in the WAF Developer Guide.
	//
	//    * HeaderOrder: The list of header names to match for. WAF creates a string
	//    that contains the ordered list of header names, from the headers in the
	//    web request, and then matches against that string.
	//
	// If SearchString includes alphabetic characters A-Z and a-z, note that the
	// value is case sensitive.
	//
	// If you're using the WAF API
	//
	// Specify a base64-encoded version of the value. The maximum length of the
	// value before you base64-encode it is 200 bytes.
	//
	// For example, suppose the value of Type is HEADER and the value of Data is
	// User-Agent. If you want to search the User-Agent header for the value BadBot,
	// you base64-encode BadBot using MIME base64-encoding and include the resulting
	// value, QmFkQm90, in the value of SearchString.
	//
	// If you're using the CLI or one of the Amazon Web Services SDKs
	//
	// The value that you want WAF to search for. The SDK automatically base64 encodes
	// the value.
	// SearchString is automatically base64 encoded/decoded by the SDK.
	//
	// SearchString is a required field
	SearchString []byte `type:"blob" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.

func (ByteMatchStatement) GoString

func (s ByteMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ByteMatchStatement) SetFieldToMatch

func (s *ByteMatchStatement) SetFieldToMatch(v *FieldToMatch) *ByteMatchStatement

SetFieldToMatch sets the FieldToMatch field's value.

func (*ByteMatchStatement) SetPositionalConstraint

func (s *ByteMatchStatement) SetPositionalConstraint(v string) *ByteMatchStatement

SetPositionalConstraint sets the PositionalConstraint field's value.

func (*ByteMatchStatement) SetSearchString

func (s *ByteMatchStatement) SetSearchString(v []byte) *ByteMatchStatement

SetSearchString sets the SearchString field's value.

func (*ByteMatchStatement) SetTextTransformations

func (s *ByteMatchStatement) SetTextTransformations(v []*TextTransformation) *ByteMatchStatement

SetTextTransformations sets the TextTransformations field's value.

func (ByteMatchStatement) String

func (s ByteMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ByteMatchStatement) Validate

func (s *ByteMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CaptchaAction added in v1.42.0

type CaptchaAction struct {

	// Defines custom handling for the web request, used when the CAPTCHA inspection
	// determines that the request's token is valid and unexpired.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	CustomRequestHandling *CustomRequestHandling `type:"structure"`
	// contains filtered or unexported fields
}

Specifies that WAF should run a CAPTCHA check against the request:

  • If the request includes a valid, unexpired CAPTCHA token, WAF applies any custom request handling and labels that you've configured and then allows the web request inspection to proceed to the next rule, similar to a CountAction.

  • If the request doesn't include a valid, unexpired token, WAF discontinues the web ACL evaluation of the request and blocks it from going to its intended destination. WAF generates a response that it sends back to the client, which includes the following: The header x-amzn-waf-action with a value of captcha. The HTTP status code 405 Method Not Allowed. If the request contains an Accept header with a value of text/html, the response includes a CAPTCHA JavaScript page interstitial.

You can configure the expiration time in the CaptchaConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

This action option is available for rules. It isn't available for web ACL default actions.

func (CaptchaAction) GoString added in v1.42.0

func (s CaptchaAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CaptchaAction) SetCustomRequestHandling added in v1.42.0

func (s *CaptchaAction) SetCustomRequestHandling(v *CustomRequestHandling) *CaptchaAction

SetCustomRequestHandling sets the CustomRequestHandling field's value.

func (CaptchaAction) String added in v1.42.0

func (s CaptchaAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CaptchaAction) Validate added in v1.42.0

func (s *CaptchaAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CaptchaConfig added in v1.42.0

type CaptchaConfig struct {

	// Determines how long a CAPTCHA timestamp in the token remains valid after
	// the client successfully solves a CAPTCHA puzzle.
	ImmunityTimeProperty *ImmunityTimeProperty `type:"structure"`
	// contains filtered or unexported fields
}

Specifies how WAF should handle CAPTCHA evaluations. This is available at the web ACL level and in each rule.

func (CaptchaConfig) GoString added in v1.42.0

func (s CaptchaConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CaptchaConfig) SetImmunityTimeProperty added in v1.42.0

func (s *CaptchaConfig) SetImmunityTimeProperty(v *ImmunityTimeProperty) *CaptchaConfig

SetImmunityTimeProperty sets the ImmunityTimeProperty field's value.

func (CaptchaConfig) String added in v1.42.0

func (s CaptchaConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CaptchaConfig) Validate added in v1.42.0

func (s *CaptchaConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CaptchaResponse added in v1.42.0

type CaptchaResponse struct {

	// The reason for failure, populated when the evaluation of the token fails.
	FailureReason *string `type:"string" enum:"FailureReason"`

	// The HTTP response code indicating the status of the CAPTCHA token in the
	// web request. If the token is missing, invalid, or expired, this code is 405
	// Method Not Allowed.
	ResponseCode *int64 `type:"integer"`

	// The time that the CAPTCHA was last solved for the supplied token.
	SolveTimestamp *int64 `type:"long"`
	// contains filtered or unexported fields
}

The result from the inspection of the web request for a valid CAPTCHA token.

func (CaptchaResponse) GoString added in v1.42.0

func (s CaptchaResponse) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CaptchaResponse) SetFailureReason added in v1.42.0

func (s *CaptchaResponse) SetFailureReason(v string) *CaptchaResponse

SetFailureReason sets the FailureReason field's value.

func (*CaptchaResponse) SetResponseCode added in v1.42.0

func (s *CaptchaResponse) SetResponseCode(v int64) *CaptchaResponse

SetResponseCode sets the ResponseCode field's value.

func (*CaptchaResponse) SetSolveTimestamp added in v1.42.0

func (s *CaptchaResponse) SetSolveTimestamp(v int64) *CaptchaResponse

SetSolveTimestamp sets the SolveTimestamp field's value.

func (CaptchaResponse) String added in v1.42.0

func (s CaptchaResponse) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ChallengeAction added in v1.44.125

type ChallengeAction struct {

	// Defines custom handling for the web request, used when the challenge inspection
	// determines that the request's token is valid and unexpired.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	CustomRequestHandling *CustomRequestHandling `type:"structure"`
	// contains filtered or unexported fields
}

Specifies that WAF should run a Challenge check against the request to verify that the request is coming from a legitimate client session:

  • If the request includes a valid, unexpired challenge token, WAF applies any custom request handling and labels that you've configured and then allows the web request inspection to proceed to the next rule, similar to a CountAction.

  • If the request doesn't include a valid, unexpired challenge token, WAF discontinues the web ACL evaluation of the request and blocks it from going to its intended destination. WAF then generates a challenge response that it sends back to the client, which includes the following: The header x-amzn-waf-action with a value of challenge. The HTTP status code 202 Request Accepted. If the request contains an Accept header with a value of text/html, the response includes a JavaScript page interstitial with a challenge script. Challenges run silent browser interrogations in the background, and don't generally affect the end user experience. A challenge enforces token acquisition using an interstitial JavaScript challenge that inspects the client session for legitimate behavior. The challenge blocks bots or at least increases the cost of operating sophisticated bots. After the client session successfully responds to the challenge, it receives a new token from WAF, which the challenge script uses to resubmit the original request.

You can configure the expiration time in the ChallengeConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

This action option is available for rules. It isn't available for web ACL default actions.

func (ChallengeAction) GoString added in v1.44.125

func (s ChallengeAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ChallengeAction) SetCustomRequestHandling added in v1.44.125

func (s *ChallengeAction) SetCustomRequestHandling(v *CustomRequestHandling) *ChallengeAction

SetCustomRequestHandling sets the CustomRequestHandling field's value.

func (ChallengeAction) String added in v1.44.125

func (s ChallengeAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ChallengeAction) Validate added in v1.44.125

func (s *ChallengeAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ChallengeConfig added in v1.44.125

type ChallengeConfig struct {

	// Determines how long a challenge timestamp in the token remains valid after
	// the client successfully responds to a challenge.
	ImmunityTimeProperty *ImmunityTimeProperty `type:"structure"`
	// contains filtered or unexported fields
}

Specifies how WAF should handle Challenge evaluations. This is available at the web ACL level and in each rule.

func (ChallengeConfig) GoString added in v1.44.125

func (s ChallengeConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ChallengeConfig) SetImmunityTimeProperty added in v1.44.125

func (s *ChallengeConfig) SetImmunityTimeProperty(v *ImmunityTimeProperty) *ChallengeConfig

SetImmunityTimeProperty sets the ImmunityTimeProperty field's value.

func (ChallengeConfig) String added in v1.44.125

func (s ChallengeConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ChallengeConfig) Validate added in v1.44.125

func (s *ChallengeConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ChallengeResponse added in v1.44.125

type ChallengeResponse struct {

	// The reason for failure, populated when the evaluation of the token fails.
	FailureReason *string `type:"string" enum:"FailureReason"`

	// The HTTP response code indicating the status of the challenge token in the
	// web request. If the token is missing, invalid, or expired, this code is 202
	// Request Accepted.
	ResponseCode *int64 `type:"integer"`

	// The time that the challenge was last solved for the supplied token.
	SolveTimestamp *int64 `type:"long"`
	// contains filtered or unexported fields
}

The result from the inspection of the web request for a valid challenge token.

func (ChallengeResponse) GoString added in v1.44.125

func (s ChallengeResponse) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ChallengeResponse) SetFailureReason added in v1.44.125

func (s *ChallengeResponse) SetFailureReason(v string) *ChallengeResponse

SetFailureReason sets the FailureReason field's value.

func (*ChallengeResponse) SetResponseCode added in v1.44.125

func (s *ChallengeResponse) SetResponseCode(v int64) *ChallengeResponse

SetResponseCode sets the ResponseCode field's value.

func (*ChallengeResponse) SetSolveTimestamp added in v1.44.125

func (s *ChallengeResponse) SetSolveTimestamp(v int64) *ChallengeResponse

SetSolveTimestamp sets the SolveTimestamp field's value.

func (ChallengeResponse) String added in v1.44.125

func (s ChallengeResponse) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CheckCapacityInput

type CheckCapacityInput struct {

	// An array of Rule that you're configuring to use in a rule group or web ACL.
	//
	// Rules is a required field
	Rules []*Rule `type:"list" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (CheckCapacityInput) GoString

func (s CheckCapacityInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CheckCapacityInput) SetRules

func (s *CheckCapacityInput) SetRules(v []*Rule) *CheckCapacityInput

SetRules sets the Rules field's value.

func (*CheckCapacityInput) SetScope

SetScope sets the Scope field's value.

func (CheckCapacityInput) String

func (s CheckCapacityInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CheckCapacityInput) Validate

func (s *CheckCapacityInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CheckCapacityOutput

type CheckCapacityOutput struct {

	// The capacity required by the rules and scope.
	Capacity *int64 `type:"long"`
	// contains filtered or unexported fields
}

func (CheckCapacityOutput) GoString

func (s CheckCapacityOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CheckCapacityOutput) SetCapacity

func (s *CheckCapacityOutput) SetCapacity(v int64) *CheckCapacityOutput

SetCapacity sets the Capacity field's value.

func (CheckCapacityOutput) String

func (s CheckCapacityOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type Condition added in v1.38.11

type Condition struct {

	// A single action condition. This is the action setting that a log record must
	// contain in order to meet the condition.
	ActionCondition *ActionCondition `type:"structure"`

	// A single label name condition. This is the fully qualified label name that
	// a log record must contain in order to meet the condition. Fully qualified
	// labels have a prefix, optional namespaces, and label name. The prefix identifies
	// the rule group or web ACL context of the rule that added the label.
	LabelNameCondition *LabelNameCondition `type:"structure"`
	// contains filtered or unexported fields
}

A single match condition for a Filter.

func (Condition) GoString added in v1.38.11

func (s Condition) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Condition) SetActionCondition added in v1.38.11

func (s *Condition) SetActionCondition(v *ActionCondition) *Condition

SetActionCondition sets the ActionCondition field's value.

func (*Condition) SetLabelNameCondition added in v1.38.11

func (s *Condition) SetLabelNameCondition(v *LabelNameCondition) *Condition

SetLabelNameCondition sets the LabelNameCondition field's value.

func (Condition) String added in v1.38.11

func (s Condition) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Condition) Validate added in v1.38.11

func (s *Condition) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CookieMatchPattern added in v1.44.4

type CookieMatchPattern struct {

	// Inspect all cookies.
	All *All `type:"structure"`

	// Inspect only the cookies whose keys don't match any of the strings specified
	// here.
	ExcludedCookies []*string `min:"1" type:"list"`

	// Inspect only the cookies that have a key that matches one of the strings
	// specified here.
	IncludedCookies []*string `min:"1" type:"list"`
	// contains filtered or unexported fields
}

The filter to use to identify the subset of cookies to inspect in a web request.

You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.

Example JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id" ] }

func (CookieMatchPattern) GoString added in v1.44.4

func (s CookieMatchPattern) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CookieMatchPattern) SetAll added in v1.44.4

func (s *CookieMatchPattern) SetAll(v *All) *CookieMatchPattern

SetAll sets the All field's value.

func (*CookieMatchPattern) SetExcludedCookies added in v1.44.4

func (s *CookieMatchPattern) SetExcludedCookies(v []*string) *CookieMatchPattern

SetExcludedCookies sets the ExcludedCookies field's value.

func (*CookieMatchPattern) SetIncludedCookies added in v1.44.4

func (s *CookieMatchPattern) SetIncludedCookies(v []*string) *CookieMatchPattern

SetIncludedCookies sets the IncludedCookies field's value.

func (CookieMatchPattern) String added in v1.44.4

func (s CookieMatchPattern) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CookieMatchPattern) Validate added in v1.44.4

func (s *CookieMatchPattern) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Cookies added in v1.44.4

type Cookies struct {

	// The filter to use to identify the subset of cookies to inspect in a web request.
	//
	// You must specify exactly one setting: either All, IncludedCookies, or ExcludedCookies.
	//
	// Example JSON: "MatchPattern": { "IncludedCookies": [ "session-id-time", "session-id"
	// ] }
	//
	// MatchPattern is a required field
	MatchPattern *CookieMatchPattern `type:"structure" required:"true"`

	// The parts of the cookies to inspect with the rule inspection criteria. If
	// you specify ALL, WAF inspects both keys and values.
	//
	// All does not require a match to be found in the keys and a match to be found
	// in the values. It requires a match to be found in the keys or the values
	// or both. To require a match in the keys and in the values, use a logical
	// AND statement to combine two match rules, one that inspects the keys and
	// another that inspects the values.
	//
	// MatchScope is a required field
	MatchScope *string `type:"string" required:"true" enum:"MapMatchScope"`

	// What WAF should do if the cookies of the request are more numerous or larger
	// than WAF can inspect. WAF does not support inspecting the entire contents
	// of request cookies when they exceed 8 KB (8192 bytes) or 200 total cookies.
	// The underlying host service forwards a maximum of 200 cookies and at most
	// 8 KB of cookie contents to WAF.
	//
	// The options for oversize handling are the following:
	//
	//    * CONTINUE - Inspect the available cookies normally, according to the
	//    rule inspection criteria.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// OversizeHandling is a required field
	OversizeHandling *string `type:"string" required:"true" enum:"OversizeHandling"`
	// contains filtered or unexported fields
}

Inspect the cookies in the web request. You can specify the parts of the cookies to inspect and you can narrow the set of cookies to inspect by including or excluding specific keys.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "Cookies": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }

func (Cookies) GoString added in v1.44.4

func (s Cookies) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Cookies) SetMatchPattern added in v1.44.4

func (s *Cookies) SetMatchPattern(v *CookieMatchPattern) *Cookies

SetMatchPattern sets the MatchPattern field's value.

func (*Cookies) SetMatchScope added in v1.44.4

func (s *Cookies) SetMatchScope(v string) *Cookies

SetMatchScope sets the MatchScope field's value.

func (*Cookies) SetOversizeHandling added in v1.44.4

func (s *Cookies) SetOversizeHandling(v string) *Cookies

SetOversizeHandling sets the OversizeHandling field's value.

func (Cookies) String added in v1.44.4

func (s Cookies) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Cookies) Validate added in v1.44.4

func (s *Cookies) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CountAction

type CountAction struct {

	// Defines custom handling for the web request.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	CustomRequestHandling *CustomRequestHandling `type:"structure"`
	// contains filtered or unexported fields
}

Specifies that WAF should count the request. Optionally defines additional custom handling for the request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

func (CountAction) GoString

func (s CountAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CountAction) SetCustomRequestHandling added in v1.38.8

func (s *CountAction) SetCustomRequestHandling(v *CustomRequestHandling) *CountAction

SetCustomRequestHandling sets the CustomRequestHandling field's value.

func (CountAction) String

func (s CountAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CountAction) Validate added in v1.38.8

func (s *CountAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateAPIKeyInput added in v1.44.247

type CreateAPIKeyInput struct {

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The client application domains that you want to use this API key for.
	//
	// Example JSON: "TokenDomains": ["abc.com", "store.abc.com"]
	//
	// Public suffixes aren't allowed. For example, you can't use gov.au or co.uk
	// as token domains.
	//
	// TokenDomains is a required field
	TokenDomains []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (CreateAPIKeyInput) GoString added in v1.44.247

func (s CreateAPIKeyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateAPIKeyInput) SetScope added in v1.44.247

func (s *CreateAPIKeyInput) SetScope(v string) *CreateAPIKeyInput

SetScope sets the Scope field's value.

func (*CreateAPIKeyInput) SetTokenDomains added in v1.44.247

func (s *CreateAPIKeyInput) SetTokenDomains(v []*string) *CreateAPIKeyInput

SetTokenDomains sets the TokenDomains field's value.

func (CreateAPIKeyInput) String added in v1.44.247

func (s CreateAPIKeyInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateAPIKeyInput) Validate added in v1.44.247

func (s *CreateAPIKeyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateAPIKeyOutput added in v1.44.247

type CreateAPIKeyOutput struct {

	// The generated, encrypted API key. You can copy this for use in your JavaScript
	// CAPTCHA integration.
	APIKey *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (CreateAPIKeyOutput) GoString added in v1.44.247

func (s CreateAPIKeyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateAPIKeyOutput) SetAPIKey added in v1.44.247

func (s *CreateAPIKeyOutput) SetAPIKey(v string) *CreateAPIKeyOutput

SetAPIKey sets the APIKey field's value.

func (CreateAPIKeyOutput) String added in v1.44.247

func (s CreateAPIKeyOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CreateIPSetInput

type CreateIPSetInput struct {

	// Contains an array of strings that specifies zero or more IP addresses or
	// blocks of IP addresses that you want WAF to inspect for in incoming requests.
	// All addresses must be specified using Classless Inter-Domain Routing (CIDR)
	// notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
	//
	// Example address strings:
	//
	//    * For requests that originated from the IP address 192.0.2.44, specify
	//    192.0.2.44/32.
	//
	//    * For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255,
	//    specify 192.0.2.0/24.
	//
	//    * For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
	//    specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
	//
	//    * For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000
	//    to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.
	//
	// For more information about CIDR notation, see the Wikipedia entry Classless
	// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
	//
	// Example JSON Addresses specifications:
	//
	//    * Empty array: "Addresses": []
	//
	//    * Array with one address: "Addresses": ["192.0.2.44/32"]
	//
	//    * Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24",
	//    "192.0.0.0/16"]
	//
	//    * INVALID specification: "Addresses": [""] INVALID
	//
	// Addresses is a required field
	Addresses []*string `type:"list" required:"true"`

	// A description of the IP set that helps with identification.
	Description *string `min:"1" type:"string"`

	// The version of the IP addresses, either IPV4 or IPV6.
	//
	// IPAddressVersion is a required field
	IPAddressVersion *string `type:"string" required:"true" enum:"IPAddressVersion"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// An array of key:value pairs to associate with the resource.
	Tags []*Tag `min:"1" type:"list"`
	// contains filtered or unexported fields
}

func (CreateIPSetInput) GoString

func (s CreateIPSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateIPSetInput) SetAddresses

func (s *CreateIPSetInput) SetAddresses(v []*string) *CreateIPSetInput

SetAddresses sets the Addresses field's value.

func (*CreateIPSetInput) SetDescription

func (s *CreateIPSetInput) SetDescription(v string) *CreateIPSetInput

SetDescription sets the Description field's value.

func (*CreateIPSetInput) SetIPAddressVersion

func (s *CreateIPSetInput) SetIPAddressVersion(v string) *CreateIPSetInput

SetIPAddressVersion sets the IPAddressVersion field's value.

func (*CreateIPSetInput) SetName

func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput

SetName sets the Name field's value.

func (*CreateIPSetInput) SetScope

func (s *CreateIPSetInput) SetScope(v string) *CreateIPSetInput

SetScope sets the Scope field's value.

func (*CreateIPSetInput) SetTags

func (s *CreateIPSetInput) SetTags(v []*Tag) *CreateIPSetInput

SetTags sets the Tags field's value.

func (CreateIPSetInput) String

func (s CreateIPSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateIPSetInput) Validate

func (s *CreateIPSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateIPSetOutput

type CreateIPSetOutput struct {

	// High-level information about an IPSet, returned by operations like create
	// and list. This provides information like the ID, that you can use to retrieve
	// and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement
	// to use the address set in a Rule.
	Summary *IPSetSummary `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateIPSetOutput) GoString

func (s CreateIPSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateIPSetOutput) SetSummary

SetSummary sets the Summary field's value.

func (CreateIPSetOutput) String

func (s CreateIPSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CreateRegexPatternSetInput

type CreateRegexPatternSetInput struct {

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// The name of the set. You cannot change the name after you create the set.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Array of regular expression strings.
	//
	// RegularExpressionList is a required field
	RegularExpressionList []*Regex `type:"list" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// An array of key:value pairs to associate with the resource.
	Tags []*Tag `min:"1" type:"list"`
	// contains filtered or unexported fields
}

func (CreateRegexPatternSetInput) GoString

func (s CreateRegexPatternSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRegexPatternSetInput) SetDescription

SetDescription sets the Description field's value.

func (*CreateRegexPatternSetInput) SetName

SetName sets the Name field's value.

func (*CreateRegexPatternSetInput) SetRegularExpressionList

func (s *CreateRegexPatternSetInput) SetRegularExpressionList(v []*Regex) *CreateRegexPatternSetInput

SetRegularExpressionList sets the RegularExpressionList field's value.

func (*CreateRegexPatternSetInput) SetScope

SetScope sets the Scope field's value.

func (*CreateRegexPatternSetInput) SetTags

SetTags sets the Tags field's value.

func (CreateRegexPatternSetInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRegexPatternSetInput) Validate

func (s *CreateRegexPatternSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateRegexPatternSetOutput

type CreateRegexPatternSetOutput struct {

	// High-level information about a RegexPatternSet, returned by operations like
	// create and list. This provides information like the ID, that you can use
	// to retrieve and manage a RegexPatternSet, and the ARN, that you provide to
	// the RegexPatternSetReferenceStatement to use the pattern set in a Rule.
	Summary *RegexPatternSetSummary `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateRegexPatternSetOutput) GoString

func (s CreateRegexPatternSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRegexPatternSetOutput) SetSummary

SetSummary sets the Summary field's value.

func (CreateRegexPatternSetOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CreateRuleGroupInput

type CreateRuleGroupInput struct {

	// The web ACL capacity units (WCUs) required for this rule group.
	//
	// When you create your own rule group, you define this, and you cannot change
	// it after creation. When you add or modify the rules in a rule group, WAF
	// enforces this limit. You can check the capacity for a set of rules using
	// CheckCapacity.
	//
	// WAF uses WCUs to calculate and control the operating resources that are used
	// to run your rules, rule groups, and web ACLs. WAF calculates capacity differently
	// for each rule type, to reflect the relative cost of each rule. Simple rules
	// that cost little to run use fewer WCUs than more complex rules that use more
	// processing power. Rule group capacity is fixed at creation, which helps users
	// plan their web ACL WCU usage when they use a rule group. For more information,
	// see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html)
	// in the WAF Developer Guide.
	//
	// Capacity is a required field
	Capacity *int64 `min:"1" type:"long" required:"true"`

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the rule group, and then use them in the rules that you
	// define in the rule group.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// A description of the rule group that helps with identification.
	Description *string `min:"1" type:"string"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// An array of key:value pairs to associate with the resource.
	Tags []*Tag `min:"1" type:"list"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (CreateRuleGroupInput) GoString

func (s CreateRuleGroupInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRuleGroupInput) SetCapacity

func (s *CreateRuleGroupInput) SetCapacity(v int64) *CreateRuleGroupInput

SetCapacity sets the Capacity field's value.

func (*CreateRuleGroupInput) SetCustomResponseBodies added in v1.38.8

func (s *CreateRuleGroupInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *CreateRuleGroupInput

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*CreateRuleGroupInput) SetDescription

func (s *CreateRuleGroupInput) SetDescription(v string) *CreateRuleGroupInput

SetDescription sets the Description field's value.

func (*CreateRuleGroupInput) SetName

SetName sets the Name field's value.

func (*CreateRuleGroupInput) SetRules

func (s *CreateRuleGroupInput) SetRules(v []*Rule) *CreateRuleGroupInput

SetRules sets the Rules field's value.

func (*CreateRuleGroupInput) SetScope

SetScope sets the Scope field's value.

func (*CreateRuleGroupInput) SetTags

func (s *CreateRuleGroupInput) SetTags(v []*Tag) *CreateRuleGroupInput

SetTags sets the Tags field's value.

func (*CreateRuleGroupInput) SetVisibilityConfig

func (s *CreateRuleGroupInput) SetVisibilityConfig(v *VisibilityConfig) *CreateRuleGroupInput

SetVisibilityConfig sets the VisibilityConfig field's value.

func (CreateRuleGroupInput) String

func (s CreateRuleGroupInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRuleGroupInput) Validate

func (s *CreateRuleGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateRuleGroupOutput

type CreateRuleGroupOutput struct {

	// High-level information about a RuleGroup, returned by operations like create
	// and list. This provides information like the ID, that you can use to retrieve
	// and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement
	// to use the rule group in a Rule.
	Summary *RuleGroupSummary `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateRuleGroupOutput) GoString

func (s CreateRuleGroupOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateRuleGroupOutput) SetSummary

SetSummary sets the Summary field's value.

func (CreateRuleGroupOutput) String

func (s CreateRuleGroupOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CreateWebACLInput

type CreateWebACLInput struct {

	// Specifies custom configurations for the associations between the web ACL
	// and protected resources.
	//
	// Use this to customize the maximum size of the request body that your protected
	// resources forward to WAF for inspection. You can customize this setting for
	// CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources.
	// The default setting is 16 KB (16,384 bytes).
	//
	// You are charged additional fees when your protected resources forward body
	// sizes that are larger than the default. For more information, see WAF Pricing
	// (http://aws.amazon.com/waf/pricing/).
	//
	// For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192
	// bytes).
	AssociationConfig *AssociationConfig `type:"structure"`

	// Specifies how WAF should handle CAPTCHA evaluations for rules that don't
	// have their own CaptchaConfig settings. If you don't specify this, WAF uses
	// its default settings for CaptchaConfig.
	CaptchaConfig *CaptchaConfig `type:"structure"`

	// Specifies how WAF should handle challenge evaluations for rules that don't
	// have their own ChallengeConfig settings. If you don't specify this, WAF uses
	// its default settings for ChallengeConfig.
	ChallengeConfig *ChallengeConfig `type:"structure"`

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the web ACL, and then use them in the rules and default
	// actions that you define in the web ACL.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// The action to perform if none of the Rules contained in the WebACL match.
	//
	// DefaultAction is a required field
	DefaultAction *DefaultAction `type:"structure" required:"true"`

	// A description of the web ACL that helps with identification.
	Description *string `min:"1" type:"string"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// An array of key:value pairs to associate with the resource.
	Tags []*Tag `min:"1" type:"list"`

	// Specifies the domains that WAF should accept in a web request token. This
	// enables the use of tokens across multiple protected websites. When WAF provides
	// a token, it uses the domain of the Amazon Web Services resource that the
	// web ACL is protecting. If you don't specify a list of token domains, WAF
	// accepts tokens only for the domain of the protected resource. With a token
	// domain list, WAF accepts the resource's host domain plus all domains in the
	// token domain list, including their prefixed subdomains.
	//
	// Example JSON: "TokenDomains": { "mywebsite.com", "myotherwebsite.com" }
	//
	// Public suffixes aren't allowed. For example, you can't use gov.au or co.uk
	// as token domains.
	TokenDomains []*string `type:"list"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (CreateWebACLInput) GoString

func (s CreateWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateWebACLInput) SetAssociationConfig added in v1.44.235

func (s *CreateWebACLInput) SetAssociationConfig(v *AssociationConfig) *CreateWebACLInput

SetAssociationConfig sets the AssociationConfig field's value.

func (*CreateWebACLInput) SetCaptchaConfig added in v1.42.0

func (s *CreateWebACLInput) SetCaptchaConfig(v *CaptchaConfig) *CreateWebACLInput

SetCaptchaConfig sets the CaptchaConfig field's value.

func (*CreateWebACLInput) SetChallengeConfig added in v1.44.125

func (s *CreateWebACLInput) SetChallengeConfig(v *ChallengeConfig) *CreateWebACLInput

SetChallengeConfig sets the ChallengeConfig field's value.

func (*CreateWebACLInput) SetCustomResponseBodies added in v1.38.8

func (s *CreateWebACLInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *CreateWebACLInput

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*CreateWebACLInput) SetDefaultAction

func (s *CreateWebACLInput) SetDefaultAction(v *DefaultAction) *CreateWebACLInput

SetDefaultAction sets the DefaultAction field's value.

func (*CreateWebACLInput) SetDescription

func (s *CreateWebACLInput) SetDescription(v string) *CreateWebACLInput

SetDescription sets the Description field's value.

func (*CreateWebACLInput) SetName

SetName sets the Name field's value.

func (*CreateWebACLInput) SetRules

func (s *CreateWebACLInput) SetRules(v []*Rule) *CreateWebACLInput

SetRules sets the Rules field's value.

func (*CreateWebACLInput) SetScope

func (s *CreateWebACLInput) SetScope(v string) *CreateWebACLInput

SetScope sets the Scope field's value.

func (*CreateWebACLInput) SetTags

func (s *CreateWebACLInput) SetTags(v []*Tag) *CreateWebACLInput

SetTags sets the Tags field's value.

func (*CreateWebACLInput) SetTokenDomains added in v1.44.125

func (s *CreateWebACLInput) SetTokenDomains(v []*string) *CreateWebACLInput

SetTokenDomains sets the TokenDomains field's value.

func (*CreateWebACLInput) SetVisibilityConfig

func (s *CreateWebACLInput) SetVisibilityConfig(v *VisibilityConfig) *CreateWebACLInput

SetVisibilityConfig sets the VisibilityConfig field's value.

func (CreateWebACLInput) String

func (s CreateWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateWebACLInput) Validate

func (s *CreateWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateWebACLOutput

type CreateWebACLOutput struct {

	// High-level information about a WebACL, returned by operations like create
	// and list. This provides information like the ID, that you can use to retrieve
	// and manage a WebACL, and the ARN, that you provide to operations like AssociateWebACL.
	Summary *WebACLSummary `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateWebACLOutput) GoString

func (s CreateWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CreateWebACLOutput) SetSummary

SetSummary sets the Summary field's value.

func (CreateWebACLOutput) String

func (s CreateWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type CustomHTTPHeader added in v1.38.8

type CustomHTTPHeader struct {

	// The name of the custom header.
	//
	// For custom request header insertion, when WAF inserts the header into the
	// request, it prefixes this name x-amzn-waf-, to avoid confusion with the headers
	// that are already in the request. For example, for the header name sample,
	// WAF inserts the header x-amzn-waf-sample.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The value of the custom header.
	//
	// Value is a required field
	Value *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A custom header for custom request and response handling. This is used in CustomResponse and CustomRequestHandling.

func (CustomHTTPHeader) GoString added in v1.38.8

func (s CustomHTTPHeader) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomHTTPHeader) SetName added in v1.38.8

func (s *CustomHTTPHeader) SetName(v string) *CustomHTTPHeader

SetName sets the Name field's value.

func (*CustomHTTPHeader) SetValue added in v1.38.8

func (s *CustomHTTPHeader) SetValue(v string) *CustomHTTPHeader

SetValue sets the Value field's value.

func (CustomHTTPHeader) String added in v1.38.8

func (s CustomHTTPHeader) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomHTTPHeader) Validate added in v1.38.8

func (s *CustomHTTPHeader) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CustomRequestHandling added in v1.38.8

type CustomRequestHandling struct {

	// The HTTP headers to insert into the request. Duplicate header names are not
	// allowed.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	//
	// InsertHeaders is a required field
	InsertHeaders []*CustomHTTPHeader `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Custom request handling behavior that inserts custom headers into a web request. You can add custom request handling for WAF to use when the rule action doesn't block the request. For example, CaptchaAction for requests with valid t okens, and AllowAction.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the WAF Developer Guide.

func (CustomRequestHandling) GoString added in v1.38.8

func (s CustomRequestHandling) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomRequestHandling) SetInsertHeaders added in v1.38.8

SetInsertHeaders sets the InsertHeaders field's value.

func (CustomRequestHandling) String added in v1.38.8

func (s CustomRequestHandling) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomRequestHandling) Validate added in v1.38.8

func (s *CustomRequestHandling) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CustomResponse added in v1.38.8

type CustomResponse struct {

	// References the response body that you want WAF to return to the web request
	// client. You can define a custom response for a rule action or a default web
	// ACL action that is set to block. To do this, you first define the response
	// body key and value in the CustomResponseBodies setting for the WebACL or
	// RuleGroup where you want to use it. Then, in the rule action or web ACL default
	// action BlockAction setting, you reference the response body using this key.
	CustomResponseBodyKey *string `min:"1" type:"string"`

	// The HTTP status code to return to the client.
	//
	// For a list of status codes that you can use in your custom responses, see
	// Supported status codes for custom response (https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-status-codes.html)
	// in the WAF Developer Guide.
	//
	// ResponseCode is a required field
	ResponseCode *int64 `min:"200" type:"integer" required:"true"`

	// The HTTP headers to use in the response. You can specify any header name
	// except for content-type. Duplicate header names are not allowed.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	ResponseHeaders []*CustomHTTPHeader `min:"1" type:"list"`
	// contains filtered or unexported fields
}

A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to BlockAction.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the WAF Developer Guide.

func (CustomResponse) GoString added in v1.38.8

func (s CustomResponse) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomResponse) SetCustomResponseBodyKey added in v1.38.8

func (s *CustomResponse) SetCustomResponseBodyKey(v string) *CustomResponse

SetCustomResponseBodyKey sets the CustomResponseBodyKey field's value.

func (*CustomResponse) SetResponseCode added in v1.38.8

func (s *CustomResponse) SetResponseCode(v int64) *CustomResponse

SetResponseCode sets the ResponseCode field's value.

func (*CustomResponse) SetResponseHeaders added in v1.38.8

func (s *CustomResponse) SetResponseHeaders(v []*CustomHTTPHeader) *CustomResponse

SetResponseHeaders sets the ResponseHeaders field's value.

func (CustomResponse) String added in v1.38.8

func (s CustomResponse) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomResponse) Validate added in v1.38.8

func (s *CustomResponse) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CustomResponseBody added in v1.38.8

type CustomResponseBody struct {

	// The payload of the custom response.
	//
	// You can use JSON escape strings in JSON content. To do this, you must specify
	// JSON content in the ContentType setting.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	//
	// Content is a required field
	Content *string `min:"1" type:"string" required:"true"`

	// The type of content in the payload that you are defining in the Content string.
	//
	// ContentType is a required field
	ContentType *string `type:"string" required:"true" enum:"ResponseContentType"`
	// contains filtered or unexported fields
}

The response body to use in a custom response to a web request. This is referenced by key from CustomResponse CustomResponseBodyKey.

func (CustomResponseBody) GoString added in v1.38.8

func (s CustomResponseBody) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomResponseBody) SetContent added in v1.38.8

func (s *CustomResponseBody) SetContent(v string) *CustomResponseBody

SetContent sets the Content field's value.

func (*CustomResponseBody) SetContentType added in v1.38.8

func (s *CustomResponseBody) SetContentType(v string) *CustomResponseBody

SetContentType sets the ContentType field's value.

func (CustomResponseBody) String added in v1.38.8

func (s CustomResponseBody) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*CustomResponseBody) Validate added in v1.38.8

func (s *CustomResponseBody) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DefaultAction

type DefaultAction struct {

	// Specifies that WAF should allow requests by default.
	Allow *AllowAction `type:"structure"`

	// Specifies that WAF should block requests by default.
	Block *BlockAction `type:"structure"`
	// contains filtered or unexported fields
}

In a WebACL, this is the action that you want WAF to perform when a web request doesn't match any of the rules in the WebACL. The default action must be a terminating action.

func (DefaultAction) GoString

func (s DefaultAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DefaultAction) SetAllow

func (s *DefaultAction) SetAllow(v *AllowAction) *DefaultAction

SetAllow sets the Allow field's value.

func (*DefaultAction) SetBlock

func (s *DefaultAction) SetBlock(v *BlockAction) *DefaultAction

SetBlock sets the Block field's value.

func (DefaultAction) String

func (s DefaultAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DefaultAction) Validate added in v1.38.8

func (s *DefaultAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteAPIKeyInput added in v1.50.12

type DeleteAPIKeyInput struct {

	// The encrypted API key that you want to delete.
	//
	// APIKey is a required field
	APIKey *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DeleteAPIKeyInput) GoString added in v1.50.12

func (s DeleteAPIKeyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteAPIKeyInput) SetAPIKey added in v1.50.12

func (s *DeleteAPIKeyInput) SetAPIKey(v string) *DeleteAPIKeyInput

SetAPIKey sets the APIKey field's value.

func (*DeleteAPIKeyInput) SetScope added in v1.50.12

func (s *DeleteAPIKeyInput) SetScope(v string) *DeleteAPIKeyInput

SetScope sets the Scope field's value.

func (DeleteAPIKeyInput) String added in v1.50.12

func (s DeleteAPIKeyInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteAPIKeyInput) Validate added in v1.50.12

func (s *DeleteAPIKeyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteAPIKeyOutput added in v1.50.12

type DeleteAPIKeyOutput struct {
	// contains filtered or unexported fields
}

func (DeleteAPIKeyOutput) GoString added in v1.50.12

func (s DeleteAPIKeyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteAPIKeyOutput) String added in v1.50.12

func (s DeleteAPIKeyOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteFirewallManagerRuleGroupsInput added in v1.30.1

type DeleteFirewallManagerRuleGroupsInput struct {

	// The Amazon Resource Name (ARN) of the web ACL.
	//
	// WebACLArn is a required field
	WebACLArn *string `min:"20" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// WebACLLockToken is a required field
	WebACLLockToken *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeleteFirewallManagerRuleGroupsInput) GoString added in v1.30.1

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteFirewallManagerRuleGroupsInput) SetWebACLArn added in v1.30.1

SetWebACLArn sets the WebACLArn field's value.

func (*DeleteFirewallManagerRuleGroupsInput) SetWebACLLockToken added in v1.30.1

SetWebACLLockToken sets the WebACLLockToken field's value.

func (DeleteFirewallManagerRuleGroupsInput) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteFirewallManagerRuleGroupsInput) Validate added in v1.30.1

Validate inspects the fields of the type to determine if they are valid.

type DeleteFirewallManagerRuleGroupsOutput added in v1.30.1

type DeleteFirewallManagerRuleGroupsOutput struct {

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	NextWebACLLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (DeleteFirewallManagerRuleGroupsOutput) GoString added in v1.30.1

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteFirewallManagerRuleGroupsOutput) SetNextWebACLLockToken added in v1.30.1

SetNextWebACLLockToken sets the NextWebACLLockToken field's value.

func (DeleteFirewallManagerRuleGroupsOutput) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteIPSetInput

type DeleteIPSetInput struct {

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DeleteIPSetInput) GoString

func (s DeleteIPSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteIPSetInput) SetId

SetId sets the Id field's value.

func (*DeleteIPSetInput) SetLockToken

func (s *DeleteIPSetInput) SetLockToken(v string) *DeleteIPSetInput

SetLockToken sets the LockToken field's value.

func (*DeleteIPSetInput) SetName

func (s *DeleteIPSetInput) SetName(v string) *DeleteIPSetInput

SetName sets the Name field's value.

func (*DeleteIPSetInput) SetScope

func (s *DeleteIPSetInput) SetScope(v string) *DeleteIPSetInput

SetScope sets the Scope field's value.

func (DeleteIPSetInput) String

func (s DeleteIPSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteIPSetInput) Validate

func (s *DeleteIPSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteIPSetOutput

type DeleteIPSetOutput struct {
	// contains filtered or unexported fields
}

func (DeleteIPSetOutput) GoString

func (s DeleteIPSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteIPSetOutput) String

func (s DeleteIPSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteLoggingConfigurationInput

type DeleteLoggingConfigurationInput struct {

	// The owner of the logging configuration, which must be set to CUSTOMER for
	// the configurations that you manage.
	//
	// The log scope SECURITY_LAKE indicates a configuration that is managed through
	// Amazon Security Lake. You can use Security Lake to collect log and event
	// data from various sources for normalization, analysis, and management. For
	// information, see Collecting data from Amazon Web Services services (https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html)
	// in the Amazon Security Lake user guide.
	//
	// Default: CUSTOMER
	LogScope *string `type:"string" enum:"LogScope"`

	// Used to distinguish between various logging options. Currently, there is
	// one option.
	//
	// Default: WAF_LOGS
	LogType *string `type:"string" enum:"LogType"`

	// The Amazon Resource Name (ARN) of the web ACL from which you want to delete
	// the LoggingConfiguration.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeleteLoggingConfigurationInput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteLoggingConfigurationInput) SetLogScope added in v1.53.8

SetLogScope sets the LogScope field's value.

func (*DeleteLoggingConfigurationInput) SetLogType added in v1.53.8

SetLogType sets the LogType field's value.

func (*DeleteLoggingConfigurationInput) SetResourceArn

SetResourceArn sets the ResourceArn field's value.

func (DeleteLoggingConfigurationInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteLoggingConfigurationInput) Validate

func (s *DeleteLoggingConfigurationInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteLoggingConfigurationOutput

type DeleteLoggingConfigurationOutput struct {
	// contains filtered or unexported fields
}

func (DeleteLoggingConfigurationOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteLoggingConfigurationOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeletePermissionPolicyInput added in v1.30.1

type DeletePermissionPolicyInput struct {

	// The Amazon Resource Name (ARN) of the rule group from which you want to delete
	// the policy.
	//
	// You must be the owner of the rule group to perform this operation.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeletePermissionPolicyInput) GoString added in v1.30.1

func (s DeletePermissionPolicyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeletePermissionPolicyInput) SetResourceArn added in v1.30.1

SetResourceArn sets the ResourceArn field's value.

func (DeletePermissionPolicyInput) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeletePermissionPolicyInput) Validate added in v1.30.1

func (s *DeletePermissionPolicyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeletePermissionPolicyOutput added in v1.30.1

type DeletePermissionPolicyOutput struct {
	// contains filtered or unexported fields
}

func (DeletePermissionPolicyOutput) GoString added in v1.30.1

func (s DeletePermissionPolicyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeletePermissionPolicyOutput) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteRegexPatternSetInput

type DeleteRegexPatternSetInput struct {

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the set. You cannot change the name after you create the set.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DeleteRegexPatternSetInput) GoString

func (s DeleteRegexPatternSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteRegexPatternSetInput) SetId

SetId sets the Id field's value.

func (*DeleteRegexPatternSetInput) SetLockToken

SetLockToken sets the LockToken field's value.

func (*DeleteRegexPatternSetInput) SetName

SetName sets the Name field's value.

func (*DeleteRegexPatternSetInput) SetScope

SetScope sets the Scope field's value.

func (DeleteRegexPatternSetInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteRegexPatternSetInput) Validate

func (s *DeleteRegexPatternSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteRegexPatternSetOutput

type DeleteRegexPatternSetOutput struct {
	// contains filtered or unexported fields
}

func (DeleteRegexPatternSetOutput) GoString

func (s DeleteRegexPatternSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteRegexPatternSetOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteRuleGroupInput

type DeleteRuleGroupInput struct {

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DeleteRuleGroupInput) GoString

func (s DeleteRuleGroupInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteRuleGroupInput) SetId

SetId sets the Id field's value.

func (*DeleteRuleGroupInput) SetLockToken

func (s *DeleteRuleGroupInput) SetLockToken(v string) *DeleteRuleGroupInput

SetLockToken sets the LockToken field's value.

func (*DeleteRuleGroupInput) SetName

SetName sets the Name field's value.

func (*DeleteRuleGroupInput) SetScope

SetScope sets the Scope field's value.

func (DeleteRuleGroupInput) String

func (s DeleteRuleGroupInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteRuleGroupInput) Validate

func (s *DeleteRuleGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteRuleGroupOutput

type DeleteRuleGroupOutput struct {
	// contains filtered or unexported fields
}

func (DeleteRuleGroupOutput) GoString

func (s DeleteRuleGroupOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteRuleGroupOutput) String

func (s DeleteRuleGroupOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DeleteWebACLInput

type DeleteWebACLInput struct {

	// The unique identifier for the web ACL. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DeleteWebACLInput) GoString

func (s DeleteWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteWebACLInput) SetId

SetId sets the Id field's value.

func (*DeleteWebACLInput) SetLockToken

func (s *DeleteWebACLInput) SetLockToken(v string) *DeleteWebACLInput

SetLockToken sets the LockToken field's value.

func (*DeleteWebACLInput) SetName

SetName sets the Name field's value.

func (*DeleteWebACLInput) SetScope

func (s *DeleteWebACLInput) SetScope(v string) *DeleteWebACLInput

SetScope sets the Scope field's value.

func (DeleteWebACLInput) String

func (s DeleteWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DeleteWebACLInput) Validate

func (s *DeleteWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteWebACLOutput

type DeleteWebACLOutput struct {
	// contains filtered or unexported fields
}

func (DeleteWebACLOutput) GoString

func (s DeleteWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DeleteWebACLOutput) String

func (s DeleteWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DescribeAllManagedProductsInput added in v1.44.275

type DescribeAllManagedProductsInput struct {

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (DescribeAllManagedProductsInput) GoString added in v1.44.275

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeAllManagedProductsInput) SetScope added in v1.44.275

SetScope sets the Scope field's value.

func (DescribeAllManagedProductsInput) String added in v1.44.275

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeAllManagedProductsInput) Validate added in v1.44.275

func (s *DescribeAllManagedProductsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeAllManagedProductsOutput added in v1.44.275

type DescribeAllManagedProductsOutput struct {

	// High-level information for the Amazon Web Services Managed Rules rule groups
	// and Amazon Web Services Marketplace managed rule groups.
	ManagedProducts []*ManagedProductDescriptor `type:"list"`
	// contains filtered or unexported fields
}

func (DescribeAllManagedProductsOutput) GoString added in v1.44.275

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeAllManagedProductsOutput) SetManagedProducts added in v1.44.275

SetManagedProducts sets the ManagedProducts field's value.

func (DescribeAllManagedProductsOutput) String added in v1.44.275

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DescribeManagedProductsByVendorInput added in v1.44.275

type DescribeManagedProductsByVendorInput struct {

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	//
	// VendorName is a required field
	VendorName *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DescribeManagedProductsByVendorInput) GoString added in v1.44.275

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedProductsByVendorInput) SetScope added in v1.44.275

SetScope sets the Scope field's value.

func (*DescribeManagedProductsByVendorInput) SetVendorName added in v1.44.275

SetVendorName sets the VendorName field's value.

func (DescribeManagedProductsByVendorInput) String added in v1.44.275

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedProductsByVendorInput) Validate added in v1.44.275

Validate inspects the fields of the type to determine if they are valid.

type DescribeManagedProductsByVendorOutput added in v1.44.275

type DescribeManagedProductsByVendorOutput struct {

	// High-level information for the managed rule groups owned by the specified
	// vendor.
	ManagedProducts []*ManagedProductDescriptor `type:"list"`
	// contains filtered or unexported fields
}

func (DescribeManagedProductsByVendorOutput) GoString added in v1.44.275

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedProductsByVendorOutput) SetManagedProducts added in v1.44.275

SetManagedProducts sets the ManagedProducts field's value.

func (DescribeManagedProductsByVendorOutput) String added in v1.44.275

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DescribeManagedRuleGroupInput

type DescribeManagedRuleGroupInput struct {

	// The name of the managed rule group. You use this, along with the vendor name,
	// to identify the rule group.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	//
	// VendorName is a required field
	VendorName *string `min:"1" type:"string" required:"true"`

	// The version of the rule group. You can only use a version that is not scheduled
	// for expiration. If you don't provide this, WAF uses the vendor's default
	// version.
	VersionName *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeManagedRuleGroupInput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedRuleGroupInput) SetName

SetName sets the Name field's value.

func (*DescribeManagedRuleGroupInput) SetScope

SetScope sets the Scope field's value.

func (*DescribeManagedRuleGroupInput) SetVendorName

SetVendorName sets the VendorName field's value.

func (*DescribeManagedRuleGroupInput) SetVersionName added in v1.40.18

SetVersionName sets the VersionName field's value.

func (DescribeManagedRuleGroupInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedRuleGroupInput) Validate

func (s *DescribeManagedRuleGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeManagedRuleGroupOutput

type DescribeManagedRuleGroupOutput struct {

	// The labels that one or more rules in this rule group add to matching web
	// requests. These labels are defined in the RuleLabels for a Rule.
	AvailableLabels []*LabelSummary `type:"list"`

	// The web ACL capacity units (WCUs) required for this rule group.
	//
	// WAF uses WCUs to calculate and control the operating resources that are used
	// to run your rules, rule groups, and web ACLs. WAF calculates capacity differently
	// for each rule type, to reflect the relative cost of each rule. Simple rules
	// that cost little to run use fewer WCUs than more complex rules that use more
	// processing power. Rule group capacity is fixed at creation, which helps users
	// plan their web ACL WCU usage when they use a rule group. For more information,
	// see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html)
	// in the WAF Developer Guide.
	Capacity *int64 `min:"1" type:"long"`

	// The labels that one or more rules in this rule group match against in label
	// match statements. These labels are defined in a LabelMatchStatement specification,
	// in the Statement definition of a rule.
	ConsumedLabels []*LabelSummary `type:"list"`

	// The label namespace prefix for this rule group. All labels added by rules
	// in this rule group have this prefix.
	//
	//    * The syntax for the label namespace prefix for a managed rule group is
	//    the following: awswaf:managed:<vendor>:<rule group name>:
	//
	//    * When a rule with a label matches a web request, WAF adds the fully qualified
	//    label to the request. A fully qualified label is made up of the label
	//    namespace from the rule group or web ACL where the rule is defined and
	//    the label from the rule, separated by a colon: <label namespace>:<label
	//    from rule>
	LabelNamespace *string `min:"1" type:"string"`

	Rules []*RuleSummary `type:"list"`

	// The Amazon resource name (ARN) of the Amazon Simple Notification Service
	// SNS topic that's used to provide notification of changes to the managed rule
	// group. You can subscribe to the SNS topic to receive notifications when the
	// managed rule group is modified, such as for new versions and for version
	// expiration. For more information, see the Amazon Simple Notification Service
	// Developer Guide (https://docs.aws.amazon.com/sns/latest/dg/welcome.html).
	SnsTopicArn *string `min:"20" type:"string"`

	// The managed rule group's version.
	VersionName *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeManagedRuleGroupOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DescribeManagedRuleGroupOutput) SetAvailableLabels added in v1.38.11

SetAvailableLabels sets the AvailableLabels field's value.

func (*DescribeManagedRuleGroupOutput) SetCapacity

SetCapacity sets the Capacity field's value.

func (*DescribeManagedRuleGroupOutput) SetConsumedLabels added in v1.38.11

SetConsumedLabels sets the ConsumedLabels field's value.

func (*DescribeManagedRuleGroupOutput) SetLabelNamespace added in v1.38.11

SetLabelNamespace sets the LabelNamespace field's value.

func (*DescribeManagedRuleGroupOutput) SetRules

SetRules sets the Rules field's value.

func (*DescribeManagedRuleGroupOutput) SetSnsTopicArn added in v1.40.18

SetSnsTopicArn sets the SnsTopicArn field's value.

func (*DescribeManagedRuleGroupOutput) SetVersionName added in v1.40.18

SetVersionName sets the VersionName field's value.

func (DescribeManagedRuleGroupOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type DisassociateWebACLInput

type DisassociateWebACLInput struct {

	// The Amazon Resource Name (ARN) of the resource to disassociate from the web
	// ACL.
	//
	// The ARN must be in one of the following formats:
	//
	//    * For an Application Load Balancer: arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
	//
	//    * For an Amazon API Gateway REST API: arn:partition:apigateway:region::/restapis/api-id/stages/stage-name
	//
	//    * For an AppSync GraphQL API: arn:partition:appsync:region:account-id:apis/GraphQLApiId
	//
	//    * For an Amazon Cognito user pool: arn:partition:cognito-idp:region:account-id:userpool/user-pool-id
	//
	//    * For an App Runner service: arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id
	//
	//    * For an Amazon Web Services Verified Access instance: arn:partition:ec2:region:account-id:verified-access-instance/instance-id
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DisassociateWebACLInput) GoString

func (s DisassociateWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DisassociateWebACLInput) SetResourceArn

SetResourceArn sets the ResourceArn field's value.

func (DisassociateWebACLInput) String

func (s DisassociateWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*DisassociateWebACLInput) Validate

func (s *DisassociateWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DisassociateWebACLOutput

type DisassociateWebACLOutput struct {
	// contains filtered or unexported fields
}

func (DisassociateWebACLOutput) GoString

func (s DisassociateWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (DisassociateWebACLOutput) String

func (s DisassociateWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type EmailField added in v1.44.282

type EmailField struct {

	// The name of the email field.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "email": "THE_EMAIL" } }, the email field specification is
	//    /form/email.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named email1, the email field
	//    specification is email1.
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The name of the field in the request payload that contains your customer's email.

This data type is used in the RequestInspectionACFP data type.

func (EmailField) GoString added in v1.44.282

func (s EmailField) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*EmailField) SetIdentifier added in v1.44.282

func (s *EmailField) SetIdentifier(v string) *EmailField

SetIdentifier sets the Identifier field's value.

func (EmailField) String added in v1.44.282

func (s EmailField) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*EmailField) Validate added in v1.44.282

func (s *EmailField) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ExcludedRule

type ExcludedRule struct {

	// The name of the rule whose action you want to override to Count.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Specifies a single rule in a rule group whose action you want to override to Count.

Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.

func (ExcludedRule) GoString

func (s ExcludedRule) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ExcludedRule) SetName

func (s *ExcludedRule) SetName(v string) *ExcludedRule

SetName sets the Name field's value.

func (ExcludedRule) String

func (s ExcludedRule) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ExcludedRule) Validate

func (s *ExcludedRule) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type FieldToMatch

type FieldToMatch struct {

	// Inspect all query arguments.
	AllQueryArguments *AllQueryArguments `type:"structure"`

	// Inspect the request body as plain text. The request body immediately follows
	// the request headers. This is the part of a request that contains any additional
	// data that you want to send to your web server as the HTTP request body, such
	// as data from a form.
	//
	// WAF does not support inspecting the entire contents of the web request body
	// if the body exceeds the limit for the resource type. When a web request body
	// is larger than the limit, the underlying host service only forwards the contents
	// that are within the limit to WAF for inspection.
	//
	//    * For Application Load Balancer and AppSync, the limit is fixed at 8 KB
	//    (8,192 bytes).
	//
	//    * For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
	//    Access, the default limit is 16 KB (16,384 bytes), and you can increase
	//    the limit for each resource type in the web ACL AssociationConfig, for
	//    additional processing fees.
	//
	// For information about how to handle oversized request bodies, see the Body
	// object configuration.
	Body *Body `type:"structure"`

	// Inspect the request cookies. You must configure scope and pattern matching
	// filters in the Cookies object, to define the set of cookies and the parts
	// of the cookies that WAF inspects.
	//
	// Only the first 8 KB (8192 bytes) of a request's cookies and only the first
	// 200 cookies are forwarded to WAF for inspection by the underlying host service.
	// You must configure how to handle any oversize cookie content in the Cookies
	// object. WAF applies the pattern matching filters to the cookies that it receives
	// from the underlying host service.
	Cookies *Cookies `type:"structure"`

	// Inspect a string containing the list of the request's header names, ordered
	// as they appear in the web request that WAF receives for inspection. WAF generates
	// the string and then uses that as the field to match component in its inspection.
	// WAF separates the header names in the string using colons and no added spaces,
	// for example host:user-agent:accept:authorization:referer.
	HeaderOrder *HeaderOrder `type:"structure"`

	// Inspect the request headers. You must configure scope and pattern matching
	// filters in the Headers object, to define the set of headers to and the parts
	// of the headers that WAF inspects.
	//
	// Only the first 8 KB (8192 bytes) of a request's headers and only the first
	// 200 headers are forwarded to WAF for inspection by the underlying host service.
	// You must configure how to handle any oversize header content in the Headers
	// object. WAF applies the pattern matching filters to the headers that it receives
	// from the underlying host service.
	Headers *Headers `type:"structure"`

	// Available for use with Amazon CloudFront distributions and Application Load
	// Balancers. Match against the request's JA3 fingerprint. The JA3 fingerprint
	// is a 32-character hash derived from the TLS Client Hello of an incoming request.
	// This fingerprint serves as a unique identifier for the client's TLS configuration.
	// WAF calculates and logs this fingerprint for each request that has enough
	// TLS Client Hello information for the calculation. Almost all web requests
	// include this information.
	//
	// You can use this choice only with a string match ByteMatchStatement with
	// the PositionalConstraint set to EXACTLY.
	//
	// You can obtain the JA3 fingerprint for client requests from the web ACL logs.
	// If WAF is able to calculate the fingerprint, it includes it in the logs.
	// For information about the logging fields, see Log fields (https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html)
	// in the WAF Developer Guide.
	//
	// Provide the JA3 fingerprint string from the logs in your string match statement
	// specification, to match with any future requests that have the same TLS configuration.
	JA3Fingerprint *JA3Fingerprint `type:"structure"`

	// Inspect the request body as JSON. The request body immediately follows the
	// request headers. This is the part of a request that contains any additional
	// data that you want to send to your web server as the HTTP request body, such
	// as data from a form.
	//
	// WAF does not support inspecting the entire contents of the web request body
	// if the body exceeds the limit for the resource type. When a web request body
	// is larger than the limit, the underlying host service only forwards the contents
	// that are within the limit to WAF for inspection.
	//
	//    * For Application Load Balancer and AppSync, the limit is fixed at 8 KB
	//    (8,192 bytes).
	//
	//    * For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
	//    Access, the default limit is 16 KB (16,384 bytes), and you can increase
	//    the limit for each resource type in the web ACL AssociationConfig, for
	//    additional processing fees.
	//
	// For information about how to handle oversized request bodies, see the JsonBody
	// object configuration.
	JsonBody *JsonBody `type:"structure"`

	// Inspect the HTTP method. The method indicates the type of operation that
	// the request is asking the origin to perform.
	Method *Method `type:"structure"`

	// Inspect the query string. This is the part of a URL that appears after a
	// ? character, if any.
	QueryString *QueryString `type:"structure"`

	// Inspect a single header. Provide the name of the header to inspect, for example,
	// User-Agent or Referer. This setting isn't case sensitive.
	//
	// Example JSON: "SingleHeader": { "Name": "haystack" }
	//
	// Alternately, you can filter and inspect all headers with the Headers FieldToMatch
	// setting.
	SingleHeader *SingleHeader `type:"structure"`

	// Inspect a single query argument. Provide the name of the query argument to
	// inspect, such as UserName or SalesRegion. The name can be up to 30 characters
	// long and isn't case sensitive.
	//
	// Example JSON: "SingleQueryArgument": { "Name": "myArgument" }
	SingleQueryArgument *SingleQueryArgument `type:"structure"`

	// Inspect the request URI path. This is the part of the web request that identifies
	// a resource, for example, /images/daily-ad.jpg.
	UriPath *UriPath `type:"structure"`
	// contains filtered or unexported fields
}

Specifies a web request component to be used in a rule match statement or in a logging configuration.

  • In a rule statement, this is the part of the web request that you want WAF to inspect. Include the single FieldToMatch type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch for each rule statement that requires it. To inspect more than one component of the web request, create a separate rule statement for each component. Example JSON for a QueryString field to match: "FieldToMatch": { "QueryString": {} } Example JSON for a Method field to match specification: "FieldToMatch": { "Method": { "Name": "DELETE" } }

  • In a logging configuration, this is used in the RedactedFields property to specify a field to redact from the logging records. For this use case, note the following: Even though all FieldToMatch settings are available, the only valid settings for field redaction are UriPath, QueryString, SingleHeader, and Method. In this documentation, the descriptions of the individual fields talk about specifying the web request component to inspect, but for field redaction, you are specifying the component type to redact from the logs. If you have request sampling enabled, the redacted fields configuration for logging has no impact on sampling. The only way to exclude fields from request sampling is by disabling sampling in the web ACL visibility configuration.

func (FieldToMatch) GoString

func (s FieldToMatch) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*FieldToMatch) SetAllQueryArguments

func (s *FieldToMatch) SetAllQueryArguments(v *AllQueryArguments) *FieldToMatch

SetAllQueryArguments sets the AllQueryArguments field's value.

func (*FieldToMatch) SetBody

func (s *FieldToMatch) SetBody(v *Body) *FieldToMatch

SetBody sets the Body field's value.

func (*FieldToMatch) SetCookies added in v1.44.4

func (s *FieldToMatch) SetCookies(v *Cookies) *FieldToMatch

SetCookies sets the Cookies field's value.

func (*FieldToMatch) SetHeaderOrder added in v1.44.272

func (s *FieldToMatch) SetHeaderOrder(v *HeaderOrder) *FieldToMatch

SetHeaderOrder sets the HeaderOrder field's value.

func (*FieldToMatch) SetHeaders added in v1.44.4

func (s *FieldToMatch) SetHeaders(v *Headers) *FieldToMatch

SetHeaders sets the Headers field's value.

func (*FieldToMatch) SetJA3Fingerprint added in v1.45.16

func (s *FieldToMatch) SetJA3Fingerprint(v *JA3Fingerprint) *FieldToMatch

SetJA3Fingerprint sets the JA3Fingerprint field's value.

func (*FieldToMatch) SetJsonBody added in v1.37.10

func (s *FieldToMatch) SetJsonBody(v *JsonBody) *FieldToMatch

SetJsonBody sets the JsonBody field's value.

func (*FieldToMatch) SetMethod

func (s *FieldToMatch) SetMethod(v *Method) *FieldToMatch

SetMethod sets the Method field's value.

func (*FieldToMatch) SetQueryString

func (s *FieldToMatch) SetQueryString(v *QueryString) *FieldToMatch

SetQueryString sets the QueryString field's value.

func (*FieldToMatch) SetSingleHeader

func (s *FieldToMatch) SetSingleHeader(v *SingleHeader) *FieldToMatch

SetSingleHeader sets the SingleHeader field's value.

func (*FieldToMatch) SetSingleQueryArgument

func (s *FieldToMatch) SetSingleQueryArgument(v *SingleQueryArgument) *FieldToMatch

SetSingleQueryArgument sets the SingleQueryArgument field's value.

func (*FieldToMatch) SetUriPath

func (s *FieldToMatch) SetUriPath(v *UriPath) *FieldToMatch

SetUriPath sets the UriPath field's value.

func (FieldToMatch) String

func (s FieldToMatch) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*FieldToMatch) Validate

func (s *FieldToMatch) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Filter added in v1.38.11

type Filter struct {

	// How to handle logs that satisfy the filter's conditions and requirement.
	//
	// Behavior is a required field
	Behavior *string `type:"string" required:"true" enum:"FilterBehavior"`

	// Match conditions for the filter.
	//
	// Conditions is a required field
	Conditions []*Condition `min:"1" type:"list" required:"true"`

	// Logic to apply to the filtering conditions. You can specify that, in order
	// to satisfy the filter, a log must match all conditions or must match at least
	// one condition.
	//
	// Requirement is a required field
	Requirement *string `type:"string" required:"true" enum:"FilterRequirement"`
	// contains filtered or unexported fields
}

A single logging filter, used in LoggingFilter.

func (Filter) GoString added in v1.38.11

func (s Filter) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Filter) SetBehavior added in v1.38.11

func (s *Filter) SetBehavior(v string) *Filter

SetBehavior sets the Behavior field's value.

func (*Filter) SetConditions added in v1.38.11

func (s *Filter) SetConditions(v []*Condition) *Filter

SetConditions sets the Conditions field's value.

func (*Filter) SetRequirement added in v1.38.11

func (s *Filter) SetRequirement(v string) *Filter

SetRequirement sets the Requirement field's value.

func (Filter) String added in v1.38.11

func (s Filter) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Filter) Validate added in v1.38.11

func (s *Filter) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type FirewallManagerRuleGroup added in v1.30.1

type FirewallManagerRuleGroup struct {

	// The processing guidance for an Firewall Manager rule. This is like a regular
	// rule Statement, but it can only contain a rule group reference.
	//
	// FirewallManagerStatement is a required field
	FirewallManagerStatement *FirewallManagerStatement `type:"structure" required:"true"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The action to use in the place of the action that results from the rule group
	// evaluation. Set the override action to none to leave the result of the rule
	// group alone. Set it to count to override the result to count only.
	//
	// You can only use this for rule statements that reference a rule group, like
	// RuleGroupReferenceStatement and ManagedRuleGroupStatement.
	//
	// This option is usually set to none. It does not affect how the rules in the
	// rule group are evaluated. If you want the rules in the rule group to only
	// count matches, do not use this and instead use the rule action override option,
	// with Count action, in your rule group reference statement settings.
	//
	// OverrideAction is a required field
	OverrideAction *OverrideAction `type:"structure" required:"true"`

	// If you define more than one rule group in the first or last Firewall Manager
	// rule groups, WAF evaluates each request against the rule groups in order,
	// starting from the lowest priority setting. The priorities don't need to be
	// consecutive, but they must all be different.
	//
	// Priority is a required field
	Priority *int64 `type:"integer" required:"true"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

A rule group that's defined for an Firewall Manager WAF policy.

func (FirewallManagerRuleGroup) GoString added in v1.30.1

func (s FirewallManagerRuleGroup) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*FirewallManagerRuleGroup) SetFirewallManagerStatement added in v1.30.1

SetFirewallManagerStatement sets the FirewallManagerStatement field's value.

func (*FirewallManagerRuleGroup) SetName added in v1.30.1

SetName sets the Name field's value.

func (*FirewallManagerRuleGroup) SetOverrideAction added in v1.30.1

SetOverrideAction sets the OverrideAction field's value.

func (*FirewallManagerRuleGroup) SetPriority added in v1.30.1

SetPriority sets the Priority field's value.

func (*FirewallManagerRuleGroup) SetVisibilityConfig added in v1.30.1

SetVisibilityConfig sets the VisibilityConfig field's value.

func (FirewallManagerRuleGroup) String added in v1.30.1

func (s FirewallManagerRuleGroup) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type FirewallManagerStatement added in v1.30.1

type FirewallManagerStatement struct {

	// A statement used by Firewall Manager to run the rules that are defined in
	// a managed rule group. This is managed by Firewall Manager for an Firewall
	// Manager WAF policy.
	ManagedRuleGroupStatement *ManagedRuleGroupStatement `type:"structure"`

	// A statement used by Firewall Manager to run the rules that are defined in
	// a rule group. This is managed by Firewall Manager for an Firewall Manager
	// WAF policy.
	RuleGroupReferenceStatement *RuleGroupReferenceStatement `type:"structure"`
	// contains filtered or unexported fields
}

The processing guidance for an Firewall Manager rule. This is like a regular rule Statement, but it can only contain a single rule group reference.

func (FirewallManagerStatement) GoString added in v1.30.1

func (s FirewallManagerStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*FirewallManagerStatement) SetManagedRuleGroupStatement added in v1.30.1

SetManagedRuleGroupStatement sets the ManagedRuleGroupStatement field's value.

func (*FirewallManagerStatement) SetRuleGroupReferenceStatement added in v1.30.1

func (s *FirewallManagerStatement) SetRuleGroupReferenceStatement(v *RuleGroupReferenceStatement) *FirewallManagerStatement

SetRuleGroupReferenceStatement sets the RuleGroupReferenceStatement field's value.

func (FirewallManagerStatement) String added in v1.30.1

func (s FirewallManagerStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ForwardedIPConfig added in v1.33.5

type ForwardedIPConfig struct {

	// The match status to assign to the web request if the request doesn't have
	// a valid IP address in the specified position.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	//
	// You can specify the following fallback behaviors:
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// FallbackBehavior is a required field
	FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"`

	// The name of the HTTP header to use for the IP address. For example, to use
	// the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	//
	// HeaderName is a required field
	HeaderName *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This configuration is used for GeoMatchStatement and RateBasedStatement. For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.

WAF only evaluates the first IP address found in the specified HTTP header.

func (ForwardedIPConfig) GoString added in v1.33.5

func (s ForwardedIPConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ForwardedIPConfig) SetFallbackBehavior added in v1.33.5

func (s *ForwardedIPConfig) SetFallbackBehavior(v string) *ForwardedIPConfig

SetFallbackBehavior sets the FallbackBehavior field's value.

func (*ForwardedIPConfig) SetHeaderName added in v1.33.5

func (s *ForwardedIPConfig) SetHeaderName(v string) *ForwardedIPConfig

SetHeaderName sets the HeaderName field's value.

func (ForwardedIPConfig) String added in v1.33.5

func (s ForwardedIPConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ForwardedIPConfig) Validate added in v1.33.5

func (s *ForwardedIPConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GenerateMobileSdkReleaseUrlInput added in v1.42.51

type GenerateMobileSdkReleaseUrlInput struct {

	// The device platform.
	//
	// Platform is a required field
	Platform *string `type:"string" required:"true" enum:"Platform"`

	// The release version. For the latest available version, specify LATEST.
	//
	// ReleaseVersion is a required field
	ReleaseVersion *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GenerateMobileSdkReleaseUrlInput) GoString added in v1.42.51

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GenerateMobileSdkReleaseUrlInput) SetPlatform added in v1.42.51

SetPlatform sets the Platform field's value.

func (*GenerateMobileSdkReleaseUrlInput) SetReleaseVersion added in v1.42.51

SetReleaseVersion sets the ReleaseVersion field's value.

func (GenerateMobileSdkReleaseUrlInput) String added in v1.42.51

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GenerateMobileSdkReleaseUrlInput) Validate added in v1.42.51

Validate inspects the fields of the type to determine if they are valid.

type GenerateMobileSdkReleaseUrlOutput added in v1.42.51

type GenerateMobileSdkReleaseUrlOutput struct {

	// The presigned download URL for the specified SDK release.
	Url *string `type:"string"`
	// contains filtered or unexported fields
}

func (GenerateMobileSdkReleaseUrlOutput) GoString added in v1.42.51

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GenerateMobileSdkReleaseUrlOutput) SetUrl added in v1.42.51

SetUrl sets the Url field's value.

func (GenerateMobileSdkReleaseUrlOutput) String added in v1.42.51

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GeoMatchStatement

type GeoMatchStatement struct {

	// An array of two-character country codes that you want to match against, for
	// example, [ "US", "CN" ], from the alpha-2 country ISO codes of the ISO 3166
	// international standard.
	//
	// When you use a geo match statement just for the region and country labels
	// that it adds to requests, you still have to supply a country code for the
	// rule to evaluate. In this case, you configure the rule to only count matching
	// requests, but it will still generate logging and count metrics for any matches.
	// You can reduce the logging and metrics that the rule produces by specifying
	// a country that's unlikely to be a source of traffic to your site.
	CountryCodes []*string `min:"1" type:"list" enum:"CountryCode"`

	// The configuration for inspecting IP addresses in an HTTP header that you
	// specify, instead of using the IP address that's reported by the web request
	// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
	// any header name.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	ForwardedIPConfig *ForwardedIPConfig `type:"structure"`
	// contains filtered or unexported fields
}

A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.

  • To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the CountryCodes array.

  • Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed.

WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ForwardedIPConfig.

If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country code>.

If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country code>.

For additional details, see Geographic match rule statement (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html) in the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).

func (GeoMatchStatement) GoString

func (s GeoMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GeoMatchStatement) SetCountryCodes

func (s *GeoMatchStatement) SetCountryCodes(v []*string) *GeoMatchStatement

SetCountryCodes sets the CountryCodes field's value.

func (*GeoMatchStatement) SetForwardedIPConfig added in v1.33.5

func (s *GeoMatchStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *GeoMatchStatement

SetForwardedIPConfig sets the ForwardedIPConfig field's value.

func (GeoMatchStatement) String

func (s GeoMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GeoMatchStatement) Validate

func (s *GeoMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetDecryptedAPIKeyInput added in v1.44.247

type GetDecryptedAPIKeyInput struct {

	// The encrypted API key.
	//
	// APIKey is a required field
	APIKey *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetDecryptedAPIKeyInput) GoString added in v1.44.247

func (s GetDecryptedAPIKeyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetDecryptedAPIKeyInput) SetAPIKey added in v1.44.247

SetAPIKey sets the APIKey field's value.

func (*GetDecryptedAPIKeyInput) SetScope added in v1.44.247

SetScope sets the Scope field's value.

func (GetDecryptedAPIKeyInput) String added in v1.44.247

func (s GetDecryptedAPIKeyInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetDecryptedAPIKeyInput) Validate added in v1.44.247

func (s *GetDecryptedAPIKeyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetDecryptedAPIKeyOutput added in v1.44.247

type GetDecryptedAPIKeyOutput struct {

	// The date and time that the key was created.
	CreationTimestamp *time.Time `type:"timestamp"`

	// The token domains that are defined in this API key.
	TokenDomains []*string `type:"list"`
	// contains filtered or unexported fields
}

func (GetDecryptedAPIKeyOutput) GoString added in v1.44.247

func (s GetDecryptedAPIKeyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetDecryptedAPIKeyOutput) SetCreationTimestamp added in v1.44.247

func (s *GetDecryptedAPIKeyOutput) SetCreationTimestamp(v time.Time) *GetDecryptedAPIKeyOutput

SetCreationTimestamp sets the CreationTimestamp field's value.

func (*GetDecryptedAPIKeyOutput) SetTokenDomains added in v1.44.247

func (s *GetDecryptedAPIKeyOutput) SetTokenDomains(v []*string) *GetDecryptedAPIKeyOutput

SetTokenDomains sets the TokenDomains field's value.

func (GetDecryptedAPIKeyOutput) String added in v1.44.247

func (s GetDecryptedAPIKeyOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetIPSetInput

type GetIPSetInput struct {

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetIPSetInput) GoString

func (s GetIPSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetIPSetInput) SetId

func (s *GetIPSetInput) SetId(v string) *GetIPSetInput

SetId sets the Id field's value.

func (*GetIPSetInput) SetName

func (s *GetIPSetInput) SetName(v string) *GetIPSetInput

SetName sets the Name field's value.

func (*GetIPSetInput) SetScope

func (s *GetIPSetInput) SetScope(v string) *GetIPSetInput

SetScope sets the Scope field's value.

func (GetIPSetInput) String

func (s GetIPSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetIPSetInput) Validate

func (s *GetIPSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetIPSetOutput

type GetIPSetOutput struct {

	// Contains zero or more IP addresses or blocks of IP addresses specified in
	// Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and
	// IPv6 CIDR ranges except for /0. For information about CIDR notation, see
	// the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
	//
	// WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule,
	// you provide the ARN to the Rule statement IPSetReferenceStatement.
	IPSet *IPSet `type:"structure"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (GetIPSetOutput) GoString

func (s GetIPSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetIPSetOutput) SetIPSet

func (s *GetIPSetOutput) SetIPSet(v *IPSet) *GetIPSetOutput

SetIPSet sets the IPSet field's value.

func (*GetIPSetOutput) SetLockToken

func (s *GetIPSetOutput) SetLockToken(v string) *GetIPSetOutput

SetLockToken sets the LockToken field's value.

func (GetIPSetOutput) String

func (s GetIPSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetLoggingConfigurationInput

type GetLoggingConfigurationInput struct {

	// The owner of the logging configuration, which must be set to CUSTOMER for
	// the configurations that you manage.
	//
	// The log scope SECURITY_LAKE indicates a configuration that is managed through
	// Amazon Security Lake. You can use Security Lake to collect log and event
	// data from various sources for normalization, analysis, and management. For
	// information, see Collecting data from Amazon Web Services services (https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html)
	// in the Amazon Security Lake user guide.
	//
	// Default: CUSTOMER
	LogScope *string `type:"string" enum:"LogScope"`

	// Used to distinguish between various logging options. Currently, there is
	// one option.
	//
	// Default: WAF_LOGS
	LogType *string `type:"string" enum:"LogType"`

	// The Amazon Resource Name (ARN) of the web ACL for which you want to get the
	// LoggingConfiguration.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetLoggingConfigurationInput) GoString

func (s GetLoggingConfigurationInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetLoggingConfigurationInput) SetLogScope added in v1.53.8

SetLogScope sets the LogScope field's value.

func (*GetLoggingConfigurationInput) SetLogType added in v1.53.8

SetLogType sets the LogType field's value.

func (*GetLoggingConfigurationInput) SetResourceArn

SetResourceArn sets the ResourceArn field's value.

func (GetLoggingConfigurationInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetLoggingConfigurationInput) Validate

func (s *GetLoggingConfigurationInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetLoggingConfigurationOutput

type GetLoggingConfigurationOutput struct {

	// The LoggingConfiguration for the specified web ACL.
	LoggingConfiguration *LoggingConfiguration `type:"structure"`
	// contains filtered or unexported fields
}

func (GetLoggingConfigurationOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetLoggingConfigurationOutput) SetLoggingConfiguration

SetLoggingConfiguration sets the LoggingConfiguration field's value.

func (GetLoggingConfigurationOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetManagedRuleSetInput added in v1.40.18

type GetManagedRuleSetInput struct {

	// A unique identifier for the managed rule set. The ID is returned in the responses
	// to commands like list. You provide it to operations like get and update.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The name of the managed rule set. You use this, along with the rule set ID,
	// to identify the rule set.
	//
	// This name is assigned to the corresponding managed rule group, which your
	// customers can access and use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetManagedRuleSetInput) GoString added in v1.40.18

func (s GetManagedRuleSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetManagedRuleSetInput) SetId added in v1.40.18

SetId sets the Id field's value.

func (*GetManagedRuleSetInput) SetName added in v1.40.18

SetName sets the Name field's value.

func (*GetManagedRuleSetInput) SetScope added in v1.40.18

SetScope sets the Scope field's value.

func (GetManagedRuleSetInput) String added in v1.40.18

func (s GetManagedRuleSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetManagedRuleSetInput) Validate added in v1.40.18

func (s *GetManagedRuleSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetManagedRuleSetOutput added in v1.40.18

type GetManagedRuleSetOutput struct {

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The managed rule set that you requested.
	ManagedRuleSet *ManagedRuleSet `type:"structure"`
	// contains filtered or unexported fields
}

func (GetManagedRuleSetOutput) GoString added in v1.40.18

func (s GetManagedRuleSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetManagedRuleSetOutput) SetLockToken added in v1.40.18

SetLockToken sets the LockToken field's value.

func (*GetManagedRuleSetOutput) SetManagedRuleSet added in v1.40.18

SetManagedRuleSet sets the ManagedRuleSet field's value.

func (GetManagedRuleSetOutput) String added in v1.40.18

func (s GetManagedRuleSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetMobileSdkReleaseInput added in v1.42.51

type GetMobileSdkReleaseInput struct {

	// The device platform.
	//
	// Platform is a required field
	Platform *string `type:"string" required:"true" enum:"Platform"`

	// The release version. For the latest available version, specify LATEST.
	//
	// ReleaseVersion is a required field
	ReleaseVersion *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetMobileSdkReleaseInput) GoString added in v1.42.51

func (s GetMobileSdkReleaseInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetMobileSdkReleaseInput) SetPlatform added in v1.42.51

SetPlatform sets the Platform field's value.

func (*GetMobileSdkReleaseInput) SetReleaseVersion added in v1.42.51

func (s *GetMobileSdkReleaseInput) SetReleaseVersion(v string) *GetMobileSdkReleaseInput

SetReleaseVersion sets the ReleaseVersion field's value.

func (GetMobileSdkReleaseInput) String added in v1.42.51

func (s GetMobileSdkReleaseInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetMobileSdkReleaseInput) Validate added in v1.42.51

func (s *GetMobileSdkReleaseInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetMobileSdkReleaseOutput added in v1.42.51

type GetMobileSdkReleaseOutput struct {

	// Information for a specified SDK release, including release notes and tags.
	MobileSdkRelease *MobileSdkRelease `type:"structure"`
	// contains filtered or unexported fields
}

func (GetMobileSdkReleaseOutput) GoString added in v1.42.51

func (s GetMobileSdkReleaseOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetMobileSdkReleaseOutput) SetMobileSdkRelease added in v1.42.51

SetMobileSdkRelease sets the MobileSdkRelease field's value.

func (GetMobileSdkReleaseOutput) String added in v1.42.51

func (s GetMobileSdkReleaseOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetPermissionPolicyInput added in v1.30.1

type GetPermissionPolicyInput struct {

	// The Amazon Resource Name (ARN) of the rule group for which you want to get
	// the policy.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetPermissionPolicyInput) GoString added in v1.30.1

func (s GetPermissionPolicyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetPermissionPolicyInput) SetResourceArn added in v1.30.1

SetResourceArn sets the ResourceArn field's value.

func (GetPermissionPolicyInput) String added in v1.30.1

func (s GetPermissionPolicyInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetPermissionPolicyInput) Validate added in v1.30.1

func (s *GetPermissionPolicyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetPermissionPolicyOutput added in v1.30.1

type GetPermissionPolicyOutput struct {

	// The IAM policy that is attached to the specified rule group.
	Policy *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (GetPermissionPolicyOutput) GoString added in v1.30.1

func (s GetPermissionPolicyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetPermissionPolicyOutput) SetPolicy added in v1.30.1

SetPolicy sets the Policy field's value.

func (GetPermissionPolicyOutput) String added in v1.30.1

func (s GetPermissionPolicyOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetRateBasedStatementManagedKeysInput

type GetRateBasedStatementManagedKeysInput struct {

	// The name of the rule group reference statement in your web ACL. This is required
	// only when you have the rate-based rule nested inside a rule group.
	RuleGroupRuleName *string `min:"1" type:"string"`

	// The name of the rate-based rule to get the keys for. If you have the rule
	// defined inside a rule group that you're using in your web ACL, also provide
	// the name of the rule group reference statement in the request parameter RuleGroupRuleName.
	//
	// RuleName is a required field
	RuleName *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The unique identifier for the web ACL. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// WebACLId is a required field
	WebACLId *string `min:"1" type:"string" required:"true"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// WebACLName is a required field
	WebACLName *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetRateBasedStatementManagedKeysInput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRateBasedStatementManagedKeysInput) SetRuleGroupRuleName added in v1.40.43

SetRuleGroupRuleName sets the RuleGroupRuleName field's value.

func (*GetRateBasedStatementManagedKeysInput) SetRuleName

SetRuleName sets the RuleName field's value.

func (*GetRateBasedStatementManagedKeysInput) SetScope

SetScope sets the Scope field's value.

func (*GetRateBasedStatementManagedKeysInput) SetWebACLId

SetWebACLId sets the WebACLId field's value.

func (*GetRateBasedStatementManagedKeysInput) SetWebACLName

SetWebACLName sets the WebACLName field's value.

func (GetRateBasedStatementManagedKeysInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRateBasedStatementManagedKeysInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type GetRateBasedStatementManagedKeysOutput

type GetRateBasedStatementManagedKeysOutput struct {

	// The keys that are of Internet Protocol version 4 (IPv4).
	ManagedKeysIPV4 *RateBasedStatementManagedKeysIPSet `type:"structure"`

	// The keys that are of Internet Protocol version 6 (IPv6).
	ManagedKeysIPV6 *RateBasedStatementManagedKeysIPSet `type:"structure"`
	// contains filtered or unexported fields
}

func (GetRateBasedStatementManagedKeysOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRateBasedStatementManagedKeysOutput) SetManagedKeysIPV4

SetManagedKeysIPV4 sets the ManagedKeysIPV4 field's value.

func (*GetRateBasedStatementManagedKeysOutput) SetManagedKeysIPV6

SetManagedKeysIPV6 sets the ManagedKeysIPV6 field's value.

func (GetRateBasedStatementManagedKeysOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetRegexPatternSetInput

type GetRegexPatternSetInput struct {

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The name of the set. You cannot change the name after you create the set.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetRegexPatternSetInput) GoString

func (s GetRegexPatternSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRegexPatternSetInput) SetId

SetId sets the Id field's value.

func (*GetRegexPatternSetInput) SetName

SetName sets the Name field's value.

func (*GetRegexPatternSetInput) SetScope

SetScope sets the Scope field's value.

func (GetRegexPatternSetInput) String

func (s GetRegexPatternSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRegexPatternSetInput) Validate

func (s *GetRegexPatternSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetRegexPatternSetOutput

type GetRegexPatternSetOutput struct {

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// Contains one or more regular expressions.
	//
	// WAF assigns an ARN to each RegexPatternSet that you create. To use a set
	// in a rule, you provide the ARN to the Rule statement RegexPatternSetReferenceStatement.
	RegexPatternSet *RegexPatternSet `type:"structure"`
	// contains filtered or unexported fields
}

func (GetRegexPatternSetOutput) GoString

func (s GetRegexPatternSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRegexPatternSetOutput) SetLockToken

SetLockToken sets the LockToken field's value.

func (*GetRegexPatternSetOutput) SetRegexPatternSet

SetRegexPatternSet sets the RegexPatternSet field's value.

func (GetRegexPatternSetOutput) String

func (s GetRegexPatternSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetRuleGroupInput

type GetRuleGroupInput struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	Id *string `min:"1" type:"string"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	Name *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	Scope *string `type:"string" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetRuleGroupInput) GoString

func (s GetRuleGroupInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRuleGroupInput) SetARN added in v1.38.67

SetARN sets the ARN field's value.

func (*GetRuleGroupInput) SetId

SetId sets the Id field's value.

func (*GetRuleGroupInput) SetName

SetName sets the Name field's value.

func (*GetRuleGroupInput) SetScope

func (s *GetRuleGroupInput) SetScope(v string) *GetRuleGroupInput

SetScope sets the Scope field's value.

func (GetRuleGroupInput) String

func (s GetRuleGroupInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRuleGroupInput) Validate

func (s *GetRuleGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetRuleGroupOutput

type GetRuleGroupOutput struct {

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// A rule group defines a collection of rules to inspect and control web requests
	// that you can use in a WebACL. When you create a rule group, you define an
	// immutable capacity limit. If you update a rule group, you must stay within
	// the capacity. This allows others to reuse the rule group with confidence
	// in its capacity requirements.
	RuleGroup *RuleGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (GetRuleGroupOutput) GoString

func (s GetRuleGroupOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetRuleGroupOutput) SetLockToken

func (s *GetRuleGroupOutput) SetLockToken(v string) *GetRuleGroupOutput

SetLockToken sets the LockToken field's value.

func (*GetRuleGroupOutput) SetRuleGroup

func (s *GetRuleGroupOutput) SetRuleGroup(v *RuleGroup) *GetRuleGroupOutput

SetRuleGroup sets the RuleGroup field's value.

func (GetRuleGroupOutput) String

func (s GetRuleGroupOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetSampledRequestsInput

type GetSampledRequestsInput struct {

	// The number of requests that you want WAF to return from among the first 5,000
	// requests that your Amazon Web Services resource received during the time
	// range. If your resource received fewer requests than the value of MaxItems,
	// GetSampledRequests returns information about all of them.
	//
	// MaxItems is a required field
	MaxItems *int64 `min:"1" type:"long" required:"true"`

	// The metric name assigned to the Rule or RuleGroup dimension for which you
	// want a sample of requests.
	//
	// RuleMetricName is a required field
	RuleMetricName *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The start date and time and the end date and time of the range for which
	// you want GetSampledRequests to return a sample of requests. You must specify
	// the times in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z". You can specify
	// any time range in the previous three hours. If you specify a start time that's
	// earlier than three hours ago, WAF sets it to three hours ago.
	//
	// TimeWindow is a required field
	TimeWindow *TimeWindow `type:"structure" required:"true"`

	// The Amazon resource name (ARN) of the WebACL for which you want a sample
	// of requests.
	//
	// WebAclArn is a required field
	WebAclArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetSampledRequestsInput) GoString

func (s GetSampledRequestsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetSampledRequestsInput) SetMaxItems

SetMaxItems sets the MaxItems field's value.

func (*GetSampledRequestsInput) SetRuleMetricName

func (s *GetSampledRequestsInput) SetRuleMetricName(v string) *GetSampledRequestsInput

SetRuleMetricName sets the RuleMetricName field's value.

func (*GetSampledRequestsInput) SetScope

SetScope sets the Scope field's value.

func (*GetSampledRequestsInput) SetTimeWindow

SetTimeWindow sets the TimeWindow field's value.

func (*GetSampledRequestsInput) SetWebAclArn

SetWebAclArn sets the WebAclArn field's value.

func (GetSampledRequestsInput) String

func (s GetSampledRequestsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetSampledRequestsInput) Validate

func (s *GetSampledRequestsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetSampledRequestsOutput

type GetSampledRequestsOutput struct {

	// The total number of requests from which GetSampledRequests got a sample of
	// MaxItems requests. If PopulationSize is less than MaxItems, the sample includes
	// every request that your Amazon Web Services resource received during the
	// specified time range.
	PopulationSize *int64 `type:"long"`

	// A complex type that contains detailed information about each of the requests
	// in the sample.
	SampledRequests []*SampledHTTPRequest `type:"list"`

	// Usually, TimeWindow is the time range that you specified in the GetSampledRequests
	// request. However, if your Amazon Web Services resource received more than
	// 5,000 requests during the time range that you specified in the request, GetSampledRequests
	// returns the time range for the first 5,000 requests. Times are in Coordinated
	// Universal Time (UTC) format.
	TimeWindow *TimeWindow `type:"structure"`
	// contains filtered or unexported fields
}

func (GetSampledRequestsOutput) GoString

func (s GetSampledRequestsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetSampledRequestsOutput) SetPopulationSize

func (s *GetSampledRequestsOutput) SetPopulationSize(v int64) *GetSampledRequestsOutput

SetPopulationSize sets the PopulationSize field's value.

func (*GetSampledRequestsOutput) SetSampledRequests

SetSampledRequests sets the SampledRequests field's value.

func (*GetSampledRequestsOutput) SetTimeWindow

SetTimeWindow sets the TimeWindow field's value.

func (GetSampledRequestsOutput) String

func (s GetSampledRequestsOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetWebACLForResourceInput

type GetWebACLForResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource whose web ACL you want to
	// retrieve.
	//
	// The ARN must be in one of the following formats:
	//
	//    * For an Application Load Balancer: arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
	//
	//    * For an Amazon API Gateway REST API: arn:partition:apigateway:region::/restapis/api-id/stages/stage-name
	//
	//    * For an AppSync GraphQL API: arn:partition:appsync:region:account-id:apis/GraphQLApiId
	//
	//    * For an Amazon Cognito user pool: arn:partition:cognito-idp:region:account-id:userpool/user-pool-id
	//
	//    * For an App Runner service: arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id
	//
	//    * For an Amazon Web Services Verified Access instance: arn:partition:ec2:region:account-id:verified-access-instance/instance-id
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetWebACLForResourceInput) GoString

func (s GetWebACLForResourceInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLForResourceInput) SetResourceArn

SetResourceArn sets the ResourceArn field's value.

func (GetWebACLForResourceInput) String

func (s GetWebACLForResourceInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLForResourceInput) Validate

func (s *GetWebACLForResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetWebACLForResourceOutput

type GetWebACLForResourceOutput struct {

	// The web ACL that is associated with the resource. If there is no associated
	// resource, WAF returns a null web ACL.
	WebACL *WebACL `type:"structure"`
	// contains filtered or unexported fields
}

func (GetWebACLForResourceOutput) GoString

func (s GetWebACLForResourceOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLForResourceOutput) SetWebACL

SetWebACL sets the WebACL field's value.

func (GetWebACLForResourceOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type GetWebACLInput

type GetWebACLInput struct {

	// The unique identifier for the web ACL. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (GetWebACLInput) GoString

func (s GetWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLInput) SetId

func (s *GetWebACLInput) SetId(v string) *GetWebACLInput

SetId sets the Id field's value.

func (*GetWebACLInput) SetName

func (s *GetWebACLInput) SetName(v string) *GetWebACLInput

SetName sets the Name field's value.

func (*GetWebACLInput) SetScope

func (s *GetWebACLInput) SetScope(v string) *GetWebACLInput

SetScope sets the Scope field's value.

func (GetWebACLInput) String

func (s GetWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLInput) Validate

func (s *GetWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetWebACLOutput

type GetWebACLOutput struct {

	// The URL to use in SDK integrations with Amazon Web Services managed rule
	// groups. For example, you can use the integration SDKs with the account takeover
	// prevention managed rule group AWSManagedRulesATPRuleSet and the account creation
	// fraud prevention managed rule group AWSManagedRulesACFPRuleSet. This is only
	// populated if you are using a rule group in your web ACL that integrates with
	// your applications in this way. For more information, see WAF client application
	// integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html)
	// in the WAF Developer Guide.
	ApplicationIntegrationURL *string `type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The web ACL specification. You can modify the settings in this web ACL and
	// use it to update this web ACL or create a new one.
	WebACL *WebACL `type:"structure"`
	// contains filtered or unexported fields
}

func (GetWebACLOutput) GoString

func (s GetWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*GetWebACLOutput) SetApplicationIntegrationURL added in v1.42.51

func (s *GetWebACLOutput) SetApplicationIntegrationURL(v string) *GetWebACLOutput

SetApplicationIntegrationURL sets the ApplicationIntegrationURL field's value.

func (*GetWebACLOutput) SetLockToken

func (s *GetWebACLOutput) SetLockToken(v string) *GetWebACLOutput

SetLockToken sets the LockToken field's value.

func (*GetWebACLOutput) SetWebACL

func (s *GetWebACLOutput) SetWebACL(v *WebACL) *GetWebACLOutput

SetWebACL sets the WebACL field's value.

func (GetWebACLOutput) String

func (s GetWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type HTTPHeader

type HTTPHeader struct {

	// The name of the HTTP header.
	Name *string `type:"string"`

	// The value of the HTTP header.
	Value *string `type:"string"`
	// contains filtered or unexported fields
}

Part of the response from GetSampledRequests. This is a complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests.

func (HTTPHeader) GoString

func (s HTTPHeader) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HTTPHeader) SetName

func (s *HTTPHeader) SetName(v string) *HTTPHeader

SetName sets the Name field's value.

func (*HTTPHeader) SetValue

func (s *HTTPHeader) SetValue(v string) *HTTPHeader

SetValue sets the Value field's value.

func (HTTPHeader) String

func (s HTTPHeader) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type HTTPRequest

type HTTPRequest struct {

	// The IP address that the request originated from. If the web ACL is associated
	// with a CloudFront distribution, this is the value of one of the following
	// fields in CloudFront access logs:
	//
	//    * c-ip, if the viewer did not use an HTTP proxy or a load balancer to
	//    send the request
	//
	//    * x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer
	//    to send the request
	ClientIP *string `type:"string"`

	// The two-letter country code for the country that the request originated from.
	// For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2
	// (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
	Country *string `type:"string"`

	// The HTTP version specified in the sampled web request, for example, HTTP/1.1.
	HTTPVersion *string `type:"string"`

	// A complex type that contains the name and value for each header in the sampled
	// web request.
	Headers []*HTTPHeader `type:"list"`

	// The HTTP method specified in the sampled web request.
	Method *string `type:"string"`

	// The URI path of the request, which identifies the resource, for example,
	// /images/daily-ad.jpg.
	URI *string `type:"string"`
	// contains filtered or unexported fields
}

Part of the response from GetSampledRequests. This is a complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests.

func (HTTPRequest) GoString

func (s HTTPRequest) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HTTPRequest) SetClientIP

func (s *HTTPRequest) SetClientIP(v string) *HTTPRequest

SetClientIP sets the ClientIP field's value.

func (*HTTPRequest) SetCountry

func (s *HTTPRequest) SetCountry(v string) *HTTPRequest

SetCountry sets the Country field's value.

func (*HTTPRequest) SetHTTPVersion

func (s *HTTPRequest) SetHTTPVersion(v string) *HTTPRequest

SetHTTPVersion sets the HTTPVersion field's value.

func (*HTTPRequest) SetHeaders

func (s *HTTPRequest) SetHeaders(v []*HTTPHeader) *HTTPRequest

SetHeaders sets the Headers field's value.

func (*HTTPRequest) SetMethod

func (s *HTTPRequest) SetMethod(v string) *HTTPRequest

SetMethod sets the Method field's value.

func (*HTTPRequest) SetURI

func (s *HTTPRequest) SetURI(v string) *HTTPRequest

SetURI sets the URI field's value.

func (HTTPRequest) String

func (s HTTPRequest) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type HeaderMatchPattern added in v1.44.4

type HeaderMatchPattern struct {

	// Inspect all headers.
	All *All `type:"structure"`

	// Inspect only the headers whose keys don't match any of the strings specified
	// here.
	ExcludedHeaders []*string `min:"1" type:"list"`

	// Inspect only the headers that have a key that matches one of the strings
	// specified here.
	IncludedHeaders []*string `min:"1" type:"list"`
	// contains filtered or unexported fields
}

The filter to use to identify the subset of headers to inspect in a web request.

You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.

Example JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }

func (HeaderMatchPattern) GoString added in v1.44.4

func (s HeaderMatchPattern) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HeaderMatchPattern) SetAll added in v1.44.4

func (s *HeaderMatchPattern) SetAll(v *All) *HeaderMatchPattern

SetAll sets the All field's value.

func (*HeaderMatchPattern) SetExcludedHeaders added in v1.44.4

func (s *HeaderMatchPattern) SetExcludedHeaders(v []*string) *HeaderMatchPattern

SetExcludedHeaders sets the ExcludedHeaders field's value.

func (*HeaderMatchPattern) SetIncludedHeaders added in v1.44.4

func (s *HeaderMatchPattern) SetIncludedHeaders(v []*string) *HeaderMatchPattern

SetIncludedHeaders sets the IncludedHeaders field's value.

func (HeaderMatchPattern) String added in v1.44.4

func (s HeaderMatchPattern) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HeaderMatchPattern) Validate added in v1.44.4

func (s *HeaderMatchPattern) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type HeaderOrder added in v1.44.272

type HeaderOrder struct {

	// What WAF should do if the headers of the request are more numerous or larger
	// than WAF can inspect. WAF does not support inspecting the entire contents
	// of request headers when they exceed 8 KB (8192 bytes) or 200 total headers.
	// The underlying host service forwards a maximum of 200 headers and at most
	// 8 KB of header contents to WAF.
	//
	// The options for oversize handling are the following:
	//
	//    * CONTINUE - Inspect the available headers normally, according to the
	//    rule inspection criteria.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// OversizeHandling is a required field
	OversizeHandling *string `type:"string" required:"true" enum:"OversizeHandling"`
	// contains filtered or unexported fields
}

Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer.

func (HeaderOrder) GoString added in v1.44.272

func (s HeaderOrder) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HeaderOrder) SetOversizeHandling added in v1.44.272

func (s *HeaderOrder) SetOversizeHandling(v string) *HeaderOrder

SetOversizeHandling sets the OversizeHandling field's value.

func (HeaderOrder) String added in v1.44.272

func (s HeaderOrder) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*HeaderOrder) Validate added in v1.44.272

func (s *HeaderOrder) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Headers added in v1.44.4

type Headers struct {

	// The filter to use to identify the subset of headers to inspect in a web request.
	//
	// You must specify exactly one setting: either All, IncludedHeaders, or ExcludedHeaders.
	//
	// Example JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2"
	// ] }
	//
	// MatchPattern is a required field
	MatchPattern *HeaderMatchPattern `type:"structure" required:"true"`

	// The parts of the headers to match with the rule inspection criteria. If you
	// specify ALL, WAF inspects both keys and values.
	//
	// All does not require a match to be found in the keys and a match to be found
	// in the values. It requires a match to be found in the keys or the values
	// or both. To require a match in the keys and in the values, use a logical
	// AND statement to combine two match rules, one that inspects the keys and
	// another that inspects the values.
	//
	// MatchScope is a required field
	MatchScope *string `type:"string" required:"true" enum:"MapMatchScope"`

	// What WAF should do if the headers of the request are more numerous or larger
	// than WAF can inspect. WAF does not support inspecting the entire contents
	// of request headers when they exceed 8 KB (8192 bytes) or 200 total headers.
	// The underlying host service forwards a maximum of 200 headers and at most
	// 8 KB of header contents to WAF.
	//
	// The options for oversize handling are the following:
	//
	//    * CONTINUE - Inspect the available headers normally, according to the
	//    rule inspection criteria.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// OversizeHandling is a required field
	OversizeHandling *string `type:"string" required:"true" enum:"OversizeHandling"`
	// contains filtered or unexported fields
}

Inspect all headers in the web request. You can specify the parts of the headers to inspect and you can narrow the set of headers to inspect by including or excluding specific keys.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

If you want to inspect just the value of a single header, use the SingleHeader FieldToMatch setting instead.

Example JSON: "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }

func (Headers) GoString added in v1.44.4

func (s Headers) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Headers) SetMatchPattern added in v1.44.4

func (s *Headers) SetMatchPattern(v *HeaderMatchPattern) *Headers

SetMatchPattern sets the MatchPattern field's value.

func (*Headers) SetMatchScope added in v1.44.4

func (s *Headers) SetMatchScope(v string) *Headers

SetMatchScope sets the MatchScope field's value.

func (*Headers) SetOversizeHandling added in v1.44.4

func (s *Headers) SetOversizeHandling(v string) *Headers

SetOversizeHandling sets the OversizeHandling field's value.

func (Headers) String added in v1.44.4

func (s Headers) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Headers) Validate added in v1.44.4

func (s *Headers) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type IPSet

type IPSet struct {

	// The Amazon Resource Name (ARN) of the entity.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// Contains an array of strings that specifies zero or more IP addresses or
	// blocks of IP addresses that you want WAF to inspect for in incoming requests.
	// All addresses must be specified using Classless Inter-Domain Routing (CIDR)
	// notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
	//
	// Example address strings:
	//
	//    * For requests that originated from the IP address 192.0.2.44, specify
	//    192.0.2.44/32.
	//
	//    * For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255,
	//    specify 192.0.2.0/24.
	//
	//    * For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
	//    specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
	//
	//    * For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000
	//    to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.
	//
	// For more information about CIDR notation, see the Wikipedia entry Classless
	// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
	//
	// Example JSON Addresses specifications:
	//
	//    * Empty array: "Addresses": []
	//
	//    * Array with one address: "Addresses": ["192.0.2.44/32"]
	//
	//    * Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24",
	//    "192.0.0.0/16"]
	//
	//    * INVALID specification: "Addresses": [""] INVALID
	//
	// Addresses is a required field
	Addresses []*string `type:"list" required:"true"`

	// A description of the IP set that helps with identification.
	Description *string `min:"1" type:"string"`

	// The version of the IP addresses, either IPV4 or IPV6.
	//
	// IPAddressVersion is a required field
	IPAddressVersion *string `type:"string" required:"true" enum:"IPAddressVersion"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Contains zero or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0. For information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).

WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

func (IPSet) GoString

func (s IPSet) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSet) SetARN

func (s *IPSet) SetARN(v string) *IPSet

SetARN sets the ARN field's value.

func (*IPSet) SetAddresses

func (s *IPSet) SetAddresses(v []*string) *IPSet

SetAddresses sets the Addresses field's value.

func (*IPSet) SetDescription

func (s *IPSet) SetDescription(v string) *IPSet

SetDescription sets the Description field's value.

func (*IPSet) SetIPAddressVersion

func (s *IPSet) SetIPAddressVersion(v string) *IPSet

SetIPAddressVersion sets the IPAddressVersion field's value.

func (*IPSet) SetId

func (s *IPSet) SetId(v string) *IPSet

SetId sets the Id field's value.

func (*IPSet) SetName

func (s *IPSet) SetName(v string) *IPSet

SetName sets the Name field's value.

func (IPSet) String

func (s IPSet) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type IPSetForwardedIPConfig added in v1.33.5

type IPSetForwardedIPConfig struct {

	// The match status to assign to the web request if the request doesn't have
	// a valid IP address in the specified position.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	//
	// You can specify the following fallback behaviors:
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// FallbackBehavior is a required field
	FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"`

	// The name of the HTTP header to use for the IP address. For example, to use
	// the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	//
	// HeaderName is a required field
	HeaderName *string `min:"1" type:"string" required:"true"`

	// The position in the header to search for the IP address. The header can contain
	// IP addresses of the original client and also of proxies. For example, the
	// header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP
	// address identifies the original client and the rest identify proxies that
	// the request went through.
	//
	// The options for this setting are the following:
	//
	//    * FIRST - Inspect the first IP address in the list of IP addresses in
	//    the header. This is usually the client's original IP.
	//
	//    * LAST - Inspect the last IP address in the list of IP addresses in the
	//    header.
	//
	//    * ANY - Inspect all IP addresses in the header for a match. If the header
	//    contains more than 10 IP addresses, WAF inspects the last 10.
	//
	// Position is a required field
	Position *string `type:"string" required:"true" enum:"ForwardedIPPosition"`
	// contains filtered or unexported fields
}

The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.

func (IPSetForwardedIPConfig) GoString added in v1.33.5

func (s IPSetForwardedIPConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSetForwardedIPConfig) SetFallbackBehavior added in v1.33.5

func (s *IPSetForwardedIPConfig) SetFallbackBehavior(v string) *IPSetForwardedIPConfig

SetFallbackBehavior sets the FallbackBehavior field's value.

func (*IPSetForwardedIPConfig) SetHeaderName added in v1.33.5

SetHeaderName sets the HeaderName field's value.

func (*IPSetForwardedIPConfig) SetPosition added in v1.33.5

SetPosition sets the Position field's value.

func (IPSetForwardedIPConfig) String added in v1.33.5

func (s IPSetForwardedIPConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSetForwardedIPConfig) Validate added in v1.33.5

func (s *IPSetForwardedIPConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type IPSetReferenceStatement

type IPSetReferenceStatement struct {

	// The Amazon Resource Name (ARN) of the IPSet that this statement references.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// The configuration for inspecting IP addresses in an HTTP header that you
	// specify, instead of using the IP address that's reported by the web request
	// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
	// any header name.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	IPSetForwardedIPConfig *IPSetForwardedIPConfig `type:"structure"`
	// contains filtered or unexported fields
}

A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

func (IPSetReferenceStatement) GoString

func (s IPSetReferenceStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSetReferenceStatement) SetARN

SetARN sets the ARN field's value.

func (*IPSetReferenceStatement) SetIPSetForwardedIPConfig added in v1.33.5

SetIPSetForwardedIPConfig sets the IPSetForwardedIPConfig field's value.

func (IPSetReferenceStatement) String

func (s IPSetReferenceStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSetReferenceStatement) Validate

func (s *IPSetReferenceStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type IPSetSummary

type IPSetSummary struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the IP set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	Id *string `min:"1" type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.

func (IPSetSummary) GoString

func (s IPSetSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*IPSetSummary) SetARN

func (s *IPSetSummary) SetARN(v string) *IPSetSummary

SetARN sets the ARN field's value.

func (*IPSetSummary) SetDescription

func (s *IPSetSummary) SetDescription(v string) *IPSetSummary

SetDescription sets the Description field's value.

func (*IPSetSummary) SetId

func (s *IPSetSummary) SetId(v string) *IPSetSummary

SetId sets the Id field's value.

func (*IPSetSummary) SetLockToken

func (s *IPSetSummary) SetLockToken(v string) *IPSetSummary

SetLockToken sets the LockToken field's value.

func (*IPSetSummary) SetName

func (s *IPSetSummary) SetName(v string) *IPSetSummary

SetName sets the Name field's value.

func (IPSetSummary) String

func (s IPSetSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ImmunityTimeProperty added in v1.42.0

type ImmunityTimeProperty struct {

	// The amount of time, in seconds, that a CAPTCHA or challenge timestamp is
	// considered valid by WAF. The default setting is 300.
	//
	// For the Challenge action, the minimum setting is 300.
	//
	// ImmunityTime is a required field
	ImmunityTime *int64 `min:"60" type:"long" required:"true"`
	// contains filtered or unexported fields
}

Used for CAPTCHA and challenge token settings. Determines how long a CAPTCHA or challenge timestamp remains valid after WAF updates it for a successful CAPTCHA or challenge response.

func (ImmunityTimeProperty) GoString added in v1.42.0

func (s ImmunityTimeProperty) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ImmunityTimeProperty) SetImmunityTime added in v1.42.0

func (s *ImmunityTimeProperty) SetImmunityTime(v int64) *ImmunityTimeProperty

SetImmunityTime sets the ImmunityTime field's value.

func (ImmunityTimeProperty) String added in v1.42.0

func (s ImmunityTimeProperty) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ImmunityTimeProperty) Validate added in v1.42.0

func (s *ImmunityTimeProperty) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type JA3Fingerprint added in v1.45.16

type JA3Fingerprint struct {

	// The match status to assign to the web request if the request doesn't have
	// a JA3 fingerprint.
	//
	// You can specify the following fallback behaviors:
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// FallbackBehavior is a required field
	FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"`
	// contains filtered or unexported fields
}

Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.

You can use this choice only with a string match ByteMatchStatement with the PositionalConstraint set to EXACTLY.

You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields (https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html) in the WAF Developer Guide.

Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.

func (JA3Fingerprint) GoString added in v1.45.16

func (s JA3Fingerprint) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JA3Fingerprint) SetFallbackBehavior added in v1.45.16

func (s *JA3Fingerprint) SetFallbackBehavior(v string) *JA3Fingerprint

SetFallbackBehavior sets the FallbackBehavior field's value.

func (JA3Fingerprint) String added in v1.45.16

func (s JA3Fingerprint) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JA3Fingerprint) Validate added in v1.45.16

func (s *JA3Fingerprint) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type JsonBody added in v1.37.10

type JsonBody struct {

	// What WAF should do if it fails to completely parse the JSON body. The options
	// are the following:
	//
	//    * EVALUATE_AS_STRING - Inspect the body as plain text. WAF applies the
	//    text transformations and inspection criteria that you defined for the
	//    JSON inspection to the body text string.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// If you don't provide this setting, WAF parses and evaluates the content only
	// up to the first parsing failure that it encounters.
	//
	// WAF parsing doesn't fully validate the input JSON string, so parsing can
	// succeed even for invalid JSON. When parsing succeeds, WAF doesn't apply the
	// fallback behavior. For more information, see JSON body (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body)
	// in the WAF Developer Guide.
	InvalidFallbackBehavior *string `type:"string" enum:"BodyParsingFallbackBehavior"`

	// The patterns to look for in the JSON body. WAF inspects the results of these
	// pattern matches against the rule inspection criteria.
	//
	// MatchPattern is a required field
	MatchPattern *JsonMatchPattern `type:"structure" required:"true"`

	// The parts of the JSON to match against using the MatchPattern. If you specify
	// ALL, WAF matches against keys and values.
	//
	// All does not require a match to be found in the keys and a match to be found
	// in the values. It requires a match to be found in the keys or the values
	// or both. To require a match in the keys and in the values, use a logical
	// AND statement to combine two match rules, one that inspects the keys and
	// another that inspects the values.
	//
	// MatchScope is a required field
	MatchScope *string `type:"string" required:"true" enum:"JsonMatchScope"`

	// What WAF should do if the body is larger than WAF can inspect.
	//
	// WAF does not support inspecting the entire contents of the web request body
	// if the body exceeds the limit for the resource type. When a web request body
	// is larger than the limit, the underlying host service only forwards the contents
	// that are within the limit to WAF for inspection.
	//
	//    * For Application Load Balancer and AppSync, the limit is fixed at 8 KB
	//    (8,192 bytes).
	//
	//    * For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
	//    Access, the default limit is 16 KB (16,384 bytes), and you can increase
	//    the limit for each resource type in the web ACL AssociationConfig, for
	//    additional processing fees.
	//
	// The options for oversize handling are the following:
	//
	//    * CONTINUE - Inspect the available body contents normally, according to
	//    the rule inspection criteria.
	//
	//    * MATCH - Treat the web request as matching the rule statement. WAF applies
	//    the rule action to the request.
	//
	//    * NO_MATCH - Treat the web request as not matching the rule statement.
	//
	// You can combine the MATCH or NO_MATCH settings for oversize handling with
	// your rule and web ACL action settings, so that you block any request whose
	// body is over the limit.
	//
	// Default: CONTINUE
	OversizeHandling *string `type:"string" enum:"OversizeHandling"`
	// contains filtered or unexported fields
}

Inspect the body of the web request as JSON. The body immediately follows the request headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Use the specifications in this object to indicate which parts of the JSON body to inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON that result from the matches that you indicate.

Example JSON: "JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL" }

For additional information about this request component option, see JSON body (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body) in the WAF Developer Guide.

func (JsonBody) GoString added in v1.37.10

func (s JsonBody) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JsonBody) SetInvalidFallbackBehavior added in v1.37.10

func (s *JsonBody) SetInvalidFallbackBehavior(v string) *JsonBody

SetInvalidFallbackBehavior sets the InvalidFallbackBehavior field's value.

func (*JsonBody) SetMatchPattern added in v1.37.10

func (s *JsonBody) SetMatchPattern(v *JsonMatchPattern) *JsonBody

SetMatchPattern sets the MatchPattern field's value.

func (*JsonBody) SetMatchScope added in v1.37.10

func (s *JsonBody) SetMatchScope(v string) *JsonBody

SetMatchScope sets the MatchScope field's value.

func (*JsonBody) SetOversizeHandling added in v1.44.4

func (s *JsonBody) SetOversizeHandling(v string) *JsonBody

SetOversizeHandling sets the OversizeHandling field's value.

func (JsonBody) String added in v1.37.10

func (s JsonBody) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JsonBody) Validate added in v1.37.10

func (s *JsonBody) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type JsonMatchPattern added in v1.37.10

type JsonMatchPattern struct {

	// Match all of the elements. See also MatchScope in JsonBody.
	//
	// You must specify either this setting or the IncludedPaths setting, but not
	// both.
	All *All `type:"structure"`

	// Match only the specified include paths. See also MatchScope in JsonBody.
	//
	// Provide the include paths using JSON Pointer syntax. For example, "IncludedPaths":
	// ["/dogs/0/name", "/dogs/1/name"]. For information about this syntax, see
	// the Internet Engineering Task Force (IETF) documentation JavaScript Object
	// Notation (JSON) Pointer (https://tools.ietf.org/html/rfc6901).
	//
	// You must specify either this setting or the All setting, but not both.
	//
	// Don't use this option to include all paths. Instead, use the All setting.
	IncludedPaths []*string `min:"1" type:"list"`
	// contains filtered or unexported fields
}

The patterns to look for in the JSON body. WAF inspects the results of these pattern matches against the rule inspection criteria. This is used with the FieldToMatch option JsonBody.

func (JsonMatchPattern) GoString added in v1.37.10

func (s JsonMatchPattern) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JsonMatchPattern) SetAll added in v1.37.10

func (s *JsonMatchPattern) SetAll(v *All) *JsonMatchPattern

SetAll sets the All field's value.

func (*JsonMatchPattern) SetIncludedPaths added in v1.37.10

func (s *JsonMatchPattern) SetIncludedPaths(v []*string) *JsonMatchPattern

SetIncludedPaths sets the IncludedPaths field's value.

func (JsonMatchPattern) String added in v1.37.10

func (s JsonMatchPattern) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*JsonMatchPattern) Validate added in v1.37.10

func (s *JsonMatchPattern) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Label added in v1.38.11

type Label struct {

	// The label string.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A single label container. This is used as an element of a label array in multiple contexts, for example, in RuleLabels inside a Rule and in Labels inside a SampledHTTPRequest.

func (Label) GoString added in v1.38.11

func (s Label) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Label) SetName added in v1.38.11

func (s *Label) SetName(v string) *Label

SetName sets the Name field's value.

func (Label) String added in v1.38.11

func (s Label) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Label) Validate added in v1.38.11

func (s *Label) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type LabelMatchStatement added in v1.38.11

type LabelMatchStatement struct {

	// The string to match against. The setting you provide for this depends on
	// the match statement's Scope setting:
	//
	//    * If the Scope indicates LABEL, then this specification must include the
	//    name and can include any number of preceding namespace specifications
	//    and prefix up to providing the fully qualified label name.
	//
	//    * If the Scope indicates NAMESPACE, then this specification can include
	//    any number of contiguous namespace strings, and can include the entire
	//    label namespace prefix from the rule group or web ACL where the label
	//    originates.
	//
	// Labels are case sensitive and components of a label must be separated by
	// colon, for example NS1:NS2:name.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`

	// Specify whether you want to match using the label name or just the namespace.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"LabelMatchScope"`
	// contains filtered or unexported fields
}

A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, WAF performs the search for labels that were added in the same context as the label match statement.

func (LabelMatchStatement) GoString added in v1.38.11

func (s LabelMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LabelMatchStatement) SetKey added in v1.38.11

SetKey sets the Key field's value.

func (*LabelMatchStatement) SetScope added in v1.38.11

SetScope sets the Scope field's value.

func (LabelMatchStatement) String added in v1.38.11

func (s LabelMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LabelMatchStatement) Validate added in v1.38.11

func (s *LabelMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type LabelNameCondition added in v1.38.11

type LabelNameCondition struct {

	// The label name that a log record must contain in order to meet the condition.
	// This must be a fully qualified label name. Fully qualified labels have a
	// prefix, optional namespaces, and label name. The prefix identifies the rule
	// group or web ACL context of the rule that added the label.
	//
	// LabelName is a required field
	LabelName *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A single label name condition for a Condition in a logging filter.

func (LabelNameCondition) GoString added in v1.38.11

func (s LabelNameCondition) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LabelNameCondition) SetLabelName added in v1.38.11

func (s *LabelNameCondition) SetLabelName(v string) *LabelNameCondition

SetLabelName sets the LabelName field's value.

func (LabelNameCondition) String added in v1.38.11

func (s LabelNameCondition) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LabelNameCondition) Validate added in v1.38.11

func (s *LabelNameCondition) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type LabelSummary added in v1.38.11

type LabelSummary struct {

	// An individual label specification.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

List of labels used by one or more of the rules of a RuleGroup. This summary object is used for the following rule group lists:

  • AvailableLabels - Labels that rules add to matching requests. These labels are defined in the RuleLabels for a Rule.

  • ConsumedLabels - Labels that rules match against. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

func (LabelSummary) GoString added in v1.38.11

func (s LabelSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LabelSummary) SetName added in v1.38.11

func (s *LabelSummary) SetName(v string) *LabelSummary

SetName sets the Name field's value.

func (LabelSummary) String added in v1.38.11

func (s LabelSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListAPIKeysInput added in v1.44.247

type ListAPIKeysInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListAPIKeysInput) GoString added in v1.44.247

func (s ListAPIKeysInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAPIKeysInput) SetLimit added in v1.44.247

func (s *ListAPIKeysInput) SetLimit(v int64) *ListAPIKeysInput

SetLimit sets the Limit field's value.

func (*ListAPIKeysInput) SetNextMarker added in v1.44.247

func (s *ListAPIKeysInput) SetNextMarker(v string) *ListAPIKeysInput

SetNextMarker sets the NextMarker field's value.

func (*ListAPIKeysInput) SetScope added in v1.44.247

func (s *ListAPIKeysInput) SetScope(v string) *ListAPIKeysInput

SetScope sets the Scope field's value.

func (ListAPIKeysInput) String added in v1.44.247

func (s ListAPIKeysInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAPIKeysInput) Validate added in v1.44.247

func (s *ListAPIKeysInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListAPIKeysOutput added in v1.44.247

type ListAPIKeysOutput struct {

	// The array of key summaries. If you specified a Limit in your request, this
	// might not be the full list.
	APIKeySummaries []*APIKeySummary `type:"list"`

	// The CAPTCHA application integration URL, for use in your JavaScript implementation.
	ApplicationIntegrationURL *string `type:"string"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (ListAPIKeysOutput) GoString added in v1.44.247

func (s ListAPIKeysOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAPIKeysOutput) SetAPIKeySummaries added in v1.44.247

func (s *ListAPIKeysOutput) SetAPIKeySummaries(v []*APIKeySummary) *ListAPIKeysOutput

SetAPIKeySummaries sets the APIKeySummaries field's value.

func (*ListAPIKeysOutput) SetApplicationIntegrationURL added in v1.44.247

func (s *ListAPIKeysOutput) SetApplicationIntegrationURL(v string) *ListAPIKeysOutput

SetApplicationIntegrationURL sets the ApplicationIntegrationURL field's value.

func (*ListAPIKeysOutput) SetNextMarker added in v1.44.247

func (s *ListAPIKeysOutput) SetNextMarker(v string) *ListAPIKeysOutput

SetNextMarker sets the NextMarker field's value.

func (ListAPIKeysOutput) String added in v1.44.247

func (s ListAPIKeysOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListAvailableManagedRuleGroupVersionsInput added in v1.40.18

type ListAvailableManagedRuleGroupVersionsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// The name of the managed rule group. You use this, along with the vendor name,
	// to identify the rule group.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	//
	// VendorName is a required field
	VendorName *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (ListAvailableManagedRuleGroupVersionsInput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupVersionsInput) SetLimit added in v1.40.18

SetLimit sets the Limit field's value.

func (*ListAvailableManagedRuleGroupVersionsInput) SetName added in v1.40.18

SetName sets the Name field's value.

func (*ListAvailableManagedRuleGroupVersionsInput) SetNextMarker added in v1.40.18

SetNextMarker sets the NextMarker field's value.

func (*ListAvailableManagedRuleGroupVersionsInput) SetScope added in v1.40.18

SetScope sets the Scope field's value.

func (*ListAvailableManagedRuleGroupVersionsInput) SetVendorName added in v1.40.18

SetVendorName sets the VendorName field's value.

func (ListAvailableManagedRuleGroupVersionsInput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupVersionsInput) Validate added in v1.40.18

Validate inspects the fields of the type to determine if they are valid.

type ListAvailableManagedRuleGroupVersionsOutput added in v1.40.18

type ListAvailableManagedRuleGroupVersionsOutput struct {

	// The name of the version that's currently set as the default.
	CurrentDefaultVersion *string `min:"1" type:"string"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// The versions that are currently available for the specified managed rule
	// group. If you specified a Limit in your request, this might not be the full
	// list.
	Versions []*ManagedRuleGroupVersion `type:"list"`
	// contains filtered or unexported fields
}

func (ListAvailableManagedRuleGroupVersionsOutput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupVersionsOutput) SetCurrentDefaultVersion added in v1.43.36

SetCurrentDefaultVersion sets the CurrentDefaultVersion field's value.

func (*ListAvailableManagedRuleGroupVersionsOutput) SetNextMarker added in v1.40.18

SetNextMarker sets the NextMarker field's value.

func (*ListAvailableManagedRuleGroupVersionsOutput) SetVersions added in v1.40.18

SetVersions sets the Versions field's value.

func (ListAvailableManagedRuleGroupVersionsOutput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListAvailableManagedRuleGroupsInput

type ListAvailableManagedRuleGroupsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListAvailableManagedRuleGroupsInput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupsInput) SetLimit

SetLimit sets the Limit field's value.

func (*ListAvailableManagedRuleGroupsInput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListAvailableManagedRuleGroupsInput) SetScope

SetScope sets the Scope field's value.

func (ListAvailableManagedRuleGroupsInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupsInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type ListAvailableManagedRuleGroupsOutput

type ListAvailableManagedRuleGroupsOutput struct {

	// Array of managed rule groups that you can use. If you specified a Limit in
	// your request, this might not be the full list.
	ManagedRuleGroups []*ManagedRuleGroupSummary `type:"list"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (ListAvailableManagedRuleGroupsOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListAvailableManagedRuleGroupsOutput) SetManagedRuleGroups

SetManagedRuleGroups sets the ManagedRuleGroups field's value.

func (*ListAvailableManagedRuleGroupsOutput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (ListAvailableManagedRuleGroupsOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListIPSetsInput

type ListIPSetsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListIPSetsInput) GoString

func (s ListIPSetsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListIPSetsInput) SetLimit

func (s *ListIPSetsInput) SetLimit(v int64) *ListIPSetsInput

SetLimit sets the Limit field's value.

func (*ListIPSetsInput) SetNextMarker

func (s *ListIPSetsInput) SetNextMarker(v string) *ListIPSetsInput

SetNextMarker sets the NextMarker field's value.

func (*ListIPSetsInput) SetScope

func (s *ListIPSetsInput) SetScope(v string) *ListIPSetsInput

SetScope sets the Scope field's value.

func (ListIPSetsInput) String

func (s ListIPSetsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListIPSetsInput) Validate

func (s *ListIPSetsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListIPSetsOutput

type ListIPSetsOutput struct {

	// Array of IPSets. If you specified a Limit in your request, this might not
	// be the full list.
	IPSets []*IPSetSummary `type:"list"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (ListIPSetsOutput) GoString

func (s ListIPSetsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListIPSetsOutput) SetIPSets

func (s *ListIPSetsOutput) SetIPSets(v []*IPSetSummary) *ListIPSetsOutput

SetIPSets sets the IPSets field's value.

func (*ListIPSetsOutput) SetNextMarker

func (s *ListIPSetsOutput) SetNextMarker(v string) *ListIPSetsOutput

SetNextMarker sets the NextMarker field's value.

func (ListIPSetsOutput) String

func (s ListIPSetsOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListLoggingConfigurationsInput

type ListLoggingConfigurationsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// The owner of the logging configuration, which must be set to CUSTOMER for
	// the configurations that you manage.
	//
	// The log scope SECURITY_LAKE indicates a configuration that is managed through
	// Amazon Security Lake. You can use Security Lake to collect log and event
	// data from various sources for normalization, analysis, and management. For
	// information, see Collecting data from Amazon Web Services services (https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html)
	// in the Amazon Security Lake user guide.
	//
	// Default: CUSTOMER
	LogScope *string `type:"string" enum:"LogScope"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListLoggingConfigurationsInput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListLoggingConfigurationsInput) SetLimit

SetLimit sets the Limit field's value.

func (*ListLoggingConfigurationsInput) SetLogScope added in v1.53.8

SetLogScope sets the LogScope field's value.

func (*ListLoggingConfigurationsInput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListLoggingConfigurationsInput) SetScope

SetScope sets the Scope field's value.

func (ListLoggingConfigurationsInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListLoggingConfigurationsInput) Validate

func (s *ListLoggingConfigurationsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListLoggingConfigurationsOutput

type ListLoggingConfigurationsOutput struct {

	// Array of logging configurations. If you specified a Limit in your request,
	// this might not be the full list.
	LoggingConfigurations []*LoggingConfiguration `type:"list"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (ListLoggingConfigurationsOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListLoggingConfigurationsOutput) SetLoggingConfigurations

SetLoggingConfigurations sets the LoggingConfigurations field's value.

func (*ListLoggingConfigurationsOutput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (ListLoggingConfigurationsOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListManagedRuleSetsInput added in v1.40.18

type ListManagedRuleSetsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListManagedRuleSetsInput) GoString added in v1.40.18

func (s ListManagedRuleSetsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListManagedRuleSetsInput) SetLimit added in v1.40.18

SetLimit sets the Limit field's value.

func (*ListManagedRuleSetsInput) SetNextMarker added in v1.40.18

SetNextMarker sets the NextMarker field's value.

func (*ListManagedRuleSetsInput) SetScope added in v1.40.18

SetScope sets the Scope field's value.

func (ListManagedRuleSetsInput) String added in v1.40.18

func (s ListManagedRuleSetsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListManagedRuleSetsInput) Validate added in v1.40.18

func (s *ListManagedRuleSetsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListManagedRuleSetsOutput added in v1.40.18

type ListManagedRuleSetsOutput struct {

	// Your managed rule sets. If you specified a Limit in your request, this might
	// not be the full list.
	ManagedRuleSets []*ManagedRuleSetSummary `type:"list"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (ListManagedRuleSetsOutput) GoString added in v1.40.18

func (s ListManagedRuleSetsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListManagedRuleSetsOutput) SetManagedRuleSets added in v1.40.18

SetManagedRuleSets sets the ManagedRuleSets field's value.

func (*ListManagedRuleSetsOutput) SetNextMarker added in v1.40.18

SetNextMarker sets the NextMarker field's value.

func (ListManagedRuleSetsOutput) String added in v1.40.18

func (s ListManagedRuleSetsOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListMobileSdkReleasesInput added in v1.42.51

type ListMobileSdkReleasesInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// The device platform to retrieve the list for.
	//
	// Platform is a required field
	Platform *string `type:"string" required:"true" enum:"Platform"`
	// contains filtered or unexported fields
}

func (ListMobileSdkReleasesInput) GoString added in v1.42.51

func (s ListMobileSdkReleasesInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListMobileSdkReleasesInput) SetLimit added in v1.42.51

SetLimit sets the Limit field's value.

func (*ListMobileSdkReleasesInput) SetNextMarker added in v1.42.51

SetNextMarker sets the NextMarker field's value.

func (*ListMobileSdkReleasesInput) SetPlatform added in v1.42.51

SetPlatform sets the Platform field's value.

func (ListMobileSdkReleasesInput) String added in v1.42.51

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListMobileSdkReleasesInput) Validate added in v1.42.51

func (s *ListMobileSdkReleasesInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListMobileSdkReleasesOutput added in v1.42.51

type ListMobileSdkReleasesOutput struct {

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// The high level information for the available SDK releases. If you specified
	// a Limit in your request, this might not be the full list.
	ReleaseSummaries []*ReleaseSummary `type:"list"`
	// contains filtered or unexported fields
}

func (ListMobileSdkReleasesOutput) GoString added in v1.42.51

func (s ListMobileSdkReleasesOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListMobileSdkReleasesOutput) SetNextMarker added in v1.42.51

SetNextMarker sets the NextMarker field's value.

func (*ListMobileSdkReleasesOutput) SetReleaseSummaries added in v1.42.51

SetReleaseSummaries sets the ReleaseSummaries field's value.

func (ListMobileSdkReleasesOutput) String added in v1.42.51

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListRegexPatternSetsInput

type ListRegexPatternSetsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListRegexPatternSetsInput) GoString

func (s ListRegexPatternSetsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRegexPatternSetsInput) SetLimit

SetLimit sets the Limit field's value.

func (*ListRegexPatternSetsInput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListRegexPatternSetsInput) SetScope

SetScope sets the Scope field's value.

func (ListRegexPatternSetsInput) String

func (s ListRegexPatternSetsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRegexPatternSetsInput) Validate

func (s *ListRegexPatternSetsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListRegexPatternSetsOutput

type ListRegexPatternSetsOutput struct {

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Array of regex pattern sets. If you specified a Limit in your request, this
	// might not be the full list.
	RegexPatternSets []*RegexPatternSetSummary `type:"list"`
	// contains filtered or unexported fields
}

func (ListRegexPatternSetsOutput) GoString

func (s ListRegexPatternSetsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRegexPatternSetsOutput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListRegexPatternSetsOutput) SetRegexPatternSets

SetRegexPatternSets sets the RegexPatternSets field's value.

func (ListRegexPatternSetsOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListResourcesForWebACLInput

type ListResourcesForWebACLInput struct {

	// Used for web ACLs that are scoped for regional applications. A regional application
	// can be an Application Load Balancer (ALB), an Amazon API Gateway REST API,
	// an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service,
	// or an Amazon Web Services Verified Access instance.
	//
	// If you don't provide a resource type, the call uses the resource type APPLICATION_LOAD_BALANCER.
	//
	// Default: APPLICATION_LOAD_BALANCER
	ResourceType *string `type:"string" enum:"ResourceType"`

	// The Amazon Resource Name (ARN) of the web ACL.
	//
	// WebACLArn is a required field
	WebACLArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (ListResourcesForWebACLInput) GoString

func (s ListResourcesForWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListResourcesForWebACLInput) SetResourceType

SetResourceType sets the ResourceType field's value.

func (*ListResourcesForWebACLInput) SetWebACLArn

SetWebACLArn sets the WebACLArn field's value.

func (ListResourcesForWebACLInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListResourcesForWebACLInput) Validate

func (s *ListResourcesForWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListResourcesForWebACLOutput

type ListResourcesForWebACLOutput struct {

	// The array of Amazon Resource Names (ARNs) of the associated resources.
	ResourceArns []*string `type:"list"`
	// contains filtered or unexported fields
}

func (ListResourcesForWebACLOutput) GoString

func (s ListResourcesForWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListResourcesForWebACLOutput) SetResourceArns

SetResourceArns sets the ResourceArns field's value.

func (ListResourcesForWebACLOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListRuleGroupsInput

type ListRuleGroupsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListRuleGroupsInput) GoString

func (s ListRuleGroupsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRuleGroupsInput) SetLimit

SetLimit sets the Limit field's value.

func (*ListRuleGroupsInput) SetNextMarker

func (s *ListRuleGroupsInput) SetNextMarker(v string) *ListRuleGroupsInput

SetNextMarker sets the NextMarker field's value.

func (*ListRuleGroupsInput) SetScope

SetScope sets the Scope field's value.

func (ListRuleGroupsInput) String

func (s ListRuleGroupsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRuleGroupsInput) Validate

func (s *ListRuleGroupsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListRuleGroupsOutput

type ListRuleGroupsOutput struct {

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Array of rule groups. If you specified a Limit in your request, this might
	// not be the full list.
	RuleGroups []*RuleGroupSummary `type:"list"`
	// contains filtered or unexported fields
}

func (ListRuleGroupsOutput) GoString

func (s ListRuleGroupsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListRuleGroupsOutput) SetNextMarker

func (s *ListRuleGroupsOutput) SetNextMarker(v string) *ListRuleGroupsOutput

SetNextMarker sets the NextMarker field's value.

func (*ListRuleGroupsOutput) SetRuleGroups

SetRuleGroups sets the RuleGroups field's value.

func (ListRuleGroupsOutput) String

func (s ListRuleGroupsOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the resource.
	//
	// ResourceARN is a required field
	ResourceARN *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceInput) GoString

func (s ListTagsForResourceInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListTagsForResourceInput) SetLimit

SetLimit sets the Limit field's value.

func (*ListTagsForResourceInput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListTagsForResourceInput) SetResourceARN

SetResourceARN sets the ResourceARN field's value.

func (ListTagsForResourceInput) String

func (s ListTagsForResourceInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListTagsForResourceInput) Validate

func (s *ListTagsForResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// The collection of tagging definitions for the resource. If you specified
	// a Limit in your request, this might not be the full list.
	TagInfoForResource *TagInfoForResource `type:"structure"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceOutput) GoString

func (s ListTagsForResourceOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListTagsForResourceOutput) SetNextMarker

SetNextMarker sets the NextMarker field's value.

func (*ListTagsForResourceOutput) SetTagInfoForResource

SetTagInfoForResource sets the TagInfoForResource field's value.

func (ListTagsForResourceOutput) String

func (s ListTagsForResourceOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ListWebACLsInput

type ListWebACLsInput struct {

	// The maximum number of objects that you want WAF to return for this request.
	// If more objects are available, in the response, WAF provides a NextMarker
	// value that you can use in a subsequent call to get the next batch of objects.
	Limit *int64 `min:"1" type:"integer"`

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (ListWebACLsInput) GoString

func (s ListWebACLsInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListWebACLsInput) SetLimit

func (s *ListWebACLsInput) SetLimit(v int64) *ListWebACLsInput

SetLimit sets the Limit field's value.

func (*ListWebACLsInput) SetNextMarker

func (s *ListWebACLsInput) SetNextMarker(v string) *ListWebACLsInput

SetNextMarker sets the NextMarker field's value.

func (*ListWebACLsInput) SetScope

func (s *ListWebACLsInput) SetScope(v string) *ListWebACLsInput

SetScope sets the Scope field's value.

func (ListWebACLsInput) String

func (s ListWebACLsInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListWebACLsInput) Validate

func (s *ListWebACLsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListWebACLsOutput

type ListWebACLsOutput struct {

	// When you request a list of objects with a Limit setting, if the number of
	// objects that are still available for retrieval exceeds the limit, WAF returns
	// a NextMarker value in the response. To retrieve the next batch of objects,
	// provide the marker from the prior call in your next request.
	NextMarker *string `min:"1" type:"string"`

	// Array of web ACLs. If you specified a Limit in your request, this might not
	// be the full list.
	WebACLs []*WebACLSummary `type:"list"`
	// contains filtered or unexported fields
}

func (ListWebACLsOutput) GoString

func (s ListWebACLsOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ListWebACLsOutput) SetNextMarker

func (s *ListWebACLsOutput) SetNextMarker(v string) *ListWebACLsOutput

SetNextMarker sets the NextMarker field's value.

func (*ListWebACLsOutput) SetWebACLs

func (s *ListWebACLsOutput) SetWebACLs(v []*WebACLSummary) *ListWebACLsOutput

SetWebACLs sets the WebACLs field's value.

func (ListWebACLsOutput) String

func (s ListWebACLsOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type LoggingConfiguration

type LoggingConfiguration struct {

	// The logging destination configuration that you want to associate with the
	// web ACL.
	//
	// You can associate one logging destination to a web ACL.
	//
	// LogDestinationConfigs is a required field
	LogDestinationConfigs []*string `min:"1" type:"list" required:"true"`

	// The owner of the logging configuration, which must be set to CUSTOMER for
	// the configurations that you manage.
	//
	// The log scope SECURITY_LAKE indicates a configuration that is managed through
	// Amazon Security Lake. You can use Security Lake to collect log and event
	// data from various sources for normalization, analysis, and management. For
	// information, see Collecting data from Amazon Web Services services (https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html)
	// in the Amazon Security Lake user guide.
	//
	// Default: CUSTOMER
	LogScope *string `type:"string" enum:"LogScope"`

	// Used to distinguish between various logging options. Currently, there is
	// one option.
	//
	// Default: WAF_LOGS
	LogType *string `type:"string" enum:"LogType"`

	// Filtering that specifies which web requests are kept in the logs and which
	// are dropped. You can filter on the rule action and on the web request labels
	// that were applied by matching rules during web ACL evaluation.
	LoggingFilter *LoggingFilter `type:"structure"`

	// Indicates whether the logging configuration was created by Firewall Manager,
	// as part of an WAF policy configuration. If true, only Firewall Manager can
	// modify or delete the configuration.
	ManagedByFirewallManager *bool `type:"boolean"`

	// The parts of the request that you want to keep out of the logs.
	//
	// For example, if you redact the SingleHeader field, the HEADER field in the
	// logs will be REDACTED for all rules that use the SingleHeader FieldToMatch
	// setting.
	//
	// Redaction applies only to the component that's specified in the rule's FieldToMatch
	// setting, so the SingleHeader redaction doesn't apply to rules that use the
	// Headers FieldToMatch.
	//
	// You can specify only the following fields for redaction: UriPath, QueryString,
	// SingleHeader, and Method.
	//
	// This setting has no impact on request sampling. With request sampling, the
	// only way to exclude fields is by disabling sampling in the web ACL visibility
	// configuration.
	RedactedFields []*FieldToMatch `type:"list"`

	// The Amazon Resource Name (ARN) of the web ACL that you want to associate
	// with LogDestinationConfigs.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Defines an association between logging destinations and a web ACL resource, for logging from WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.

The name that you give the destination must start with aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.

For configuration requirements and pricing information for each destination type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

func (LoggingConfiguration) GoString

func (s LoggingConfiguration) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LoggingConfiguration) SetLogDestinationConfigs

func (s *LoggingConfiguration) SetLogDestinationConfigs(v []*string) *LoggingConfiguration

SetLogDestinationConfigs sets the LogDestinationConfigs field's value.

func (*LoggingConfiguration) SetLogScope added in v1.53.8

SetLogScope sets the LogScope field's value.

func (*LoggingConfiguration) SetLogType added in v1.53.8

SetLogType sets the LogType field's value.

func (*LoggingConfiguration) SetLoggingFilter added in v1.38.11

func (s *LoggingConfiguration) SetLoggingFilter(v *LoggingFilter) *LoggingConfiguration

SetLoggingFilter sets the LoggingFilter field's value.

func (*LoggingConfiguration) SetManagedByFirewallManager added in v1.33.17

func (s *LoggingConfiguration) SetManagedByFirewallManager(v bool) *LoggingConfiguration

SetManagedByFirewallManager sets the ManagedByFirewallManager field's value.

func (*LoggingConfiguration) SetRedactedFields

func (s *LoggingConfiguration) SetRedactedFields(v []*FieldToMatch) *LoggingConfiguration

SetRedactedFields sets the RedactedFields field's value.

func (*LoggingConfiguration) SetResourceArn

func (s *LoggingConfiguration) SetResourceArn(v string) *LoggingConfiguration

SetResourceArn sets the ResourceArn field's value.

func (LoggingConfiguration) String

func (s LoggingConfiguration) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LoggingConfiguration) Validate

func (s *LoggingConfiguration) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type LoggingFilter added in v1.38.11

type LoggingFilter struct {

	// Default handling for logs that don't match any of the specified filtering
	// conditions.
	//
	// DefaultBehavior is a required field
	DefaultBehavior *string `type:"string" required:"true" enum:"FilterBehavior"`

	// The filters that you want to apply to the logs.
	//
	// Filters is a required field
	Filters []*Filter `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Filtering that specifies which web requests are kept in the logs and which are dropped, defined for a web ACL's LoggingConfiguration.

You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

func (LoggingFilter) GoString added in v1.38.11

func (s LoggingFilter) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LoggingFilter) SetDefaultBehavior added in v1.38.11

func (s *LoggingFilter) SetDefaultBehavior(v string) *LoggingFilter

SetDefaultBehavior sets the DefaultBehavior field's value.

func (*LoggingFilter) SetFilters added in v1.38.11

func (s *LoggingFilter) SetFilters(v []*Filter) *LoggingFilter

SetFilters sets the Filters field's value.

func (LoggingFilter) String added in v1.38.11

func (s LoggingFilter) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*LoggingFilter) Validate added in v1.38.11

func (s *LoggingFilter) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ManagedProductDescriptor added in v1.44.275

type ManagedProductDescriptor struct {

	// Indicates whether the rule group provides an advanced set of protections,
	// such as the the Amazon Web Services Managed Rules rule groups that are used
	// for WAF intelligent threat mitigation.
	IsAdvancedManagedRuleSet *bool `type:"boolean"`

	// Indicates whether the rule group is versioned.
	IsVersioningSupported *bool `type:"boolean"`

	// The name of the managed rule group. For example, AWSManagedRulesAnonymousIpList
	// or AWSManagedRulesATPRuleSet.
	ManagedRuleSetName *string `min:"1" type:"string"`

	// A short description of the managed rule group.
	ProductDescription *string `min:"1" type:"string"`

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	ProductId *string `min:"1" type:"string"`

	// For Amazon Web Services Marketplace managed rule groups only, the link to
	// the rule group product page.
	ProductLink *string `min:"1" type:"string"`

	// The display name for the managed rule group. For example, Anonymous IP list
	// or Account takeover prevention.
	ProductTitle *string `min:"1" type:"string"`

	// The Amazon resource name (ARN) of the Amazon Simple Notification Service
	// SNS topic that's used to provide notification of changes to the managed rule
	// group. You can subscribe to the SNS topic to receive notifications when the
	// managed rule group is modified, such as for new versions and for version
	// expiration. For more information, see the Amazon Simple Notification Service
	// Developer Guide (https://docs.aws.amazon.com/sns/latest/dg/welcome.html).
	SnsTopicArn *string `min:"20" type:"string"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	VendorName *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

The properties of a managed product, such as an Amazon Web Services Managed Rules rule group or an Amazon Web Services Marketplace managed rule group.

func (ManagedProductDescriptor) GoString added in v1.44.275

func (s ManagedProductDescriptor) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedProductDescriptor) SetIsAdvancedManagedRuleSet added in v1.44.275

func (s *ManagedProductDescriptor) SetIsAdvancedManagedRuleSet(v bool) *ManagedProductDescriptor

SetIsAdvancedManagedRuleSet sets the IsAdvancedManagedRuleSet field's value.

func (*ManagedProductDescriptor) SetIsVersioningSupported added in v1.44.275

func (s *ManagedProductDescriptor) SetIsVersioningSupported(v bool) *ManagedProductDescriptor

SetIsVersioningSupported sets the IsVersioningSupported field's value.

func (*ManagedProductDescriptor) SetManagedRuleSetName added in v1.44.275

func (s *ManagedProductDescriptor) SetManagedRuleSetName(v string) *ManagedProductDescriptor

SetManagedRuleSetName sets the ManagedRuleSetName field's value.

func (*ManagedProductDescriptor) SetProductDescription added in v1.44.275

func (s *ManagedProductDescriptor) SetProductDescription(v string) *ManagedProductDescriptor

SetProductDescription sets the ProductDescription field's value.

func (*ManagedProductDescriptor) SetProductId added in v1.44.275

SetProductId sets the ProductId field's value.

SetProductLink sets the ProductLink field's value.

func (*ManagedProductDescriptor) SetProductTitle added in v1.44.275

SetProductTitle sets the ProductTitle field's value.

func (*ManagedProductDescriptor) SetSnsTopicArn added in v1.44.275

SetSnsTopicArn sets the SnsTopicArn field's value.

func (*ManagedProductDescriptor) SetVendorName added in v1.44.275

SetVendorName sets the VendorName field's value.

func (ManagedProductDescriptor) String added in v1.44.275

func (s ManagedProductDescriptor) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ManagedRuleGroupConfig added in v1.42.51

type ManagedRuleGroupConfig struct {

	// Additional configuration for using the account creation fraud prevention
	// (ACFP) managed rule group, AWSManagedRulesACFPRuleSet. Use this to provide
	// account creation request information to the rule group. For web ACLs that
	// protect CloudFront distributions, use this to also provide the information
	// about how your distribution responds to account creation requests.
	//
	// For information about using the ACFP managed rule group, see WAF Fraud Control
	// account creation fraud prevention (ACFP) rule group (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html)
	// and WAF Fraud Control account creation fraud prevention (ACFP) (https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html)
	// in the WAF Developer Guide.
	AWSManagedRulesACFPRuleSet *AWSManagedRulesACFPRuleSet `type:"structure"`

	// Additional configuration for using the account takeover prevention (ATP)
	// managed rule group, AWSManagedRulesATPRuleSet. Use this to provide login
	// request information to the rule group. For web ACLs that protect CloudFront
	// distributions, use this to also provide the information about how your distribution
	// responds to login requests.
	//
	// This configuration replaces the individual configuration fields in ManagedRuleGroupConfig
	// and provides additional feature configuration.
	//
	// For information about using the ATP managed rule group, see WAF Fraud Control
	// account takeover prevention (ATP) rule group (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html)
	// and WAF Fraud Control account takeover prevention (ATP) (https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html)
	// in the WAF Developer Guide.
	AWSManagedRulesATPRuleSet *AWSManagedRulesATPRuleSet `type:"structure"`

	// Additional configuration for using the Bot Control managed rule group. Use
	// this to specify the inspection level that you want to use. For information
	// about using the Bot Control managed rule group, see WAF Bot Control rule
	// group (https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)
	// and WAF Bot Control (https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html)
	// in the WAF Developer Guide.
	AWSManagedRulesBotControlRuleSet *AWSManagedRulesBotControlRuleSet `type:"structure"`

	//
	// Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet.
	//
	// Deprecated: Deprecated. Use AWSManagedRulesATPRuleSet LoginPath
	LoginPath *string `min:"1" deprecated:"true" type:"string"`

	//
	// Instead of this setting, provide your configuration under the request inspection
	// configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.
	//
	// Deprecated: Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection PasswordField
	PasswordField *PasswordField `deprecated:"true" type:"structure"`

	//
	// Instead of this setting, provide your configuration under the request inspection
	// configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.
	//
	// Deprecated: Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection PayloadType
	PayloadType *string `deprecated:"true" type:"string" enum:"PayloadType"`

	//
	// Instead of this setting, provide your configuration under the request inspection
	// configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.
	//
	// Deprecated: Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection UsernameField
	UsernameField *UsernameField `deprecated:"true" type:"structure"`
	// contains filtered or unexported fields
}

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

The rule groups used for intelligent threat mitigation require additional configuration:

  • Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

  • Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

  • Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

For example specifications, see the examples section of CreateWebACL.

func (ManagedRuleGroupConfig) GoString added in v1.42.51

func (s ManagedRuleGroupConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupConfig) SetAWSManagedRulesACFPRuleSet added in v1.44.282

func (s *ManagedRuleGroupConfig) SetAWSManagedRulesACFPRuleSet(v *AWSManagedRulesACFPRuleSet) *ManagedRuleGroupConfig

SetAWSManagedRulesACFPRuleSet sets the AWSManagedRulesACFPRuleSet field's value.

func (*ManagedRuleGroupConfig) SetAWSManagedRulesATPRuleSet added in v1.44.202

func (s *ManagedRuleGroupConfig) SetAWSManagedRulesATPRuleSet(v *AWSManagedRulesATPRuleSet) *ManagedRuleGroupConfig

SetAWSManagedRulesATPRuleSet sets the AWSManagedRulesATPRuleSet field's value.

func (*ManagedRuleGroupConfig) SetAWSManagedRulesBotControlRuleSet added in v1.44.125

func (s *ManagedRuleGroupConfig) SetAWSManagedRulesBotControlRuleSet(v *AWSManagedRulesBotControlRuleSet) *ManagedRuleGroupConfig

SetAWSManagedRulesBotControlRuleSet sets the AWSManagedRulesBotControlRuleSet field's value.

func (*ManagedRuleGroupConfig) SetLoginPath added in v1.42.51

SetLoginPath sets the LoginPath field's value.

func (*ManagedRuleGroupConfig) SetPasswordField added in v1.42.51

SetPasswordField sets the PasswordField field's value.

func (*ManagedRuleGroupConfig) SetPayloadType added in v1.42.51

SetPayloadType sets the PayloadType field's value.

func (*ManagedRuleGroupConfig) SetUsernameField added in v1.42.51

SetUsernameField sets the UsernameField field's value.

func (ManagedRuleGroupConfig) String added in v1.42.51

func (s ManagedRuleGroupConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupConfig) Validate added in v1.42.51

func (s *ManagedRuleGroupConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ManagedRuleGroupStatement

type ManagedRuleGroupStatement struct {

	// Rules in the referenced rule group whose actions are set to Count.
	//
	// Instead of this option, use RuleActionOverrides. It accepts any valid action
	// setting, including Count.
	ExcludedRules []*ExcludedRule `type:"list"`

	// Additional information that's used by a managed rule group. Many managed
	// rule groups don't require this.
	//
	// The rule groups used for intelligent threat mitigation require additional
	// configuration:
	//
	//    * Use the AWSManagedRulesACFPRuleSet configuration object to configure
	//    the account creation fraud prevention managed rule group. The configuration
	//    includes the registration and sign-up pages of your application and the
	//    locations in the account creation request payload of data, such as the
	//    user email and phone number fields.
	//
	//    * Use the AWSManagedRulesATPRuleSet configuration object to configure
	//    the account takeover prevention managed rule group. The configuration
	//    includes the sign-in page of your application and the locations in the
	//    login request payload of data such as the username and password.
	//
	//    * Use the AWSManagedRulesBotControlRuleSet configuration object to configure
	//    the protection level that you want the Bot Control rule group to use.
	ManagedRuleGroupConfigs []*ManagedRuleGroupConfig `type:"list"`

	// The name of the managed rule group. You use this, along with the vendor name,
	// to identify the rule group.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Action settings to use in the place of the rule actions that are configured
	// inside the rule group. You specify one override for each rule whose action
	// you want to change.
	//
	// You can use overrides for testing, for example you can override all of rule
	// actions to Count and then monitor the resulting count metrics to understand
	// how the rule group would handle your web traffic. You can also permanently
	// override some or all actions, to modify how the rule group manages your web
	// traffic.
	RuleActionOverrides []*RuleActionOverride `type:"list"`

	// An optional nested statement that narrows the scope of the web requests that
	// are evaluated by the managed rule group. Requests are only evaluated by the
	// rule group if they match the scope-down statement. You can use any nestable
	// Statement in the scope-down statement, and you can nest statements at any
	// level, the same as you can for a rule statement.
	ScopeDownStatement *Statement `type:"structure"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	//
	// VendorName is a required field
	VendorName *string `min:"1" type:"string" required:"true"`

	// The version of the managed rule group to use. If you specify this, the version
	// setting is fixed until you change it. If you don't specify this, WAF uses
	// the vendor's default version, and then keeps the version at the vendor's
	// default when the vendor updates the managed rule group settings.
	Version *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/).

func (ManagedRuleGroupStatement) GoString

func (s ManagedRuleGroupStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupStatement) SetExcludedRules

SetExcludedRules sets the ExcludedRules field's value.

func (*ManagedRuleGroupStatement) SetManagedRuleGroupConfigs added in v1.42.51

func (s *ManagedRuleGroupStatement) SetManagedRuleGroupConfigs(v []*ManagedRuleGroupConfig) *ManagedRuleGroupStatement

SetManagedRuleGroupConfigs sets the ManagedRuleGroupConfigs field's value.

func (*ManagedRuleGroupStatement) SetName

SetName sets the Name field's value.

func (*ManagedRuleGroupStatement) SetRuleActionOverrides added in v1.44.125

SetRuleActionOverrides sets the RuleActionOverrides field's value.

func (*ManagedRuleGroupStatement) SetScopeDownStatement added in v1.38.11

func (s *ManagedRuleGroupStatement) SetScopeDownStatement(v *Statement) *ManagedRuleGroupStatement

SetScopeDownStatement sets the ScopeDownStatement field's value.

func (*ManagedRuleGroupStatement) SetVendorName

SetVendorName sets the VendorName field's value.

func (*ManagedRuleGroupStatement) SetVersion added in v1.40.18

SetVersion sets the Version field's value.

func (ManagedRuleGroupStatement) String

func (s ManagedRuleGroupStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupStatement) Validate

func (s *ManagedRuleGroupStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ManagedRuleGroupSummary

type ManagedRuleGroupSummary struct {

	// The description of the managed rule group, provided by Amazon Web Services
	// Managed Rules or the Amazon Web Services Marketplace seller who manages it.
	Description *string `min:"1" type:"string"`

	// The name of the managed rule group. You use this, along with the vendor name,
	// to identify the rule group.
	Name *string `min:"1" type:"string"`

	// The name of the managed rule group vendor. You use this, along with the rule
	// group name, to identify a rule group.
	VendorName *string `min:"1" type:"string"`

	// Indicates whether the managed rule group is versioned. If it is, you can
	// retrieve the versions list by calling ListAvailableManagedRuleGroupVersions.
	VersioningSupported *bool `type:"boolean"`
	// contains filtered or unexported fields
}

High-level information about a managed rule group, returned by ListAvailableManagedRuleGroups. This provides information like the name and vendor name, that you provide when you add a ManagedRuleGroupStatement to a web ACL. Managed rule groups include Amazon Web Services Managed Rules rule groups and Amazon Web Services Marketplace managed rule groups. To use any Amazon Web Services Marketplace managed rule group, first subscribe to the rule group through Amazon Web Services Marketplace.

func (ManagedRuleGroupSummary) GoString

func (s ManagedRuleGroupSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupSummary) SetDescription

SetDescription sets the Description field's value.

func (*ManagedRuleGroupSummary) SetName

SetName sets the Name field's value.

func (*ManagedRuleGroupSummary) SetVendorName

SetVendorName sets the VendorName field's value.

func (*ManagedRuleGroupSummary) SetVersioningSupported added in v1.43.36

func (s *ManagedRuleGroupSummary) SetVersioningSupported(v bool) *ManagedRuleGroupSummary

SetVersioningSupported sets the VersioningSupported field's value.

func (ManagedRuleGroupSummary) String

func (s ManagedRuleGroupSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ManagedRuleGroupVersion added in v1.40.18

type ManagedRuleGroupVersion struct {

	// The date and time that the managed rule group owner updated the rule group
	// version information.
	LastUpdateTimestamp *time.Time `type:"timestamp"`

	// The version name.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

Describes a single version of a managed rule group.

func (ManagedRuleGroupVersion) GoString added in v1.40.18

func (s ManagedRuleGroupVersion) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleGroupVersion) SetLastUpdateTimestamp added in v1.40.18

func (s *ManagedRuleGroupVersion) SetLastUpdateTimestamp(v time.Time) *ManagedRuleGroupVersion

SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value.

func (*ManagedRuleGroupVersion) SetName added in v1.40.18

SetName sets the Name field's value.

func (ManagedRuleGroupVersion) String added in v1.40.18

func (s ManagedRuleGroupVersion) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ManagedRuleSet added in v1.40.18

type ManagedRuleSet struct {

	// The Amazon Resource Name (ARN) of the entity.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the managed rule set. The ID is returned in the responses
	// to commands like list. You provide it to operations like get and update.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The label namespace prefix for the managed rule groups that are offered to
	// customers from this managed rule set. All labels that are added by rules
	// in the managed rule group have this prefix.
	//
	//    * The syntax for the label namespace prefix for a managed rule group is
	//    the following: awswaf:managed:<vendor>:<rule group name>:
	//
	//    * When a rule with a label matches a web request, WAF adds the fully qualified
	//    label to the request. A fully qualified label is made up of the label
	//    namespace from the rule group or web ACL where the rule is defined and
	//    the label from the rule, separated by a colon: <label namespace>:<label
	//    from rule>
	LabelNamespace *string `min:"1" type:"string"`

	// The name of the managed rule set. You use this, along with the rule set ID,
	// to identify the rule set.
	//
	// This name is assigned to the corresponding managed rule group, which your
	// customers can access and use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The versions of this managed rule set that are available for use by customers.
	PublishedVersions map[string]*ManagedRuleSetVersion `type:"map"`

	// The version that you would like your customers to use.
	RecommendedVersion *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

A set of rules that is managed by Amazon Web Services and Amazon Web Services Marketplace sellers to provide versioned managed rule groups for customers of WAF.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

func (ManagedRuleSet) GoString added in v1.40.18

func (s ManagedRuleSet) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleSet) SetARN added in v1.40.18

func (s *ManagedRuleSet) SetARN(v string) *ManagedRuleSet

SetARN sets the ARN field's value.

func (*ManagedRuleSet) SetDescription added in v1.40.18

func (s *ManagedRuleSet) SetDescription(v string) *ManagedRuleSet

SetDescription sets the Description field's value.

func (*ManagedRuleSet) SetId added in v1.40.18

func (s *ManagedRuleSet) SetId(v string) *ManagedRuleSet

SetId sets the Id field's value.

func (*ManagedRuleSet) SetLabelNamespace added in v1.40.18

func (s *ManagedRuleSet) SetLabelNamespace(v string) *ManagedRuleSet

SetLabelNamespace sets the LabelNamespace field's value.

func (*ManagedRuleSet) SetName added in v1.40.18

func (s *ManagedRuleSet) SetName(v string) *ManagedRuleSet

SetName sets the Name field's value.

func (*ManagedRuleSet) SetPublishedVersions added in v1.40.18

func (s *ManagedRuleSet) SetPublishedVersions(v map[string]*ManagedRuleSetVersion) *ManagedRuleSet

SetPublishedVersions sets the PublishedVersions field's value.

func (*ManagedRuleSet) SetRecommendedVersion added in v1.40.18

func (s *ManagedRuleSet) SetRecommendedVersion(v string) *ManagedRuleSet

SetRecommendedVersion sets the RecommendedVersion field's value.

func (ManagedRuleSet) String added in v1.40.18

func (s ManagedRuleSet) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ManagedRuleSetSummary added in v1.40.18

type ManagedRuleSetSummary struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the managed rule set. The ID is returned in the responses
	// to commands like list. You provide it to operations like get and update.
	Id *string `min:"1" type:"string"`

	// The label namespace prefix for the managed rule groups that are offered to
	// customers from this managed rule set. All labels that are added by rules
	// in the managed rule group have this prefix.
	//
	//    * The syntax for the label namespace prefix for a managed rule group is
	//    the following: awswaf:managed:<vendor>:<rule group name>:
	//
	//    * When a rule with a label matches a web request, WAF adds the fully qualified
	//    label to the request. A fully qualified label is made up of the label
	//    namespace from the rule group or web ACL where the rule is defined and
	//    the label from the rule, separated by a colon: <label namespace>:<label
	//    from rule>
	LabelNamespace *string `min:"1" type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The name of the managed rule set. You use this, along with the rule set ID,
	// to identify the rule set.
	//
	// This name is assigned to the corresponding managed rule group, which your
	// customers can access and use.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information for a managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

func (ManagedRuleSetSummary) GoString added in v1.40.18

func (s ManagedRuleSetSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleSetSummary) SetARN added in v1.40.18

SetARN sets the ARN field's value.

func (*ManagedRuleSetSummary) SetDescription added in v1.40.18

func (s *ManagedRuleSetSummary) SetDescription(v string) *ManagedRuleSetSummary

SetDescription sets the Description field's value.

func (*ManagedRuleSetSummary) SetId added in v1.40.18

SetId sets the Id field's value.

func (*ManagedRuleSetSummary) SetLabelNamespace added in v1.40.18

func (s *ManagedRuleSetSummary) SetLabelNamespace(v string) *ManagedRuleSetSummary

SetLabelNamespace sets the LabelNamespace field's value.

func (*ManagedRuleSetSummary) SetLockToken added in v1.40.18

SetLockToken sets the LockToken field's value.

func (*ManagedRuleSetSummary) SetName added in v1.40.18

SetName sets the Name field's value.

func (ManagedRuleSetSummary) String added in v1.40.18

func (s ManagedRuleSetSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ManagedRuleSetVersion added in v1.40.18

type ManagedRuleSetVersion struct {

	// The Amazon Resource Name (ARN) of the vendor rule group that's used to define
	// the published version of your managed rule group.
	AssociatedRuleGroupArn *string `min:"20" type:"string"`

	// The web ACL capacity units (WCUs) required for this rule group.
	//
	// WAF uses WCUs to calculate and control the operating resources that are used
	// to run your rules, rule groups, and web ACLs. WAF calculates capacity differently
	// for each rule type, to reflect the relative cost of each rule. Simple rules
	// that cost little to run use fewer WCUs than more complex rules that use more
	// processing power. Rule group capacity is fixed at creation, which helps users
	// plan their web ACL WCU usage when they use a rule group. For more information,
	// see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html)
	// in the WAF Developer Guide.
	Capacity *int64 `min:"1" type:"long"`

	// The time that this version is set to expire.
	//
	// Times are in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z".
	ExpiryTimestamp *time.Time `type:"timestamp"`

	// The amount of time you expect this version of your managed rule group to
	// last, in days.
	ForecastedLifetime *int64 `min:"1" type:"integer"`

	// The last time that you updated this version.
	//
	// Times are in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z".
	LastUpdateTimestamp *time.Time `type:"timestamp"`

	// The time that you first published this version.
	//
	// Times are in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z".
	PublishTimestamp *time.Time `type:"timestamp"`
	// contains filtered or unexported fields
}

Information for a single version of a managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

func (ManagedRuleSetVersion) GoString added in v1.40.18

func (s ManagedRuleSetVersion) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ManagedRuleSetVersion) SetAssociatedRuleGroupArn added in v1.40.18

func (s *ManagedRuleSetVersion) SetAssociatedRuleGroupArn(v string) *ManagedRuleSetVersion

SetAssociatedRuleGroupArn sets the AssociatedRuleGroupArn field's value.

func (*ManagedRuleSetVersion) SetCapacity added in v1.40.18

SetCapacity sets the Capacity field's value.

func (*ManagedRuleSetVersion) SetExpiryTimestamp added in v1.40.18

func (s *ManagedRuleSetVersion) SetExpiryTimestamp(v time.Time) *ManagedRuleSetVersion

SetExpiryTimestamp sets the ExpiryTimestamp field's value.

func (*ManagedRuleSetVersion) SetForecastedLifetime added in v1.40.18

func (s *ManagedRuleSetVersion) SetForecastedLifetime(v int64) *ManagedRuleSetVersion

SetForecastedLifetime sets the ForecastedLifetime field's value.

func (*ManagedRuleSetVersion) SetLastUpdateTimestamp added in v1.40.18

func (s *ManagedRuleSetVersion) SetLastUpdateTimestamp(v time.Time) *ManagedRuleSetVersion

SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value.

func (*ManagedRuleSetVersion) SetPublishTimestamp added in v1.40.18

func (s *ManagedRuleSetVersion) SetPublishTimestamp(v time.Time) *ManagedRuleSetVersion

SetPublishTimestamp sets the PublishTimestamp field's value.

func (ManagedRuleSetVersion) String added in v1.40.18

func (s ManagedRuleSetVersion) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type Method

type Method struct {
	// contains filtered or unexported fields
}

Inspect the HTTP method of the web request. The method indicates the type of operation that the request is asking the origin to perform.

This is used in the FieldToMatch specification for some web request component types.

JSON specification: "Method": {}

func (Method) GoString

func (s Method) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (Method) String

func (s Method) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type MobileSdkRelease added in v1.42.51

type MobileSdkRelease struct {

	// Notes describing the release.
	ReleaseNotes *string `type:"string"`

	// The release version.
	ReleaseVersion *string `min:"1" type:"string"`

	// Tags that are associated with the release.
	Tags []*Tag `min:"1" type:"list"`

	// The timestamp of the release.
	Timestamp *time.Time `type:"timestamp"`
	// contains filtered or unexported fields
}

Information for a release of the mobile SDK, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

func (MobileSdkRelease) GoString added in v1.42.51

func (s MobileSdkRelease) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*MobileSdkRelease) SetReleaseNotes added in v1.42.51

func (s *MobileSdkRelease) SetReleaseNotes(v string) *MobileSdkRelease

SetReleaseNotes sets the ReleaseNotes field's value.

func (*MobileSdkRelease) SetReleaseVersion added in v1.42.51

func (s *MobileSdkRelease) SetReleaseVersion(v string) *MobileSdkRelease

SetReleaseVersion sets the ReleaseVersion field's value.

func (*MobileSdkRelease) SetTags added in v1.42.51

func (s *MobileSdkRelease) SetTags(v []*Tag) *MobileSdkRelease

SetTags sets the Tags field's value.

func (*MobileSdkRelease) SetTimestamp added in v1.42.51

func (s *MobileSdkRelease) SetTimestamp(v time.Time) *MobileSdkRelease

SetTimestamp sets the Timestamp field's value.

func (MobileSdkRelease) String added in v1.42.51

func (s MobileSdkRelease) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type NoneAction

type NoneAction struct {
	// contains filtered or unexported fields
}

Specifies that WAF should do nothing. This is used for the OverrideAction setting on a Rule when the rule uses a rule group reference statement.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

JSON specification: "None": {}

func (NoneAction) GoString

func (s NoneAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (NoneAction) String

func (s NoneAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type NotStatement

type NotStatement struct {

	// The statement to negate. You can use any statement that can be nested.
	//
	// Statement is a required field
	Statement *Statement `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

func (NotStatement) GoString

func (s NotStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*NotStatement) SetStatement

func (s *NotStatement) SetStatement(v *Statement) *NotStatement

SetStatement sets the Statement field's value.

func (NotStatement) String

func (s NotStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*NotStatement) Validate

func (s *NotStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type OrStatement

type OrStatement struct {

	// The statements to combine with OR logic. You can use any statements that
	// can be nested.
	//
	// Statements is a required field
	Statements []*Statement `type:"list" required:"true"`
	// contains filtered or unexported fields
}

A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

func (OrStatement) GoString

func (s OrStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*OrStatement) SetStatements

func (s *OrStatement) SetStatements(v []*Statement) *OrStatement

SetStatements sets the Statements field's value.

func (OrStatement) String

func (s OrStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*OrStatement) Validate

func (s *OrStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type OverrideAction

type OverrideAction struct {

	// Override the rule group evaluation result to count only.
	//
	// This option is usually set to none. It does not affect how the rules in the
	// rule group are evaluated. If you want the rules in the rule group to only
	// count matches, do not use this and instead use the rule action override option,
	// with Count action, in your rule group reference statement settings.
	Count *CountAction `type:"structure"`

	// Don't override the rule group evaluation result. This is the most common
	// setting.
	None *NoneAction `type:"structure"`
	// contains filtered or unexported fields
}

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead use the rule action override option, with Count action, in your rule group reference statement settings.

func (OverrideAction) GoString

func (s OverrideAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*OverrideAction) SetCount

func (s *OverrideAction) SetCount(v *CountAction) *OverrideAction

SetCount sets the Count field's value.

func (*OverrideAction) SetNone

func (s *OverrideAction) SetNone(v *NoneAction) *OverrideAction

SetNone sets the None field's value.

func (OverrideAction) String

func (s OverrideAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*OverrideAction) Validate added in v1.38.8

func (s *OverrideAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PasswordField added in v1.42.51

type PasswordField struct {

	// The name of the password field.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "password": "THE_PASSWORD" } }, the password field specification
	//    is /form/password.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named password1, the password
	//    field specification is password1.
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The name of the field in the request payload that contains your customer's password.

This data type is used in the RequestInspection and RequestInspectionACFP data types.

func (PasswordField) GoString added in v1.42.51

func (s PasswordField) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PasswordField) SetIdentifier added in v1.42.51

func (s *PasswordField) SetIdentifier(v string) *PasswordField

SetIdentifier sets the Identifier field's value.

func (PasswordField) String added in v1.42.51

func (s PasswordField) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PasswordField) Validate added in v1.42.51

func (s *PasswordField) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PhoneNumberField added in v1.44.282

type PhoneNumberField struct {

	// The name of a single primary phone number field.
	//
	// How you specify the phone number fields depends on the request inspection
	// payload type.
	//
	//    * For JSON payloads, specify the field identifiers in JSON pointer syntax.
	//    For information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2",
	//    "primaryphoneline3": "THE_PHONE3" } }, the phone number field identifiers
	//    are /form/primaryphoneline1, /form/primaryphoneline2, and /form/primaryphoneline3.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with input elements named primaryphoneline1, primaryphoneline2,
	//    and primaryphoneline3, the phone number field identifiers are primaryphoneline1,
	//    primaryphoneline2, and primaryphoneline3.
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The name of a field in the request payload that contains part or all of your customer's primary phone number.

This data type is used in the RequestInspectionACFP data type.

func (PhoneNumberField) GoString added in v1.44.282

func (s PhoneNumberField) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PhoneNumberField) SetIdentifier added in v1.44.282

func (s *PhoneNumberField) SetIdentifier(v string) *PhoneNumberField

SetIdentifier sets the Identifier field's value.

func (PhoneNumberField) String added in v1.44.282

func (s PhoneNumberField) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PhoneNumberField) Validate added in v1.44.282

func (s *PhoneNumberField) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PutLoggingConfigurationInput

type PutLoggingConfigurationInput struct {

	// Defines an association between logging destinations and a web ACL resource,
	// for logging from WAF. As part of the association, you can specify parts of
	// the standard logging fields to keep out of the logs and you can specify filters
	// so that you log only a subset of the logging records.
	//
	// You can define one logging destination per web ACL.
	//
	// You can access information about the traffic that WAF inspects using the
	// following steps:
	//
	// Create your logging destination. You can use an Amazon CloudWatch Logs log
	// group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon
	// Kinesis Data Firehose.
	//
	// The name that you give the destination must start with aws-waf-logs-. Depending
	// on the type of destination, you might need to configure additional settings
	// or permissions.
	//
	// For configuration requirements and pricing information for each destination
	// type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
	// in the WAF Developer Guide.
	//
	// Associate your logging destination to your web ACL using a PutLoggingConfiguration
	// request.
	//
	// When you successfully enable logging using a PutLoggingConfiguration request,
	// WAF creates an additional role or policy that is required to write logs to
	// the logging destination. For an Amazon CloudWatch Logs log group, WAF creates
	// a resource policy on the log group. For an Amazon S3 bucket, WAF creates
	// a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked
	// role.
	//
	// For additional information about web ACL logging, see Logging web ACL traffic
	// information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
	// in the WAF Developer Guide.
	//
	// LoggingConfiguration is a required field
	LoggingConfiguration *LoggingConfiguration `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (PutLoggingConfigurationInput) GoString

func (s PutLoggingConfigurationInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutLoggingConfigurationInput) SetLoggingConfiguration

SetLoggingConfiguration sets the LoggingConfiguration field's value.

func (PutLoggingConfigurationInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutLoggingConfigurationInput) Validate

func (s *PutLoggingConfigurationInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PutLoggingConfigurationOutput

type PutLoggingConfigurationOutput struct {

	// Defines an association between logging destinations and a web ACL resource,
	// for logging from WAF. As part of the association, you can specify parts of
	// the standard logging fields to keep out of the logs and you can specify filters
	// so that you log only a subset of the logging records.
	//
	// You can define one logging destination per web ACL.
	//
	// You can access information about the traffic that WAF inspects using the
	// following steps:
	//
	// Create your logging destination. You can use an Amazon CloudWatch Logs log
	// group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon
	// Kinesis Data Firehose.
	//
	// The name that you give the destination must start with aws-waf-logs-. Depending
	// on the type of destination, you might need to configure additional settings
	// or permissions.
	//
	// For configuration requirements and pricing information for each destination
	// type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
	// in the WAF Developer Guide.
	//
	// Associate your logging destination to your web ACL using a PutLoggingConfiguration
	// request.
	//
	// When you successfully enable logging using a PutLoggingConfiguration request,
	// WAF creates an additional role or policy that is required to write logs to
	// the logging destination. For an Amazon CloudWatch Logs log group, WAF creates
	// a resource policy on the log group. For an Amazon S3 bucket, WAF creates
	// a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked
	// role.
	//
	// For additional information about web ACL logging, see Logging web ACL traffic
	// information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)
	// in the WAF Developer Guide.
	LoggingConfiguration *LoggingConfiguration `type:"structure"`
	// contains filtered or unexported fields
}

func (PutLoggingConfigurationOutput) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutLoggingConfigurationOutput) SetLoggingConfiguration

SetLoggingConfiguration sets the LoggingConfiguration field's value.

func (PutLoggingConfigurationOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type PutManagedRuleSetVersionsInput added in v1.40.18

type PutManagedRuleSetVersionsInput struct {

	// A unique identifier for the managed rule set. The ID is returned in the responses
	// to commands like list. You provide it to operations like get and update.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the managed rule set. You use this, along with the rule set ID,
	// to identify the rule set.
	//
	// This name is assigned to the corresponding managed rule group, which your
	// customers can access and use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The version of the named managed rule group that you'd like your customers
	// to choose, from among your version offerings.
	RecommendedVersion *string `min:"1" type:"string"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The versions of the named managed rule group that you want to offer to your
	// customers.
	VersionsToPublish map[string]*VersionToPublish `type:"map"`
	// contains filtered or unexported fields
}

func (PutManagedRuleSetVersionsInput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutManagedRuleSetVersionsInput) SetId added in v1.40.18

SetId sets the Id field's value.

func (*PutManagedRuleSetVersionsInput) SetLockToken added in v1.40.18

SetLockToken sets the LockToken field's value.

func (*PutManagedRuleSetVersionsInput) SetName added in v1.40.18

SetName sets the Name field's value.

func (*PutManagedRuleSetVersionsInput) SetRecommendedVersion added in v1.40.18

SetRecommendedVersion sets the RecommendedVersion field's value.

func (*PutManagedRuleSetVersionsInput) SetScope added in v1.40.18

SetScope sets the Scope field's value.

func (*PutManagedRuleSetVersionsInput) SetVersionsToPublish added in v1.40.18

SetVersionsToPublish sets the VersionsToPublish field's value.

func (PutManagedRuleSetVersionsInput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutManagedRuleSetVersionsInput) Validate added in v1.40.18

func (s *PutManagedRuleSetVersionsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PutManagedRuleSetVersionsOutput added in v1.40.18

type PutManagedRuleSetVersionsOutput struct {

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (PutManagedRuleSetVersionsOutput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutManagedRuleSetVersionsOutput) SetNextLockToken added in v1.40.18

SetNextLockToken sets the NextLockToken field's value.

func (PutManagedRuleSetVersionsOutput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type PutPermissionPolicyInput added in v1.30.1

type PutPermissionPolicyInput struct {

	// The policy to attach to the specified rule group.
	//
	// The policy specifications must conform to the following:
	//
	//    * The policy must be composed using IAM Policy version 2012-10-17.
	//
	//    * The policy must include specifications for Effect, Action, and Principal.
	//
	//    * Effect must specify Allow.
	//
	//    * Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups
	//    and may optionally specify wafv2:GetRuleGroup. WAF rejects any extra actions
	//    or wildcard actions in the policy.
	//
	//    * The policy must not include a Resource parameter.
	//
	// For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).
	//
	// Policy is a required field
	Policy *string `min:"1" type:"string" required:"true"`

	// The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach
	// the policy.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (PutPermissionPolicyInput) GoString added in v1.30.1

func (s PutPermissionPolicyInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutPermissionPolicyInput) SetPolicy added in v1.30.1

SetPolicy sets the Policy field's value.

func (*PutPermissionPolicyInput) SetResourceArn added in v1.30.1

SetResourceArn sets the ResourceArn field's value.

func (PutPermissionPolicyInput) String added in v1.30.1

func (s PutPermissionPolicyInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*PutPermissionPolicyInput) Validate added in v1.30.1

func (s *PutPermissionPolicyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PutPermissionPolicyOutput added in v1.30.1

type PutPermissionPolicyOutput struct {
	// contains filtered or unexported fields
}

func (PutPermissionPolicyOutput) GoString added in v1.30.1

func (s PutPermissionPolicyOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (PutPermissionPolicyOutput) String added in v1.30.1

func (s PutPermissionPolicyOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type QueryString

type QueryString struct {
	// contains filtered or unexported fields
}

Inspect the query string of the web request. This is the part of a URL that appears after a ? character, if any.

This is used in the FieldToMatch specification for some web request component types.

JSON specification: "QueryString": {}

func (QueryString) GoString

func (s QueryString) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (QueryString) String

func (s QueryString) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RateBasedStatement

type RateBasedStatement struct {

	// Setting that indicates how to aggregate the request counts.
	//
	// Web requests that are missing any of the components specified in the aggregation
	// keys are omitted from the rate-based rule evaluation and handling.
	//
	//    * CONSTANT - Count and limit the requests that match the rate-based rule's
	//    scope-down statement. With this option, the counted requests aren't further
	//    aggregated. The scope-down statement is the only specification used. When
	//    the count of all requests that satisfy the scope-down statement goes over
	//    the limit, WAF applies the rule action to all requests that satisfy the
	//    scope-down statement. With this option, you must configure the ScopeDownStatement
	//    property.
	//
	//    * CUSTOM_KEYS - Aggregate the request counts using one or more web request
	//    components as the aggregate keys. With this option, you must specify the
	//    aggregate keys in the CustomKeys property. To aggregate on only the IP
	//    address or only the forwarded IP address, don't use custom keys. Instead,
	//    set the aggregate key type to IP or FORWARDED_IP.
	//
	//    * FORWARDED_IP - Aggregate the request counts on the first IP address
	//    in an HTTP header. With this option, you must specify the header to use
	//    in the ForwardedIPConfig property. To aggregate on a combination of the
	//    forwarded IP address with other aggregate keys, use CUSTOM_KEYS.
	//
	//    * IP - Aggregate the request counts on the IP address from the web request
	//    origin. To aggregate on a combination of the IP address with other aggregate
	//    keys, use CUSTOM_KEYS.
	//
	// AggregateKeyType is a required field
	AggregateKeyType *string `type:"string" required:"true" enum:"RateBasedStatementAggregateKeyType"`

	// Specifies the aggregate keys to use in a rate-base rule.
	CustomKeys []*RateBasedStatementCustomKey `type:"list"`

	// The amount of time, in seconds, that WAF should include in its request counts,
	// looking back from the current time. For example, for a setting of 120, when
	// WAF checks the rate, it counts the requests for the 2 minutes immediately
	// preceding the current time. Valid settings are 60, 120, 300, and 600.
	//
	// This setting doesn't determine how often WAF checks the rate, but how far
	// back it looks each time it checks. WAF checks the rate about every 10 seconds.
	//
	// Default: 300 (5 minutes)
	EvaluationWindowSec *int64 `type:"long"`

	// The configuration for inspecting IP addresses in an HTTP header that you
	// specify, instead of using the IP address that's reported by the web request
	// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
	// any header name.
	//
	// If the specified header isn't present in the request, WAF doesn't apply the
	// rule to the web request at all.
	//
	// This is required if you specify a forwarded IP in the rule's aggregate key
	// settings.
	ForwardedIPConfig *ForwardedIPConfig `type:"structure"`

	// The limit on requests per 5-minute period for a single aggregation instance
	// for the rate-based rule. If the rate-based statement includes a ScopeDownStatement,
	// this limit is applied only to the requests that match the statement.
	//
	// Examples:
	//
	//    * If you aggregate on just the IP address, this is the limit on requests
	//    from any single IP address.
	//
	//    * If you aggregate on the HTTP method and the query argument name "city",
	//    then this is the limit on requests for any single method, city pair.
	//
	// Limit is a required field
	Limit *int64 `min:"100" type:"long" required:"true"`

	// An optional nested statement that narrows the scope of the web requests that
	// are evaluated and managed by the rate-based statement. When you use a scope-down
	// statement, the rate-based rule only tracks and rate limits requests that
	// match the scope-down statement. You can use any nestable Statement in the
	// scope-down statement, and you can nest statements at any level, the same
	// as you can for a rule statement.
	ScopeDownStatement *Statement `type:"structure"`
	// contains filtered or unexported fields
}

A rate-based rule counts incoming requests and rate limits requests when they are coming at too fast a rate. The rule categorizes requests according to your aggregation criteria, collects them into aggregation instances, and counts and rate limits the requests for each instance.

If you change any of these settings in a rule that's currently in use, the change resets the rule's rate limiting counts. This can pause the rule's rate limiting activities for up to a minute.

You can specify individual aggregation keys, like IP address or HTTP method. You can also specify aggregation key combinations, like IP address and HTTP method, or HTTP method, query argument, and cookie.

Each unique set of values for the aggregation keys that you specify is a separate aggregation instance, with the value from each key contributing to the aggregation instance definition.

For example, assume the rule evaluates web requests with the following IP address and HTTP method values:

  • IP address 10.1.1.1, HTTP method POST

  • IP address 10.1.1.1, HTTP method GET

  • IP address 127.0.0.0, HTTP method POST

  • IP address 10.1.1.1, HTTP method GET

The rule would create different aggregation instances according to your aggregation criteria, for example:

  • If the aggregation criteria is just the IP address, then each individual address is an aggregation instance, and WAF counts requests separately for each. The aggregation instances and request counts for our example would be the following: IP address 10.1.1.1: count 3 IP address 127.0.0.0: count 1

  • If the aggregation criteria is HTTP method, then each individual HTTP method is an aggregation instance. The aggregation instances and request counts for our example would be the following: HTTP method POST: count 2 HTTP method GET: count 2

  • If the aggregation criteria is IP address and HTTP method, then each IP address and each HTTP method would contribute to the combined aggregation instance. The aggregation instances and request counts for our example would be the following: IP address 10.1.1.1, HTTP method POST: count 1 IP address 10.1.1.1, HTTP method GET: count 2 IP address 127.0.0.0, HTTP method POST: count 1

For any n-tuple of aggregation keys, each unique combination of values for the keys defines a separate aggregation instance, which WAF counts and rate-limits individually.

You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts and rate limits requests that match the nested statement. You can use this nested scope-down statement in conjunction with your aggregation key specifications or you can just count and rate limit all requests that match the scope-down statement, without additional aggregation. When you choose to just manage all requests that match a scope-down statement, the aggregation instance is singular for the rule.

You cannot nest a RateBasedStatement inside another statement, for example inside a NotStatement or OrStatement. You can define a RateBasedStatement inside a web ACL and inside a rule group.

For additional information about the options, see Rate limiting web requests using rate-based rules (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rate-based-rules.html) in the WAF Developer Guide.

If you only aggregate on the individual IP address or forwarded IP address, you can retrieve the list of IP addresses that WAF is currently rate limiting for a rule through the API call GetRateBasedStatementManagedKeys. This option is not available for other aggregation configurations.

WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF.

func (RateBasedStatement) GoString

func (s RateBasedStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateBasedStatement) SetAggregateKeyType

func (s *RateBasedStatement) SetAggregateKeyType(v string) *RateBasedStatement

SetAggregateKeyType sets the AggregateKeyType field's value.

func (*RateBasedStatement) SetCustomKeys added in v1.44.264

SetCustomKeys sets the CustomKeys field's value.

func (*RateBasedStatement) SetEvaluationWindowSec added in v1.50.28

func (s *RateBasedStatement) SetEvaluationWindowSec(v int64) *RateBasedStatement

SetEvaluationWindowSec sets the EvaluationWindowSec field's value.

func (*RateBasedStatement) SetForwardedIPConfig added in v1.33.5

func (s *RateBasedStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *RateBasedStatement

SetForwardedIPConfig sets the ForwardedIPConfig field's value.

func (*RateBasedStatement) SetLimit

SetLimit sets the Limit field's value.

func (*RateBasedStatement) SetScopeDownStatement

func (s *RateBasedStatement) SetScopeDownStatement(v *Statement) *RateBasedStatement

SetScopeDownStatement sets the ScopeDownStatement field's value.

func (RateBasedStatement) String

func (s RateBasedStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateBasedStatement) Validate

func (s *RateBasedStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateBasedStatementCustomKey added in v1.44.264

type RateBasedStatementCustomKey struct {

	// Use the value of a cookie in the request as an aggregate key. Each distinct
	// value in the cookie contributes to the aggregation instance. If you use a
	// single cookie as your custom key, then each value fully defines an aggregation
	// instance.
	Cookie *RateLimitCookie `type:"structure"`

	// Use the first IP address in an HTTP header as an aggregate key. Each distinct
	// forwarded IP address contributes to the aggregation instance.
	//
	// When you specify an IP or forwarded IP in the custom key settings, you must
	// also specify at least one other key to use. You can aggregate on only the
	// forwarded IP address by specifying FORWARDED_IP in your rate-based statement's
	// AggregateKeyType.
	//
	// With this option, you must specify the header to use in the rate-based rule's
	// ForwardedIPConfig property.
	ForwardedIP *RateLimitForwardedIP `type:"structure"`

	// Use the request's HTTP method as an aggregate key. Each distinct HTTP method
	// contributes to the aggregation instance. If you use just the HTTP method
	// as your custom key, then each method fully defines an aggregation instance.
	HTTPMethod *RateLimitHTTPMethod `type:"structure"`

	// Use the value of a header in the request as an aggregate key. Each distinct
	// value in the header contributes to the aggregation instance. If you use a
	// single header as your custom key, then each value fully defines an aggregation
	// instance.
	Header *RateLimitHeader `type:"structure"`

	// Use the request's originating IP address as an aggregate key. Each distinct
	// IP address contributes to the aggregation instance.
	//
	// When you specify an IP or forwarded IP in the custom key settings, you must
	// also specify at least one other key to use. You can aggregate on only the
	// IP address by specifying IP in your rate-based statement's AggregateKeyType.
	IP *RateLimitIP `type:"structure"`

	// Use the specified label namespace as an aggregate key. Each distinct fully
	// qualified label name that has the specified label namespace contributes to
	// the aggregation instance. If you use just one label namespace as your custom
	// key, then each label name fully defines an aggregation instance.
	//
	// This uses only labels that have been added to the request by rules that are
	// evaluated before this rate-based rule in the web ACL.
	//
	// For information about label namespaces and names, see Label syntax and naming
	// requirements (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-label-requirements.html)
	// in the WAF Developer Guide.
	LabelNamespace *RateLimitLabelNamespace `type:"structure"`

	// Use the specified query argument as an aggregate key. Each distinct value
	// for the named query argument contributes to the aggregation instance. If
	// you use a single query argument as your custom key, then each value fully
	// defines an aggregation instance.
	QueryArgument *RateLimitQueryArgument `type:"structure"`

	// Use the request's query string as an aggregate key. Each distinct string
	// contributes to the aggregation instance. If you use just the query string
	// as your custom key, then each string fully defines an aggregation instance.
	QueryString *RateLimitQueryString `type:"structure"`

	// Use the request's URI path as an aggregate key. Each distinct URI path contributes
	// to the aggregation instance. If you use just the URI path as your custom
	// key, then each URI path fully defines an aggregation instance.
	UriPath *RateLimitUriPath `type:"structure"`
	// contains filtered or unexported fields
}

Specifies a single custom aggregate key for a rate-base rule.

Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.

func (RateBasedStatementCustomKey) GoString added in v1.44.264

func (s RateBasedStatementCustomKey) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateBasedStatementCustomKey) SetCookie added in v1.44.264

SetCookie sets the Cookie field's value.

func (*RateBasedStatementCustomKey) SetForwardedIP added in v1.44.264

SetForwardedIP sets the ForwardedIP field's value.

func (*RateBasedStatementCustomKey) SetHTTPMethod added in v1.44.264

SetHTTPMethod sets the HTTPMethod field's value.

func (*RateBasedStatementCustomKey) SetHeader added in v1.44.264

SetHeader sets the Header field's value.

func (*RateBasedStatementCustomKey) SetIP added in v1.44.264

SetIP sets the IP field's value.

func (*RateBasedStatementCustomKey) SetLabelNamespace added in v1.44.264

SetLabelNamespace sets the LabelNamespace field's value.

func (*RateBasedStatementCustomKey) SetQueryArgument added in v1.44.264

SetQueryArgument sets the QueryArgument field's value.

func (*RateBasedStatementCustomKey) SetQueryString added in v1.44.264

SetQueryString sets the QueryString field's value.

func (*RateBasedStatementCustomKey) SetUriPath added in v1.44.303

SetUriPath sets the UriPath field's value.

func (RateBasedStatementCustomKey) String added in v1.44.264

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateBasedStatementCustomKey) Validate added in v1.44.264

func (s *RateBasedStatementCustomKey) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateBasedStatementManagedKeysIPSet

type RateBasedStatementManagedKeysIPSet struct {

	// The IP addresses that are currently blocked.
	Addresses []*string `type:"list"`

	// The version of the IP addresses, either IPV4 or IPV6.
	IPAddressVersion *string `type:"string" enum:"IPAddressVersion"`
	// contains filtered or unexported fields
}

The set of IP addresses that are currently blocked for a RateBasedStatement. This is only available for rate-based rules that aggregate on just the IP address, with the AggregateKeyType set to IP or FORWARDED_IP.

A rate-based rule applies its rule action to requests from IP addresses that are in the rule's managed keys list and that match the rule's scope-down statement. When a rule has no scope-down statement, it applies the action to all requests from the IP addresses that are in the list. The rule applies its rule action to rate limit the matching requests. The action is usually Block but it can be any valid rule action except for Allow.

The maximum number of IP addresses that can be rate limited by a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, WAF limits those with the highest rates.

func (RateBasedStatementManagedKeysIPSet) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateBasedStatementManagedKeysIPSet) SetAddresses

SetAddresses sets the Addresses field's value.

func (*RateBasedStatementManagedKeysIPSet) SetIPAddressVersion

SetIPAddressVersion sets the IPAddressVersion field's value.

func (RateBasedStatementManagedKeysIPSet) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RateLimitCookie added in v1.44.264

type RateLimitCookie struct {

	// The name of the cookie to use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Specifies a cookie as an aggregate key for a rate-based rule. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.

func (RateLimitCookie) GoString added in v1.44.264

func (s RateLimitCookie) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitCookie) SetName added in v1.44.264

func (s *RateLimitCookie) SetName(v string) *RateLimitCookie

SetName sets the Name field's value.

func (*RateLimitCookie) SetTextTransformations added in v1.44.264

func (s *RateLimitCookie) SetTextTransformations(v []*TextTransformation) *RateLimitCookie

SetTextTransformations sets the TextTransformations field's value.

func (RateLimitCookie) String added in v1.44.264

func (s RateLimitCookie) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitCookie) Validate added in v1.44.264

func (s *RateLimitCookie) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateLimitForwardedIP added in v1.44.264

type RateLimitForwardedIP struct {
	// contains filtered or unexported fields
}

Specifies the first IP address in an HTTP header as an aggregate key for a rate-based rule. Each distinct forwarded IP address contributes to the aggregation instance.

This setting is used only in the RateBasedStatementCustomKey specification of a rate-based rule statement. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying FORWARDED_IP in your rate-based statement's AggregateKeyType.

This data type supports using the forwarded IP address in the web request aggregation for a rate-based rule, in RateBasedStatementCustomKey. The JSON specification for using the forwarded IP address doesn't explicitly use this data type.

JSON specification: "ForwardedIP": {}

When you use this specification, you must also configure the forwarded IP address in the rate-based statement's ForwardedIPConfig.

func (RateLimitForwardedIP) GoString added in v1.44.264

func (s RateLimitForwardedIP) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (RateLimitForwardedIP) String added in v1.44.264

func (s RateLimitForwardedIP) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RateLimitHTTPMethod added in v1.44.264

type RateLimitHTTPMethod struct {
	// contains filtered or unexported fields
}

Specifies the request's HTTP method as an aggregate key for a rate-based rule. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method as your custom key, then each method fully defines an aggregation instance.

JSON specification: "RateLimitHTTPMethod": {}

func (RateLimitHTTPMethod) GoString added in v1.44.264

func (s RateLimitHTTPMethod) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (RateLimitHTTPMethod) String added in v1.44.264

func (s RateLimitHTTPMethod) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RateLimitHeader added in v1.44.264

type RateLimitHeader struct {

	// The name of the header to use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Specifies a header as an aggregate key for a rate-based rule. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.

func (RateLimitHeader) GoString added in v1.44.264

func (s RateLimitHeader) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitHeader) SetName added in v1.44.264

func (s *RateLimitHeader) SetName(v string) *RateLimitHeader

SetName sets the Name field's value.

func (*RateLimitHeader) SetTextTransformations added in v1.44.264

func (s *RateLimitHeader) SetTextTransformations(v []*TextTransformation) *RateLimitHeader

SetTextTransformations sets the TextTransformations field's value.

func (RateLimitHeader) String added in v1.44.264

func (s RateLimitHeader) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitHeader) Validate added in v1.44.264

func (s *RateLimitHeader) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateLimitIP added in v1.44.264

type RateLimitIP struct {
	// contains filtered or unexported fields
}

Specifies the IP address in the web request as an aggregate key for a rate-based rule. Each distinct IP address contributes to the aggregation instance.

This setting is used only in the RateBasedStatementCustomKey specification of a rate-based rule statement. To use this in the custom key settings, you must specify at least one other key to use, along with the IP address. To aggregate on only the IP address, in your rate-based statement's AggregateKeyType, specify IP.

JSON specification: "RateLimitIP": {}

func (RateLimitIP) GoString added in v1.44.264

func (s RateLimitIP) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (RateLimitIP) String added in v1.44.264

func (s RateLimitIP) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RateLimitLabelNamespace added in v1.44.264

type RateLimitLabelNamespace struct {

	// The namespace to use for aggregation.
	//
	// Namespace is a required field
	Namespace *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Specifies a label namespace to use as an aggregate key for a rate-based rule. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance.

This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.

For information about label namespaces and names, see Label syntax and naming requirements (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-label-requirements.html) in the WAF Developer Guide.

func (RateLimitLabelNamespace) GoString added in v1.44.264

func (s RateLimitLabelNamespace) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitLabelNamespace) SetNamespace added in v1.44.264

SetNamespace sets the Namespace field's value.

func (RateLimitLabelNamespace) String added in v1.44.264

func (s RateLimitLabelNamespace) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitLabelNamespace) Validate added in v1.44.264

func (s *RateLimitLabelNamespace) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateLimitQueryArgument added in v1.44.264

type RateLimitQueryArgument struct {

	// The name of the query argument to use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Specifies a query argument in the request as an aggregate key for a rate-based rule. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.

func (RateLimitQueryArgument) GoString added in v1.44.264

func (s RateLimitQueryArgument) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitQueryArgument) SetName added in v1.44.264

SetName sets the Name field's value.

func (*RateLimitQueryArgument) SetTextTransformations added in v1.44.264

func (s *RateLimitQueryArgument) SetTextTransformations(v []*TextTransformation) *RateLimitQueryArgument

SetTextTransformations sets the TextTransformations field's value.

func (RateLimitQueryArgument) String added in v1.44.264

func (s RateLimitQueryArgument) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitQueryArgument) Validate added in v1.44.264

func (s *RateLimitQueryArgument) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateLimitQueryString added in v1.44.264

type RateLimitQueryString struct {

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Specifies the request's query string as an aggregate key for a rate-based rule. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.

func (RateLimitQueryString) GoString added in v1.44.264

func (s RateLimitQueryString) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitQueryString) SetTextTransformations added in v1.44.264

func (s *RateLimitQueryString) SetTextTransformations(v []*TextTransformation) *RateLimitQueryString

SetTextTransformations sets the TextTransformations field's value.

func (RateLimitQueryString) String added in v1.44.264

func (s RateLimitQueryString) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitQueryString) Validate added in v1.44.264

func (s *RateLimitQueryString) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RateLimitUriPath added in v1.44.303

type RateLimitUriPath struct {

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Specifies the request's URI path as an aggregate key for a rate-based rule. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.

func (RateLimitUriPath) GoString added in v1.44.303

func (s RateLimitUriPath) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitUriPath) SetTextTransformations added in v1.44.303

func (s *RateLimitUriPath) SetTextTransformations(v []*TextTransformation) *RateLimitUriPath

SetTextTransformations sets the TextTransformations field's value.

func (RateLimitUriPath) String added in v1.44.303

func (s RateLimitUriPath) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RateLimitUriPath) Validate added in v1.44.303

func (s *RateLimitUriPath) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Regex

type Regex struct {

	// The string representing the regular expression.
	RegexString *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

A single regular expression. This is used in a RegexPatternSet.

func (Regex) GoString

func (s Regex) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Regex) SetRegexString

func (s *Regex) SetRegexString(v string) *Regex

SetRegexString sets the RegexString field's value.

func (Regex) String

func (s Regex) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Regex) Validate

func (s *Regex) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RegexMatchStatement added in v1.40.47

type RegexMatchStatement struct {

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// The string representing the regular expression.
	//
	// RegexString is a required field
	RegexString *string `min:"1" type:"string" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement used to search web request components for a match against a single regular expression.

func (RegexMatchStatement) GoString added in v1.40.47

func (s RegexMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexMatchStatement) SetFieldToMatch added in v1.40.47

func (s *RegexMatchStatement) SetFieldToMatch(v *FieldToMatch) *RegexMatchStatement

SetFieldToMatch sets the FieldToMatch field's value.

func (*RegexMatchStatement) SetRegexString added in v1.40.47

func (s *RegexMatchStatement) SetRegexString(v string) *RegexMatchStatement

SetRegexString sets the RegexString field's value.

func (*RegexMatchStatement) SetTextTransformations added in v1.40.47

func (s *RegexMatchStatement) SetTextTransformations(v []*TextTransformation) *RegexMatchStatement

SetTextTransformations sets the TextTransformations field's value.

func (RegexMatchStatement) String added in v1.40.47

func (s RegexMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexMatchStatement) Validate added in v1.40.47

func (s *RegexMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RegexPatternSet

type RegexPatternSet struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	Id *string `min:"1" type:"string"`

	// The name of the set. You cannot change the name after you create the set.
	Name *string `min:"1" type:"string"`

	// The regular expression patterns in the set.
	RegularExpressionList []*Regex `type:"list"`
	// contains filtered or unexported fields
}

Contains one or more regular expressions.

WAF assigns an ARN to each RegexPatternSet that you create. To use a set in a rule, you provide the ARN to the Rule statement RegexPatternSetReferenceStatement.

func (RegexPatternSet) GoString

func (s RegexPatternSet) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexPatternSet) SetARN

func (s *RegexPatternSet) SetARN(v string) *RegexPatternSet

SetARN sets the ARN field's value.

func (*RegexPatternSet) SetDescription

func (s *RegexPatternSet) SetDescription(v string) *RegexPatternSet

SetDescription sets the Description field's value.

func (*RegexPatternSet) SetId

func (s *RegexPatternSet) SetId(v string) *RegexPatternSet

SetId sets the Id field's value.

func (*RegexPatternSet) SetName

func (s *RegexPatternSet) SetName(v string) *RegexPatternSet

SetName sets the Name field's value.

func (*RegexPatternSet) SetRegularExpressionList

func (s *RegexPatternSet) SetRegularExpressionList(v []*Regex) *RegexPatternSet

SetRegularExpressionList sets the RegularExpressionList field's value.

func (RegexPatternSet) String

func (s RegexPatternSet) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RegexPatternSetReferenceStatement

type RegexPatternSetReferenceStatement struct {

	// The Amazon Resource Name (ARN) of the RegexPatternSet that this statement
	// references.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

func (RegexPatternSetReferenceStatement) GoString

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexPatternSetReferenceStatement) SetARN

SetARN sets the ARN field's value.

func (*RegexPatternSetReferenceStatement) SetFieldToMatch

SetFieldToMatch sets the FieldToMatch field's value.

func (*RegexPatternSetReferenceStatement) SetTextTransformations

SetTextTransformations sets the TextTransformations field's value.

func (RegexPatternSetReferenceStatement) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexPatternSetReferenceStatement) Validate

Validate inspects the fields of the type to determine if they are valid.

type RegexPatternSetSummary

type RegexPatternSetSummary struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	Id *string `min:"1" type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The name of the data type instance. You cannot change the name after you
	// create the instance.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information about a RegexPatternSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RegexPatternSet, and the ARN, that you provide to the RegexPatternSetReferenceStatement to use the pattern set in a Rule.

func (RegexPatternSetSummary) GoString

func (s RegexPatternSetSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RegexPatternSetSummary) SetARN

SetARN sets the ARN field's value.

func (*RegexPatternSetSummary) SetDescription

SetDescription sets the Description field's value.

func (*RegexPatternSetSummary) SetId

SetId sets the Id field's value.

func (*RegexPatternSetSummary) SetLockToken

SetLockToken sets the LockToken field's value.

func (*RegexPatternSetSummary) SetName

SetName sets the Name field's value.

func (RegexPatternSetSummary) String

func (s RegexPatternSetSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type ReleaseSummary added in v1.42.51

type ReleaseSummary struct {

	// The release version.
	ReleaseVersion *string `min:"1" type:"string"`

	// The timestamp of the release.
	Timestamp *time.Time `type:"timestamp"`
	// contains filtered or unexported fields
}

High level information for an SDK release.

func (ReleaseSummary) GoString added in v1.42.51

func (s ReleaseSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ReleaseSummary) SetReleaseVersion added in v1.42.51

func (s *ReleaseSummary) SetReleaseVersion(v string) *ReleaseSummary

SetReleaseVersion sets the ReleaseVersion field's value.

func (*ReleaseSummary) SetTimestamp added in v1.42.51

func (s *ReleaseSummary) SetTimestamp(v time.Time) *ReleaseSummary

SetTimestamp sets the Timestamp field's value.

func (ReleaseSummary) String added in v1.42.51

func (s ReleaseSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RequestBodyAssociatedResourceTypeConfig added in v1.44.235

type RequestBodyAssociatedResourceTypeConfig struct {

	// Specifies the maximum size of the web request body component that an associated
	// CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resource
	// should send to WAF for inspection. This applies to statements in the web
	// ACL that inspect the body or JSON body.
	//
	// Default: 16 KB (16,384 bytes)
	//
	// DefaultSizeInspectionLimit is a required field
	DefaultSizeInspectionLimit *string `type:"string" required:"true" enum:"SizeInspectionLimit"`
	// contains filtered or unexported fields
}

Customizes the maximum size of the request body that your protected CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access resources forward to WAF for inspection. The default size is 16 KB (16,384 bytes). You can change the setting for any of the available resource types.

You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/).

Example JSON: { "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE": "KB_32" }

For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

This is used in the AssociationConfig of the web ACL.

func (RequestBodyAssociatedResourceTypeConfig) GoString added in v1.44.235

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestBodyAssociatedResourceTypeConfig) SetDefaultSizeInspectionLimit added in v1.44.235

SetDefaultSizeInspectionLimit sets the DefaultSizeInspectionLimit field's value.

func (RequestBodyAssociatedResourceTypeConfig) String added in v1.44.235

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestBodyAssociatedResourceTypeConfig) Validate added in v1.44.235

Validate inspects the fields of the type to determine if they are valid.

type RequestInspection added in v1.44.202

type RequestInspection struct {

	// The name of the field in the request payload that contains your customer's
	// password.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "password": "THE_PASSWORD" } }, the password field specification
	//    is /form/password.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named password1, the password
	//    field specification is password1.
	//
	// PasswordField is a required field
	PasswordField *PasswordField `type:"structure" required:"true"`

	// The payload type for your login endpoint, either JSON or form encoded.
	//
	// PayloadType is a required field
	PayloadType *string `type:"string" required:"true" enum:"PayloadType"`

	// The name of the field in the request payload that contains your customer's
	// username.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "username": "THE_USERNAME" } }, the username field specification
	//    is /form/username.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named username1, the username
	//    field specification is username1
	//
	// UsernameField is a required field
	UsernameField *UsernameField `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.

This is part of the AWSManagedRulesATPRuleSet configuration in ManagedRuleGroupConfig.

In these settings, you specify how your application accepts login attempts by providing the request payload type and the names of the fields within the request body where the username and password are provided.

func (RequestInspection) GoString added in v1.44.202

func (s RequestInspection) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestInspection) SetPasswordField added in v1.44.202

func (s *RequestInspection) SetPasswordField(v *PasswordField) *RequestInspection

SetPasswordField sets the PasswordField field's value.

func (*RequestInspection) SetPayloadType added in v1.44.202

func (s *RequestInspection) SetPayloadType(v string) *RequestInspection

SetPayloadType sets the PayloadType field's value.

func (*RequestInspection) SetUsernameField added in v1.44.202

func (s *RequestInspection) SetUsernameField(v *UsernameField) *RequestInspection

SetUsernameField sets the UsernameField field's value.

func (RequestInspection) String added in v1.44.202

func (s RequestInspection) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestInspection) Validate added in v1.44.202

func (s *RequestInspection) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RequestInspectionACFP added in v1.44.282

type RequestInspectionACFP struct {

	// The names of the fields in the request payload that contain your customer's
	// primary physical address.
	//
	// Order the address fields in the array exactly as they are ordered in the
	// request payload.
	//
	// How you specify the address fields depends on the request inspection payload
	// type.
	//
	//    * For JSON payloads, specify the field identifiers in JSON pointer syntax.
	//    For information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2":
	//    "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }, the address
	//    field idenfiers are /form/primaryaddressline1, /form/primaryaddressline2,
	//    and /form/primaryaddressline3.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with input elements named primaryaddressline1, primaryaddressline2,
	//    and primaryaddressline3, the address fields identifiers are primaryaddressline1,
	//    primaryaddressline2, and primaryaddressline3.
	AddressFields []*AddressField `type:"list"`

	// The name of the field in the request payload that contains your customer's
	// email.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "email": "THE_EMAIL" } }, the email field specification is
	//    /form/email.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named email1, the email field
	//    specification is email1.
	EmailField *EmailField `type:"structure"`

	// The name of the field in the request payload that contains your customer's
	// password.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "password": "THE_PASSWORD" } }, the password field specification
	//    is /form/password.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named password1, the password
	//    field specification is password1.
	PasswordField *PasswordField `type:"structure"`

	// The payload type for your account creation endpoint, either JSON or form
	// encoded.
	//
	// PayloadType is a required field
	PayloadType *string `type:"string" required:"true" enum:"PayloadType"`

	// The names of the fields in the request payload that contain your customer's
	// primary phone number.
	//
	// Order the phone number fields in the array exactly as they are ordered in
	// the request payload.
	//
	// How you specify the phone number fields depends on the request inspection
	// payload type.
	//
	//    * For JSON payloads, specify the field identifiers in JSON pointer syntax.
	//    For information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2",
	//    "primaryphoneline3": "THE_PHONE3" } }, the phone number field identifiers
	//    are /form/primaryphoneline1, /form/primaryphoneline2, and /form/primaryphoneline3.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with input elements named primaryphoneline1, primaryphoneline2,
	//    and primaryphoneline3, the phone number field identifiers are primaryphoneline1,
	//    primaryphoneline2, and primaryphoneline3.
	PhoneNumberFields []*PhoneNumberField `type:"list"`

	// The name of the field in the request payload that contains your customer's
	// username.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "username": "THE_USERNAME" } }, the username field specification
	//    is /form/username.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named username1, the username
	//    field specification is username1
	UsernameField *UsernameField `type:"structure"`
	// contains filtered or unexported fields
}

The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.

This is part of the AWSManagedRulesACFPRuleSet configuration in ManagedRuleGroupConfig.

In these settings, you specify how your application accepts account creation attempts by providing the request payload type and the names of the fields within the request body where the username, password, email, and primary address and phone number fields are provided.

func (RequestInspectionACFP) GoString added in v1.44.282

func (s RequestInspectionACFP) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestInspectionACFP) SetAddressFields added in v1.44.282

func (s *RequestInspectionACFP) SetAddressFields(v []*AddressField) *RequestInspectionACFP

SetAddressFields sets the AddressFields field's value.

func (*RequestInspectionACFP) SetEmailField added in v1.44.282

SetEmailField sets the EmailField field's value.

func (*RequestInspectionACFP) SetPasswordField added in v1.44.282

SetPasswordField sets the PasswordField field's value.

func (*RequestInspectionACFP) SetPayloadType added in v1.44.282

func (s *RequestInspectionACFP) SetPayloadType(v string) *RequestInspectionACFP

SetPayloadType sets the PayloadType field's value.

func (*RequestInspectionACFP) SetPhoneNumberFields added in v1.44.282

func (s *RequestInspectionACFP) SetPhoneNumberFields(v []*PhoneNumberField) *RequestInspectionACFP

SetPhoneNumberFields sets the PhoneNumberFields field's value.

func (*RequestInspectionACFP) SetUsernameField added in v1.44.282

SetUsernameField sets the UsernameField field's value.

func (RequestInspectionACFP) String added in v1.44.282

func (s RequestInspectionACFP) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RequestInspectionACFP) Validate added in v1.44.282

func (s *RequestInspectionACFP) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ResponseInspection added in v1.44.202

type ResponseInspection struct {

	// Configures inspection of the response body for success and failure indicators.
	// WAF can inspect the first 65,536 bytes (64 KB) of the response body.
	BodyContains *ResponseInspectionBodyContains `type:"structure"`

	// Configures inspection of the response header for success and failure indicators.
	Header *ResponseInspectionHeader `type:"structure"`

	// Configures inspection of the response JSON for success and failure indicators.
	// WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.
	Json *ResponseInspectionJson `type:"structure"`

	// Configures inspection of the response status code for success and failure
	// indicators.
	StatusCode *ResponseInspectionStatusCode `type:"structure"`
	// contains filtered or unexported fields
}

The criteria for inspecting responses to login requests and account creation requests, used by the ATP and ACFP rule groups to track login and account creation success and failure rates.

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

The rule groups evaluates the responses that your protected resources send back to client login and account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses with too much suspicious activity in a short amount of time.

This is part of the AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet configurations in ManagedRuleGroupConfig.

Enable response inspection by configuring exactly one component of the response to inspect, for example, Header or StatusCode. You can't configure more than one component for inspection. If you don't configure any of the response inspection options, response inspection is disabled.

func (ResponseInspection) GoString added in v1.44.202

func (s ResponseInspection) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspection) SetBodyContains added in v1.44.202

SetBodyContains sets the BodyContains field's value.

func (*ResponseInspection) SetHeader added in v1.44.202

SetHeader sets the Header field's value.

func (*ResponseInspection) SetJson added in v1.44.202

SetJson sets the Json field's value.

func (*ResponseInspection) SetStatusCode added in v1.44.202

SetStatusCode sets the StatusCode field's value.

func (ResponseInspection) String added in v1.44.202

func (s ResponseInspection) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspection) Validate added in v1.44.202

func (s *ResponseInspection) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ResponseInspectionBodyContains added in v1.44.202

type ResponseInspectionBodyContains struct {

	// Strings in the body of the response that indicate a failed login or account
	// creation attempt. To be counted as a failure, the string can be anywhere
	// in the body and must be an exact match, including case. Each string must
	// be unique among the success and failure strings.
	//
	// JSON example: "FailureStrings": [ "Request failed" ]
	//
	// FailureStrings is a required field
	FailureStrings []*string `min:"1" type:"list" required:"true"`

	// Strings in the body of the response that indicate a successful login or account
	// creation attempt. To be counted as a success, the string can be anywhere
	// in the body and must be an exact match, including case. Each string must
	// be unique among the success and failure strings.
	//
	// JSON examples: "SuccessStrings": [ "Login successful" ] and "SuccessStrings":
	// [ "Account creation successful", "Welcome to our site!" ]
	//
	// SuccessStrings is a required field
	SuccessStrings []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

func (ResponseInspectionBodyContains) GoString added in v1.44.202

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionBodyContains) SetFailureStrings added in v1.44.202

SetFailureStrings sets the FailureStrings field's value.

func (*ResponseInspectionBodyContains) SetSuccessStrings added in v1.44.202

SetSuccessStrings sets the SuccessStrings field's value.

func (ResponseInspectionBodyContains) String added in v1.44.202

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionBodyContains) Validate added in v1.44.202

func (s *ResponseInspectionBodyContains) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ResponseInspectionHeader added in v1.44.202

type ResponseInspectionHeader struct {

	// Values in the response header with the specified name that indicate a failed
	// login or account creation attempt. To be counted as a failure, the value
	// must be an exact match, including case. Each value must be unique among the
	// success and failure values.
	//
	// JSON examples: "FailureValues": [ "LoginFailed", "Failed login" ] and "FailureValues":
	// [ "AccountCreationFailed" ]
	//
	// FailureValues is a required field
	FailureValues []*string `min:"1" type:"list" required:"true"`

	// The name of the header to match against. The name must be an exact match,
	// including case.
	//
	// JSON example: "Name": [ "RequestResult" ]
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Values in the response header with the specified name that indicate a successful
	// login or account creation attempt. To be counted as a success, the value
	// must be an exact match, including case. Each value must be unique among the
	// success and failure values.
	//
	// JSON examples: "SuccessValues": [ "LoginPassed", "Successful login" ] and
	// "SuccessValues": [ "AccountCreated", "Successful account creation" ]
	//
	// SuccessValues is a required field
	SuccessValues []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Configures inspection of the response header. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

func (ResponseInspectionHeader) GoString added in v1.44.202

func (s ResponseInspectionHeader) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionHeader) SetFailureValues added in v1.44.202

func (s *ResponseInspectionHeader) SetFailureValues(v []*string) *ResponseInspectionHeader

SetFailureValues sets the FailureValues field's value.

func (*ResponseInspectionHeader) SetName added in v1.44.202

SetName sets the Name field's value.

func (*ResponseInspectionHeader) SetSuccessValues added in v1.44.202

func (s *ResponseInspectionHeader) SetSuccessValues(v []*string) *ResponseInspectionHeader

SetSuccessValues sets the SuccessValues field's value.

func (ResponseInspectionHeader) String added in v1.44.202

func (s ResponseInspectionHeader) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionHeader) Validate added in v1.44.202

func (s *ResponseInspectionHeader) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ResponseInspectionJson added in v1.44.202

type ResponseInspectionJson struct {

	// Values for the specified identifier in the response JSON that indicate a
	// failed login or account creation attempt. To be counted as a failure, the
	// value must be an exact match, including case. Each value must be unique among
	// the success and failure values.
	//
	// JSON example: "FailureValues": [ "False", "Failed" ]
	//
	// FailureValues is a required field
	FailureValues []*string `min:"1" type:"list" required:"true"`

	// The identifier for the value to match against in the JSON. The identifier
	// must be an exact match, including case.
	//
	// JSON examples: "Identifier": [ "/login/success" ] and "Identifier": [ "/sign-up/success"
	// ]
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`

	// Values for the specified identifier in the response JSON that indicate a
	// successful login or account creation attempt. To be counted as a success,
	// the value must be an exact match, including case. Each value must be unique
	// among the success and failure values.
	//
	// JSON example: "SuccessValues": [ "True", "Succeeded" ]
	//
	// SuccessValues is a required field
	SuccessValues []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

func (ResponseInspectionJson) GoString added in v1.44.202

func (s ResponseInspectionJson) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionJson) SetFailureValues added in v1.44.202

func (s *ResponseInspectionJson) SetFailureValues(v []*string) *ResponseInspectionJson

SetFailureValues sets the FailureValues field's value.

func (*ResponseInspectionJson) SetIdentifier added in v1.44.202

SetIdentifier sets the Identifier field's value.

func (*ResponseInspectionJson) SetSuccessValues added in v1.44.202

func (s *ResponseInspectionJson) SetSuccessValues(v []*string) *ResponseInspectionJson

SetSuccessValues sets the SuccessValues field's value.

func (ResponseInspectionJson) String added in v1.44.202

func (s ResponseInspectionJson) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionJson) Validate added in v1.44.202

func (s *ResponseInspectionJson) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ResponseInspectionStatusCode added in v1.44.202

type ResponseInspectionStatusCode struct {

	// Status codes in the response that indicate a failed login or account creation
	// attempt. To be counted as a failure, the response status code must match
	// one of these. Each code must be unique among the success and failure status
	// codes.
	//
	// JSON example: "FailureCodes": [ 400, 404 ]
	//
	// FailureCodes is a required field
	FailureCodes []*int64 `min:"1" type:"list" required:"true"`

	// Status codes in the response that indicate a successful login or account
	// creation attempt. To be counted as a success, the response status code must
	// match one of these. Each code must be unique among the success and failure
	// status codes.
	//
	// JSON example: "SuccessCodes": [ 200, 201 ]
	//
	// SuccessCodes is a required field
	SuccessCodes []*int64 `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Configures inspection of the response status code. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

func (ResponseInspectionStatusCode) GoString added in v1.44.202

func (s ResponseInspectionStatusCode) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionStatusCode) SetFailureCodes added in v1.44.202

SetFailureCodes sets the FailureCodes field's value.

func (*ResponseInspectionStatusCode) SetSuccessCodes added in v1.44.202

SetSuccessCodes sets the SuccessCodes field's value.

func (ResponseInspectionStatusCode) String added in v1.44.202

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*ResponseInspectionStatusCode) Validate added in v1.44.202

func (s *ResponseInspectionStatusCode) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Rule

type Rule struct {

	// The action that WAF should take on a web request when it matches the rule
	// statement. Settings at the web ACL level can override the rule action setting.
	//
	// This is used only for rules whose statements do not reference a rule group.
	// Rule statements that reference a rule group include RuleGroupReferenceStatement
	// and ManagedRuleGroupStatement.
	//
	// You must specify either this Action setting or the rule OverrideAction setting,
	// but not both:
	//
	//    * If the rule statement does not reference a rule group, use this rule
	//    action setting and not the rule override action setting.
	//
	//    * If the rule statement references a rule group, use the override action
	//    setting and not this action setting.
	Action *RuleAction `type:"structure"`

	// Specifies how WAF should handle CAPTCHA evaluations. If you don't specify
	// this, WAF uses the CAPTCHA configuration that's defined for the web ACL.
	CaptchaConfig *CaptchaConfig `type:"structure"`

	// Specifies how WAF should handle Challenge evaluations. If you don't specify
	// this, WAF uses the challenge configuration that's defined for the web ACL.
	ChallengeConfig *ChallengeConfig `type:"structure"`

	// The name of the rule.
	//
	// If you change the name of a Rule after you create it and you want the rule's
	// metric name to reflect the change, update the metric name in the rule's VisibilityConfig
	// settings. WAF doesn't automatically update the metric name when you update
	// the rule name.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The action to use in the place of the action that results from the rule group
	// evaluation. Set the override action to none to leave the result of the rule
	// group alone. Set it to count to override the result to count only.
	//
	// You can only use this for rule statements that reference a rule group, like
	// RuleGroupReferenceStatement and ManagedRuleGroupStatement.
	//
	// This option is usually set to none. It does not affect how the rules in the
	// rule group are evaluated. If you want the rules in the rule group to only
	// count matches, do not use this and instead use the rule action override option,
	// with Count action, in your rule group reference statement settings.
	OverrideAction *OverrideAction `type:"structure"`

	// If you define more than one Rule in a WebACL, WAF evaluates each request
	// against the Rules in order based on the value of Priority. WAF processes
	// rules with lower priority first. The priorities don't need to be consecutive,
	// but they must all be different.
	//
	// Priority is a required field
	Priority *int64 `type:"integer" required:"true"`

	// Labels to apply to web requests that match the rule match statement. WAF
	// applies fully qualified labels to matching web requests. A fully qualified
	// label is the concatenation of a label namespace and a rule label. The rule's
	// rule group or web ACL defines the label namespace.
	//
	// Rules that run after this rule in the web ACL can match against these labels
	// using a LabelMatchStatement.
	//
	// For each label, provide a case-sensitive string containing optional namespaces
	// and a label name, according to the following guidelines:
	//
	//    * Separate each component of the label with a colon.
	//
	//    * Each namespace or name can have up to 128 characters.
	//
	//    * You can specify up to 5 namespaces in a label.
	//
	//    * Don't use the following reserved words in your label specification:
	//    aws, waf, managed, rulegroup, webacl, regexpatternset, or ipset.
	//
	// For example, myLabelName or nameSpace1:nameSpace2:myLabelName.
	RuleLabels []*Label `type:"list"`

	// The WAF processing statement for the rule, for example ByteMatchStatement
	// or SizeConstraintStatement.
	//
	// Statement is a required field
	Statement *Statement `type:"structure" required:"true"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// If you change the name of a Rule after you create it and you want the rule's
	// metric name to reflect the change, update the metric name as well. WAF doesn't
	// automatically update the metric name.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to manage in some way. Each rule includes one top-level Statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

func (Rule) GoString

func (s Rule) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Rule) SetAction

func (s *Rule) SetAction(v *RuleAction) *Rule

SetAction sets the Action field's value.

func (*Rule) SetCaptchaConfig added in v1.42.0

func (s *Rule) SetCaptchaConfig(v *CaptchaConfig) *Rule

SetCaptchaConfig sets the CaptchaConfig field's value.

func (*Rule) SetChallengeConfig added in v1.44.125

func (s *Rule) SetChallengeConfig(v *ChallengeConfig) *Rule

SetChallengeConfig sets the ChallengeConfig field's value.

func (*Rule) SetName

func (s *Rule) SetName(v string) *Rule

SetName sets the Name field's value.

func (*Rule) SetOverrideAction

func (s *Rule) SetOverrideAction(v *OverrideAction) *Rule

SetOverrideAction sets the OverrideAction field's value.

func (*Rule) SetPriority

func (s *Rule) SetPriority(v int64) *Rule

SetPriority sets the Priority field's value.

func (*Rule) SetRuleLabels added in v1.38.11

func (s *Rule) SetRuleLabels(v []*Label) *Rule

SetRuleLabels sets the RuleLabels field's value.

func (*Rule) SetStatement

func (s *Rule) SetStatement(v *Statement) *Rule

SetStatement sets the Statement field's value.

func (*Rule) SetVisibilityConfig

func (s *Rule) SetVisibilityConfig(v *VisibilityConfig) *Rule

SetVisibilityConfig sets the VisibilityConfig field's value.

func (Rule) String

func (s Rule) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Rule) Validate

func (s *Rule) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RuleAction

type RuleAction struct {

	// Instructs WAF to allow the web request.
	Allow *AllowAction `type:"structure"`

	// Instructs WAF to block the web request.
	Block *BlockAction `type:"structure"`

	// Instructs WAF to run a CAPTCHA check against the web request.
	Captcha *CaptchaAction `type:"structure"`

	// Instructs WAF to run a Challenge check against the web request.
	Challenge *ChallengeAction `type:"structure"`

	// Instructs WAF to count the web request and then continue evaluating the request
	// using the remaining rules in the web ACL.
	Count *CountAction `type:"structure"`
	// contains filtered or unexported fields
}

The action that WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

func (RuleAction) GoString

func (s RuleAction) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleAction) SetAllow

func (s *RuleAction) SetAllow(v *AllowAction) *RuleAction

SetAllow sets the Allow field's value.

func (*RuleAction) SetBlock

func (s *RuleAction) SetBlock(v *BlockAction) *RuleAction

SetBlock sets the Block field's value.

func (*RuleAction) SetCaptcha added in v1.42.0

func (s *RuleAction) SetCaptcha(v *CaptchaAction) *RuleAction

SetCaptcha sets the Captcha field's value.

func (*RuleAction) SetChallenge added in v1.44.125

func (s *RuleAction) SetChallenge(v *ChallengeAction) *RuleAction

SetChallenge sets the Challenge field's value.

func (*RuleAction) SetCount

func (s *RuleAction) SetCount(v *CountAction) *RuleAction

SetCount sets the Count field's value.

func (RuleAction) String

func (s RuleAction) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleAction) Validate added in v1.38.8

func (s *RuleAction) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RuleActionOverride added in v1.44.125

type RuleActionOverride struct {

	// The override action to use, in place of the configured action of the rule
	// in the rule group.
	//
	// ActionToUse is a required field
	ActionToUse *RuleAction `type:"structure" required:"true"`

	// The name of the rule to override.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Action setting to use in the place of a rule action that is configured inside the rule group. You specify one override for each rule whose action you want to change.

You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

func (RuleActionOverride) GoString added in v1.44.125

func (s RuleActionOverride) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleActionOverride) SetActionToUse added in v1.44.125

func (s *RuleActionOverride) SetActionToUse(v *RuleAction) *RuleActionOverride

SetActionToUse sets the ActionToUse field's value.

func (*RuleActionOverride) SetName added in v1.44.125

SetName sets the Name field's value.

func (RuleActionOverride) String added in v1.44.125

func (s RuleActionOverride) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleActionOverride) Validate added in v1.44.125

func (s *RuleActionOverride) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RuleGroup

type RuleGroup struct {

	// The Amazon Resource Name (ARN) of the entity.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// The labels that one or more rules in this rule group add to matching web
	// requests. These labels are defined in the RuleLabels for a Rule.
	AvailableLabels []*LabelSummary `type:"list"`

	// The web ACL capacity units (WCUs) required for this rule group.
	//
	// When you create your own rule group, you define this, and you cannot change
	// it after creation. When you add or modify the rules in a rule group, WAF
	// enforces this limit. You can check the capacity for a set of rules using
	// CheckCapacity.
	//
	// WAF uses WCUs to calculate and control the operating resources that are used
	// to run your rules, rule groups, and web ACLs. WAF calculates capacity differently
	// for each rule type, to reflect the relative cost of each rule. Simple rules
	// that cost little to run use fewer WCUs than more complex rules that use more
	// processing power. Rule group capacity is fixed at creation, which helps users
	// plan their web ACL WCU usage when they use a rule group. For more information,
	// see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html)
	// in the WAF Developer Guide.
	//
	// Capacity is a required field
	Capacity *int64 `min:"1" type:"long" required:"true"`

	// The labels that one or more rules in this rule group match against in label
	// match statements. These labels are defined in a LabelMatchStatement specification,
	// in the Statement definition of a rule.
	ConsumedLabels []*LabelSummary `type:"list"`

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the rule group, and then use them in the rules that you
	// define in the rule group.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// A description of the rule group that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The label namespace prefix for this rule group. All labels added by rules
	// in this rule group have this prefix.
	//
	//    * The syntax for the label namespace prefix for your rule groups is the
	//    following: awswaf:<account ID>:rulegroup:<rule group name>:
	//
	//    * When a rule with a label matches a web request, WAF adds the fully qualified
	//    label to the request. A fully qualified label is made up of the label
	//    namespace from the rule group or web ACL where the rule is defined and
	//    the label from the rule, separated by a colon: <label namespace>:<label
	//    from rule>
	LabelNamespace *string `min:"1" type:"string"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

func (RuleGroup) GoString

func (s RuleGroup) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleGroup) SetARN

func (s *RuleGroup) SetARN(v string) *RuleGroup

SetARN sets the ARN field's value.

func (*RuleGroup) SetAvailableLabels added in v1.38.11

func (s *RuleGroup) SetAvailableLabels(v []*LabelSummary) *RuleGroup

SetAvailableLabels sets the AvailableLabels field's value.

func (*RuleGroup) SetCapacity

func (s *RuleGroup) SetCapacity(v int64) *RuleGroup

SetCapacity sets the Capacity field's value.

func (*RuleGroup) SetConsumedLabels added in v1.38.11

func (s *RuleGroup) SetConsumedLabels(v []*LabelSummary) *RuleGroup

SetConsumedLabels sets the ConsumedLabels field's value.

func (*RuleGroup) SetCustomResponseBodies added in v1.38.8

func (s *RuleGroup) SetCustomResponseBodies(v map[string]*CustomResponseBody) *RuleGroup

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*RuleGroup) SetDescription

func (s *RuleGroup) SetDescription(v string) *RuleGroup

SetDescription sets the Description field's value.

func (*RuleGroup) SetId

func (s *RuleGroup) SetId(v string) *RuleGroup

SetId sets the Id field's value.

func (*RuleGroup) SetLabelNamespace added in v1.38.11

func (s *RuleGroup) SetLabelNamespace(v string) *RuleGroup

SetLabelNamespace sets the LabelNamespace field's value.

func (*RuleGroup) SetName

func (s *RuleGroup) SetName(v string) *RuleGroup

SetName sets the Name field's value.

func (*RuleGroup) SetRules

func (s *RuleGroup) SetRules(v []*Rule) *RuleGroup

SetRules sets the Rules field's value.

func (*RuleGroup) SetVisibilityConfig

func (s *RuleGroup) SetVisibilityConfig(v *VisibilityConfig) *RuleGroup

SetVisibilityConfig sets the VisibilityConfig field's value.

func (RuleGroup) String

func (s RuleGroup) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RuleGroupReferenceStatement

type RuleGroupReferenceStatement struct {

	// The Amazon Resource Name (ARN) of the entity.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// Rules in the referenced rule group whose actions are set to Count.
	//
	// Instead of this option, use RuleActionOverrides. It accepts any valid action
	// setting, including Count.
	ExcludedRules []*ExcludedRule `type:"list"`

	// Action settings to use in the place of the rule actions that are configured
	// inside the rule group. You specify one override for each rule whose action
	// you want to change.
	//
	// You can use overrides for testing, for example you can override all of rule
	// actions to Count and then monitor the resulting count metrics to understand
	// how the rule group would handle your web traffic. You can also permanently
	// override some or all actions, to modify how the rule group manages your web
	// traffic.
	RuleActionOverrides []*RuleActionOverride `type:"list"`
	// contains filtered or unexported fields
}

A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You cannot use a rule group reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.

func (RuleGroupReferenceStatement) GoString

func (s RuleGroupReferenceStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleGroupReferenceStatement) SetARN

SetARN sets the ARN field's value.

func (*RuleGroupReferenceStatement) SetExcludedRules

SetExcludedRules sets the ExcludedRules field's value.

func (*RuleGroupReferenceStatement) SetRuleActionOverrides added in v1.44.125

SetRuleActionOverrides sets the RuleActionOverrides field's value.

func (RuleGroupReferenceStatement) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleGroupReferenceStatement) Validate

func (s *RuleGroupReferenceStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RuleGroupSummary

type RuleGroupSummary struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the rule group that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	Id *string `min:"1" type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The name of the data type instance. You cannot change the name after you
	// create the instance.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information about a RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

func (RuleGroupSummary) GoString

func (s RuleGroupSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleGroupSummary) SetARN

SetARN sets the ARN field's value.

func (*RuleGroupSummary) SetDescription

func (s *RuleGroupSummary) SetDescription(v string) *RuleGroupSummary

SetDescription sets the Description field's value.

func (*RuleGroupSummary) SetId

SetId sets the Id field's value.

func (*RuleGroupSummary) SetLockToken

func (s *RuleGroupSummary) SetLockToken(v string) *RuleGroupSummary

SetLockToken sets the LockToken field's value.

func (*RuleGroupSummary) SetName

func (s *RuleGroupSummary) SetName(v string) *RuleGroupSummary

SetName sets the Name field's value.

func (RuleGroupSummary) String

func (s RuleGroupSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type RuleSummary

type RuleSummary struct {

	// The action that WAF should take on a web request when it matches a rule's
	// statement. Settings at the web ACL level can override the rule action setting.
	Action *RuleAction `type:"structure"`

	// The name of the rule.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information about a Rule, returned by operations like DescribeManagedRuleGroup. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

func (RuleSummary) GoString

func (s RuleSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*RuleSummary) SetAction

func (s *RuleSummary) SetAction(v *RuleAction) *RuleSummary

SetAction sets the Action field's value.

func (*RuleSummary) SetName

func (s *RuleSummary) SetName(v string) *RuleSummary

SetName sets the Name field's value.

func (RuleSummary) String

func (s RuleSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type SampledHTTPRequest

type SampledHTTPRequest struct {

	// The action that WAF applied to the request.
	Action *string `type:"string"`

	// The CAPTCHA response for the request.
	CaptchaResponse *CaptchaResponse `type:"structure"`

	// The Challenge response for the request.
	ChallengeResponse *ChallengeResponse `type:"structure"`

	// Labels applied to the web request by matching rules. WAF applies fully qualified
	// labels to matching web requests. A fully qualified label is the concatenation
	// of a label namespace and a rule label. The rule's rule group or web ACL defines
	// the label namespace.
	//
	// For example, awswaf:111122223333:myRuleGroup:testRules:testNS1:testNS2:labelNameA
	// or awswaf:managed:aws:managed-rule-set:header:encoding:utf8.
	Labels []*Label `type:"list"`

	// Used only for rule group rules that have a rule action override in place
	// in the web ACL. This is the action that the rule group rule is configured
	// for, and not the action that was applied to the request. The action that
	// WAF applied is the Action value.
	OverriddenAction *string `type:"string"`

	// A complex type that contains detailed information about the request.
	//
	// Request is a required field
	Request *HTTPRequest `type:"structure" required:"true"`

	// Custom request headers inserted by WAF into the request, according to the
	// custom request configuration for the matching rule action.
	RequestHeadersInserted []*HTTPHeader `type:"list"`

	// The response code that was sent for the request.
	ResponseCodeSent *int64 `min:"200" type:"integer"`

	// The name of the Rule that the request matched. For managed rule groups, the
	// format for this name is <vendor name>#<managed rule group name>#<rule name>.
	// For your own rule groups, the format for this name is <rule group name>#<rule
	// name>. If the rule is not in a rule group, this field is absent.
	RuleNameWithinRuleGroup *string `min:"1" type:"string"`

	// The time at which WAF received the request from your Amazon Web Services
	// resource, in Unix time format (in seconds).
	Timestamp *time.Time `type:"timestamp"`

	// A value that indicates how one result in the response relates proportionally
	// to other results in the response. For example, a result that has a weight
	// of 2 represents roughly twice as many web requests as a result that has a
	// weight of 1.
	//
	// Weight is a required field
	Weight *int64 `type:"long" required:"true"`
	// contains filtered or unexported fields
}

Represents a single sampled web request. The response from GetSampledRequests includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains an array of SampledHTTPRequest objects.

func (SampledHTTPRequest) GoString

func (s SampledHTTPRequest) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SampledHTTPRequest) SetAction

func (s *SampledHTTPRequest) SetAction(v string) *SampledHTTPRequest

SetAction sets the Action field's value.

func (*SampledHTTPRequest) SetCaptchaResponse added in v1.42.0

func (s *SampledHTTPRequest) SetCaptchaResponse(v *CaptchaResponse) *SampledHTTPRequest

SetCaptchaResponse sets the CaptchaResponse field's value.

func (*SampledHTTPRequest) SetChallengeResponse added in v1.44.125

func (s *SampledHTTPRequest) SetChallengeResponse(v *ChallengeResponse) *SampledHTTPRequest

SetChallengeResponse sets the ChallengeResponse field's value.

func (*SampledHTTPRequest) SetLabels added in v1.38.11

func (s *SampledHTTPRequest) SetLabels(v []*Label) *SampledHTTPRequest

SetLabels sets the Labels field's value.

func (*SampledHTTPRequest) SetOverriddenAction added in v1.44.125

func (s *SampledHTTPRequest) SetOverriddenAction(v string) *SampledHTTPRequest

SetOverriddenAction sets the OverriddenAction field's value.

func (*SampledHTTPRequest) SetRequest

SetRequest sets the Request field's value.

func (*SampledHTTPRequest) SetRequestHeadersInserted added in v1.38.8

func (s *SampledHTTPRequest) SetRequestHeadersInserted(v []*HTTPHeader) *SampledHTTPRequest

SetRequestHeadersInserted sets the RequestHeadersInserted field's value.

func (*SampledHTTPRequest) SetResponseCodeSent added in v1.38.8

func (s *SampledHTTPRequest) SetResponseCodeSent(v int64) *SampledHTTPRequest

SetResponseCodeSent sets the ResponseCodeSent field's value.

func (*SampledHTTPRequest) SetRuleNameWithinRuleGroup

func (s *SampledHTTPRequest) SetRuleNameWithinRuleGroup(v string) *SampledHTTPRequest

SetRuleNameWithinRuleGroup sets the RuleNameWithinRuleGroup field's value.

func (*SampledHTTPRequest) SetTimestamp

func (s *SampledHTTPRequest) SetTimestamp(v time.Time) *SampledHTTPRequest

SetTimestamp sets the Timestamp field's value.

func (*SampledHTTPRequest) SetWeight

func (s *SampledHTTPRequest) SetWeight(v int64) *SampledHTTPRequest

SetWeight sets the Weight field's value.

func (SampledHTTPRequest) String

func (s SampledHTTPRequest) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type SingleHeader

type SingleHeader struct {

	// The name of the query header to inspect.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Inspect one of the headers in the web request, identified by name, for example, User-Agent or Referer. The name isn't case sensitive.

You can filter and inspect all headers with the FieldToMatch setting Headers.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "SingleHeader": { "Name": "haystack" }

func (SingleHeader) GoString

func (s SingleHeader) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SingleHeader) SetName

func (s *SingleHeader) SetName(v string) *SingleHeader

SetName sets the Name field's value.

func (SingleHeader) String

func (s SingleHeader) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SingleHeader) Validate

func (s *SingleHeader) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SingleQueryArgument

type SingleQueryArgument struct {

	// The name of the query argument to inspect.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Inspect one query argument in the web request, identified by name, for example UserName or SalesRegion. The name isn't case sensitive.

This is used to indicate the web request component to inspect, in the FieldToMatch specification.

Example JSON: "SingleQueryArgument": { "Name": "myArgument" }

func (SingleQueryArgument) GoString

func (s SingleQueryArgument) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SingleQueryArgument) SetName

SetName sets the Name field's value.

func (SingleQueryArgument) String

func (s SingleQueryArgument) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SingleQueryArgument) Validate

func (s *SingleQueryArgument) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SizeConstraintStatement

type SizeConstraintStatement struct {

	// The operator to use to compare the request part to the size setting.
	//
	// ComparisonOperator is a required field
	ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// The size, in byte, to compare to the request part, after any transformations.
	//
	// Size is a required field
	Size *int64 `type:"long" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the number of bytes in the body up to the limit for the web ACL and protected resource type. If you know that the request body for your web requests should never exceed the inspection limit, you can use a size constraint statement to block requests that have a larger request body size. For more information about the inspection limits, see Body and JsonBody settings for the FieldToMatch data type.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

func (SizeConstraintStatement) GoString

func (s SizeConstraintStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SizeConstraintStatement) SetComparisonOperator

func (s *SizeConstraintStatement) SetComparisonOperator(v string) *SizeConstraintStatement

SetComparisonOperator sets the ComparisonOperator field's value.

func (*SizeConstraintStatement) SetFieldToMatch

SetFieldToMatch sets the FieldToMatch field's value.

func (*SizeConstraintStatement) SetSize

SetSize sets the Size field's value.

func (*SizeConstraintStatement) SetTextTransformations

func (s *SizeConstraintStatement) SetTextTransformations(v []*TextTransformation) *SizeConstraintStatement

SetTextTransformations sets the TextTransformations field's value.

func (SizeConstraintStatement) String

func (s SizeConstraintStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SizeConstraintStatement) Validate

func (s *SizeConstraintStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SqliMatchStatement

type SqliMatchStatement struct {

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// The sensitivity that you want WAF to use to inspect for SQL injection attacks.
	//
	// HIGH detects more attacks, but might generate more false positives, especially
	// if your web requests frequently contain unusual strings. For information
	// about identifying and mitigating false positives, see Testing and tuning
	// (https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html)
	// in the WAF Developer Guide.
	//
	// LOW is generally a better choice for resources that already have other protections
	// against SQL injection attacks or that have a low tolerance for false positives.
	//
	// Default: LOW
	SensitivityLevel *string `type:"string" enum:"SensitivityLevel"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it.

func (SqliMatchStatement) GoString

func (s SqliMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SqliMatchStatement) SetFieldToMatch

func (s *SqliMatchStatement) SetFieldToMatch(v *FieldToMatch) *SqliMatchStatement

SetFieldToMatch sets the FieldToMatch field's value.

func (*SqliMatchStatement) SetSensitivityLevel added in v1.44.56

func (s *SqliMatchStatement) SetSensitivityLevel(v string) *SqliMatchStatement

SetSensitivityLevel sets the SensitivityLevel field's value.

func (*SqliMatchStatement) SetTextTransformations

func (s *SqliMatchStatement) SetTextTransformations(v []*TextTransformation) *SqliMatchStatement

SetTextTransformations sets the TextTransformations field's value.

func (SqliMatchStatement) String

func (s SqliMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*SqliMatchStatement) Validate

func (s *SqliMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Statement

type Statement struct {

	// A logical rule statement used to combine other rule statements with AND logic.
	// You provide more than one Statement within the AndStatement.
	AndStatement *AndStatement `type:"structure"`

	// A rule statement that defines a string match search for WAF to apply to web
	// requests. The byte match statement provides the bytes to search for, the
	// location in requests that you want WAF to search, and other settings. The
	// bytes to search for are typically a string that corresponds with ASCII characters.
	// In the WAF console and the developer guide, this is called a string match
	// statement.
	ByteMatchStatement *ByteMatchStatement `type:"structure"`

	// A rule statement that labels web requests by country and region and that
	// matches against web requests based on country code. A geo match rule labels
	// every request that it inspects regardless of whether it finds a match.
	//
	//    * To manage requests only by country, you can use this statement by itself
	//    and specify the countries that you want to match against in the CountryCodes
	//    array.
	//
	//    * Otherwise, configure your geo match rule with Count action so that it
	//    only labels requests. Then, add one or more label match rules to run after
	//    the geo match rule and configure them to match against the geographic
	//    labels and handle the requests as needed.
	//
	// WAF labels requests using the alpha-2 country and region codes from the International
	// Organization for Standardization (ISO) 3166 standard. WAF determines the
	// codes using either the IP address in the web request origin or, if you specify
	// it, the address in the geo match ForwardedIPConfig.
	//
	// If you use the web request origin, the label formats are awswaf:clientip:geo:region:<ISO
	// country code>-<ISO region code> and awswaf:clientip:geo:country:<ISO country
	// code>.
	//
	// If you use a forwarded IP address, the label formats are awswaf:forwardedip:geo:region:<ISO
	// country code>-<ISO region code> and awswaf:forwardedip:geo:country:<ISO country
	// code>.
	//
	// For additional details, see Geographic match rule statement (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html)
	// in the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
	GeoMatchStatement *GeoMatchStatement `type:"structure"`

	// A rule statement used to detect web requests coming from particular IP addresses
	// or address ranges. To use this, create an IPSet that specifies the addresses
	// you want to detect, then use the ARN of that set in this statement. To create
	// an IP set, see CreateIPSet.
	//
	// Each IP set rule statement references an IP set. You create and maintain
	// the set independent of your rules. This allows you to use the single set
	// in multiple rules. When you update the referenced set, WAF automatically
	// updates all rules that reference it.
	IPSetReferenceStatement *IPSetReferenceStatement `type:"structure"`

	// A rule statement to match against labels that have been added to the web
	// request by rules that have already run in the web ACL.
	//
	// The label match statement provides the label or namespace string to search
	// for. The label string can represent a part or all of the fully qualified
	// label name that had been added to the web request. Fully qualified labels
	// have a prefix, optional namespaces, and label name. The prefix identifies
	// the rule group or web ACL context of the rule that added the label. If you
	// do not provide the fully qualified name in your label match string, WAF performs
	// the search for labels that were added in the same context as the label match
	// statement.
	LabelMatchStatement *LabelMatchStatement `type:"structure"`

	// A rule statement used to run the rules that are defined in a managed rule
	// group. To use this, provide the vendor name and the name of the rule group
	// in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.
	//
	// You cannot nest a ManagedRuleGroupStatement, for example for use inside a
	// NotStatement or OrStatement. You cannot use a managed rule group inside another
	// rule group. You can only reference a managed rule group as a top-level statement
	// within a rule that you define in a web ACL.
	//
	// You are charged additional fees when you use the WAF Bot Control managed
	// rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account
	// takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or
	// the WAF Fraud Control account creation fraud prevention (ACFP) managed rule
	// group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing (http://aws.amazon.com/waf/pricing/).
	ManagedRuleGroupStatement *ManagedRuleGroupStatement `type:"structure"`

	// A logical rule statement used to negate the results of another rule statement.
	// You provide one Statement within the NotStatement.
	NotStatement *NotStatement `type:"structure"`

	// A logical rule statement used to combine other rule statements with OR logic.
	// You provide more than one Statement within the OrStatement.
	OrStatement *OrStatement `type:"structure"`

	// A rate-based rule counts incoming requests and rate limits requests when
	// they are coming at too fast a rate. The rule categorizes requests according
	// to your aggregation criteria, collects them into aggregation instances, and
	// counts and rate limits the requests for each instance.
	//
	// If you change any of these settings in a rule that's currently in use, the
	// change resets the rule's rate limiting counts. This can pause the rule's
	// rate limiting activities for up to a minute.
	//
	// You can specify individual aggregation keys, like IP address or HTTP method.
	// You can also specify aggregation key combinations, like IP address and HTTP
	// method, or HTTP method, query argument, and cookie.
	//
	// Each unique set of values for the aggregation keys that you specify is a
	// separate aggregation instance, with the value from each key contributing
	// to the aggregation instance definition.
	//
	// For example, assume the rule evaluates web requests with the following IP
	// address and HTTP method values:
	//
	//    * IP address 10.1.1.1, HTTP method POST
	//
	//    * IP address 10.1.1.1, HTTP method GET
	//
	//    * IP address 127.0.0.0, HTTP method POST
	//
	//    * IP address 10.1.1.1, HTTP method GET
	//
	// The rule would create different aggregation instances according to your aggregation
	// criteria, for example:
	//
	//    * If the aggregation criteria is just the IP address, then each individual
	//    address is an aggregation instance, and WAF counts requests separately
	//    for each. The aggregation instances and request counts for our example
	//    would be the following: IP address 10.1.1.1: count 3 IP address 127.0.0.0:
	//    count 1
	//
	//    * If the aggregation criteria is HTTP method, then each individual HTTP
	//    method is an aggregation instance. The aggregation instances and request
	//    counts for our example would be the following: HTTP method POST: count
	//    2 HTTP method GET: count 2
	//
	//    * If the aggregation criteria is IP address and HTTP method, then each
	//    IP address and each HTTP method would contribute to the combined aggregation
	//    instance. The aggregation instances and request counts for our example
	//    would be the following: IP address 10.1.1.1, HTTP method POST: count 1
	//    IP address 10.1.1.1, HTTP method GET: count 2 IP address 127.0.0.0, HTTP
	//    method POST: count 1
	//
	// For any n-tuple of aggregation keys, each unique combination of values for
	// the keys defines a separate aggregation instance, which WAF counts and rate-limits
	// individually.
	//
	// You can optionally nest another statement inside the rate-based statement,
	// to narrow the scope of the rule so that it only counts and rate limits requests
	// that match the nested statement. You can use this nested scope-down statement
	// in conjunction with your aggregation key specifications or you can just count
	// and rate limit all requests that match the scope-down statement, without
	// additional aggregation. When you choose to just manage all requests that
	// match a scope-down statement, the aggregation instance is singular for the
	// rule.
	//
	// You cannot nest a RateBasedStatement inside another statement, for example
	// inside a NotStatement or OrStatement. You can define a RateBasedStatement
	// inside a web ACL and inside a rule group.
	//
	// For additional information about the options, see Rate limiting web requests
	// using rate-based rules (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rate-based-rules.html)
	// in the WAF Developer Guide.
	//
	// If you only aggregate on the individual IP address or forwarded IP address,
	// you can retrieve the list of IP addresses that WAF is currently rate limiting
	// for a rule through the API call GetRateBasedStatementManagedKeys. This option
	// is not available for other aggregation configurations.
	//
	// WAF tracks and manages web requests separately for each instance of a rate-based
	// rule that you use. For example, if you provide the same rate-based rule settings
	// in two web ACLs, each of the two rule statements represents a separate instance
	// of the rate-based rule and gets its own tracking and management by WAF. If
	// you define a rate-based rule inside a rule group, and then use that rule
	// group in multiple places, each use creates a separate instance of the rate-based
	// rule that gets its own tracking and management by WAF.
	RateBasedStatement *RateBasedStatement `type:"structure"`

	// A rule statement used to search web request components for a match against
	// a single regular expression.
	RegexMatchStatement *RegexMatchStatement `type:"structure"`

	// A rule statement used to search web request components for matches with regular
	// expressions. To use this, create a RegexPatternSet that specifies the expressions
	// that you want to detect, then use the ARN of that set in this statement.
	// A web request matches the pattern set rule statement if the request component
	// matches any of the patterns in the set. To create a regex pattern set, see
	// CreateRegexPatternSet.
	//
	// Each regex pattern set rule statement references a regex pattern set. You
	// create and maintain the set independent of your rules. This allows you to
	// use the single set in multiple rules. When you update the referenced set,
	// WAF automatically updates all rules that reference it.
	RegexPatternSetReferenceStatement *RegexPatternSetReferenceStatement `type:"structure"`

	// A rule statement used to run the rules that are defined in a RuleGroup. To
	// use this, create a rule group with your rules, then provide the ARN of the
	// rule group in this statement.
	//
	// You cannot nest a RuleGroupReferenceStatement, for example for use inside
	// a NotStatement or OrStatement. You cannot use a rule group reference statement
	// inside another rule group. You can only reference a rule group as a top-level
	// statement within a rule that you define in a web ACL.
	RuleGroupReferenceStatement *RuleGroupReferenceStatement `type:"structure"`

	// A rule statement that compares a number of bytes against the size of a request
	// component, using a comparison operator, such as greater than (>) or less
	// than (<). For example, you can use a size constraint statement to look for
	// query strings that are longer than 100 bytes.
	//
	// If you configure WAF to inspect the request body, WAF inspects only the number
	// of bytes in the body up to the limit for the web ACL and protected resource
	// type. If you know that the request body for your web requests should never
	// exceed the inspection limit, you can use a size constraint statement to block
	// requests that have a larger request body size. For more information about
	// the inspection limits, see Body and JsonBody settings for the FieldToMatch
	// data type.
	//
	// If you choose URI for the value of Part of the request to filter on, the
	// slash (/) in the URI counts as one character. For example, the URI /logo.jpg
	// is nine characters long.
	SizeConstraintStatement *SizeConstraintStatement `type:"structure"`

	// A rule statement that inspects for malicious SQL code. Attackers insert malicious
	// SQL code into web requests to do things like modify your database or extract
	// data from it.
	SqliMatchStatement *SqliMatchStatement `type:"structure"`

	// A rule statement that inspects for cross-site scripting (XSS) attacks. In
	// XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle
	// to inject malicious client-site scripts into other legitimate web browsers.
	XssMatchStatement *XssMatchStatement `type:"structure"`
	// contains filtered or unexported fields
}

The processing guidance for a Rule, used by WAF to determine whether a web request matches the rule.

For example specifications, see the examples section of CreateWebACL.

func (Statement) GoString

func (s Statement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Statement) SetAndStatement

func (s *Statement) SetAndStatement(v *AndStatement) *Statement

SetAndStatement sets the AndStatement field's value.

func (*Statement) SetByteMatchStatement

func (s *Statement) SetByteMatchStatement(v *ByteMatchStatement) *Statement

SetByteMatchStatement sets the ByteMatchStatement field's value.

func (*Statement) SetGeoMatchStatement

func (s *Statement) SetGeoMatchStatement(v *GeoMatchStatement) *Statement

SetGeoMatchStatement sets the GeoMatchStatement field's value.

func (*Statement) SetIPSetReferenceStatement

func (s *Statement) SetIPSetReferenceStatement(v *IPSetReferenceStatement) *Statement

SetIPSetReferenceStatement sets the IPSetReferenceStatement field's value.

func (*Statement) SetLabelMatchStatement added in v1.38.11

func (s *Statement) SetLabelMatchStatement(v *LabelMatchStatement) *Statement

SetLabelMatchStatement sets the LabelMatchStatement field's value.

func (*Statement) SetManagedRuleGroupStatement

func (s *Statement) SetManagedRuleGroupStatement(v *ManagedRuleGroupStatement) *Statement

SetManagedRuleGroupStatement sets the ManagedRuleGroupStatement field's value.

func (*Statement) SetNotStatement

func (s *Statement) SetNotStatement(v *NotStatement) *Statement

SetNotStatement sets the NotStatement field's value.

func (*Statement) SetOrStatement

func (s *Statement) SetOrStatement(v *OrStatement) *Statement

SetOrStatement sets the OrStatement field's value.

func (*Statement) SetRateBasedStatement

func (s *Statement) SetRateBasedStatement(v *RateBasedStatement) *Statement

SetRateBasedStatement sets the RateBasedStatement field's value.

func (*Statement) SetRegexMatchStatement added in v1.40.47

func (s *Statement) SetRegexMatchStatement(v *RegexMatchStatement) *Statement

SetRegexMatchStatement sets the RegexMatchStatement field's value.

func (*Statement) SetRegexPatternSetReferenceStatement

func (s *Statement) SetRegexPatternSetReferenceStatement(v *RegexPatternSetReferenceStatement) *Statement

SetRegexPatternSetReferenceStatement sets the RegexPatternSetReferenceStatement field's value.

func (*Statement) SetRuleGroupReferenceStatement

func (s *Statement) SetRuleGroupReferenceStatement(v *RuleGroupReferenceStatement) *Statement

SetRuleGroupReferenceStatement sets the RuleGroupReferenceStatement field's value.

func (*Statement) SetSizeConstraintStatement

func (s *Statement) SetSizeConstraintStatement(v *SizeConstraintStatement) *Statement

SetSizeConstraintStatement sets the SizeConstraintStatement field's value.

func (*Statement) SetSqliMatchStatement

func (s *Statement) SetSqliMatchStatement(v *SqliMatchStatement) *Statement

SetSqliMatchStatement sets the SqliMatchStatement field's value.

func (*Statement) SetXssMatchStatement

func (s *Statement) SetXssMatchStatement(v *XssMatchStatement) *Statement

SetXssMatchStatement sets the XssMatchStatement field's value.

func (Statement) String

func (s Statement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Statement) Validate

func (s *Statement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Tag

type Tag struct {

	// Part of the key:value pair that defines a tag. You can use a tag key to describe
	// a category of information, such as "customer." Tag keys are case-sensitive.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`

	// Part of the key:value pair that defines a tag. You can use a tag value to
	// describe a specific value within a category, such as "companyA" or "companyB."
	// Tag values are case-sensitive.
	//
	// Value is a required field
	Value *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

func (Tag) GoString

func (s Tag) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Tag) SetKey

func (s *Tag) SetKey(v string) *Tag

SetKey sets the Key field's value.

func (*Tag) SetValue

func (s *Tag) SetValue(v string) *Tag

SetValue sets the Value field's value.

func (Tag) String

func (s Tag) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*Tag) Validate

func (s *Tag) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TagInfoForResource

type TagInfoForResource struct {

	// The Amazon Resource Name (ARN) of the resource.
	ResourceARN *string `min:"20" type:"string"`

	// The array of Tag objects defined for the resource.
	TagList []*Tag `min:"1" type:"list"`
	// contains filtered or unexported fields
}

The collection of tagging definitions for an Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

func (TagInfoForResource) GoString

func (s TagInfoForResource) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TagInfoForResource) SetResourceARN

func (s *TagInfoForResource) SetResourceARN(v string) *TagInfoForResource

SetResourceARN sets the ResourceARN field's value.

func (*TagInfoForResource) SetTagList

func (s *TagInfoForResource) SetTagList(v []*Tag) *TagInfoForResource

SetTagList sets the TagList field's value.

func (TagInfoForResource) String

func (s TagInfoForResource) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type TagResourceInput

type TagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource.
	//
	// ResourceARN is a required field
	ResourceARN *string `min:"20" type:"string" required:"true"`

	// An array of key:value pairs to associate with the resource.
	//
	// Tags is a required field
	Tags []*Tag `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (TagResourceInput) GoString

func (s TagResourceInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TagResourceInput) SetResourceARN

func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput

SetResourceARN sets the ResourceARN field's value.

func (*TagResourceInput) SetTags

func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput

SetTags sets the Tags field's value.

func (TagResourceInput) String

func (s TagResourceInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TagResourceInput) Validate

func (s *TagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TagResourceOutput

type TagResourceOutput struct {
	// contains filtered or unexported fields
}

func (TagResourceOutput) GoString

func (s TagResourceOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (TagResourceOutput) String

func (s TagResourceOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type TextTransformation

type TextTransformation struct {

	// Sets the relative processing order for multiple transformations. WAF processes
	// all transformations, from lowest priority to highest, before inspecting the
	// transformed content. The priorities don't need to be consecutive, but they
	// must all be different.
	//
	// Priority is a required field
	Priority *int64 `type:"integer" required:"true"`

	// For detailed descriptions of each of the transformation types, see Text transformations
	// (https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-transformation.html)
	// in the WAF Developer Guide.
	//
	// Type is a required field
	Type *string `type:"string" required:"true" enum:"TextTransformationType"`
	// contains filtered or unexported fields
}

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.

func (TextTransformation) GoString

func (s TextTransformation) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TextTransformation) SetPriority

func (s *TextTransformation) SetPriority(v int64) *TextTransformation

SetPriority sets the Priority field's value.

func (*TextTransformation) SetType

SetType sets the Type field's value.

func (TextTransformation) String

func (s TextTransformation) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TextTransformation) Validate

func (s *TextTransformation) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TimeWindow

type TimeWindow struct {

	// The end of the time range from which you want GetSampledRequests to return
	// a sample of the requests that your Amazon Web Services resource received.
	// You must specify the times in Coordinated Universal Time (UTC) format. UTC
	// format includes the special designator, Z. For example, "2016-09-27T14:50Z".
	// You can specify any time range in the previous three hours.
	//
	// EndTime is a required field
	EndTime *time.Time `type:"timestamp" required:"true"`

	// The beginning of the time range from which you want GetSampledRequests to
	// return a sample of the requests that your Amazon Web Services resource received.
	// You must specify the times in Coordinated Universal Time (UTC) format. UTC
	// format includes the special designator, Z. For example, "2016-09-27T14:50Z".
	// You can specify any time range in the previous three hours.
	//
	// StartTime is a required field
	StartTime *time.Time `type:"timestamp" required:"true"`
	// contains filtered or unexported fields
}

In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want WAF to return a sample of web requests.

You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". You can specify any time range in the previous three hours.

In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which WAF actually returned a sample of web requests. WAF gets the specified number of requests from among the first 5,000 requests that your Amazon Web Services resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, WAF stops sampling after the 5,000th request. In that case, EndTime is the time that WAF received the 5,000th request.

func (TimeWindow) GoString

func (s TimeWindow) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TimeWindow) SetEndTime

func (s *TimeWindow) SetEndTime(v time.Time) *TimeWindow

SetEndTime sets the EndTime field's value.

func (*TimeWindow) SetStartTime

func (s *TimeWindow) SetStartTime(v time.Time) *TimeWindow

SetStartTime sets the StartTime field's value.

func (TimeWindow) String

func (s TimeWindow) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*TimeWindow) Validate

func (s *TimeWindow) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UntagResourceInput

type UntagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource.
	//
	// ResourceARN is a required field
	ResourceARN *string `min:"20" type:"string" required:"true"`

	// An array of keys identifying the tags to disassociate from the resource.
	//
	// TagKeys is a required field
	TagKeys []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (UntagResourceInput) GoString

func (s UntagResourceInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UntagResourceInput) SetResourceARN

func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput

SetResourceARN sets the ResourceARN field's value.

func (*UntagResourceInput) SetTagKeys

func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput

SetTagKeys sets the TagKeys field's value.

func (UntagResourceInput) String

func (s UntagResourceInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UntagResourceInput) Validate

func (s *UntagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UntagResourceOutput

type UntagResourceOutput struct {
	// contains filtered or unexported fields
}

func (UntagResourceOutput) GoString

func (s UntagResourceOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (UntagResourceOutput) String

func (s UntagResourceOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UpdateIPSetInput

type UpdateIPSetInput struct {

	// Contains an array of strings that specifies zero or more IP addresses or
	// blocks of IP addresses that you want WAF to inspect for in incoming requests.
	// All addresses must be specified using Classless Inter-Domain Routing (CIDR)
	// notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
	//
	// Example address strings:
	//
	//    * For requests that originated from the IP address 192.0.2.44, specify
	//    192.0.2.44/32.
	//
	//    * For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255,
	//    specify 192.0.2.0/24.
	//
	//    * For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
	//    specify 1111:0000:0000:0000:0000:0000:0000:0111/128.
	//
	//    * For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000
	//    to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.
	//
	// For more information about CIDR notation, see the Wikipedia entry Classless
	// Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
	//
	// Example JSON Addresses specifications:
	//
	//    * Empty array: "Addresses": []
	//
	//    * Array with one address: "Addresses": ["192.0.2.44/32"]
	//
	//    * Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24",
	//    "192.0.0.0/16"]
	//
	//    * INVALID specification: "Addresses": [""] INVALID
	//
	// Addresses is a required field
	Addresses []*string `type:"list" required:"true"`

	// A description of the IP set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the IP set. You cannot change the name of an IPSet after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (UpdateIPSetInput) GoString

func (s UpdateIPSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateIPSetInput) SetAddresses

func (s *UpdateIPSetInput) SetAddresses(v []*string) *UpdateIPSetInput

SetAddresses sets the Addresses field's value.

func (*UpdateIPSetInput) SetDescription

func (s *UpdateIPSetInput) SetDescription(v string) *UpdateIPSetInput

SetDescription sets the Description field's value.

func (*UpdateIPSetInput) SetId

SetId sets the Id field's value.

func (*UpdateIPSetInput) SetLockToken

func (s *UpdateIPSetInput) SetLockToken(v string) *UpdateIPSetInput

SetLockToken sets the LockToken field's value.

func (*UpdateIPSetInput) SetName

func (s *UpdateIPSetInput) SetName(v string) *UpdateIPSetInput

SetName sets the Name field's value.

func (*UpdateIPSetInput) SetScope

func (s *UpdateIPSetInput) SetScope(v string) *UpdateIPSetInput

SetScope sets the Scope field's value.

func (UpdateIPSetInput) String

func (s UpdateIPSetInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateIPSetInput) Validate

func (s *UpdateIPSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateIPSetOutput

type UpdateIPSetOutput struct {

	// A token used for optimistic locking. WAF returns this token to your update
	// requests. You use NextLockToken in the same manner as you use LockToken.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateIPSetOutput) GoString

func (s UpdateIPSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateIPSetOutput) SetNextLockToken

func (s *UpdateIPSetOutput) SetNextLockToken(v string) *UpdateIPSetOutput

SetNextLockToken sets the NextLockToken field's value.

func (UpdateIPSetOutput) String

func (s UpdateIPSetOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UpdateManagedRuleSetVersionExpiryDateInput added in v1.40.18

type UpdateManagedRuleSetVersionExpiryDateInput struct {

	// The time that you want the version to expire.
	//
	// Times are in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z".
	//
	// ExpiryTimestamp is a required field
	ExpiryTimestamp *time.Time `type:"timestamp" required:"true"`

	// A unique identifier for the managed rule set. The ID is returned in the responses
	// to commands like list. You provide it to operations like get and update.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the managed rule set. You use this, along with the rule set ID,
	// to identify the rule set.
	//
	// This name is assigned to the corresponding managed rule group, which your
	// customers can access and use.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// The version that you want to remove from your list of offerings for the named
	// managed rule group.
	//
	// VersionToExpire is a required field
	VersionToExpire *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (UpdateManagedRuleSetVersionExpiryDateInput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetExpiryTimestamp added in v1.40.18

SetExpiryTimestamp sets the ExpiryTimestamp field's value.

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetId added in v1.40.18

SetId sets the Id field's value.

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetLockToken added in v1.40.18

SetLockToken sets the LockToken field's value.

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetName added in v1.40.18

SetName sets the Name field's value.

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetScope added in v1.40.18

SetScope sets the Scope field's value.

func (*UpdateManagedRuleSetVersionExpiryDateInput) SetVersionToExpire added in v1.40.18

SetVersionToExpire sets the VersionToExpire field's value.

func (UpdateManagedRuleSetVersionExpiryDateInput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateManagedRuleSetVersionExpiryDateInput) Validate added in v1.40.18

Validate inspects the fields of the type to determine if they are valid.

type UpdateManagedRuleSetVersionExpiryDateOutput added in v1.40.18

type UpdateManagedRuleSetVersionExpiryDateOutput struct {

	// The version that is set to expire.
	ExpiringVersion *string `min:"1" type:"string"`

	// The time that the version will expire.
	//
	// Times are in Coordinated Universal Time (UTC) format. UTC format includes
	// the special designator, Z. For example, "2016-09-27T14:50Z".
	ExpiryTimestamp *time.Time `type:"timestamp"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateManagedRuleSetVersionExpiryDateOutput) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateManagedRuleSetVersionExpiryDateOutput) SetExpiringVersion added in v1.40.18

SetExpiringVersion sets the ExpiringVersion field's value.

func (*UpdateManagedRuleSetVersionExpiryDateOutput) SetExpiryTimestamp added in v1.40.18

SetExpiryTimestamp sets the ExpiryTimestamp field's value.

func (*UpdateManagedRuleSetVersionExpiryDateOutput) SetNextLockToken added in v1.40.18

SetNextLockToken sets the NextLockToken field's value.

func (UpdateManagedRuleSetVersionExpiryDateOutput) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UpdateRegexPatternSetInput

type UpdateRegexPatternSetInput struct {

	// A description of the set that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the set. This ID is returned in the responses to
	// create and list commands. You provide it to operations like update and delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the set. You cannot change the name after you create the set.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// RegularExpressionList is a required field
	RegularExpressionList []*Regex `type:"list" required:"true"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`
	// contains filtered or unexported fields
}

func (UpdateRegexPatternSetInput) GoString

func (s UpdateRegexPatternSetInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRegexPatternSetInput) SetDescription

SetDescription sets the Description field's value.

func (*UpdateRegexPatternSetInput) SetId

SetId sets the Id field's value.

func (*UpdateRegexPatternSetInput) SetLockToken

SetLockToken sets the LockToken field's value.

func (*UpdateRegexPatternSetInput) SetName

SetName sets the Name field's value.

func (*UpdateRegexPatternSetInput) SetRegularExpressionList

func (s *UpdateRegexPatternSetInput) SetRegularExpressionList(v []*Regex) *UpdateRegexPatternSetInput

SetRegularExpressionList sets the RegularExpressionList field's value.

func (*UpdateRegexPatternSetInput) SetScope

SetScope sets the Scope field's value.

func (UpdateRegexPatternSetInput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRegexPatternSetInput) Validate

func (s *UpdateRegexPatternSetInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateRegexPatternSetOutput

type UpdateRegexPatternSetOutput struct {

	// A token used for optimistic locking. WAF returns this token to your update
	// requests. You use NextLockToken in the same manner as you use LockToken.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateRegexPatternSetOutput) GoString

func (s UpdateRegexPatternSetOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRegexPatternSetOutput) SetNextLockToken

SetNextLockToken sets the NextLockToken field's value.

func (UpdateRegexPatternSetOutput) String

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UpdateRuleGroupInput

type UpdateRuleGroupInput struct {

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the rule group, and then use them in the rules that you
	// define in the rule group.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// A description of the rule group that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the rule group. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the rule group. You cannot change the name of a rule group after
	// you create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (UpdateRuleGroupInput) GoString

func (s UpdateRuleGroupInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRuleGroupInput) SetCustomResponseBodies added in v1.38.8

func (s *UpdateRuleGroupInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *UpdateRuleGroupInput

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*UpdateRuleGroupInput) SetDescription

func (s *UpdateRuleGroupInput) SetDescription(v string) *UpdateRuleGroupInput

SetDescription sets the Description field's value.

func (*UpdateRuleGroupInput) SetId

SetId sets the Id field's value.

func (*UpdateRuleGroupInput) SetLockToken

func (s *UpdateRuleGroupInput) SetLockToken(v string) *UpdateRuleGroupInput

SetLockToken sets the LockToken field's value.

func (*UpdateRuleGroupInput) SetName

SetName sets the Name field's value.

func (*UpdateRuleGroupInput) SetRules

func (s *UpdateRuleGroupInput) SetRules(v []*Rule) *UpdateRuleGroupInput

SetRules sets the Rules field's value.

func (*UpdateRuleGroupInput) SetScope

SetScope sets the Scope field's value.

func (*UpdateRuleGroupInput) SetVisibilityConfig

func (s *UpdateRuleGroupInput) SetVisibilityConfig(v *VisibilityConfig) *UpdateRuleGroupInput

SetVisibilityConfig sets the VisibilityConfig field's value.

func (UpdateRuleGroupInput) String

func (s UpdateRuleGroupInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRuleGroupInput) Validate

func (s *UpdateRuleGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateRuleGroupOutput

type UpdateRuleGroupOutput struct {

	// A token used for optimistic locking. WAF returns this token to your update
	// requests. You use NextLockToken in the same manner as you use LockToken.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateRuleGroupOutput) GoString

func (s UpdateRuleGroupOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateRuleGroupOutput) SetNextLockToken

func (s *UpdateRuleGroupOutput) SetNextLockToken(v string) *UpdateRuleGroupOutput

SetNextLockToken sets the NextLockToken field's value.

func (UpdateRuleGroupOutput) String

func (s UpdateRuleGroupOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UpdateWebACLInput

type UpdateWebACLInput struct {

	// Specifies custom configurations for the associations between the web ACL
	// and protected resources.
	//
	// Use this to customize the maximum size of the request body that your protected
	// resources forward to WAF for inspection. You can customize this setting for
	// CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources.
	// The default setting is 16 KB (16,384 bytes).
	//
	// You are charged additional fees when your protected resources forward body
	// sizes that are larger than the default. For more information, see WAF Pricing
	// (http://aws.amazon.com/waf/pricing/).
	//
	// For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192
	// bytes).
	AssociationConfig *AssociationConfig `type:"structure"`

	// Specifies how WAF should handle CAPTCHA evaluations for rules that don't
	// have their own CaptchaConfig settings. If you don't specify this, WAF uses
	// its default settings for CaptchaConfig.
	CaptchaConfig *CaptchaConfig `type:"structure"`

	// Specifies how WAF should handle challenge evaluations for rules that don't
	// have their own ChallengeConfig settings. If you don't specify this, WAF uses
	// its default settings for ChallengeConfig.
	ChallengeConfig *ChallengeConfig `type:"structure"`

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the web ACL, and then use them in the rules and default
	// actions that you define in the web ACL.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// The action to perform if none of the Rules contained in the WebACL match.
	//
	// DefaultAction is a required field
	DefaultAction *DefaultAction `type:"structure" required:"true"`

	// A description of the web ACL that helps with identification.
	Description *string `min:"1" type:"string"`

	// The unique identifier for the web ACL. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	//
	// LockToken is a required field
	LockToken *string `min:"1" type:"string" required:"true"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Specifies whether this is for an Amazon CloudFront distribution or for a
	// regional application. A regional application can be an Application Load Balancer
	// (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon
	// Cognito user pool, an App Runner service, or an Amazon Web Services Verified
	// Access instance.
	//
	// To work with CloudFront, you must also specify the Region US East (N. Virginia)
	// as follows:
	//
	//    * CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT
	//    --region=us-east-1.
	//
	//    * API and SDKs - For all calls, use the Region endpoint us-east-1.
	//
	// Scope is a required field
	Scope *string `type:"string" required:"true" enum:"Scope"`

	// Specifies the domains that WAF should accept in a web request token. This
	// enables the use of tokens across multiple protected websites. When WAF provides
	// a token, it uses the domain of the Amazon Web Services resource that the
	// web ACL is protecting. If you don't specify a list of token domains, WAF
	// accepts tokens only for the domain of the protected resource. With a token
	// domain list, WAF accepts the resource's host domain plus all domains in the
	// token domain list, including their prefixed subdomains.
	//
	// Example JSON: "TokenDomains": { "mywebsite.com", "myotherwebsite.com" }
	//
	// Public suffixes aren't allowed. For example, you can't use gov.au or co.uk
	// as token domains.
	TokenDomains []*string `type:"list"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

func (UpdateWebACLInput) GoString

func (s UpdateWebACLInput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateWebACLInput) SetAssociationConfig added in v1.44.235

func (s *UpdateWebACLInput) SetAssociationConfig(v *AssociationConfig) *UpdateWebACLInput

SetAssociationConfig sets the AssociationConfig field's value.

func (*UpdateWebACLInput) SetCaptchaConfig added in v1.42.0

func (s *UpdateWebACLInput) SetCaptchaConfig(v *CaptchaConfig) *UpdateWebACLInput

SetCaptchaConfig sets the CaptchaConfig field's value.

func (*UpdateWebACLInput) SetChallengeConfig added in v1.44.125

func (s *UpdateWebACLInput) SetChallengeConfig(v *ChallengeConfig) *UpdateWebACLInput

SetChallengeConfig sets the ChallengeConfig field's value.

func (*UpdateWebACLInput) SetCustomResponseBodies added in v1.38.8

func (s *UpdateWebACLInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *UpdateWebACLInput

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*UpdateWebACLInput) SetDefaultAction

func (s *UpdateWebACLInput) SetDefaultAction(v *DefaultAction) *UpdateWebACLInput

SetDefaultAction sets the DefaultAction field's value.

func (*UpdateWebACLInput) SetDescription

func (s *UpdateWebACLInput) SetDescription(v string) *UpdateWebACLInput

SetDescription sets the Description field's value.

func (*UpdateWebACLInput) SetId

SetId sets the Id field's value.

func (*UpdateWebACLInput) SetLockToken

func (s *UpdateWebACLInput) SetLockToken(v string) *UpdateWebACLInput

SetLockToken sets the LockToken field's value.

func (*UpdateWebACLInput) SetName

SetName sets the Name field's value.

func (*UpdateWebACLInput) SetRules

func (s *UpdateWebACLInput) SetRules(v []*Rule) *UpdateWebACLInput

SetRules sets the Rules field's value.

func (*UpdateWebACLInput) SetScope

func (s *UpdateWebACLInput) SetScope(v string) *UpdateWebACLInput

SetScope sets the Scope field's value.

func (*UpdateWebACLInput) SetTokenDomains added in v1.44.125

func (s *UpdateWebACLInput) SetTokenDomains(v []*string) *UpdateWebACLInput

SetTokenDomains sets the TokenDomains field's value.

func (*UpdateWebACLInput) SetVisibilityConfig

func (s *UpdateWebACLInput) SetVisibilityConfig(v *VisibilityConfig) *UpdateWebACLInput

SetVisibilityConfig sets the VisibilityConfig field's value.

func (UpdateWebACLInput) String

func (s UpdateWebACLInput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateWebACLInput) Validate

func (s *UpdateWebACLInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateWebACLOutput

type UpdateWebACLOutput struct {

	// A token used for optimistic locking. WAF returns this token to your update
	// requests. You use NextLockToken in the same manner as you use LockToken.
	NextLockToken *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateWebACLOutput) GoString

func (s UpdateWebACLOutput) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UpdateWebACLOutput) SetNextLockToken

func (s *UpdateWebACLOutput) SetNextLockToken(v string) *UpdateWebACLOutput

SetNextLockToken sets the NextLockToken field's value.

func (UpdateWebACLOutput) String

func (s UpdateWebACLOutput) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UriPath

type UriPath struct {
	// contains filtered or unexported fields
}

Inspect the path component of the URI of the web request. This is the part of the web request that identifies a resource. For example, /images/daily-ad.jpg.

This is used in the FieldToMatch specification for some web request component types.

JSON specification: "UriPath": {}

func (UriPath) GoString

func (s UriPath) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (UriPath) String

func (s UriPath) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type UsernameField added in v1.42.51

type UsernameField struct {

	// The name of the username field.
	//
	// How you specify this depends on the request inspection payload type.
	//
	//    * For JSON payloads, specify the field name in JSON pointer syntax. For
	//    information about the JSON Pointer syntax, see the Internet Engineering
	//    Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer
	//    (https://tools.ietf.org/html/rfc6901). For example, for the JSON payload
	//    { "form": { "username": "THE_USERNAME" } }, the username field specification
	//    is /form/username.
	//
	//    * For form encoded payload types, use the HTML form names. For example,
	//    for an HTML form with the input element named username1, the username
	//    field specification is username1
	//
	// Identifier is a required field
	Identifier *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The name of the field in the request payload that contains your customer's username.

This data type is used in the RequestInspection and RequestInspectionACFP data types.

func (UsernameField) GoString added in v1.42.51

func (s UsernameField) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UsernameField) SetIdentifier added in v1.42.51

func (s *UsernameField) SetIdentifier(v string) *UsernameField

SetIdentifier sets the Identifier field's value.

func (UsernameField) String added in v1.42.51

func (s UsernameField) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*UsernameField) Validate added in v1.42.51

func (s *UsernameField) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type VersionToPublish added in v1.40.18

type VersionToPublish struct {

	// The Amazon Resource Name (ARN) of the vendor's rule group that's used in
	// the published managed rule group version.
	AssociatedRuleGroupArn *string `min:"20" type:"string"`

	// The amount of time the vendor expects this version of the managed rule group
	// to last, in days.
	ForecastedLifetime *int64 `min:"1" type:"integer"`
	// contains filtered or unexported fields
}

A version of the named managed rule group, that the rule group's vendor publishes for use by customers.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

func (VersionToPublish) GoString added in v1.40.18

func (s VersionToPublish) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*VersionToPublish) SetAssociatedRuleGroupArn added in v1.40.18

func (s *VersionToPublish) SetAssociatedRuleGroupArn(v string) *VersionToPublish

SetAssociatedRuleGroupArn sets the AssociatedRuleGroupArn field's value.

func (*VersionToPublish) SetForecastedLifetime added in v1.40.18

func (s *VersionToPublish) SetForecastedLifetime(v int64) *VersionToPublish

SetForecastedLifetime sets the ForecastedLifetime field's value.

func (VersionToPublish) String added in v1.40.18

func (s VersionToPublish) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*VersionToPublish) Validate added in v1.40.18

func (s *VersionToPublish) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type VisibilityConfig

type VisibilityConfig struct {

	// Indicates whether the associated resource sends metrics to Amazon CloudWatch.
	// For the list of available metrics, see WAF Metrics (https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#waf-metrics)
	// in the WAF Developer Guide.
	//
	// For web ACLs, the metrics are for web requests that have the web ACL default
	// action applied. WAF applies the default action to web requests that pass
	// the inspection of all rules in the web ACL without being either allowed or
	// blocked. For more information, see The web ACL default action (https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-default-action.html)
	// in the WAF Developer Guide.
	//
	// CloudWatchMetricsEnabled is a required field
	CloudWatchMetricsEnabled *bool `type:"boolean" required:"true"`

	// A name of the Amazon CloudWatch metric dimension. The name can contain only
	// the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can
	// be from one to 128 characters long. It can't contain whitespace or metric
	// names that are reserved for WAF, for example All and Default_Action.
	//
	// MetricName is a required field
	MetricName *string `min:"1" type:"string" required:"true"`

	// Indicates whether WAF should store a sampling of the web requests that match
	// the rules. You can view the sampled requests through the WAF console.
	//
	// Request sampling doesn't provide a field redaction option, and any field
	// redaction that you specify in your logging configuration doesn't affect sampling.
	// The only way to exclude fields from request sampling is by disabling sampling
	// in the web ACL visibility configuration.
	//
	// SampledRequestsEnabled is a required field
	SampledRequestsEnabled *bool `type:"boolean" required:"true"`
	// contains filtered or unexported fields
}

Defines and enables Amazon CloudWatch metrics and web request sample collection.

func (VisibilityConfig) GoString

func (s VisibilityConfig) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*VisibilityConfig) SetCloudWatchMetricsEnabled

func (s *VisibilityConfig) SetCloudWatchMetricsEnabled(v bool) *VisibilityConfig

SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.

func (*VisibilityConfig) SetMetricName

func (s *VisibilityConfig) SetMetricName(v string) *VisibilityConfig

SetMetricName sets the MetricName field's value.

func (*VisibilityConfig) SetSampledRequestsEnabled

func (s *VisibilityConfig) SetSampledRequestsEnabled(v bool) *VisibilityConfig

SetSampledRequestsEnabled sets the SampledRequestsEnabled field's value.

func (VisibilityConfig) String

func (s VisibilityConfig) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*VisibilityConfig) Validate

func (s *VisibilityConfig) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type WAFAssociatedItemException added in v1.28.0

type WAFAssociatedItemException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

func (*WAFAssociatedItemException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFAssociatedItemException) Error added in v1.28.0

func (WAFAssociatedItemException) GoString added in v1.28.0

func (s WAFAssociatedItemException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFAssociatedItemException) Message added in v1.28.0

func (s *WAFAssociatedItemException) Message() string

Message returns the exception's message.

func (*WAFAssociatedItemException) OrigErr added in v1.28.0

func (s *WAFAssociatedItemException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFAssociatedItemException) RequestID added in v1.28.0

func (s *WAFAssociatedItemException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFAssociatedItemException) StatusCode added in v1.28.0

func (s *WAFAssociatedItemException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFAssociatedItemException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFConfigurationWarningException added in v1.44.4

type WAFConfigurationWarningException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an OversizeHandling configuration or they must be preceded by a SizeConstraintStatement that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling configuration.

Provide the handling configuration and retry your operation.

Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut, value:true).

func (*WAFConfigurationWarningException) Code added in v1.44.4

Code returns the exception type name.

func (*WAFConfigurationWarningException) Error added in v1.44.4

func (WAFConfigurationWarningException) GoString added in v1.44.4

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFConfigurationWarningException) Message added in v1.44.4

Message returns the exception's message.

func (*WAFConfigurationWarningException) OrigErr added in v1.44.4

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFConfigurationWarningException) RequestID added in v1.44.4

RequestID returns the service's response RequestID for request.

func (*WAFConfigurationWarningException) StatusCode added in v1.44.4

func (s *WAFConfigurationWarningException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFConfigurationWarningException) String added in v1.44.4

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFDuplicateItemException added in v1.28.0

type WAFDuplicateItemException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

func (*WAFDuplicateItemException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFDuplicateItemException) Error added in v1.28.0

func (s *WAFDuplicateItemException) Error() string

func (WAFDuplicateItemException) GoString added in v1.28.0

func (s WAFDuplicateItemException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFDuplicateItemException) Message added in v1.28.0

func (s *WAFDuplicateItemException) Message() string

Message returns the exception's message.

func (*WAFDuplicateItemException) OrigErr added in v1.28.0

func (s *WAFDuplicateItemException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFDuplicateItemException) RequestID added in v1.28.0

func (s *WAFDuplicateItemException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFDuplicateItemException) StatusCode added in v1.28.0

func (s *WAFDuplicateItemException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFDuplicateItemException) String added in v1.28.0

func (s WAFDuplicateItemException) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFExpiredManagedRuleGroupVersionException added in v1.40.18

type WAFExpiredManagedRuleGroupVersionException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

func (*WAFExpiredManagedRuleGroupVersionException) Code added in v1.40.18

Code returns the exception type name.

func (*WAFExpiredManagedRuleGroupVersionException) Error added in v1.40.18

func (WAFExpiredManagedRuleGroupVersionException) GoString added in v1.40.18

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFExpiredManagedRuleGroupVersionException) Message added in v1.40.18

Message returns the exception's message.

func (*WAFExpiredManagedRuleGroupVersionException) OrigErr added in v1.40.18

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFExpiredManagedRuleGroupVersionException) RequestID added in v1.40.18

RequestID returns the service's response RequestID for request.

func (*WAFExpiredManagedRuleGroupVersionException) StatusCode added in v1.40.18

Status code returns the HTTP status code for the request's response error.

func (WAFExpiredManagedRuleGroupVersionException) String added in v1.40.18

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFInternalErrorException added in v1.28.0

type WAFInternalErrorException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

func (*WAFInternalErrorException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFInternalErrorException) Error added in v1.28.0

func (s *WAFInternalErrorException) Error() string

func (WAFInternalErrorException) GoString added in v1.28.0

func (s WAFInternalErrorException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFInternalErrorException) Message added in v1.28.0

func (s *WAFInternalErrorException) Message() string

Message returns the exception's message.

func (*WAFInternalErrorException) OrigErr added in v1.28.0

func (s *WAFInternalErrorException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFInternalErrorException) RequestID added in v1.28.0

func (s *WAFInternalErrorException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFInternalErrorException) StatusCode added in v1.28.0

func (s *WAFInternalErrorException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFInternalErrorException) String added in v1.28.0

func (s WAFInternalErrorException) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFInvalidOperationException added in v1.30.1

type WAFInvalidOperationException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The operation isn't valid.

func (*WAFInvalidOperationException) Code added in v1.30.1

Code returns the exception type name.

func (*WAFInvalidOperationException) Error added in v1.30.1

func (WAFInvalidOperationException) GoString added in v1.30.1

func (s WAFInvalidOperationException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFInvalidOperationException) Message added in v1.30.1

func (s *WAFInvalidOperationException) Message() string

Message returns the exception's message.

func (*WAFInvalidOperationException) OrigErr added in v1.30.1

func (s *WAFInvalidOperationException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFInvalidOperationException) RequestID added in v1.30.1

func (s *WAFInvalidOperationException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFInvalidOperationException) StatusCode added in v1.30.1

func (s *WAFInvalidOperationException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFInvalidOperationException) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFInvalidParameterException added in v1.28.0

type WAFInvalidParameterException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The settings where the invalid parameter was found.
	Field *string `type:"string" enum:"ParameterExceptionField"`

	Message_ *string `locationName:"message" type:"string"`

	// The invalid parameter that resulted in the exception.
	Parameter *string `min:"1" type:"string"`

	// Additional information about the exception.
	Reason *string `type:"string"`
	// contains filtered or unexported fields
}

The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

func (*WAFInvalidParameterException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFInvalidParameterException) Error added in v1.28.0

func (WAFInvalidParameterException) GoString added in v1.28.0

func (s WAFInvalidParameterException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFInvalidParameterException) Message added in v1.28.0

func (s *WAFInvalidParameterException) Message() string

Message returns the exception's message.

func (*WAFInvalidParameterException) OrigErr added in v1.28.0

func (s *WAFInvalidParameterException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFInvalidParameterException) RequestID added in v1.28.0

func (s *WAFInvalidParameterException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFInvalidParameterException) StatusCode added in v1.28.0

func (s *WAFInvalidParameterException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFInvalidParameterException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFInvalidPermissionPolicyException added in v1.30.1

type WAFInvalidPermissionPolicyException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The operation failed because the specified policy isn't in the proper format.

The policy specifications must conform to the following:

  • The policy must be composed using IAM Policy version 2012-10-17.

  • The policy must include specifications for Effect, Action, and Principal.

  • Effect must specify Allow.

  • Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups and may optionally specify wafv2:GetRuleGroup. WAF rejects any extra actions or wildcard actions in the policy.

  • The policy must not include a Resource parameter.

For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

func (*WAFInvalidPermissionPolicyException) Code added in v1.30.1

Code returns the exception type name.

func (*WAFInvalidPermissionPolicyException) Error added in v1.30.1

func (WAFInvalidPermissionPolicyException) GoString added in v1.30.1

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFInvalidPermissionPolicyException) Message added in v1.30.1

Message returns the exception's message.

func (*WAFInvalidPermissionPolicyException) OrigErr added in v1.30.1

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFInvalidPermissionPolicyException) RequestID added in v1.30.1

RequestID returns the service's response RequestID for request.

func (*WAFInvalidPermissionPolicyException) StatusCode added in v1.30.1

func (s *WAFInvalidPermissionPolicyException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFInvalidPermissionPolicyException) String added in v1.30.1

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFInvalidResourceException added in v1.28.0

type WAFInvalidResourceException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

func (*WAFInvalidResourceException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFInvalidResourceException) Error added in v1.28.0

func (WAFInvalidResourceException) GoString added in v1.28.0

func (s WAFInvalidResourceException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFInvalidResourceException) Message added in v1.28.0

func (s *WAFInvalidResourceException) Message() string

Message returns the exception's message.

func (*WAFInvalidResourceException) OrigErr added in v1.28.0

func (s *WAFInvalidResourceException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFInvalidResourceException) RequestID added in v1.28.0

func (s *WAFInvalidResourceException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFInvalidResourceException) StatusCode added in v1.28.0

func (s *WAFInvalidResourceException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFInvalidResourceException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFLimitsExceededException added in v1.28.0

type WAFLimitsExceededException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`

	// Source type for the exception.
	SourceType *string `type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

func (*WAFLimitsExceededException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFLimitsExceededException) Error added in v1.28.0

func (WAFLimitsExceededException) GoString added in v1.28.0

func (s WAFLimitsExceededException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFLimitsExceededException) Message added in v1.28.0

func (s *WAFLimitsExceededException) Message() string

Message returns the exception's message.

func (*WAFLimitsExceededException) OrigErr added in v1.28.0

func (s *WAFLimitsExceededException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFLimitsExceededException) RequestID added in v1.28.0

func (s *WAFLimitsExceededException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFLimitsExceededException) StatusCode added in v1.28.0

func (s *WAFLimitsExceededException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFLimitsExceededException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFLogDestinationPermissionIssueException added in v1.42.5

type WAFLogDestinationPermissionIssueException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The operation failed because you don't have the permissions that your logging configuration requires. For information, see Logging web ACL traffic information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

func (*WAFLogDestinationPermissionIssueException) Code added in v1.42.5

Code returns the exception type name.

func (*WAFLogDestinationPermissionIssueException) Error added in v1.42.5

func (WAFLogDestinationPermissionIssueException) GoString added in v1.42.5

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFLogDestinationPermissionIssueException) Message added in v1.42.5

Message returns the exception's message.

func (*WAFLogDestinationPermissionIssueException) OrigErr added in v1.42.5

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFLogDestinationPermissionIssueException) RequestID added in v1.42.5

RequestID returns the service's response RequestID for request.

func (*WAFLogDestinationPermissionIssueException) StatusCode added in v1.42.5

Status code returns the HTTP status code for the request's response error.

func (WAFLogDestinationPermissionIssueException) String added in v1.42.5

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFNonexistentItemException added in v1.28.0

type WAFNonexistentItemException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

func (*WAFNonexistentItemException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFNonexistentItemException) Error added in v1.28.0

func (WAFNonexistentItemException) GoString added in v1.28.0

func (s WAFNonexistentItemException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFNonexistentItemException) Message added in v1.28.0

func (s *WAFNonexistentItemException) Message() string

Message returns the exception's message.

func (*WAFNonexistentItemException) OrigErr added in v1.28.0

func (s *WAFNonexistentItemException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFNonexistentItemException) RequestID added in v1.28.0

func (s *WAFNonexistentItemException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFNonexistentItemException) StatusCode added in v1.28.0

func (s *WAFNonexistentItemException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFNonexistentItemException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFOptimisticLockException added in v1.28.0

type WAFOptimisticLockException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

func (*WAFOptimisticLockException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFOptimisticLockException) Error added in v1.28.0

func (WAFOptimisticLockException) GoString added in v1.28.0

func (s WAFOptimisticLockException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFOptimisticLockException) Message added in v1.28.0

func (s *WAFOptimisticLockException) Message() string

Message returns the exception's message.

func (*WAFOptimisticLockException) OrigErr added in v1.28.0

func (s *WAFOptimisticLockException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFOptimisticLockException) RequestID added in v1.28.0

func (s *WAFOptimisticLockException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFOptimisticLockException) StatusCode added in v1.28.0

func (s *WAFOptimisticLockException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFOptimisticLockException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFServiceLinkedRoleErrorException added in v1.28.0

type WAFServiceLinkedRoleErrorException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" type:"string"`
	// contains filtered or unexported fields
}

WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a call to DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

func (*WAFServiceLinkedRoleErrorException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFServiceLinkedRoleErrorException) Error added in v1.28.0

func (WAFServiceLinkedRoleErrorException) GoString added in v1.28.0

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFServiceLinkedRoleErrorException) Message added in v1.28.0

Message returns the exception's message.

func (*WAFServiceLinkedRoleErrorException) OrigErr added in v1.28.0

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFServiceLinkedRoleErrorException) RequestID added in v1.28.0

RequestID returns the service's response RequestID for request.

func (*WAFServiceLinkedRoleErrorException) StatusCode added in v1.28.0

func (s *WAFServiceLinkedRoleErrorException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFServiceLinkedRoleErrorException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFSubscriptionNotFoundException added in v1.29.8

type WAFSubscriptionNotFoundException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

func (*WAFSubscriptionNotFoundException) Code added in v1.29.8

Code returns the exception type name.

func (*WAFSubscriptionNotFoundException) Error added in v1.29.8

func (WAFSubscriptionNotFoundException) GoString added in v1.29.8

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFSubscriptionNotFoundException) Message added in v1.29.8

Message returns the exception's message.

func (*WAFSubscriptionNotFoundException) OrigErr added in v1.29.8

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFSubscriptionNotFoundException) RequestID added in v1.29.8

RequestID returns the service's response RequestID for request.

func (*WAFSubscriptionNotFoundException) StatusCode added in v1.29.8

func (s *WAFSubscriptionNotFoundException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFSubscriptionNotFoundException) String added in v1.29.8

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFTagOperationException added in v1.28.0

type WAFTagOperationException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

An error occurred during the tagging operation. Retry your request.

func (*WAFTagOperationException) Code added in v1.28.0

func (s *WAFTagOperationException) Code() string

Code returns the exception type name.

func (*WAFTagOperationException) Error added in v1.28.0

func (s *WAFTagOperationException) Error() string

func (WAFTagOperationException) GoString added in v1.28.0

func (s WAFTagOperationException) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFTagOperationException) Message added in v1.28.0

func (s *WAFTagOperationException) Message() string

Message returns the exception's message.

func (*WAFTagOperationException) OrigErr added in v1.28.0

func (s *WAFTagOperationException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFTagOperationException) RequestID added in v1.28.0

func (s *WAFTagOperationException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFTagOperationException) StatusCode added in v1.28.0

func (s *WAFTagOperationException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFTagOperationException) String added in v1.28.0

func (s WAFTagOperationException) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFTagOperationInternalErrorException added in v1.28.0

type WAFTagOperationInternalErrorException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

func (*WAFTagOperationInternalErrorException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFTagOperationInternalErrorException) Error added in v1.28.0

func (WAFTagOperationInternalErrorException) GoString added in v1.28.0

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFTagOperationInternalErrorException) Message added in v1.28.0

Message returns the exception's message.

func (*WAFTagOperationInternalErrorException) OrigErr added in v1.28.0

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFTagOperationInternalErrorException) RequestID added in v1.28.0

RequestID returns the service's response RequestID for request.

func (*WAFTagOperationInternalErrorException) StatusCode added in v1.28.0

Status code returns the HTTP status code for the request's response error.

func (WAFTagOperationInternalErrorException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFUnavailableEntityException added in v1.28.0

type WAFUnavailableEntityException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

func (*WAFUnavailableEntityException) Code added in v1.28.0

Code returns the exception type name.

func (*WAFUnavailableEntityException) Error added in v1.28.0

func (WAFUnavailableEntityException) GoString added in v1.28.0

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFUnavailableEntityException) Message added in v1.28.0

Message returns the exception's message.

func (*WAFUnavailableEntityException) OrigErr added in v1.28.0

func (s *WAFUnavailableEntityException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFUnavailableEntityException) RequestID added in v1.28.0

func (s *WAFUnavailableEntityException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*WAFUnavailableEntityException) StatusCode added in v1.28.0

func (s *WAFUnavailableEntityException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (WAFUnavailableEntityException) String added in v1.28.0

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFUnsupportedAggregateKeyTypeException added in v1.44.264

type WAFUnsupportedAggregateKeyTypeException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The rule that you've named doesn't aggregate solely on the IP address or solely on the forwarded IP address. This call is only available for rate-based rules with an AggregateKeyType setting of IP or FORWARDED_IP.

func (*WAFUnsupportedAggregateKeyTypeException) Code added in v1.44.264

Code returns the exception type name.

func (*WAFUnsupportedAggregateKeyTypeException) Error added in v1.44.264

func (WAFUnsupportedAggregateKeyTypeException) GoString added in v1.44.264

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WAFUnsupportedAggregateKeyTypeException) Message added in v1.44.264

Message returns the exception's message.

func (*WAFUnsupportedAggregateKeyTypeException) OrigErr added in v1.44.264

OrigErr always returns nil, satisfies awserr.Error interface.

func (*WAFUnsupportedAggregateKeyTypeException) RequestID added in v1.44.264

RequestID returns the service's response RequestID for request.

func (*WAFUnsupportedAggregateKeyTypeException) StatusCode added in v1.44.264

Status code returns the HTTP status code for the request's response error.

func (WAFUnsupportedAggregateKeyTypeException) String added in v1.44.264

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WAFV2

type WAFV2 struct {
	*client.Client
}

WAFV2 provides the API operation methods for making requests to AWS WAFV2. See this package's package overview docs for details on the service.

WAFV2 methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(p client.ConfigProvider, cfgs ...*aws.Config) *WAFV2

New creates a new instance of the WAFV2 client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

mySession := session.Must(session.NewSession())

// Create a WAFV2 client from just a session.
svc := wafv2.New(mySession)

// Create a WAFV2 client with additional configuration
svc := wafv2.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*WAFV2) AssociateWebACL

func (c *WAFV2) AssociateWebACL(input *AssociateWebACLInput) (*AssociateWebACLOutput, error)

AssociateWebACL API operation for AWS WAFV2.

Associates a web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the web ACL. For information, see UpdateDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in the Amazon CloudFront Developer Guide.

Required permissions for customer-managed IAM policies

This call requires permissions that are specific to the protected resource type. For details, see Permissions for AssociateWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-AssociateWebACL) in the WAF Developer Guide.

Temporary inconsistencies during updates

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

The following are examples of the temporary inconsistencies that you might notice during change propagation:

  • After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.

  • After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.

  • After you change a rule action setting, you might see the old action in some places and the new action in others.

  • After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation AssociateWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AssociateWebACL

func (*WAFV2) AssociateWebACLRequest

func (c *WAFV2) AssociateWebACLRequest(input *AssociateWebACLInput) (req *request.Request, output *AssociateWebACLOutput)

AssociateWebACLRequest generates a "aws/request.Request" representing the client's request for the AssociateWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See AssociateWebACL for more information on using the AssociateWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the AssociateWebACLRequest method.
req, resp := client.AssociateWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AssociateWebACL

func (*WAFV2) AssociateWebACLWithContext

func (c *WAFV2) AssociateWebACLWithContext(ctx aws.Context, input *AssociateWebACLInput, opts ...request.Option) (*AssociateWebACLOutput, error)

AssociateWebACLWithContext is the same as AssociateWebACL with the addition of the ability to pass a context and additional request options.

See AssociateWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CheckCapacity

func (c *WAFV2) CheckCapacity(input *CheckCapacityInput) (*CheckCapacityOutput, error)

CheckCapacity API operation for AWS WAFV2.

Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules. You can use this to check the capacity requirements for the rules you want to use in a RuleGroup or WebACL.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. For more information, see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CheckCapacity for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFSubscriptionNotFoundException You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

  • WAFExpiredManagedRuleGroupVersionException The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CheckCapacity

func (*WAFV2) CheckCapacityRequest

func (c *WAFV2) CheckCapacityRequest(input *CheckCapacityInput) (req *request.Request, output *CheckCapacityOutput)

CheckCapacityRequest generates a "aws/request.Request" representing the client's request for the CheckCapacity operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CheckCapacity for more information on using the CheckCapacity API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CheckCapacityRequest method.
req, resp := client.CheckCapacityRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CheckCapacity

func (*WAFV2) CheckCapacityWithContext

func (c *WAFV2) CheckCapacityWithContext(ctx aws.Context, input *CheckCapacityInput, opts ...request.Option) (*CheckCapacityOutput, error)

CheckCapacityWithContext is the same as CheckCapacity with the addition of the ability to pass a context and additional request options.

See CheckCapacity for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CreateAPIKey added in v1.44.247

func (c *WAFV2) CreateAPIKey(input *CreateAPIKeyInput) (*CreateAPIKeyOutput, error)

CreateAPIKey API operation for AWS WAFV2.

Creates an API key that contains a set of token domains.

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

You can use a single key for up to 5 domains. After you generate a key, you can copy it for use in your JavaScript integration.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CreateAPIKey for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateAPIKey

func (*WAFV2) CreateAPIKeyRequest added in v1.44.247

func (c *WAFV2) CreateAPIKeyRequest(input *CreateAPIKeyInput) (req *request.Request, output *CreateAPIKeyOutput)

CreateAPIKeyRequest generates a "aws/request.Request" representing the client's request for the CreateAPIKey operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateAPIKey for more information on using the CreateAPIKey API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateAPIKeyRequest method.
req, resp := client.CreateAPIKeyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateAPIKey

func (*WAFV2) CreateAPIKeyWithContext added in v1.44.247

func (c *WAFV2) CreateAPIKeyWithContext(ctx aws.Context, input *CreateAPIKeyInput, opts ...request.Option) (*CreateAPIKeyOutput, error)

CreateAPIKeyWithContext is the same as CreateAPIKey with the addition of the ability to pass a context and additional request options.

See CreateAPIKey for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CreateIPSet

func (c *WAFV2) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error)

CreateIPSet API operation for AWS WAFV2.

Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure WAF to block them using an IPSet that lists those IP addresses.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CreateIPSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateIPSet

func (*WAFV2) CreateIPSetRequest

func (c *WAFV2) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput)

CreateIPSetRequest generates a "aws/request.Request" representing the client's request for the CreateIPSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateIPSet for more information on using the CreateIPSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateIPSetRequest method.
req, resp := client.CreateIPSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateIPSet

func (*WAFV2) CreateIPSetWithContext

func (c *WAFV2) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error)

CreateIPSetWithContext is the same as CreateIPSet with the addition of the ability to pass a context and additional request options.

See CreateIPSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CreateRegexPatternSet

func (c *WAFV2) CreateRegexPatternSet(input *CreateRegexPatternSetInput) (*CreateRegexPatternSetOutput, error)

CreateRegexPatternSet API operation for AWS WAFV2.

Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF inspect a web request component for the specified patterns.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CreateRegexPatternSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRegexPatternSet

func (*WAFV2) CreateRegexPatternSetRequest

func (c *WAFV2) CreateRegexPatternSetRequest(input *CreateRegexPatternSetInput) (req *request.Request, output *CreateRegexPatternSetOutput)

CreateRegexPatternSetRequest generates a "aws/request.Request" representing the client's request for the CreateRegexPatternSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateRegexPatternSet for more information on using the CreateRegexPatternSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateRegexPatternSetRequest method.
req, resp := client.CreateRegexPatternSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRegexPatternSet

func (*WAFV2) CreateRegexPatternSetWithContext

func (c *WAFV2) CreateRegexPatternSetWithContext(ctx aws.Context, input *CreateRegexPatternSetInput, opts ...request.Option) (*CreateRegexPatternSetOutput, error)

CreateRegexPatternSetWithContext is the same as CreateRegexPatternSet with the addition of the ability to pass a context and additional request options.

See CreateRegexPatternSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CreateRuleGroup

func (c *WAFV2) CreateRuleGroup(input *CreateRuleGroupInput) (*CreateRuleGroupOutput, error)

CreateRuleGroup API operation for AWS WAFV2.

Creates a RuleGroup per the specifications provided.

A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CreateRuleGroup for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFSubscriptionNotFoundException You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRuleGroup

func (*WAFV2) CreateRuleGroupRequest

func (c *WAFV2) CreateRuleGroupRequest(input *CreateRuleGroupInput) (req *request.Request, output *CreateRuleGroupOutput)

CreateRuleGroupRequest generates a "aws/request.Request" representing the client's request for the CreateRuleGroup operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateRuleGroup for more information on using the CreateRuleGroup API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateRuleGroupRequest method.
req, resp := client.CreateRuleGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRuleGroup

func (*WAFV2) CreateRuleGroupWithContext

func (c *WAFV2) CreateRuleGroupWithContext(ctx aws.Context, input *CreateRuleGroupInput, opts ...request.Option) (*CreateRuleGroupOutput, error)

CreateRuleGroupWithContext is the same as CreateRuleGroup with the addition of the ability to pass a context and additional request options.

See CreateRuleGroup for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) CreateWebACL

func (c *WAFV2) CreateWebACL(input *CreateWebACLInput) (*CreateWebACLOutput, error)

CreateWebACL API operation for AWS WAFV2.

Creates a WebACL per the specifications provided.

A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation CreateWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFSubscriptionNotFoundException You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFConfigurationWarningException The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an OversizeHandling configuration or they must be preceded by a SizeConstraintStatement that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling configuration.

    Provide the handling configuration and retry your operation.

    Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut, value:true).

  • WAFExpiredManagedRuleGroupVersionException The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateWebACL

func (*WAFV2) CreateWebACLRequest

func (c *WAFV2) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Request, output *CreateWebACLOutput)

CreateWebACLRequest generates a "aws/request.Request" representing the client's request for the CreateWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateWebACL for more information on using the CreateWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateWebACLRequest method.
req, resp := client.CreateWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateWebACL

func (*WAFV2) CreateWebACLWithContext

func (c *WAFV2) CreateWebACLWithContext(ctx aws.Context, input *CreateWebACLInput, opts ...request.Option) (*CreateWebACLOutput, error)

CreateWebACLWithContext is the same as CreateWebACL with the addition of the ability to pass a context and additional request options.

See CreateWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteAPIKey added in v1.50.12

func (c *WAFV2) DeleteAPIKey(input *DeleteAPIKeyInput) (*DeleteAPIKeyOutput, error)

DeleteAPIKey API operation for AWS WAFV2.

Deletes the specified API key.

After you delete a key, it can take up to 24 hours for WAF to disallow use of the key in all regions.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteAPIKey for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteAPIKey

func (*WAFV2) DeleteAPIKeyRequest added in v1.50.12

func (c *WAFV2) DeleteAPIKeyRequest(input *DeleteAPIKeyInput) (req *request.Request, output *DeleteAPIKeyOutput)

DeleteAPIKeyRequest generates a "aws/request.Request" representing the client's request for the DeleteAPIKey operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteAPIKey for more information on using the DeleteAPIKey API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteAPIKeyRequest method.
req, resp := client.DeleteAPIKeyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteAPIKey

func (*WAFV2) DeleteAPIKeyWithContext added in v1.50.12

func (c *WAFV2) DeleteAPIKeyWithContext(ctx aws.Context, input *DeleteAPIKeyInput, opts ...request.Option) (*DeleteAPIKeyOutput, error)

DeleteAPIKeyWithContext is the same as DeleteAPIKey with the addition of the ability to pass a context and additional request options.

See DeleteAPIKey for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteFirewallManagerRuleGroups added in v1.30.1

func (c *WAFV2) DeleteFirewallManagerRuleGroups(input *DeleteFirewallManagerRuleGroupsInput) (*DeleteFirewallManagerRuleGroupsOutput, error)

DeleteFirewallManagerRuleGroups API operation for AWS WAFV2.

Deletes all rule groups that are managed by Firewall Manager for the specified web ACL.

You can only use this if ManagedByFirewallManager is false in the specified WebACL.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteFirewallManagerRuleGroups for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups

func (*WAFV2) DeleteFirewallManagerRuleGroupsRequest added in v1.30.1

func (c *WAFV2) DeleteFirewallManagerRuleGroupsRequest(input *DeleteFirewallManagerRuleGroupsInput) (req *request.Request, output *DeleteFirewallManagerRuleGroupsOutput)

DeleteFirewallManagerRuleGroupsRequest generates a "aws/request.Request" representing the client's request for the DeleteFirewallManagerRuleGroups operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteFirewallManagerRuleGroups for more information on using the DeleteFirewallManagerRuleGroups API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteFirewallManagerRuleGroupsRequest method.
req, resp := client.DeleteFirewallManagerRuleGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups

func (*WAFV2) DeleteFirewallManagerRuleGroupsWithContext added in v1.30.1

func (c *WAFV2) DeleteFirewallManagerRuleGroupsWithContext(ctx aws.Context, input *DeleteFirewallManagerRuleGroupsInput, opts ...request.Option) (*DeleteFirewallManagerRuleGroupsOutput, error)

DeleteFirewallManagerRuleGroupsWithContext is the same as DeleteFirewallManagerRuleGroups with the addition of the ability to pass a context and additional request options.

See DeleteFirewallManagerRuleGroups for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteIPSet

func (c *WAFV2) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error)

DeleteIPSet API operation for AWS WAFV2.

Deletes the specified IPSet.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteIPSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFAssociatedItemException WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteIPSet

func (*WAFV2) DeleteIPSetRequest

func (c *WAFV2) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput)

DeleteIPSetRequest generates a "aws/request.Request" representing the client's request for the DeleteIPSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteIPSet for more information on using the DeleteIPSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteIPSetRequest method.
req, resp := client.DeleteIPSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteIPSet

func (*WAFV2) DeleteIPSetWithContext

func (c *WAFV2) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error)

DeleteIPSetWithContext is the same as DeleteIPSet with the addition of the ability to pass a context and additional request options.

See DeleteIPSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteLoggingConfiguration

func (c *WAFV2) DeleteLoggingConfiguration(input *DeleteLoggingConfigurationInput) (*DeleteLoggingConfigurationOutput, error)

DeleteLoggingConfiguration API operation for AWS WAFV2.

Deletes the LoggingConfiguration from the specified web ACL.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteLoggingConfiguration for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteLoggingConfiguration

func (*WAFV2) DeleteLoggingConfigurationRequest

func (c *WAFV2) DeleteLoggingConfigurationRequest(input *DeleteLoggingConfigurationInput) (req *request.Request, output *DeleteLoggingConfigurationOutput)

DeleteLoggingConfigurationRequest generates a "aws/request.Request" representing the client's request for the DeleteLoggingConfiguration operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteLoggingConfiguration for more information on using the DeleteLoggingConfiguration API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteLoggingConfigurationRequest method.
req, resp := client.DeleteLoggingConfigurationRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteLoggingConfiguration

func (*WAFV2) DeleteLoggingConfigurationWithContext

func (c *WAFV2) DeleteLoggingConfigurationWithContext(ctx aws.Context, input *DeleteLoggingConfigurationInput, opts ...request.Option) (*DeleteLoggingConfigurationOutput, error)

DeleteLoggingConfigurationWithContext is the same as DeleteLoggingConfiguration with the addition of the ability to pass a context and additional request options.

See DeleteLoggingConfiguration for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeletePermissionPolicy added in v1.30.1

func (c *WAFV2) DeletePermissionPolicy(input *DeletePermissionPolicyInput) (*DeletePermissionPolicyOutput, error)

DeletePermissionPolicy API operation for AWS WAFV2.

Permanently deletes an IAM policy from the specified rule group.

You must be the owner of the rule group to perform this operation.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeletePermissionPolicy for usage and error information.

Returned Error Types:

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeletePermissionPolicy

func (*WAFV2) DeletePermissionPolicyRequest added in v1.30.1

func (c *WAFV2) DeletePermissionPolicyRequest(input *DeletePermissionPolicyInput) (req *request.Request, output *DeletePermissionPolicyOutput)

DeletePermissionPolicyRequest generates a "aws/request.Request" representing the client's request for the DeletePermissionPolicy operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeletePermissionPolicy for more information on using the DeletePermissionPolicy API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeletePermissionPolicyRequest method.
req, resp := client.DeletePermissionPolicyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeletePermissionPolicy

func (*WAFV2) DeletePermissionPolicyWithContext added in v1.30.1

func (c *WAFV2) DeletePermissionPolicyWithContext(ctx aws.Context, input *DeletePermissionPolicyInput, opts ...request.Option) (*DeletePermissionPolicyOutput, error)

DeletePermissionPolicyWithContext is the same as DeletePermissionPolicy with the addition of the ability to pass a context and additional request options.

See DeletePermissionPolicy for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteRegexPatternSet

func (c *WAFV2) DeleteRegexPatternSet(input *DeleteRegexPatternSetInput) (*DeleteRegexPatternSetOutput, error)

DeleteRegexPatternSet API operation for AWS WAFV2.

Deletes the specified RegexPatternSet.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteRegexPatternSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFAssociatedItemException WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRegexPatternSet

func (*WAFV2) DeleteRegexPatternSetRequest

func (c *WAFV2) DeleteRegexPatternSetRequest(input *DeleteRegexPatternSetInput) (req *request.Request, output *DeleteRegexPatternSetOutput)

DeleteRegexPatternSetRequest generates a "aws/request.Request" representing the client's request for the DeleteRegexPatternSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteRegexPatternSet for more information on using the DeleteRegexPatternSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteRegexPatternSetRequest method.
req, resp := client.DeleteRegexPatternSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRegexPatternSet

func (*WAFV2) DeleteRegexPatternSetWithContext

func (c *WAFV2) DeleteRegexPatternSetWithContext(ctx aws.Context, input *DeleteRegexPatternSetInput, opts ...request.Option) (*DeleteRegexPatternSetOutput, error)

DeleteRegexPatternSetWithContext is the same as DeleteRegexPatternSet with the addition of the ability to pass a context and additional request options.

See DeleteRegexPatternSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteRuleGroup

func (c *WAFV2) DeleteRuleGroup(input *DeleteRuleGroupInput) (*DeleteRuleGroupOutput, error)

DeleteRuleGroup API operation for AWS WAFV2.

Deletes the specified RuleGroup.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteRuleGroup for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFAssociatedItemException WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRuleGroup

func (*WAFV2) DeleteRuleGroupRequest

func (c *WAFV2) DeleteRuleGroupRequest(input *DeleteRuleGroupInput) (req *request.Request, output *DeleteRuleGroupOutput)

DeleteRuleGroupRequest generates a "aws/request.Request" representing the client's request for the DeleteRuleGroup operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteRuleGroup for more information on using the DeleteRuleGroup API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteRuleGroupRequest method.
req, resp := client.DeleteRuleGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteRuleGroup

func (*WAFV2) DeleteRuleGroupWithContext

func (c *WAFV2) DeleteRuleGroupWithContext(ctx aws.Context, input *DeleteRuleGroupInput, opts ...request.Option) (*DeleteRuleGroupOutput, error)

DeleteRuleGroupWithContext is the same as DeleteRuleGroup with the addition of the ability to pass a context and additional request options.

See DeleteRuleGroup for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DeleteWebACL

func (c *WAFV2) DeleteWebACL(input *DeleteWebACLInput) (*DeleteWebACLOutput, error)

DeleteWebACL API operation for AWS WAFV2.

Deletes the specified WebACL.

You can only use this if ManagedByFirewallManager is false in the specified WebACL.

Before deleting any web ACL, first disassociate it from all resources.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DeleteWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFAssociatedItemException WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteWebACL

func (*WAFV2) DeleteWebACLRequest

func (c *WAFV2) DeleteWebACLRequest(input *DeleteWebACLInput) (req *request.Request, output *DeleteWebACLOutput)

DeleteWebACLRequest generates a "aws/request.Request" representing the client's request for the DeleteWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteWebACL for more information on using the DeleteWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteWebACLRequest method.
req, resp := client.DeleteWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteWebACL

func (*WAFV2) DeleteWebACLWithContext

func (c *WAFV2) DeleteWebACLWithContext(ctx aws.Context, input *DeleteWebACLInput, opts ...request.Option) (*DeleteWebACLOutput, error)

DeleteWebACLWithContext is the same as DeleteWebACL with the addition of the ability to pass a context and additional request options.

See DeleteWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DescribeAllManagedProducts added in v1.44.275

func (c *WAFV2) DescribeAllManagedProducts(input *DescribeAllManagedProductsInput) (*DescribeAllManagedProductsOutput, error)

DescribeAllManagedProducts API operation for AWS WAFV2.

Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services Marketplace managed rule groups.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DescribeAllManagedProducts for usage and error information.

Returned Error Types:

  • WAFInvalidOperationException The operation isn't valid.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeAllManagedProducts

func (*WAFV2) DescribeAllManagedProductsRequest added in v1.44.275

func (c *WAFV2) DescribeAllManagedProductsRequest(input *DescribeAllManagedProductsInput) (req *request.Request, output *DescribeAllManagedProductsOutput)

DescribeAllManagedProductsRequest generates a "aws/request.Request" representing the client's request for the DescribeAllManagedProducts operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeAllManagedProducts for more information on using the DescribeAllManagedProducts API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeAllManagedProductsRequest method.
req, resp := client.DescribeAllManagedProductsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeAllManagedProducts

func (*WAFV2) DescribeAllManagedProductsWithContext added in v1.44.275

func (c *WAFV2) DescribeAllManagedProductsWithContext(ctx aws.Context, input *DescribeAllManagedProductsInput, opts ...request.Option) (*DescribeAllManagedProductsOutput, error)

DescribeAllManagedProductsWithContext is the same as DescribeAllManagedProducts with the addition of the ability to pass a context and additional request options.

See DescribeAllManagedProducts for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DescribeManagedProductsByVendor added in v1.44.275

func (c *WAFV2) DescribeManagedProductsByVendor(input *DescribeManagedProductsByVendorInput) (*DescribeManagedProductsByVendorOutput, error)

DescribeManagedProductsByVendor API operation for AWS WAFV2.

Provides high-level information for the managed rule groups owned by a specific vendor.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DescribeManagedProductsByVendor for usage and error information.

Returned Error Types:

  • WAFInvalidOperationException The operation isn't valid.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedProductsByVendor

func (*WAFV2) DescribeManagedProductsByVendorRequest added in v1.44.275

func (c *WAFV2) DescribeManagedProductsByVendorRequest(input *DescribeManagedProductsByVendorInput) (req *request.Request, output *DescribeManagedProductsByVendorOutput)

DescribeManagedProductsByVendorRequest generates a "aws/request.Request" representing the client's request for the DescribeManagedProductsByVendor operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeManagedProductsByVendor for more information on using the DescribeManagedProductsByVendor API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeManagedProductsByVendorRequest method.
req, resp := client.DescribeManagedProductsByVendorRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedProductsByVendor

func (*WAFV2) DescribeManagedProductsByVendorWithContext added in v1.44.275

func (c *WAFV2) DescribeManagedProductsByVendorWithContext(ctx aws.Context, input *DescribeManagedProductsByVendorInput, opts ...request.Option) (*DescribeManagedProductsByVendorOutput, error)

DescribeManagedProductsByVendorWithContext is the same as DescribeManagedProductsByVendor with the addition of the ability to pass a context and additional request options.

See DescribeManagedProductsByVendor for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DescribeManagedRuleGroup

func (c *WAFV2) DescribeManagedRuleGroup(input *DescribeManagedRuleGroupInput) (*DescribeManagedRuleGroupOutput, error)

DescribeManagedRuleGroup API operation for AWS WAFV2.

Provides high-level information for a managed rule group, including descriptions of the rules.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DescribeManagedRuleGroup for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFExpiredManagedRuleGroupVersionException The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroup

func (*WAFV2) DescribeManagedRuleGroupRequest

func (c *WAFV2) DescribeManagedRuleGroupRequest(input *DescribeManagedRuleGroupInput) (req *request.Request, output *DescribeManagedRuleGroupOutput)

DescribeManagedRuleGroupRequest generates a "aws/request.Request" representing the client's request for the DescribeManagedRuleGroup operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeManagedRuleGroup for more information on using the DescribeManagedRuleGroup API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeManagedRuleGroupRequest method.
req, resp := client.DescribeManagedRuleGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroup

func (*WAFV2) DescribeManagedRuleGroupWithContext

func (c *WAFV2) DescribeManagedRuleGroupWithContext(ctx aws.Context, input *DescribeManagedRuleGroupInput, opts ...request.Option) (*DescribeManagedRuleGroupOutput, error)

DescribeManagedRuleGroupWithContext is the same as DescribeManagedRuleGroup with the addition of the ability to pass a context and additional request options.

See DescribeManagedRuleGroup for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) DisassociateWebACL

func (c *WAFV2) DisassociateWebACL(input *DisassociateWebACLInput) (*DisassociateWebACLOutput, error)

DisassociateWebACL API operation for AWS WAFV2.

Disassociates the specified regional application resource from any existing web ACL association. A resource can have at most one web ACL association. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in the Amazon CloudFront API Reference.

Required permissions for customer-managed IAM policies

This call requires permissions that are specific to the protected resource type. For details, see Permissions for DisassociateWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-DisassociateWebACL) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation DisassociateWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DisassociateWebACL

func (*WAFV2) DisassociateWebACLRequest

func (c *WAFV2) DisassociateWebACLRequest(input *DisassociateWebACLInput) (req *request.Request, output *DisassociateWebACLOutput)

DisassociateWebACLRequest generates a "aws/request.Request" representing the client's request for the DisassociateWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DisassociateWebACL for more information on using the DisassociateWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DisassociateWebACLRequest method.
req, resp := client.DisassociateWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DisassociateWebACL

func (*WAFV2) DisassociateWebACLWithContext

func (c *WAFV2) DisassociateWebACLWithContext(ctx aws.Context, input *DisassociateWebACLInput, opts ...request.Option) (*DisassociateWebACLOutput, error)

DisassociateWebACLWithContext is the same as DisassociateWebACL with the addition of the ability to pass a context and additional request options.

See DisassociateWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GenerateMobileSdkReleaseUrl added in v1.42.51

func (c *WAFV2) GenerateMobileSdkReleaseUrl(input *GenerateMobileSdkReleaseUrlInput) (*GenerateMobileSdkReleaseUrlOutput, error)

GenerateMobileSdkReleaseUrl API operation for AWS WAFV2.

Generates a presigned download URL for the specified release of the mobile SDK.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GenerateMobileSdkReleaseUrl for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl

func (*WAFV2) GenerateMobileSdkReleaseUrlRequest added in v1.42.51

func (c *WAFV2) GenerateMobileSdkReleaseUrlRequest(input *GenerateMobileSdkReleaseUrlInput) (req *request.Request, output *GenerateMobileSdkReleaseUrlOutput)

GenerateMobileSdkReleaseUrlRequest generates a "aws/request.Request" representing the client's request for the GenerateMobileSdkReleaseUrl operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GenerateMobileSdkReleaseUrl for more information on using the GenerateMobileSdkReleaseUrl API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GenerateMobileSdkReleaseUrlRequest method.
req, resp := client.GenerateMobileSdkReleaseUrlRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl

func (*WAFV2) GenerateMobileSdkReleaseUrlWithContext added in v1.42.51

func (c *WAFV2) GenerateMobileSdkReleaseUrlWithContext(ctx aws.Context, input *GenerateMobileSdkReleaseUrlInput, opts ...request.Option) (*GenerateMobileSdkReleaseUrlOutput, error)

GenerateMobileSdkReleaseUrlWithContext is the same as GenerateMobileSdkReleaseUrl with the addition of the ability to pass a context and additional request options.

See GenerateMobileSdkReleaseUrl for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetDecryptedAPIKey added in v1.44.247

func (c *WAFV2) GetDecryptedAPIKey(input *GetDecryptedAPIKeyInput) (*GetDecryptedAPIKeyOutput, error)

GetDecryptedAPIKey API operation for AWS WAFV2.

Returns your API key in decrypted form. Use this to check the token domains that you have defined for the key.

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetDecryptedAPIKey for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetDecryptedAPIKey

func (*WAFV2) GetDecryptedAPIKeyRequest added in v1.44.247

func (c *WAFV2) GetDecryptedAPIKeyRequest(input *GetDecryptedAPIKeyInput) (req *request.Request, output *GetDecryptedAPIKeyOutput)

GetDecryptedAPIKeyRequest generates a "aws/request.Request" representing the client's request for the GetDecryptedAPIKey operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetDecryptedAPIKey for more information on using the GetDecryptedAPIKey API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetDecryptedAPIKeyRequest method.
req, resp := client.GetDecryptedAPIKeyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetDecryptedAPIKey

func (*WAFV2) GetDecryptedAPIKeyWithContext added in v1.44.247

func (c *WAFV2) GetDecryptedAPIKeyWithContext(ctx aws.Context, input *GetDecryptedAPIKeyInput, opts ...request.Option) (*GetDecryptedAPIKeyOutput, error)

GetDecryptedAPIKeyWithContext is the same as GetDecryptedAPIKey with the addition of the ability to pass a context and additional request options.

See GetDecryptedAPIKey for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetIPSet

func (c *WAFV2) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error)

GetIPSet API operation for AWS WAFV2.

Retrieves the specified IPSet.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetIPSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetIPSet

func (*WAFV2) GetIPSetRequest

func (c *WAFV2) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput)

GetIPSetRequest generates a "aws/request.Request" representing the client's request for the GetIPSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetIPSet for more information on using the GetIPSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetIPSetRequest method.
req, resp := client.GetIPSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetIPSet

func (*WAFV2) GetIPSetWithContext

func (c *WAFV2) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error)

GetIPSetWithContext is the same as GetIPSet with the addition of the ability to pass a context and additional request options.

See GetIPSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetLoggingConfiguration

func (c *WAFV2) GetLoggingConfiguration(input *GetLoggingConfigurationInput) (*GetLoggingConfigurationOutput, error)

GetLoggingConfiguration API operation for AWS WAFV2.

Returns the LoggingConfiguration for the specified web ACL.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetLoggingConfiguration for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration

func (*WAFV2) GetLoggingConfigurationRequest

func (c *WAFV2) GetLoggingConfigurationRequest(input *GetLoggingConfigurationInput) (req *request.Request, output *GetLoggingConfigurationOutput)

GetLoggingConfigurationRequest generates a "aws/request.Request" representing the client's request for the GetLoggingConfiguration operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetLoggingConfiguration for more information on using the GetLoggingConfiguration API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetLoggingConfigurationRequest method.
req, resp := client.GetLoggingConfigurationRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration

func (*WAFV2) GetLoggingConfigurationWithContext

func (c *WAFV2) GetLoggingConfigurationWithContext(ctx aws.Context, input *GetLoggingConfigurationInput, opts ...request.Option) (*GetLoggingConfigurationOutput, error)

GetLoggingConfigurationWithContext is the same as GetLoggingConfiguration with the addition of the ability to pass a context and additional request options.

See GetLoggingConfiguration for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetManagedRuleSet added in v1.40.18

func (c *WAFV2) GetManagedRuleSet(input *GetManagedRuleSetInput) (*GetManagedRuleSetOutput, error)

GetManagedRuleSet API operation for AWS WAFV2.

Retrieves the specified managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetManagedRuleSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetManagedRuleSet

func (*WAFV2) GetManagedRuleSetRequest added in v1.40.18

func (c *WAFV2) GetManagedRuleSetRequest(input *GetManagedRuleSetInput) (req *request.Request, output *GetManagedRuleSetOutput)

GetManagedRuleSetRequest generates a "aws/request.Request" representing the client's request for the GetManagedRuleSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetManagedRuleSet for more information on using the GetManagedRuleSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetManagedRuleSetRequest method.
req, resp := client.GetManagedRuleSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetManagedRuleSet

func (*WAFV2) GetManagedRuleSetWithContext added in v1.40.18

func (c *WAFV2) GetManagedRuleSetWithContext(ctx aws.Context, input *GetManagedRuleSetInput, opts ...request.Option) (*GetManagedRuleSetOutput, error)

GetManagedRuleSetWithContext is the same as GetManagedRuleSet with the addition of the ability to pass a context and additional request options.

See GetManagedRuleSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetMobileSdkRelease added in v1.42.51

func (c *WAFV2) GetMobileSdkRelease(input *GetMobileSdkReleaseInput) (*GetMobileSdkReleaseOutput, error)

GetMobileSdkRelease API operation for AWS WAFV2.

Retrieves information for the specified mobile SDK release, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetMobileSdkRelease for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkRelease

func (*WAFV2) GetMobileSdkReleaseRequest added in v1.42.51

func (c *WAFV2) GetMobileSdkReleaseRequest(input *GetMobileSdkReleaseInput) (req *request.Request, output *GetMobileSdkReleaseOutput)

GetMobileSdkReleaseRequest generates a "aws/request.Request" representing the client's request for the GetMobileSdkRelease operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetMobileSdkRelease for more information on using the GetMobileSdkRelease API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetMobileSdkReleaseRequest method.
req, resp := client.GetMobileSdkReleaseRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkRelease

func (*WAFV2) GetMobileSdkReleaseWithContext added in v1.42.51

func (c *WAFV2) GetMobileSdkReleaseWithContext(ctx aws.Context, input *GetMobileSdkReleaseInput, opts ...request.Option) (*GetMobileSdkReleaseOutput, error)

GetMobileSdkReleaseWithContext is the same as GetMobileSdkRelease with the addition of the ability to pass a context and additional request options.

See GetMobileSdkRelease for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetPermissionPolicy added in v1.30.1

func (c *WAFV2) GetPermissionPolicy(input *GetPermissionPolicyInput) (*GetPermissionPolicyOutput, error)

GetPermissionPolicy API operation for AWS WAFV2.

Returns the IAM policy that is attached to the specified rule group.

You must be the owner of the rule group to perform this operation.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetPermissionPolicy for usage and error information.

Returned Error Types:

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetPermissionPolicy

func (*WAFV2) GetPermissionPolicyRequest added in v1.30.1

func (c *WAFV2) GetPermissionPolicyRequest(input *GetPermissionPolicyInput) (req *request.Request, output *GetPermissionPolicyOutput)

GetPermissionPolicyRequest generates a "aws/request.Request" representing the client's request for the GetPermissionPolicy operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetPermissionPolicy for more information on using the GetPermissionPolicy API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetPermissionPolicyRequest method.
req, resp := client.GetPermissionPolicyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetPermissionPolicy

func (*WAFV2) GetPermissionPolicyWithContext added in v1.30.1

func (c *WAFV2) GetPermissionPolicyWithContext(ctx aws.Context, input *GetPermissionPolicyInput, opts ...request.Option) (*GetPermissionPolicyOutput, error)

GetPermissionPolicyWithContext is the same as GetPermissionPolicy with the addition of the ability to pass a context and additional request options.

See GetPermissionPolicy for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetRateBasedStatementManagedKeys

func (c *WAFV2) GetRateBasedStatementManagedKeys(input *GetRateBasedStatementManagedKeysInput) (*GetRateBasedStatementManagedKeysOutput, error)

GetRateBasedStatementManagedKeys API operation for AWS WAFV2.

Retrieves the IP addresses that are currently blocked by a rate-based rule instance. This is only available for rate-based rules that aggregate solely on the IP address or on the forwarded IP address.

The maximum number of addresses that can be blocked for a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

For a rate-based rule that you've defined inside a rule group, provide the name of the rule group reference statement in your request, in addition to the rate-based rule name and the web ACL name.

WAF monitors web requests and manages keys independently for each unique combination of web ACL, optional rule group, and rate-based rule. For example, if you define a rate-based rule inside a rule group, and then use the rule group in a web ACL, WAF monitors web requests and manages keys for that web ACL, rule group reference statement, and rate-based rule instance. If you use the same rule group in a second web ACL, WAF monitors web requests and manages keys for this second usage completely independent of your first.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetRateBasedStatementManagedKeys for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFUnsupportedAggregateKeyTypeException The rule that you've named doesn't aggregate solely on the IP address or solely on the forwarded IP address. This call is only available for rate-based rules with an AggregateKeyType setting of IP or FORWARDED_IP.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRateBasedStatementManagedKeys

func (*WAFV2) GetRateBasedStatementManagedKeysRequest

func (c *WAFV2) GetRateBasedStatementManagedKeysRequest(input *GetRateBasedStatementManagedKeysInput) (req *request.Request, output *GetRateBasedStatementManagedKeysOutput)

GetRateBasedStatementManagedKeysRequest generates a "aws/request.Request" representing the client's request for the GetRateBasedStatementManagedKeys operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetRateBasedStatementManagedKeys for more information on using the GetRateBasedStatementManagedKeys API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetRateBasedStatementManagedKeysRequest method.
req, resp := client.GetRateBasedStatementManagedKeysRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRateBasedStatementManagedKeys

func (*WAFV2) GetRateBasedStatementManagedKeysWithContext

func (c *WAFV2) GetRateBasedStatementManagedKeysWithContext(ctx aws.Context, input *GetRateBasedStatementManagedKeysInput, opts ...request.Option) (*GetRateBasedStatementManagedKeysOutput, error)

GetRateBasedStatementManagedKeysWithContext is the same as GetRateBasedStatementManagedKeys with the addition of the ability to pass a context and additional request options.

See GetRateBasedStatementManagedKeys for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetRegexPatternSet

func (c *WAFV2) GetRegexPatternSet(input *GetRegexPatternSetInput) (*GetRegexPatternSetOutput, error)

GetRegexPatternSet API operation for AWS WAFV2.

Retrieves the specified RegexPatternSet.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetRegexPatternSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRegexPatternSet

func (*WAFV2) GetRegexPatternSetRequest

func (c *WAFV2) GetRegexPatternSetRequest(input *GetRegexPatternSetInput) (req *request.Request, output *GetRegexPatternSetOutput)

GetRegexPatternSetRequest generates a "aws/request.Request" representing the client's request for the GetRegexPatternSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetRegexPatternSet for more information on using the GetRegexPatternSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetRegexPatternSetRequest method.
req, resp := client.GetRegexPatternSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRegexPatternSet

func (*WAFV2) GetRegexPatternSetWithContext

func (c *WAFV2) GetRegexPatternSetWithContext(ctx aws.Context, input *GetRegexPatternSetInput, opts ...request.Option) (*GetRegexPatternSetOutput, error)

GetRegexPatternSetWithContext is the same as GetRegexPatternSet with the addition of the ability to pass a context and additional request options.

See GetRegexPatternSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetRuleGroup

func (c *WAFV2) GetRuleGroup(input *GetRuleGroupInput) (*GetRuleGroupOutput, error)

GetRuleGroup API operation for AWS WAFV2.

Retrieves the specified RuleGroup.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetRuleGroup for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroup

func (*WAFV2) GetRuleGroupRequest

func (c *WAFV2) GetRuleGroupRequest(input *GetRuleGroupInput) (req *request.Request, output *GetRuleGroupOutput)

GetRuleGroupRequest generates a "aws/request.Request" representing the client's request for the GetRuleGroup operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetRuleGroup for more information on using the GetRuleGroup API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetRuleGroupRequest method.
req, resp := client.GetRuleGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroup

func (*WAFV2) GetRuleGroupWithContext

func (c *WAFV2) GetRuleGroupWithContext(ctx aws.Context, input *GetRuleGroupInput, opts ...request.Option) (*GetRuleGroupOutput, error)

GetRuleGroupWithContext is the same as GetRuleGroup with the addition of the ability to pass a context and additional request options.

See GetRuleGroup for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetSampledRequests

func (c *WAFV2) GetSampledRequests(input *GetSampledRequestsInput) (*GetSampledRequestsOutput, error)

GetSampledRequests API operation for AWS WAFV2.

Gets detailed information about a specified number of requests--a sample--that WAF randomly selects from among the first 5,000 requests that your Amazon Web Services resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which WAF selected the requests in the sample.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetSampledRequests for usage and error information.

Returned Error Types:

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetSampledRequests

func (*WAFV2) GetSampledRequestsRequest

func (c *WAFV2) GetSampledRequestsRequest(input *GetSampledRequestsInput) (req *request.Request, output *GetSampledRequestsOutput)

GetSampledRequestsRequest generates a "aws/request.Request" representing the client's request for the GetSampledRequests operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetSampledRequests for more information on using the GetSampledRequests API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetSampledRequestsRequest method.
req, resp := client.GetSampledRequestsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetSampledRequests

func (*WAFV2) GetSampledRequestsWithContext

func (c *WAFV2) GetSampledRequestsWithContext(ctx aws.Context, input *GetSampledRequestsInput, opts ...request.Option) (*GetSampledRequestsOutput, error)

GetSampledRequestsWithContext is the same as GetSampledRequests with the addition of the ability to pass a context and additional request options.

See GetSampledRequests for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetWebACL

func (c *WAFV2) GetWebACL(input *GetWebACLInput) (*GetWebACLOutput, error)

GetWebACL API operation for AWS WAFV2.

Retrieves the specified WebACL.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL

func (*WAFV2) GetWebACLForResource

func (c *WAFV2) GetWebACLForResource(input *GetWebACLForResourceInput) (*GetWebACLForResourceOutput, error)

GetWebACLForResource API operation for AWS WAFV2.

Retrieves the WebACL for the specified resource.

This call uses GetWebACL, to verify that your account has permission to access the retrieved web ACL. If you get an error that indicates that your account isn't authorized to perform wafv2:GetWebACL on the resource, that error won't be included in your CloudTrail event history.

For Amazon CloudFront, don't use this call. Instead, call the CloudFront action GetDistributionConfig. For information, see GetDistributionConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) in the Amazon CloudFront API Reference.

Required permissions for customer-managed IAM policies

This call requires permissions that are specific to the protected resource type. For details, see Permissions for GetWebACLForResource (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-GetWebACLForResource) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation GetWebACLForResource for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource

func (*WAFV2) GetWebACLForResourceRequest

func (c *WAFV2) GetWebACLForResourceRequest(input *GetWebACLForResourceInput) (req *request.Request, output *GetWebACLForResourceOutput)

GetWebACLForResourceRequest generates a "aws/request.Request" representing the client's request for the GetWebACLForResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetWebACLForResource for more information on using the GetWebACLForResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetWebACLForResourceRequest method.
req, resp := client.GetWebACLForResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource

func (*WAFV2) GetWebACLForResourceWithContext

func (c *WAFV2) GetWebACLForResourceWithContext(ctx aws.Context, input *GetWebACLForResourceInput, opts ...request.Option) (*GetWebACLForResourceOutput, error)

GetWebACLForResourceWithContext is the same as GetWebACLForResource with the addition of the ability to pass a context and additional request options.

See GetWebACLForResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) GetWebACLRequest

func (c *WAFV2) GetWebACLRequest(input *GetWebACLInput) (req *request.Request, output *GetWebACLOutput)

GetWebACLRequest generates a "aws/request.Request" representing the client's request for the GetWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetWebACL for more information on using the GetWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetWebACLRequest method.
req, resp := client.GetWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL

func (*WAFV2) GetWebACLWithContext

func (c *WAFV2) GetWebACLWithContext(ctx aws.Context, input *GetWebACLInput, opts ...request.Option) (*GetWebACLOutput, error)

GetWebACLWithContext is the same as GetWebACL with the addition of the ability to pass a context and additional request options.

See GetWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListAPIKeys added in v1.44.247

func (c *WAFV2) ListAPIKeys(input *ListAPIKeysInput) (*ListAPIKeysOutput, error)

ListAPIKeys API operation for AWS WAFV2.

Retrieves a list of the API keys that you've defined for the specified scope.

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListAPIKeys for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAPIKeys

func (*WAFV2) ListAPIKeysRequest added in v1.44.247

func (c *WAFV2) ListAPIKeysRequest(input *ListAPIKeysInput) (req *request.Request, output *ListAPIKeysOutput)

ListAPIKeysRequest generates a "aws/request.Request" representing the client's request for the ListAPIKeys operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListAPIKeys for more information on using the ListAPIKeys API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListAPIKeysRequest method.
req, resp := client.ListAPIKeysRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAPIKeys

func (*WAFV2) ListAPIKeysWithContext added in v1.44.247

func (c *WAFV2) ListAPIKeysWithContext(ctx aws.Context, input *ListAPIKeysInput, opts ...request.Option) (*ListAPIKeysOutput, error)

ListAPIKeysWithContext is the same as ListAPIKeys with the addition of the ability to pass a context and additional request options.

See ListAPIKeys for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListAvailableManagedRuleGroupVersions added in v1.40.18

func (c *WAFV2) ListAvailableManagedRuleGroupVersions(input *ListAvailableManagedRuleGroupVersionsInput) (*ListAvailableManagedRuleGroupVersionsOutput, error)

ListAvailableManagedRuleGroupVersions API operation for AWS WAFV2.

Returns a list of the available versions for the specified managed rule group.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListAvailableManagedRuleGroupVersions for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions

func (*WAFV2) ListAvailableManagedRuleGroupVersionsRequest added in v1.40.18

func (c *WAFV2) ListAvailableManagedRuleGroupVersionsRequest(input *ListAvailableManagedRuleGroupVersionsInput) (req *request.Request, output *ListAvailableManagedRuleGroupVersionsOutput)

ListAvailableManagedRuleGroupVersionsRequest generates a "aws/request.Request" representing the client's request for the ListAvailableManagedRuleGroupVersions operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListAvailableManagedRuleGroupVersions for more information on using the ListAvailableManagedRuleGroupVersions API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListAvailableManagedRuleGroupVersionsRequest method.
req, resp := client.ListAvailableManagedRuleGroupVersionsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions

func (*WAFV2) ListAvailableManagedRuleGroupVersionsWithContext added in v1.40.18

func (c *WAFV2) ListAvailableManagedRuleGroupVersionsWithContext(ctx aws.Context, input *ListAvailableManagedRuleGroupVersionsInput, opts ...request.Option) (*ListAvailableManagedRuleGroupVersionsOutput, error)

ListAvailableManagedRuleGroupVersionsWithContext is the same as ListAvailableManagedRuleGroupVersions with the addition of the ability to pass a context and additional request options.

See ListAvailableManagedRuleGroupVersions for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListAvailableManagedRuleGroups

func (c *WAFV2) ListAvailableManagedRuleGroups(input *ListAvailableManagedRuleGroupsInput) (*ListAvailableManagedRuleGroupsOutput, error)

ListAvailableManagedRuleGroups API operation for AWS WAFV2.

Retrieves an array of managed rule groups that are available for you to use. This list includes all Amazon Web Services Managed Rules rule groups and all of the Amazon Web Services Marketplace managed rule groups that you're subscribed to.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListAvailableManagedRuleGroups for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroups

func (*WAFV2) ListAvailableManagedRuleGroupsRequest

func (c *WAFV2) ListAvailableManagedRuleGroupsRequest(input *ListAvailableManagedRuleGroupsInput) (req *request.Request, output *ListAvailableManagedRuleGroupsOutput)

ListAvailableManagedRuleGroupsRequest generates a "aws/request.Request" representing the client's request for the ListAvailableManagedRuleGroups operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListAvailableManagedRuleGroups for more information on using the ListAvailableManagedRuleGroups API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListAvailableManagedRuleGroupsRequest method.
req, resp := client.ListAvailableManagedRuleGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroups

func (*WAFV2) ListAvailableManagedRuleGroupsWithContext

func (c *WAFV2) ListAvailableManagedRuleGroupsWithContext(ctx aws.Context, input *ListAvailableManagedRuleGroupsInput, opts ...request.Option) (*ListAvailableManagedRuleGroupsOutput, error)

ListAvailableManagedRuleGroupsWithContext is the same as ListAvailableManagedRuleGroups with the addition of the ability to pass a context and additional request options.

See ListAvailableManagedRuleGroups for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListIPSets

func (c *WAFV2) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error)

ListIPSets API operation for AWS WAFV2.

Retrieves an array of IPSetSummary objects for the IP sets that you manage.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListIPSets for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListIPSets

func (*WAFV2) ListIPSetsRequest

func (c *WAFV2) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput)

ListIPSetsRequest generates a "aws/request.Request" representing the client's request for the ListIPSets operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListIPSets for more information on using the ListIPSets API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListIPSetsRequest method.
req, resp := client.ListIPSetsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListIPSets

func (*WAFV2) ListIPSetsWithContext

func (c *WAFV2) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error)

ListIPSetsWithContext is the same as ListIPSets with the addition of the ability to pass a context and additional request options.

See ListIPSets for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListLoggingConfigurations

func (c *WAFV2) ListLoggingConfigurations(input *ListLoggingConfigurationsInput) (*ListLoggingConfigurationsOutput, error)

ListLoggingConfigurations API operation for AWS WAFV2.

Retrieves an array of your LoggingConfiguration objects.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListLoggingConfigurations for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations

func (*WAFV2) ListLoggingConfigurationsRequest

func (c *WAFV2) ListLoggingConfigurationsRequest(input *ListLoggingConfigurationsInput) (req *request.Request, output *ListLoggingConfigurationsOutput)

ListLoggingConfigurationsRequest generates a "aws/request.Request" representing the client's request for the ListLoggingConfigurations operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListLoggingConfigurations for more information on using the ListLoggingConfigurations API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListLoggingConfigurationsRequest method.
req, resp := client.ListLoggingConfigurationsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations

func (*WAFV2) ListLoggingConfigurationsWithContext

func (c *WAFV2) ListLoggingConfigurationsWithContext(ctx aws.Context, input *ListLoggingConfigurationsInput, opts ...request.Option) (*ListLoggingConfigurationsOutput, error)

ListLoggingConfigurationsWithContext is the same as ListLoggingConfigurations with the addition of the ability to pass a context and additional request options.

See ListLoggingConfigurations for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListManagedRuleSets added in v1.40.18

func (c *WAFV2) ListManagedRuleSets(input *ListManagedRuleSetsInput) (*ListManagedRuleSetsOutput, error)

ListManagedRuleSets API operation for AWS WAFV2.

Retrieves the managed rule sets that you own.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListManagedRuleSets for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListManagedRuleSets

func (*WAFV2) ListManagedRuleSetsRequest added in v1.40.18

func (c *WAFV2) ListManagedRuleSetsRequest(input *ListManagedRuleSetsInput) (req *request.Request, output *ListManagedRuleSetsOutput)

ListManagedRuleSetsRequest generates a "aws/request.Request" representing the client's request for the ListManagedRuleSets operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListManagedRuleSets for more information on using the ListManagedRuleSets API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListManagedRuleSetsRequest method.
req, resp := client.ListManagedRuleSetsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListManagedRuleSets

func (*WAFV2) ListManagedRuleSetsWithContext added in v1.40.18

func (c *WAFV2) ListManagedRuleSetsWithContext(ctx aws.Context, input *ListManagedRuleSetsInput, opts ...request.Option) (*ListManagedRuleSetsOutput, error)

ListManagedRuleSetsWithContext is the same as ListManagedRuleSets with the addition of the ability to pass a context and additional request options.

See ListManagedRuleSets for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListMobileSdkReleases added in v1.42.51

func (c *WAFV2) ListMobileSdkReleases(input *ListMobileSdkReleasesInput) (*ListMobileSdkReleasesOutput, error)

ListMobileSdkReleases API operation for AWS WAFV2.

Retrieves a list of the available releases for the mobile SDK and the specified device platform.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListMobileSdkReleases for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleases

func (*WAFV2) ListMobileSdkReleasesRequest added in v1.42.51

func (c *WAFV2) ListMobileSdkReleasesRequest(input *ListMobileSdkReleasesInput) (req *request.Request, output *ListMobileSdkReleasesOutput)

ListMobileSdkReleasesRequest generates a "aws/request.Request" representing the client's request for the ListMobileSdkReleases operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListMobileSdkReleases for more information on using the ListMobileSdkReleases API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListMobileSdkReleasesRequest method.
req, resp := client.ListMobileSdkReleasesRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleases

func (*WAFV2) ListMobileSdkReleasesWithContext added in v1.42.51

func (c *WAFV2) ListMobileSdkReleasesWithContext(ctx aws.Context, input *ListMobileSdkReleasesInput, opts ...request.Option) (*ListMobileSdkReleasesOutput, error)

ListMobileSdkReleasesWithContext is the same as ListMobileSdkReleases with the addition of the ability to pass a context and additional request options.

See ListMobileSdkReleases for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListRegexPatternSets

func (c *WAFV2) ListRegexPatternSets(input *ListRegexPatternSetsInput) (*ListRegexPatternSetsOutput, error)

ListRegexPatternSets API operation for AWS WAFV2.

Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListRegexPatternSets for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListRegexPatternSets

func (*WAFV2) ListRegexPatternSetsRequest

func (c *WAFV2) ListRegexPatternSetsRequest(input *ListRegexPatternSetsInput) (req *request.Request, output *ListRegexPatternSetsOutput)

ListRegexPatternSetsRequest generates a "aws/request.Request" representing the client's request for the ListRegexPatternSets operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListRegexPatternSets for more information on using the ListRegexPatternSets API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListRegexPatternSetsRequest method.
req, resp := client.ListRegexPatternSetsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListRegexPatternSets

func (*WAFV2) ListRegexPatternSetsWithContext

func (c *WAFV2) ListRegexPatternSetsWithContext(ctx aws.Context, input *ListRegexPatternSetsInput, opts ...request.Option) (*ListRegexPatternSetsOutput, error)

ListRegexPatternSetsWithContext is the same as ListRegexPatternSets with the addition of the ability to pass a context and additional request options.

See ListRegexPatternSets for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListResourcesForWebACL

func (c *WAFV2) ListResourcesForWebACL(input *ListResourcesForWebACLInput) (*ListResourcesForWebACLOutput, error)

ListResourcesForWebACL API operation for AWS WAFV2.

Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL.

For Amazon CloudFront, don't use this call. Instead, use the CloudFront call ListDistributionsByWebACLId. For information, see ListDistributionsByWebACLId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html) in the Amazon CloudFront API Reference.

Required permissions for customer-managed IAM policies

This call requires permissions that are specific to the protected resource type. For details, see Permissions for ListResourcesForWebACL (https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-ListResourcesForWebACL) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListResourcesForWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListResourcesForWebACL

func (*WAFV2) ListResourcesForWebACLRequest

func (c *WAFV2) ListResourcesForWebACLRequest(input *ListResourcesForWebACLInput) (req *request.Request, output *ListResourcesForWebACLOutput)

ListResourcesForWebACLRequest generates a "aws/request.Request" representing the client's request for the ListResourcesForWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListResourcesForWebACL for more information on using the ListResourcesForWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListResourcesForWebACLRequest method.
req, resp := client.ListResourcesForWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListResourcesForWebACL

func (*WAFV2) ListResourcesForWebACLWithContext

func (c *WAFV2) ListResourcesForWebACLWithContext(ctx aws.Context, input *ListResourcesForWebACLInput, opts ...request.Option) (*ListResourcesForWebACLOutput, error)

ListResourcesForWebACLWithContext is the same as ListResourcesForWebACL with the addition of the ability to pass a context and additional request options.

See ListResourcesForWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListRuleGroups

func (c *WAFV2) ListRuleGroups(input *ListRuleGroupsInput) (*ListRuleGroupsOutput, error)

ListRuleGroups API operation for AWS WAFV2.

Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListRuleGroups for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListRuleGroups

func (*WAFV2) ListRuleGroupsRequest

func (c *WAFV2) ListRuleGroupsRequest(input *ListRuleGroupsInput) (req *request.Request, output *ListRuleGroupsOutput)

ListRuleGroupsRequest generates a "aws/request.Request" representing the client's request for the ListRuleGroups operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListRuleGroups for more information on using the ListRuleGroups API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListRuleGroupsRequest method.
req, resp := client.ListRuleGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListRuleGroups

func (*WAFV2) ListRuleGroupsWithContext

func (c *WAFV2) ListRuleGroupsWithContext(ctx aws.Context, input *ListRuleGroupsInput, opts ...request.Option) (*ListRuleGroupsOutput, error)

ListRuleGroupsWithContext is the same as ListRuleGroups with the addition of the ability to pass a context and additional request options.

See ListRuleGroups for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListTagsForResource

func (c *WAFV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error)

ListTagsForResource API operation for AWS WAFV2.

Retrieves the TagInfoForResource for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListTagsForResource for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListTagsForResource

func (*WAFV2) ListTagsForResourceRequest

func (c *WAFV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput)

ListTagsForResourceRequest generates a "aws/request.Request" representing the client's request for the ListTagsForResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListTagsForResource for more information on using the ListTagsForResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListTagsForResourceRequest method.
req, resp := client.ListTagsForResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListTagsForResource

func (*WAFV2) ListTagsForResourceWithContext

func (c *WAFV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error)

ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of the ability to pass a context and additional request options.

See ListTagsForResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) ListWebACLs

func (c *WAFV2) ListWebACLs(input *ListWebACLsInput) (*ListWebACLsOutput, error)

ListWebACLs API operation for AWS WAFV2.

Retrieves an array of WebACLSummary objects for the web ACLs that you manage.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation ListWebACLs for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListWebACLs

func (*WAFV2) ListWebACLsRequest

func (c *WAFV2) ListWebACLsRequest(input *ListWebACLsInput) (req *request.Request, output *ListWebACLsOutput)

ListWebACLsRequest generates a "aws/request.Request" representing the client's request for the ListWebACLs operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListWebACLs for more information on using the ListWebACLs API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListWebACLsRequest method.
req, resp := client.ListWebACLsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListWebACLs

func (*WAFV2) ListWebACLsWithContext

func (c *WAFV2) ListWebACLsWithContext(ctx aws.Context, input *ListWebACLsInput, opts ...request.Option) (*ListWebACLsOutput, error)

ListWebACLsWithContext is the same as ListWebACLs with the addition of the ability to pass a context and additional request options.

See ListWebACLs for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) PutLoggingConfiguration

func (c *WAFV2) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error)

PutLoggingConfiguration API operation for AWS WAFV2.

Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.

This operation completely replaces any mutable specifications that you already have for a logging configuration with the ones that you provide to this call.

To modify an existing logging configuration, do the following:

Retrieve it by calling GetLoggingConfiguration

Update its settings as needed

Provide the complete logging configuration specification to this call

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.

The name that you give the destination must start with aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.

For configuration requirements and pricing information for each destination type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation PutLoggingConfiguration for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFServiceLinkedRoleErrorException WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a call to DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFLogDestinationPermissionIssueException The operation failed because you don't have the permissions that your logging configuration requires. For information, see Logging web ACL traffic information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF Developer Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration

func (*WAFV2) PutLoggingConfigurationRequest

func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInput) (req *request.Request, output *PutLoggingConfigurationOutput)

PutLoggingConfigurationRequest generates a "aws/request.Request" representing the client's request for the PutLoggingConfiguration operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See PutLoggingConfiguration for more information on using the PutLoggingConfiguration API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the PutLoggingConfigurationRequest method.
req, resp := client.PutLoggingConfigurationRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration

func (*WAFV2) PutLoggingConfigurationWithContext

func (c *WAFV2) PutLoggingConfigurationWithContext(ctx aws.Context, input *PutLoggingConfigurationInput, opts ...request.Option) (*PutLoggingConfigurationOutput, error)

PutLoggingConfigurationWithContext is the same as PutLoggingConfiguration with the addition of the ability to pass a context and additional request options.

See PutLoggingConfiguration for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) PutManagedRuleSetVersions added in v1.40.18

func (c *WAFV2) PutManagedRuleSetVersions(input *PutManagedRuleSetVersionsInput) (*PutManagedRuleSetVersionsOutput, error)

PutManagedRuleSetVersions API operation for AWS WAFV2.

Defines the versions of your managed rule set that you are offering to the customers. Customers see your offerings as managed rule groups with versioning.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

Customers retrieve their managed rule group list by calling ListAvailableManagedRuleGroups. The name that you provide here for your managed rule set is the name the customer sees for the corresponding managed rule group. Customers can retrieve the available versions for a managed rule group by calling ListAvailableManagedRuleGroupVersions. You provide a rule group specification for each version. For each managed rule set, you must specify a version that you recommend using.

To initiate the expiration of a managed rule group version, use UpdateManagedRuleSetVersionExpiryDate.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation PutManagedRuleSetVersions for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutManagedRuleSetVersions

func (*WAFV2) PutManagedRuleSetVersionsRequest added in v1.40.18

func (c *WAFV2) PutManagedRuleSetVersionsRequest(input *PutManagedRuleSetVersionsInput) (req *request.Request, output *PutManagedRuleSetVersionsOutput)

PutManagedRuleSetVersionsRequest generates a "aws/request.Request" representing the client's request for the PutManagedRuleSetVersions operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See PutManagedRuleSetVersions for more information on using the PutManagedRuleSetVersions API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the PutManagedRuleSetVersionsRequest method.
req, resp := client.PutManagedRuleSetVersionsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutManagedRuleSetVersions

func (*WAFV2) PutManagedRuleSetVersionsWithContext added in v1.40.18

func (c *WAFV2) PutManagedRuleSetVersionsWithContext(ctx aws.Context, input *PutManagedRuleSetVersionsInput, opts ...request.Option) (*PutManagedRuleSetVersionsOutput, error)

PutManagedRuleSetVersionsWithContext is the same as PutManagedRuleSetVersions with the addition of the ability to pass a context and additional request options.

See PutManagedRuleSetVersions for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) PutPermissionPolicy added in v1.30.1

func (c *WAFV2) PutPermissionPolicy(input *PutPermissionPolicyInput) (*PutPermissionPolicyOutput, error)

PutPermissionPolicy API operation for AWS WAFV2.

Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.

You must be the owner of the rule group to perform this operation.

This action is subject to the following restrictions:

  • You can attach only one policy with each PutPermissionPolicy request.

  • The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same Region.

  • The user making the request must be the owner of the rule group.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation PutPermissionPolicy for usage and error information.

Returned Error Types:

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFInvalidPermissionPolicyException The operation failed because the specified policy isn't in the proper format.

    The policy specifications must conform to the following:

  • The policy must be composed using IAM Policy version 2012-10-17.

  • The policy must include specifications for Effect, Action, and Principal.

  • Effect must specify Allow.

  • Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups and may optionally specify wafv2:GetRuleGroup. WAF rejects any extra actions or wildcard actions in the policy.

  • The policy must not include a Resource parameter.

    For more information, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutPermissionPolicy

func (*WAFV2) PutPermissionPolicyRequest added in v1.30.1

func (c *WAFV2) PutPermissionPolicyRequest(input *PutPermissionPolicyInput) (req *request.Request, output *PutPermissionPolicyOutput)

PutPermissionPolicyRequest generates a "aws/request.Request" representing the client's request for the PutPermissionPolicy operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See PutPermissionPolicy for more information on using the PutPermissionPolicy API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the PutPermissionPolicyRequest method.
req, resp := client.PutPermissionPolicyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutPermissionPolicy

func (*WAFV2) PutPermissionPolicyWithContext added in v1.30.1

func (c *WAFV2) PutPermissionPolicyWithContext(ctx aws.Context, input *PutPermissionPolicyInput, opts ...request.Option) (*PutPermissionPolicyOutput, error)

PutPermissionPolicyWithContext is the same as PutPermissionPolicy with the addition of the ability to pass a context and additional request options.

See PutPermissionPolicy for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) TagResource

func (c *WAFV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error)

TagResource API operation for AWS WAFV2.

Associates tags with the specified Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation TagResource for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/TagResource

func (*WAFV2) TagResourceRequest

func (c *WAFV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput)

TagResourceRequest generates a "aws/request.Request" representing the client's request for the TagResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See TagResource for more information on using the TagResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the TagResourceRequest method.
req, resp := client.TagResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/TagResource

func (*WAFV2) TagResourceWithContext

func (c *WAFV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error)

TagResourceWithContext is the same as TagResource with the addition of the ability to pass a context and additional request options.

See TagResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UntagResource

func (c *WAFV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error)

UntagResource API operation for AWS WAFV2.

Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs that you can associate with Amazon Web Services resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each Amazon Web Services resource.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UntagResource for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFTagOperationException An error occurred during the tagging operation. Retry your request.

  • WAFTagOperationInternalErrorException WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UntagResource

func (*WAFV2) UntagResourceRequest

func (c *WAFV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput)

UntagResourceRequest generates a "aws/request.Request" representing the client's request for the UntagResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UntagResource for more information on using the UntagResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UntagResourceRequest method.
req, resp := client.UntagResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UntagResource

func (*WAFV2) UntagResourceWithContext

func (c *WAFV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error)

UntagResourceWithContext is the same as UntagResource with the addition of the ability to pass a context and additional request options.

See UntagResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UpdateIPSet

func (c *WAFV2) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error)

UpdateIPSet API operation for AWS WAFV2.

Updates the specified IPSet.

This operation completely replaces the mutable specifications that you already have for the IP set with the ones that you provide to this call.

To modify an IP set, do the following:

Retrieve it by calling GetIPSet

Update its settings as needed

Provide the complete IP set specification to this call

Temporary inconsistencies during updates

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

The following are examples of the temporary inconsistencies that you might notice during change propagation:

  • After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.

  • After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.

  • After you change a rule action setting, you might see the old action in some places and the new action in others.

  • After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UpdateIPSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateIPSet

func (*WAFV2) UpdateIPSetRequest

func (c *WAFV2) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput)

UpdateIPSetRequest generates a "aws/request.Request" representing the client's request for the UpdateIPSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateIPSet for more information on using the UpdateIPSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateIPSetRequest method.
req, resp := client.UpdateIPSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateIPSet

func (*WAFV2) UpdateIPSetWithContext

func (c *WAFV2) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error)

UpdateIPSetWithContext is the same as UpdateIPSet with the addition of the ability to pass a context and additional request options.

See UpdateIPSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UpdateManagedRuleSetVersionExpiryDate added in v1.40.18

func (c *WAFV2) UpdateManagedRuleSetVersionExpiryDate(input *UpdateManagedRuleSetVersionExpiryDateInput) (*UpdateManagedRuleSetVersionExpiryDateOutput, error)

UpdateManagedRuleSetVersionExpiryDate API operation for AWS WAFV2.

Updates the expiration information for your managed rule set. Use this to initiate the expiration of a managed rule group version. After you initiate expiration for a version, WAF excludes it from the response to ListAvailableManagedRuleGroupVersions for the managed rule group.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UpdateManagedRuleSetVersionExpiryDate for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate

func (*WAFV2) UpdateManagedRuleSetVersionExpiryDateRequest added in v1.40.18

func (c *WAFV2) UpdateManagedRuleSetVersionExpiryDateRequest(input *UpdateManagedRuleSetVersionExpiryDateInput) (req *request.Request, output *UpdateManagedRuleSetVersionExpiryDateOutput)

UpdateManagedRuleSetVersionExpiryDateRequest generates a "aws/request.Request" representing the client's request for the UpdateManagedRuleSetVersionExpiryDate operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateManagedRuleSetVersionExpiryDate for more information on using the UpdateManagedRuleSetVersionExpiryDate API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateManagedRuleSetVersionExpiryDateRequest method.
req, resp := client.UpdateManagedRuleSetVersionExpiryDateRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate

func (*WAFV2) UpdateManagedRuleSetVersionExpiryDateWithContext added in v1.40.18

func (c *WAFV2) UpdateManagedRuleSetVersionExpiryDateWithContext(ctx aws.Context, input *UpdateManagedRuleSetVersionExpiryDateInput, opts ...request.Option) (*UpdateManagedRuleSetVersionExpiryDateOutput, error)

UpdateManagedRuleSetVersionExpiryDateWithContext is the same as UpdateManagedRuleSetVersionExpiryDate with the addition of the ability to pass a context and additional request options.

See UpdateManagedRuleSetVersionExpiryDate for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UpdateRegexPatternSet

func (c *WAFV2) UpdateRegexPatternSet(input *UpdateRegexPatternSetInput) (*UpdateRegexPatternSetOutput, error)

UpdateRegexPatternSet API operation for AWS WAFV2.

Updates the specified RegexPatternSet.

This operation completely replaces the mutable specifications that you already have for the regex pattern set with the ones that you provide to this call.

To modify a regex pattern set, do the following:

Retrieve it by calling GetRegexPatternSet

Update its settings as needed

Provide the complete regex pattern set specification to this call

Temporary inconsistencies during updates

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

The following are examples of the temporary inconsistencies that you might notice during change propagation:

  • After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.

  • After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.

  • After you change a rule action setting, you might see the old action in some places and the new action in others.

  • After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UpdateRegexPatternSet for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFInvalidOperationException The operation isn't valid.

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRegexPatternSet

func (*WAFV2) UpdateRegexPatternSetRequest

func (c *WAFV2) UpdateRegexPatternSetRequest(input *UpdateRegexPatternSetInput) (req *request.Request, output *UpdateRegexPatternSetOutput)

UpdateRegexPatternSetRequest generates a "aws/request.Request" representing the client's request for the UpdateRegexPatternSet operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateRegexPatternSet for more information on using the UpdateRegexPatternSet API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateRegexPatternSetRequest method.
req, resp := client.UpdateRegexPatternSetRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRegexPatternSet

func (*WAFV2) UpdateRegexPatternSetWithContext

func (c *WAFV2) UpdateRegexPatternSetWithContext(ctx aws.Context, input *UpdateRegexPatternSetInput, opts ...request.Option) (*UpdateRegexPatternSetOutput, error)

UpdateRegexPatternSetWithContext is the same as UpdateRegexPatternSet with the addition of the ability to pass a context and additional request options.

See UpdateRegexPatternSet for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UpdateRuleGroup

func (c *WAFV2) UpdateRuleGroup(input *UpdateRuleGroupInput) (*UpdateRuleGroupOutput, error)

UpdateRuleGroup API operation for AWS WAFV2.

Updates the specified RuleGroup.

This operation completely replaces the mutable specifications that you already have for the rule group with the ones that you provide to this call.

To modify a rule group, do the following:

Retrieve it by calling GetRuleGroup

Update its settings as needed

Provide the complete rule group specification to this call

A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

Temporary inconsistencies during updates

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

The following are examples of the temporary inconsistencies that you might notice during change propagation:

  • After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.

  • After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.

  • After you change a rule action setting, you might see the old action in some places and the new action in others.

  • After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UpdateRuleGroup for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFSubscriptionNotFoundException You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFConfigurationWarningException The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an OversizeHandling configuration or they must be preceded by a SizeConstraintStatement that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling configuration.

    Provide the handling configuration and retry your operation.

    Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut, value:true).

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRuleGroup

func (*WAFV2) UpdateRuleGroupRequest

func (c *WAFV2) UpdateRuleGroupRequest(input *UpdateRuleGroupInput) (req *request.Request, output *UpdateRuleGroupOutput)

UpdateRuleGroupRequest generates a "aws/request.Request" representing the client's request for the UpdateRuleGroup operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateRuleGroup for more information on using the UpdateRuleGroup API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateRuleGroupRequest method.
req, resp := client.UpdateRuleGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRuleGroup

func (*WAFV2) UpdateRuleGroupWithContext

func (c *WAFV2) UpdateRuleGroupWithContext(ctx aws.Context, input *UpdateRuleGroupInput, opts ...request.Option) (*UpdateRuleGroupOutput, error)

UpdateRuleGroupWithContext is the same as UpdateRuleGroup with the addition of the ability to pass a context and additional request options.

See UpdateRuleGroup for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*WAFV2) UpdateWebACL

func (c *WAFV2) UpdateWebACL(input *UpdateWebACLInput) (*UpdateWebACLOutput, error)

UpdateWebACL API operation for AWS WAFV2.

Updates the specified WebACL. While updating a web ACL, WAF provides continuous coverage to the resources that you have associated with the web ACL.

This operation completely replaces the mutable specifications that you already have for the web ACL with the ones that you provide to this call.

To modify a web ACL, do the following:

Retrieve it by calling GetWebACL

Update its settings as needed

Provide the complete web ACL specification to this call

A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

Temporary inconsistencies during updates

When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.

The following are examples of the temporary inconsistencies that you might notice during change propagation:

  • After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.

  • After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.

  • After you change a rule action setting, you might see the old action in some places and the new action in others.

  • After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS WAFV2's API operation UpdateWebACL for usage and error information.

Returned Error Types:

  • WAFInternalErrorException Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your request.

  • WAFInvalidParameterException The operation failed because WAF didn't recognize a parameter in the request. For example:

  • You specified a parameter name or value that isn't valid.

  • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

  • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.

  • WAFNonexistentItemException WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.

  • WAFDuplicateItemException WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

  • WAFOptimisticLockException WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

  • WAFLimitsExceededException WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the WAF Developer Guide.

  • WAFInvalidResourceException WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

  • WAFUnavailableEntityException WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resources that you are specifying in your request parameters and then retry the operation.

  • WAFSubscriptionNotFoundException You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

  • WAFInvalidOperationException The operation isn't valid.

  • WAFExpiredManagedRuleGroupVersionException The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling ListAvailableManagedRuleGroupVersions.

  • WAFConfigurationWarningException The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an OversizeHandling configuration or they must be preceded by a SizeConstraintStatement that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling configuration.

    Provide the handling configuration and retry your operation.

    Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: Tag (key:WAF:OversizeFieldsHandlingConstraintOptOut, value:true).

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateWebACL

func (*WAFV2) UpdateWebACLRequest

func (c *WAFV2) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Request, output *UpdateWebACLOutput)

UpdateWebACLRequest generates a "aws/request.Request" representing the client's request for the UpdateWebACL operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateWebACL for more information on using the UpdateWebACL API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateWebACLRequest method.
req, resp := client.UpdateWebACLRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateWebACL

func (*WAFV2) UpdateWebACLWithContext

func (c *WAFV2) UpdateWebACLWithContext(ctx aws.Context, input *UpdateWebACLInput, opts ...request.Option) (*UpdateWebACLOutput, error)

UpdateWebACLWithContext is the same as UpdateWebACL with the addition of the ability to pass a context and additional request options.

See UpdateWebACL for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

type WebACL

type WebACL struct {

	// The Amazon Resource Name (ARN) of the web ACL that you want to associate
	// with the resource.
	//
	// ARN is a required field
	ARN *string `min:"20" type:"string" required:"true"`

	// Specifies custom configurations for the associations between the web ACL
	// and protected resources.
	//
	// Use this to customize the maximum size of the request body that your protected
	// resources forward to WAF for inspection. You can customize this setting for
	// CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources.
	// The default setting is 16 KB (16,384 bytes).
	//
	// You are charged additional fees when your protected resources forward body
	// sizes that are larger than the default. For more information, see WAF Pricing
	// (http://aws.amazon.com/waf/pricing/).
	//
	// For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192
	// bytes).
	AssociationConfig *AssociationConfig `type:"structure"`

	// The web ACL capacity units (WCUs) currently being used by this web ACL.
	//
	// WAF uses WCUs to calculate and control the operating resources that are used
	// to run your rules, rule groups, and web ACLs. WAF calculates capacity differently
	// for each rule type, to reflect the relative cost of each rule. Simple rules
	// that cost little to run use fewer WCUs than more complex rules that use more
	// processing power. Rule group capacity is fixed at creation, which helps users
	// plan their web ACL WCU usage when they use a rule group. For more information,
	// see WAF web ACL capacity units (WCU) (https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html)
	// in the WAF Developer Guide.
	Capacity *int64 `type:"long"`

	// Specifies how WAF should handle CAPTCHA evaluations for rules that don't
	// have their own CaptchaConfig settings. If you don't specify this, WAF uses
	// its default settings for CaptchaConfig.
	CaptchaConfig *CaptchaConfig `type:"structure"`

	// Specifies how WAF should handle challenge evaluations for rules that don't
	// have their own ChallengeConfig settings. If you don't specify this, WAF uses
	// its default settings for ChallengeConfig.
	ChallengeConfig *ChallengeConfig `type:"structure"`

	// A map of custom response keys and content bodies. When you create a rule
	// with a block action, you can send a custom response to the web request. You
	// define these for the web ACL, and then use them in the rules and default
	// actions that you define in the web ACL.
	//
	// For information about customizing web requests and responses, see Customizing
	// web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html)
	// in the WAF Developer Guide.
	//
	// For information about the limits on count and size for custom request and
	// response settings, see WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
	// in the WAF Developer Guide.
	CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"`

	// The action to perform if none of the Rules contained in the WebACL match.
	//
	// DefaultAction is a required field
	DefaultAction *DefaultAction `type:"structure" required:"true"`

	// A description of the web ACL that helps with identification.
	Description *string `min:"1" type:"string"`

	// A unique identifier for the WebACL. This ID is returned in the responses
	// to create and list commands. You use this ID to do things like get, update,
	// and delete a WebACL.
	//
	// Id is a required field
	Id *string `min:"1" type:"string" required:"true"`

	// The label namespace prefix for this web ACL. All labels added by rules in
	// this web ACL have this prefix.
	//
	//    * The syntax for the label namespace prefix for a web ACL is the following:
	//    awswaf:<account ID>:webacl:<web ACL name>:
	//
	//    * When a rule with a label matches a web request, WAF adds the fully qualified
	//    label to the request. A fully qualified label is made up of the label
	//    namespace from the rule group or web ACL where the rule is defined and
	//    the label from the rule, separated by a colon: <label namespace>:<label
	//    from rule>
	LabelNamespace *string `min:"1" type:"string"`

	// Indicates whether this web ACL is managed by Firewall Manager. If true, then
	// only Firewall Manager can delete the web ACL or any Firewall Manager rule
	// groups in the web ACL.
	ManagedByFirewallManager *bool `type:"boolean"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The last set of rules for WAF to process in the web ACL. This is defined
	// in an Firewall Manager WAF policy and contains only rule group references.
	// You can't alter these. Any rules and rule groups that you define for the
	// web ACL are prioritized before these.
	//
	// In the Firewall Manager WAF policy, the Firewall Manager administrator can
	// define a set of rule groups to run first in the web ACL and a set of rule
	// groups to run last. Within each set, the administrator prioritizes the rule
	// groups, to determine their relative processing order.
	PostProcessFirewallManagerRuleGroups []*FirewallManagerRuleGroup `type:"list"`

	// The first set of rules for WAF to process in the web ACL. This is defined
	// in an Firewall Manager WAF policy and contains only rule group references.
	// You can't alter these. Any rules and rule groups that you define for the
	// web ACL are prioritized after these.
	//
	// In the Firewall Manager WAF policy, the Firewall Manager administrator can
	// define a set of rule groups to run first in the web ACL and a set of rule
	// groups to run last. Within each set, the administrator prioritizes the rule
	// groups, to determine their relative processing order.
	PreProcessFirewallManagerRuleGroups []*FirewallManagerRuleGroup `type:"list"`

	// The Rule statements used to identify the web requests that you want to manage.
	// Each rule includes one top-level statement that WAF uses to identify matching
	// web requests, and parameters that govern how WAF handles them.
	Rules []*Rule `type:"list"`

	// Specifies the domains that WAF should accept in a web request token. This
	// enables the use of tokens across multiple protected websites. When WAF provides
	// a token, it uses the domain of the Amazon Web Services resource that the
	// web ACL is protecting. If you don't specify a list of token domains, WAF
	// accepts tokens only for the domain of the protected resource. With a token
	// domain list, WAF accepts the resource's host domain plus all domains in the
	// token domain list, including their prefixed subdomains.
	TokenDomains []*string `type:"list"`

	// Defines and enables Amazon CloudWatch metrics and web request sample collection.
	//
	// VisibilityConfig is a required field
	VisibilityConfig *VisibilityConfig `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

func (WebACL) GoString

func (s WebACL) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WebACL) SetARN

func (s *WebACL) SetARN(v string) *WebACL

SetARN sets the ARN field's value.

func (*WebACL) SetAssociationConfig added in v1.44.235

func (s *WebACL) SetAssociationConfig(v *AssociationConfig) *WebACL

SetAssociationConfig sets the AssociationConfig field's value.

func (*WebACL) SetCapacity

func (s *WebACL) SetCapacity(v int64) *WebACL

SetCapacity sets the Capacity field's value.

func (*WebACL) SetCaptchaConfig added in v1.42.0

func (s *WebACL) SetCaptchaConfig(v *CaptchaConfig) *WebACL

SetCaptchaConfig sets the CaptchaConfig field's value.

func (*WebACL) SetChallengeConfig added in v1.44.125

func (s *WebACL) SetChallengeConfig(v *ChallengeConfig) *WebACL

SetChallengeConfig sets the ChallengeConfig field's value.

func (*WebACL) SetCustomResponseBodies added in v1.38.8

func (s *WebACL) SetCustomResponseBodies(v map[string]*CustomResponseBody) *WebACL

SetCustomResponseBodies sets the CustomResponseBodies field's value.

func (*WebACL) SetDefaultAction

func (s *WebACL) SetDefaultAction(v *DefaultAction) *WebACL

SetDefaultAction sets the DefaultAction field's value.

func (*WebACL) SetDescription

func (s *WebACL) SetDescription(v string) *WebACL

SetDescription sets the Description field's value.

func (*WebACL) SetId

func (s *WebACL) SetId(v string) *WebACL

SetId sets the Id field's value.

func (*WebACL) SetLabelNamespace added in v1.38.11

func (s *WebACL) SetLabelNamespace(v string) *WebACL

SetLabelNamespace sets the LabelNamespace field's value.

func (*WebACL) SetManagedByFirewallManager added in v1.30.1

func (s *WebACL) SetManagedByFirewallManager(v bool) *WebACL

SetManagedByFirewallManager sets the ManagedByFirewallManager field's value.

func (*WebACL) SetName

func (s *WebACL) SetName(v string) *WebACL

SetName sets the Name field's value.

func (*WebACL) SetPostProcessFirewallManagerRuleGroups added in v1.30.1

func (s *WebACL) SetPostProcessFirewallManagerRuleGroups(v []*FirewallManagerRuleGroup) *WebACL

SetPostProcessFirewallManagerRuleGroups sets the PostProcessFirewallManagerRuleGroups field's value.

func (*WebACL) SetPreProcessFirewallManagerRuleGroups added in v1.30.1

func (s *WebACL) SetPreProcessFirewallManagerRuleGroups(v []*FirewallManagerRuleGroup) *WebACL

SetPreProcessFirewallManagerRuleGroups sets the PreProcessFirewallManagerRuleGroups field's value.

func (*WebACL) SetRules

func (s *WebACL) SetRules(v []*Rule) *WebACL

SetRules sets the Rules field's value.

func (*WebACL) SetTokenDomains added in v1.44.125

func (s *WebACL) SetTokenDomains(v []*string) *WebACL

SetTokenDomains sets the TokenDomains field's value.

func (*WebACL) SetVisibilityConfig

func (s *WebACL) SetVisibilityConfig(v *VisibilityConfig) *WebACL

SetVisibilityConfig sets the VisibilityConfig field's value.

func (WebACL) String

func (s WebACL) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type WebACLSummary

type WebACLSummary struct {

	// The Amazon Resource Name (ARN) of the entity.
	ARN *string `min:"20" type:"string"`

	// A description of the web ACL that helps with identification.
	Description *string `min:"1" type:"string"`

	// The unique identifier for the web ACL. This ID is returned in the responses
	// to create and list commands. You provide it to operations like update and
	// delete.
	Id *string `min:"1" type:"string"`

	// A token used for optimistic locking. WAF returns a token to your get and
	// list requests, to mark the state of the entity at the time of the request.
	// To make changes to the entity associated with the token, you provide the
	// token to operations like update and delete. WAF uses the token to ensure
	// that no changes have been made to the entity since you last retrieved it.
	// If a change has been made, the update fails with a WAFOptimisticLockException.
	// If this happens, perform another get, and use the new token returned by that
	// operation.
	LockToken *string `min:"1" type:"string"`

	// The name of the web ACL. You cannot change the name of a web ACL after you
	// create it.
	Name *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

High-level information about a WebACL, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a WebACL, and the ARN, that you provide to operations like AssociateWebACL.

func (WebACLSummary) GoString

func (s WebACLSummary) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*WebACLSummary) SetARN

func (s *WebACLSummary) SetARN(v string) *WebACLSummary

SetARN sets the ARN field's value.

func (*WebACLSummary) SetDescription

func (s *WebACLSummary) SetDescription(v string) *WebACLSummary

SetDescription sets the Description field's value.

func (*WebACLSummary) SetId

func (s *WebACLSummary) SetId(v string) *WebACLSummary

SetId sets the Id field's value.

func (*WebACLSummary) SetLockToken

func (s *WebACLSummary) SetLockToken(v string) *WebACLSummary

SetLockToken sets the LockToken field's value.

func (*WebACLSummary) SetName

func (s *WebACLSummary) SetName(v string) *WebACLSummary

SetName sets the Name field's value.

func (WebACLSummary) String

func (s WebACLSummary) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

type XssMatchStatement

type XssMatchStatement struct {

	// The part of the web request that you want WAF to inspect.
	//
	// FieldToMatch is a required field
	FieldToMatch *FieldToMatch `type:"structure" required:"true"`

	// Text transformations eliminate some of the unusual formatting that attackers
	// use in web requests in an effort to bypass detection. Text transformations
	// are used in rule match statements, to transform the FieldToMatch request
	// component before inspecting it, and they're used in rate-based rule statements,
	// to transform request components before using them as custom aggregation keys.
	// If you specify one or more transformations to apply, WAF performs all transformations
	// on the specified content, starting from the lowest priority setting, and
	// then uses the transformed component contents.
	//
	// TextTransformations is a required field
	TextTransformations []*TextTransformation `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

func (XssMatchStatement) GoString

func (s XssMatchStatement) GoString() string

GoString returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*XssMatchStatement) SetFieldToMatch

func (s *XssMatchStatement) SetFieldToMatch(v *FieldToMatch) *XssMatchStatement

SetFieldToMatch sets the FieldToMatch field's value.

func (*XssMatchStatement) SetTextTransformations

func (s *XssMatchStatement) SetTextTransformations(v []*TextTransformation) *XssMatchStatement

SetTextTransformations sets the TextTransformations field's value.

func (XssMatchStatement) String

func (s XssMatchStatement) String() string

String returns the string representation.

API parameter values that are decorated as "sensitive" in the API will not be included in the string output. The member name will be present, but the value will be replaced with "sensitive".

func (*XssMatchStatement) Validate

func (s *XssMatchStatement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

Directories

Path Synopsis
Package wafv2iface provides an interface to enable mocking the AWS WAFV2 service client for testing your code.
Package wafv2iface provides an interface to enable mocking the AWS WAFV2 service client for testing your code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL