Endpoints under /virtualfolder
provide access to VirtualFolder objects. Virtual folders allow users to
create groups of resources belonging to a data source into smaller units for easier management. In addition,
Virtual folders allow data resources to be part of multiple folders thus letting customers create folders
with overlapping sets of data resources.
A GET request to the /virtualfolder
endpoint retrieves a list of all virtual folders configured in the
catalog, by default virtual folders will be sorted based on name in ascending order. A VirtualFolder object includes:
name | type | description | default |
---|---|---|---|
browse | query | false | |
size | query | 25 | |
sortColumn | query | supported columns name, time_of_creation, time_of_last_change. Default column "name" | name |
sortDirection | query | supported sort direction values asc/ASC & desc/DESC, default asc | asc |
start | query | 0 |
media type | data type | description |
---|---|---|
application/json | object (JSON) | A GET request to the /virtualfolder endpoint retrieves a list of all virtual folders configured in the
catalog, by default virtual folders will be sorted based on name in ascending order. A VirtualFolder object includes:
|
media type | data type | description |
---|---|---|
application/json | PaginatedResponseOfVirtualFolder (JSON) | A list of VirtualFolder objects in JSON format. |
GET /v2/virtualfolder
Content-Type: application/json
Accept: application/json
{
"name" : "MyFolder",
"description" : "all spreadsheets",
"parentKey" : "{parentVFKey}",
"pathSpecifications" : [ {
"sourcePath" : "/user/cloudera/demo-data-19/pub/insurance/countries/us",
"excludePattern" : "",
"includePattern" : ".*csv"
} ]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"list" : [ {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}, {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
} ],
"totalCount" : 12345
}
A POST request to the /virtualfolder
endpoint updates a VirtualFolder object.
media type | data type |
---|---|
application/json | VirtualFolder (JSON) |
media type | data type | description |
---|---|---|
application/json | VirtualFolder (JSON) |
POST /v2/virtualfolder
Content-Type: application/json
Accept: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
A GET request to fetch list of hive databases from the specified Virtual Folder.
name | type | description |
---|---|---|
virtualFolderName | query | A (hive) datasource name |
media type | data type | description |
---|---|---|
application/json | array of string (JSON) | List of databases or null if error is encountered |
GET /v2/virtualfolder/databases
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
...
A DELETE request to the /virtualFolder/{key}
endpoint deletes VirtualFolder and all dependent
entities of that virtual folder.
name | type | description |
---|---|---|
key | path | key of hte virtual-folder |
DELETE /v2/virtualfolder/{key}
Content-Type: */*
...
HTTP/1.1 204 No Content
A GET request to the /virtualfolder/{key}
endpoint retrieves details of a specific virtual folder.
name | type | description |
---|---|---|
key | path | The identifying key of a virtual folder, as returned in the list from a call to listVirtualFolders(). |
media type | data type | description |
---|---|---|
application/json | VirtualFolder (JSON) | The VirtualFolder object in JSON format. |
GET /v2/virtualfolder/{key}
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
A PUT request to the /virtualFolder/{key}
endpoint updates properties of a VirtualFolder object.
name | type | description |
---|---|---|
key | path | The unique identifier of the VirtualFolder object. |
media type | data type | description |
---|---|---|
application/json | VirtualFolder (JSON) | The modified VirtualFolder in JSON format. |
media type | data type | description |
---|---|---|
application/json | VirtualFolder (JSON) | The updated VirtualFolder object in JSON format. |
PUT /v2/virtualfolder/{key}
Content-Type: application/json
Accept: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
A GET request to the /virtualfolder/datasource/{datasourceKey}
endpoint retrieves a list of all virtual folders
under the given data source, by default virtual folders will be sorted based on name in ascending order.
name | type | description | default |
---|---|---|---|
datasourceKey | path | datasource | |
size | query | page size | 25 |
sortColumn | query | supported columns name, time_of_creation, time_of_last_change. Default column "name" | name |
sortDirection | query | supported sort direction values asc/ASC & desc/DESC, default asc | asc |
start | query | index of paginated items | 0 |
media type | data type | description |
---|---|---|
application/json | PaginatedResponseOfVirtualFolder (JSON) | A list of VirtualFolder objects in JSON format. |
GET /v2/virtualfolder/datasource/{datasourceKey}
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
{
"list" : [ {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}, {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
} ],
"totalCount" : 12345
}
A GET request to the /virtualFolder/dependencies/{key}
endpoint returns count of various dependent
entities of that virtual folder.
name | type | description |
---|---|---|
key | path |
media type | data type | description |
---|---|---|
application/json | VirtualFolderDependencies (JSON) |
GET /v2/virtualfolder/dependencies/{key}
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
{
"dataSetCount" : 12345,
"childVirtualFolderCount" : 12345
}
List all available virtual folder with permissions and source type hive
media type | data type | description |
---|---|---|
application/json | array of VirtualFolder (JSON) |
GET /v2/virtualfolder/list/hive
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
} ]
A GET request to the /virtualfolder/name
endpoint retrieves details of a specific virtual folder.
name | type | description |
---|---|---|
name | path | A virtual folder name string. |
media type | data type | description |
---|---|---|
application/json | VirtualFolder (JSON) | The VirtualFolder object in JSON format. |
GET /v2/virtualfolder/name/{name}
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
{
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
}
List all available hive source type virtual folders with permissions from the agent, for which the resource passed belongs to.
name | type | description |
---|---|---|
resourceKey | query |
media type | data type | description |
---|---|---|
application/json | array of VirtualFolder (JSON) |
GET /v2/virtualfolder/list/hive/agent
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"rootFolder" : true,
"logicalFolderContext" : "...",
"canRunJob" : true,
"dataSourceRef" : "...",
"parentKey" : "...",
"name" : "...",
"experts" : [ "...", "..." ],
"pathSpecifications" : [ {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
}, {
"sourcePath" : "...",
"excludePattern" : "...",
"includePattern" : "..."
} ],
"dataSourceName" : "...",
"skipValidateVF" : true,
"resourcePath" : "...",
"systemName" : "...",
"timeOfLastChange" : 12345,
"timeOfCreation" : 12345,
"key" : "...",
"description" : "...",
"type" : "...",
"restricted" : [ "...", "..." ],
"viewAble" : [ "...", "..." ],
"updateable" : [ "...", "..." ],
"richDescription" : "...",
"score" : 12345.0,
"customProperties" : [ {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
}, {
"description" : "...",
"value" : { },
"facetAble" : true,
"name" : "...",
"type" : "...",
"displayName" : "..."
} ]
} ]