ironicclient.common.utils module

class ironicclient.common.utils.HashColumn(value: _T)[source]

基础: FormattableColumn

human_readable()[source]

返回数据的基本可读版本。

class ironicclient.common.utils.HelpFormatter(prog, indent_increment=2, max_help_position=24, width=None)[source]

基础: HelpFormatter

start_section(heading)[source]
ironicclient.common.utils.args_array_to_dict(kwargs, key_to_convert)[source]

将字典条目中的值转换为字典。

从 kwargs 字典中,将 key_to_convert 条目的值从键值对列表转换为字典。

参数:
  • kwargs – 一个字典

  • key_to_convert – 键(在 kwargs 中),其值预计是一个键=值字符串列表。此值将被转换为字典。

返回值:

kwargs,修改后的字典

ironicclient.common.utils.args_array_to_patch(op, attributes)[source]
ironicclient.common.utils.bool_argument_value(arg_name, bool_str, strict=True, default=False)[source]

返回由 bool_str 表示的布尔值。

返回参数 arg_name 的布尔值。该值由字符串 bool_str 表示。如果字符串是无效的布尔字符串:如果 strict 为 True,则引发 CommandError 异常;否则返回默认值。

参数:
  • arg_name – 参数的名称

  • bool_str – 表示布尔值的字符串

  • strict – 如果字符串无效,则使用。如果为 True,则引发异常。如果为 False,则返回默认值。

  • default – 如果 bool_str 无效且 strict 为 False,则返回的默认值

返回值:

由 bool_str 表示的布尔值,或者如果 bool_str 无效且 strict 为 False,则返回默认值

引发:

CommandError – 如果 bool_str 是无效的布尔字符串

ironicclient.common.utils.check_empty_arg(arg, arg_descriptor)[source]
ironicclient.common.utils.check_for_invalid_fields(fields, valid_fields)[source]

检查无效字段。

参数:
  • fields – 用户指定的字段列表。

  • valid_fields – 有效字段列表。

引发:

CommandError – 如果用户指定了无效字段。

ironicclient.common.utils.common_filters(marker=None, limit=None, sort_key=None, sort_dir=None, fields=None, detail=False, project=None, public=None)[source]

生成任何列表请求的通用过滤器。

参数:
  • marker – 从哪个实体 ID 开始返回实体。

  • limit – 返回实体的最大数量。

  • sort_key – 用于排序的字段。

  • sort_dir – 排序方向:‘asc’ 或 ‘desc’。

  • fields – 一个指定要返回的资源字段的列表。

  • detail – 布尔值,如果为 True,则返回详细信息。此参数可用于接受 URL 参数 ‘detail’ 的资源。

返回值:

字符串过滤器列表。

ironicclient.common.utils.common_params_for_list(args, fields, field_labels)[source]

生成传递给客户端方法的 ‘params’ 字典,该字典对于每个 ‘list’ 命令都是通用的。

参数:
  • args – 命令行参数。

  • fields – 用于排序的可能字段。

  • field_labels – 用于排序的可能字段标签。

返回值:

一个包含要传递给客户端方法的参数的字典。

ironicclient.common.utils.convert_list_props_to_comma_separated(data, props=None)[source]

将列表类型的属性转换为逗号分隔的字符串

参数:
  • data – 输入的字典对象。

  • props – 属性,其值将被转换。默认值为 None,以转换输入的所有列表类型属性。

返回值:

结果字典实例。

ironicclient.common.utils.define_command(subparsers, command, callback, cmd_mapper)[source]

在 subparsers 集合中定义一个命令。

参数:
  • subparsers – 命令将进入的 subparsers 集合

  • command – 命令名称

  • callback – 用于处理命令的函数

ironicclient.common.utils.define_commands_from_module(subparsers, command_module, cmd_mapper)[source]

将模块中的 do_ 方法添加并作为 subparsers 中的命令添加。

ironicclient.common.utils.format_hash(data)[source]
ironicclient.common.utils.get_from_stdin(info_desc)[source]

从标准输入读取信息。

参数:

info_desc – 所需信息的字符串描述

引发:

如果从标准输入读取时出现问题,则引发 InvalidAttribute

返回值:

从标准输入读取的字符串

ironicclient.common.utils.get_json_data(data)[source]

检查二进制数据是否为 JSON 并进行解析(如果为)。

仅支持字典。

ironicclient.common.utils.handle_json_arg(json_arg, info_desc)[source]

从标准输入、文件或字符串读取 JSON 参数。

参数:
  • json_arg – 可能是包含 JSON 的文件名、JSON 字符串,或者表示应从标准输入读取的 ‘-’。

  • info_desc – 所需信息的字符串描述

返回值:

从 JSON 解析的列表或字典。

引发:

CommandError – 如果无法解析参数。

ironicclient.common.utils.handle_json_or_file_arg(json_arg)[source]

尝试从文件或字符串读取 JSON 参数。

参数:

json_arg – 可能是包含 YAML 或 JSON 的文件名,或者 JSON 字符串。

返回值:

从 JSON 解析的列表或字典。

引发:

CommandError – 如果无法解析参数。

ironicclient.common.utils.key_value_pairs_to_dict(key_value_pairs)[source]

将键值对列表转换为字典。

参数:

key_value_pairs – 一个字符串列表,每个字符串的形式为 <key>=<value>

返回值:

一个字典,可能为空

ironicclient.common.utils.make_configdrive(path)[source]

创建 configdrive 文件。

参数:

path – 包含 configdrive 文件的目录。

返回值:

一个经过 gzip 压缩和 base64 编码的 configdrive 字符串。

ironicclient.common.utils.poll(timeout, poll_interval, poll_delay_function, timeout_message)[source]
ironicclient.common.utils.split_and_deserialize(string)[source]

拆分并尝试 JSON 反序列化字符串。

获取一个具有 KEY=VALUE 格式的字符串,使用 ‘=’ 作为分隔符进行拆分,并尝试 JSON 反序列化 VALUE。

返回值:

一个 (key, value) 元组。

ironicclient.common.utils.tempdir(*args, **kwargs)[source]