Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
CkHttp::ckSetRequestHeader(http,"Authorization","{{signature}}")
CkHttp::ckSetRequestHeader(http,"Date","{{date}}")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://iaas.{{region}}.oraclecloud.com/20160918/instances/:instanceId",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "id": "sit dolor",
; "compartmentId": "et esse",
; "shape": "sunt veniam",
; "region": "laboris",
; "availabilityDomain": "dolor",
; "lifecycleState": "TERMINATED",
; "timeCreated": "2006-02-03T20:50:31.716Z",
; "agentConfig": {
; "areAllPluginsDisabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isManagementDisabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isMonitoringDisabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "pluginsConfig": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "availabilityConfig": {
; "isLiveMigrationPreferred": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "recoveryAction": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "capacityReservationId": "occaecat sint id",
; "dedicatedVmHostId": "ipsum dolor incididunt sit ex",
; "definedTags": {},
; "displayName": "consequat aliquip magna ullamco",
; "extendedMetadata": {},
; "faultDomain": "incididunt esse",
; "freeformTags": {},
; "imageId": "dolor nulla consequat ipsum",
; "instanceOptions": {
; "areLegacyImdsEndpointsDisabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "ipxeScript": "anim magna",
; "launchMode": "CUSTOM",
; "launchOptions": {
; "bootVolumeType": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "firmware": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isConsistentVolumeNamingEnabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isPvEncryptionInTransitEnabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "networkType": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "remoteDataVolumeType": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "metadata": {},
; "platformConfig": {
; "type": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isMeasuredBootEnabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isSecureBootEnabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "isTrustedPlatformModuleEnabled": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "preemptibleInstanceConfig": {
; "preemptionAction": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "shapeConfig": {
; "baselineOcpuUtilization": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "gpuDescription": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "gpus": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "localDiskDescription": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "localDisks": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "localDisksTotalSizeInGBs": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "maxVnicAttachments": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "memoryInGBs": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "networkingBandwidthInGbps": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "ocpus": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; },
; "processorDescription": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "sourceDetails": {
; "sourceType": {
; "value": "<Error: Too many levels of nesting to fake this schema>"
; }
; },
; "timeMaintenanceRebootDue": "1973-07-06T14:36:00.263Z"
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
id.s = CkJsonObject::ckStringOf(jResp,"id")
compartmentId.s = CkJsonObject::ckStringOf(jResp,"compartmentId")
shape.s = CkJsonObject::ckStringOf(jResp,"shape")
region.s = CkJsonObject::ckStringOf(jResp,"region")
availabilityDomain.s = CkJsonObject::ckStringOf(jResp,"availabilityDomain")
lifecycleState.s = CkJsonObject::ckStringOf(jResp,"lifecycleState")
timeCreated.s = CkJsonObject::ckStringOf(jResp,"timeCreated")
Value.s = CkJsonObject::ckStringOf(jResp,"agentConfig.areAllPluginsDisabled.value")
IsManagementDisabledValue.s = CkJsonObject::ckStringOf(jResp,"agentConfig.isManagementDisabled.value")
IsMonitoringDisabledValue.s = CkJsonObject::ckStringOf(jResp,"agentConfig.isMonitoringDisabled.value")
PluginsConfigValue.s = CkJsonObject::ckStringOf(jResp,"agentConfig.pluginsConfig.value")
IsLiveMigrationPreferredValue.s = CkJsonObject::ckStringOf(jResp,"availabilityConfig.isLiveMigrationPreferred.value")
RecoveryActionValue.s = CkJsonObject::ckStringOf(jResp,"availabilityConfig.recoveryAction.value")
capacityReservationId.s = CkJsonObject::ckStringOf(jResp,"capacityReservationId")
dedicatedVmHostId.s = CkJsonObject::ckStringOf(jResp,"dedicatedVmHostId")
displayName.s = CkJsonObject::ckStringOf(jResp,"displayName")
faultDomain.s = CkJsonObject::ckStringOf(jResp,"faultDomain")
imageId.s = CkJsonObject::ckStringOf(jResp,"imageId")
AreLegacyImdsEndpointsDisabledValue.s = CkJsonObject::ckStringOf(jResp,"instanceOptions.areLegacyImdsEndpointsDisabled.value")
ipxeScript.s = CkJsonObject::ckStringOf(jResp,"ipxeScript")
launchMode.s = CkJsonObject::ckStringOf(jResp,"launchMode")
BootVolumeTypeValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.bootVolumeType.value")
FirmwareValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.firmware.value")
IsConsistentVolumeNamingEnabledValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.isConsistentVolumeNamingEnabled.value")
IsPvEncryptionInTransitEnabledValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.isPvEncryptionInTransitEnabled.value")
NetworkTypeValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.networkType.value")
RemoteDataVolumeTypeValue.s = CkJsonObject::ckStringOf(jResp,"launchOptions.remoteDataVolumeType.value")
TypeValue.s = CkJsonObject::ckStringOf(jResp,"platformConfig.type.value")
IsMeasuredBootEnabledValue.s = CkJsonObject::ckStringOf(jResp,"platformConfig.isMeasuredBootEnabled.value")
IsSecureBootEnabledValue.s = CkJsonObject::ckStringOf(jResp,"platformConfig.isSecureBootEnabled.value")
IsTrustedPlatformModuleEnabledValue.s = CkJsonObject::ckStringOf(jResp,"platformConfig.isTrustedPlatformModuleEnabled.value")
PreemptionActionValue.s = CkJsonObject::ckStringOf(jResp,"preemptibleInstanceConfig.preemptionAction.value")
BaselineOcpuUtilizationValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.baselineOcpuUtilization.value")
GpuDescriptionValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.gpuDescription.value")
GpusValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.gpus.value")
LocalDiskDescriptionValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.localDiskDescription.value")
LocalDisksValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.localDisks.value")
LocalDisksTotalSizeInGBsValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.localDisksTotalSizeInGBs.value")
MaxVnicAttachmentsValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.maxVnicAttachments.value")
MemoryInGBsValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.memoryInGBs.value")
NetworkingBandwidthInGbpsValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.networkingBandwidthInGbps.value")
OcpusValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.ocpus.value")
ProcessorDescriptionValue.s = CkJsonObject::ckStringOf(jResp,"shapeConfig.processorDescription.value")
SourceTypeValue.s = CkJsonObject::ckStringOf(jResp,"sourceDetails.sourceType.value")
timeMaintenanceRebootDue.s = CkJsonObject::ckStringOf(jResp,"timeMaintenanceRebootDue")
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
Curl Command
curl -X GET
-H "Date: {{date}}"
-H "Authorization: {{signature}}"
https://iaas.{{region}}.oraclecloud.com/20160918/instances/:instanceId
Postman Collection Item JSON
{
"name": "GetInstance",
"request": {
"method": "GET",
"header": [
{
"key": "Date",
"value": "{{date}}",
"description": "(Required) Current Date",
"type": "text"
},
{
"key": "Authorization",
"value": "{{signature}}",
"description": "(Required) Signature Authentication on Authorization header",
"type": "text"
}
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId",
"value": "officia sed",
"description": "(Required) The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the instance."
}
]
},
"description": "Gets information about the specified instance."
},
"response": [
{
"name": "The instance was retrieved.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "etag",
"value": "officia sed",
"description": "For optimistic concurrency control. See `if-match`.\n"
},
{
"key": "opc-request-id",
"value": "officia sed",
"description": "Unique Oracle-assigned identifier for the request. If you need to contact\nOracle about a particular request, please provide the request ID.\n"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"id\": \"sit dolor\",\n \"compartmentId\": \"et esse\",\n \"shape\": \"sunt veniam\",\n \"region\": \"laboris\",\n \"availabilityDomain\": \"dolor\",\n \"lifecycleState\": \"TERMINATED\",\n \"timeCreated\": \"2006-02-03T20:50:31.716Z\",\n \"agentConfig\": {\n \"areAllPluginsDisabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isManagementDisabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isMonitoringDisabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"pluginsConfig\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"availabilityConfig\": {\n \"isLiveMigrationPreferred\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"recoveryAction\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"capacityReservationId\": \"occaecat sint id\",\n \"dedicatedVmHostId\": \"ipsum dolor incididunt sit ex\",\n \"definedTags\": {},\n \"displayName\": \"consequat aliquip magna ullamco\",\n \"extendedMetadata\": {},\n \"faultDomain\": \"incididunt esse\",\n \"freeformTags\": {},\n \"imageId\": \"dolor nulla consequat ipsum\",\n \"instanceOptions\": {\n \"areLegacyImdsEndpointsDisabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"ipxeScript\": \"anim magna\",\n \"launchMode\": \"CUSTOM\",\n \"launchOptions\": {\n \"bootVolumeType\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"firmware\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isConsistentVolumeNamingEnabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isPvEncryptionInTransitEnabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"networkType\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"remoteDataVolumeType\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"metadata\": {},\n \"platformConfig\": {\n \"type\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isMeasuredBootEnabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isSecureBootEnabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"isTrustedPlatformModuleEnabled\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"preemptibleInstanceConfig\": {\n \"preemptionAction\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"shapeConfig\": {\n \"baselineOcpuUtilization\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"gpuDescription\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"gpus\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"localDiskDescription\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"localDisks\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"localDisksTotalSizeInGBs\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"maxVnicAttachments\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"memoryInGBs\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"networkingBandwidthInGbps\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"ocpus\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n \"processorDescription\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"sourceDetails\": {\n \"sourceType\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n \"timeMaintenanceRebootDue\": \"1973-07-06T14:36:00.263Z\"\n}"
},
{
"name": "Unauthorized",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId"
}
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "json",
"header": [
{
"key": "opc-request-id",
"value": "officia sed",
"description": "Unique Oracle-assigned identifier for the request. If you need to contact\nOracle about a particular request, please provide the request ID.\n"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"code\": \"et exercitation Excepteur\",\n \"message\": \"irure sit\"\n}"
},
{
"name": "Not Found",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "json",
"header": [
{
"key": "opc-request-id",
"value": "officia sed",
"description": "Unique Oracle-assigned identifier for the request. If you need to contact\nOracle about a particular request, please provide the request ID.\n"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"code\": \"et exercitation Excepteur\",\n \"message\": \"irure sit\"\n}"
},
{
"name": "Internal Server Error",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId"
}
]
}
},
"status": "Internal Server Error",
"code": 500,
"_postman_previewlanguage": "json",
"header": [
{
"key": "opc-request-id",
"value": "officia sed",
"description": "Unique Oracle-assigned identifier for the request. If you need to contact\nOracle about a particular request, please provide the request ID.\n"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"code\": \"et exercitation Excepteur\",\n \"message\": \"irure sit\"\n}"
},
{
"name": "An error has occurred.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/instances/:instanceId",
"host": [
"{{baseUrl}}"
],
"path": [
"instances",
":instanceId"
],
"variable": [
{
"key": "instanceId"
}
]
}
},
"status": "Internal Server Error",
"code": 500,
"_postman_previewlanguage": "json",
"header": [
{
"key": "opc-request-id",
"value": "officia sed",
"description": "Unique Oracle-assigned identifier for the request. If you need to contact\nOracle about a particular request, please provide the request ID.\n"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"code\": \"et exercitation Excepteur\",\n \"message\": \"irure sit\"\n}"
}
]
}