External Sources Resource

External Sources are sources of metadata to be imported into the Waterline Data catalog. Endpoints under /externalsource provide a way to identify and connect to these outside applications. For example, the extensions created to import metadata from applications such as Apache Atlas or Cloudera Navigator use external sources to persist connection information for the application instance.
External source calls are available only to users with administrator roles.

GET /v2/externalsource

A GET request to the /externalsource endpoint retrieves a list of External Sources.

Response Body
media type data type description
application/json IterableOfExternalSource (JSON) An iterable list of External Source objects in JSON format.

Example

Request
GET /v2/externalsource
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{ }
                
              

POST /v2/externalsource

A POST request to the /externalsource endpoint creates a new ExternalSource.

Request Body
media type data type description
application/json ExternalSource (JSON) A JSON object with the initial property-value pairs for the new external source.
Response Body
media type data type description
application/json ExternalSource (JSON) The new ExternalSource object with its assigned unique identifying key.

Example

Request
POST /v2/externalsource
Content-Type: application/json
Accept: application/json

                
{
  "sourceName" : "...",
  "sourceType" : "...",
  "attributes" : {
    "property1" : { },
    "property2" : { }
  },
  "key" : "...",
  "type" : "...",
  "description" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "sourceName" : "...",
  "sourceType" : "...",
  "attributes" : {
    "property1" : { },
    "property2" : { }
  },
  "key" : "...",
  "type" : "...",
  "description" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

DELETE /v2/externalsource/{key}

A DELETE request to the /externalsource/{key} endpoint removes an existing ExternalSource from the system.

Request Parameters
name type description
key path The unique key of the external source.

Example

Request
DELETE /v2/externalsource/{key}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /v2/externalsource/{key}

A GET request to the /externalsource/{key} endpoint retrieves an external source.

Request Parameters
name type description
key path The unique key of the external source.
Response Body
media type data type description
application/json ExternalSource (JSON) The ExternalSource object, in JSON format.

Example

Request
GET /v2/externalsource/{key}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "sourceName" : "...",
  "sourceType" : "...",
  "attributes" : {
    "property1" : { },
    "property2" : { }
  },
  "key" : "...",
  "type" : "...",
  "description" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

DELETE /v2/externalsource/name/{name}

A DELETE request to the /externalsource/name/{name} endpoint removes an existing ExternalSource from the system.

Request Parameters
name type description
name path The external source name, its "sourceName" property.

Example

Request
DELETE /v2/externalsource/name/{name}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /v2/externalsource/name/{name}

A GET request to the /externalsource/name/{name} endpoint retrieves an external source.

Request Parameters
name type description
name path The external source name, its "sourceName" property.
Response Body
media type data type description
application/json ExternalSource (JSON) The ExternalSource object, in JSON format.

Example

Request
GET /v2/externalsource/name/{name}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "sourceName" : "...",
  "sourceType" : "...",
  "attributes" : {
    "property1" : { },
    "property2" : { }
  },
  "key" : "...",
  "type" : "...",
  "description" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}