数据库 API

有关如何使用数据库的详细信息,请参阅 使用 OpenStack 数据库

数据库类

数据库高级接口可通过 Connection 对象的 database 成员获得。只有检测到服务时,才会添加 database 成员。

数据库操作

class openstack.database.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
创建数据库(实例, **属性)

从属性创建新的数据库

参数:
  • 实例 – 这可以是实例的 ID,也可以是 Instance

  • 属性 (dict) – 关键字参数,将用于创建 Database,包含 Database 类上的属性。

返回值:

服务器创建的结果

返回类型:

数据库

删除数据库(数据库, 实例=None, 忽略缺失=True)

删除数据库

参数:
  • 数据库 – 该值可以是数据库的 ID,也可以是 Database 实例。

  • 实例 – 当将 ID 作为 数据库 提供时,需要指定此参数。它可以是实例的 ID,也可以是 Instance

  • 忽略缺失 (bool) – 当设置为 False 时,如果数据库不存在,将引发 NotFoundException。当设置为 True 时,尝试删除不存在的数据库时不会设置任何异常。

返回值:

查找数据库(名称或 ID, 实例, 忽略缺失=True)

查找单个数据库

参数:
  • 名称或 ID – 数据库的名称或 ID。

  • 实例 – 这可以是实例的 ID,也可以是 Instance

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

返回值:

一个 Database 或 None

数据库(实例, **查询)

返回数据库生成器

参数:
  • 实例 – 这可以是实例的 ID,也可以是 Instance 实例,该接口属于该实例。

  • query (kwargs) – 可选的查询参数,用于限制返回的资源。

返回值:

数据库对象生成器

返回类型:

数据库

获取数据库(数据库, 实例=None)

获取单个数据库

参数:
  • 实例 – 当将 ID 作为 数据库 提供时,需要指定此参数。它可以是实例的 ID,也可以是 Instance

  • 数据库 – 该值可以是数据库的 ID,也可以是 Database 实例。

返回值:

一个 Database

引发:

NotFoundException,当找不到资源时。

风味操作

class openstack.database.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
查找风味(名称或 ID, 忽略缺失=True)

查找单个风味

参数:
  • 名称或 ID – 风味的名称或 ID。

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

返回值:

一个 Flavor 或 None

获取风味(风味)

获取单个风味

参数:

风味 – 该值可以是风味的 ID,也可以是 Flavor 实例。

返回值:

一个 Flavor

引发:

NotFoundException,当找不到资源时。

风味(**查询)

返回风味生成器

参数:

query (kwargs) – 可选的查询参数,用于限制返回的资源。

返回值:

风味对象生成器

返回类型:

风味

实例操作

class openstack.database.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
创建实例(**属性)

从属性创建新的实例

参数:

属性 (dict) – 关键字参数,将用于创建 Instance,包含 Instance 类上的属性。

返回值:

服务器创建的结果

返回类型:

实例

删除实例(实例, 忽略缺失=True)

删除实例

参数:
  • 实例 – 该值可以是实例的 ID,也可以是 Instance 实例。

  • 忽略缺失 (bool) – 当设置为 False 时,如果实例不存在,将引发 NotFoundException。当设置为 True 时,尝试删除不存在的实例时不会设置任何异常。

返回值:

查找实例(名称或 ID, 忽略缺失=True)

查找单个实例

参数:
  • 名称或 ID – 实例的名称或 ID。

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

返回值:

一个 Instance 或 None

获取实例(实例)

获取单个实例

参数:

实例 – 该值可以是实例的 ID,也可以是 Instance 实例。

返回值:

一个 Instance

引发:

NotFoundException,当找不到资源时。

instances(**query)

返回实例生成器

参数:

query (kwargs) – 可选的查询参数,用于限制返回的资源。

返回值:

实例对象生成器

返回类型:

实例

update_instance(instance, **attrs)

更新一个实例

参数:
  • instance – 要么是实例的 ID,要么是一个 Instance 实例。

  • attrs – 要在由 instance 表示的实例上更新的属性。

返回值:

更新后的实例

返回类型:

实例

用户操作

class openstack.database.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
create_user(instance, **attrs)

从属性创建新用户

参数:
  • 实例 – 这可以是实例的 ID,也可以是 Instance

  • attrs (dict) – 关键字参数,将用于创建一个 User,包含 User 类上的属性。

返回值:

服务器创建的结果

返回类型:

用户

delete_user(user, instance=None, ignore_missing=True)

删除一个用户

参数:
  • user – 该值可以是用户的 ID 或一个 User 实例。

  • instance – 当 user 作为 ID 提供时,需要指定此参数。它可以是实例的 ID 或一个 Instance

  • ignore_missing (bool) – 如果设置为 False,当用户不存在时将引发 NotFoundException。如果设置为 True,则在尝试删除不存在的用户时不会设置任何异常。

返回值:

find_user(name_or_id, instance, ignore_missing=True)

查找单个用户

参数:
  • name_or_id – 用户的名称或 ID。

  • 实例 – 这可以是实例的 ID,也可以是 Instance

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

返回值:

一个 User 或 None

users(instance, **query)

返回用户生成器

参数:
  • 实例 – 这可以是实例的 ID,也可以是 Instance

  • query (kwargs) – 可选的查询参数,用于限制返回的资源。

返回值:

用户对象生成器

返回类型:

用户

get_user(user, instance=None)

获取单个用户

参数:
  • user – 该值可以是用户的 ID 或一个 User 实例。

  • 实例 – 当将 ID 作为 数据库 提供时,需要指定此参数。它可以是实例的 ID,也可以是 Instance

返回值:

一个 User

引发:

NotFoundException,当找不到资源时。