Chilkat Online Tools

Foxpro / Core Services API / GetInstance

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcId
LOCAL lcCompartmentId
LOCAL lcShape
LOCAL lcRegion
LOCAL lcAvailabilityDomain
LOCAL lcLifecycleState
LOCAL lcTimeCreated
LOCAL lcValue
LOCAL lcIsManagementDisabledValue
LOCAL lcIsMonitoringDisabledValue
LOCAL lcPluginsConfigValue
LOCAL lcIsLiveMigrationPreferredValue
LOCAL lcRecoveryActionValue
LOCAL lcCapacityReservationId
LOCAL lcDedicatedVmHostId
LOCAL lcDisplayName
LOCAL lcFaultDomain
LOCAL lcImageId
LOCAL lcAreLegacyImdsEndpointsDisabledValue
LOCAL lcIpxeScript
LOCAL lcLaunchMode
LOCAL lcBootVolumeTypeValue
LOCAL lcFirmwareValue
LOCAL lcIsConsistentVolumeNamingEnabledValue
LOCAL lcIsPvEncryptionInTransitEnabledValue
LOCAL lcNetworkTypeValue
LOCAL lcRemoteDataVolumeTypeValue
LOCAL lcTypeValue
LOCAL lcIsMeasuredBootEnabledValue
LOCAL lcIsSecureBootEnabledValue
LOCAL lcIsTrustedPlatformModuleEnabledValue
LOCAL lcPreemptionActionValue
LOCAL lcBaselineOcpuUtilizationValue
LOCAL lcGpuDescriptionValue
LOCAL lcGpusValue
LOCAL lcLocalDiskDescriptionValue
LOCAL lcLocalDisksValue
LOCAL lcLocalDisksTotalSizeInGBsValue
LOCAL lcMaxVnicAttachmentsValue
LOCAL lcMemoryInGBsValue
LOCAL lcNetworkingBandwidthInGbpsValue
LOCAL lcOcpusValue
LOCAL lcProcessorDescriptionValue
LOCAL lcSourceTypeValue
LOCAL lcTimeMaintenanceRebootDue

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

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

loHttp.SetRequestHeader("Authorization","{{signature}}")
loHttp.SetRequestHeader("Date","{{date}}")

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder')
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
lnSuccess = loHttp.QuickGetSb("https://iaas.{{region}}.oraclecloud.com/20160918/instances/:instanceId",loSbResponseBody)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loSbResponseBody
    CANCEL
ENDIF

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loHttp.LastStatus
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loHttp.LastHeader
    ? "Failed."
    RELEASE loHttp
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
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

lcId = loJResp.StringOf("id")
lcCompartmentId = loJResp.StringOf("compartmentId")
lcShape = loJResp.StringOf("shape")
lcRegion = loJResp.StringOf("region")
lcAvailabilityDomain = loJResp.StringOf("availabilityDomain")
lcLifecycleState = loJResp.StringOf("lifecycleState")
lcTimeCreated = loJResp.StringOf("timeCreated")
lcValue = loJResp.StringOf("agentConfig.areAllPluginsDisabled.value")
lcIsManagementDisabledValue = loJResp.StringOf("agentConfig.isManagementDisabled.value")
lcIsMonitoringDisabledValue = loJResp.StringOf("agentConfig.isMonitoringDisabled.value")
lcPluginsConfigValue = loJResp.StringOf("agentConfig.pluginsConfig.value")
lcIsLiveMigrationPreferredValue = loJResp.StringOf("availabilityConfig.isLiveMigrationPreferred.value")
lcRecoveryActionValue = loJResp.StringOf("availabilityConfig.recoveryAction.value")
lcCapacityReservationId = loJResp.StringOf("capacityReservationId")
lcDedicatedVmHostId = loJResp.StringOf("dedicatedVmHostId")
lcDisplayName = loJResp.StringOf("displayName")
lcFaultDomain = loJResp.StringOf("faultDomain")
lcImageId = loJResp.StringOf("imageId")
lcAreLegacyImdsEndpointsDisabledValue = loJResp.StringOf("instanceOptions.areLegacyImdsEndpointsDisabled.value")
lcIpxeScript = loJResp.StringOf("ipxeScript")
lcLaunchMode = loJResp.StringOf("launchMode")
lcBootVolumeTypeValue = loJResp.StringOf("launchOptions.bootVolumeType.value")
lcFirmwareValue = loJResp.StringOf("launchOptions.firmware.value")
lcIsConsistentVolumeNamingEnabledValue = loJResp.StringOf("launchOptions.isConsistentVolumeNamingEnabled.value")
lcIsPvEncryptionInTransitEnabledValue = loJResp.StringOf("launchOptions.isPvEncryptionInTransitEnabled.value")
lcNetworkTypeValue = loJResp.StringOf("launchOptions.networkType.value")
lcRemoteDataVolumeTypeValue = loJResp.StringOf("launchOptions.remoteDataVolumeType.value")
lcTypeValue = loJResp.StringOf("platformConfig.type.value")
lcIsMeasuredBootEnabledValue = loJResp.StringOf("platformConfig.isMeasuredBootEnabled.value")
lcIsSecureBootEnabledValue = loJResp.StringOf("platformConfig.isSecureBootEnabled.value")
lcIsTrustedPlatformModuleEnabledValue = loJResp.StringOf("platformConfig.isTrustedPlatformModuleEnabled.value")
lcPreemptionActionValue = loJResp.StringOf("preemptibleInstanceConfig.preemptionAction.value")
lcBaselineOcpuUtilizationValue = loJResp.StringOf("shapeConfig.baselineOcpuUtilization.value")
lcGpuDescriptionValue = loJResp.StringOf("shapeConfig.gpuDescription.value")
lcGpusValue = loJResp.StringOf("shapeConfig.gpus.value")
lcLocalDiskDescriptionValue = loJResp.StringOf("shapeConfig.localDiskDescription.value")
lcLocalDisksValue = loJResp.StringOf("shapeConfig.localDisks.value")
lcLocalDisksTotalSizeInGBsValue = loJResp.StringOf("shapeConfig.localDisksTotalSizeInGBs.value")
lcMaxVnicAttachmentsValue = loJResp.StringOf("shapeConfig.maxVnicAttachments.value")
lcMemoryInGBsValue = loJResp.StringOf("shapeConfig.memoryInGBs.value")
lcNetworkingBandwidthInGbpsValue = loJResp.StringOf("shapeConfig.networkingBandwidthInGbps.value")
lcOcpusValue = loJResp.StringOf("shapeConfig.ocpus.value")
lcProcessorDescriptionValue = loJResp.StringOf("shapeConfig.processorDescription.value")
lcSourceTypeValue = loJResp.StringOf("sourceDetails.sourceType.value")
lcTimeMaintenanceRebootDue = loJResp.StringOf("timeMaintenanceRebootDue")

RELEASE loHttp
RELEASE loSbResponseBody
RELEASE loJResp

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}"
    }
  ]
}