DescribeJobs Objective-C Example
#import <CkoRest.h>
#import <CkoAuthAws.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoRest *rest = [[CkoRest alloc] init];
BOOL success;
CkoAuthAws *authAws = [[CkoAuthAws alloc] init];
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" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: YES];
if (success != YES) {
NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
NSLog(@"%@",rest.LastErrorText);
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
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"jobs[0]" value: @"string"];
// The JSON request body created by the above code:
// {
// "jobs": [
// "string"
// ]
// }
[rest AddHeader: @"Content-Type" value: @"application/x-amz-json-1.1"];
[rest AddHeader: @"X-Amz-Target" value: @"DescribeJobs"];
CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init];
[json EmitSb: sbRequestBody];
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [rest FullRequestSb: @"POST" uriPath: @"/v1/describejobs" requestBody: sbRequestBody responseBody: sbResponseBody];
if (success != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
int respStatusCode = [rest.ResponseStatusCode intValue];
NSLog(@"%@%d",@"response status code = ",respStatusCode);
if (respStatusCode != 200) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",rest.ResponseHeader);
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[sbResponseBody GetAsString]);
return;
}
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[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
int Index;
int Size;
int v_String;
NSString *ContainerInstanceArn = 0;
NSString *ExecutionRoleArn = 0;
int ExitCode;
NSString *PlatformVersion = 0;
NSString *Image = 0;
NSString *InstanceType = 0;
NSString *JobRoleArn = 0;
int InitProcessEnabled;
int MaxSwap;
int SharedMemorySize;
int Swappiness;
NSString *LogDriver = 0;
NSString *OptionsString = 0;
NSString *LogStreamName = 0;
int Memory;
NSString *AssignPublicIp = 0;
int Privileged;
int ReadonlyRootFilesystem;
NSString *Reason = 0;
NSString *TaskArn = 0;
NSString *User = 0;
int Vcpus;
int createdAt;
NSString *jobArn = 0;
NSString *jobDefinition = 0;
NSString *jobId = 0;
NSString *jobName = 0;
NSString *jobQueue = 0;
int IsMainNode;
int NodeIndex;
int MainNode;
int NumNodes;
NSString *parametersString = 0;
int propagateTags;
int Attempts;
int schedulingPriority;
NSString *shareIdentifier = 0;
int startedAt;
NSString *status = 0;
NSString *statusReason = 0;
int stoppedAt;
NSString *tagsString = 0;
int AttemptDurationSeconds;
int j;
int count_j;
NSString *containerContainerInstanceArn = 0;
int containerExitCode;
NSString *containerLogStreamName = 0;
NSString *containerReason = 0;
NSString *containerTaskArn = 0;
int k;
int count_k;
NSString *attachmentId = 0;
NSString *ipv6Address = 0;
NSString *privateIpv4Address = 0;
NSString *strVal = 0;
NSString *name = 0;
NSString *value = 0;
NSString *containerPath = 0;
NSString *hostPath = 0;
int size;
NSString *valueFrom = 0;
int readOnly;
NSString *sourceVolume = 0;
NSString *v_type = 0;
int hardLimit;
int softLimit;
NSString *AccessPointId = 0;
NSString *Iam = 0;
NSString *FileSystemId = 0;
NSString *RootDirectory = 0;
NSString *TransitEncryption = 0;
int TransitEncryptionPort;
NSString *SourcePath = 0;
NSString *containerExecutionRoleArn = 0;
NSString *FargatePlatformConfigurationPlatformVersion = 0;
NSString *containerImage = 0;
NSString *containerInstanceType = 0;
NSString *containerJobRoleArn = 0;
int LinuxParametersInitProcessEnabled;
int LinuxParametersMaxSwap;
int LinuxParametersSharedMemorySize;
int LinuxParametersSwappiness;
NSString *LogConfigurationLogDriver = 0;
int containerMemory;
NSString *NetworkConfigurationAssignPublicIp = 0;
int containerPrivileged;
int containerReadonlyRootFilesystem;
NSString *containerUser = 0;
int containerVcpus;
NSString *targetNodes = 0;
CkoJsonObject *json1 = 0;
int i1;
int count_i1;
NSString *AuthorizationConfigAccessPointId = 0;
NSString *AuthorizationConfigIam = 0;
NSString *efsVolumeConfigurationFileSystemId = 0;
NSString *efsVolumeConfigurationRootDirectory = 0;
NSString *efsVolumeConfigurationTransitEncryption = 0;
int efsVolumeConfigurationTransitEncryptionPort;
NSString *hostSourcePath = 0;
NSString *action = 0;
NSString *onExitCode = 0;
NSString *onReason = 0;
NSString *onStatusReason = 0;
int i = 0;
int count_i = [[jResp SizeOfArray: @"jobs"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
Index = [[jResp IntOf: @"jobs[i].arrayProperties.index"] intValue];
Size = [[jResp IntOf: @"jobs[i].arrayProperties.size"] intValue];
v_String = [[jResp IntOf: @"jobs[i].arrayProperties.statusSummary.string"] intValue];
ContainerInstanceArn = [jResp StringOf: @"jobs[i].container.containerInstanceArn"];
ExecutionRoleArn = [jResp StringOf: @"jobs[i].container.executionRoleArn"];
ExitCode = [[jResp IntOf: @"jobs[i].container.exitCode"] intValue];
PlatformVersion = [jResp StringOf: @"jobs[i].container.fargatePlatformConfiguration.platformVersion"];
Image = [jResp StringOf: @"jobs[i].container.image"];
InstanceType = [jResp StringOf: @"jobs[i].container.instanceType"];
JobRoleArn = [jResp StringOf: @"jobs[i].container.jobRoleArn"];
InitProcessEnabled = [[jResp IntOf: @"jobs[i].container.linuxParameters.initProcessEnabled"] intValue];
MaxSwap = [[jResp IntOf: @"jobs[i].container.linuxParameters.maxSwap"] intValue];
SharedMemorySize = [[jResp IntOf: @"jobs[i].container.linuxParameters.sharedMemorySize"] intValue];
Swappiness = [[jResp IntOf: @"jobs[i].container.linuxParameters.swappiness"] intValue];
LogDriver = [jResp StringOf: @"jobs[i].container.logConfiguration.logDriver"];
OptionsString = [jResp StringOf: @"jobs[i].container.logConfiguration.options.string"];
LogStreamName = [jResp StringOf: @"jobs[i].container.logStreamName"];
Memory = [[jResp IntOf: @"jobs[i].container.memory"] intValue];
AssignPublicIp = [jResp StringOf: @"jobs[i].container.networkConfiguration.assignPublicIp"];
Privileged = [[jResp IntOf: @"jobs[i].container.privileged"] intValue];
ReadonlyRootFilesystem = [[jResp IntOf: @"jobs[i].container.readonlyRootFilesystem"] intValue];
Reason = [jResp StringOf: @"jobs[i].container.reason"];
TaskArn = [jResp StringOf: @"jobs[i].container.taskArn"];
User = [jResp StringOf: @"jobs[i].container.user"];
Vcpus = [[jResp IntOf: @"jobs[i].container.vcpus"] intValue];
createdAt = [[jResp IntOf: @"jobs[i].createdAt"] intValue];
jobArn = [jResp StringOf: @"jobs[i].jobArn"];
jobDefinition = [jResp StringOf: @"jobs[i].jobDefinition"];
jobId = [jResp StringOf: @"jobs[i].jobId"];
jobName = [jResp StringOf: @"jobs[i].jobName"];
jobQueue = [jResp StringOf: @"jobs[i].jobQueue"];
IsMainNode = [[jResp IntOf: @"jobs[i].nodeDetails.isMainNode"] intValue];
NodeIndex = [[jResp IntOf: @"jobs[i].nodeDetails.nodeIndex"] intValue];
MainNode = [[jResp IntOf: @"jobs[i].nodeProperties.mainNode"] intValue];
NumNodes = [[jResp IntOf: @"jobs[i].nodeProperties.numNodes"] intValue];
parametersString = [jResp StringOf: @"jobs[i].parameters.string"];
propagateTags = [[jResp IntOf: @"jobs[i].propagateTags"] intValue];
Attempts = [[jResp IntOf: @"jobs[i].retryStrategy.attempts"] intValue];
schedulingPriority = [[jResp IntOf: @"jobs[i].schedulingPriority"] intValue];
shareIdentifier = [jResp StringOf: @"jobs[i].shareIdentifier"];
startedAt = [[jResp IntOf: @"jobs[i].startedAt"] intValue];
status = [jResp StringOf: @"jobs[i].status"];
statusReason = [jResp StringOf: @"jobs[i].statusReason"];
stoppedAt = [[jResp IntOf: @"jobs[i].stoppedAt"] intValue];
tagsString = [jResp StringOf: @"jobs[i].tags.string"];
AttemptDurationSeconds = [[jResp IntOf: @"jobs[i].timeout.attemptDurationSeconds"] intValue];
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].attempts"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
containerContainerInstanceArn = [jResp StringOf: @"jobs[i].attempts[j].container.containerInstanceArn"];
containerExitCode = [[jResp IntOf: @"jobs[i].attempts[j].container.exitCode"] intValue];
containerLogStreamName = [jResp StringOf: @"jobs[i].attempts[j].container.logStreamName"];
containerReason = [jResp StringOf: @"jobs[i].attempts[j].container.reason"];
containerTaskArn = [jResp StringOf: @"jobs[i].attempts[j].container.taskArn"];
startedAt = [[jResp IntOf: @"jobs[i].attempts[j].startedAt"] intValue];
statusReason = [jResp StringOf: @"jobs[i].attempts[j].statusReason"];
stoppedAt = [[jResp IntOf: @"jobs[i].attempts[j].stoppedAt"] intValue];
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].attempts[j].container.networkInterfaces"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
attachmentId = [jResp StringOf: @"jobs[i].attempts[j].container.networkInterfaces[k].attachmentId"];
ipv6Address = [jResp StringOf: @"jobs[i].attempts[j].container.networkInterfaces[k].ipv6Address"];
privateIpv4Address = [jResp StringOf: @"jobs[i].attempts[j].container.networkInterfaces[k].privateIpv4Address"];
k = k + 1;
}
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.command"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"jobs[i].container.command[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.environment"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
name = [jResp StringOf: @"jobs[i].container.environment[j].name"];
value = [jResp StringOf: @"jobs[i].container.environment[j].value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.linuxParameters.devices"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
containerPath = [jResp StringOf: @"jobs[i].container.linuxParameters.devices[j].containerPath"];
hostPath = [jResp StringOf: @"jobs[i].container.linuxParameters.devices[j].hostPath"];
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].container.linuxParameters.devices[j].permissions"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
strVal = [jResp StringOf: @"jobs[i].container.linuxParameters.devices[j].permissions[k]"];
k = k + 1;
}
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.linuxParameters.tmpfs"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
containerPath = [jResp StringOf: @"jobs[i].container.linuxParameters.tmpfs[j].containerPath"];
size = [[jResp IntOf: @"jobs[i].container.linuxParameters.tmpfs[j].size"] intValue];
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].container.linuxParameters.tmpfs[j].mountOptions"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
strVal = [jResp StringOf: @"jobs[i].container.linuxParameters.tmpfs[j].mountOptions[k]"];
k = k + 1;
}
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.logConfiguration.secretOptions"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
name = [jResp StringOf: @"jobs[i].container.logConfiguration.secretOptions[j].name"];
valueFrom = [jResp StringOf: @"jobs[i].container.logConfiguration.secretOptions[j].valueFrom"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.mountPoints"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
containerPath = [jResp StringOf: @"jobs[i].container.mountPoints[j].containerPath"];
readOnly = [[jResp IntOf: @"jobs[i].container.mountPoints[j].readOnly"] intValue];
sourceVolume = [jResp StringOf: @"jobs[i].container.mountPoints[j].sourceVolume"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.networkInterfaces"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
attachmentId = [jResp StringOf: @"jobs[i].container.networkInterfaces[j].attachmentId"];
ipv6Address = [jResp StringOf: @"jobs[i].container.networkInterfaces[j].ipv6Address"];
privateIpv4Address = [jResp StringOf: @"jobs[i].container.networkInterfaces[j].privateIpv4Address"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.resourceRequirements"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
v_type = [jResp StringOf: @"jobs[i].container.resourceRequirements[j].type"];
value = [jResp StringOf: @"jobs[i].container.resourceRequirements[j].value"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.secrets"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
name = [jResp StringOf: @"jobs[i].container.secrets[j].name"];
valueFrom = [jResp StringOf: @"jobs[i].container.secrets[j].valueFrom"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.ulimits"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
hardLimit = [[jResp IntOf: @"jobs[i].container.ulimits[j].hardLimit"] intValue];
name = [jResp StringOf: @"jobs[i].container.ulimits[j].name"];
softLimit = [[jResp IntOf: @"jobs[i].container.ulimits[j].softLimit"] intValue];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].container.volumes"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
AccessPointId = [jResp StringOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.authorizationConfig.accessPointId"];
Iam = [jResp StringOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.authorizationConfig.iam"];
FileSystemId = [jResp StringOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.fileSystemId"];
RootDirectory = [jResp StringOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.rootDirectory"];
TransitEncryption = [jResp StringOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.transitEncryption"];
TransitEncryptionPort = [[jResp IntOf: @"jobs[i].container.volumes[j].efsVolumeConfiguration.transitEncryptionPort"] intValue];
SourcePath = [jResp StringOf: @"jobs[i].container.volumes[j].host.sourcePath"];
name = [jResp StringOf: @"jobs[i].container.volumes[j].name"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].dependsOn"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
jobId = [jResp StringOf: @"jobs[i].dependsOn[j].jobId"];
v_type = [jResp StringOf: @"jobs[i].dependsOn[j].type"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
containerExecutionRoleArn = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.executionRoleArn"];
FargatePlatformConfigurationPlatformVersion = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.fargatePlatformConfiguration.platformVersion"];
containerImage = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.image"];
containerInstanceType = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.instanceType"];
containerJobRoleArn = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.jobRoleArn"];
LinuxParametersInitProcessEnabled = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.initProcessEnabled"] intValue];
LinuxParametersMaxSwap = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.maxSwap"] intValue];
LinuxParametersSharedMemorySize = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.sharedMemorySize"] intValue];
LinuxParametersSwappiness = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.swappiness"] intValue];
LogConfigurationLogDriver = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.logDriver"];
OptionsString = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.options.string"];
containerMemory = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.memory"] intValue];
NetworkConfigurationAssignPublicIp = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.networkConfiguration.assignPublicIp"];
containerPrivileged = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.privileged"] intValue];
containerReadonlyRootFilesystem = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.readonlyRootFilesystem"] intValue];
containerUser = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.user"];
containerVcpus = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.vcpus"] intValue];
targetNodes = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].targetNodes"];
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.command"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
strVal = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.command[k]"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.environment"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
name = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.environment[k].name"];
value = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.environment[k].value"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
containerPath = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].containerPath"];
hostPath = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k].hostPath"];
json1 = [jResp ObjectOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.devices[k]"];
i1 = 0;
count_i1 = [[json1 SizeOfArray: @"permissions"] intValue];
while (i1 < count_i1) {
json1.I = [NSNumber numberWithInt: i1];
strVal = [json1 StringOf: @"permissions[i]"];
i1 = i1 + 1;
}
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
containerPath = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].containerPath"];
size = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k].size"] intValue];
json1 = [jResp ObjectOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.linuxParameters.tmpfs[k]"];
i1 = 0;
count_i1 = [[json1 SizeOfArray: @"mountOptions"] intValue];
while (i1 < count_i1) {
json1.I = [NSNumber numberWithInt: i1];
strVal = [json1 StringOf: @"mountOptions[i]"];
i1 = i1 + 1;
}
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
name = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].name"];
valueFrom = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.logConfiguration.secretOptions[k].valueFrom"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
containerPath = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].containerPath"];
readOnly = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].readOnly"] intValue];
sourceVolume = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.mountPoints[k].sourceVolume"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
v_type = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].type"];
value = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.resourceRequirements[k].value"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
name = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].name"];
valueFrom = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.secrets[k].valueFrom"];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
hardLimit = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].hardLimit"] intValue];
name = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].name"];
softLimit = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.ulimits[k].softLimit"] intValue];
k = k + 1;
}
k = 0;
count_k = [[jResp SizeOfArray: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes"] intValue];
while (k < count_k) {
jResp.K = [NSNumber numberWithInt: k];
AuthorizationConfigAccessPointId = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.accessPointId"];
AuthorizationConfigIam = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.authorizationConfig.iam"];
efsVolumeConfigurationFileSystemId = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.fileSystemId"];
efsVolumeConfigurationRootDirectory = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.rootDirectory"];
efsVolumeConfigurationTransitEncryption = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryption"];
efsVolumeConfigurationTransitEncryptionPort = [[jResp IntOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].efsVolumeConfiguration.transitEncryptionPort"] intValue];
hostSourcePath = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].host.sourcePath"];
name = [jResp StringOf: @"jobs[i].nodeProperties.nodeRangeProperties[j].container.volumes[k].name"];
k = k + 1;
}
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].platformCapabilities"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"jobs[i].platformCapabilities[j]"];
j = j + 1;
}
j = 0;
count_j = [[jResp SizeOfArray: @"jobs[i].retryStrategy.evaluateOnExit"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
action = [jResp StringOf: @"jobs[i].retryStrategy.evaluateOnExit[j].action"];
onExitCode = [jResp StringOf: @"jobs[i].retryStrategy.evaluateOnExit[j].onExitCode"];
onReason = [jResp StringOf: @"jobs[i].retryStrategy.evaluateOnExit[j].onReason"];
onStatusReason = [jResp StringOf: @"jobs[i].retryStrategy.evaluateOnExit[j].onStatusReason"];
j = j + 1;
}
i = i + 1;
}
// 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
// }
// }
// ]
// }