# osc_lib.cli package

## Submodules

## osc_lib.cli.client_config module

OpenStackConfig subclass for argument compatibility

class osc_lib.cli.client_config.OSC_Config(config_files: list[str] | None = None, vendor_files: list[str] | None = None, override_defaults: dict[str, Any] | None = None, force_ipv4: bool | None = None, envvar_prefix: str | None = None, secure_files: list[str] | None = None, pw_func: _PasswordCallback | None = None, session_constructor: type[Session] | None = None, app_name: str | None = None, app_version: str | None = None, load_yaml_config: bool = True, load_envvars: bool = True, statsd_host: str | None = None, statsd_port: str | None = None, statsd_prefix: str | None = None, influxdb_config: dict[str, Any] | None = None)

  Bases: `OpenStackConfig`

  auth_config_hook(config: dict[str, Any]) → dict[str, Any]

    Allow examination of config values before loading auth plugin

    OpenStackClient will override this to perform additional checks on auth_type.

  load_auth_plugin(config: dict[str, Any]) → Any

    Get auth plugin and validate args

## osc_lib.cli.format_columns module

Formattable column for specify content type

class osc_lib.cli.format_columns.DictColumn(value: _T)

  Bases: `FormattableColumn`[`dict`[`str`, `Any`]]

  Format column for dict content

  human_readable() → str

    Return a basic human readable version of the data.

  machine_readable() → dict[str, Any]

    Return a raw data structure using only Python built-in types.

    It must be possible to serialize the return value directly using a formatter like JSON, and it will be up to the formatter plugin to decide how to make that transformation.

class osc_lib.cli.format_columns.DictListColumn(value: _T)

  Bases: `FormattableColumn`[`dict`[`str`, `list`[`Any`]]]

  Format column for dict, key is string, value is list

  human_readable() → str

    Return a basic human readable version of the data.

  machine_readable() → dict[str, list[Any]]

    Return a raw data structure using only Python built-in types.

    It must be possible to serialize the return value directly using a formatter like JSON, and it will be up to the formatter plugin to decide how to make that transformation.

class osc_lib.cli.format_columns.ListColumn(value: _T)

  Bases: `FormattableColumn`[`list`[`Any`]]

  Format column for list content

  human_readable() → str

    Return a basic human readable version of the data.

  machine_readable() → list[Any]

    Return a raw data structure using only Python built-in types.

    It must be possible to serialize the return value directly using a formatter like JSON, and it will be up to the formatter plugin to decide how to make that transformation.

class osc_lib.cli.format_columns.ListDictColumn(value: _T)

  Bases: `FormattableColumn`[`list`[`dict`[`str`, `Any`]]]

  Format column for list of dict content

  human_readable() → str

    Return a basic human readable version of the data.

  machine_readable() → list[dict[str, Any]]

    Return a raw data structure using only Python built-in types.

    It must be possible to serialize the return value directly using a formatter like JSON, and it will be up to the formatter plugin to decide how to make that transformation.

class osc_lib.cli.format_columns.SizeColumn(value: _T)

  Bases: `FormattableColumn`[`int` | `float`]

  Format column for file size content

  human_readable() → str

    Return a basic human readable version of the data.

## osc_lib.cli.identity module

osc_lib.cli.identity.add_project_owner_option_to_parser(parser: ArgumentParser) → None

  Register project and project domain options.

  Parameters:

    parser – argparse.Argument parser object.

osc_lib.cli.identity.find_project(sdk_connection: Connection, name_or_id: str, domain_name_or_id: str | None = None) → Project

  Find a project by its name name or ID.

  If Forbidden to find the resource (a common case if the user does not have permission), then return the resource by creating a local instance of openstack.identity.v3.Project resource.

  Parameters:

    - sdk_connection (openstack.connection.Connection) – Connection object of OpenStack SDK.

    - name_or_id (string) – Name or ID of the project

    - domain_name_or_id – Domain name or ID of the project. This can be used when there are multiple projects with a same name.

  Returns:

    the project object found

  Return type:

    openstack.identity.v3.project.Project

## osc_lib.cli.pagination module

osc_lib.cli.pagination.add_marker_pagination_option_to_parser(parser: ArgumentParser) → None

  Add marker-based pagination options to the parser.

  APIs that use marker-based paging use the marker and limit query parameters to paginate through items in a collection.

  Marker-based pagination is often used in cases where the length of the total set of items is either changing frequently, or where the total length might not be known upfront.

osc_lib.cli.pagination.add_offset_pagination_option_to_parser(parser: ArgumentParser) → None

  Add offset-based pagination options to the parser.

  APIs that use offset-based paging use the offset and limit query parameters to paginate through items in a collection.

  Offset-based pagination is often used where the list of items is of a fixed and predetermined length.

## osc_lib.cli.parseractions module

argparse Custom Actions

class osc_lib.cli.parseractions.KeyValueAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False)

  Bases: `Action`

  A custom action to parse arguments as key=value pairs

  Ensures that `dest` is a dict and values are strings.

class osc_lib.cli.parseractions.KeyValueAppendAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False)

  Bases: `Action`

  A custom action to parse arguments as key=value pairs

  Ensures that `dest` is a dict and values are lists of strings.

class osc_lib.cli.parseractions.MultiKeyValueAction(option_strings: Sequence[str], dest: str, nargs: int | str | None = None, required_keys: Sequence[str] | None = None, optional_keys: Sequence[str] | None = None, const: _T | None = None, default: _T | str | None = None, type: Callable[[str], _T] | None = None, choices: Iterable[_T] | None = None, required: bool = False, help: str | None = None, metavar: str | tuple[str, ...] | None = None)

  Bases: `Action`

  A custom action to parse arguments as key1=value1,key2=value2 pairs

  Ensure that `dest` is a list. The list will finally contain multiple dicts, with key=value pairs in them.

  NOTE: The arguments string should be a comma separated key-value pairs. And comma(‘,’) and equal(‘=’) may not be used in the key or value.

  validate_keys(keys: Sequence[str]) → None

    Validate the provided keys.

    Parameters:

      keys – A list of keys to validate.

class osc_lib.cli.parseractions.MultiKeyValueCommaAction(option_strings: Sequence[str], dest: str, nargs: int | str | None = None, required_keys: Sequence[str] | None = None, optional_keys: Sequence[str] | None = None, const: _T | None = None, default: _T | str | None = None, type: Callable[[str], _T] | None = None, choices: Iterable[_T] | None = None, required: bool = False, help: str | None = None, metavar: str | tuple[str, ...] | None = None)

  Bases: `MultiKeyValueAction`

  Custom action to parse arguments from a set of key=value pair

  Ensures that `dest` is a dict. Parses dict by separating comma separated string into individual values Ex. key1=val1,val2,key2=val3 => {“key1”: “val1,val2”, “key2”: “val3”}

class osc_lib.cli.parseractions.NonNegativeAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False)

  Bases: `Action`

  A custom action to check whether the value is non-negative or not

  Ensures the value is >= 0.

class osc_lib.cli.parseractions.RangeAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None, deprecated=False)

  Bases: `Action`

  A custom action to parse a single value or a range of values

  Parses single integer values or a range of integer values delimited by a colon and returns a tuple of integers: ‘4’ sets `dest` to (4, 4) ‘6:9’ sets `dest` to (6, 9)

## Module contents

this page last updated: 2026-03-26 21:54:26

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug