Chilkat Online Tools

DescribeJobs autoit Example

AWS Batch

; 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 = "batch"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://batch.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("batch.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("jobs[0]","string")

; The JSON request body created by the above code:

; {
;   "jobs": [
;     "string"
;   ]
; }

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

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/v1/describejobs",$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 $iIndex
Local $iSize
Local $iV_String
Local $sContainerInstanceArn
Local $sExecutionRoleArn
Local $iExitCode
Local $sPlatformVersion
Local $sImage
Local $sInstanceType
Local $sJobRoleArn
Local $iInitProcessEnabled
Local $iMaxSwap
Local $iSharedMemorySize
Local $iSwappiness
Local $sLogDriver
Local $sOptionsString
Local $sLogStreamName
Local $iMemory
Local $sAssignPublicIp
Local $iPrivileged
Local $iReadonlyRootFilesystem
Local $sReason
Local $sTaskArn
Local $sUser
Local $iVcpus
Local $iCreatedAt
Local $sJobArn
Local $sJobDefinition
Local $sJobId
Local $sJobName
Local $sJobQueue
Local $iIsMainNode
Local $iNodeIndex
Local $iMainNode
Local $iNumNodes
Local $sParametersString
Local $iPropagateTags
Local $iAttempts
Local $iSchedulingPriority
Local $shareIdentifier
Local $iStartedAt
Local $status
Local $statusReason
Local $iStoppedAt
Local $sTagsString
Local $iAttemptDurationSeconds
Local $iJ
Local $iCount_j
Local $sContainerContainerInstanceArn
Local $iContainerExitCode
Local $sContainerLogStreamName
Local $sContainerReason
Local $sContainerTaskArn
Local $iK
Local $iCount_k
Local $sAttachmentId
Local $sIpv6Address
Local $sPrivateIpv4Address
Local $strVal
Local $sName
Local $sValue
Local $sContainerPath
Local $sHostPath
Local $iSize
Local $sValueFrom
Local $iReadOnly
Local $sourceVolume
Local $sV_type
Local $iHardLimit
Local $iSoftLimit
Local $sAccessPointId
Local $sIam
Local $sFileSystemId
Local $sRootDirectory
Local $sTransitEncryption
Local $iTransitEncryptionPort
Local $sSourcePath
Local $sContainerExecutionRoleArn
Local $sFargatePlatformConfigurationPlatformVersion
Local $sContainerImage
Local $sContainerInstanceType
Local $sContainerJobRoleArn
Local $iLinuxParametersInitProcessEnabled
Local $iLinuxParametersMaxSwap
Local $iLinuxParametersSharedMemorySize
Local $iLinuxParametersSwappiness
Local $sLogConfigurationLogDriver
Local $iContainerMemory
Local $sNetworkConfigurationAssignPublicIp
Local $iContainerPrivileged
Local $iContainerReadonlyRootFilesystem
Local $sContainerUser
Local $iContainerVcpus
Local $sTargetNodes
Local $oJson1
Local $i1
Local $iCount_i1
Local $sAuthorizationConfigAccessPointId
Local $sAuthorizationConfigIam
Local $sEfsVolumeConfigurationFileSystemId
Local $sEfsVolumeConfigurationRootDirectory
Local $sEfsVolumeConfigurationTransitEncryption
Local $iEfsVolumeConfigurationTransitEncryptionPort
Local $sHostSourcePath
Local $sAction
Local $sOnExitCode
Local $sOnReason
Local $sOnStatusReason

Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("jobs")
While $i < $iCount_i
    $oJResp.I = $i
    $iIndex = $oJResp.IntOf("jobs[i].arrayProperties.index")
    $iSize = $oJResp.IntOf("jobs[i].arrayProperties.size")
    $iV_String = $oJResp.IntOf("jobs[i].arrayProperties.statusSummary.string")
    $sContainerInstanceArn = $oJResp.StringOf("jobs[i].container.containerInstanceArn")
    $sExecutionRoleArn = $oJResp.StringOf("jobs[i].container.executionRoleArn")
    $iExitCode = $oJResp.IntOf("jobs[i].container.exitCode")
    $sPlatformVersion = $oJResp.StringOf("jobs[i].container.fargatePlatformConfiguration.platformVersion")
    $sImage = $oJResp.StringOf("jobs[i].container.image")
    $sInstanceType = $oJResp.StringOf("jobs[i].container.instanceType")
    $sJobRoleArn = $oJResp.StringOf("jobs[i].container.jobRoleArn")
    $iInitProcessEnabled = $oJResp.IntOf("jobs[i].container.linuxParameters.initProcessEnabled")
    $iMaxSwap = $oJResp.IntOf("jobs[i].container.linuxParameters.maxSwap")
    $iSharedMemorySize = $oJResp.IntOf("jobs[i].container.linuxParameters.sharedMemorySize")
    $iSwappiness = $oJResp.IntOf("jobs[i].container.linuxParameters.swappiness")
    $sLogDriver = $oJResp.StringOf("jobs[i].container.logConfiguration.logDriver")
    $sOptionsString = $oJResp.StringOf("jobs[i].container.logConfiguration.options.string")
    $sLogStreamName = $oJResp.StringOf("jobs[i].container.logStreamName")
    $iMemory = $oJResp.IntOf("jobs[i].container.memory")
    $sAssignPublicIp = $oJResp.StringOf("jobs[i].container.networkConfiguration.assignPublicIp")
    $iPrivileged = $oJResp.IntOf("jobs[i].container.privileged")
    $iReadonlyRootFilesystem = $oJResp.IntOf("jobs[i].container.readonlyRootFilesystem")
    $sReason = $oJResp.StringOf("jobs[i].container.reason")
    $sTaskArn = $oJResp.StringOf("jobs[i].container.taskArn")
    $sUser = $oJResp.StringOf("jobs[i].container.user")
    $iVcpus = $oJResp.IntOf("jobs[i].container.vcpus")
    $iCreatedAt = $oJResp.IntOf("jobs[i].createdAt")
    $sJobArn = $oJResp.StringOf("jobs[i].jobArn")
    $sJobDefinition = $oJResp.StringOf("jobs[i].jobDefinition")
    $sJobId = $oJResp.StringOf("jobs[i].jobId")
    $sJobName = $oJResp.StringOf("jobs[i].jobName")
    $sJobQueue = $oJResp.StringOf("jobs[i].jobQueue")
    $iIsMainNode = $oJResp.IntOf("jobs[i].nodeDetails.isMainNode")
    $iNodeIndex = $oJResp.IntOf("jobs[i].nodeDetails.nodeIndex")
    $iMainNode = $oJResp.IntOf("jobs[i].nodeProperties.mainNode")
    $iNumNodes = $oJResp.IntOf("jobs[i].nodeProperties.numNodes")
    $sParametersString = $oJResp.StringOf("jobs[i].parameters.string")
    $iPropagateTags = $oJResp.IntOf("jobs[i].propagateTags")
    $iAttempts = $oJResp.IntOf("jobs[i].retryStrategy.attempts")
    $iSchedulingPriority = $oJResp.IntOf("jobs[i].schedulingPriority")
    $shareIdentifier = $oJResp.StringOf("jobs[i].shareIdentifier")
    $iStartedAt = $oJResp.IntOf("jobs[i].startedAt")
    $status = $oJResp.StringOf("jobs[i].status")
    $statusReason = $oJResp.StringOf("jobs[i].statusReason")
    $iStoppedAt = $oJResp.IntOf("jobs[i].stoppedAt")
    $sTagsString = $oJResp.StringOf("jobs[i].tags.string")
    $iAttemptDurationSeconds = $oJResp.IntOf("jobs[i].timeout.attemptDurationSeconds")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].attempts")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sContainerContainerInstanceArn = $oJResp.StringOf("jobs[i].attempts[j].container.containerInstanceArn")
        $iContainerExitCode = $oJResp.IntOf("jobs[i].attempts[j].container.exitCode")
        $sContainerLogStreamName = $oJResp.StringOf("jobs[i].attempts[j].container.logStreamName")
        $sContainerReason = $oJResp.StringOf("jobs[i].attempts[j].container.reason")
        $sContainerTaskArn = $oJResp.StringOf("jobs[i].attempts[j].container.taskArn")
        $iStartedAt = $oJResp.IntOf("jobs[i].attempts[j].startedAt")
        $statusReason = $oJResp.StringOf("jobs[i].attempts[j].statusReason")
        $iStoppedAt = $oJResp.IntOf("jobs[i].attempts[j].stoppedAt")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].attempts[j].container.networkInterfaces")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sAttachmentId = $oJResp.StringOf("jobs[i].attempts[j].container.networkInterfaces[k].attachmentId")
            $sIpv6Address = $oJResp.StringOf("jobs[i].attempts[j].container.networkInterfaces[k].ipv6Address")
            $sPrivateIpv4Address = $oJResp.StringOf("jobs[i].attempts[j].container.networkInterfaces[k].privateIpv4Address")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.command")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("jobs[i].container.command[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.environment")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sName = $oJResp.StringOf("jobs[i].container.environment[j].name")
        $sValue = $oJResp.StringOf("jobs[i].container.environment[j].value")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.linuxParameters.devices")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sContainerPath = $oJResp.StringOf("jobs[i].container.linuxParameters.devices[j].containerPath")
        $sHostPath = $oJResp.StringOf("jobs[i].container.linuxParameters.devices[j].hostPath")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].container.linuxParameters.devices[j].permissions")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("jobs[i].container.linuxParameters.devices[j].permissions[k]")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.linuxParameters.tmpfs")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sContainerPath = $oJResp.StringOf("jobs[i].container.linuxParameters.tmpfs[j].containerPath")
        $iSize = $oJResp.IntOf("jobs[i].container.linuxParameters.tmpfs[j].size")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].container.linuxParameters.tmpfs[j].mountOptions")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("jobs[i].container.linuxParameters.tmpfs[j].mountOptions[k]")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.logConfiguration.secretOptions")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sName = $oJResp.StringOf("jobs[i].container.logConfiguration.secretOptions[j].name")
        $sValueFrom = $oJResp.StringOf("jobs[i].container.logConfiguration.secretOptions[j].valueFrom")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.mountPoints")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sContainerPath = $oJResp.StringOf("jobs[i].container.mountPoints[j].containerPath")
        $iReadOnly = $oJResp.IntOf("jobs[i].container.mountPoints[j].readOnly")
        $sourceVolume = $oJResp.StringOf("jobs[i].container.mountPoints[j].sourceVolume")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.networkInterfaces")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAttachmentId = $oJResp.StringOf("jobs[i].container.networkInterfaces[j].attachmentId")
        $sIpv6Address = $oJResp.StringOf("jobs[i].container.networkInterfaces[j].ipv6Address")
        $sPrivateIpv4Address = $oJResp.StringOf("jobs[i].container.networkInterfaces[j].privateIpv4Address")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.resourceRequirements")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sV_type = $oJResp.StringOf("jobs[i].container.resourceRequirements[j].type")
        $sValue = $oJResp.StringOf("jobs[i].container.resourceRequirements[j].value")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.secrets")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sName = $oJResp.StringOf("jobs[i].container.secrets[j].name")
        $sValueFrom = $oJResp.StringOf("jobs[i].container.secrets[j].valueFrom")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.ulimits")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $iHardLimit = $oJResp.IntOf("jobs[i].container.ulimits[j].hardLimit")
        $sName = $oJResp.StringOf("jobs[i].container.ulimits[j].name")
        $iSoftLimit = $oJResp.IntOf("jobs[i].container.ulimits[j].softLimit")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].container.volumes")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAccessPointId = $oJResp.StringOf("jobs[i].container.volumes[j].efsVolumeConfiguration.authorizationConfig.accessPointId")
        $sIam = $oJResp.StringOf("jobs[i].container.volumes[j].efsVolumeConfiguration.authorizationConfig.iam")
        $sFileSystemId = $oJResp.StringOf("jobs[i].container.volumes[j].efsVolumeConfiguration.fileSystemId")
        $sRootDirectory = $oJResp.StringOf("jobs[i].container.volumes[j].efsVolumeConfiguration.rootDirectory")
        $sTransitEncryption = $oJResp.StringOf("jobs[i].container.volumes[j].efsVolumeConfiguration.transitEncryption")
        $iTransitEncryptionPort = $oJResp.IntOf("jobs[i].container.volumes[j].efsVolumeConfiguration.transitEncryptionPort")
        $sSourcePath = $oJResp.StringOf("jobs[i].container.volumes[j].host.sourcePath")
        $sName = $oJResp.StringOf("jobs[i].container.volumes[j].name")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].dependsOn")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sJobId = $oJResp.StringOf("jobs[i].dependsOn[j].jobId")
        $sV_type = $oJResp.StringOf("jobs[i].dependsOn[j].type")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sContainerExecutionRoleArn = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.executionRoleArn")
        $sFargatePlatformConfigurationPlatformVersion = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.fargatePlatformConfiguration.platformVersion")
        $sContainerImage = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.image")
        $sContainerInstanceType = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.instanceType")
        $sContainerJobRoleArn = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.jobRoleArn")
        $iLinuxParametersInitProcessEnabled = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.initProcessEnabled")
        $iLinuxParametersMaxSwap = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.maxSwap")
        $iLinuxParametersSharedMemorySize = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.sharedMemorySize")
        $iLinuxParametersSwappiness = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.swappiness")
        $sLogConfigurationLogDriver = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.logDriver")
        $sOptionsString = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.options.string")
        $iContainerMemory = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.memory")
        $sNetworkConfigurationAssignPublicIp = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.networkConfiguration.assignPublicIp")
        $iContainerPrivileged = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.privileged")
        $iContainerReadonlyRootFilesystem = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.readonlyRootFilesystem")
        $sContainerUser = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.user")
        $iContainerVcpus = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.vcpus")
        $sTargetNodes = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].targetNodes")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.command")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.command[k]")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.environment")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sName = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.environment[k].name")
            $sValue = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.environment[k].value")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sContainerPath = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].containerPath")
            $sHostPath = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].hostPath")

            $oJson1 = $oJResp.ObjectOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k]")
            $i1 = 0
            $iCount_i1 = $oJson1.SizeOfArray("permissions")
            While $i1 < $iCount_i1
                $oJson1.I = $i1
                $strVal = $oJson1.StringOf("permissions[i]")
                $i1 = $i1 + 1
            Wend

            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sContainerPath = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].containerPath")
            $iSize = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].size")

            $oJson1 = $oJResp.ObjectOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k]")
            $i1 = 0
            $iCount_i1 = $oJson1.SizeOfArray("mountOptions")
            While $i1 < $iCount_i1
                $oJson1.I = $i1
                $strVal = $oJson1.StringOf("mountOptions[i]")
                $i1 = $i1 + 1
            Wend

            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sName = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].name")
            $sValueFrom = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].valueFrom")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sContainerPath = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].containerPath")
            $iReadOnly = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].readOnly")
            $sourceVolume = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].sourceVolume")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sV_type = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].type")
            $sValue = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].value")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sName = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].name")
            $sValueFrom = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].valueFrom")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $iHardLimit = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].hardLimit")
            $sName = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].name")
            $iSoftLimit = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].softLimit")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sAuthorizationConfigAccessPointId = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.accessPointId")
            $sAuthorizationConfigIam = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.iam")
            $sEfsVolumeConfigurationFileSystemId = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.fileSystemId")
            $sEfsVolumeConfigurationRootDirectory = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.rootDirectory")
            $sEfsVolumeConfigurationTransitEncryption = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryption")
            $iEfsVolumeConfigurationTransitEncryptionPort = $oJResp.IntOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryptionPort")
            $sHostSourcePath = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].host.sourcePath")
            $sName = $oJResp.StringOf("jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].name")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].platformCapabilities")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("jobs[i].platformCapabilities[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("jobs[i].retryStrategy.evaluateOnExit")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAction = $oJResp.StringOf("jobs[i].retryStrategy.evaluateOnExit[j].action")
        $sOnExitCode = $oJResp.StringOf("jobs[i].retryStrategy.evaluateOnExit[j].onExitCode")
        $sOnReason = $oJResp.StringOf("jobs[i].retryStrategy.evaluateOnExit[j].onReason")
        $sOnStatusReason = $oJResp.StringOf("jobs[i].retryStrategy.evaluateOnExit[j].onStatusReason")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend

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

; {
;   "jobs": [
;     {
;       "arrayProperties": {
;         "index": number,
;         "size": number,
;         "statusSummary": {
;           "string": number
;         }
;       },
;       "attempts": [
;         {
;           "container": {
;             "containerInstanceArn": "string",
;             "exitCode": number,
;             "logStreamName": "string",
;             "networkInterfaces": [
;               {
;                 "attachmentId": "string",
;                 "ipv6Address": "string",
;                 "privateIpv4Address": "string"
;               }
;             ],
;             "reason": "string",
;             "taskArn": "string"
;           },
;           "startedAt": number,
;           "statusReason": "string",
;           "stoppedAt": number
;         }
;       ],
;       "container": {
;         "command": [
;           "string"
;         ],
;         "containerInstanceArn": "string",
;         "environment": [
;           {
;             "name": "string",
;             "value": "string"
;           }
;         ],
;         "executionRoleArn": "string",
;         "exitCode": number,
;         "fargatePlatformConfiguration": {
;           "platformVersion": "string"
;         },
;         "image": "string",
;         "instanceType": "string",
;         "jobRoleArn": "string",
;         "linuxParameters": {
;           "devices": [
;             {
;               "containerPath": "string",
;               "hostPath": "string",
;               "permissions": [
;                 "string"
;               ]
;             }
;           ],
;           "initProcessEnabled": boolean,
;           "maxSwap": number,
;           "sharedMemorySize": number,
;           "swappiness": number,
;           "tmpfs": [
;             {
;               "containerPath": "string",
;               "mountOptions": [
;                 "string"
;               ],
;               "size": number
;             }
;           ]
;         },
;         "logConfiguration": {
;           "logDriver": "string",
;           "options": {
;             "string": "string"
;           },
;           "secretOptions": [
;             {
;               "name": "string",
;               "valueFrom": "string"
;             }
;           ]
;         },
;         "logStreamName": "string",
;         "memory": number,
;         "mountPoints": [
;           {
;             "containerPath": "string",
;             "readOnly": boolean,
;             "sourceVolume": "string"
;           }
;         ],
;         "networkConfiguration": {
;           "assignPublicIp": "string"
;         },
;         "networkInterfaces": [
;           {
;             "attachmentId": "string",
;             "ipv6Address": "string",
;             "privateIpv4Address": "string"
;           }
;         ],
;         "privileged": boolean,
;         "readonlyRootFilesystem": boolean,
;         "reason": "string",
;         "resourceRequirements": [
;           {
;             "type": "string",
;             "value": "string"
;           }
;         ],
;         "secrets": [
;           {
;             "name": "string",
;             "valueFrom": "string"
;           }
;         ],
;         "taskArn": "string",
;         "ulimits": [
;           {
;             "hardLimit": number,
;             "name": "string",
;             "softLimit": number
;           }
;         ],
;         "user": "string",
;         "vcpus": number,
;         "volumes": [
;           {
;             "efsVolumeConfiguration": {
;               "authorizationConfig": {
;                 "accessPointId": "string",
;                 "iam": "string"
;               },
;               "fileSystemId": "string",
;               "rootDirectory": "string",
;               "transitEncryption": "string",
;               "transitEncryptionPort": number
;             },
;             "host": {
;               "sourcePath": "string"
;             },
;             "name": "string"
;           }
;         ]
;       },
;       "createdAt": number,
;       "dependsOn": [
;         {
;           "jobId": "string",
;           "type": "string"
;         }
;       ],
;       "jobArn": "string",
;       "jobDefinition": "string",
;       "jobId": "string",
;       "jobName": "string",
;       "jobQueue": "string",
;       "nodeDetails": {
;         "isMainNode": boolean,
;         "nodeIndex": number
;       },
;       "nodeProperties": {
;         "mainNode": number,
;         "nodeRangeProperties": [
;           {
;             "container": {
;               "command": [
;                 "string"
;               ],
;               "environment": [
;                 {
;                   "name": "string",
;                   "value": "string"
;                 }
;               ],
;               "executionRoleArn": "string",
;               "fargatePlatformConfiguration": {
;                 "platformVersion": "string"
;               },
;               "image": "string",
;               "instanceType": "string",
;               "jobRoleArn": "string",
;               "linuxParameters": {
;                 "devices": [
;                   {
;                     "containerPath": "string",
;                     "hostPath": "string",
;                     "permissions": [
;                       "string"
;                     ]
;                   }
;                 ],
;                 "initProcessEnabled": boolean,
;                 "maxSwap": number,
;                 "sharedMemorySize": number,
;                 "swappiness": number,
;                 "tmpfs": [
;                   {
;                     "containerPath": "string",
;                     "mountOptions": [
;                       "string"
;                     ],
;                     "size": number
;                   }
;                 ]
;               },
;               "logConfiguration": {
;                 "logDriver": "string",
;                 "options": {
;                   "string": "string"
;                 },
;                 "secretOptions": [
;                   {
;                     "name": "string",
;                     "valueFrom": "string"
;                   }
;                 ]
;               },
;               "memory": number,
;               "mountPoints": [
;                 {
;                   "containerPath": "string",
;                   "readOnly": boolean,
;                   "sourceVolume": "string"
;                 }
;               ],
;               "networkConfiguration": {
;                 "assignPublicIp": "string"
;               },
;               "privileged": boolean,
;               "readonlyRootFilesystem": boolean,
;               "resourceRequirements": [
;                 {
;                   "type": "string",
;                   "value": "string"
;                 }
;               ],
;               "secrets": [
;                 {
;                   "name": "string",
;                   "valueFrom": "string"
;                 }
;               ],
;               "ulimits": [
;                 {
;                   "hardLimit": number,
;                   "name": "string",
;                   "softLimit": number
;                 }
;               ],
;               "user": "string",
;               "vcpus": number,
;               "volumes": [
;                 {
;                   "efsVolumeConfiguration": {
;                     "authorizationConfig": {
;                       "accessPointId": "string",
;                       "iam": "string"
;                     },
;                     "fileSystemId": "string",
;                     "rootDirectory": "string",
;                     "transitEncryption": "string",
;                     "transitEncryptionPort": number
;                   },
;                   "host": {
;                     "sourcePath": "string"
;                   },
;                   "name": "string"
;                 }
;               ]
;             },
;             "targetNodes": "string"
;           }
;         ],
;         "numNodes": number
;       },
;       "parameters": {
;         "string": "string"
;       },
;       "platformCapabilities": [
;         "string"
;       ],
;       "propagateTags": boolean,
;       "retryStrategy": {
;         "attempts": number,
;         "evaluateOnExit": [
;           {
;             "action": "string",
;             "onExitCode": "string",
;             "onReason": "string",
;             "onStatusReason": "string"
;           }
;         ]
;       },
;       "schedulingPriority": number,
;       "shareIdentifier": "string",
;       "startedAt": number,
;       "status": "string",
;       "statusReason": "string",
;       "stoppedAt": number,
;       "tags": {
;         "string": "string"
;       },
;       "timeout": {
;         "attemptDurationSeconds": number
;       }
;     }
;   ]
; }