本文详细介绍keystone客户端命令行界面(CLI)keystone的可选子命令。关于keystone客户端命令行工具keystone命令的子命令和选项列表,请参考前文《解读keystone命令行工具(1)选项与子命令概况》。

  下文中,方括号“[ ]”内的内容是可选的,尖括号“< >”内的内容是必需的,方括号内部的尖括号代表当可选内容出现时,“< >”内的内容必须出现。

  下文直接使用keystone CLI命令,默认认为用户已经配置好每次会话的环境变量,因此使用相关命令不需要设置身份验证参数。关于keystone命令的参数介绍和环境变量配置,请参考前文《解读keystone命令行工具(1)选项与子命令概况》。

  本文中的命令可以通过

keystone help <command>

  查看官方说明

  本文介绍的命令包括:

  keystone bootstrap command 
  keystone catalog command 
  keystone discover command 
  keystone ec2-credentials-create command 
  keystone ec2-credentials-delete command 
  keystone ec2-credentials-get command
  keystone ec2-credentials-list command
  keystone endpoint-create command
  keystone endpoint-delete command
  keystone endpoint-get command
  keystone endpoint-list command
  keystone password-update command
  keystone role-create command
  keystone role-delete command
  keystone role-get command
  keystone role-list command
  keystone service-create command
  keystone service-delete command 
  keystone service-get command 
  keystone service-list command 
  keystone tenant-create command 
  keystone tenant-delete command 
  keystone tenant-get command 
  keystone tenant-list command 
  keystone tenant-update command 
  keystone token-get command 
  keystone user-create command 
  keystone user-delete command 
  keystone user-get command 
  keystone user-list command 
  keystone user-password-update command 
  keystone user-role-add command 
  keystone user-role-list command 
  keystone user-role-remove command 
  keystone user-update command

  

  归纳起来包括以下几个方面:

  1.bootstrap, catalog, discover,

  2.修改当前用户密码,获取当前用户token

  3.ec2证书的列表、查看、添加和删除

  4.终端的列表、查看、添加和删除

  5.角色的列表、查看、添加和删除

  6.服务的列表、查看、添加和删除

  7.租户的列表、查看、添加、删除和更新

  8.用户的列表、查看、添加、删除、更新和更改密码

  9.用户与角色:用户添加、删除角色和列表用户所有角色

  

bootstrap指令 

  bootstrap “引导”指令集中地完成从用户、角色、项目(租户)创建到建立角色和用户以及角色和项目之间映射关系整个过程。

  用法

keystone bootstrap [--user-name <user-name>]

           --pass <password>

           [--role-name <role-name>]

           [--tenant-name <tenant-name>]

  参数介绍

  --user-name    后接要创建的用户名,默认“admin”

  --pass       后接要创建用户的密码

  --role-name    新建并与本指令中创建的用户进行绑定的角色名称,默认“admin”

  --tenant-name   新建一个包含本指令中新建用户的项目,默认"admin"

catalog指令

  列出服务目录,可能会被服务过滤。

  用法

keystone catalog [--service <service-type>]

  参数介绍

  --service      希望返回的服务类型,可选值:volume(cinder), ec2(ec2), image(glance), orchestration(heat), cloudformation(heat-cfn), identity(keystone), network(neutron), compute(nova), object-store(swift)等。

  返回值介绍

  查看特定类型的服务时,本指令一次只能查看一个服务,当服务目录中存在目标类型的服务时,将会返回目标服务的adminURL, id, internalURL, publicURL以及所属region。

discover指令

  给出keystone服务器、支持的API版本以及扩展等信息。

  用法

keystone discover

  参数介绍

  无参数

  返回值介绍

  返回keystone服务器的地址,同时返回该服务器支持的API版本,以及已经安装的一些扩展API。

 

 ec2-credentials-create

  创建EC-2兼容的身份证明(credential)

  用法

keystone ec2-credentials-create [--user-id <user-id>]
                 [--tenant-id <tenant-id>]

  参数介绍

  --user-id <user-id>          创建身份证明的用户ID,如果未指定,则默认为当前完成验证的用户

  --tenant-id <tenant-id>        创建身份证明的项目ID,如果未指定,则默认为当前完成验证的项目

ec2-credentials-delete

  删除EC-2兼容的credential

  用法

keystone ec2-credentials-delete [--user-id <user-id>]

                   --access <access-key>

  参数介绍

  --user-id <user-id>          用户ID

  --access <access-key>        访问key

ec2-credentials-get

  显示EC-2兼容的credential

  用法

keystone ec2-credentials-get [--user-id <user-id>]

                --access <access-key>

  参数介绍

  --user-id <user-id>          用户ID

  --access <access-key>        访问key

  

ec2-credentials-list

  显示一个用户所有的EC-2兼容身份证明

  用法

keystone ec2-credentials-list [--user-id <user-id>]

   参数说明

  --user-id <user-id>          用户ID

endpoint-create指令

  创建一个与服务相关联的终端。

  用法

keystone endpoint-create [--region <endpoint-region>]
               --service <service>
               --publicurl <public-url>
               [--adminurl <admin-url>]
               [--internalurl <internal-url>]

  参数介绍

  --region <endpoint-region>  终端所属的region

  --service <service>, --service-id

  <service>, --service_id <service> 与该终端关联的服务名称或ID   

  --publicurl <public-url>    终端的公共URL

  --adminurl <admin-url>    终端的管理URL

  --internalurl <internal-url>  终端的内部URL

endpoint-delete指令

  删除一个服务终端

  用法

keystone endpoint-delete <endpoint-id>

  参数介绍

  <endpoint-id>      要删除的终端ID

endpoint-get指令

  通过特定的服务类型或属性搜索终端

  用法

keystone endpoint-get   --service <service-type>
              [--endpoint-type <endpoint-type>]
              [--attr <service-attribute>]
              [--value <value>]

  参数介绍

  --service <service-type>          要查看的服务类型

  --endpoint-type <endpoint-type>      要查看的终端类型

  --attr <service-attribute>          要查看的服务匹配的属性

  --value <value>              要匹配的值

endpoint-list指令

  列出所有已配置的服务终端

  用法

keystone endpoint-lis

  参数介绍

  无参数

password-update指令

  更新当前用户的密码

  用法

keystone password-update
[--current-password <current-password>]
[--new-password <new-password>]

  参数介绍

  --current-password <current-password>    当前密码,对应于--os-password中设置的或者环境变量OS_PASSWORD

  --new-password <new-password>       新密码

role-create指令

  新建角色

  用法

keystone role-create --name <role-name>

  参数介绍

  --name <role-name>            新建角色的名称

role-delete指令

  删除角色

  用法

keystone role-delete <role>

  参数介绍

  <role>                   删除角色的名称或ID

role-get指令

  查看角色详细信息

  用法

keystone role-get <role>

  参数介绍

  <role>                 目标角色的名称或ID

role-list指令

  列出所有角色

  用法

keystone role-list

  参数介绍

  无参数

service-create指令

  向服务目录中添加服务

  用法

keystone service-create --name <name>
             --type <type>
             [--description <service-description>]

  参数介绍

  --name <name>            新服务的名称

  --type <type>             新服务的类型

  --description <service-description>    对新服务的描述

service-delete指令

  删除一个服务

  用法

keystone service-delete <service>

  参数介绍

  <service>              删除目标的名称或ID

service-get指令

  显示指令服务细节

  用法

keystone service-get <service>

  参数介绍

  <service>              查看目标的名称或ID

service-list指令

  列出当前服务目录中所有的服务

  用法

keystone service-list

  参数介绍

  无参数

tenant-create指令

  新建项目

  用法

keystone tenant-create --name <tenant-name>
[--description <tenant-description>]
[--enabled <true|false>]

  参数介绍

  --name <tenant-name>          新建项目的名称

  --description <tenant-description>      新建项目的描述

  --enabled <true|false>           该新建项目的启用状态

tenant-delete指令

  删除项目

  用法

keystone tenant-delete <tenant>

  参数说明

  <tenant>                 删除目标的名称或ID

tenant-get指令

  查看项目细节

  用法

keystone tenant-get <tenant>

  参数说明

  <tenant>               删除目标的名称或ID

tenant-list指令

  列出所有项目

  用法

keystone tenant-list

  参数介绍

  无参数

tenant-update指令

  更新项目的名称,描述和启用状态

  用法

keystone tenant-update [--name <tenant_name>]
              [--description <tenant-description>]
              [--enabled <true|false>]
              <tenant>

  参数介绍

  --name <tenant_name>            新的项目名称

  --description <tenant-description>        新的项目描述

  --enabled <true|false>             启用状态

  <tenant>                   要跟新的项目名称或ID

token-get指令

  显示当前用户的token

  用法

keystone token-get [--wrap <integer>]

  参数介绍

  --wrap <integer>                将PKI令牌打包成某一特定长度,置0时禁用。

user-create指令

  新建用户

  用法

keystone user-create --name <user-name>
[--tenant <tenant>]
            [--pass [<pass>]]
[--email <email>]
            [--enabled <true|false>]

  参数介绍

  --name <user-name>                新建用户名

  --tenant <tenant>, --tenant-id            用户所属项目

  <tenant>        

  --pass [<pass>]                  新建用户密码

  --email <email>                   用户邮箱

  --enabled <true|false>                该账户的启用状态

user-delete指令

  删除用户

  用法

keystone user-delete <user>

  参数介绍

  <user>                       删除目标的名称或ID

user-get指令

  显示用户细节

  用法

keystone user-get <user>

  参数介绍

  <user>                       查看目标的名称或ID

user-list指令

  列出所有用户

  用法

keystone user-list [--tenant <tenant>]

  参数介绍

  --tenant <tenant>, --tenant-id

  <tenant>                      列出该指定项目中的用户,不指定的话将会列出全部用户

  

user-password-update指令

  更新任一用户的密码

  用法

keystone user-password-update [--pass <password>] <user>

  参数说明

  --pass <password>                 新的密码

  <user>                      要更新密码的用户名或ID

user-role-add指令

  向一个用户添加一个角色

  用法

keystone user-role-add --user <user>
              --role <role>
             [--tenant <tenant>]

  参数说明

  --user <user>, --user-id <user>, --          用户名或ID
  user_id <user>

  --role <role>, --role-id <role>, --            角色名或ID
  role_id <role>

  --tenant <tenant>, --tenant-id             租户名或ID
  <tenant>

  所有的domain之间的role是不能重名的,因此在一个domain之内role也是不能重名的。同一个用户可以属于多个项目,同一个项目也能够包括多个用户,同时,一个用户在不同的项目中使用相同的角色是允许的,比如(userA, tenantA, roleA) 和( userA, tenantA, roleB)都是合法的。当然,在同一个项目中拥有多个角色或在不同的项目中拥有不同的角色必然也是合法的。

user-role-list指令

  显示一个用户已经获得的所有角色

  用法 

keystone user-role-list [--user <user>]
            [--tenant <tenant>]

  参数介绍

  --user <user>, --user-id <user>          指定用户名或ID

  --tenant <tenant>, --tenant-id           只显示特定项目下指定用户拥有的角色

  <tenant>

当使用该命令时的参数"--tenant"接的是用户所在的项目时(如项目A),返回用户的所有角色,包括用户在其他项目中获得的角色;当"--tenant"所接的参数不是用户所在的默认项目时(如项目B),只会列出用户在这个项目B中的角色。

user-role-remove指令

  移除某个用户的某个角色

  用法

keystone user-role-remove --user <user> 
               --role <role>
               [--tenant <tenant>]

  参数介绍

  --user <user>, --user-id <user>, --

  user_id <user>                 删除角色的目标用户

  --role <role>, --role-id <role>, --

  role_id <role>                  删除的角色

  --tenant <tenant>, --tenant-id

  <tenant>                    用户所属的项目

user-update指令

  更新用户的名称,邮箱和启用状态

  用法

keystone user-update [--name <user-name>]
            [--email <email>]
            [--enabled <true|false>]
            <user>

  参数介绍

  --name <user-name>              更新后的用户名

  --email <email>                 更新后的邮箱

  --enabled <true|false>             更新后的启用状态

  <user>                    更新的目标用户名或ID

(弃) Keystone CLI_可选命令详解的更多相关文章

  1. Cypress系列(101)- intercept() 命令详解

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 作用 使用该命令在网络层管理 HTTP ...

  2. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  3. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  4. DOS命令详解

    DOS命令详解 命令 \? 可以进入命令帮助 1.md命令创建目录. MKDIR [drive:]pathMD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKD ...

  5. scp命令详解

    \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

  6. linux yum命令详解-转

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  7. 【转】linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  8. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  9. tar 解压缩命令详解

    今天对目录及其文件进行压缩:/usr/local/test# tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩 # tar - ...

随机推荐

  1. 获取windows可执行文件的version信息(版本号)

    之前在msdn上Version Information看到文件版本信息的介绍,看着整体比较复杂,就一直没做.现在需要获取ocx文件的版本号,所以查找了下相关资料,比较有用的就是VS_FIXEDFILE ...

  2. 【Python】获取服务器时间

    import http.client import time import os def get_webservertime(host): conn=http.client.HTTPConnectio ...

  3. Vmware 注册服务 开机自启

    现在的服务器性能往往过剩,利用虚拟机可以提高服务器的利用效率.VMware是一款很好的虚拟机软件,但是其WorkSation版本并不支持开机自动启动,支持开机自启的Server又长年没有更新,已经无法 ...

  4. IOS修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色

    自从IOS7后UINavigationBar的一些属性的行为发生了变化.你可以在下图看到: 现在,如果你要修改它们的颜色,用下面的代码: 1 2 3 4 self.navigationControll ...

  5. loadrunner文本检查点

    将脚本切换回代码界面, 在光标闪烁的上行,添加如下的代码: 添加的代码根据你检查的方式不同而不同, 你可以选择其中之一即可. 代码一: web_reg_find("Text=Payment ...

  6. Sphinx/Coreseek 4.1的安装流程

    yum install mysql-devel libxml2-devel expat-devel cd /data/software/ wget http://www.coreseek.cn/upl ...

  7. mosquitto简单应用

    1. 简述 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机 ...

  8. orderBy 传入属性的字符串

    IEnumerable下面的的OrderBy可以用于集合的排序. public static IOrderedEnumerable<TSource> OrderBy<TSource, ...

  9. docker监控

    [编者的话]这篇文章作者是Usman,他是服务器和基础架构工程师,有非常丰富的分布式构建经验.该篇文章主要分析评估了五种Docker监控工具,包括免费的和不免费的:Docker Stats.CAdvi ...

  10. .Net MVC 自定义Action类型,XmlAction,ImageAction等

    MVC开发的时候,难免会用到XML格式数据,如果将XML数据当作字符串直接返回给前台,其实这不是真正意义上的xmL,你可以看到ContentType是text/html而非XML类型,这往往会造成前端 ...