GetRuleGroup Swift3 Example
func chilkatTest() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let rest = CkoRest()!
var success: Bool
let authAws = CkoAuthAws()!
authAws.accessKey = "AWS_ACCESS_KEY"
authAws.secretKey = "AWS_SECRET_KEY"
// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.region = "us-west-2"
authAws.serviceName = "wafv2"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.setAuthAws(authAws)
// URL: https://wafv2.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.connect("wafv2.us-west-2.amazonaws.com", port: 443, tls: true, autoReconnect: true)
if success != true {
print("ConnectFailReason: \(rest.connectFailReason.intValue)")
print("\(rest.lastErrorText!)")
return
}
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
let json = CkoJsonObject()!
json.update("ARN", value: "string")
json.update("Id", value: "string")
json.update("Name", value: "string")
json.update("Scope", value: "string")
// The JSON request body created by the above code:
// {
// "ARN": "string",
// "Id": "string",
// "Name": "string",
// "Scope": "string"
// }
rest.addHeader("Content-Type", value: "application/x-amz-json-1.1")
rest.addHeader("X-Amz-Target", value: "AWSWAF_20190729.GetRuleGroup")
let sbRequestBody = CkoStringBuilder()!
json.emitSb(sbRequestBody)
let sbResponseBody = CkoStringBuilder()!
success = rest.fullRequestSb("POST", uriPath: "/", requestBody: sbRequestBody, responseBody: sbResponseBody)
if success != true {
print("\(rest.lastErrorText!)")
return
}
var respStatusCode: Int = rest.responseStatusCode.intValue
print("response status code = \(respStatusCode)")
if respStatusCode != 200 {
print("Response Header:")
print("\(rest.responseHeader!)")
print("Response Body:")
print("\(sbResponseBody.getAsString()!)")
return
}
let jResp = CkoJsonObject()!
jResp.loadSb(sbResponseBody)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
var CustomResponseBodyKey: String?
var ResponseCode: Int
var ImmunityTime: Int
var Priority: Int
var OversizeHandling: String?
var MatchScope: String?
var CookiesOversizeHandling: String?
var HeadersMatchScope: String?
var HeadersOversizeHandling: String?
var InvalidFallbackBehavior: String?
var JsonBodyMatchScope: String?
var JsonBodyOversizeHandling: String?
var SingleHeaderName: String?
var SingleQueryArgumentName: String?
var PositionalConstraint: String?
var SearchString: Int
var FallbackBehavior: String?
var HeaderName: String?
var IPSetReferenceStatementARN: String?
var IPSetForwardedIPConfigFallbackBehavior: String?
var IPSetForwardedIPConfigHeaderName: String?
var Position: String?
var Key: String?
var Scope: String?
var ManagedRuleGroupStatementName: String?
var ScopeDownStatement: String?
var VendorName: String?
var Version: String?
var Statement: String?
var AggregateKeyType: String?
var ForwardedIPConfigFallbackBehavior: String?
var ForwardedIPConfigHeaderName: String?
var Limit: Int
var RateBasedStatementScopeDownStatement: String?
var BodyOversizeHandling: String?
var CookiesMatchScope: String?
var JsonBodyInvalidFallbackBehavior: String?
var RegexString: String?
var RegexPatternSetReferenceStatementARN: String?
var RuleGroupReferenceStatementARN: String?
var ComparisonOperator: String?
var Size: Int
var VisibilityConfigCloudWatchMetricsEnabled: Int
var VisibilityConfigMetricName: String?
var VisibilityConfigSampledRequestsEnabled: Int
var j: Int
var count_j: Int
var Value: String?
var strVal: String?
var v_Type: String?
var LoginPath: String?
var Identifier: String?
var PayloadType: String?
var UsernameFieldIdentifier: String?
var LockToken: String? = jResp.string(of: "LockToken")
var ARN: String? = jResp.string(of: "RuleGroup.ARN")
var Capacity: Int = jResp.int(of: "RuleGroup.Capacity").intValue
var Content: String? = jResp.string(of: "RuleGroup.CustomResponseBodies.string.Content")
var ContentType: String? = jResp.string(of: "RuleGroup.CustomResponseBodies.string.ContentType")
var Description: String? = jResp.string(of: "RuleGroup.Description")
var Id: String? = jResp.string(of: "RuleGroup.Id")
var LabelNamespace: String? = jResp.string(of: "RuleGroup.LabelNamespace")
var Name: String? = jResp.string(of: "RuleGroup.Name")
var CloudWatchMetricsEnabled: Int = jResp.int(of: "RuleGroup.VisibilityConfig.CloudWatchMetricsEnabled").intValue
var MetricName: String? = jResp.string(of: "RuleGroup.VisibilityConfig.MetricName")
var SampledRequestsEnabled: Int = jResp.int(of: "RuleGroup.VisibilityConfig.SampledRequestsEnabled").intValue
var i: Int = 0
var count_i: Int = jResp.size(ofArray: "RuleGroup.AvailableLabels").intValue
while i < count_i {
jResp.i = i
Name = jResp.string(of: "RuleGroup.AvailableLabels[i].Name")
i = i + 1
}
i = 0
count_i = jResp.size(ofArray: "RuleGroup.ConsumedLabels").intValue
while i < count_i {
jResp.i = i
Name = jResp.string(of: "RuleGroup.ConsumedLabels[i].Name")
i = i + 1
}
i = 0
count_i = jResp.size(ofArray: "RuleGroup.Rules").intValue
while i < count_i {
jResp.i = i
CustomResponseBodyKey = jResp.string(of: "RuleGroup.Rules[i].Action.Block.CustomResponse.CustomResponseBodyKey")
ResponseCode = jResp.int(of: "RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseCode").intValue
ImmunityTime = jResp.int(of: "RuleGroup.Rules[i].CaptchaConfig.ImmunityTimeProperty.ImmunityTime").intValue
Name = jResp.string(of: "RuleGroup.Rules[i].Name")
Priority = jResp.int(of: "RuleGroup.Rules[i].Priority").intValue
OversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling")
MatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling")
InvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name")
PositionalConstraint = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.PositionalConstraint")
SearchString = jResp.int(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.SearchString").intValue
FallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior")
HeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName")
IPSetReferenceStatementARN = jResp.string(of: "RuleGroup.Rules[i].Statement.IPSetReferenceStatement.ARN")
IPSetForwardedIPConfigFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior")
IPSetForwardedIPConfigHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName")
Position = jResp.string(of: "RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position")
Key = jResp.string(of: "RuleGroup.Rules[i].Statement.LabelMatchStatement.Key")
Scope = jResp.string(of: "RuleGroup.Rules[i].Statement.LabelMatchStatement.Scope")
ManagedRuleGroupStatementName = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.Name")
ScopeDownStatement = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ScopeDownStatement")
VendorName = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.VendorName")
Version = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.Version")
Statement = jResp.string(of: "RuleGroup.Rules[i].Statement.NotStatement.Statement")
AggregateKeyType = jResp.string(of: "RuleGroup.Rules[i].Statement.RateBasedStatement.AggregateKeyType")
ForwardedIPConfigFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior")
ForwardedIPConfigHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName")
Limit = jResp.int(of: "RuleGroup.Rules[i].Statement.RateBasedStatement.Limit").intValue
RateBasedStatementScopeDownStatement = jResp.string(of: "RuleGroup.Rules[i].Statement.RateBasedStatement.ScopeDownStatement")
BodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling")
CookiesMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling")
JsonBodyInvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name")
RegexString = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.RegexString")
RegexPatternSetReferenceStatementARN = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.ARN")
BodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling")
CookiesMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling")
JsonBodyInvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name")
RuleGroupReferenceStatementARN = jResp.string(of: "RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ARN")
ComparisonOperator = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.ComparisonOperator")
BodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling")
CookiesMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling")
JsonBodyInvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name")
Size = jResp.int(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.Size").intValue
BodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling")
CookiesMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling")
JsonBodyInvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name")
BodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling")
CookiesMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope")
CookiesOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling")
HeadersMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope")
HeadersOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling")
JsonBodyInvalidFallbackBehavior = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior")
JsonBodyMatchScope = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope")
JsonBodyOversizeHandling = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling")
SingleHeaderName = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name")
SingleQueryArgumentName = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name")
VisibilityConfigCloudWatchMetricsEnabled = jResp.int(of: "RuleGroup.Rules[i].VisibilityConfig.CloudWatchMetricsEnabled").intValue
VisibilityConfigMetricName = jResp.string(of: "RuleGroup.Rules[i].VisibilityConfig.MetricName")
VisibilityConfigSampledRequestsEnabled = jResp.int(of: "RuleGroup.Rules[i].VisibilityConfig.SampledRequestsEnabled").intValue
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders[j].Name")
Value = jResp.string(of: "RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders[j].Name")
Value = jResp.string(of: "RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders[j].Name")
Value = jResp.string(of: "RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders[j].Name")
Value = jResp.string(of: "RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders[j].Name")
Value = jResp.string(of: "RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].RuleLabels").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].RuleLabels[j].Name")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.AndStatement.Statements").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.AndStatement.Statements[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.GeoMatchStatement.CountryCodes").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.GeoMatchStatement.CountryCodes[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ExcludedRules").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ExcludedRules[j].Name")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs").intValue
while j < count_j {
jResp.j = j
LoginPath = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].LoginPath")
Identifier = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].PasswordField.Identifier")
PayloadType = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].PayloadType")
UsernameFieldIdentifier = jResp.string(of: "RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].UsernameField.Identifier")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.OrStatement.Statements").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.OrStatement.Statements[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ExcludedRules").intValue
while j < count_j {
jResp.j = j
Name = jResp.string(of: "RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ExcludedRules[j].Name")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "RuleGroup.Rules[i].Statement.XssMatchStatement.TextTransformations").intValue
while j < count_j {
jResp.j = j
Priority = jResp.int(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.TextTransformations[j].Priority").intValue
v_Type = jResp.string(of: "RuleGroup.Rules[i].Statement.XssMatchStatement.TextTransformations[j].Type")
j = j + 1
}
i = i + 1
}
// A sample JSON response body parsed by the above code:
// {
// "LockToken": "string",
// "RuleGroup": {
// "ARN": "string",
// "AvailableLabels": [
// {
// "Name": "string"
// }
// ],
// "Capacity": number,
// "ConsumedLabels": [
// {
// "Name": "string"
// }
// ],
// "CustomResponseBodies": {
// "string": {
// "Content": "string",
// "ContentType": "string"
// }
// },
// "Description": "string",
// "Id": "string",
// "LabelNamespace": "string",
// "Name": "string",
// "Rules": [
// {
// "Action": {
// "Allow": {
// "CustomRequestHandling": {
// "InsertHeaders": [
// {
// "Name": "string",
// "Value": "string"
// }
// ]
// }
// },
// "Block": {
// "CustomResponse": {
// "CustomResponseBodyKey": "string",
// "ResponseCode": number,
// "ResponseHeaders": [
// {
// "Name": "string",
// "Value": "string"
// }
// ]
// }
// },
// "Captcha": {
// "CustomRequestHandling": {
// "InsertHeaders": [
// {
// "Name": "string",
// "Value": "string"
// }
// ]
// }
// },
// "Count": {
// "CustomRequestHandling": {
// "InsertHeaders": [
// {
// "Name": "string",
// "Value": "string"
// }
// ]
// }
// }
// },
// "CaptchaConfig": {
// "ImmunityTimeProperty": {
// "ImmunityTime": number
// }
// },
// "Name": "string",
// "OverrideAction": {
// "Count": {
// "CustomRequestHandling": {
// "InsertHeaders": [
// {
// "Name": "string",
// "Value": "string"
// }
// ]
// }
// },
// "None": {}
// },
// "Priority": number,
// "RuleLabels": [
// {
// "Name": "string"
// }
// ],
// "Statement": {
// "AndStatement": {
// "Statements": [
// "Statement"
// ]
// },
// "ByteMatchStatement": {
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "PositionalConstraint": "string",
// "SearchString": blob,
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// },
// "GeoMatchStatement": {
// "CountryCodes": [
// "string"
// ],
// "ForwardedIPConfig": {
// "FallbackBehavior": "string",
// "HeaderName": "string"
// }
// },
// "IPSetReferenceStatement": {
// "ARN": "string",
// "IPSetForwardedIPConfig": {
// "FallbackBehavior": "string",
// "HeaderName": "string",
// "Position": "string"
// }
// },
// "LabelMatchStatement": {
// "Key": "string",
// "Scope": "string"
// },
// "ManagedRuleGroupStatement": {
// "ExcludedRules": [
// {
// "Name": "string"
// }
// ],
// "ManagedRuleGroupConfigs": [
// {
// "LoginPath": "string",
// "PasswordField": {
// "Identifier": "string"
// },
// "PayloadType": "string",
// "UsernameField": {
// "Identifier": "string"
// }
// }
// ],
// "Name": "string",
// "ScopeDownStatement": "Statement",
// "VendorName": "string",
// "Version": "string"
// },
// "NotStatement": {
// "Statement": "Statement"
// },
// "OrStatement": {
// "Statements": [
// "Statement"
// ]
// },
// "RateBasedStatement": {
// "AggregateKeyType": "string",
// "ForwardedIPConfig": {
// "FallbackBehavior": "string",
// "HeaderName": "string"
// },
// "Limit": number,
// "ScopeDownStatement": "Statement"
// },
// "RegexMatchStatement": {
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "RegexString": "string",
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// },
// "RegexPatternSetReferenceStatement": {
// "ARN": "string",
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// },
// "RuleGroupReferenceStatement": {
// "ARN": "string",
// "ExcludedRules": [
// {
// "Name": "string"
// }
// ]
// },
// "SizeConstraintStatement": {
// "ComparisonOperator": "string",
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "Size": number,
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// },
// "SqliMatchStatement": {
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// },
// "XssMatchStatement": {
// "FieldToMatch": {
// "AllQueryArguments": {},
// "Body": {
// "OversizeHandling": "string"
// },
// "Cookies": {
// "MatchPattern": {
// "All": {},
// "ExcludedCookies": [
// "string"
// ],
// "IncludedCookies": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Headers": {
// "MatchPattern": {
// "All": {},
// "ExcludedHeaders": [
// "string"
// ],
// "IncludedHeaders": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "JsonBody": {
// "InvalidFallbackBehavior": "string",
// "MatchPattern": {
// "All": {},
// "IncludedPaths": [
// "string"
// ]
// },
// "MatchScope": "string",
// "OversizeHandling": "string"
// },
// "Method": {},
// "QueryString": {},
// "SingleHeader": {
// "Name": "string"
// },
// "SingleQueryArgument": {
// "Name": "string"
// },
// "UriPath": {}
// },
// "TextTransformations": [
// {
// "Priority": number,
// "Type": "string"
// }
// ]
// }
// },
// "VisibilityConfig": {
// "CloudWatchMetricsEnabled": boolean,
// "MetricName": "string",
// "SampledRequestsEnabled": boolean
// }
// }
// ],
// "VisibilityConfig": {
// "CloudWatchMetricsEnabled": boolean,
// "MetricName": "string",
// "SampledRequestsEnabled": boolean
// }
// }
// }
}