docker基础:私库系列:再探Harbor:(7) 使用restapi对项目进行增删改查

在上篇文章中介绍了Harbor的RestApi,这篇具体以项目的增删改查作为例子来进行说明。

前提假定

假定Harbor运行于本机localhost的32031端口

项目查询

查询全部项目

curl -X GET “http://localhost:32031/api/projects” -uadmin:用户密码

按项目名称查询

查询项目名称为library的项目信息

curl -X GET “http://localhost:32031/api/projects?name=library” -uadmin:用户密码

项目增加

添加如下项目名称为testproject1的项目,类型为public

curl -X POST “http://localhost:32031/api/projects” -H “accept: application/json” -H “Content-Type: application/json” -d@testproject1.json -uadmin:用户密码

用户json信息

[root@liumiaocn ~]# cat testproject1.json 
{
  "project_name": "testproject1",
  "metadata": {
    "public": "true"
  }
}
[root@liumiaocn ~]# 

创建项目信息查询

[root@liumiaocn ~]# curl -X GET "http://localhost:32031/api/projects?name=testproject1"  -uadmin:用户密码
[
  {
    "project_id": 10,
    "owner_id": 1,
    "name": "testproject1",
    "creation_time": "2018-11-01T12:38:49Z",
    "update_time": "2018-11-01T12:38:49Z",
    "deleted": 0,
    "owner_name": "",
    "togglable": true,
    "current_user_role_id": 1,
    "repo_count": 0,
    "metadata": {
      "public": "true"
    }
  }
][root@liumiaocn ~]#

项目信息更新

将刚刚创建的项目从public的状态改为private的,相关的json信息如下

[root@liumiaocn ~]# cat testproject1.json 
{
  "project_name": "testproject1",
  "metadata": {
    "public": "false"
  }
}
[root@liumiaocn ~]#

使用put方式更新项目信息

[root@liumiaocn ~]# curl -X PUT "http://localhost:32031/api/projects/10" -H "accept: application/json" -H "Content-Type: application/json" -d@testproject1.json -uadmin:用户密码
[root@mail ~]# echo $?
0
[root@liumiaocn ~]#

因为项目变成了private,所以不指定用户已经无法查询出结果,指定admin账户后可以看到项目的public已经被设定称了false

[root@liumiaocn ~]# curl -X GET "http://localhost:32031/api/projects?name=testproject1"  
null[root@liumiaocn ~]# curl -X GET "http://localhost:32031/api/projects?name=testproject1"  -uadmin:用户密码
[
  {
    "project_id": 10,
    "owner_id": 1,
    "name": "testproject1",
    "creation_time": "2018-11-01T12:38:49Z",
    "update_time": "2018-11-01T12:38:49Z",
    "deleted": 0,
    "owner_name": "",
    "togglable": true,
    "current_user_role_id": 1,
    "repo_count": 0,
    "metadata": {
      "public": "false"
    }
  }
][root@liumiaocn ~]#

项目删除

使用DELETE方法可以对刚创建的项目进行删除

[root@liumiaocn ~]# curl -X DELETE “http://localhost:32031/api/projects/10” -uadmin:用户密码
[root@liumiaocn ~]# echo $?
0
[root@liumiaocn ~]#

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值