Druva
Druva is a cloud-based data protection and management platform that secures enterprise data across various environments.
Druva is a leading cloud-based data protection and management platform that offers comprehensive backup, recovery, and archival solutions. The Druva connector for Swimlane Turbine enables seamless integration with Druva's robust data management capabilities, allowing users to automate device management, data search, and restore activities. By leveraging this integration, Swimlane Turbine end-users can enhance their security operations with automated data protection workflows, ensuring efficient data management and rapid response to data-related incidents.
Prerequisites
Before you can use the Druva connector for Turbine, you'll need access to the Druva API. This requires the following:
- OAuth 2.0 Client Credentials authentication using the following parameters:
- URL: The base URL for accessing Druva's API services.
- Client ID: A unique identifier for your application provided by Druva.
- Client Secret: A secret key associated with your client ID for authentication.
- Token URL: The URL used to obtain an access token for API requests.
Additional Documentation
Configurations
Oauth 2.0 Client Credentials
Authenticates using oauth 2.0 client credentials
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the target host. | string | Required |
token_url | ο»Ώ | string | Required |
client_id | The client ID | string | Required |
client_secret | The client secret. | string | Required |
scope | Permission scopes for this action. | array | Optional |
verify_ssl | Verify SSL certificate | boolean | Optional |
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Disable Device
Disable a user device in Druva, stopping Backup and Restore functionalities. User data remains available in inSync but cannot be restored by the user. Requires device ID as a path parameter.
Endpoint
- URL: /insync/endpoints/v1/devices/{{id}}/disable
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Parameters for the Disable Device action |
Input Example
{"path_parameters":{"id":"1"}}
Output Example
{"json_body":{}}
Emails Search
Search for backed-up emails in Druva using the email attachmentsβ SHA1 checksum value and view their details.
Endpoint
- URL: /insync/search/mds/v1/user/emails
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
data_body | object | Optional | Data Body |
headers | object | Optional | Request Headers |
Input Example
{"path_parameters":{},"parameters":{},"data_body":{},"headers":{}}
File Search
Search for files in Druva using the SHA1 checksum to locate specific data.
Endpoint
- URL: /insync/search/mds/v1/user/files
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.sha1Checksum | string | Required | Parameters for the File Search action |
parameters.minCreationTime | string | Optional | Parameters for the File Search action |
parameters.maxCreationTime | string | Optional | Parameters for the File Search action |
parameters.minModificationTime | string | Optional | Parameters for the File Search action |
parameters.maxModificationTime | string | Optional | Parameters for the File Search action |
parameters.fileType | array | Optional | Parameters for the File Search action |
parameters.minFileSize | number | Optional | Parameters for the File Search action |
parameters.maxFileSize | number | Optional | Parameters for the File Search action |
parameters.dataSource | array | Optional | Parameters for the File Search action |
parameters.userID | array | Optional | Parameters for the File Search action |
parameters.pageToken | string | Optional | Parameters for the File Search action |
Input Example
{"parameters":{"sha1Checksum":"string_value","minCreationTime":"string_datetime","maxCreationTime":"string_datetime","minModificationTime":"string_datetime","maxModificationTime":"string_datetime","fileType":["string_value_1"],"minFileSize":100,"maxFileSize":200,"dataSource":["string_value_2"],"userID":[3],"pageToken":"string_value_3"}}
Output
Parameter | Type | Description |
|---|---|---|
results | array | Result of the operation |
results.deviceID | number | Unique identifier |
results.userID | number | Unique identifier |
results.storageID | number | Unique identifier |
results.sha1Checksum | string | Result of the operation |
results.fileName | string | Name of the resource |
results.fileSize | number | Result of the operation |
results.creationTime | string | Result of the operation |
results.modificationTime | string | Result of the operation |
results.folderPath | string | Result of the operation |
results.objectID | string | Unique identifier |
nextPageToken | string | Output field: nextPageToken |
Output Example
{"json_body":{"results":[{}],"nextPageToken":"string"}}
Get CloudCache Server
Retrieve details of a specific CloudCache Server in Druva using the storageID.
Endpoint
- URL: /insync/storagemanagement/v1/cloudcaches/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Optional | Parameters for the Get CloudCache Server action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
cloudCacheID | number | Unique identifier |
cloudCacheName | string | Name of the resource |
status | string | Status value |
cacheUsage | string | Output field: cacheUsage |
totalCacheSize | string | Output field: totalCacheSize |
Output Example
{"json_body":{"cloudCacheID":1,"cloudCacheName":"Druva_cloudcache","status":"Active","cacheUsage":"1.29 GB","totalCacheSize":"1 TB"}}
Get CloudCache Servers
Returns the list of CloudCache Servers configured in Druva inSync.
Endpoint
- URL: /insync/storagemanagement/v1/cloudcaches
- Method: GET
Output
Parameter | Type | Description |
|---|---|---|
totalSize | number | Output field: totalSize |
nextPageToken | string | Output field: nextPageToken |
cloudcaches | array | Output field: cloudcaches |
cloudcaches.cloudCacheID | number | Unique identifier |
cloudcaches.cloudCacheName | string | Name of the resource |
cloudcaches.status | string | Status value |
cloudcaches.cacheUsage | string | Output field: cloudcaches.cacheUsage |
cloudcaches.totalCacheSize | string | Output field: cloudcaches.totalCacheSize |
Output Example
{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","cloudcaches":[{}]}}
Get Device
Return device information using the specified device ID in Druva.
Endpoint
- URL: /insync/endpoints/v1/devices/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Parameters for the Get Device action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
deviceID | number | Unique identifier |
deviceName | string | Name of the resource |
serialNumber | string | Output field: serialNumber |
deviceOS | string | Output field: deviceOS |
deviceOSVersion | string | Output field: deviceOSVersion |
platformOS | string | Output field: platformOS |
uuid | string | Unique identifier |
clientVersion | string | Output field: clientVersion |
deviceStatus | string | Status value |
upgradeState | string | Output field: upgradeState |
userID | number | Unique identifier |
totalBackupData | string | Response data |
totalBackupDataInBytes | number | Response data |
addedOn | string | Output field: addedOn |
lastUpgradedOn | string | Output field: lastUpgradedOn |
lastConnected | string | Output field: lastConnected |
deviceMarkedInactive | boolean | Output field: deviceMarkedInactive |
Output Example
{"json_body":{"deviceID":12345,"deviceName":"Ernie Carter's Macbook","serialNumber":"PX045","deviceOS":"mojave","deviceOSVersion":"10.14 r34567","platformOS":"darwin","uuid":"TY5h67-5674r-675645","clientVersion":"6.1.0 r56746","deviceStatus":"enabled","upgradeState":"NOT UPGRADABLE","userID":1,"totalBackupData":"40.05 GB","totalBackupDataInBytes":43003360051,"addedOn":"2019-10-25T00:00:00Z","lastUpgradedOn":"2019-10-25T00:00:00Z"}}
Get Devices
Returns information about all user devices protected using Druva inSync.
Endpoint
- URL: /insync/endpoints/v1/devices
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.userID | number | Optional | Parameters for the Get Devices action |
parameters.userIDs | array | Optional | Parameters for the Get Devices action |
parameters.deviceIDs | array | Optional | Parameters for the Get Devices action |
parameters.profileIDs | array | Optional | Parameters for the Get Devices action |
parameters.searchPrefixDeviceName | string | Optional | Parameters for the Get Devices action |
parameters.clientVersion | string | Optional | Parameters for the Get Devices action |
parameters.platformOS | string | Optional | Parameters for the Get Devices action |
parameters.deviceStatus | string | Optional | Parameters for the Get Devices action |
parameters.upgradeState | string | Optional | Parameters for the Get Devices action |
parameters.pageToken | string | Optional | Parameters for the Get Devices action |
parameters.minLastConnected | string | Optional | Parameters for the Get Devices action |
parameters.maxLastConnected | string | Optional | Parameters for the Get Devices action |
parameters.minAddedOn | string | Optional | Parameters for the Get Devices action |
parameters.maxAddedOn | string | Optional | Parameters for the Get Devices action |
parameters.serialNumber | string | Optional | Parameters for the Get Devices action |
parameters.uuid | string | Optional | Parameters for the Get Devices action |
parameters.deviceMarkedInactive | boolean | Optional | Parameters for the Get Devices action |
Input Example
{"parameters":{"userID":123,"userIDs":[123,456,789],"deviceIDs":[101,102,103],"profileIDs":[12,13,14],"searchPrefixDeviceName":"My","clientVersion":"6.2.0","platformOS":"Windows","deviceStatus":"Active","upgradeState":"Upgraded","pageToken":"next_page_token_string","minLastConnected":"2023-01-01T12:00:00Z","maxLastConnected":"2023-12-31T12:00:00Z","minAddedOn":"2023-01-01T12:00:00Z","maxAddedOn":"2023-12-31T12:00:00Z","serialNumber":"SN123456789","uuid":"123e4567-e89b-12d3-a456-426614174000","deviceMarkedInactive":false}}
Output
Parameter | Type | Description |
|---|---|---|
totalSize | number | Output field: totalSize |
nextPageToken | string | Output field: nextPageToken |
devices | array | Output field: devices |
devices.deviceID | number | Unique identifier |
devices.deviceName | string | Name of the resource |
devices.serialNumber | string | Output field: devices.serialNumber |
devices.deviceOS | string | Output field: devices.deviceOS |
devices.deviceOSVersion | string | Output field: devices.deviceOSVersion |
devices.platformOS | string | Output field: devices.platformOS |
devices.uuid | string | Unique identifier |
devices.clientVersion | string | Output field: devices.clientVersion |
devices.deviceStatus | string | Status value |
devices.upgradeState | string | Output field: devices.upgradeState |
devices.userID | number | Unique identifier |
devices.totalBackupData | string | Response data |
devices.totalBackupDataInBytes | number | Response data |
devices.addedOn | string | Output field: devices.addedOn |
devices.lastUpgradedOn | string | Output field: devices.lastUpgradedOn |
devices.lastConnected | string | Output field: devices.lastConnected |
devices.deviceMarkedInactive | boolean | Output field: devices.deviceMarkedInactive |
Output Example
{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","devices":[{}]}}
Get Restore Activities
Returns the list of all restore activities performed on user devices with detailed information.
Endpoint
- URL: /insync/endpoints/v1/restores
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.deviceID | number | Optional | Parameters for the Get Restore Activities action |
parameters.targetDeviceID | number | Optional | Parameters for the Get Restore Activities action |
parameters.userID | number | Optional | Parameters for the Get Restore Activities action |
parameters.minStartTime | string | Optional | Parameters for the Get Restore Activities action |
parameters.maxStartTime | string | Optional | Parameters for the Get Restore Activities action |
parameters.pageToken | string | Optional | Parameters for the Get Restore Activities action |
Input Example
{"parameters":{"deviceID":101,"targetDeviceID":102,"userID":123,"minStartTime":"2023-01-01T12:00:00Z","maxStartTime":"2023-12-31T12:00:00Z","pageToken":"next_page_token_string"}}
Output
Parameter | Type | Description |
|---|---|---|
totalSize | number | Output field: totalSize |
nextPageToken | string | Output field: nextPageToken |
restores | array | Output field: restores |
restores.deviceID | number | Unique identifier |
restores.targetDeviceID | number | Unique identifier |
restores.restoreLocation | string | Output field: restores.restoreLocation |
restores.userID | number | Unique identifier |
restores.restoreID | number | Unique identifier |
restores.startTime | string | Time value |
restores.endTime | string | Time value |
restores.status | string | Status value |
restores.restoreSize | string | Output field: restores.restoreSize |
restores.numberOfFilesRestored | number | Output field: restores.numberOfFilesRestored |
restores.numberOfFilesMissed | number | Output field: restores.numberOfFilesMissed |
restores.restoreMode | string | Output field: restores.restoreMode |
restores.systemSettingsRestore | boolean | Output field: restores.systemSettingsRestore |
restores.failureReason | string | Response reason phrase |
Output Example
{"json_body":{"totalSize":0,"nextPageToken":"string","restores":[{}]}}
Get Restore Activity
Returns the restore activity details based on the restore ID in Druva.
Endpoint
- URL: /insync/endpoints/v1/restores/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Optional | Parameters for the Get Restore Activity action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
deviceID | number | Unique identifier |
targetDeviceID | number | Unique identifier |
restoreLocation | string | Output field: restoreLocation |
userID | number | Unique identifier |
restoreID | number | Unique identifier |
startTime | string | Time value |
endTime | string | Time value |
status | string | Status value |
restoreSize | string | Output field: restoreSize |
numberOfFilesRestored | number | Output field: numberOfFilesRestored |
numberOfFilesMissed | number | Output field: numberOfFilesMissed |
restoreMode | string | Output field: restoreMode |
systemSettingsRestore | boolean | Output field: systemSettingsRestore |
failureReason | string | Response reason phrase |
Output Example
{"json_body":{"deviceID":0,"targetDeviceID":0,"restoreLocation":"string","userID":0,"restoreID":0,"startTime":"2023-06-05T19:18:26.139Z","endTime":"2023-06-05T19:18:26.139Z","status":"string","restoreSize":"string","numberOfFilesRestored":0,"numberOfFilesMissed":0,"restoreMode":"string","systemSettingsRestore":true,"failureReason":""}}
Get Storage
Returns information about a particular storage in Druva using storageID.
Endpoint
- URL: /insync/storagemanagement/v1/storages/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Optional | Parameters for the Get Storage action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
StorageID | number | Unique identifier |
storageName | string | Name of the resource |
storageUsage | string | Output field: storageUsage |
totalSizeOfBackedUpFiles | string | Output field: totalSizeOfBackedUpFiles |
Output Example
{"json_body":{"StorageID":1,"storageName":"Druva3_local","storageUsage":"225.04 MB","totalSizeOfBackedUpFiles":"1.29 GB"}}
Get Storages
Returns the list of all storages configured for your account in Druva inSync.
Endpoint
- URL: /insync/storagemanagement/v1/storages
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.pageToken | string | Optional | Parameters for the Get Storages action |
Input Example
{"parameters":{"pageToken":"CAUQAA"}}
Output
Parameter | Type | Description |
|---|---|---|
totalSize | number | Output field: totalSize |
nextPageToken | string | Output field: nextPageToken |
storages | array | Output field: storages |
storages.StorageID | number | Unique identifier |
storages.storageName | string | Name of the resource |
storages.storageUsage | string | Output field: storages.storageUsage |
storages.totalSizeOfBackedUpFiles | string | Output field: storages.totalSizeOfBackedUpFiles |
Output Example
{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","storages":[{}]}}
Get User
Returns information about a specific user in Druva inSync using the user ID.
Endpoint
- URL: /insync/usermanagement/v1/users/{{id}}
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Required | Parameters for the Get User action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
userID | number | Unique identifier |
userName | string | Name of the resource |
emailID | string | Unique identifier |
status | string | Status value |
profileID | number | Unique identifier |
storageID | number | Unique identifier |
cacheID | number | Unique identifier |
quota | string | Output field: quota |
quotaInBytes | number | Output field: quotaInBytes |
addedOn | string | Output field: addedOn |
privacySettingsEnabled | boolean | Output field: privacySettingsEnabled |
ldapGUID | string | Unique identifier |
additionalProperties | object | Output field: additionalProperties |
additionalProperties.userIdentifierCustomAttribute | string | Unique identifier |
additionalProperties.userIdentifierCustomAttributeValue | string | Unique identifier |
Output Example
{"json_body":{"userID":1,"userName":"Ernie Carter","emailID":"[email protected]","status":"active","profileID":1,"storageID":1,"cacheID":1,"quota":"10 GB","quotaInBytes":10737418240,"addedOn":"2019-10-25T00:00:00Z","privacySettingsEnabled":true,"ldapGUID":"B1C47201C67910458867BA19982E353E","additionalProperties":{"userIdentifierCustomAttribute":"Custom Attribute Label","userIdentifierCustomAttributeValue":"Custom Attribute Value"}}}
Get Users
Returns the list of users in Druva inSync along with their details.
Endpoint
- URL: /insync/usermanagement/v1/users
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
parameters.profileID | number | Optional | Parameters for the Get Users action |
parameters.storageID | number | Optional | Parameters for the Get Users action |
parameters.cacheID | number | Optional | Parameters for the Get Users action |
parameters.userIDs | array | Optional | Parameters for the Get Users action |
parameters.emailID | string | Optional | Parameters for the Get Users action |
parameters.searchPrefixEmailID | string | Optional | Parameters for the Get Users action |
parameters.searchPrefixUserName | string | Optional | Parameters for the Get Users action |
parameters.pageToken | string | Optional | Parameters for the Get Users action |
parameters.minAddedOn | string | Optional | Parameters for the Get Users action |
parameters.maxAddedOn | string | Optional | Parameters for the Get Users action |
parameters.status | string | Optional | Parameters for the Get Users action |
parameters.ldapGUID | string | Optional | Parameters for the Get Users action |
parameters.privacySettingsEnabled | boolean | Optional | Parameters for the Get Users action |
Input Example
{"parameters":{"profileID":1,"storageID":10,"cacheID":50,"userIDs":[22],"emailID":"string_value","searchPrefixEmailID":"string_value","searchPrefixUserName":"string_value","pageToken":"string_value","minAddedOn":"date_time_value","maxAddedOn":"date_time_value","status":"string_value","ldapGUID":"string_value","privacySettingsEnabled":true}}
Output
Parameter | Type | Description |
|---|---|---|
totalSize | number | Output field: totalSize |
nextPageToken | string | Output field: nextPageToken |
users | array | Output field: users |
users.userID | number | Unique identifier |
users.userName | string | Name of the resource |
users.emailID | string | Unique identifier |
users.status | string | Status value |
users.profileID | number | Unique identifier |
users.storageID | number | Unique identifier |
users.cacheID | number | Unique identifier |
users.quota | string | Output field: users.quota |
users.quotaInBytes | number | Output field: users.quotaInBytes |
users.addedOn | string | Output field: users.addedOn |
users.privacySettingsEnabled | boolean | Output field: users.privacySettingsEnabled |
users.ldapGUID | string | Unique identifier |
users.additionalProperties | object | Output field: users.additionalProperties |
users.additionalProperties.userIdentifierCustomAttribute | string | Unique identifier |
users.additionalProperties.userIdentifierCustomAttributeValue | string | Unique identifier |
Output Example
{"json_body":{"totalSize":1,"nextPageToken":"MTExMQ==","users":[{}]}}
Get Users of a Legal Hold Policy
Returns the list of users who are part of Legal Hold in Druva.
Endpoint
- URL: /insync/legalholds/v4/policies/{{id}}/users
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.id | string | Optional | Parameters for the Get Users of a Legal Hold Policy action |
Input Example
{"path_parameters":{"id":"1"}}
Output
Parameter | Type | Description |
|---|---|---|
results | object | Result of the operation |
results.usersList | array | Result of the operation |
results.usersList.userName | string | Name of the resource |
results.usersList.status | string | Status value |
results.usersList.userEmail | string | Result of the operation |
results.usersList.collectedData | string | Response data |
results.usersList.collectedDataInBytes | number | Response data |
results.usersList.userId | number | Unique identifier |
results.usersList.policyId | number | Unique identifier |
results.usersList.onLegalHold | boolean | Result of the operation |
results.usersList.numberOfDataSources | number | Response data |
results.usersList.totalCollectedData | string | Response data |
results.usersList.totalCollectedDataInBytes | string | Response data |
results.totalCustodians | number | Result of the operation |
pageInfo | object | Output field: pageInfo |
pageInfo.totalPages | number | Output field: pageInfo.totalPages |
pageInfo.pageNumber | number | Output field: pageInfo.pageNumber |
pageInfo.pageSize | number | Output field: pageInfo.pageSize |
Output Example
{"json_body":{"results":{"usersList":[],"totalCustodians":1},"pageInfo":{"totalPages":1,"pageNumber":1,"pageSize":100}}}
Get Whitelisted Keywords
Get the list of all whitelisted keywords in Druva.
Endpoint
- URL: /insync/sdg/v1/whitelistKeywords
- Method: GET
Output
Parameter | Type | Description |
|---|---|---|
whitelistKeywords | array | Output field: whitelistKeywords |
Output Example
{"json_body":{"whitelistKeywords":["string"]}}
Initiate Restore Activity
Create a data restore request in Druva with an option to scan for malware or viruses before restoring to the target device.
Endpoint
- URL: /insync/endpoints/v1/restores
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
deviceID | number | Optional | Unique identifier |
targetDeviceID | number | Optional | Unique identifier |
restoreLocation | string | Optional | Parameter for Initiate Restore Activity |
snapshotName | string | Optional | Name of the resource |
enableAVScan | boolean | Optional | Parameter for Initiate Restore Activity |
Input Example
{"json_body":{"deviceID":452,"targetDeviceID":564,"restoreLocation":"/home/jeremy/statusReport","snapshotName":"MonthlyBackup","enableAVScan":true}}
Output
Parameter | Type | Description |
|---|---|---|
restores | array | Output field: restores |
restores.deviceID | number | Unique identifier |
restores.targetDeviceID | number | Unique identifier |
restores.restoreLocation | string | Output field: restores.restoreLocation |
restores.userID | number | Unique identifier |
restores.restoreID | number | Unique identifier |
restores.startTime | string | Time value |
restores.endTime | string | Time value |
restores.status | string | Status value |
restores.restoreSize | string | Output field: restores.restoreSize |
restores.numberOfFilesRestored | object | Output field: restores.numberOfFilesRestored |
restores.numberOfFilesMissed | object | Output field: restores.numberOfFilesMissed |
restores.restoreMode | string | Output field: restores.restoreMode |
restores.systemSettingsRestore | object | Output field: restores.systemSettingsRestore |
restores.failureReason | string | Response reason phrase |
totalSize | number | Output field: totalSize |
Output Example
{"json_body":{"restores":[{}],"totalSize":1}}
Response Headers
Header | Description | Example |
|---|---|---|
Content-Type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |