GetRuleGroup Objective-C Example
#import <CkoRest.h>
#import <CkoAuthAws.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoRest *rest = [[CkoRest alloc] init];
BOOL success;
CkoAuthAws *authAws = [[CkoAuthAws alloc] init];
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: [NSNumber numberWithInt: 443] tls: YES autoReconnect: YES];
if (success != YES) {
NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
NSLog(@"%@",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
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"ARN" value: @"string"];
[json UpdateString: @"Id" value: @"string"];
[json UpdateString: @"Name" value: @"string"];
[json UpdateString: @"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"];
CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init];
[json EmitSb: sbRequestBody];
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [rest FullRequestSb: @"POST" uriPath: @"/" requestBody: sbRequestBody responseBody: sbResponseBody];
if (success != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
int respStatusCode = [rest.ResponseStatusCode intValue];
NSLog(@"%@%d",@"response status code = ",respStatusCode);
if (respStatusCode != 200) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",rest.ResponseHeader);
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[sbResponseBody GetAsString]);
return;
}
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[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
NSString *CustomResponseBodyKey = 0;
int ResponseCode;
int ImmunityTime;
int Priority;
NSString *OversizeHandling = 0;
NSString *MatchScope = 0;
NSString *CookiesOversizeHandling = 0;
NSString *HeadersMatchScope = 0;
NSString *HeadersOversizeHandling = 0;
NSString *InvalidFallbackBehavior = 0;
NSString *JsonBodyMatchScope = 0;
NSString *JsonBodyOversizeHandling = 0;
NSString *SingleHeaderName = 0;
NSString *SingleQueryArgumentName = 0;
NSString *PositionalConstraint = 0;
int SearchString;
NSString *FallbackBehavior = 0;
NSString *HeaderName = 0;
NSString *IPSetReferenceStatementARN = 0;
NSString *IPSetForwardedIPConfigFallbackBehavior = 0;
NSString *IPSetForwardedIPConfigHeaderName = 0;
NSString *Position = 0;
NSString *Key = 0;
NSString *Scope = 0;
NSString *ManagedRuleGroupStatementName = 0;
NSString *ScopeDownStatement = 0;
NSString *VendorName = 0;
NSString *Version = 0;
NSString *Statement = 0;
NSString *AggregateKeyType = 0;
NSString *ForwardedIPConfigFallbackBehavior = 0;
NSString *ForwardedIPConfigHeaderName = 0;
int Limit;
NSString *RateBasedStatementScopeDownStatement = 0;
NSString *BodyOversizeHandling = 0;
NSString *CookiesMatchScope = 0;
NSString *JsonBodyInvalidFallbackBehavior = 0;
NSString *RegexString = 0;
NSString *RegexPatternSetReferenceStatementARN = 0;
NSString *RuleGroupReferenceStatementARN = 0;
NSString *ComparisonOperator = 0;
int Size;
int VisibilityConfigCloudWatchMetricsEnabled;
NSString *VisibilityConfigMetricName = 0;
int VisibilityConfigSampledRequestsEnabled;
int j;
int count_j;
NSString *Value = 0;
NSString *strVal = 0;
NSString *v_Type = 0;
NSString *LoginPath = 0;
NSString *Identifier = 0;
NSString *PayloadType = 0;
NSString *UsernameFieldIdentifier = 0;
NSString *LockToken = [jResp StringOf: @"LockToken"];
NSString *ARN = [jResp StringOf: @"RuleGroup.ARN"];
int Capacity = [[jResp IntOf: @"RuleGroup.Capacity"] intValue];
NSString *Content = [jResp StringOf: @"RuleGroup.CustomResponseBodies.string.Content"];
NSString *ContentType = [jResp StringOf: @"RuleGroup.CustomResponseBodies.string.ContentType"];
NSString *Description = [jResp StringOf: @"RuleGroup.Description"];
NSString *Id = [jResp StringOf: @"RuleGroup.Id"];
NSString *LabelNamespace = [jResp StringOf: @"RuleGroup.LabelNamespace"];
NSString *Name = [jResp StringOf: @"RuleGroup.Name"];
int CloudWatchMetricsEnabled = [[jResp IntOf: @"RuleGroup.VisibilityConfig.CloudWatchMetricsEnabled"] intValue];
NSString *MetricName = [jResp StringOf: @"RuleGroup.VisibilityConfig.MetricName"];
int SampledRequestsEnabled = [[jResp IntOf: @"RuleGroup.VisibilityConfig.SampledRequestsEnabled"] intValue];
int i = 0;
int count_i = [[jResp SizeOfArray: @"RuleGroup.AvailableLabels"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
Name = [jResp StringOf: @"RuleGroup.AvailableLabels[i].Name"];
i = i + 1;
}
i = 0;
count_i = [[jResp SizeOfArray: @"RuleGroup.ConsumedLabels"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
Name = [jResp StringOf: @"RuleGroup.ConsumedLabels[i].Name"];
i = i + 1;
}
i = 0;
count_i = [[jResp SizeOfArray: @"RuleGroup.Rules"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
CustomResponseBodyKey = [jResp StringOf: @"RuleGroup.Rules[i].Action.Block.CustomResponse.CustomResponseBodyKey"];
ResponseCode = [[jResp IntOf: @"RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseCode"] intValue];
ImmunityTime = [[jResp IntOf: @"RuleGroup.Rules[i].CaptchaConfig.ImmunityTimeProperty.ImmunityTime"] intValue];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Name"];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Priority"] intValue];
OversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling"];
MatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling"];
InvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name"];
PositionalConstraint = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.PositionalConstraint"];
SearchString = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.SearchString"] intValue];
FallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior"];
HeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName"];
IPSetReferenceStatementARN = [jResp StringOf: @"RuleGroup.Rules[i].Statement.IPSetReferenceStatement.ARN"];
IPSetForwardedIPConfigFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior"];
IPSetForwardedIPConfigHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName"];
Position = [jResp StringOf: @"RuleGroup.Rules[i].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position"];
Key = [jResp StringOf: @"RuleGroup.Rules[i].Statement.LabelMatchStatement.Key"];
Scope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.LabelMatchStatement.Scope"];
ManagedRuleGroupStatementName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.Name"];
ScopeDownStatement = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ScopeDownStatement"];
VendorName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.VendorName"];
Version = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.Version"];
Statement = [jResp StringOf: @"RuleGroup.Rules[i].Statement.NotStatement.Statement"];
AggregateKeyType = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RateBasedStatement.AggregateKeyType"];
ForwardedIPConfigFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior"];
ForwardedIPConfigHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName"];
Limit = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.RateBasedStatement.Limit"] intValue];
RateBasedStatementScopeDownStatement = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RateBasedStatement.ScopeDownStatement"];
BodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling"];
CookiesMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling"];
JsonBodyInvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name"];
RegexString = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.RegexString"];
RegexPatternSetReferenceStatementARN = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.ARN"];
BodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling"];
CookiesMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling"];
JsonBodyInvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name"];
RuleGroupReferenceStatementARN = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ARN"];
ComparisonOperator = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.ComparisonOperator"];
BodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling"];
CookiesMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling"];
JsonBodyInvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name"];
Size = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.Size"] intValue];
BodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling"];
CookiesMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling"];
JsonBodyInvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name"];
BodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling"];
CookiesMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope"];
CookiesOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling"];
HeadersMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope"];
HeadersOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling"];
JsonBodyInvalidFallbackBehavior = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior"];
JsonBodyMatchScope = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope"];
JsonBodyOversizeHandling = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling"];
SingleHeaderName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name"];
SingleQueryArgumentName = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name"];
VisibilityConfigCloudWatchMetricsEnabled = [[jResp IntOf: @"RuleGroup.Rules[i].VisibilityConfig.CloudWatchMetricsEnabled"] intValue];
VisibilityConfigMetricName = [jResp StringOf: @"RuleGroup.Rules[i].VisibilityConfig.MetricName"];
VisibilityConfigSampledRequestsEnabled = [[jResp IntOf: @"RuleGroup.Rules[i].VisibilityConfig.SampledRequestsEnabled"] intValue];
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders[j].Name"];
Value = [jResp StringOf: @"RuleGroup.Rules[i].Action.Allow.CustomRequestHandling.InsertHeaders[j].Value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders[j].Name"];
Value = [jResp StringOf: @"RuleGroup.Rules[i].Action.Block.CustomResponse.ResponseHeaders[j].Value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders[j].Name"];
Value = [jResp StringOf: @"RuleGroup.Rules[i].Action.Captcha.CustomRequestHandling.InsertHeaders[j].Value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders[j].Name"];
Value = [jResp StringOf: @"RuleGroup.Rules[i].Action.Count.CustomRequestHandling.InsertHeaders[j].Value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders[j].Name"];
Value = [jResp StringOf: @"RuleGroup.Rules[i].OverrideAction.Count.CustomRequestHandling.InsertHeaders[j].Value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].RuleLabels"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].RuleLabels[j].Name"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.AndStatement.Statements"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.AndStatement.Statements[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ByteMatchStatement.TextTransformations[j].Type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.GeoMatchStatement.CountryCodes"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.GeoMatchStatement.CountryCodes[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ExcludedRules"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ExcludedRules[j].Name"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
LoginPath = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].LoginPath"];
Identifier = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].PasswordField.Identifier"];
PayloadType = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].PayloadType"];
UsernameFieldIdentifier = [jResp StringOf: @"RuleGroup.Rules[i].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[j].UsernameField.Identifier"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.OrStatement.Statements"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.OrStatement.Statements[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexMatchStatement.TextTransformations[j].Type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RegexPatternSetReferenceStatement.TextTransformations[j].Type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ExcludedRules"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Name = [jResp StringOf: @"RuleGroup.Rules[i].Statement.RuleGroupReferenceStatement.ExcludedRules[j].Name"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SizeConstraintStatement.TextTransformations[j].Type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"RuleGroup.Rules[i].Statement.SqliMatchStatement.TextTransformations[j].Type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"RuleGroup.Rules[i].Statement.XssMatchStatement.TextTransformations"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
Priority = [[jResp IntOf: @"RuleGroup.Rules[i].Statement.XssMatchStatement.TextTransformations[j].Priority"] intValue];
v_Type = [jResp StringOf: @"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
// }
// }
// }