Chilkat Online Tools

BatchRead TCL Example

Amazon Cloud Directory

load ./chilkat.dll

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

set rest [new_CkRest]

set authAws [new_CkAuthAws]

CkAuthAws_put_AccessKey $authAws "AWS_ACCESS_KEY"
CkAuthAws_put_SecretKey $authAws "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.)
CkAuthAws_put_Region $authAws "us-west-2"
CkAuthAws_put_ServiceName $authAws "clouddirectory"
# SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
CkRest_SetAuthAws $rest $authAws

# URL: https://clouddirectory.us-west-2.amazonaws.com/
# Use the same region as specified above.
set success [CkRest_Connect $rest "clouddirectory.us-west-2.amazonaws.com" 443 1 1]
if {$success != 1} then {
    puts "ConnectFailReason: [CkRest_get_ConnectFailReason $rest]"
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkAuthAws $authAws
    exit
}

# 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

set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.AttributeNames[0]" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName" "string"
CkJsonObject_UpdateInt $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.SourceObjectReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.TargetObjectReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.SchemaArn" "string"
CkJsonObject_UpdateString $json "Operations[0].GetLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName" "string"
CkJsonObject_UpdateString $json "Operations[0].GetObjectAttributes.AttributeNames[0]" "string"
CkJsonObject_UpdateString $json "Operations[0].GetObjectAttributes.ObjectReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].GetObjectAttributes.SchemaFacet.FacetName" "string"
CkJsonObject_UpdateString $json "Operations[0].GetObjectAttributes.SchemaFacet.SchemaArn" "string"
CkJsonObject_UpdateString $json "Operations[0].GetObjectInformation.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListAttachedIndices.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListAttachedIndices.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListAttachedIndices.TargetReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].AttributeName" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterTypedLink.SchemaArn" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.FilterTypedLink.TypedLinkName" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIncomingTypedLinks.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIncomingTypedLinks.ObjectReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.IndexReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListIndex.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.FacetName" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.Name" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.SchemaArn" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectAttributes.FacetFilter.FacetName" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectAttributes.FacetFilter.SchemaArn" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListObjectAttributes.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListObjectAttributes.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectAttributes.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListObjectChildren.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListObjectChildren.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectChildren.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListObjectParentPaths.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListObjectParentPaths.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectParentPaths.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListObjectParents.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListObjectParents.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectParents.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListObjectPolicies.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListObjectPolicies.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListObjectPolicies.ObjectReference.Selector" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].AttributeName" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartMode" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BinaryValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BooleanValue" 123
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.DatetimeValue" 123
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.NumberValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.StringValue" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterTypedLink.SchemaArn" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.FilterTypedLink.TypedLinkName" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListOutgoingTypedLinks.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListOutgoingTypedLinks.ObjectReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].ListPolicyAttachments.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].ListPolicyAttachments.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].ListPolicyAttachments.PolicyReference.Selector" "string"
CkJsonObject_UpdateInt $json "Operations[0].LookupPolicy.MaxResults" 123
CkJsonObject_UpdateString $json "Operations[0].LookupPolicy.NextToken" "string"
CkJsonObject_UpdateString $json "Operations[0].LookupPolicy.ObjectReference.Selector" "string"

# The JSON request body created by the above code:

# {
#   "Operations": [
#     {
#       "GetLinkAttributes": {
#         "AttributeNames": [
#           "string"
#         ],
#         "TypedLinkSpecifier": {
#           "IdentityAttributeValues": [
#             {
#               "AttributeName": "string",
#               "Value": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           ],
#           "SourceObjectReference": {
#             "Selector": "string"
#           },
#           "TargetObjectReference": {
#             "Selector": "string"
#           },
#           "TypedLinkFacet": {
#             "SchemaArn": "string",
#             "TypedLinkName": "string"
#           }
#         }
#       },
#       "GetObjectAttributes": {
#         "AttributeNames": [
#           "string"
#         ],
#         "ObjectReference": {
#           "Selector": "string"
#         },
#         "SchemaFacet": {
#           "FacetName": "string",
#           "SchemaArn": "string"
#         }
#       },
#       "GetObjectInformation": {
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListAttachedIndices": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "TargetReference": {
#           "Selector": "string"
#         }
#       },
#       "ListIncomingTypedLinks": {
#         "FilterAttributeRanges": [
#           {
#             "AttributeName": "string",
#             "Range": {
#               "EndMode": "string",
#               "EndValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               },
#               "StartMode": "string",
#               "StartValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           }
#         ],
#         "FilterTypedLink": {
#           "SchemaArn": "string",
#           "TypedLinkName": "string"
#         },
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListIndex": {
#         "IndexReference": {
#           "Selector": "string"
#         },
#         "MaxResults": number,
#         "NextToken": "string",
#         "RangesOnIndexedValues": [
#           {
#             "AttributeKey": {
#               "FacetName": "string",
#               "Name": "string",
#               "SchemaArn": "string"
#             },
#             "Range": {
#               "EndMode": "string",
#               "EndValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               },
#               "StartMode": "string",
#               "StartValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           }
#         ]
#       },
#       "ListObjectAttributes": {
#         "FacetFilter": {
#           "FacetName": "string",
#           "SchemaArn": "string"
#         },
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListObjectChildren": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListObjectParentPaths": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListObjectParents": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListObjectPolicies": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListOutgoingTypedLinks": {
#         "FilterAttributeRanges": [
#           {
#             "AttributeName": "string",
#             "Range": {
#               "EndMode": "string",
#               "EndValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               },
#               "StartMode": "string",
#               "StartValue": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           }
#         ],
#         "FilterTypedLink": {
#           "SchemaArn": "string",
#           "TypedLinkName": "string"
#         },
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       },
#       "ListPolicyAttachments": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "PolicyReference": {
#           "Selector": "string"
#         }
#       },
#       "LookupPolicy": {
#         "MaxResults": number,
#         "NextToken": "string",
#         "ObjectReference": {
#           "Selector": "string"
#         }
#       }
#     }
#   ]
# }

CkRest_AddHeader $rest "Content-Type" "application/x-amz-json-1.1"
CkRest_AddHeader $rest "X-Amz-Target" "BatchRead"

set sbRequestBody [new_CkStringBuilder]

CkJsonObject_EmitSb $json $sbRequestBody
set sbResponseBody [new_CkStringBuilder]

set success [CkRest_FullRequestSb $rest "POST" "/amazonclouddirectory/2017-01-11/batchread" $sbRequestBody $sbResponseBody]
if {$success != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkAuthAws $authAws
    delete_CkJsonObject $json
    delete_CkStringBuilder $sbRequestBody
    delete_CkStringBuilder $sbResponseBody
    exit
}

set respStatusCode [CkRest_get_ResponseStatusCode $rest]
puts "response status code = $respStatusCode"
if {$respStatusCode != 200} then {
    puts "Response Header:"
    puts [CkRest_responseHeader $rest]
    puts "Response Body:"
    puts [CkStringBuilder_getAsString $sbResponseBody]
    delete_CkRest $rest
    delete_CkAuthAws $authAws
    delete_CkJsonObject $json
    delete_CkStringBuilder $sbRequestBody
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $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

set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "Responses"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set Message [CkJsonObject_stringOf $jResp "Responses[i].ExceptionResponse.Message"]
    set v_Type [CkJsonObject_stringOf $jResp "Responses[i].ExceptionResponse.Type"]
    set ObjectIdentifier [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectInformation.ObjectIdentifier"]
    set NextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.NextToken"]
    set ListIncomingTypedLinksNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.NextToken"]
    set ListIndexNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.NextToken"]
    set ListObjectAttributesNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.NextToken"]
    set v_String [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectChildren.Children.string"]
    set ListObjectChildrenNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectChildren.NextToken"]
    set ListObjectParentPathsNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParentPaths.NextToken"]
    set ListObjectParentsNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParents.NextToken"]
    set ListObjectPoliciesNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectPolicies.NextToken"]
    set ListOutgoingTypedLinksNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.NextToken"]
    set ListPolicyAttachmentsNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListPolicyAttachments.NextToken"]
    set LookupPolicyNextToken [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.LookupPolicy.NextToken"]
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set FacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.FacetName"]
        set Name [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.Name"]
        set SchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.SchemaArn"]
        set BinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.BinaryValue"]
        set BooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.BooleanValue"]
        set DatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.DatetimeValue"]
        set NumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.NumberValue"]
        set StringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.StringValue"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set KeyFacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.FacetName"]
        set KeyName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.Name"]
        set KeySchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.SchemaArn"]
        set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.BinaryValue"]
        set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.BooleanValue"]
        set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.DatetimeValue"]
        set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.NumberValue"]
        set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.StringValue"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set FacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets[j].FacetName"]
        set SchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets[j].SchemaArn"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set ObjectIdentifier [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].ObjectIdentifier"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set KeyFacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.FacetName"]
            set KeyName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.Name"]
            set KeySchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.SchemaArn"]
            set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.BinaryValue"]
            set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.BooleanValue"]
            set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.DatetimeValue"]
            set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.NumberValue"]
            set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.StringValue"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set Selector [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].SourceObjectReference.Selector"]
        set TargetObjectReferenceSelector [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TargetObjectReference.Selector"]
        set TypedLinkFacetSchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TypedLinkFacet.SchemaArn"]
        set TypedLinkName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TypedLinkFacet.TypedLinkName"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set AttributeName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].AttributeName"]
            set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.BinaryValue"]
            set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.BooleanValue"]
            set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.DatetimeValue"]
            set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.NumberValue"]
            set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.StringValue"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set ObjectIdentifier [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].ObjectIdentifier"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set KeyFacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.FacetName"]
            set KeyName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.Name"]
            set KeySchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.SchemaArn"]
            set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.BinaryValue"]
            set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.BooleanValue"]
            set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.DatetimeValue"]
            set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.NumberValue"]
            set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.StringValue"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set KeyFacetName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.FacetName"]
        set KeyName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.Name"]
        set KeySchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.SchemaArn"]
        set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.BinaryValue"]
        set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.BooleanValue"]
        set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.DatetimeValue"]
        set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.NumberValue"]
        set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.StringValue"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set Path [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].Path"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].ObjectIdentifiers"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set strVal [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].ObjectIdentifiers[k]"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set LinkName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks[j].LinkName"]
        set ObjectIdentifier [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks[j].ObjectIdentifier"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListObjectPolicies.AttachedPolicyIds"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set strVal [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListObjectPolicies.AttachedPolicyIds[j]"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set SourceObjectReferenceSelector [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].SourceObjectReference.Selector"]
        set TargetObjectReferenceSelector [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TargetObjectReference.Selector"]
        set TypedLinkFacetSchemaArn [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TypedLinkFacet.SchemaArn"]
        set TypedLinkFacetTypedLinkName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TypedLinkFacet.TypedLinkName"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set AttributeName [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].AttributeName"]
            set ValueBinaryValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.BinaryValue"]
            set ValueBooleanValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.BooleanValue"]
            set ValueDatetimeValue [CkJsonObject_IntOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.DatetimeValue"]
            set ValueNumberValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.NumberValue"]
            set ValueStringValue [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.StringValue"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.ListPolicyAttachments.ObjectIdentifiers"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set strVal [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.ListPolicyAttachments.ObjectIdentifiers[j]"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set Path [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Path"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies"]
        while {$k < $count_k} {
            CkJsonObject_put_K $jResp $k
            set ObjectIdentifier [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].ObjectIdentifier"]
            set PolicyId [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].PolicyId"]
            set PolicyType [CkJsonObject_stringOf $jResp "Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].PolicyType"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set i [expr $i + 1]
}

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

# {
#   "Responses": [
#     {
#       "ExceptionResponse": {
#         "Message": "string",
#         "Type": "string"
#       },
#       "SuccessfulResponse": {
#         "GetLinkAttributes": {
#           "Attributes": [
#             {
#               "Key": {
#                 "FacetName": "string",
#                 "Name": "string",
#                 "SchemaArn": "string"
#               },
#               "Value": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           ]
#         },
#         "GetObjectAttributes": {
#           "Attributes": [
#             {
#               "Key": {
#                 "FacetName": "string",
#                 "Name": "string",
#                 "SchemaArn": "string"
#               },
#               "Value": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           ]
#         },
#         "GetObjectInformation": {
#           "ObjectIdentifier": "string",
#           "SchemaFacets": [
#             {
#               "FacetName": "string",
#               "SchemaArn": "string"
#             }
#           ]
#         },
#         "ListAttachedIndices": {
#           "IndexAttachments": [
#             {
#               "IndexedAttributes": [
#                 {
#                   "Key": {
#                     "FacetName": "string",
#                     "Name": "string",
#                     "SchemaArn": "string"
#                   },
#                   "Value": {
#                     "BinaryValue": blob,
#                     "BooleanValue": boolean,
#                     "DatetimeValue": number,
#                     "NumberValue": "string",
#                     "StringValue": "string"
#                   }
#                 }
#               ],
#               "ObjectIdentifier": "string"
#             }
#           ],
#           "NextToken": "string"
#         },
#         "ListIncomingTypedLinks": {
#           "LinkSpecifiers": [
#             {
#               "IdentityAttributeValues": [
#                 {
#                   "AttributeName": "string",
#                   "Value": {
#                     "BinaryValue": blob,
#                     "BooleanValue": boolean,
#                     "DatetimeValue": number,
#                     "NumberValue": "string",
#                     "StringValue": "string"
#                   }
#                 }
#               ],
#               "SourceObjectReference": {
#                 "Selector": "string"
#               },
#               "TargetObjectReference": {
#                 "Selector": "string"
#               },
#               "TypedLinkFacet": {
#                 "SchemaArn": "string",
#                 "TypedLinkName": "string"
#               }
#             }
#           ],
#           "NextToken": "string"
#         },
#         "ListIndex": {
#           "IndexAttachments": [
#             {
#               "IndexedAttributes": [
#                 {
#                   "Key": {
#                     "FacetName": "string",
#                     "Name": "string",
#                     "SchemaArn": "string"
#                   },
#                   "Value": {
#                     "BinaryValue": blob,
#                     "BooleanValue": boolean,
#                     "DatetimeValue": number,
#                     "NumberValue": "string",
#                     "StringValue": "string"
#                   }
#                 }
#               ],
#               "ObjectIdentifier": "string"
#             }
#           ],
#           "NextToken": "string"
#         },
#         "ListObjectAttributes": {
#           "Attributes": [
#             {
#               "Key": {
#                 "FacetName": "string",
#                 "Name": "string",
#                 "SchemaArn": "string"
#               },
#               "Value": {
#                 "BinaryValue": blob,
#                 "BooleanValue": boolean,
#                 "DatetimeValue": number,
#                 "NumberValue": "string",
#                 "StringValue": "string"
#               }
#             }
#           ],
#           "NextToken": "string"
#         },
#         "ListObjectChildren": {
#           "Children": {
#             "string": "string"
#           },
#           "NextToken": "string"
#         },
#         "ListObjectParentPaths": {
#           "NextToken": "string",
#           "PathToObjectIdentifiersList": [
#             {
#               "ObjectIdentifiers": [
#                 "string"
#               ],
#               "Path": "string"
#             }
#           ]
#         },
#         "ListObjectParents": {
#           "NextToken": "string",
#           "ParentLinks": [
#             {
#               "LinkName": "string",
#               "ObjectIdentifier": "string"
#             }
#           ]
#         },
#         "ListObjectPolicies": {
#           "AttachedPolicyIds": [
#             "string"
#           ],
#           "NextToken": "string"
#         },
#         "ListOutgoingTypedLinks": {
#           "NextToken": "string",
#           "TypedLinkSpecifiers": [
#             {
#               "IdentityAttributeValues": [
#                 {
#                   "AttributeName": "string",
#                   "Value": {
#                     "BinaryValue": blob,
#                     "BooleanValue": boolean,
#                     "DatetimeValue": number,
#                     "NumberValue": "string",
#                     "StringValue": "string"
#                   }
#                 }
#               ],
#               "SourceObjectReference": {
#                 "Selector": "string"
#               },
#               "TargetObjectReference": {
#                 "Selector": "string"
#               },
#               "TypedLinkFacet": {
#                 "SchemaArn": "string",
#                 "TypedLinkName": "string"
#               }
#             }
#           ]
#         },
#         "ListPolicyAttachments": {
#           "NextToken": "string",
#           "ObjectIdentifiers": [
#             "string"
#           ]
#         },
#         "LookupPolicy": {
#           "NextToken": "string",
#           "PolicyToPathList": [
#             {
#               "Path": "string",
#               "Policies": [
#                 {
#                   "ObjectIdentifier": "string",
#                   "PolicyId": "string",
#                   "PolicyType": "string"
#                 }
#               ]
#             }
#           ]
#         }
#       }
#     }
#   ]
# }

delete_CkRest $rest
delete_CkAuthAws $authAws
delete_CkJsonObject $json
delete_CkStringBuilder $sbRequestBody
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp