Chilkat Online Tools

DescribeJobDefinitions Go Example

AWS Batch

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

    rest := chilkat.NewRest()
    var success bool

    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("AWS_SECRET_KEY")

    // Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
    authAws.SetRegion("us-west-2")
    authAws.SetServiceName("batch")
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    rest.SetAuthAws(authAws)

    // URL: https://batch.us-west-2.amazonaws.com/
    // Use the same region as specified above.
    success = rest.Connect("batch.us-west-2.amazonaws.com",443,true,true)
    if success != true {
        fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        return
    }

    // The following code creates the JSON request body.
    // The JSON created by this code is shown below.

    // Use this online tool to generate code from sample JSON:
    // Generate Code to Create JSON

    json := chilkat.NewJsonObject()
    json.UpdateString("jobDefinitionName","string")
    json.UpdateString("jobDefinitions[0]","string")
    json.UpdateInt("maxResults",123)
    json.UpdateString("nextToken","string")
    json.UpdateString("status","string")

    // The JSON request body created by the above code:

    // {
    //   "jobDefinitionName": "string",
    //   "jobDefinitions": [
    //     "string"
    //   ],
    //   "maxResults": number,
    //   "nextToken": "string",
    //   "status": "string"
    // }

    rest.AddHeader("Content-Type","application/x-amz-json-1.1")
    rest.AddHeader("X-Amz-Target","DescribeJobDefinitions")

    sbRequestBody := chilkat.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/v1/describejobdefinitions",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    fmt.Println("response status code = ", respStatusCode)
    if respStatusCode != 200 {
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*sbResponseBody.GetAsString())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jResp := chilkat.NewJsonObject()
    jResp.LoadSb(sbResponseBody)

    // The following code parses the JSON response.
    // A sample JSON response is shown below the sample code.

    // Use this online tool to generate parsing code from sample JSON:
    // Generate Parsing Code from JSON

ExecutionRoleArn_DECLARATION
PlatformVersion_DECLARATION
Image_DECLARATION
InstanceType_DECLARATION
JobRoleArn_DECLARATION
    var InitProcessEnabled int
    var MaxSwap int
    var SharedMemorySize int
    var Swappiness int
LogDriver_DECLARATION
v_String_DECLARATION
    var Memory int
AssignPublicIp_DECLARATION
    var Privileged int
    var ReadonlyRootFilesystem int
User_DECLARATION
    var Vcpus int
jobDefinitionArn_DECLARATION
jobDefinitionName_DECLARATION
    var MainNode int
    var NumNodes int
parametersString_DECLARATION
    var propagateTags int
    var Attempts int
    var revision int
    var schedulingPriority int
status_DECLARATION
tagsString_DECLARATION
    var AttemptDurationSeconds int
v_type_DECLARATION
    var j int
    var count_j int
strVal_DECLARATION
name_DECLARATION
value_DECLARATION
containerPath_DECLARATION
hostPath_DECLARATION
    var k int
    var count_k int
    var size int
valueFrom_DECLARATION
    var readOnly int
sourceVolume_DECLARATION
    var hardLimit int
    var softLimit int
AccessPointId_DECLARATION
Iam_DECLARATION
FileSystemId_DECLARATION
RootDirectory_DECLARATION
TransitEncryption_DECLARATION
    var TransitEncryptionPort int
SourcePath_DECLARATION
containerExecutionRoleArn_DECLARATION
FargatePlatformConfigurationPlatformVersion_DECLARATION
containerImage_DECLARATION
containerInstanceType_DECLARATION
containerJobRoleArn_DECLARATION
    var LinuxParametersInitProcessEnabled int
    var LinuxParametersMaxSwap int
    var LinuxParametersSharedMemorySize int
    var LinuxParametersSwappiness int
LogConfigurationLogDriver_DECLARATION
OptionsString_DECLARATION
    var containerMemory int
NetworkConfigurationAssignPublicIp_DECLARATION
    var containerPrivileged int
    var containerReadonlyRootFilesystem int
containerUser_DECLARATION
    var containerVcpus int
targetNodes_DECLARATION
    // json1 is a JsonObject
    var i1 int
    var count_i1 int
AuthorizationConfigAccessPointId_DECLARATION
AuthorizationConfigIam_DECLARATION
efsVolumeConfigurationFileSystemId_DECLARATION
efsVolumeConfigurationRootDirectory_DECLARATION
efsVolumeConfigurationTransitEncryption_DECLARATION
    var efsVolumeConfigurationTransitEncryptionPort int
hostSourcePath_DECLARATION
action_DECLARATION
onExitCode_DECLARATION
onReason_DECLARATION
onStatusReason_DECLARATION

    nextToken := jResp.StringOf("nextToken")
    i := 0
    count_i := jResp.SizeOfArray("jobDefinitions")
    for i < count_i {
        jResp.SetI(i)
        ExecutionRoleArn = *jResp.StringOf("jobDefinitions[i].containerProperties.executionRoleArn")
        PlatformVersion = *jResp.StringOf("jobDefinitions[i].containerProperties.fargatePlatformConfiguration.platformVersion")
        Image = *jResp.StringOf("jobDefinitions[i].containerProperties.image")
        InstanceType = *jResp.StringOf("jobDefinitions[i].containerProperties.instanceType")
        JobRoleArn = *jResp.StringOf("jobDefinitions[i].containerProperties.jobRoleArn")
        InitProcessEnabled = jResp.IntOf("jobDefinitions[i].containerProperties.linuxParameters.initProcessEnabled")
        MaxSwap = jResp.IntOf("jobDefinitions[i].containerProperties.linuxParameters.maxSwap")
        SharedMemorySize = jResp.IntOf("jobDefinitions[i].containerProperties.linuxParameters.sharedMemorySize")
        Swappiness = jResp.IntOf("jobDefinitions[i].containerProperties.linuxParameters.swappiness")
        LogDriver = *jResp.StringOf("jobDefinitions[i].containerProperties.logConfiguration.logDriver")
        v_String = *jResp.StringOf("jobDefinitions[i].containerProperties.logConfiguration.options.string")
        Memory = jResp.IntOf("jobDefinitions[i].containerProperties.memory")
        AssignPublicIp = *jResp.StringOf("jobDefinitions[i].containerProperties.networkConfiguration.assignPublicIp")
        Privileged = jResp.IntOf("jobDefinitions[i].containerProperties.privileged")
        ReadonlyRootFilesystem = jResp.IntOf("jobDefinitions[i].containerProperties.readonlyRootFilesystem")
        User = *jResp.StringOf("jobDefinitions[i].containerProperties.user")
        Vcpus = jResp.IntOf("jobDefinitions[i].containerProperties.vcpus")
        jobDefinitionArn = *jResp.StringOf("jobDefinitions[i].jobDefinitionArn")
        jobDefinitionName = *jResp.StringOf("jobDefinitions[i].jobDefinitionName")
        MainNode = jResp.IntOf("jobDefinitions[i].nodeProperties.mainNode")
        NumNodes = jResp.IntOf("jobDefinitions[i].nodeProperties.numNodes")
        parametersString = *jResp.StringOf("jobDefinitions[i].parameters.string")
        propagateTags = jResp.IntOf("jobDefinitions[i].propagateTags")
        Attempts = jResp.IntOf("jobDefinitions[i].retryStrategy.attempts")
        revision = jResp.IntOf("jobDefinitions[i].revision")
        schedulingPriority = jResp.IntOf("jobDefinitions[i].schedulingPriority")
        status = *jResp.StringOf("jobDefinitions[i].status")
        tagsString = *jResp.StringOf("jobDefinitions[i].tags.string")
        AttemptDurationSeconds = jResp.IntOf("jobDefinitions[i].timeout.attemptDurationSeconds")
        v_type = *jResp.StringOf("jobDefinitions[i].type")
        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.command")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("jobDefinitions[i].containerProperties.command[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.environment")
        for j < count_j {
            jResp.SetJ(j)
            name = *jResp.StringOf("jobDefinitions[i].containerProperties.environment[j].name")
            value = *jResp.StringOf("jobDefinitions[i].containerProperties.environment[j].value")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.linuxParameters.devices")
        for j < count_j {
            jResp.SetJ(j)
            containerPath = *jResp.StringOf("jobDefinitions[i].containerProperties.linuxParameters.devices[j].containerPath")
            hostPath = *jResp.StringOf("jobDefinitions[i].containerProperties.linuxParameters.devices[j].hostPath")
            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].containerProperties.linuxParameters.devices[j].permissions")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("jobDefinitions[i].containerProperties.linuxParameters.devices[j].permissions[k]")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.linuxParameters.tmpfs")
        for j < count_j {
            jResp.SetJ(j)
            containerPath = *jResp.StringOf("jobDefinitions[i].containerProperties.linuxParameters.tmpfs[j].containerPath")
            size = jResp.IntOf("jobDefinitions[i].containerProperties.linuxParameters.tmpfs[j].size")
            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].containerProperties.linuxParameters.tmpfs[j].mountOptions")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("jobDefinitions[i].containerProperties.linuxParameters.tmpfs[j].mountOptions[k]")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.logConfiguration.secretOptions")
        for j < count_j {
            jResp.SetJ(j)
            name = *jResp.StringOf("jobDefinitions[i].containerProperties.logConfiguration.secretOptions[j].name")
            valueFrom = *jResp.StringOf("jobDefinitions[i].containerProperties.logConfiguration.secretOptions[j].valueFrom")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.mountPoints")
        for j < count_j {
            jResp.SetJ(j)
            containerPath = *jResp.StringOf("jobDefinitions[i].containerProperties.mountPoints[j].containerPath")
            readOnly = jResp.IntOf("jobDefinitions[i].containerProperties.mountPoints[j].readOnly")
            sourceVolume = *jResp.StringOf("jobDefinitions[i].containerProperties.mountPoints[j].sourceVolume")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.resourceRequirements")
        for j < count_j {
            jResp.SetJ(j)
            v_type = *jResp.StringOf("jobDefinitions[i].containerProperties.resourceRequirements[j].type")
            value = *jResp.StringOf("jobDefinitions[i].containerProperties.resourceRequirements[j].value")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.secrets")
        for j < count_j {
            jResp.SetJ(j)
            name = *jResp.StringOf("jobDefinitions[i].containerProperties.secrets[j].name")
            valueFrom = *jResp.StringOf("jobDefinitions[i].containerProperties.secrets[j].valueFrom")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.ulimits")
        for j < count_j {
            jResp.SetJ(j)
            hardLimit = jResp.IntOf("jobDefinitions[i].containerProperties.ulimits[j].hardLimit")
            name = *jResp.StringOf("jobDefinitions[i].containerProperties.ulimits[j].name")
            softLimit = jResp.IntOf("jobDefinitions[i].containerProperties.ulimits[j].softLimit")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].containerProperties.volumes")
        for j < count_j {
            jResp.SetJ(j)
            AccessPointId = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.authorizationConfig.accessPointId")
            Iam = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.authorizationConfig.iam")
            FileSystemId = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.fileSystemId")
            RootDirectory = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.rootDirectory")
            TransitEncryption = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.transitEncryption")
            TransitEncryptionPort = jResp.IntOf("jobDefinitions[i].containerProperties.volumes[j].efsVolumeConfiguration.transitEncryptionPort")
            SourcePath = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].host.sourcePath")
            name = *jResp.StringOf("jobDefinitions[i].containerProperties.volumes[j].name")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties")
        for j < count_j {
            jResp.SetJ(j)
            containerExecutionRoleArn = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.executionRoleArn")
            FargatePlatformConfigurationPlatformVersion = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.fargatePlatformConfiguration.platformVersion")
            containerImage = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.image")
            containerInstanceType = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.instanceType")
            containerJobRoleArn = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.jobRoleArn")
            LinuxParametersInitProcessEnabled = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.initProcessEnabled")
            LinuxParametersMaxSwap = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.maxSwap")
            LinuxParametersSharedMemorySize = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.sharedMemorySize")
            LinuxParametersSwappiness = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.swappiness")
            LogConfigurationLogDriver = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.logDriver")
            OptionsString = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.options.string")
            containerMemory = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.memory")
            NetworkConfigurationAssignPublicIp = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.networkConfiguration.assignPublicIp")
            containerPrivileged = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.privileged")
            containerReadonlyRootFilesystem = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.readonlyRootFilesystem")
            containerUser = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.user")
            containerVcpus = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.vcpus")
            targetNodes = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].targetNodes")
            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.command")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.command[k]")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.environment")
            for k < count_k {
                jResp.SetK(k)
                name = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.environment[k].name")
                value = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.environment[k].value")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices")
            for k < count_k {
                jResp.SetK(k)
                containerPath = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].containerPath")
                hostPath = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].hostPath")

                json1 := jResp.ObjectOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k]")
                i1 = 0
                count_i1 = json1.SizeOfArray("permissions")
                for i1 < count_i1 {
                    json1.SetI(i1)
                    strVal = *json1.StringOf("permissions[i]")
                    i1 = i1 + 1
                }

                json1.DisposeJsonObject()
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs")
            for k < count_k {
                jResp.SetK(k)
                containerPath = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].containerPath")
                size = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].size")

                json1 = jResp.ObjectOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k]")
                i1 = 0
                count_i1 = json1.SizeOfArray("mountOptions")
                for i1 < count_i1 {
                    json1.SetI(i1)
                    strVal = *json1.StringOf("mountOptions[i]")
                    i1 = i1 + 1
                }

                json1.DisposeJsonObject()
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions")
            for k < count_k {
                jResp.SetK(k)
                name = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].name")
                valueFrom = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].valueFrom")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.mountPoints")
            for k < count_k {
                jResp.SetK(k)
                containerPath = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].containerPath")
                readOnly = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].readOnly")
                sourceVolume = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].sourceVolume")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements")
            for k < count_k {
                jResp.SetK(k)
                v_type = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].type")
                value = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].value")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.secrets")
            for k < count_k {
                jResp.SetK(k)
                name = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].name")
                valueFrom = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].valueFrom")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.ulimits")
            for k < count_k {
                jResp.SetK(k)
                hardLimit = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].hardLimit")
                name = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].name")
                softLimit = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].softLimit")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes")
            for k < count_k {
                jResp.SetK(k)
                AuthorizationConfigAccessPointId = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.accessPointId")
                AuthorizationConfigIam = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.iam")
                efsVolumeConfigurationFileSystemId = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.fileSystemId")
                efsVolumeConfigurationRootDirectory = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.rootDirectory")
                efsVolumeConfigurationTransitEncryption = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryption")
                efsVolumeConfigurationTransitEncryptionPort = jResp.IntOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryptionPort")
                hostSourcePath = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].host.sourcePath")
                name = *jResp.StringOf("jobDefinitions[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].name")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].platformCapabilities")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("jobDefinitions[i].platformCapabilities[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("jobDefinitions[i].retryStrategy.evaluateOnExit")
        for j < count_j {
            jResp.SetJ(j)
            action = *jResp.StringOf("jobDefinitions[i].retryStrategy.evaluateOnExit[j].action")
            onExitCode = *jResp.StringOf("jobDefinitions[i].retryStrategy.evaluateOnExit[j].onExitCode")
            onReason = *jResp.StringOf("jobDefinitions[i].retryStrategy.evaluateOnExit[j].onReason")
            onStatusReason = *jResp.StringOf("jobDefinitions[i].retryStrategy.evaluateOnExit[j].onStatusReason")
            j = j + 1
        }

        i = i + 1
    }

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

    // {
    //   "jobDefinitions": [
    //     {
    //       "containerProperties": {
    //         "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"
    //           }
    //         ]
    //       },
    //       "jobDefinitionArn": "string",
    //       "jobDefinitionName": "string",
    //       "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"
    //           }
    //         ]
    //       },
    //       "revision": number,
    //       "schedulingPriority": number,
    //       "status": "string",
    //       "tags": {
    //         "string": "string"
    //       },
    //       "timeout": {
    //         "attemptDurationSeconds": number
    //       },
    //       "type": "string"
    //     }
    //   ],
    //   "nextToken": "string"
    // }

    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()