如何从 Docker UCP API 获取单个堆栈
How to get a single stack from Docker UCP API
我正在 Docker Enterprise 3.2 环境中编写 devops 管道。
我能够从 UCP API 获取 所有 stacks
。现在我需要获取单个 stacks
但文档似乎完全忽略了这个资源。
有没有什么:
ucp_url/api/stacks/my_awesome_stack_name
或
ucp_url/api/stacks?name=my_awesome_stack_name
?
简答
字段namespace
是堆栈的标识符。调用 api/stacks/my_namespace
将获得所需的堆栈。
我是怎么找到这个的
在稍微查阅了文档和 api 之后,我意识到 stacks
资源只是另一个可以使用其标识符进行选择的集合。
当您调用 api/stacks
时,您将收到一个 集合 堆栈,如下所示:
[
{
"namespace": "my_awesome_namespace_1",
"services": []
...
"namespace": "my_awesome_namespace_2",
"services": []
...
}
]
我只是尝试 api/stacks/my_awesome_namespace_1
并收到了 json 格式的所需对象。
及以后
我认为这个答案最重要的是这个方法可以推广到任何 UCP 资源。
- 获取给定资源类型的所有资源
- 尝试确定哪个字段是标识符
- 尝试调用
my_awesome_resource/my_awesome_resource_identifier
- 打起精神:)
我正在 Docker Enterprise 3.2 环境中编写 devops 管道。
我能够从 UCP API 获取 所有 stacks
。现在我需要获取单个 stacks
但文档似乎完全忽略了这个资源。
有没有什么:
ucp_url/api/stacks/my_awesome_stack_name
或
ucp_url/api/stacks?name=my_awesome_stack_name
?
简答
字段namespace
是堆栈的标识符。调用 api/stacks/my_namespace
将获得所需的堆栈。
我是怎么找到这个的
在稍微查阅了文档和 api 之后,我意识到 stacks
资源只是另一个可以使用其标识符进行选择的集合。
当您调用 api/stacks
时,您将收到一个 集合 堆栈,如下所示:
[
{
"namespace": "my_awesome_namespace_1",
"services": []
...
"namespace": "my_awesome_namespace_2",
"services": []
...
}
]
我只是尝试 api/stacks/my_awesome_namespace_1
并收到了 json 格式的所需对象。
及以后
我认为这个答案最重要的是这个方法可以推广到任何 UCP 资源。
- 获取给定资源类型的所有资源
- 尝试确定哪个字段是标识符
- 尝试调用
my_awesome_resource/my_awesome_resource_identifier
- 打起精神:)