Chilkat Online Tools

BatchWrite autoit Example

Amazon Cloud Directory

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

$oRest = ObjCreate("Chilkat_9_5_0.Rest")
Local $bSuccess

$oAuthAws = ObjCreate("Chilkat_9_5_0.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.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.)
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "clouddirectory"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://clouddirectory.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("clouddirectory.us-west-2.amazonaws.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF)
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; 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

$oJson = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Key.FacetName","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Key.Name","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Key.SchemaArn","string")
$oJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.BinaryValue",123)
$oJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.BooleanValue",123)
$oJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.DatetimeValue",123)
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.NumberValue","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.StringValue","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.ObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.SchemaFacet.FacetName","string")
$oJson.UpdateString("Operations[0].AddFacetToObject.SchemaFacet.SchemaArn","string")
$oJson.UpdateString("Operations[0].AttachObject.ChildReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachObject.LinkName","string")
$oJson.UpdateString("Operations[0].AttachObject.ParentReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachPolicy.ObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachPolicy.PolicyReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachToIndex.IndexReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachToIndex.TargetReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].AttributeName","string")
$oJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.BinaryValue",123)
$oJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.BooleanValue",123)
$oJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.DatetimeValue",123)
$oJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].Value.NumberValue","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].Value.StringValue","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.SourceObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.TargetObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.TypedLinkFacet.SchemaArn","string")
$oJson.UpdateString("Operations[0].AttachTypedLink.TypedLinkFacet.TypedLinkName","string")
$oJson.UpdateString("Operations[0].CreateIndex.BatchReferenceName","string")
$oJson.UpdateInt("Operations[0].CreateIndex.IsUnique",123)
$oJson.UpdateString("Operations[0].CreateIndex.LinkName","string")
$oJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].FacetName","string")
$oJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].Name","string")
$oJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].SchemaArn","string")
$oJson.UpdateString("Operations[0].CreateIndex.ParentReference.Selector","string")
$oJson.UpdateString("Operations[0].CreateObject.BatchReferenceName","string")
$oJson.UpdateString("Operations[0].CreateObject.LinkName","string")
$oJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.FacetName","string")
$oJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.Name","string")
$oJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.SchemaArn","string")
$oJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.BinaryValue",123)
$oJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.BooleanValue",123)
$oJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.DatetimeValue",123)
$oJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Value.NumberValue","string")
$oJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Value.StringValue","string")
$oJson.UpdateString("Operations[0].CreateObject.ParentReference.Selector","string")
$oJson.UpdateString("Operations[0].CreateObject.SchemaFacet[0].FacetName","string")
$oJson.UpdateString("Operations[0].CreateObject.SchemaFacet[0].SchemaArn","string")
$oJson.UpdateString("Operations[0].DeleteObject.ObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachFromIndex.IndexReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachFromIndex.TargetReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachObject.BatchReferenceName","string")
$oJson.UpdateString("Operations[0].DetachObject.LinkName","string")
$oJson.UpdateString("Operations[0].DetachObject.ParentReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachPolicy.ObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachPolicy.PolicyReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName","string")
$oJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue",123)
$oJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue",123)
$oJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue",123)
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.SourceObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TargetObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TypedLinkFacet.SchemaArn","string")
$oJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName","string")
$oJson.UpdateString("Operations[0].RemoveFacetFromObject.ObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].RemoveFacetFromObject.SchemaFacet.FacetName","string")
$oJson.UpdateString("Operations[0].RemoveFacetFromObject.SchemaFacet.SchemaArn","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeActionType","string")
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.BinaryValue",123)
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.BooleanValue",123)
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.DatetimeValue",123)
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.NumberValue","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.StringValue","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.FacetName","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.Name","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.SchemaArn","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName","string")
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue",123)
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue",123)
$oJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue",123)
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.SourceObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TargetObjectReference.Selector","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.SchemaArn","string")
$oJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeActionType","string")
$oJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.BinaryValue",123)
$oJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.BooleanValue",123)
$oJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.DatetimeValue",123)
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.NumberValue","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.StringValue","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.FacetName","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.Name","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.SchemaArn","string")
$oJson.UpdateString("Operations[0].UpdateObjectAttributes.ObjectReference.Selector","string")

; The JSON request body created by the above code:

; {
;   "Operations": [
;     {
;       "AddFacetToObject": {
;         "ObjectAttributeList": [
;           {
;             "Key": {
;               "FacetName": "string",
;               "Name": "string",
;               "SchemaArn": "string"
;             },
;             "Value": {
;               "BinaryValue": blob,
;               "BooleanValue": boolean,
;               "DatetimeValue": number,
;               "NumberValue": "string",
;               "StringValue": "string"
;             }
;           }
;         ],
;         "ObjectReference": {
;           "Selector": "string"
;         },
;         "SchemaFacet": {
;           "FacetName": "string",
;           "SchemaArn": "string"
;         }
;       },
;       "AttachObject": {
;         "ChildReference": {
;           "Selector": "string"
;         },
;         "LinkName": "string",
;         "ParentReference": {
;           "Selector": "string"
;         }
;       },
;       "AttachPolicy": {
;         "ObjectReference": {
;           "Selector": "string"
;         },
;         "PolicyReference": {
;           "Selector": "string"
;         }
;       },
;       "AttachToIndex": {
;         "IndexReference": {
;           "Selector": "string"
;         },
;         "TargetReference": {
;           "Selector": "string"
;         }
;       },
;       "AttachTypedLink": {
;         "Attributes": [
;           {
;             "AttributeName": "string",
;             "Value": {
;               "BinaryValue": blob,
;               "BooleanValue": boolean,
;               "DatetimeValue": number,
;               "NumberValue": "string",
;               "StringValue": "string"
;             }
;           }
;         ],
;         "SourceObjectReference": {
;           "Selector": "string"
;         },
;         "TargetObjectReference": {
;           "Selector": "string"
;         },
;         "TypedLinkFacet": {
;           "SchemaArn": "string",
;           "TypedLinkName": "string"
;         }
;       },
;       "CreateIndex": {
;         "BatchReferenceName": "string",
;         "IsUnique": boolean,
;         "LinkName": "string",
;         "OrderedIndexedAttributeList": [
;           {
;             "FacetName": "string",
;             "Name": "string",
;             "SchemaArn": "string"
;           }
;         ],
;         "ParentReference": {
;           "Selector": "string"
;         }
;       },
;       "CreateObject": {
;         "BatchReferenceName": "string",
;         "LinkName": "string",
;         "ObjectAttributeList": [
;           {
;             "Key": {
;               "FacetName": "string",
;               "Name": "string",
;               "SchemaArn": "string"
;             },
;             "Value": {
;               "BinaryValue": blob,
;               "BooleanValue": boolean,
;               "DatetimeValue": number,
;               "NumberValue": "string",
;               "StringValue": "string"
;             }
;           }
;         ],
;         "ParentReference": {
;           "Selector": "string"
;         },
;         "SchemaFacet": [
;           {
;             "FacetName": "string",
;             "SchemaArn": "string"
;           }
;         ]
;       },
;       "DeleteObject": {
;         "ObjectReference": {
;           "Selector": "string"
;         }
;       },
;       "DetachFromIndex": {
;         "IndexReference": {
;           "Selector": "string"
;         },
;         "TargetReference": {
;           "Selector": "string"
;         }
;       },
;       "DetachObject": {
;         "BatchReferenceName": "string",
;         "LinkName": "string",
;         "ParentReference": {
;           "Selector": "string"
;         }
;       },
;       "DetachPolicy": {
;         "ObjectReference": {
;           "Selector": "string"
;         },
;         "PolicyReference": {
;           "Selector": "string"
;         }
;       },
;       "DetachTypedLink": {
;         "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"
;           }
;         }
;       },
;       "RemoveFacetFromObject": {
;         "ObjectReference": {
;           "Selector": "string"
;         },
;         "SchemaFacet": {
;           "FacetName": "string",
;           "SchemaArn": "string"
;         }
;       },
;       "UpdateLinkAttributes": {
;         "AttributeUpdates": [
;           {
;             "AttributeAction": {
;               "AttributeActionType": "string",
;               "AttributeUpdateValue": {
;                 "BinaryValue": blob,
;                 "BooleanValue": boolean,
;                 "DatetimeValue": number,
;                 "NumberValue": "string",
;                 "StringValue": "string"
;               }
;             },
;             "AttributeKey": {
;               "FacetName": "string",
;               "Name": "string",
;               "SchemaArn": "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"
;           }
;         }
;       },
;       "UpdateObjectAttributes": {
;         "AttributeUpdates": [
;           {
;             "ObjectAttributeAction": {
;               "ObjectAttributeActionType": "string",
;               "ObjectAttributeUpdateValue": {
;                 "BinaryValue": blob,
;                 "BooleanValue": boolean,
;                 "DatetimeValue": number,
;                 "NumberValue": "string",
;                 "StringValue": "string"
;               }
;             },
;             "ObjectAttributeKey": {
;               "FacetName": "string",
;               "Name": "string",
;               "SchemaArn": "string"
;             }
;           }
;         ],
;         "ObjectReference": {
;           "Selector": "string"
;         }
;       }
;     }
;   ]
; }

$oRest.AddHeader("Content-Type","application/x-amz-json-1.1")
$oRest.AddHeader("X-Amz-Target","BatchWrite")

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("PUT","/amazonclouddirectory/2017-01-11/batchwrite",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode <> 200) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oSbResponseBody.GetAsString() & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJResp.LoadSb($oSbResponseBody)

; 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

Local $sAttachedObjectIdentifier
Local $sAttachToIndexAttachedObjectIdentifier
Local $sSelector
Local $sTargetObjectReferenceSelector
Local $sSchemaArn
Local $sTypedLinkName
Local $sObjectIdentifier
Local $sCreateObjectObjectIdentifier
Local $sDetachedObjectIdentifier
Local $sDetachObjectDetachedObjectIdentifier
Local $sUpdateObjectAttributesObjectIdentifier
Local $iJ
Local $iCount_j
Local $sAttributeName
Local $iBinaryValue
Local $iBooleanValue
Local $iDatetimeValue
Local $sNumberValue
Local $sStringValue

Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("Responses")
While $i < $iCount_i
    $oJResp.I = $i
    $sAttachedObjectIdentifier = $oJResp.StringOf("Responses[i].AttachObject.attachedObjectIdentifier")
    $sAttachToIndexAttachedObjectIdentifier = $oJResp.StringOf("Responses[i].AttachToIndex.AttachedObjectIdentifier")
    $sSelector = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.SourceObjectReference.Selector")
    $sTargetObjectReferenceSelector = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TargetObjectReference.Selector")
    $sSchemaArn = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TypedLinkFacet.SchemaArn")
    $sTypedLinkName = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName")
    $sObjectIdentifier = $oJResp.StringOf("Responses[i].CreateIndex.ObjectIdentifier")
    $sCreateObjectObjectIdentifier = $oJResp.StringOf("Responses[i].CreateObject.ObjectIdentifier")
    $sDetachedObjectIdentifier = $oJResp.StringOf("Responses[i].DetachFromIndex.DetachedObjectIdentifier")
    $sDetachObjectDetachedObjectIdentifier = $oJResp.StringOf("Responses[i].DetachObject.detachedObjectIdentifier")
    $sUpdateObjectAttributesObjectIdentifier = $oJResp.StringOf("Responses[i].UpdateObjectAttributes.ObjectIdentifier")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAttributeName = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].AttributeName")
        $iBinaryValue = $oJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.BinaryValue")
        $iBooleanValue = $oJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.BooleanValue")
        $iDatetimeValue = $oJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.DatetimeValue")
        $sNumberValue = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.NumberValue")
        $sStringValue = $oJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.StringValue")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend

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

; {
;   "Responses": [
;     {
;       "AddFacetToObject": {},
;       "AttachObject": {
;         "attachedObjectIdentifier": "string"
;       },
;       "AttachPolicy": {},
;       "AttachToIndex": {
;         "AttachedObjectIdentifier": "string"
;       },
;       "AttachTypedLink": {
;         "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"
;           }
;         }
;       },
;       "CreateIndex": {
;         "ObjectIdentifier": "string"
;       },
;       "CreateObject": {
;         "ObjectIdentifier": "string"
;       },
;       "DeleteObject": {},
;       "DetachFromIndex": {
;         "DetachedObjectIdentifier": "string"
;       },
;       "DetachObject": {
;         "detachedObjectIdentifier": "string"
;       },
;       "DetachPolicy": {},
;       "DetachTypedLink": {},
;       "RemoveFacetFromObject": {},
;       "UpdateLinkAttributes": {},
;       "UpdateObjectAttributes": {
;         "ObjectIdentifier": "string"
;       }
;     }
;   ]
; }