Clone an Environment (v1)

Use this REST API to clone the current environment and, optionally, identify domain artifacts (users and predefined roles), Data Management records, audit records, Job Console records, contents of the inbox and outbox, and stored snapshots.

This API is executed on the source environment after details are provided for the target environment to be cloned. It is an alternative to using the Clone Environment feature in a browser or the EPM Automate cloneEnvironment command.

Required Roles

Service Administrator or any user assigned to the Migrations - Administer granular role

REST Resource

POST /interop/rest/v1/services/clone

Request

Supported Media Types: application/json

Table 9-102 Parameters

Name Description Type Required Default
applicationAudit Whether to clone the application audit data in the source to the target environment for FreeForm, Planning, Financial Consolidation and Close, and Tax Reporting environments, True or False. Including application audit data while cloning an environment makes the target environment keep the application audit history. Payload No True
appProperties

Whether to clone the Account Reconciliation application settings (email notification on/off setting, Redwood Experience, theme, business process name, logo image, and background image) in the source environment to the target environment, True or False. For the target environment to retain its current application settings, set this value to False.

Payload No True
dataManagement Whether to clone the Data Management records of the source to the target environment for all environments other than Data Management and Narrative Reporting, True or False. Payload No True
jobConsole Whether to clone the job console data in the source to the target environment for FreeForm, Planning, Financial Consolidation and Close, and Tax Reporting environments, True or False. Including job console data while cloning an environment makes the target environment keep the job console history. Payload No True
maintenanceStartTime Whether to reset the maintenance start time of the cloned environment to that of the source environment. To keep the current maintenance start time of the target environment, set this value to False. Payload No True
migrateUsers Whether to clone users and their predefined and granular role assignments, True or False.

For this option to work, the user identified by targetUsername must have the Identity Domain Administrator role in the target environment.

Payload No False
snapshotName

Optionally, the name of a snapshot that should be used for cloning. This snapshot must be present in the source environment.

Note: This snapshot must have been created by the daily maintenance. Besides Artifact Snapshot, it can be any snapshot copied to the source environment through the restoreBackup EPM Automate command.

Payload No Last maintenance snapshot
storedSnapshotsAndFiles Whether to clone the contents of the inbox, outbox, and stored snapshots in the source to the target environment for all environments, True or False. Including stored snapshots and files while cloning an environment makes sure that the stored snapshots and files are not lost. Payload No False
targetEncryptPassword

Base64-encoded password of the user identified by targetUsername to be passed as a string.

Payload Yes None
targetURL The URL of the environment that will become the cloned environment Payload Yes None
targetUsername The ID of a Service Administrator in the target environment. If you plan to clone user and role assignments in the target environment, this user must also have the Identity Domain Administrator role. Payload Yes None

Example Payload

{
   "targetURL":"https://<BASE-URL>",targetUserName":"cloneUser@oracle.com", "targetEncryptPassword":"<targetUserBase64EncodedPasswordString>",
   "parameters":{"snapshotName":"Artifact Snapshot", "migrateUsers":"true","maintenanceStartTime":"true", "dataManagement":"true", "jobConsole":"true", "applicationAudit":"true", "storedSnapshotsAndFiles":"false"}
}

Response

Supported Media Types: application/json

Table 9-103 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 or status API
action The HTTP call type
rel Possible values: self or Job Status. If the value is set to Job Status, you can use the href to get the status
intermittentStatus Status of each step performed; can be polled regularly from the job status URL

Example of Response Body

{"intermittentStatus":null, "links":[{"rel":"Job Status","href":"https://<<BASE-URL>/interop/rest/v1/services/status","data":null,"action":"GET"}],"details":null,"status":-1"items":null)

Sample cURL Command Basic Auth

curl -X POST -s -u '<USERNAME>:<PASSWORD>' -H 'Content-Type: application/json' -d '{"targetURL":
" https://<BASE URL>","targetUserName":"<TARGET-USERNAME>","targetEncryptPassword":"<TARGET-BASE64ENCODED-PASSWORD>",
"parameters":{"snapshotName":"<SNAPSHOT-NAME>","migrateUsers":"true","maintenanceStartTime":"<TRUE/FALSE>","dataManagement":
"<TRUE/FALSE>","jobConsole":"<TRUE/FALSE>","applicationAudit":"<TRUE/FALSE>","storedSnapshotsAndFiles":"<TRUE/FALSE>"}}' 
'https://<BASE-URL>/interop/rest/v1/services/clone'

Sample cURL Command OAuth 2.0

curl -X POST --header "Authorization: Bearer <OAUTH_ACCESS_TOKEN>" -H 'Content-Type: application/json' -d '{"targetURL":
" https://<BASE URL>","targetUserName":"<TARGET-USERNAME>","targetEncryptPassword":"<TARGET-BASE64ENCODED-PASSWORD>",
"parameters":{"snapshotName":"<SNAPSHOT-NAME>","migrateUsers":"true","maintenanceStartTime":"<TRUE/FALSE>","dataManagement":
"<TRUE/FALSE>","jobConsole":"<TRUE/FALSE>","applicationAudit":"<TRUE/FALSE>","storedSnapshotsAndFiles":"<TRUE/FALSE>"}}' 
'https://<BASE-URL>/interop/rest/v1/services/clone'