Chilkat Online Tools

CreateWebACL VB6 Example

AWS WAFV2

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim rest As New ChilkatRest
Dim success As Long

Dim authAws As New ChilkatAuthAws
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
success = 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",443,1,1)
If (success <> 1) Then
    Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
    Debug.Print rest.LastErrorText
    Exit Sub
End If

' 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

Dim json As New ChilkatJsonObject
success = json.UpdateInt("CaptchaConfig.ImmunityTimeProperty.ImmunityTime",123)
success = json.UpdateString("CustomResponseBodies.string.Content","string")
success = json.UpdateString("CustomResponseBodies.string.ContentType","string")
success = json.UpdateString("DefaultAction.Allow.CustomRequestHandling.InsertHeaders[0].Name","string")
success = json.UpdateString("DefaultAction.Allow.CustomRequestHandling.InsertHeaders[0].Value","string")
success = json.UpdateString("DefaultAction.Block.CustomResponse.CustomResponseBodyKey","string")
success = json.UpdateInt("DefaultAction.Block.CustomResponse.ResponseCode",123)
success = json.UpdateString("DefaultAction.Block.CustomResponse.ResponseHeaders[0].Name","string")
success = json.UpdateString("DefaultAction.Block.CustomResponse.ResponseHeaders[0].Value","string")
success = json.UpdateString("Description","string")
success = json.UpdateString("Name","string")
success = json.UpdateString("Rules[0].Action.Allow.CustomRequestHandling.InsertHeaders[0].Name","string")
success = json.UpdateString("Rules[0].Action.Allow.CustomRequestHandling.InsertHeaders[0].Value","string")
success = json.UpdateString("Rules[0].Action.Block.CustomResponse.CustomResponseBodyKey","string")
success = json.UpdateInt("Rules[0].Action.Block.CustomResponse.ResponseCode",123)
success = json.UpdateString("Rules[0].Action.Block.CustomResponse.ResponseHeaders[0].Name","string")
success = json.UpdateString("Rules[0].Action.Block.CustomResponse.ResponseHeaders[0].Value","string")
success = json.UpdateString("Rules[0].Action.Captcha.CustomRequestHandling.InsertHeaders[0].Name","string")
success = json.UpdateString("Rules[0].Action.Captcha.CustomRequestHandling.InsertHeaders[0].Value","string")
success = json.UpdateString("Rules[0].Action.Count.CustomRequestHandling.InsertHeaders[0].Name","string")
success = json.UpdateString("Rules[0].Action.Count.CustomRequestHandling.InsertHeaders[0].Value","string")
success = json.UpdateInt("Rules[0].CaptchaConfig.ImmunityTimeProperty.ImmunityTime",123)
success = json.UpdateString("Rules[0].Name","string")
success = json.UpdateString("Rules[0].OverrideAction.Count.CustomRequestHandling.InsertHeaders[0].Name","string")
success = json.UpdateString("Rules[0].OverrideAction.Count.CustomRequestHandling.InsertHeaders[0].Value","string")
success = json.UpdateNewObject("Rules[0].OverrideAction.None")
success = json.UpdateInt("Rules[0].Priority",123)
success = json.UpdateString("Rules[0].RuleLabels[0].Name","string")
success = json.UpdateString("Rules[0].Statement.AndStatement.Statements[0]","Statement")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.ByteMatchStatement.FieldToMatch.UriPath")
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.PositionalConstraint","string")
success = json.UpdateInt("Rules[0].Statement.ByteMatchStatement.SearchString",123)
success = json.UpdateInt("Rules[0].Statement.ByteMatchStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.ByteMatchStatement.TextTransformations[0].Type","string")
success = json.UpdateString("Rules[0].Statement.GeoMatchStatement.CountryCodes[0]","string")
success = json.UpdateString("Rules[0].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior","string")
success = json.UpdateString("Rules[0].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName","string")
success = json.UpdateString("Rules[0].Statement.IPSetReferenceStatement.ARN","string")
success = json.UpdateString("Rules[0].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior","string")
success = json.UpdateString("Rules[0].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName","string")
success = json.UpdateString("Rules[0].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position","string")
success = json.UpdateString("Rules[0].Statement.LabelMatchStatement.Key","string")
success = json.UpdateString("Rules[0].Statement.LabelMatchStatement.Scope","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ExcludedRules[0].Name","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[0].LoginPath","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[0].PasswordField.Identifier","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[0].PayloadType","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[0].UsernameField.Identifier","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.Name","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.ScopeDownStatement","Statement")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.VendorName","string")
success = json.UpdateString("Rules[0].Statement.ManagedRuleGroupStatement.Version","string")
success = json.UpdateString("Rules[0].Statement.NotStatement.Statement","Statement")
success = json.UpdateString("Rules[0].Statement.OrStatement.Statements[0]","Statement")
success = json.UpdateString("Rules[0].Statement.RateBasedStatement.AggregateKeyType","string")
success = json.UpdateString("Rules[0].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior","string")
success = json.UpdateString("Rules[0].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName","string")
success = json.UpdateInt("Rules[0].Statement.RateBasedStatement.Limit",123)
success = json.UpdateString("Rules[0].Statement.RateBasedStatement.ScopeDownStatement","Statement")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexMatchStatement.FieldToMatch.UriPath")
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.RegexString","string")
success = json.UpdateInt("Rules[0].Statement.RegexMatchStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.RegexMatchStatement.TextTransformations[0].Type","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.ARN","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath")
success = json.UpdateInt("Rules[0].Statement.RegexPatternSetReferenceStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.RegexPatternSetReferenceStatement.TextTransformations[0].Type","string")
success = json.UpdateString("Rules[0].Statement.RuleGroupReferenceStatement.ARN","string")
success = json.UpdateString("Rules[0].Statement.RuleGroupReferenceStatement.ExcludedRules[0].Name","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.ComparisonOperator","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.SizeConstraintStatement.FieldToMatch.UriPath")
success = json.UpdateInt("Rules[0].Statement.SizeConstraintStatement.Size",123)
success = json.UpdateInt("Rules[0].Statement.SizeConstraintStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.SizeConstraintStatement.TextTransformations[0].Type","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.SqliMatchStatement.FieldToMatch.UriPath")
success = json.UpdateInt("Rules[0].Statement.SqliMatchStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.SqliMatchStatement.TextTransformations[0].Type","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[0]","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[0]","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[0]","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.Method")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.QueryString")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name","string")
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name","string")
success = json.UpdateNewObject("Rules[0].Statement.XssMatchStatement.FieldToMatch.UriPath")
success = json.UpdateInt("Rules[0].Statement.XssMatchStatement.TextTransformations[0].Priority",123)
success = json.UpdateString("Rules[0].Statement.XssMatchStatement.TextTransformations[0].Type","string")
success = json.UpdateInt("Rules[0].VisibilityConfig.CloudWatchMetricsEnabled",123)
success = json.UpdateString("Rules[0].VisibilityConfig.MetricName","string")
success = json.UpdateInt("Rules[0].VisibilityConfig.SampledRequestsEnabled",123)
success = json.UpdateString("Scope","string")
success = json.UpdateString("Tags[0].Key","string")
success = json.UpdateString("Tags[0].Value","string")
success = json.UpdateInt("VisibilityConfig.CloudWatchMetricsEnabled",123)
success = json.UpdateString("VisibilityConfig.MetricName","string")
success = json.UpdateInt("VisibilityConfig.SampledRequestsEnabled",123)

' The JSON request body created by the above code:

' {
'   "CaptchaConfig": {
'     "ImmunityTimeProperty": {
'       "ImmunityTime": number
'     }
'   },
'   "CustomResponseBodies": {
'     "string": {
'       "Content": "string",
'       "ContentType": "string"
'     }
'   },
'   "DefaultAction": {
'     "Allow": {
'       "CustomRequestHandling": {
'         "InsertHeaders": [
'           {
'             "Name": "string",
'             "Value": "string"
'           }
'         ]
'       }
'     },
'     "Block": {
'       "CustomResponse": {
'         "CustomResponseBodyKey": "string",
'         "ResponseCode": number,
'         "ResponseHeaders": [
'           {
'             "Name": "string",
'             "Value": "string"
'           }
'         ]
'       }
'     }
'   },
'   "Description": "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
'       }
'     }
'   ],
'   "Scope": "string",
'   "Tags": [
'     {
'       "Key": "string",
'       "Value": "string"
'     }
'   ],
'   "VisibilityConfig": {
'     "CloudWatchMetricsEnabled": boolean,
'     "MetricName": "string",
'     "SampledRequestsEnabled": boolean
'   }
' }

success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","AWSWAF_20190729.CreateWebACL")

Dim sbRequestBody As New ChilkatStringBuilder
success = json.EmitSb(sbRequestBody)
Dim sbResponseBody As New ChilkatStringBuilder
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Dim respStatusCode As Long
respStatusCode = rest.ResponseStatusCode
Debug.Print "response status code = " & respStatusCode
If (respStatusCode <> 200) Then
    Debug.Print "Response Header:"
    Debug.Print rest.ResponseHeader
    Debug.Print "Response Body:"
    Debug.Print sbResponseBody.GetAsString()
    Exit Sub
End If

Dim jResp As New ChilkatJsonObject
success = 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

Dim ARN As String
ARN = jResp.StringOf("Summary.ARN")
Dim Description As String
Description = jResp.StringOf("Summary.Description")
Dim Id As String
Id = jResp.StringOf("Summary.Id")
Dim LockToken As String
LockToken = jResp.StringOf("Summary.LockToken")
Dim Name As String
Name = jResp.StringOf("Summary.Name")

' A sample JSON response body parsed by the above code:

' {
'   "Summary": {
'     "ARN": "string",
'     "Description": "string",
'     "Id": "string",
'     "LockToken": "string",
'     "Name": "string"
'   }
' }