第 1 章 OpenStack 客户端
openstack 客户端是常见的 OpenStack 命令行界面(CLI)。本章记录了 openstack 版本 6.2.1 的主要选项。
OpenStack API 的命令行界面
使用方法:
| value | Summary |
|---|---|
| --version | 显示程序的版本号并退出 |
| -v, --verbose | 提高输出的详细程度。可以重复。 |
| -q, --quiet | 抑制输出,除了警告和错误外。 |
| --log-file LOG_FILE | 指定要日志输出的文件。默认禁用。 |
| -h, --help | 显示帮助消息并退出。 |
| --debug | 显示错误的回溯。 |
| --os-cloud <cloud-config-name> | clouds.yaml 中的云名称(env: os_cloud) |
| --os-region-name <auth-region-name> | 身份验证区域名称(env: os_region_name) |
| --os-cacert <ca-bundle-file> | CA 证书捆绑包文件(env: os_cacert) |
| --os-cert <certificate-file> | 客户端证书捆绑包文件(env: os_cert) |
| --os-key <key-file> | 客户端证书密钥文件(env: os_key) |
| --verify | 验证服务器证书(默认) |
| --insecure | 禁用服务器证书验证 |
| --os-default-domain <auth-domain> | 默认域 id, default=default. (env: OS_DEFAULT_DOMAIN) |
| --os-interface <interface> | 选择一个接口 type. valid interface type: [admin, public, internal]. default=public,(Env: OS_INTERFACE) |
| --os-service-provider <service_provider> | 使用 Keystone-to-keystone 联合通过 并在服务提供商上执行 命令。还必须指定远程项目选项。 |
| --os-remote-project-name <remote_project_name> | 如果使用 Keystone 到 Keystone 联邦,在向服务提供商进行身份验证时的项目名称。 |
| --os-remote-project-id <remote_project_id> | 如果使用 Keystone 到 Keystone 联邦,在向服务提供商进行身份验证时项目 ID。 |
| --os-remote-project-domain-name <remote_project_domain_name> | 如果使用 Keystone 到 Keystone 联邦,在向服务提供商进行身份验证时项目的名称。 |
| --os-remote-project-domain-id <remote_project_domain_id> | 如果使用 Keystone 到 Keystone 联邦,在向服务提供商进行身份验证时项目的域 ID。 |
| --timing | print api 调用时间信息 |
| --os-beta-command | 启用可能更改的 beta 命令 |
| --os-profile hmac-key | 用于加密性能分析上下文数据的 HMAC 密钥 |
| --os-compute-api-version <compute-api-version> | compute api 版本, default=2.1 (env: OS_COMPUTE_API_VERSION) |
| --os-identity-api-version <identity-api-version> | Identity api 版本, default=3 (env: OS_IDENTITY_API_VERSION) |
| --os-image-api-version <image-api-version> | Image api 版本, default=2 (env: OS_IMAGE_API_VERSION) |
| --os-network-api-version <network-api-version> | Network api 版本, default=2.0 (env: OS_NETWORK_API_VERSION) |
| --os-object-api-version <object-api-version> | Object api version, default=1 (env: OS_OBJECT_API_VERSION) |
| --os-volume-api-version <volume-api-version> | Volume api version, default=3 (env: OS_VOLUME_API_VERSION) |
| --os-alarming-api-version <alarming-api-version> | queues api version, default=2 (env: OS_ALARMING_API_VERSION) |
| --os-metrics-api-version <metrics-api-version> | metrics api 版本, default=1 (env: OS_METRICS_API_VERSION) |
| --os-key-manager-api-version <key-manager-api-version> | barbican api 版本, default=1 (env: OS_KEY_MANAGER_API_VERSION) |
| --os-dns-api-version <dns-api-version> | DNS api 版本, default=2 (env: os_dns_api_version) |
| --os-orchestration-api-version <orchestration-api-version> | orchestration api version, default=1 (env: OS_ORCHESTRATION_API_VERSION) |
| --os-baremetal-api-version <baremetal-api-version> | 裸机 api 版本,default="latest" (客户端和服务器都支持的最大版本)。(env: OS_BAREMETAL_API_VERSION) |
| --os-share-api-version <shared-file-system-api-version> | 共享文件系统服务 api 版本,default=2.75version 由客户端和服务器支持。(env: OS_SHARE_API_VERSION) |
| --os-observability-api-version <observability-api-version> | Observability 插件 api 版本,default=1 (env: OS_OSCPLUGIN_API_VERSION) |
| --os-loadbalancer-api-version <loadbalancer-api-version> | osc 插件 api 版本,default=2.0 (env: OS_LOADBALANCER_API_VERSION) |
| --os-infra-optim-api-version <infra-optim-api-version> | watcher api 版本, default=1.4 (env: OS_INFRA_OPTIM_API_VERSION) |
| --os-queues-api-version <queues-api-version> | queues api version, default=2 (env: OS_QUEUES_API_VERSION) |
| --os-auth-type <auth-type> | 选择身份验证类型。可用的类型:v3oidcpassword, gnocchi-basic, v2password, v3adfspassword, v3samlpassword, v3oidcauthcode, aodh- noauth, v3token, v3totp, v3password, token, v1password, noauth, v3oidcclientcredentials, v3oauth2clientcredential, password, v3oidcaccesstoken, v3tokenlessauth, v3multifactor, admin_token, http_basic, v3applicationcredential, gnocchi-noauth, none, v3oauth1, v2token.Default: 基于 --os-username/--os-token (Env: OS_AUTH_TYPE)选择 |
| --os-auth-url <auth-auth-url> | 使用 v3oidcpassword: 使用 v2password 进行身份验证 url: 使用 v3adfspassword 进行身份验证 URL: 使用 v3samlpassword 进行身份验证 URL: Authentication URL with v3oidcauthcode: Authentication URL with v3token: 使用 v3totp 进行身份验证 URL: 使用 v3password 进行身份验证 URL: 使用令牌进行身份验证 URL: 使用 v1password 进行身份验证 URL: 带有 v3oidcclientcredentials 的身份验证 URL: 带有 v3oauth2clientcredential 的身份验证 URL: 使用密码进行身份验证 URL: Authentication URL with v3oidcaccesstoken: 使用 v3tokenlessauth 进行身份验证 URL: 使用 v3multifactor 进行身份验证 URL: 带有 v3applicationcredential 的身份验证 URL: 使用 v3oauth1 进行身份验证 URL: Authentication URL with v2token: 身份验证 URL (Env: OS_AUTH_URL) |
| --os-system-scope <auth-system-scope> | 使用 v3oidcpassword: 使用 v3adfspassword 的系统操作范围: 使用 v3samlpassword 的系统操作范围: 使用 v3oidcauthcode 的系统操作范围: 使用 v3token 的系统操作范围: 使用 v3totp 的系统操作范围: 使用 v3password 的系统操作范围: 使用令牌的系统操作范围: 使用 v3oidcclientcredentials 的系统操作范围: 使用 v3oauth2clientcredential 的系统操作范围: 使用密码的系统操作范围: 使用 v3oidcaccesstoken 的系统操作范围: 使用 v3multifactor 的系统操作范围: 使用 v3applicationcredential 的系统操作范围: 系统操作范围(Env: OS_SYSTEM_SCOPE) |
| --os-domain-id <auth-domain-id> | 使用 v3oidcpassword: domain id to scope to scope to with v3adfspassword: 域 ID 范围为使用 v3samlpassword : 域 ID 范围为 v3oidcauthcode: 域 ID 范围为 v3token: 域 ID 范围为使用 v3totp : 域 ID 范围为使用 v3password : 域 ID 范围为使用令牌 : Domain ID 到 scope to With v3oidcclientcredentials: 域 ID 范围为使用 v3oauth2clientcredential : 域 ID 范围为使用密码: Domain ID to scope to With v3oidcaccesstoken: Domain ID to scope to scope to With v3tokenlessauth: 域 ID 范围为使用 v3multifactor : 域 ID 范围为使用 v3applicationcredential : 域 ID 到范围(Env: OS_DOMAIN_ID) |
| --os-domain-name <auth-domain-name> | 使用 v3oidcpassword: 域名的范围为 v3adfspassword: Domain name to scope to With v3samlpassword: Domain name to scope to With v3oidcauthcode: Domain name to scope to With v3token: 域名的范围为 v3totp: 域名的范围为使用 v3password : 域名的范围为使用令牌: Domain name to scope to With v3oidcclientcredentials: Domain name to scope to With v3oauth2clientcredential: 域名的范围为使用密码: Domain name to scope to With v3oidcaccesstoken: Domain name to scope to With v3tokenlessauth: Domain name to scope to With v3multifactor: Domain name to scope to With v3applicationcredential: 域名的范围为(Env: OS_DOMAIN_NAME) |
| --os-project-id <auth-project-id> | 使用 v3oidcpassword: 项目 id 到 v3adfspassword 范围: 项目 ID 范围为使用 v3samlpassword : 项目 ID 范围为 v3oidcauthcode: 项目 ID 范围为使用 aodh- noauth : 使用 v3token 的项目 ID: 项目 ID 范围为 v3totp : 项目 ID 范围为使用 v3password : 项目 ID 范围为使用令牌: 项目 ID 范围为 noauth : 带有 v3oidcclientcredentials 的项目 ID: 项目 ID 范围为 v3oauth2clientcredential : 项目 ID 范围为使用密码: 项目 ID 范围为 v3oidcaccesstoken : 项目 ID 范围为 v3tokenlessauth : 项目 ID 范围为使用 v3multifactor : 项目 ID 范围为 v3applicationcredential : 项目 ID 范围为使用 gnocchi-noauth : 项目 ID (Env: OS_PROJECT_ID) |
| --os-project-name <auth-project-name> | 使用 v3oidcpassword: 项目名称的范围为 v3adfspassword: 项目名称的范围为 v3samlpassword: Project name to scope to With v3oidcauthcode: Project name to scope to With v3token: 项目名称的范围为 v3totp : 项目名称的范围为 v3password : 项目名称的范围为使用令牌: 项目名称的范围为 v1password : 与 v3oidcclientcredentials 搭配使用的 Swift 帐户: 项目名称的范围为 v3oauth2clientcredential : 项目名称的范围为使用密码: Project name to scope to With v3oidcaccesstoken: Project name to scope to With v3tokenlessauth: 项目名称的范围为 v3multifactor: 项目名称的范围为 v3applicationcredential : 项目名称到范围为(Env: OS_PROJECT_NAME) |
| --os-project-domain-id <auth-project-domain-id> | 使用 v3oidcpassword: domain id,其中包含带有 v3adfspassword 的项目: 包含带有 v3samlpassword 的项目的域 ID: 包含带有 v3oidcauthcode 的项目的域 ID: 包含带有 v3token 的项目的域 ID: 包含带有 v3totp 的项目的域 ID: 包含带有 v3password 的项目的域 ID: 包含带有令牌的项目的域 ID: 包含带有 v3oidcclientcredentials 的项目的域 ID: 包含带有 v3oauth2clientcredential 的项目的域 ID: 包含带有密码的项目的域 ID: 包含带有 v3oidcaccesstoken 的项目的域 ID: 包含带有 v3tokenlessauth 的项目的域 ID: 包含带有 v3multifactor 的项目的域 ID: 包含带有 v3applicationcredential 的项目的域 ID: 包含项目的域 ID (Env: OS_PROJECT_DOMAIN_ID) |
| --os-project-domain-name <auth-project-domain-name> | 使用 v3oidcpassword: 包含带有 v3adfspassword 的项目的域名: 包含带有 v3samlpassword 的项目的域名: 包含带有 v3oidcauthcode 的项目的域名: 包含带有 v3token 的项目的域名: 包含带有 v3totp 的项目的域名: 包含带有 v3password 的项目的域名: 包含带有令牌的项目的域名: 包含带有 v3oidcclientcredentials 的项目的域名: 包含带有 v3oauth2clientcredential 的项目的域名: 包含带有密码的项目的域名: 包含带有 v3oidcaccesstoken 的项目的域名: 包含带有 v3tokenlessauth 的项目的域名: 包含带有 v3multifactor 的项目的域名: 包含带有 v3applicationcredential 的项目的域名: 包含项目的域名(Env: OS_PROJECT_DOMAIN_NAME) |
| --os-trust-id <auth-trust-id> | 使用 v3oidcpassword: 作为 v2password 的信任使用的信任 ID: 用作 v3adfspassword 的信任使用的信任 ID: 用作 v3samlpassword 的信任使用的信任 ID: 用作 v3oidcauthcode 的信任使用的信任 ID: 用作 v3token 的信任使用的信任 ID: 用作 v3totp 的信任使用的信任 ID: 用作 v3password 的信任使用的信任 ID: 用作信任者使用的信任 ID,用于令牌: 用于 v3oidcclientcredentials 的信任使用的信任 ID: 用作信任者使用的信任 ID,用于 v3oauth2clientcredential : 用作信任者使用的信任 ID,使用 password: 用作 v3oidcaccesstoken 的信任使用的信任 ID: 用于 v3multifactor 的信任使用的信任 ID: 用作信任者使用的信任 ID,用于 v3applicationcredential: 用作 v2token 的信任使用的信任 ID: 用作信任者使用的信任 ID (Env: OS_TRUST_ID) |
| --os-identity-provider <auth-identity-provider> | 使用 v3oidcpassword: 身份提供程序的名称带有 v3adfspassword: Identity Provider's name with v3samlpassword: Identity Provider's name with v3oidcauthcode: Identity Provider's name with v3oidcclientcredentials: Identity Provider's name with v3oidcaccesstoken: Identity Provider's name: Identity Provider's name with v3oidcIDENTITY_PROVIDER) |
| --os-protocol <auth-protocol> | 使用 v3oidcpassword: protocol for federated plugin with v3adfspassword: Protocol for federated plugin with v3samlpassword: Protocol with v3oidcauthcode: Protocol with v3oidcclientcredentials: Protocol for federated 插件的 v3oidcaccesstoken: Protocol for federated plugin (Env: OS_PROTOCOL) |
| --os-client-id <auth-client-id> | 使用 v3oidcpassword: oauth 2.0 client id with v3oidcauthcode: OAuth 2.0 Client ID with v3oidcclientcredentials: OAuth 2.0 Client ID (Env: OS_CLIENT_ID) |
| --os-client-secret <auth-client-secret> | 使用 v3oidcpassword: oauth 2.0 client secret with v3oidcauthcode: OAuth 2.0 Client Secret with v3oidcclientcredentials: OAuth 2.0 Client Secret (Env: OS_CLIENT_SECRET) |
| --os-openid-scope <auth-openid-scope> | 使用 v3oidcpassword :openid 连接范围,这些范围是从授权服务器请求的。请注意,OpenID Connect 规格指出必须始终指定"openid"。使用 v3oidcauthcode: 从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规格指出必须始终指定"openid"。使用 v3oidcclientcredentials: 从授权服务器请求的 OpenID Connect 范围。请注意,OpenID Connect 规格指出必须始终指定"openid"。(env: OS_OPENID_SCOPE) |
| --os-access-token-endpoint <auth-access-token-endpoint> | 使用 v3oidcpassword :openid 连接供应商令牌端点。请注意,如果通过了一个发现文档,这个选项会在发现文档中覆盖服务器提供的端点。使用 v3oidcauthcode: OpenID Connect Provider Token Endpoint.请注意,如果通过了一个发现文档,这个选项会在发现文档中覆盖服务器提供的端点。使用 v3oidcclientcredentials: OpenID Connect Provider Token Endpoint。请注意,如果通过了一个发现文档,这个选项会在发现文档中覆盖服务器提供的端点。(env: OS_ACCESS_TOKEN_ENDPOINT) |
| --os-discovery-endpoint <auth-discovery-endpoint> | 使用 v3oidcpassword: openid connect discovery document URL。发现文档将用于获取访问令牌端点和身份验证端点的值。这个 URL 应该类似于使用 v3oidcauthcode: OpenID Connect Discovery Document URL 的 https://idp.example.org/.well-known/openid- 配置。发现文档将用于获取访问令牌端点和身份验证端点的值。这个 URL 应该类似于使用 v3oidcclientcredentials: OpenID Connect Discovery Document URL 的 https://idp.example.org/.well-known/openid- 配置。发现文档将用于获取访问令牌端点和身份验证端点的值。这个 URL 应该类似于 https://idp.example.org/.well- known/openid-configuration (Env: OS_DISCOVERY_ENDPOINT) |
| --os-access-token-type <auth-access-token-type> | 使用 v3oidcpassword: oauth 2.0 授权服务器 Introspection 令牌类型,它用于决定在处理令牌内省时将使用哪些类型的令牌。有效值有: "access_token" 或 "id_token" With v3oidcauthcode: OAuth 2.0 Authorization Server Introspection 令牌类型,它用于决定在处理令牌内省时将使用哪一种令牌类型。有效值有: "access_token" 或 "id_token" With v3oidcclientcredentials: OAuth 2.0 Authorization Server Introspection 令牌类型,它用于决定在处理令牌内省时将使用哪一种令牌类型。有效值为:"access_token" 或 "id_token" (Env: OS_ACCESS_TOKEN_TYPE) |
| --os-username <auth-username> | 使用 v3oidcpassword: username with v2password: username with v3adfspassword: Username with v3samlpassword: Username with v3totp: Username With v3password: Username with v1password: Username with password: Username with http_basic: Username with v3applicationcredential: Username with v3totp: Username With v3password: Username With v1password: Username with password: Username with http_basic: Username with v3applicationcredential: Username with v3totp: Username with |
| --os-password <auth-password> | 有了 v3oidcpassword: password with v2password: password to use with v3adfspassword: Password With v3samlpassword: Password With v3password: User password to use with password: User's password with http_basic: User password (Env: OS_PASSWORD) |
| --os-user <auth-user> | 使用 gnocchi-basic: user (env: os_user) |
| --os-endpoint <auth-endpoint> | 使用 gnocchi-basic: gnocchi 端点时带有 noauth: Cinder 端点和 admin_token:始终与 http_basic 一起使用的端点:始终使用 gnocchi-noauth: Gnocchi 端点及 none:将始终使用的端点(Env: OS_ENDPOINT) |
| --os-user-id <auth-user-id> | 使用 v2password: user id 来使用 aodh- noauth: User ID with v3totp: User ID with v3password: User ID with noauth: User ID with password: User id with v3applicationcredential: User ID with gnocchi- noauth: User ID (Env: OS_USER_ID) |
| --os-identity-provider-url <auth-identity-provider-url> | 使用 v3adfspassword:一个身份提供程序 url,将发送 SAML 身份验证请求。使用 v3samlpassword :一个身份提供程序 URL,它将发送 SAML2 身份验证请求。(env: OS_IDENTITY_PROVIDER_URL) |
| --os-service-provider-endpoint <auth-service-provider-endpoint> | 使用 v3adfspassword:服务提供商的端点(env: OS_SERVICE_PROVIDER_ENDPOINT) |
| --os-service-provider-entity-id <auth-service-provider-entity-id> | 使用 v3adfspassword:服务提供商的 saml 实体 ID (Env: OS_SERVICE_PROVIDER_ENTITY_ID) |
| --os-redirect-uri <auth-redirect-uri> | 使用 v3oidcauthcode: openid connect redirect url (env: OS_REDIRECT_URI) |
| --os-code <auth-code> | 使用 v3oidcauthcode: oauth 2.0 授权代码(Env: OS_CODE) |
| --os-roles <auth-roles> | 使用 aodh-noauth: roles with gnocchi-noauth: roles (Env: OS_ROLES) |
| --os-aodh-endpoint <auth-aodh-endpoint> | 使用 aodh-noauth: aodh 端点(env: OS_AODH_ENDPOINT) |
| --os-token <auth-token> | 使用 v3token: 令牌与 token: Token 进行身份验证,以便与 admin_token 进行身份验证:用于 v2token: Token (Env: OS_TOKEN)的令牌 |
| --os-user-domain-id <auth-user-domain-id> | 使用 v3totp: 用户的域 ID 带有 v3password:用户的域 ID,带有 password: User's domain id with v3applicationcredential: User's domain id (Env: OS_USER_DOMAIN_ID) |
| --os-user-domain-name <auth-user-domain-name> | 使用 v3totp :用户的域名带有 v3password :用户的域名,带有 password: User's domain name with v3applicationcredential: User's domain name: User's domain name (Env: OS_USER_DOMAIN_NAME) |
| --os-passcode <auth-passcode> | 使用 v3totp :用户的 totp passcode (env: os_passcode) |
| --os-default-domain-id <auth-default-domain-id> | 使用 token: 可选的域 id,用于 v3 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。使用 password :用于 v3 和 v2 参数的可选域 ID。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。(env: OS_DEFAULT_DOMAIN_ID) |
| --os-default-domain-name <auth-default-domain-name> | 使用 token: 可选的域名,用于 v3 api 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。使用 password :用于 v3 API 和 v2 参数的可选域名。它将用于 v3 中的用户和项目域,并在 v2 身份验证中忽略。(env: OS_DEFAULT_DOMAIN_NAME) |
| --os-oauth2-endpoint <auth-oauth2-endpoint> | 带有 v3oauth2clientcredential: oauth2.0 的端点(Env: OS_OAUTH2_ENDPOINT) |
| --os-oauth2-client-id <auth-oauth2-client-id> | 使用 v3oauth2clientcredential: oauth2.0 的客户端 ID (Env: OS_OAUTH2_CLIENT_ID) |
| --os-oauth2-client-secret <auth-oauth2-client-secret> | 使用 v3oauth2clientcredential: OAuth2.0 的客户端 secret (Env: OS_OAUTH2_CLIENT_SECRET) |
| --os-access-token <auth-access-token> | 使用 v3oidcaccesstoken: oauth 2.0 访问令牌(env: OS_ACCESS_TOKEN) |
| --os-auth-methods <auth-auth-methods> | 使用 v3multifactor: 方法进行身份验证。(env: OS_AUTH_METHODS) |
| --os-application-credential-secret <auth-application-credential-secret> | 使用 v3applicationcredential: 应用程序凭证 auth secret (Env: OS_APPLICATION_CREDENTIAL_SECRET) |
| --os-application-credential-id <auth-application-credential-id> | 使用 v3applicationcredential: 应用程序凭证 ID (Env: OS_APPLICATION_CREDENTIAL_ID) |
| --os-application-credential-name <auth-application-credential-name> | 使用 v3applicationcredential: 应用程序凭证名称(Env: OS_APPLICATION_CREDENTIAL_NAME) |
| --os-consumer-key <auth-consumer-key> | 使用 v3oauth1: oauth consumer id/key (env: OS_CONSUMER_KEY) |
| --os-consumer-secret <auth-consumer-secret> | 使用 v3oauth1: oauth consumer secret (env: OS_CONSUMER_SECRET) |
| --os-access-key <auth-access-key> | 使用 v3oauth1:oauth access key (env: os_access_key) |
| --os-access-secret <auth-access-secret> | 使用 v3oauth1: oauth 访问 secret (env: OS_ACCESS_SECRET) |