New repository versions may be created through the API. At least one set of base repository URLs should be provided.
POST http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/
{
"RepositoryVersions": {
"repository_version": "2.2.1.1",
"display_name": "HDP-2.2.1.1"
},
"operating_systems": [
{
"OperatingSystems": {
"os_type": "redhat6"
},
"repositories": [
{
"Repositories": {
"repo_id": "HDP-2.2",
"repo_name": "HDP",
"base_url": "http://..."
}
},
{
"Repositories": {
"repo_id": "HDP-UTILS-1.1.0.20",
"repo_name": "HDP-UTILS",
"base_url": "http://..."
}
}
]
}
]
}
The user may query for all repository versions of a particular stack.
GET http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/",
items: [
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1",
RepositoryVersions: {
id: 1,
stack_name: "HDP",
stack_version: "2.2"
}
},
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/2",
RepositoryVersions: {
id: 2,
stack_name: "HDP",
stack_version: "2.2"
}
}
]
}
Returns single repository version.
GET http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1",
RepositoryVersions: {
display_name: "HDP-2.2.0.0-2041",
id: 1,
repository_version: "2.2.0.0-2041",
stack_name: "HDP",
stack_version: "2.2",
upgrade_pack: "upgrade-2.2"
},
operating_systems: [
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1/operating_systems/redhat5",
OperatingSystems: {
os_type: "redhat5",
repository_version_id: 1,
stack_name: "HDP",
stack_version: "2.2"
}
},
{
href: "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1/operating_systems/redhat6",
OperatingSystems: {
os_type: "redhat6",
repository_version_id: 1,
stack_name: "HDP",
stack_version: "2.2"
}
}
]
}
Deregisters repository version. It won't be possible to remove repository version which is installed on any of the clusters.
DELETE http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1
Updates repository version. It is possible to change display name and base URLs.
PUT http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1
{
"RepositoryVersions": {
"display_name": "HDP-2.2.1.1",
"id": 1,
"repository_version": "2.2.1.1"
},
"operating_systems": [
{
"href": "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1/operating_systems/redhat5",
"OperatingSystems": {
"os_type": "redhat5"
},
"repositories": [
{
"href": "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1/operating_systems/redhat5/repositories/HDP-2.2",
"Repositories": {
"base_url": "http://...",
"os_type": "redhat5",
"repo_id": "HDP-2.2",
"repo_name": "HDP"
}
},
{
"href": "http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/repository_versions/1/operating_systems/redhat5/repositories/HDP-UTILS-1.1.0.20",
"Repositories": {
"base_url": "http://...",
"os_type": "redhat5",
"repo_id": "HDP-UTILS-1.1.0.20",
"repo_name": "HDP-UTILS"
}
}
]
}
]
}
User may validate URLs of repositories before persisting.
POST http://<server>:8080/api/v1/stacks/<stack_name>/versions/<stack_version>/operating_systems/redhat5/repositories/HDP-UTILS-1.1.0.20?validate_only=true
{
"Repositories": {
"base_url": "http://..."
}
}