RegisterJobDefinition VB.NET Example
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim authAws As New Chilkat.AuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.Region = "us-west-2"
authAws.ServiceName = "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) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON
Dim json As New Chilkat.JsonObject
json.UpdateString("containerProperties.command[0]","string")
json.UpdateString("containerProperties.environment[0].name","string")
json.UpdateString("containerProperties.environment[0].value","string")
json.UpdateString("containerProperties.executionRoleArn","string")
json.UpdateString("containerProperties.fargatePlatformConfiguration.platformVersion","string")
json.UpdateString("containerProperties.image","string")
json.UpdateString("containerProperties.instanceType","string")
json.UpdateString("containerProperties.jobRoleArn","string")
json.UpdateString("containerProperties.linuxParameters.devices[0].containerPath","string")
json.UpdateString("containerProperties.linuxParameters.devices[0].hostPath","string")
json.UpdateString("containerProperties.linuxParameters.devices[0].permissions[0]","string")
json.UpdateInt("containerProperties.linuxParameters.initProcessEnabled",123)
json.UpdateInt("containerProperties.linuxParameters.maxSwap",123)
json.UpdateInt("containerProperties.linuxParameters.sharedMemorySize",123)
json.UpdateInt("containerProperties.linuxParameters.swappiness",123)
json.UpdateString("containerProperties.linuxParameters.tmpfs[0].containerPath","string")
json.UpdateString("containerProperties.linuxParameters.tmpfs[0].mountOptions[0]","string")
json.UpdateInt("containerProperties.linuxParameters.tmpfs[0].size",123)
json.UpdateString("containerProperties.logConfiguration.logDriver","string")
json.UpdateString("containerProperties.logConfiguration.options.string","string")
json.UpdateString("containerProperties.logConfiguration.secretOptions[0].name","string")
json.UpdateString("containerProperties.logConfiguration.secretOptions[0].valueFrom","string")
json.UpdateInt("containerProperties.memory",123)
json.UpdateString("containerProperties.mountPoints[0].containerPath","string")
json.UpdateInt("containerProperties.mountPoints[0].readOnly",123)
json.UpdateString("containerProperties.mountPoints[0].sourceVolume","string")
json.UpdateString("containerProperties.networkConfiguration.assignPublicIp","string")
json.UpdateInt("containerProperties.privileged",123)
json.UpdateInt("containerProperties.readonlyRootFilesystem",123)
json.UpdateString("containerProperties.resourceRequirements[0].type","string")
json.UpdateString("containerProperties.resourceRequirements[0].value","string")
json.UpdateString("containerProperties.secrets[0].name","string")
json.UpdateString("containerProperties.secrets[0].valueFrom","string")
json.UpdateInt("containerProperties.ulimits[0].hardLimit",123)
json.UpdateString("containerProperties.ulimits[0].name","string")
json.UpdateInt("containerProperties.ulimits[0].softLimit",123)
json.UpdateString("containerProperties.user","string")
json.UpdateInt("containerProperties.vcpus",123)
json.UpdateString("containerProperties.volumes[0].efsVolumeConfiguration.authorizationConfig.accessPointId","string")
json.UpdateString("containerProperties.volumes[0].efsVolumeConfiguration.authorizationConfig.iam","string")
json.UpdateString("containerProperties.volumes[0].efsVolumeConfiguration.fileSystemId","string")
json.UpdateString("containerProperties.volumes[0].efsVolumeConfiguration.rootDirectory","string")
json.UpdateString("containerProperties.volumes[0].efsVolumeConfiguration.transitEncryption","string")
json.UpdateInt("containerProperties.volumes[0].efsVolumeConfiguration.transitEncryptionPort",123)
json.UpdateString("containerProperties.volumes[0].host.sourcePath","string")
json.UpdateString("containerProperties.volumes[0].name","string")
json.UpdateString("jobDefinitionName","string")
json.UpdateInt("nodeProperties.mainNode",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.command[0]","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.environment[0].name","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.environment[0].value","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.executionRoleArn","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.fargatePlatformConfiguration.platformVersion","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.image","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.instanceType","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.jobRoleArn","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.linuxParameters.devices[0].containerPath","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.linuxParameters.devices[0].hostPath","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.linuxParameters.devices[0].permissions[0]","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.linuxParameters.initProcessEnabled",123)
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.linuxParameters.maxSwap",123)
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.linuxParameters.sharedMemorySize",123)
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.linuxParameters.swappiness",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.linuxParameters.tmpfs[0].containerPath","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.linuxParameters.tmpfs[0].mountOptions[0]","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.linuxParameters.tmpfs[0].size",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.logConfiguration.logDriver","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.logConfiguration.options.string","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.logConfiguration.secretOptions[0].name","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.logConfiguration.secretOptions[0].valueFrom","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.memory",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.mountPoints[0].containerPath","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.mountPoints[0].readOnly",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.mountPoints[0].sourceVolume","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.networkConfiguration.assignPublicIp","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.privileged",123)
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.readonlyRootFilesystem",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.resourceRequirements[0].type","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.resourceRequirements[0].value","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.secrets[0].name","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.secrets[0].valueFrom","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.ulimits[0].hardLimit",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.ulimits[0].name","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.ulimits[0].softLimit",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.user","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.vcpus",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.authorizationConfig.accessPointId","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.authorizationConfig.iam","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.fileSystemId","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.rootDirectory","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.transitEncryption","string")
json.UpdateInt("nodeProperties.nodeRangeProperties[0].container.volumes[0].efsVolumeConfiguration.transitEncryptionPort",123)
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].host.sourcePath","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].container.volumes[0].name","string")
json.UpdateString("nodeProperties.nodeRangeProperties[0].targetNodes","string")
json.UpdateInt("nodeProperties.numNodes",123)
json.UpdateString("parameters.string","string")
json.UpdateString("platformCapabilities[0]","string")
json.UpdateInt("propagateTags",123)
json.UpdateInt("retryStrategy.attempts",123)
json.UpdateString("retryStrategy.evaluateOnExit[0].action","string")
json.UpdateString("retryStrategy.evaluateOnExit[0].onExitCode","string")
json.UpdateString("retryStrategy.evaluateOnExit[0].onReason","string")
json.UpdateString("retryStrategy.evaluateOnExit[0].onStatusReason","string")
json.UpdateInt("schedulingPriority",123)
json.UpdateString("tags.string","string")
json.UpdateInt("timeout.attemptDurationSeconds",123)
json.UpdateString("type","string")
' The JSON request body created by the above code:
' {
' "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"
' }
' ]
' },
' "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"
' }
' ]
' },
' "schedulingPriority": number,
' "tags": {
' "string": "string"
' },
' "timeout": {
' "attemptDurationSeconds": number
' },
' "type": "string"
' }
rest.AddHeader("Content-Type","application/x-amz-json-1.1")
rest.AddHeader("X-Amz-Target","RegisterJobDefinition")
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST","/v1/registerjobdefinition",sbRequestBody,sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
Debug.WriteLine("response status code = " & respStatusCode)
If (respStatusCode <> 200) Then
Debug.WriteLine("Response Header:")
Debug.WriteLine(rest.ResponseHeader)
Debug.WriteLine("Response Body:")
Debug.WriteLine(sbResponseBody.GetAsString())
Exit Sub
End If
Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
' Use this online tool to generate parsing code from sample JSON:
' Generate Parsing Code from JSON
Dim jobDefinitionArn As String = jResp.StringOf("jobDefinitionArn")
Dim jobDefinitionName As String = jResp.StringOf("jobDefinitionName")
Dim revision As Integer = jResp.IntOf("revision")
' A sample JSON response body parsed by the above code:
' {
' "jobDefinitionArn": "string",
' "jobDefinitionName": "string",
' "revision": number
' }