This API cookbook recipe demonstrates how to provision an Oracle VDB using the Delphix Engine API.
In order to provision an Oracle VDB using the API, you need to provide a set of parameters of type OracleProvisionParameters (having already authenticated as per API Cookbook: Authentication).
There are a number of parameters you will need to know:
-
Group reference - See the list operation in "/api#group" on your Delphix Engine
-
VDB name - The name you want the new VDB to be called
-
Mount path - Where to mount datasets on the target host.
-
DB/unique names - The Oracle DB and unique names, often the same as the VDB name
-
Instance name/number - The Oracle instance name and number to use (dictated by your environment, but often VDB name and 1)
-
Repository reference - See the list operation on "/api#repository" on your Delphix Engine
-
TimeFlow point - See API Cookbook: List Snapshots for more information on finding a TimeFlow point, as well as the reference at "/api#TimeflowPoint Parameters
You will need to use the structure of the OracleProvisionParameters object to fill it out, see "/api/#OracleProvisionParameters" for details on which fields are mandatory/optional.
Here is a minimal example using curl to communicate with the API, provisioning a VDB called "EGVDB" (authentication omitted)
curl -X POST -k --data @- http://delphix1.company.com/resources/json/delphix/database/provision \
-b cookies.txt -H "Content-Type: application/json" <<EOF
{
"container": {
"group": "GROUP-2",
"name": "EGVDB",
"type": "OracleDatabaseContainer"
},
"source": {
"type": "OracleVirtualSource",
"mountBase": "/mnt/provision",
"allowAutoVDBRestartOnHostReboot": true
},
"sourceConfig": {
"type": "OracleSIConfig",
"databaseName": "EGVDB",
"uniqueName": "EGVDB",
"repository": "ORACLE_INSTALL-3",
"instance": {
"type": "OracleInstance",
"instanceName": "EGVDB",
"instanceNumber": 1
}
},
"timeflowPointParameters": {
"type": "TimeflowPointLocation",
"timeflow": "ORACLE_TIMEFLOW-123",
"location": "3043123"
},
"type": "OracleProvisionParameters"
}
EOF