Back to Collection Items
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "serviceId": "in"
// }
loJson = createobject("CkJsonObject")
loJson.UpdateString("serviceId","in")
loHttp.SetRequestHeader("Content-Type","application/json")
loHttp.SetRequestHeader("x-content-sha256","{{content_sha256}}")
loHttp.SetRequestHeader("Authorization","{{signature}}")
loHttp.SetRequestHeader("Date","{{date}}")
loHttp.SetRequestHeader("if-match","officia sed")
loResp = loHttp.PostJson3("https://iaas.{{region}}.oraclecloud.com/20160918/serviceGateways/:serviceGatewayId/actions/detachService","application/json",loJson)
if (loHttp.LastMethodSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loJson
return
endif
loSbResponseBody = createobject("CkStringBuilder")
loResp.GetBodySb(loSbResponseBody)
loJResp = createobject("CkJsonObject")
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = .F.
? "Response Body:"
? loJResp.Emit()
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + str(lnRespStatusCode)
if (lnRespStatusCode >= 400) then
? "Response Header:"
? loResp.Header
? "Failed."
release loResp
release loHttp
release loJson
release loSbResponseBody
release loJResp
return
endif
release loResp
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "compartmentId": "Ut eu esse consectetur",
// "id": "eu ad anim",
// "lifecycleState": "TERMINATING",
// "vcnId": "ea culpa et Duis deserunt",
// "blockTraffic": false,
// "services": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "definedTags": {},
// "displayName": "Lorem Excepteur mini",
// "freeformTags": {},
// "routeTableId": "ex",
// "timeCreated": "2015-12-17T16:51:12.199Z"
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
lcCompartmentId = loJResp.StringOf("compartmentId")
lcId = loJResp.StringOf("id")
lcLifecycleState = loJResp.StringOf("lifecycleState")
lcVcnId = loJResp.StringOf("vcnId")
llBlockTraffic = loJResp.BoolOf("blockTraffic")
lcDisplayName = loJResp.StringOf("displayName")
lcRouteTableId = loJResp.StringOf("routeTableId")
lcTimeCreated = loJResp.StringOf("timeCreated")
i = 0
lnCount_i = loJResp.SizeOfArray("services")
do while i < lnCount_i
loJResp.I = i
lcValue = loJResp.StringOf("services[i].value")
i = i + 1
enddo
release loHttp
release loJson
release loSbResponseBody
release loJResp
Curl Command
curl -X POST
-H "if-match: officia sed"
-H "Content-Type: application/json"
-H "Date: {{date}}"
-H "Authorization: {{signature}}"
-H "x-content-sha256: {{content_sha256}}"
-d '{
"serviceId": "in"
}'
https://iaas.{{region}}.oraclecloud.com/20160918/serviceGateways/:serviceGatewayId/actions/detachService
Postman Collection Item JSON
{
"name": "DetachService",
"request": {
"method": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Date",
"value": "{{date}}",
"description": "(Required) Current Date",
"type": "text"
},
{
"key": "Authorization",
"value": "{{signature}}",
"description": "(Required) Signature Authentication on Authorization header",
"type": "text"
},
{
"key": "x-content-sha256",
"value": "{{content_sha256}}",
"description": "(Required) Content sha256 for POST, PUT and PATCH operations",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId",
"value": "amet ut",
"description": "(Required) The service gateway's [OCID](/iaas/Content/General/Concepts/identifiers.htm)."
}
]
},
"description": "Removes the specified [Service](#/en/iaas/latest/Service/) from the list of enabled\n`Service` objects for the specified gateway. You do not need to remove any route\nrules that specify this `Service` object's `cidrBlock` as the destination CIDR. However, consider\nremoving the rules if your intent is to permanently disable use of the `Service` through this\nservice gateway.\n\n**Note:** The `DetachServiceId` operation is an easy way to remove an individual `Service` from\nthe service gateway. Compare it with\n[UpdateServiceGateway](#/en/iaas/latest/ServiceGateway/UpdateServiceGateway), which replaces\nthe entire existing list of enabled `Service` objects with the list that you provide in the\n`Update` call. `UpdateServiceGateway` also lets you block all traffic through the service\ngateway without having to remove each of the individual `Service` objects.\n"
},
"response": [
{
"name": "The service has been disabled for the service gateway.",
"originalRequest": {
"method": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"status": "OK",
"code": 200,
"_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 \"compartmentId\": \"Ut eu esse consectetur\",\n \"id\": \"eu ad anim\",\n \"lifecycleState\": \"TERMINATING\",\n \"vcnId\": \"ea culpa et Duis deserunt\",\n \"blockTraffic\": false,\n \"services\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"definedTags\": {},\n \"displayName\": \"Lorem Excepteur mini\",\n \"freeformTags\": {},\n \"routeTableId\": \"ex\",\n \"timeCreated\": \"2015-12-17T16:51:12.199Z\"\n}"
},
{
"name": "Bad Request",
"originalRequest": {
"method": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"status": "Bad Request",
"code": 400,
"_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": "Unauthorized",
"originalRequest": {
"method": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"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": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"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": "Conflict",
"originalRequest": {
"method": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"status": "Conflict",
"code": 409,
"_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": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"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": "POST",
"header": [
{
"description": "For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`\nparameter to the value of the etag from a previous GET or POST response for that resource. The resource\nwill be updated or deleted only if the etag you provide matches the resource's current etag value.\n",
"key": "if-match",
"value": "officia sed"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"serviceId\": \"in\"\n}"
},
"url": {
"raw": "{{baseUrl}}/serviceGateways/:serviceGatewayId/actions/detachService",
"host": [
"{{baseUrl}}"
],
"path": [
"serviceGateways",
":serviceGatewayId",
"actions",
"detachService"
],
"variable": [
{
"key": "serviceGatewayId"
}
]
}
},
"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}"
}
]
}