(二十)VMware Harbor - API
可以用swagger在线解析
http://editor.swagger.io/
将swagger.yaml中的内容拷贝到里面即可。
官方文档说明链接如下:
https://github.com/vmware/harbor/blob/master/docs/configure_swagger.md
1. 健康检查
curl -X GET "http://172.25.65.126:8000/api/health" -H "accept: application/json"
2. 根据项目名查询
curl -X GET "http://172.25.65.126:8000/api/search?q=sx628" -H "accept: application/json"
3. 根据拥有者,是否公开查询项目
curl -X GET "http://172.25.65.126:8000/api/projects?name=sx628&public=true&owner=test01" -H "accept: application/json"
4. 查询项目名是否存在
curl -X HEAD "http://172.25.65.126:8000/api/projects?project_name=sx62811" -H "accept: application/json"
5. 新建一个项目
curl -X POST "http://172.25.65.126:8000/api/projects" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"project_name\": \"test073\", \"metadata\": { \"public\": \"true\", \"enable_content_trust\": \"string\", \"prevent_vul\": \"string\", \"severity\": \"string\", \"auto_scan\": \"string\" }}"
6. 获取当前用户
curl -X GET "http://172.25.65.126:8000/api/users/current" -H "accept: application/json"
7. 获取镜像
curl -X GET "http://172.25.65.126:8000/api/search?q=sx628" -H "accept: application/json"
{
"project": [
{
"project_id": 3,
"owner_id": 3,
"name": "sx628",
"creation_time": "2019-06-28T08:36:40Z",
"update_time": "2019-06-28T08:36:40Z",
"deleted": false,
"owner_name": "",
"togglable": true,
"current_user_role_id": 0,
"repo_count": 2,
"chart_count": 0,
"metadata": {
"auto_scan": "false",
"enable_content_trust": "false",
"prevent_vul": "false",
"public": "false",
"severity": "low"
}
}
],
"repository": [
{
"project_id": 3,
"project_name": "sx628",
"project_public": false,
"pull_count": 18,
"repository_name": "sx628/harbor",
"tags_count": 1
},
{
"project_id": 3,
"project_name": "sx628",
"project_public": false,
"pull_count": 6,
"repository_name": "sx628/nginx",
"tags_count": 1
}
]
}
8. 根据用户名,用户邮箱获取
curl -X GET "http://172.25.65.126:8000/api/users/search?username=test02&email=test02%40163.com" -H "accept: application/json"
9. 根据用户id 获取用户的详细信息
curl -X GET "http://172.25.65.126:8000/api/users/3" -H "accept: application/json"
10. 查询用户拥有的项目
curl -X GET "http://172.25.65.126:8000/api/projects?owner=test01" -H "accept: application/json"
[
{
"project_id": 2,
"owner_id": 3,
"name": "test01",
"creation_time": "2019-06-28T05:58:47Z",
"update_time": "2019-06-28T05:58:47Z",
"deleted": false,
"owner_name": "",
"togglable": true,
"current_user_role_id": 0,
"repo_count": 0,
"chart_count": 0,
"metadata": {
"public": "false"
}
},
{
"project_id": 3,
"owner_id": 3,
"name": "sx628",
"creation_time": "2019-06-28T08:36:40Z",
"update_time": "2019-06-28T08:36:40Z",
"deleted": false,
"owner_name": "",
"togglable": true,
"current_user_role_id": 0,
"repo_count": 2,
"chart_count": 0,
"metadata": {
"auto_scan": "false",
"enable_content_trust": "false",
"prevent_vul": "false",
"public": "false",
"severity": "low"
}
}
]
11 . 根据项目ID,查询成员信息
curl -X GET "http://172.25.65.126:8000/api/projects/3/members" -H "accept: application/json"
[
{
"id": 4,
"project_id": 3,
"entity_name": "test01",
"role_name": "projectAdmin",
"role_id": 1,
"entity_id": 3,
"entity_type": "u"
},
{
"id": 8,
"project_id": 3,
"entity_name": "test02",
"role_name": "developer",
"role_id": 2,
"entity_id": 4,
"entity_type": "u"
},
{
"id": 6,
"project_id": 3,
"entity_name": "test04",
"role_name": "guest",
"role_id": 3,
"entity_id": 5,
"entity_type": "u"
}
]
12. 获取仓库
curl -X GET "http://172.25.65.126:8000/api/registries" -H "accept: application/json"
[
{
"id": 1,
"name": "kuai-test",
"description": "test",
"type": "harbor",
"url": "http://172.25.58.1:8000",
"token_service_url": "",
"credential": {
"type": "basic",
"access_key": "admin",
"access_secret": "*****"
},
"insecure": false,
"status": "healthy",
"creation_time": "2019-06-28T02:45:51.89703Z",
"update_time": "2019-07-03T08:33:17.570053Z"
}
]
13. 查询标签:全局:G,项目:P
curl -X GET "http://172.25.65.126:8000/api/labels?scope=g" -H "accept: application/json"
[
{
"id": 4,
"name": "dev",
"description": "开发环境",
"color": "#0065AB",
"scope": "g",
"project_id": 0,
"creation_time": "2019-07-01T01:57:04.194757Z",
"update_time": "2019-07-01T01:57:04.194757Z",
"deleted": false
},
{
"id": 5,
"name": "pro",
"description": "生产环境",
"color": "#C92100",
"scope": "g",
"project_id": 0,
"creation_time": "2019-07-01T02:14:33.467617Z",
"update_time": "2019-07-01T02:14:33.467617Z",
"deleted": false
},
{
"id": 3,
"name": "test",
"description": "测试环境",
"color": "#781DA0",
"scope": "g",
"project_id": 0,
"creation_time": "2019-07-01T01:56:46.204878Z",
"update_time": "2019-07-01T01:56:46.204878Z",
"deleted": false
}
]
14. 查询LDAP分组
curl -X GET "http://172.25.65.126:8000/api/ldap/groups/search" -H "accept: application/json"
(二十)VMware Harbor - API的更多相关文章
- (二)VMware Harbor 安装
转自:https://blog.csdn.net/qq_33633013/article/details/82217277 一.环境.软件准备 harbor 需要依赖docker,compose工具, ...
- VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池
VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池 在上一节我们创建了完整克隆的自动专有桌面池,在创建过程比较缓慢,这次我们将学习创建Vi ...
- VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management
VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management 实验失败告终,启动VMware View Persona Management服务报10 ...
- (十九)VMware Harbor 详细介绍
一 . 简介 Harbor是VMware公司开源的企业级DockerRegistry项目,项目地址为https://github.com/vmware/harbor.其目标是帮助用户迅速搭建一个企业级 ...
- VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池
VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...
- VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器
VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器 View 传输服务器用于管理和简化数据中心与在最终用户本地系统上检出使用的 View 桌面之间的数据传输.必须安 ...
- VMware vSphere 服务器虚拟化之二十四 桌面虚拟化之手动池管理物理机
VMware vSphere 服务器虚拟化之二十四 桌面虚拟化之手动池管理物理机 VMwareView手动池可以管理物理计算机 说明: 环境基于实验二十三 1.准备一台Windows 7的物理计算机名 ...
- VMware vSphere 服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版
VMware vSphere服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版 在虚拟桌面的部署中,我们必须准备好作为桌面模板的父映像,通过父映像使用完整克隆或者View Composer的链接克隆,创 ...
- 转:ArcGIS API For JavaScript官方文档(二十)之图形和要素图层——①Graphics概述
原文地址:ArcGIS API For JavaScript官方文档(二十)之图形和要素图层——①Graphics概述 ArcGIS JavaScript API允许在地图上绘制graphic(图形) ...
随机推荐
- JS相关基础
1. ES5和ES6继承方式区别 ES5定义类以函数形式, 以prototype来实现继承 ES6以class形式定义类, 以extend形式继承 2. Generator了解 ES6 提供的一种异步 ...
- Vue学习笔记-rest_framework_jwt 学习
一 使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7 (Windows x86- ...
- python进阶(6)深拷贝和浅拷贝
深拷贝和浅拷贝 不管对于浅拷贝.还是深拷贝,针对不可变对象str.int.tuple(有点特殊).boolean,它的内存地址是不变的,拷贝的仅仅是值 import copy a = 1 b = co ...
- 死磕Spring之IoC篇 - 解析自定义标签(XML 文件)
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- GPU 总结
What features of GPUs allow them to perform computations faster than a typical CPU? GPUs have a mass ...
- Svelte 极简入门
弹指之间即可完成. 注意:原文发表于 2017-8-7,随着框架不断演进,部分内容可能已不适用. Svelte 是一种新型框架. 以往我们要引入一个框架或者类库,可以通过在页面上放置 ...
- go 语言 如何发送微信信息到自己手机
使用 wxmgo 包可以把微信信息发送到自己的手机上.第一步: go get github.com/rehylas/wxmgo 第二步: import ( "fmt" wxm & ...
- SnowNLP——获取关键词(keywords(1))
一.SnowNLP的获取文本关键词 前面介绍了SnowNLP的获取关键词的方法,这里再重现一下 1 from snownlp import SnowNLP 2 # 提取文本关键词,总结3个关键词 3 ...
- MySQL 多表查询与事务的操作
表连接查询 什么是多表查询 # 数据准备 # 多表查询的作用 * 比如:我们想查询孙悟空的名字和他所在的部门的名字,则需要使用多表查询 # 如果一条 SQL 语句查询多张表,因为查询结果在多张不同的表 ...
- 文件包含-phpinfo()
我也是听朋友说有这个姿势的,github有集成好的环境 先讲一下利用phpinfo上传文件,然后在文件包含的原理: 在给PHP发送POST数据包时,如果数据包里包含文件区块,无论访问的代码中是否有处理 ...