本文详细介绍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. 每日英语:Chinese Show Global Real-Estate Appetite

    Chinese investors have been snapping up real estate in the world's most important cities this year. ...

  2. 【Session】Tomcat中Session持久化到文件系统或数据库

    参考的优秀文章 Tomcat Session 持久化 Package org.apache.catalina.session 最近同事在做Session外置的功能,我对Session持久化.共享也不太 ...

  3. 用ubuntu的grpb2引导Remix OS或Phoenix OS

    Remix OS游戏版,这里下载:http://youxi.jide.com/ 安装简单.我这里要解决的是安装后用ubunu的grub2菜单去引导它. 方法如下: 进入ubuntu系统里修改其grub ...

  4. Android自定义AlertDialog

    常见的一种方法: [html] view plaincopyprint? AlertDialog.Builder builder; AlertDialog alertDialog; LayoutInf ...

  5. 透過手機 App 在 OpenELEC(XBMC)中輸入中文

    這裡介紹如何使用手機 App 在沒有中文輸入法的 OpenELEC(XBMC)中輸入中文字. OpenELEC(XBMC)雖然有內建中文語系,但是卻沒有中文的輸入法,沒辦法直接輸入中文字,這對於一般家 ...

  6. 词袋模型bow和词向量模型word2vec

    在自然语言处理和文本分析的问题中,词袋(Bag of Words, BOW)和词向量(Word Embedding)是两种最常用的模型.更准确地说,词向量只能表征单个词,如果要表示文本,需要做一些额外 ...

  7. jvm面试题

     1.虚拟机的类加载机制 1.1.什么是虚拟机的类加载机制 在代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class).而JVM把Class文件中的类描述数据从文件加载 ...

  8. linux比较两个文件是否一样(linux命令md5sum使用方法)

    1.简介 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一 ...

  9. sqoop 常用命令整理(一)

    这些内容是从sqoop的官网整理出来的,是1.4.3版本的Document,如果有错误,希望大家指正. 1.使用sqoop导入数据 sqoop import --connect jdbc:mysql: ...

  10. Oracle 语句中“||”代表什么啊?

    Oracle 语句中“||”代表什么啊? Oracle 语句中“||”代表什么啊?跟ServerSQL中的字符串的连接符“+”是一个概念么? 1. 恩是的 是一个含义...select '1'||'2 ...