Upload Application Snapshot (v1)

REST Resource

POST /interop/rest/v1/applicationsnapshots

Supported Media Types: application/octet-stream

Table 2-208 Parameters

Name Description Type Default
applicationSnapshotName Name of the application snapshot to be uploaded. A file with this name is created in the Planning repository. If a file or folder with this name exists in the repository, an error is thrown indicating that a file or folder exists. Path N/A
isLast If the chunk being passed is the last one then set to true Query N/A
chunkSize Size of the chunk being passed in bytes Query N/A
isFirst If the chunk being passed is the first one and there will be subsequent requests for upload then set as true Query N/A
fileSize The size of the file being uploaded Query N/A

Response

Supported Media Types: application/json

Table 2-209 Parameters

Name Description
details In the case of errors, details are published with the error string
status See Migration Status Codes
links Detailed information about the link
href Links to API call
action The HTTP call type
rel Is self, which denotes the URL of this REST API.
data Parameters as key value pairs passed in the request

Example of Response Body

{
	"status":0,
	"details":null,
	"links":[{
		"data":null,
		"action":"POST",
		"href":"https://<BASE-URL>/interop/rest/v1/applicationsnapshots/ss2.zip/contents,
		"rel":"self"
	}]
}

Example Request 1: Initialise Step

curl -s -u <USERNAME>:<PASSWORD> -H 'Content-Type: application/octet-stream' --request POST 'https://<BASE-URL>/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents?q=%7B%22isFirst%22%3Atrue%2C%22chunkSize%22%3A14%2C%22fileSize%22%3A%22<FILE-SIZE>%22%2C%22isLast%22%3Afalse%7D'

Parameters

{
  "isFirst": true,
  "chunkSize": 14,
  "fileSize": "<FILE-SIZE>",
  "isLast": false
}

Response

{
  "details": null,
  "status": 0,
  "links": [
    {
      "href": "http://<BASE-URL>/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents",
      "action": "POST",
      "rel": "self",
      "data": null
    }
  ]

Example Request 2: Upload the Content

curl -s -u <USERNAME>:<PASSWORD> -H 'Content-Type: application/octet-stream' --request POST 'https://<BASE-URL>/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents?q=%7B%22startRange%22%3A%22<START-RANGE>%22%2C%22isFirst%22%3Afalse%2C%22chunkSize%22%3A<CHUNK-SIZE>%2C%22isLast%22%3Afalse%2C%22fileSize%22%3A%<FILE-SIZE>%22%2C%22endRange%22%3A%22<END-RANGE>%22%2C%22chunkNo%22%3A<CHUNK-NO>%7D' --data-binary @/u03/lcm/temp.DNpfOC/chunk_aa

Parameters

{
  "startRange": "<START-RANGE>",
  "isFirst": false,
  "chunkSize": <CHUNK-SIZE>,
  "isLast": false,
  "fileSize": "<FILE-SIZE>",
  "endRange": "<END-RANGE>",
  "chunkNo": <CHUNK-NUMBER>
}

Response

{
  "details": null,
  "status": 0,
  "links": [
    {
      "href": "http://<BASE-URL>/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents",
      "action": "POST",
      "rel": "self",
      "data": null
    }
  ]
}

Example Request 3: Extract the Content

curl -s -u <USERNAME>:<PASSWORD> -H 'Content-Type: application/octet-stream' --request POST 'http://phoenix229110.appsdev.fusionappsdphx1.oraclevcn.com:10219/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents?q=%7B%22isFirst%22%3Afalse%2C%22chunkSize%22%3A14%2C%22fileSize%22%3A%22<FILE-SIZE>%22%2C%22isLast%22%3Atrue%7D'

Parameters

{
  "isFirst": false,
  "chunkSize": 14,
  "fileSize": "<FILE-SIZE>",
  "isLast": true
}

Response

{
  "details": null,
  "status": -1,
  "links": [
    {
      "href": "http://<BASE-URL>/interop/rest/v1/applicationsnapshots/<SNAPSHOT-NAME>.zip/contents",
      "action": "POST",
      "rel": "self",
      "data": null
    },
    {
      "href": "http://<BASE-URL>/interop/rest/v1/services/jobs/<JOB-ID>",
      "action": "GET",
      "rel": "Job' 'Status",
      "data": null
    }
  ]
}