keystoneclient.v3 包

子包

子模块

keystoneclient.v3.access_rules 模块

class keystoneclient.v3.access_rules.AccessRule(manager, info, loaded=False)

基类: Resource

表示应用程序凭证的身份访问规则。

属性
  • id: 用于标识访问规则的 uuid

  • method: 应用程序凭证允许使用的请求方法

    对于给定的 API 端点

  • path: 应用程序凭证允许访问的 API 路径

    access

  • service: 应用程序凭证允许访问的服务的服务类型标识符

    application credential is permitted to access

class keystoneclient.v3.access_rules.AccessRuleManager(client)

基类: CrudManager

用于操作身份访问规则的管理类。

collection_key = 'access_rules'
create()
delete(access_rule, user=None)

删除访问规则。

参数:
返回值:

带有 204 状态码的响应对象

返回类型:

requests.models.Response

find(user=None, **kwargs)

查找具有匹配 **kwargs 属性的访问规则。

参数:

user (string) – 用户 ID

返回值:

匹配的访问规则列表

返回类型:

list of keystoneclient.v3.access_rules.AccessRule

get(access_rule, user=None)

检索访问规则。

参数:
返回值:

指定的访问规则

返回类型:

keystoneclient.v3.access_rules.AccessRule

key = 'access_rule'
list(user=None, **kwargs)

列出访问规则。

参数:

user (string) – 用户 ID

返回值:

访问规则列表

返回类型:

list of keystoneclient.v3.access_rules.AccessRule

resource_class

别名 AccessRule

update()

keystoneclient.v3.application_credentials 模块

class keystoneclient.v3.application_credentials.ApplicationCredential(manager, info, loaded=False)

基类: Resource

表示身份应用程序凭证。

属性
  • id: 用于标识应用程序凭证的 uuid

  • user: 应用程序凭证的所有者

  • name: 应用程序凭证名称

  • secret: 应用程序凭证密钥

  • description: 应用程序凭证描述

  • expires_at: 到期时间

  • roles: 在项目上的角色分配

  • unrestricted: 应用程序凭证是否有限制

    applied

  • access_rules: 一组访问规则,定义了应用程序凭证可用于哪些 API 请求

    the application credential may be used for

class keystoneclient.v3.application_credentials.ApplicationCredentialManager(client)

基类: CrudManager

用于操作身份应用程序凭证的管理类。

collection_key = 'application_credentials'
create(name, user=None, secret=None, description=None, expires_at=None, roles=None, unrestricted=False, access_rules=None, **kwargs)

创建凭证。

参数:
  • name (string) – 应用程序凭证名称

  • user (string) – 用户 ID

  • secret – 应用程序凭证密钥

  • description – 应用程序凭证描述

  • expires_at (datetime.datetime) – 到期时间

  • roles (List) – 项目上的角色列表。可以是 ID 列表或指定角色名称和域的字典列表

  • unrestricted (bool) – 应用程序凭证是否已应用限制

  • access_rules (List) – 一组字典,表示访问规则

返回值:

创建的应用程序凭证

返回类型:

keystoneclient.v3.application_credentials.ApplicationCredential

delete(application_credential, user=None)

删除应用程序凭据。

参数:

application_credential – 要删除的应用程序凭证

返回值:

带有 204 状态码的响应对象

返回类型:

requests.models.Response

find(user=None, **kwargs)

查找具有匹配 **kwargs 属性的应用程序凭证。 # noqa

参数:

user (string) – 用户 ID

返回值:

匹配的应用程序凭证列表

返回类型:

list of keystoneclient.v3.application_credentials.ApplicationCredential

get(application_credential, user=None)

检索应用程序凭证。

参数:

application_credential – 要从服务器检索的凭证

返回值:

指定的应用程序凭证

返回类型:

keystoneclient.v3.application_credentials.ApplicationCredential

key = 'application_credential'
list(user=None, **kwargs)

列出应用程序凭证。

参数:

user (string) – 用户 ID

返回值:

应用程序凭证列表

返回类型:

list of keystoneclient.v3.application_credentials.ApplicationCredential

resource_class

别名 ApplicationCredential

update()

keystoneclient.v3.auth 模块

class keystoneclient.v3.auth.AuthManager(client)

基类: Manager

检索与身份验证上下文相关的信息。

身份验证路由返回的信息完全取决于用户提供的身份验证信息。

domains()

列出指定令牌可以重新作用域的域。

返回值:

域列表。

返回类型:

list of keystoneclient.v3.domains.Domain.

projects()

列出指定令牌可以重新作用域的项目。

返回值:

项目列表。

返回类型:

list of keystoneclient.v3.projects.Project

systems()

列出指定令牌可以重新作用域的系统。

目前,此列表要么为空,要么为“all”。

返回值:

系统列表。

返回类型:

list of keystoneclient.v3.systems.System.

keystoneclient.v3.client 模块

class keystoneclient.v3.client.Client(**kwargs)

继承自:HTTPClient

OpenStack Identity API v3 的客户端。

参数:
  • session (keystoneauth1.session.Session) – 请求的会话。 (可选)

  • user_id (string) – 身份验证的用户 ID。 (可选)

  • username (字符串) – 用于身份验证的用户名。(可选)

  • user_domain_id (string) – 身份验证的用户域 ID。 (可选)

  • user_domain_name (string) – 身份验证的用户域名称。 (可选)

  • password (字符串) – 用于身份验证的密码。(可选)

  • token (字符串) – 用于身份验证的令牌。(可选)

  • domain_id (string) – 域作用域的域 ID。 (可选)

  • domain_name (string) – 域作用域的域名称。 (可选)

  • project_id (string) – 项目作用域的项目 ID。 (可选)

  • project_name (string) – 项目作用域的项目名称。 (可选)

  • project_domain_id (string) – 项目作用域的项目域 ID。 (可选)

  • project_domain_name (string) – 项目作用域的项目域名称。 (可选)

  • tenant_name (string) – 租户名称。 (可选) tenant_name 关键字参数自 1.7.0 版本起已弃用,建议使用 project_name,并可能在 2.0.0 版本中移除。

  • tenant_id (string) – 租户 ID。 (可选) tenant_id 关键字参数自 1.7.0 版本起已弃用,建议使用 project_id,并可能在 2.0.0 版本中移除。

  • auth_url (string) – 授权的身份服务端点。

  • region_name (字符串) – 从服务目录中选择端点时要选择的区域名称。

  • endpoint (string) – 用户提供的身份服务终端 URL。如果实例化时设置了 endpoint,则 API 服务调用可能支持延迟身份验证。 (可选)

  • timeout (整数) – 允许自定义客户端 http 请求的超时时间。(可选)

警告

不带会话构建此类实例自 1.7.0 版本起已弃用,并将在 2.0.0 版本中移除。

示例

>>> from keystoneauth1.identity import v3
>>> from keystoneauth1 import session
>>> from keystoneclient.v3 import client
>>> auth = v3.Password(user_domain_name=DOMAIN_NAME,
...                    username=USER,
...                    password=PASS,
...                    project_domain_name=PROJECT_DOMAIN_NAME,
...                    project_name=PROJECT_NAME,
...                    auth_url=KEYSTONE_URL)
>>> sess = session.Session(auth=auth)
>>> keystone = client.Client(session=sess)
>>> keystone.projects.list()
...
>>> user = keystone.users.get(USER_ID)
>>> user.delete()

此类实例具有以下管理器

credentials

keystoneclient.v3.credentials.CredentialManager

domain_configs

keystoneclient.v3.domain_configs.DomainConfigManager

ec2

keystoneclient.v3.ec2.EC2Manager

endpoint_filter

keystoneclient.v3.contrib.endpoint_filter.EndpointFilterManager

endpoint_groups

keystoneclient.v3.endpoint_groups.EndpointGroupManager

endpoint_policy

keystoneclient.v3.contrib.endpoint_policy.EndpointPolicyManager

endpoints

keystoneclient.v3.endpoints.EndpointManager

domains

keystoneclient.v3.domains.DomainManager

federation

keystoneclient.v3.contrib.federation.core.FederationManager

groups

keystoneclient.v3.groups.GroupManager

limits

keystoneclient.v3.limits.LimitManager

oauth1

keystoneclient.v3.contrib.oauth1.core.OAuthManager

policies

keystoneclient.v3.policies.PolicyManager

regions

keystoneclient.v3.regions.RegionManager

registered_limits

keystoneclient.v3.registered_limits.RegisteredLimitManager

role_assignments

keystoneclient.v3.role_assignments.RoleAssignmentManager

roles

keystoneclient.v3.roles.RoleManager

simple_cert

keystoneclient.v3.contrib.simple_cert.SimpleCertManager

services

keystoneclient.v3.services.ServiceManager

tokens

keystoneclient.v3.tokens.TokenManager

trusts

keystoneclient.v3.contrib.trusts.TrustManager

users

keystoneclient.v3.users.UserManager

get_raw_token_from_identity_service(auth_url, user_id=None, username=None, user_domain_id=None, user_domain_name=None, password=None, domain_id=None, domain_name=None, project_id=None, project_name=None, project_domain_id=None, project_domain_name=None, token=None, trust_id=None, **kwargs)

向 v3 Identity API 进行身份验证。

如果同时提供了密码和令牌方法,则请求中将同时使用这两种方法。

返回值:

access.AccessInfo 如果身份验证成功。

返回类型:

keystoneclient.access.AccessInfoV3

引发:
process_token(**kwargs)

从新的 auth_ref 中提取并处理信息。

并设置相关的身份验证信息。

serialize(entity)
version = 'v3'

keystoneclient.v3.credentials 模块

class keystoneclient.v3.credentials.Credential(manager, info, loaded=False)

基类: Resource

表示身份凭证。

属性
  • id: 用于标识凭证的 uuid

  • user_id: 凭证所属的用户 ID

  • type: 凭证的类型

  • blob: 表示凭证的文本

  • project_id: 限制凭证范围的项目 ID

class keystoneclient.v3.credentials.CredentialManager(client)

基类: CrudManager

用于操作身份凭证的管理类。

collection_key = 'credentials'
create(user, type, blob, project=None, **kwargs)

创建凭证。

参数:
  • user (str or keystoneclient.v3.users.User) – 凭证所属的用户

  • type (str) – 凭证类型,有效值为:ec2certtotp

  • blob (str) – 凭证数据的任意 blob,根据类型解析

  • project (str or keystoneclient.v3.projects.Project) – 限制凭证范围的项目,如果凭证类型为 ec2,则此属性为必需。

  • kwargs – 提供的任何其他属性都将传递给服务器

返回值:

创建的凭证

返回类型:

keystoneclient.v3.credentials.Credential

delete(credential)

删除凭证。

参数:

credential (str or keystoneclient.v3.credentials.Credential) – 要删除的凭证

返回值:

带有 204 状态码的响应对象

返回类型:

requests.models.Response

get(credential)

检索凭证。

参数:

credential (str or keystoneclient.v3.credentials.Credential) – 要从服务器检索的凭证

返回值:

指定的凭证

返回类型:

keystoneclient.v3.credentials.Credential

key = 'credential'
list(**kwargs)

列出凭据。

参数:

kwargs – 如果指定了 user_id 或 type,则凭证将相应地进行过滤。

返回值:

凭证列表

返回类型:

list of keystoneclient.v3.credentials.Credential

resource_class

别名 Credential

update(credential, user, type=None, blob=None, project=None, **kwargs)

更新凭证。

参数:
返回值:

更新后的凭证

返回类型:

keystoneclient.v3.credentials.Credential

keystoneclient.v3.domain_configs 模块

class keystoneclient.v3.domain_configs.DomainConfig(manager, info, loaded=False)

基类: Resource

表示域配置关联的对象。

此资源对象不一定包含固定属性,因为服务器中添加的新属性在此直接支持。当前支持的配置为 identityldap

class keystoneclient.v3.domain_configs.DomainConfigManager(client)

基类: Manager

用于操作域配置关联的管理类。

build_url(domain)
create(domain, config)

为域创建配置。

参数:

关于 config 参数的示例

{
     "identity": {
         "driver": "ldap"
     },
     "ldap": {
         "url": "ldap://myldap.com:389/",
         "user_tree_dn": "ou=Users,dc=my_new_root,dc=org"
     }
}
返回值:

从服务器返回的已创建域配置。

返回类型:

keystoneclient.v3.domain_configs.DomainConfig

delete(domain)

删除域的配置。

参数:

domain (str or keystoneclient.v3.domains.Domain) – 将在服务器上删除配置的域。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

find(**kwargs)
get(domain)

获取域的配置。

参数:

domain (str or keystoneclient.v3.domains.Domain) – 定义了配置的域。

返回值:

从服务器返回的域配置。

返回类型:

keystoneclient.v3.domain_configs.DomainConfig

key = 'config'
list(**kwargs)
resource_class

别名 DomainConfig

update(domain, config)

更新域的配置。

参数:

关于 config 参数的示例

{
     "identity": {
         "driver": "ldap"
     },
     "ldap": {
         "url": "ldap://myldap.com:389/",
         "user_tree_dn": "ou=Users,dc=my_new_root,dc=org"
     }
}
返回值:

从服务器返回的已更新域配置。

返回类型:

keystoneclient.v3.domain_configs.DomainConfig

keystoneclient.v3.domains 模块

class keystoneclient.v3.domains.Domain(manager, info, loaded=False)

基类: Resource

表示身份域。

属性
  • id: 用于标识域的 uuid

  • name: 域的名称

  • description: 域的描述

  • enabled: 确定域是否已启用

class keystoneclient.v3.domains.DomainManager(client)

基类: CrudManager

用于操作身份域的管理类。

collection_key = 'domains'
create(name, description=None, enabled=True, **kwargs)

创建域。

参数:
  • name (str) – 域的名称。

  • description (str) – 域的描述。

  • enabled (bool) – 域是否已启用。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建域。

返回类型:

keystoneclient.v3.domains.Domain

delete(domain)

删除域。

参数:

domain (str or keystoneclient.v3.domains.Domain) – 要在服务器上删除的域。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(domain)

检索域。

参数:

domain (str or keystoneclient.v3.domains.Domain) – 要从服务器检索的域。

返回值:

从服务器返回的指定域。

返回类型:

keystoneclient.v3.domains.Domain

key = 'domain'
list(**kwargs)

列出域。

参数:

kwargs – 允许传递服务器支持的过滤条件。

返回值:

域列表。

返回类型:

list of keystoneclient.v3.domains.Domain.

resource_class

别名 Domain

update(domain, name=None, description=None, enabled=None, **kwargs)

更新域。

参数:
  • domain (str or keystoneclient.v3.domains.Domain) – 要在服务器上更新的域。

  • name (str) – 域的新名称。

  • description (str) – 域的新描述。

  • enabled (bool) – 域是否已启用。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新域。

返回类型:

keystoneclient.v3.domains.Domain

keystoneclient.v3.ec2 模块

class keystoneclient.v3.ec2.EC2(manager, info, loaded=False)

基类: Resource

表示 EC2 资源。

属性
  • id: 标识 EC2 资源的字符串。

  • user_id: 后端预先存在的用户的 ID 字段。

  • project_id: 后端预先存在的项目的 ID 字段。

  • access: 表示访问/密钥对的访问密钥的字符串。

  • secret: 表示访问/密钥对的密钥的字符串。

class keystoneclient.v3.ec2.EC2Manager(client)

Bases: ManagerWithFind

create(user_id, project_id)

创建新的访问/密钥对。

参数:
返回值:

从服务器返回的已创建访问/密钥对。

返回类型:

keystoneclient.v3.ec2.EC2

delete(user_id, access)

删除访问/密钥对。

参数:
  • user_id (str or keystoneclient.v3.users.User) – 将在服务器上删除访问/密钥对的用户的 ID。

  • access (str) – 将在服务器上删除访问/密钥对的访问密钥。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(user_id, access)

检索给定访问密钥的访问/密钥对。

参数:
  • user_id (str or keystoneclient.v3.users.User) – 将从服务器检索访问/密钥对的用户的 ID。

  • access (str) – 将从服务器检索访问/密钥对的访问密钥。

返回值:

从服务器返回的指定访问/密钥对。

返回类型:

keystoneclient.v3.ec2.EC2

list(user_id)

列出给定用户的访问/密钥对。

参数:

user_id (str) – 将列出访问/密钥对的用户的 ID。

返回值:

访问/密钥对列表。

返回类型:

list of keystoneclient.v3.ec2.EC2

resource_class

别名 EC2

keystoneclient.v3.endpoint_groups 模块

class keystoneclient.v3.endpoint_groups.EndpointGroup(manager, info, loaded=False)

基类: Resource

表示身份端点组。

属性
  • id: 用于标识端点组的 UUID

  • name: 端点组的名称

  • description: 端点组的描述

  • filters: JSON 格式的过滤器表示,定义了哪些端点实体属于该组

    what endpoint entities are part of the group

class keystoneclient.v3.endpoint_groups.EndpointGroupManager(client)

基类: CrudManager

端点组管理类。

base_url = 'OS-EP-FILTER'
check(endpoint_group)

检查端点组是否存在。

参数:

endpoint_group (str or keystoneclient.v3.endpoint_groups.EndpointGroup) – 要在服务器上检查的端点组。

返回值:

如果指定的端点组存在,则为 None。

collection_key = 'endpoint_groups'
create(name, filters, description=None, **kwargs)

创建一个端点组。

参数:
  • name (str) – 端点组的名称。

  • filters (str) – JSON 格式的过滤器表示,定义了哪些端点实体属于该组。

  • description (str) – 端点组的描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建端点组。

返回类型:

keystoneclient.v3.endpoint_groups.EndpointGroup

delete(endpoint_group)

删除一个端点组。

参数:

endpoint_group (str or keystoneclient.v3.endpoint_groups.EndpointGroup) – 要在服务器上删除的端点组。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(endpoint_group)

检索端点组。

参数:

endpoint_group (str or keystoneclient.v3.endpoint_groups.EndpointGroup) – 要从服务器检索的端点组。

返回值:

从服务器返回的指定端点组。

返回类型:

keystoneclient.v3.endpoint_groups.EndpointGroup

key = 'endpoint_group'
list(**kwargs)

列出端点组。

提供的任何参数都将传递给服务器。

返回值:

端点组列表。

返回类型:

list of keystoneclient.v3.endpoint_groups.EndpointGroup.

resource_class

别名 EndpointGroup

update(endpoint_group, name=None, filters=None, description=None, **kwargs)

更新一个端点组。

参数:
  • name (str) – 新的端点组名称。

  • filters (str) – JSON 格式的新过滤器表示,定义了哪些端点实体属于该组。

  • description (str) – 新的端点组描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新端点组。

返回类型:

keystoneclient.v3.endpoint_groups.EndpointGroup

keystoneclient.v3.endpoints 模块

class keystoneclient.v3.endpoints.Endpoint(manager, info, loaded=False)

基类: Resource

表示身份端点。

属性
  • id: 用于标识端点的 uuid

  • interface: 'public'、'admin' 或 'internal' 网络接口

  • region: 端点的地理位置

  • service_id: 端点所属的服务

  • url: 完全限定的服务端点

  • enabled: 确定端点是否显示在服务目录中

    catalog

class keystoneclient.v3.endpoints.EndpointManager(client)

基类: CrudManager

用于操作身份端点的管理类。

collection_key = 'endpoints'
create(service, url, interface=None, region=None, enabled=True, **kwargs)

创建端点。

参数:
  • service (str or keystoneclient.v3.services.Service) – 端点所属的服务。

  • url (str) – 完全限定的服务端点的 URL。

  • interface (str) – 端点的网络接口。有效值为:publicadmininternal

  • region (str or keystoneclient.v3.regions.Region) – 端点所属的区域。

  • enabled (bool) – 端点是否已启用,决定其是否出现在服务目录中。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建端点。

返回类型:

keystoneclient.v3.endpoints.Endpoint

delete(endpoint)

删除端点。

参数:

endpoint (str or keystoneclient.v3.endpoints.Endpoint) – 要在服务器上删除的端点。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(endpoint)

检索端点。

参数:

endpoint (str or keystoneclient.v3.endpoints.Endpoint) – 要从服务器检索的端点。

返回值:

从服务器返回的指定端点。

返回类型:

keystoneclient.v3.endpoints.Endpoint

key = 'endpoint'
list(service=None, interface=None, region=None, enabled=None, region_id=None, **kwargs)

列出端点。

参数:
  • service (str 或 keystoneclient.v3.services.Service) – 用于过滤端点的服务。

  • interface (str) – 用于过滤端点的网络接口。有效值为: public, admininternal

  • enabled (bool) – 返回已启用还是已禁用端点。

  • region_id (str) – 按 region_id 属性过滤端点。如果同时指定了 region 和 region_id,则 region 具有优先权。

  • kwargs – 提供的任何其他属性都将用于过滤端点。

返回值:

端点列表。

返回类型:

keystoneclient.v3.endpoints.Endpoint 的列表

resource_class

Endpoint 的别名

update(endpoint, service=None, url=None, interface=None, region=None, enabled=None, **kwargs)

更新端点。

参数:
  • endpoint (str 或 keystoneclient.v3.endpoints.Endpoint) – 要在服务器上更新的端点。

  • service (str 或 keystoneclient.v3.services.Service) – 端点所属的新服务。

  • url (str) – 完全限定的服务端点的新 URL。

  • interface (str) – 端点的新网络接口。有效值为: public, admininternal

  • region (str 或 keystoneclient.v3.regions.Region) – 端点所属的新区域。

  • enabled (bool) – 通过启用或禁用端点来确定该端点是否出现在服务目录中。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新端点。

返回类型:

keystoneclient.v3.endpoints.Endpoint

keystoneclient.v3.groups 模块

class keystoneclient.v3.groups.Group(manager, info, loaded=False)

基类: Resource

表示一个身份用户组。

属性
  • id: 标识组的 uuid

  • name: 组名

  • description: 组描述

update(name=None, description=None)
class keystoneclient.v3.groups.GroupManager(client)

基类: CrudManager

用于操作身份组的管理类。

collection_key = 'groups'
create(name, domain=None, description=None, **kwargs)

创建一个组。

参数:
  • name (str) – 组的名称。

  • domain (str 或 keystoneclient.v3.domains.Domain) – 组的域。

  • description (str) – 组的描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建组。

返回类型:

keystoneclient.v3.groups.Group

delete(group)

删除一个组。

参数:

group (str 或 keystoneclient.v3.groups.Group) – 要在服务器上删除的组。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(group)

检索组。

参数:

group (str 或 keystoneclient.v3.groups.Group) – 要从服务器检索的组。

返回值:

从服务器返回的指定组。

返回类型:

keystoneclient.v3.groups.Group

key = 'group'
list(user=None, domain=None, **kwargs)

列出组。

参数:
返回值:

组列表。

返回类型:

keystoneclient.v3.groups.Group 的列表。

resource_class

Group 的别名

update(group, name=None, description=None, **kwargs)

更新组。

参数:
  • group (str 或 keystoneclient.v3.groups.Group) – 要在服务器上更新的组。

  • name (str) – 组的新名称。

  • description (str) – 组的新描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新组。

返回类型:

keystoneclient.v3.groups.Group

keystoneclient.v3.limits 模块

class keystoneclient.v3.limits.Limit(manager, info, loaded=False)

基类: Resource

表示一个项目限制。

属性
  • id: 标识项目限制的 UUID

  • service_id: 标识限制服务的 UUID

  • region_id: 标识限制区域的 UUID

  • project_id: 标识限制项目的 UUID

  • resource_name: 要限制的资源的名称

  • resource_limit: 应用于项目的限制

  • description: 项目限制的描述

class keystoneclient.v3.limits.LimitManager(client)

基类: CrudManager

项目限制的管理类。

collection_key = 'limits'
create(project, service, resource_name, resource_limit, description=None, region=None, **kwargs)

创建项目特定的限制。

参数:
返回值:

创建的限制的引用

返回类型:

keystoneclient.v3.limits.Limit

delete(limit)

删除项目特定的限制。

参数:

limit (str 或 keystoneclient.v3.limit.Limit) – 要删除的项目特定的限制。

返回值:

响应对象,状态码为 204

返回类型:

requests.models.Response

get(limit)

检索项目限制。

参数:

limit (str 或 keystoneclient.v3.limit.Limit) – 要检索的项目特定的限制。

返回值:

一个项目特定的限制

返回类型:

keystoneclient.v3.limit.Limit

key = 'limit'
list(service=None, region=None, resource_name=None, **kwargs)

列出项目特定的限制。

提供的任何参数都将作为过滤器传递给服务器

参数:
返回值:

项目特定限制的列表。

返回类型:

keystoneclient.v3.limits.Limit 的列表

resource_class

Limit 的别名

update(limit, project=None, service=None, resource_name=None, resource_limit=None, description=None, **kwargs)

更新项目特定的限制。

参数:
  • limit – 要更新的限制

  • project (str 或 keystoneclient.v3.projects.Project) – 要更新限制的项目 ID

  • resource_limit – 要更新限制资源的限制值

  • description (str) – 限制的描述

类型:

resource_limit: int

返回值:

已更新限制的引用。

返回类型:

keystoneclient.v3.limits.Limit

keystoneclient.v3.policies 模块

class keystoneclient.v3.policies.Policy(manager, info, loaded=False)

基类: Resource

表示一个身份策略。

属性
  • id: 标识策略的 uuid

  • blob: 策略文档(blob)

  • type: 策略 blob 的 MIME 类型

update(blob=None, type=None)
class keystoneclient.v3.policies.PolicyManager(client)

基类: CrudManager

用于操作身份策略的管理类。

collection_key = 'policies'
create(blob, type='application/json', **kwargs)

创建策略。

参数:
  • blob (str) – 策略文档。

  • type (str) – 策略 blob 的 MIME 类型。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建策略。

返回类型:

keystoneclient.v3.policies.Policy

delete(policy)

删除策略。

参数:

policy (str 或 keystoneclient.v3.policies.Policy) – 要在服务器上删除的策略。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(policy)

检索策略。

参数:

policy (str 或 keystoneclient.v3.policies.Policy) – 要从服务器检索的策略。

返回值:

从服务器返回的指定策略。

返回类型:

keystoneclient.v3.policies.Policy

key = 'policy'
list(**kwargs)

列出策略。

参数:

kwargs – 允许传递服务器支持的过滤条件。

返回值:

策略列表。

返回类型:

keystoneclient.v3.policies.Policy 的列表。

resource_class

Policy 的别名

update(policy, blob=None, type=None, **kwargs)

更新策略。

参数:
  • policy (str 或 keystoneclient.v3.policies.Policy) – 要在服务器上更新的策略。

  • blob (str) – 新的策略文档。

  • type (str) – 新的策略 blob 的 MIME 类型。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新策略。

返回类型:

keystoneclient.v3.policies.Policy

keystoneclient.v3.projects 模块

class keystoneclient.v3.projects.Project(manager, info, loaded=False)

基类: Resource

表示一个身份项目。

属性
  • id: 标识项目的 uuid

  • name: 项目名称

  • description: 项目描述

  • enabled: 布尔值,指示项目是否已启用

  • parent_id: 标识此项目在层次结构中的父级的 uuid

  • parents: 一个列表或结构化字典,包含此项目的父级

    project in the hierarchy

  • subtree: 一个列表或结构化字典,包含此项目的子树

    project in the hierarchy

add_tag(tag)
check_tag(tag)
delete_all_tags()
delete_tag(tag)
list_tags()
update(name=None, description=None, enabled=None)
update_tags(tags)
class keystoneclient.v3.projects.ProjectManager(client)

基类: CrudManager

用于操作身份项目管理类。

add_tag(project, tag)

为项目添加标签。

参数:
  • project – 要添加标签的项目。

  • tag – 要添加标签的字符串名称。

check_tag(project, tag)

检查标签是否与项目关联。

参数:
  • project – 要检查标签的项目。

  • tag – 要检查的标签的字符串名称

返回值:

如果标签已关联,则返回 true,否则返回 false

collection_key = 'projects'
create(name, domain, description=None, enabled=True, parent=None, **kwargs)

创建项目。

参数:
返回值:

从服务器返回的已创建项目。

返回类型:

keystoneclient.v3.projects.Project

delete(project)

删除项目。

参数:

project (str 或 keystoneclient.v3.projects.Project) – 要在服务器上删除的项目。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

delete_tag(project, tag)

从项目中移除标签。

参数:
  • projectd – 要从中移除标签的项目。

  • tag – 要从项目中移除的标签的字符串名称

find(**kwargs)

查找与 **kwargs 匹配属性的单个项目。

get(project, subtree_as_list=False, parents_as_list=False, subtree_as_ids=False, parents_as_ids=False)

检索项目。

参数:
  • project (str 或 keystoneclient.v3.projects.Project) – 要从服务器检索的项目。

  • subtree_as_list (bool) – 以平坦列表的形式检索此项目下方的项目。它仅包含当前用户拥有角色分配的项目。

  • parents_as_list (bool) – 以平坦列表的形式检索此项目上方的项目。它仅包含当前用户拥有角色分配的项目。

  • subtree_as_ids (bool) – 以结构化字典的形式检索此项目下方的项目 ID。

  • parents_as_ids (bool) – 以结构化字典的形式检索此项目上方的项目 ID。

返回值:

从服务器返回的指定项目。

返回类型:

keystoneclient.v3.projects.Project

引发:

keystoneclient.exceptions.ValidationError – 如果在调用中同时包含 subtree_as_list 和 subtree_as_ids,或 parents_as_list 和 parents_as_ids。

key = 'project'
list(domain=None, user=None, parent=None, **kwargs)

列出项目。

参数:
  • domain (str 或 keystoneclient.v3.domains.Domain) – 用于过滤项目的域。

  • user (str 或 keystoneclient.v3.users.User) – 过滤指定用户拥有角色分配的项目。

  • parent (str 或 keystoneclient.v3.projects.Project) – 过滤作为指定项目父级的项目

  • kwargs – 提供的任何其他属性都将用于过滤项目。项目标签过滤关键字: tags, tags_any, not_tags, 和 not_tags_any。标签属性类型为字符串。传递逗号分隔的字符串以过滤多个标签。

返回值:

项目列表。

返回类型:

list of keystoneclient.v3.projects.Project

list_tags(project)

列出与项目关联的标签。

参数:

project – 要列出标签的项目。

返回值:

标签名称字符串列表

resource_class

Project 的别名

update(project, name=None, domain=None, description=None, enabled=None, **kwargs)

更新项目。

参数:
返回值:

从服务器返回的已更新项目。

返回类型:

keystoneclient.v3.projects.Project

update_tags(project, tags)

更新项目的标签列表。

用 tags 参数中指定的列表替换当前标签列表。

参数:
  • project – 要更新的项目。

  • tags – 要添加到项目中的标签名称字符串列表

返回值:

标签列表

keystoneclient.v3.regions 模块

class keystoneclient.v3.regions.Region(manager, info, loaded=False)

基类: Resource

表示一个目录区域。

属性
  • id: 标识区域的字符串。

  • description: 描述区域的字符串。

  • parent_region_id: 后端中预先存在的区域或其 ID

    字段。允许进行分层区域组织。

  • enabled: 确定区域是否出现在目录中。

class keystoneclient.v3.regions.RegionManager(client)

基类: CrudManager

用于操作身份区域的管理类。

collection_key = 'regions'
create(id=None, description=None, enabled=True, parent_region=None, **kwargs)

创建区域。

参数:
  • id (str) – 区域的唯一标识符。如果未指定,服务器将创建一个 ID。

  • description (str) – 区域的描述。

  • enabled (bool) – 区域是否启用,决定其是否出现在目录中。

  • parent_region (str 或 keystoneclient.v3.regions.Region) – 区域在层次结构中的父级。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已创建区域。

返回类型:

keystoneclient.v3.regions.Region

delete(region)

删除区域。

参数:

region (str 或 keystoneclient.v3.regions.Region) – 要在服务器上删除的区域。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(region)

检索区域。

参数:

region (str 或 keystoneclient.v3.regions.Region) – 要从服务器检索的区域。

返回值:

从服务器返回的指定区域。

返回类型:

keystoneclient.v3.regions.Region

key = 'region'
list(**kwargs)

列出区域。

参数:

kwargs – 提供的任何属性都将用于过滤区域。

返回值:

区域列表。

返回类型:

keystoneclient.v3.regions.Region 的列表。

resource_class

Region 的别名

update(region, description=None, enabled=None, parent_region=None, **kwargs)

更新区域。

参数:
  • region (str 或 keystoneclient.v3.regions.Region) – 要在服务器上更新的区域。

  • description (str) – 区域的新描述。

  • enabled (bool) – 通过启用或禁用区域来确定该区域是否出现在目录中。

  • parent_region (str 或 keystoneclient.v3.regions.Region) – 区域在层次结构中的新父级。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

从服务器返回的已更新区域。

返回类型:

keystoneclient.v3.regions.Region

keystoneclient.v3.registered_limits 模块

class keystoneclient.v3.registered_limits.RegisteredLimit(manager, info, loaded=False)

基类: Resource

表示一个已注册的限制。

属性
  • id: 标识已注册限制的 UUID

  • service_id: 标识限制服务的 UUID

  • region_id: 标识限制区域的 UUID

  • resource_name: 要限制的资源的名称

  • default_limit: 项目假定的默认限制

  • description: 已注册限制的描述

class keystoneclient.v3.registered_limits.RegisteredLimitManager(client)

基类: CrudManager

已注册限制的管理类。

collection_key = 'registered_limits'
create(service, resource_name, default_limit, description=None, region=None, **kwargs)

创建已注册的限制。

参数:
  • service (str) – 标识限制服务的 UUID。

  • resource_name (str) – 要限制的资源的名称。

  • default_limit (int) – 项目假定的默认限制。

  • description (str) – 描述限制的字符串

  • region (str) – 标识限制区域的 UUID。

返回值:

已创建的已注册限制的引用。

返回类型:

keystoneclient.v3.registered_limits.RegisteredLimit

delete(registered_limit)

删除已注册的限制。

参数:

registered_limit (str 或 keystoneclient.v3.registered_limits.RegisteredLimit) – 要删除的已注册限制。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(registered_limit)

检索已注册的限制。

参数:

registered_limit (str 或 keystoneclient.v3.registered_limits.RegisteredLimit) – 要获取的已注册限制。

返回值:

一个特定的已注册限制。

返回类型:

keystoneclient.v3.registered_limits.RegisteredLimit

key = 'registered_limit'
list(service=None, resource_name=None, region=None, **kwargs)

列出已注册限制。

提供的任何参数都将作为过滤器传递给服务器。

参数:
返回值:

已注册限制的列表。

返回类型:

keystoneclient.v3.registered_limits.RegisteredLimit 的列表

resource_class

RegisteredLimit 的别名

update(registered_limit, service=None, resource_name=None, default_limit=None, description=None, region=None, **kwargs)

更新已注册的限制。

参数:
  • registered_limit – 要更新的已注册限制的 UUID 或引用。

  • registered_limit – str 或 keystoneclient.v3.registered_limits.RegisteredLimit

  • service (str) – 标识限制服务的 UUID。

  • resource_name (str) – 要限制的资源的名称。

  • default_limit (int) – 项目假定的默认限制。

  • description (str) – 描述限制的字符串

  • region (str) – 标识限制区域的 UUID。

返回值:

已更新的已注册限制的引用。

返回类型:

keystoneclient.v3.registered_limits.RegisteredLimit

keystoneclient.v3.role_assignments 模块

class keystoneclient.v3.role_assignments.RoleAssignment(manager, info, loaded=False)

基类: Resource

表示一个身份角色分配。

属性
  • role: 包含角色 uuid 的对象

  • user or group: 包含用户或用户对象的对象

    group uuid

  • scope: 包含项目或域对象的对象

    包含 uuid

class keystoneclient.v3.role_assignments.RoleAssignmentManager(client)

基类: CrudManager

用于操作身份角色分配的管理类。

collection_key = 'role_assignments'
create(**kwargs)
delete(**kwargs)
find(**kwargs)

查找与 **kwargs 匹配属性的单个项目。

get(**kwargs)
key = 'role_assignment'
list(user=None, group=None, project=None, domain=None, system=False, role=None, effective=False, os_inherit_extension_inherited_to=None, include_subtree=False, include_names=False)

列出角色分配。

如果不提供任何参数,将列出系统中所有的角色分配。

如果同时提供了 user 和 group,将引发 ValidationError。如果同时提供了 domain 和 project,也将引发 ValidationError。

参数:
  • user – 用于查询过滤的用户。(可选)

  • group – 用于查询过滤的组。(可选)

  • project – 用于查询过滤的项目。(可选)

  • domain – 用于查询过滤的域。(可选)

  • system – 用于过滤系统分配的布尔值。(可选)

  • role – 用于查询过滤的角色。(可选)

  • effective (boolean) – 返回有效角色分配。(可选)

  • os_inherit_extension_inherited_to (string) – 返回‘projects’或‘domains’的继承角色分配。(可选)

  • include_subtree (boolean) – 包括子树(可选)

  • include_names (boolean) – 显示名称而不是 ID。(可选)

put(**kwargs)
resource_class

alias of RoleAssignment

update(**kwargs)

keystoneclient.v3.roles module

class keystoneclient.v3.roles.InferenceRule(manager, info, loaded=False)

基类: Resource

表示一个规则,该规则说明一个角色可以推断出另一个角色。

属性
  • prior_role: 此角色推断出其他角色

  • implied_role: 此角色被其他角色推断

class keystoneclient.v3.roles.InferenceRuleManager(client)

基类: CrudManager

用于操作身份推断规则的管理类。

check(prior_role, implied_role)

检查推断规则是否存在。

有效的 HTTP 返回码

  • 204: 规则推断存在

  • 404: 找不到角色

参数:
  • prior_role – 推断 implied_role 的角色。

  • implied_role – 被 prior_role 推断的角色。

返回值:

服务器返回的具有 204 状态的响应对象。

返回类型:

requests.models.Response

collection_key = 'role_inferences'
create(prior_role, implied_role)

创建推断规则。

推断规则由两个角色组成,一个先导角色和一个推断角色。先导角色将推断出推断角色。

有效的 HTTP 返回码

  • 201: 资源创建成功

  • 404: 找不到角色

  • 409: 推断规则已存在

参数:
  • prior_role – 推断 implied_role 的角色。

  • implied_role – 被 prior_role 推断的角色。

返回值:

服务器返回的新创建的角色推断。

返回类型:

keystoneclient.v3.roles.InferenceRule

delete(prior_role, implied_role)

删除推断规则。

删除推断规则时,需要两个角色。请注意,两个角色都不会被删除,只会解除推断关系。

有效的 HTTP 返回码

  • 204: 删除请求已接受

  • 404: 找不到角色

参数:
  • prior_role – 推断 implied_role 的角色。

  • implied_role – 被 prior_role 推断的角色。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

find(**kwargs)

查找与 **kwargs 匹配属性的单个项目。

get(prior_role, implied_role)

检索推断规则。

有效的 HTTP 返回码

  • 200: 返回推断规则

  • 404: 找不到角色

参数:
  • prior_role – 推断 implied_role 的角色。

  • implied_role – 被 prior_role 推断的角色。

返回值:

服务器返回的指定的角色推断。

返回类型:

keystoneclient.v3.roles.InferenceRule

key = 'role_inference'
list(prior_role)

列出某个角色可能推断出的所有角色。

有效的 HTTP 返回码

  • 200: 返回推断规则列表

  • 404: 找不到角色

参数:

prior_role – 推断 implied_role 的角色。

返回值:

服务器返回的指定的角色推断。

返回类型:

keystoneclient.v3.roles.InferenceRule

list_inference_roles()

列出所有推断规则。

有效的 HTTP 返回码

  • 200: 返回所有推断规则

参数:

kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

推断规则列表。

返回类型:

list of keystoneclient.v3.roles.InferenceRule

put(**kwargs)
resource_class

alias of InferenceRule

update(**kwargs)
class keystoneclient.v3.roles.Role(manager, info, loaded=False)

基类: Resource

表示一个身份角色。

属性
  • id: 标识角色的 UUID

  • name: 用户可见的标识符

  • domain: 角色的可选域

class keystoneclient.v3.roles.RoleManager(client)

基类: CrudManager

用于操作身份角色的管理类。

check(role, user=None, group=None, system=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs)

检查用户或组是否在域或项目上拥有角色。

参数:
  • user (str or keystoneclient.v3.users.User) – 检查指定用户在资源上的角色授予。必须指定域或项目。用户和组是互斥的。

  • group (str or keystoneclient.v3.groups.Group) – 检查指定组在资源上的角色授予。必须指定域或项目。用户和组是互斥的。

  • system (str) – 检查系统上的角色授予。项目、域和系统是互斥的。

  • domain (str or keystoneclient.v3.domains.Domain) – 检查指定域上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • project (str or keystoneclient.v3.projects.Project) – 检查指定项目上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • os_inherit_extension_inherited (bool) – 将使用 OS-INHERIT。它提供了项目从其域或层次结构中的父项目继承角色分配的能力。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

如果指定的角色存在,则从服务器返回。

返回类型:

keystoneclient.v3.roles.Role

返回值:

如果指定的角色不存在,则返回 204 状态的响应对象。

返回类型:

requests.models.Response

check_implied(prior_role, implied_role, **kwargs)
collection_key = 'roles'
create(name, domain=None, **kwargs)

创建角色。

参数:
  • name (str) – 角色的名称。

  • domain (str or keystoneclient.v3.domains.Domain) – 角色的域。如果提供了值,则为域范围的角色,否则为全局角色。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的创建的角色。

返回类型:

keystoneclient.v3.roles.Role

create_implied(prior_role, implied_role, **kwargs)
delete(role)

删除角色。

删除角色时,所有以该角色为先导角色的推断规则都将被删除。

参数:

role (str or keystoneclient.v3.roles.Role) – 要在服务器上删除的角色。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

delete_implied(prior_role, implied_role, **kwargs)
deprecation_msg = 'keystoneclient.v3.roles.InferenceRuleManager'
get(role)

检索角色。

参数:

role (str or keystoneclient.v3.roles.Role) – 要从服务器检索的角色。

返回值:

服务器返回的指定角色。

返回类型:

keystoneclient.v3.roles.Role

get_implied(prior_role, implied_role, **kwargs)
grant(role, user=None, group=None, system=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs)

向域或项目上的用户或组授予角色。

参数:
  • role (str or keystoneclient.v3.roles.Role) – 要在服务器上授予的角色。

  • user (str or keystoneclient.v3.users.User) – 要授予资源上的指定用户。必须指定域或项目。用户和组是互斥的。

  • group (str or keystoneclient.v3.groups.Group) – 要授予资源上的指定组。必须指定域或项目。用户和组是互斥的。

  • system (str) – 要在其中授予角色的系统信息。项目、域和系统是互斥的。

  • domain (str or keystoneclient.v3.domains.Domain) – 将授予角色的域。必须指定用户或组。项目、域和系统是互斥的。

  • project (str or keystoneclient.v3.projects.Project) – 将授予角色的项目。必须指定用户或组。项目、域和系统是互斥的。

  • os_inherit_extension_inherited (bool) – 将使用 OS-INHERIT。它提供了项目从其域或层次结构中的父项目继承角色分配的能力。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的已授予角色。

返回类型:

keystoneclient.v3.roles.Role

key = 'role'
list(user=None, group=None, system=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs)

列出角色和角色授予。

参数:
  • user (str or keystoneclient.v3.users.User) – 过滤指定用户在资源上的角色授予。必须指定域或项目。用户和组是互斥的。

  • group (str or keystoneclient.v3.groups.Group) – 过滤指定组在资源上的角色授予。必须指定域或项目。用户和组是互斥的。

  • domain (str or keystoneclient.v3.domains.Domain) – 过滤指定域上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • project (str or keystoneclient.v3.projects.Project) – 过滤指定项目上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • os_inherit_extension_inherited (bool) – 将使用 OS-INHERIT。它提供了项目从其域或层次结构中的父项目继承角色分配的能力。

  • kwargs – 提供的任何其他属性都将用于过滤角色。

返回值:

角色列表。

返回类型:

list of keystoneclient.v3.roles.Role

list_role_inferences(**kwargs)
resource_class

alias of Role

revoke(role, user=None, group=None, system=None, domain=None, project=None, os_inherit_extension_inherited=False, **kwargs)

从域或项目上的用户或组撤销角色。

参数:
  • user (str or keystoneclient.v3.users.User) – 从资源上撤销指定用户的角色授予。必须指定域或项目。用户和组是互斥的。

  • group (str or keystoneclient.v3.groups.Group) – 从资源上撤销指定组的角色授予。必须指定域或项目。用户和组是互斥的。

  • system (str) – 撤销系统上的角色授予。项目、域和系统是互斥的。

  • domain (str or keystoneclient.v3.domains.Domain) – 撤销指定域上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • project (str or keystoneclient.v3.projects.Project) – 撤销指定项目上的角色授予。必须指定用户或组。项目、域和系统是互斥的。

  • os_inherit_extension_inherited (bool) – 将使用 OS-INHERIT。它提供了项目从其域或层次结构中的父项目继承角色分配的能力。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的已撤销角色。

返回类型:

list of keystoneclient.v3.roles.Role

update(role, name=None, **kwargs)

更新角色。

参数:
  • role (str or keystoneclient.v3.roles.Role) – 要在服务器上更新的角色。

  • name (str) – 角色的新名称。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的已更新角色。

返回类型:

keystoneclient.v3.roles.Role

keystoneclient.v3.services module

class keystoneclient.v3.services.Service(manager, info, loaded=False)

基类: Resource

表示一个身份服务。

属性
  • id: 标识服务的 UUID

  • name: 服务的用户可见名称(例如 Keystone)

  • description: 服务的描述

  • type: 服务的类型(例如‘compute’、‘identity’)

  • enabled: 决定服务是否显示在目录中

class keystoneclient.v3.services.ServiceManager(client)

基类: CrudManager

用于操作身份服务的管理类。

collection_key = 'services'
create(name, type=None, enabled=True, description=None, **kwargs)

创建服务。

参数:
  • name (str) – 服务的名称。

  • type (str) – 服务的类型。

  • enabled (bool) – 服务是否显示在目录中。

  • description (str) – 服务的描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的创建的服务。

返回类型:

keystoneclient.v3.services.Service

delete(service=None, id=None)

删除一个服务。

参数:

service (str or keystoneclient.v3.services.Service) – 要在服务器上删除的服务。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(service)

检索服务。

参数:

service (str or keystoneclient.v3.services.Service) – 要从服务器检索的服务。

返回值:

服务器返回的指定服务。

返回类型:

keystoneclient.v3.services.Service

key = 'service'
list(name=None, type=None, **kwargs)

列出服务。

参数:
  • name (str) – 用于过滤服务的名称。

  • type (str) – 用于过滤服务的类型。

  • kwargs – 提供的任何其他属性都将用于过滤服务。

返回值:

服务列表。

返回类型:

list of keystoneclient.v3.services.Service

resource_class

alias of Service

update(service, name=None, type=None, enabled=None, description=None, **kwargs)

更新服务。

参数:
  • service (str or keystoneclient.v3.services.Service) – 要在服务器上更新的服务。

  • name (str) – 服务的新名称。

  • type (str) – 服务的新类型。

  • enabled (bool) – 服务是否显示在目录中。

  • description (str) – 服务的新描述。

  • kwargs – 提供的任何其他属性都将传递给服务器。

返回值:

服务器返回的已更新服务。

返回类型:

keystoneclient.v3.services.Service

keystoneclient.v3.system module

class keystoneclient.v3.system.System(manager, info, loaded=False)

基类: Resource

表示部署系统,包含所有服务。

属性
  • all: boolean

keystoneclient.v3.tokens module

class keystoneclient.v3.tokens.TokenManager(client)

基类: object

用于操作身份令牌的管理类。

get_revoked(audit_id_only=False)

获取已撤销的令牌列表。

参数:

audit_id_only (bool) – 如果为 true,则请求服务器不发送令牌 ID,而是只发送审计 ID。2.2.0 版本新增。

返回值:

一个包含 signed 的字典,如果服务器已签名响应,则 signed 是 CMS 格式的字符串。如果 audit_id_only 为 true,则响应可能是一个包含 revoked 的字典,其中 revoked 是令牌审计 ID 和到期时间的列表。

返回类型:

dict

get_token_data(token, include_catalog=True, allow_expired=False, access_rules_support=None)

从身份服务器获取有关令牌的数据。

参数:
  • token (str) – 要获取的令牌的 ID。

  • include_catalog (bool) – 是否在响应中包含服务目录。

  • allow_expired – 如果为 True,则令牌将被验证并返回,即使它已过期。

  • access_rules_support (float) – 表示客户端有能力强制执行 keystone 访问规则的版本号,如果未设置,则此客户端不支持访问规则。

返回类型:

dict

revoke_token(token)

撤销令牌。

参数:

token (str or keystoneclient.access.AccessInfo) – 要撤销的令牌。

validate(token, include_catalog=True, allow_expired=False, access_rules_support=None)

验证令牌。

参数:
  • token (str or keystoneclient.access.AccessInfo) – 要验证的令牌。

  • include_catalog – 如果为 False,则请求响应不包含目录。

  • allow_expired (bool) – 如果为 True,则令牌将被验证并返回,即使它已过期。

  • access_rules_support (float) – 表示客户端有能力强制执行 keystone 访问规则的版本号,如果未设置,则此客户端不支持访问规则。

返回类型:

keystoneclient.access.AccessInfoV3

keystoneclient.v3.users module

class keystoneclient.v3.users.User(manager, info, loaded=False)

基类: Resource

表示一个身份用户。

属性
  • id: 标识用户的 UUID

class keystoneclient.v3.users.UserManager(client)

基类: CrudManager

用于操作身份用户的管理类。

add_to_group(user, group)

将指定用户添加为指定组的成员。

参数:
返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

check_in_group(user, group)

检查指定用户是否是指定组的成员。

参数:
返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

collection_key = 'users'
create(name, domain=None, project=None, password=None, email=None, description=None, enabled=True, default_project=None, **kwargs)

创建一个用户。

参数:
返回值:

服务器返回的创建的用户。

返回类型:

keystoneclient.v3.users.User

警告

project 参数自 1.7.0 版本起已弃用,取而代之的是 default_project,并可能在 2.0.0 版本中删除。

如果同时提供了 default_project 和 project,将使用 default_project。

delete(user)

删除用户。

参数:

user (str or keystoneclient.v3.users.User) – 要在服务器上删除的用户。

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

get(user)

检索用户。

参数:

user (str or keystoneclient.v3.users.User) – 要从服务器检索的用户。

返回值:

服务器返回的指定用户。

返回类型:

keystoneclient.v3.users.User

key = 'user'
list(project=None, domain=None, group=None, default_project=None, **kwargs)

列出用户。

参数:
返回值:

用户列表。

返回类型:

list of keystoneclient.v3.users.User

警告

project 参数自 1.7.0 版本起已弃用,取而代之的是 default_project,并可能在 2.0.0 版本中删除。

如果同时提供了 default_project 和 project,将使用 default_project。

remove_from_group(user, group)

将指定用户从指定组中移除。

参数:
返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

resource_class

alias of User

update(user, name=None, domain=None, project=None, password=None, email=None, description=None, enabled=None, default_project=None, **kwargs)

更新用户。

参数:
返回值:

服务器返回的已更新用户。

返回类型:

keystoneclient.v3.users.User

警告

project 参数自 1.7.0 版本起已弃用,取而代之的是 default_project,并可能在 2.0.0 版本中删除。

如果同时提供了 default_project 和 project,将使用 default_project。

update_password(old_password, new_password)

更新令牌所属用户的密码。

参数:
  • old_password (str) – 用户的旧密码

  • new_password (str) – 用户的新密码

返回值:

带有 204 状态码的响应对象。

返回类型:

requests.models.Response

Module contents