View API
This section describes basic usage of the View REST API. Browse https://github.com/apache/ambari/blob/trunk/ambari-views/docs/index.md for detailed usage information and examples.
Get List of Deployed Views
- Gets the list of all deployed views
GET /api/v1/views
200 - OK
- Once you have a list of views, you can drill-into a view and see the available versions.
GET /api/v1/views/FILES
200 - OK
- You can go a level deeper and see more information about that specific version for the view, such as the parameters and the archive name, and a list of all instances of the view for that specific view version.
GET /api/v1/views/FILES/versions/0.1.0
200 - OK
Creating a View Instance: Files View
The following example shows creating an instance of the Files View, name FILES, version 0.1.0 view called "MyFiles".
- Create the view instance.
POST /api/v1/views/FILES/versions/0.1.0/instances/MyFiles
[ {
"ViewInstanceInfo" : {
"properties" : {
"dataworker.defaultFs" : "webhdfs://your.namenode.host:50070"
}
}
} ]
201 - CREATED
When creating your view instance, be sure to provide all required view instance properties, otherwise you will receive a 500 with a message explaining the properties that are required.
- Restart Ambari Server to pick-up the view instance and UI resources.
ambari-server restart
- Confirm the newly created view instance is available.
GET /api/v1/views/FILES/versions/0.1.0
{
"href" : "http://c6401.ambari.apache.org:8080/api/v1/views/FILES/versions/0.1.0/",
"ViewVersionInfo" : {
"archive" : "/var/lib/ambari-server/resources/views/work/FILES{0.1.0}",
"label" : "Files",
"masker_class" : null,
"parameters" : [
{
"name" : "dataworker.defaultFs",
"description" : "FileSystem URI",
"required" : true,
"masked" : false
},
{
"name" : "dataworker.username",
"description" : "The username (defaults to ViewContext username)",
"required" : false,
"masked" : false
}
],
"version" : "0.1.0",
"view_name" : "FILES"
},
"permissions" : [ ],
"instances" : [
{
"href" : "http://c6401.ambari.apache.org:8080/api/v1/views/FILES/versions/0.1.0/instances/MyFiles",
"ViewInstanceInfo" : {
"instance_name" : "MyFiles",
"version" : "0.1.0",
"view_name" : "FILES"
}
}
]
}
Browse to the view instance directly.
http://c6401.ambari.apache.org:8080/views/FILES/0.1.0/MyFiles/
or
http://c6401.ambari.apache.org:8080/#/main/views/FILES/0.1.0/MyFiles
Creating a View Instance: Capacity Scheduler View
The following example shows creating an instance of the Capacity Scheduler View, name CAPACITY-SCHEDULER, version 0.1.0 view called "CS_1", using the label "Capacity Scheduler".
- Create the view instance.
POST /api/v1/views/CAPACITY-SCHEDULER/versions/0.1.0/instances/CS_1
[ {
"ViewInstanceInfo" : {
"label" : "Capacity Scheduler",
"properties" : {
"ambari.server.url" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster",
"ambari.server.username" : "admin",
"ambari.server.password" : "admin"
}
}
} ]
201 - CREATED
When creating your view instance, be sure to provide all required view instance properties, otherwise you will receive a 500 with a message explaining the properties that are required.
- Confirm the newly created view instance is available.
GET /api/v1/views/CAPACITY-SCHEDULER/versions/0.1.0
{
"href" : "http://c6401.ambari.apache.org:8080/api/v1/views/CAPACITY-SCHEDULER/versions/0.1.0/",
"ViewVersionInfo" : {
"archive" : "/var/lib/ambari-server/resources/views/work/CAPACITY-SCHEDULER{0.1.0}",
"label" : "Capacity Scheduler",
"masker_class" : null,
"parameters" : [
{
"name" : "ambari.server.url",
"description" : "Target Ambari Server REST API cluster URL (for example: http://ambari.server:8080/api/v1/clusters/c1)",
"required" : true,
"masked" : false
},
{
"name" : "ambari.server.username",
"description" : "Target Ambari administrator username (for example: admin)",
"required" : true,
"masked" : false
},
{
"name" : "ambari.server.password",
"description" : "Target Ambari administrator password (for example: admin)",
"required" : true,
"masked" : false
}
],
"version" : "0.1.0",
"view_name" : "CAPACITY-SCHEDULER"
},
"permissions" : [ ],
"instances" : [
{
"href" : "http://c6401.ambari.apache.org:8080/api/v1/views/CAPACITY-SCHEDULER/versions/0.1.0/instances/CS_1",
"ViewInstanceInfo" : {
"instance_name" : "CS_1",
"version" : "0.1.0",
"view_name" : "CAPACITY-SCHEDULER"
}
}
]
}
- Browse to the view instance directly.
http://c6401.ambari.apache.org:8080/views/CAPACITY-SCHEDULER/0.1.0/CS_1/
or
http://c6401.ambari.apache.org:8080/#/main/views/CAPACITY-SCHEDULER/0.1.0/CS_1/