keystone.exception module

exception keystone.exception.AccessRuleNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到访问规则: %(access_rule_id)s.'
exception keystone.exception.AccountLocked(message=None, **kwargs)[source]

基类: Unauthorized

message_format: str | None = '账户已被锁定,用户: %(user_id)s.'
exception keystone.exception.AdditionalAuthRequired(auth_response=None, **kwargs)[source]

基类: AuthPluginException

message_format: str | None = '需要额外的身份验证步骤.'
exception keystone.exception.AmbiguityError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = "存在多个名为 '%(name)s' 的 %(resource)s 实体。请使用 ID 而不是名称来消除歧义。"
exception keystone.exception.ApplicationCredentialAuthError(*args, **kwargs)[source]

基类: AuthPluginException

message_format: str | None = '使用应用程序凭据进行身份验证时出错: %(detail)s'
exception keystone.exception.ApplicationCredentialLimitExceeded(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法创建额外的应用程序凭据,已超过用户限制 %(limit)d 个.'
exception keystone.exception.ApplicationCredentialNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到应用程序凭据: %(application_credential_id)s.'
exception keystone.exception.ApplicationCredentialValidationError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '无效的应用程序凭据: %(detail)s'
exception keystone.exception.AssignmentTypeCalculationError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '授权属性的意外组合 - 用户: %(user_id)s, 组: %(group_id)s, 项目: %(project_id)s, 域: %(domain_id)s.'
exception keystone.exception.AuthMethodNotSupported(*args, **kwargs)[source]

基类: AuthPluginException

message_format: str | None = '尝试使用不受支持的方法进行身份验证.'
exception keystone.exception.AuthPluginException(*args, **kwargs)[source]

基类: Unauthorized

message_format: str | None = '身份验证插件错误.'
异常 keystone.exception.CacheDeserializationError(obj, data)[source]

基础: Exception

异常 keystone.exception.CircularRegionHierarchyError(message=None, **kwargs)[source]

基础: Error

code: int | None = 400
message_format: str | None = '指定的父区域 %(parent_region_id)s 将创建一个循环区域层次结构。'
title: str | None = '错误请求'
异常 keystone.exception.ConfigFileNotFound(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = 'Keystone 配置文件 %(config_file)s 找不到。'
异常 keystone.exception.ConfigRegistrationNotFound[source]

基础: Exception

异常 keystone.exception.Conflict(message=None, **kwargs)[source]

基础: Error

code: int | None = 409
message_format: str | None = '存储 %(type)s 时发生冲突 - %(details)s。'
title: str | None = '冲突'
异常 keystone.exception.CredentialEncryptionError[source]

基础: Exception

message_format = '意外错误阻止服务器访问加密凭据。'
异常 keystone.exception.CredentialLimitExceeded(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法创建更多凭据,已超过用户限制 %(limit)d。'
异常 keystone.exception.CredentialNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到凭据:%(credential_id)s。'
异常 keystone.exception.CrossBackendNotAllowed(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '跨后端组成员关系不允许。问题中的组是 %(group_id)s,用户是 %(user_id)s。'
异常 keystone.exception.DirectMappingError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '映射 %(mapping_id)s 中的本地部分引用了一个不存在的远程匹配项(例如,本地部分中的 {0})。'
异常 keystone.exception.DomainConfigNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '无法在域 %(domain_id)s 的域配置中找到 %(group_or_option)s。'
异常 keystone.exception.DomainIdInvalid(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '域 ID 不符合所需的 UUID 格式。'
异常 keystone.exception.DomainNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到域:%(domain_id)s。'
异常 keystone.exception.DomainSpecificRoleMismatch(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '项目 %(project_id)s 必须 被分配的角色 %(role_id)s 位于 同一域中。'
exception keystone.exception.DomainSpecificRoleNotWithinIdPDomain(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '角色: %(role_name)s 必须 身份提供者: %(identity_provider)s 位于 同一域中。'
exception keystone.exception.EndpointGroupNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到端点组: %(endpoint_group_id)s。'
exception keystone.exception.EndpointNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到端点: %(endpoint_id)s。'
exception keystone.exception.Error(message=None, **kwargs)[source]

基础: Exception

基础错误类。

子类应定义 HTTP 状态码、标题和 message_format。

code: int | None = None
message_format: str | None = None
title: str | None = None
exception keystone.exception.FederatedProtocolNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到联合协议 %(protocol_id)s 的身份提供者: %(idp_id)s。'
exception keystone.exception.Forbidden(message=None, **kwargs)[source]

Bases: SecurityError

code: int | None = 403
message_format: str | None = '您 无权 执行 请求的操作。'
title: str | None = '禁止'
exception keystone.exception.ForbiddenAction(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '您 无权 执行 请求的操作: %(action)s。'
exception keystone.exception.ForbiddenNotSecurity(message=None, **kwargs)[source]

基础: Error

当您希望返回 403 Forbidden 响应但不涉及安全性时。

当消息始终安全地呈现给用户且不会泄露额外信息时,请使用此方法。

code: int | None = 403
title: str | None = '禁止'
exception keystone.exception.Gone(message=None, **kwargs)[source]

基础: Error

code: int | None = 410
message_format: str | None = '您 请求的服务 在此服务器上 不再可用。'
title: str | None = '已失效'
异常 keystone.exception.GroupNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到群组: %(group_id)s.'
异常 keystone.exception.IdentityProviderNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到身份提供者: %(idp_id)s.'
异常 keystone.exception.ImpliedRoleNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '%(prior_role_id)s 不包含 %(implied_role_id)s.'
异常 keystone.exception.InsufficientAuthMethods(message=None, user_id=None, methods=None)[source]

基础: Error

code: int | None = 401
message_format: str | None = '为 %(user_id)s 接收到的身份验证方法不足。提供的身份验证方法: %(methods)s.'
title: str | None = '未授权'
异常 keystone.exception.InvalidDomainConfig(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '无效的领域特定配置: %(reason)s.'
异常 keystone.exception.InvalidImpliedRole(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '%(role_id)s 不能是包含的角色.'
异常 keystone.exception.InvalidLimit(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '无效的资源限制: %(reason)s.'
异常 keystone.exception.InvalidOperatorError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = "给定的运算符 %( _op)s 无效。它必须是以下之一: 'eq', 'neq', 'lt', 'lte', 'gt', 'gte'."
异常 keystone.exception.InvalidPolicyAssociation(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '策略关联的实体混合无效: 仅允许端点、服务或区域+服务。请求为 - 端点: %(endpoint_id)s, 服务: %(service_id)s, 区域: %(region_id)s.'
异常 keystone.exception.KeysNotFound(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '未找到加密密钥; 运行 keystone-manage fernet_setup 来引导一个.'
异常 keystone.exception.LDAPInvalidCredentialsError(message=None, **kwargs)[source]

基类: UnexpectedError

message_format: str | None = '无法针对身份后端进行身份验证 - 无效的用户名或密码'
异常 keystone.exception.LDAPServerConnectionError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '无法建立与 LDAP 服务器的连接 (%(url)s).'
异常 keystone.exception.LDAPSizeLimitExceeded(message=None, **kwargs)[source]

基类: UnexpectedError

message_format: str | None = 'LDAP 返回的用户/组实体数量超过了大小限制。请联系您的 LDAP 管理员.'
异常 keystone.exception.LimitNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到ID为%(id)s的限制。'
异常 keystone.exception.LimitTreeExceedError(project_id, max_limit_depth)[source]

基础: Exception

异常 keystone.exception.MalformedEndpoint(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '格式错误的端点URL (%(endpoint)s),详情请查看ERROR日志。'
异常 keystone.exception.MappedGroupNotFound(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '映射%(mapping_id)s返回的组%(group_id)s在后端中未找到。'
异常 keystone.exception.MappingNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到映射:%(mapping_id)s。'
异常 keystone.exception.MarkerNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '无法找到标记%(marker)s。'
异常 keystone.exception.MetadataFileError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '读取元数据文件时出错:%(reason)s。'
异常 keystone.exception.MigrationNotProvided(mod_name, path)[source]

基础: Exception

异常 keystone.exception.MultipleSQLDriversInConfig(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = 'Keystone域特定配置指定了多个SQL驱动程序(仅允许一个):%(source)s。'
异常 keystone.exception.NoLimitReference(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '无法创建一个没有相应已注册限制的限制。'
异常 keystone.exception.NotFound(message=None, **kwargs)[source]

基础: Error

code: int | None = 404
message_format: str | None = '找不到:%(target)s。'
title: str | None = '未找到'
异常 keystone.exception.NotImplemented(message=None, **kwargs)[source]

基础: Error

code: int | None = 501
message_format: str | None = '您请求的操作尚未实现。'
title: str | None = '未实现'
异常 keystone.exception.OAuth2Error(code, title, error_title, message)[source]

基础: Error

异常 keystone.exception.OAuth2InvalidClient(code, title, message)[source]

基类: OAuth2Error

异常 keystone.exception.OAuth2InvalidRequest(code, title, message)[source]

基类: OAuth2Error

异常 keystone.exception.OAuth2OtherError(code, title, message)[source]

基类: OAuth2Error

exception keystone.exception.OAuth2UnsupportedGrantType(code, title, message)[source]

基类: OAuth2Error

exception keystone.exception.OAuthHeadersMissingError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '未找到 Authorization 头部,无法进行 OAuth 相关调用。如果运行在 HTTPd Apache 下,请确保 WSGIPassAuthorization 设置为 On。'
exception keystone.exception.PasswordAgeValidationError(message=None, **kwargs)[source]

Bases: PasswordValidationError

message_format: str | None = '您目前无法更改密码,因为密码最小年龄限制。更改密码后,必须使用 %(min_age_days)d 天才能再次更改。请在 %(days_left)d 天后重试,或联系您的管理员重置密码。'
exception keystone.exception.PasswordExpired(message=None, **kwargs)[source]

基类: Unauthorized

message_format: str | None = '密码已过期,需要为用户 %(user_id)s 更改。'
exception keystone.exception.PasswordHistoryValidationError(message=None, **kwargs)[source]

Bases: PasswordValidationError

message_format: str | None = '新密码不能与之前的密码相同。包含新密码在内的总数必须是唯一的数量为 %(unique_count)s。'
exception keystone.exception.PasswordRequirementsValidationError(message=None, **kwargs)[source]

Bases: PasswordValidationError

message_format: str | None = '密码不符合要求: %(detail)s。'
exception keystone.exception.PasswordSelfServiceDisabled(message=None, **kwargs)[source]

Bases: PasswordValidationError

message_format: str | None = '您目前无法更改密码,因为密码策略不允许更改密码。请联系您的管理员重置密码。'
exception keystone.exception.PasswordValidationError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '密码验证错误: %(detail)s。'
exception keystone.exception.PasswordVerificationError(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '密码长度必须小于或等于 %(size)i。服务器无法响应请求,因为密码无效。'
exception keystone.exception.PolicyAssociationNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到策略关联。'
exception keystone.exception.PolicyNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到策略: %(policy_id)s。'
exception keystone.exception.ProjectNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到项目: %(project_id)s。'
异常 keystone.exception.ProjectTagNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到项目标签: %(project_tag)s.'
异常 keystone.exception.PublicIDNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '%(id)s'
异常 keystone.exception.ReceiptNotFound(message=None, **kwargs)[source]

基类: Unauthorized

message_format: str | None = '找不到认证凭据: %(receipt_id)s.'
异常 keystone.exception.RedirectRequired(redirect_url, **kwargs)[source]

基础: Exception

用于重定向的错误类。

子类应定义一个 HTTP 重定向 URL message_format。

code = 302
redirect_url = None
异常 keystone.exception.RegionDeletionError(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法删除区域 %(region_id)s ,因为该区域或其子区域具有关联的端点。'
异常 keystone.exception.RegionNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到区域: %(region_id)s.'
异常 keystone.exception.RegisteredLimitError(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法更新或删除已注册的限制 %(id)s ,因为有项目限制与之关联。'
异常 keystone.exception.RegisteredLimitNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到已注册的限制 %(id)s.'
异常 keystone.exception.ResourceDeleteForbidden(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法删除不可变的 %(type)s 资源: `%(resource_id)s. 首先将资源选项“immutable”设置为 false。'
异常 keystone.exception.ResourceUpdateForbidden(message=None, **kwargs)[source]

基类: ForbiddenNotSecurity

message_format: str | None = '无法更新不可变的 %(type)s 资源: `%(resource_id)s. 首先将资源选项“immutable”设置为 false。'
异常 keystone.exception.RoleAssignmentNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到角色分配,角色为: %(role_id)s,用户或组为: %(actor_id)s,项目、域或系统为: %(target_id)s。'
异常 keystone.exception.RoleNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到角色: %(role_id)s。'
异常 keystone.exception.SAMLSigningError(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '无法对 SAML 断言进行签名。这可能是因为此服务器未安装 xmlsec1,或者这是配置错误的结果。原因: %(reason)s。'
异常 keystone.exception.SchemaValidationError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '%(detail)s'
异常 keystone.exception.SecurityError(message=None, **kwargs)[source]

基础: Error

安全错误异常。

除非处于不安全调试模式,否则避免暴露安全错误的详细信息。

amendment = '(禁用 insecure_debug 模式以抑制这些详细信息。)'
异常 keystone.exception.ServiceNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到服务:%(service_id)s。'
异常 keystone.exception.ServiceProviderNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到服务提供商:%(sp_id)s。'
异常 keystone.exception.StringLengthExceeded(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = "字符串长度超过限制。字符串 '%(string)s' 的长度超过列 %(type)s(CHAR(%(length)d)) 的限制。"
异常 keystone.exception.TokenNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到令牌:%(token_id)s。'
异常 keystone.exception.TokenlessAuthConfigError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '无法确定身份提供商 ID。配置选项 %(issuer_attribute)s 在请求环境中未找到。'
异常 keystone.exception.TrustConsumeMaximumAttempt(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = '无法消耗信任 %(trust_id)s。无法获取锁。'
异常 keystone.exception.TrustNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到信任:%(trust_id)s。'
异常 keystone.exception.TrustUseLimitReached(message=None, **kwargs)[source]

基础: Forbidden

message_format: str | None = '信任:%(trust_id)s 没有剩余的使用次数。'
异常 keystone.exception.URLValidationError(message=None, **kwargs)[source]

基类: ValidationError

message_format: str | None = '无法使用无效的 URL 创建端点:%(url)s。'
异常 keystone.exception.Unauthorized(message=None, **kwargs)[source]

Bases: SecurityError

code: int | None = 401
message_format: str | None = '您发起的请求需要身份验证。'
title: str | None = '未授权'
异常 keystone.exception.UnexpectedError(message=None, **kwargs)[source]

Bases: SecurityError

避免暴露失败的细节,除非在不安全调试模式下。

code: int | None = 500
debug_message_format = '一个 意外 错误 阻止了 服务器 完成 您的 请求: %(exception)s.'
message_format: str | None = '一个 意外 错误 阻止了 服务器 完成 您的 请求.'
title: str | None = '内部 服务器 错误'
异常 keystone.exception.UnsupportedTokenVersionException(message=None, **kwargs)[source]

基类: UnexpectedError

debug_message_format = 'Token 版本 无法识别 不受支持.'
异常 keystone.exception.UserDisabled(message=None, **kwargs)[source]

基类: Unauthorized

message_format: str | None = '该 帐户 禁用 用于 用户: %(user_id)s.'
异常 keystone.exception.UserNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到 用户: %(user_id)s.'
异常 keystone.exception.ValidationError(message=None, **kwargs)[source]

基础: Error

code: int | None = 400
message_format: str | None = '期望 %(target)s 中找到 %(attribute)s 服务器 无法 满足 请求,因为它 要么 格式不正确 ,要么 以其他方式 不正确。 客户端 假定 存在 错误.'
title: str | None = '请求错误'
异常 keystone.exception.ValidationExpirationError(message=None, **kwargs)[source]

基础: Error

code: int | None = 400
message_format: str | None = '“expires_at” 必须 早于 现在。 服务器 无法 满足 请求,因为它 要么 格式不正确 ,要么 以其他方式 不正确。 客户端 假定 存在 错误.'
title: str | None = '请求错误'
异常 keystone.exception.ValidationTimeStampError(message=None, **kwargs)[source]

基础: Error

code: int | None = 400
message_format: str | None = '时间戳 格式 不正确。 服务器 无法 满足 请求,因为它 要么 格式不正确 ,要么 以其他方式 不正确。 客户端 假定 存在 错误.'
title: str | None = '请求错误'
异常 keystone.exception.VersionNotFound(message=None, **kwargs)[source]

基类: NotFound

message_format: str | None = '找不到 版本: %(version)s.'