PYTHON-MANILACLIENT(1)

πŸ“¦
version 6.3.0 Β· 4 versions
, in nixpkgs unstable

πŸ¦‹ python-manilaclient(1) πŸ¦‹

okay so this is the manual for python-manilaclient, and it's giving OpenStack Manila bestie energy. Version 6.3.0, no cap. We're gonna go through the whole thing together, and yes, every flag is invited to the party. πŸ’–


✨ NAME ✨

python-manilaclient β€” python-manilaclient 6.3.0

This is a client for OpenStack Manila API. There's a Python API <> (the manilaclient <#module-manilaclient> module) for programmatic access, and a command-line interface via the OpenStack CLI client. See Project Structure <#project-structure> for more information.

🫢 You'll need credentials for an OpenStack cloud that implements the Manila API in order to use the manila client. Like, non-negotiable, bestie.

🐚 COMMAND-LINE REFERENCE 🐚

Use the openstack CLI client to interact with the Manila API from the command line:

πŸ’… openstack share Command-Line Interface (CLI) πŸ’…

🌸 Synopsis 🌸

openstack [options] share <command> [command-options]

openstack help share <command>

🌸 Description 🌸

The OpenStack Client plugin interacts with the Manila service through the openstack share command line interface (CLI).

To use the CLI, you must provide your OpenStack username, password, project, auth endpoint and the share API version. You can use configuration options --os-username, --os-password, --os-project-name, --os-auth-url and --os-share-api-version, or set the corresponding environment variables:

export OS_USERNAME=foo
export OS_PASSWORD=bar
export OS_PROJECT_NAME=foobarproject
export OS_AUTH_URL=http://...
export OS_SHARE_API_VERSION=2.51

It is possible to use different Manila endpoint while using Openstack Client. In this case, you can use configuration option --os-endpoint-override or set the corresponding environment variable:

export OS_SHARED_FILE_SYSTEM_ENDPOINT_OVERRIDE=http://...

🌸 Getting help 🌸

To get a full list of all possible commands, run:

$ openstack help share

To get detailed help for one command, run:

$ openstack help share <command>

🌸 Examples 🌸

Get information about the openstack share create command:

$ openstack help share create

Create one share:

$ openstack share create NFS 1 --name "myshare"

List shares:

$ openstack share list

Display a share:

$ openstack share show myshare

Delete a share:

$ openstack share delete myshare

Extend a 1gb share to 2gb:

$ openstack share resize myshare 2

Shrink a 2gb share to 1gb:

$ openstack share resize myshare 1

πŸ“š Command Reference πŸ“š

List of released CLI commands available in openstack client. These commands can be referenced by executing openstack help share.

πŸ“š Command Reference πŸ“š

yes bestie, it really says "Command Reference" twice. iconic behavior. The list is right here, and every command below can be found with openstack help share.

πŸ—‚οΈ shares πŸ—‚οΈ

πŸ“¦ share instances πŸ“¦

πŸ’… share instance delete πŸ’…

Forces the deletion of a share instance.

share instance delete [--wait] <instance> [<instance> ...]
  • --wait β€” Wait for share instance deletion.
  • instance β€” ID of the share instance to delete.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ’… share instance list πŸ’…

List share instances.

share instance list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--share <share>]
    [--export-location <export-location>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --share <share> β€” Name or ID of the share to list instances for.
  • --export-location <export-location> β€” Export location to list instances for.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ’… share instance set πŸ’…

Explicitly reset share instance status.

share instance set [--status <status>] <instance>
  • --status <status> β€” Indicate which state to assign the instance. Options are: available, error, creating, deleting,error_deleting, migrating, migrating_to, server_migrating.
  • instance β€” Instance to be modified.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ’… share instance show πŸ’…

Show share instance.

share instance show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <instance>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • instance β€” ID of the share instance.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ” share access rules πŸ”

πŸ’… share access create πŸ’…

Create new share access rule.

share access create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--properties [<key=value> ...]]
    [--access-level <access_level>]
    [--wait]
    [--lock-visibility]
    [--lock-deletion]
    [--lock-reason <lock_reason>]
    <share>
    <access_type>
    <access_to>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --properties <key=value> β€” Space separated list of key=value pairs of properties. OPTIONAL: Default=None. Available only for API microversion >= 2.45.
  • --access-level <access_level> β€” Share access level ("rw" and "ro" access levels are supported). Defaults to rw.
  • --wait β€” Wait for share access rule creation.
  • --lock-visibility β€” Whether the sensitive fields of the access rule redacted to other users. Only available with API version >= 2.82.
  • --lock-deletion β€” When enabled, a 'delete' lock will be placed against the rule and the rule cannot be deleted while the lock exists. Only available with API version >= 2.82.
  • --lock-reason <lock_reason> β€” Reason for locking the access rule. Should only be provided alongside a deletion or visibility lock. Only available with API version >= 2.82.
  • share β€” Name or ID of the NAS share to modify.
  • access_type β€” Access rule type (only "ip", "user" (user or group), "cert" or "cephx" are supported).
  • access_to β€” Value that defines access.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ’… share access delete πŸ’…

Delete a share access rule.

share access delete [--wait] [--unrestrict] <share> <id>
  • --wait β€” Wait for share access rule deletion
  • --unrestrict β€” Seek access rule deletion despite restrictions. Only available with API version >= 2.82.
  • share β€” Name or ID of the NAS share to modify.
  • id β€” ID of the access rule to be deleted.

✨ This command is provided by the python-manilaclient plugin. ✨

πŸ’… share access list πŸ’…

List share access rule.

share access list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--properties [<key=value> ...]]
    [--access-type <access_type>]
    [--access-key <access_key>]
    [--access-to <access_to>]
    [--access-level <access_level>]
    <share>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” tells it which column(s) to sort the data by. Columns you name first get priority, and non-existent columns are just ignored (no drama). Column names are case-insensitive and accept underscores instead of spaces. You can repeat this one if you're feeling extra. ✨
  • --sort-ascending β€” sorts those column(s) in ascending order, smallest to biggest, lowest to highest, alphabetically forward, you get it πŸ’…
  • --sort-descending β€” same thing but backwards, descending order, biggest first πŸ”₯
  • --properties <key=value> β€” filters results by properties, written as key=value. This one is OPTIONAL and defaults to None. Heads up though: it's only available for API microversion >= 2.45, so check your microversion bestie 🫢
  • --access-type <access_type> β€” filters access rules by the access type.
  • --access-key <access_key> β€” filters access rules by the access key.
  • --access-to <access_to> β€” filters access rules by the access to field.
  • --access-level <access_level> β€” filters access rules by the access level.

share β€” name or ID of the share.

This command is provided by the python-manilaclient plugin. 🧚

🌸 share access set

Sets properties on a share access rule. Available for API microversion 2.45 and higher πŸ’–

share access set
    [--property <key=value>]
    [--access-level <access_level>]
    <access_id>
  • --property <key=value> β€” sets a property on this share access rule. Repeat the option to set multiple properties, the more the merrier. Available only for API microversion >= 2.45.
  • --access-level <access_level> β€” the share access level to set. Supported values are "rw" and "ro" access levels, that's it, that's the list πŸ‘‘

access_id β€” ID of the NAS share access rule.

This command is provided by the python-manilaclient plugin. 🧚

🌈 share access show

Displays a share access rule. Available for API microversion 2.45 and higher ⭐

share access show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <access_id>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.

access_id β€” ID of the NAS share access rule.

This command is provided by the python-manilaclient plugin. 🧚

πŸ¦‹ share access unset

Unsets properties of a share access rule. Available for API microversion 2.45 and higher πŸ™ˆ

share access unset [--property <key>] <access_id>
  • --property <key> β€” removes a property from the share access rule. Repeat the option to remove multiple properties (yes, deleting in bulk is valid). Available only for API microversion >= 2.45.

access_id β€” ID of the NAS share access rule.

This command is provided by the python-manilaclient plugin. 🧚

πŸ’œ share migration

(that's it, that's the whole entry β€” a category heading, no description here)

πŸ’œ share networks

(same vibe, category heading, no description)

πŸ’œ share network subnets

(category heading again, no description, we move)


πŸŽ€ share network subnet create

Creates a share network subnet ✨

share network subnet create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--neutron-net-id <neutron-net-id>]
    [--neutron-subnet-id <neutron-subnet-id>]
    [--availability-zone <availability-zone>]
    [--check-only]
    [--restart-check]
    [--property <key=value>]
    <share-network>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --neutron-net-id <neutron-net-id> β€” Neutron network ID. Used to set up network for share servers (optional). Should be defined together with '--neutron-subnet-id'. Bestie they're a package deal, don't separate them πŸ’€
  • --neutron-subnet-id <neutron-subnet-id> β€” Neutron subnet ID. Used to set up network for share servers (optional). Should be defined together with '--neutron-net-id' to which this subnet belongs to.
  • --availability-zone <availability-zone> β€” optional availability zone that the subnet is available within (Default=None). If None, the subnet will be considered as being available across all availability zones. So it's everywhere at once, main character energy 🌈
  • --check-only β€” runs a dry-run of a share network subnet create. Available only for microversion >= 2.70.
  • --restart-check β€” restarts a dry-run of a share network subnet create. Helpful when check results are stale. Available only for microversion >= 2.70.
  • --property <key=value> β€” sets a property on this share network subnet (repeat option to set multiple properties). Available only for microversion >= 2.78.

share-network β€” share network name or ID.

This command is provided by the python-manilaclient plugin. 🧚

πŸ“ share network subnet delete

Deletes a share network subnet πŸ—‘οΈ

share network subnet delete
    <share-network>
    <share-network-subnet>
    [<share-network-subnet> ...]

share-network β€” share network name or ID.

share-network-subnet β€” ID(s) of share network subnet(s) to be deleted.

This command is provided by the python-manilaclient plugin. 🧚

πŸ’… share network subnet set

Sets share network subnet properties πŸ’–

share network subnet set
    [--property <key=value>]
    <share-network>
    <share-network-subnet>
  • --property <key=value> β€” sets a property on this share network subnet (repeat option to set multiple properties). Available only for microversion >= 2.78.

share-network β€” share network name or ID.

share-network-subnet β€” ID of share network subnet to set a property.

This command is provided by the python-manilaclient plugin. 🧚

🧚 share network subnet show

Shows a share network subnet πŸ‘‘

share network subnet show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <share-network>
    <share-network-subnet>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.

share-network β€” share network name or ID.

share-network-subnet β€” ID of share network subnet to show.

This command is provided by the python-manilaclient plugin. 🧚

⭐ share network subnet unset

Unsets a share network subnet property πŸ™ˆ

share network subnet unset
    [--property <key>]
    <share-network>
    <share-network-subnet>
  • --property <key> β€” removes a property from the share network subnet (repeat option to remove multiple properties). Available only for microversion >= 2.78.

share-network β€” share network name or ID.

share-network-subnet β€” ID of share network subnet to set a property.

This command is provided by the python-manilaclient plugin. 🧚

🌸 share types

(category heading, no description β€” we simply vibe onward)


πŸ”₯ share type access create

Adds access for a share type πŸ’«

share type access create <share_type> <project_id>

share_type β€” share type name or ID to add access to

project_id β€” project ID to add share type access for

This command is provided by the python-manilaclient plugin. 🧚

πŸ¦‹ share type access delete

Deletes access from a share type πŸ’€

share type access delete <share_type> <project_id>

share_type β€” share type name or ID to delete access from

project_id β€” project ID to delete share type access for

This command is provided by the python-manilaclient plugin. 🧚

🌈 share type access list

Gets the access list for a share type, iykyk πŸ“‹

share type access list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <share_type>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” picks the column(s) you wanna sort by, bestie. Columns you list first get priority, and any column that doesn't exist just gets politely ignored (no error, no drama). Names are case-insensitive and you can swap spaces for underscores. Repeatable, so go off πŸ‘‘
  • --sort-ascending β€” sorts those column(s) ascending, smallest to biggest, A to Z, the whole vibe ⬆️
  • --sort-descending β€” sorts them descending instead, biggest to smallest, Z to A, reverse-slay ⬇️

share_type β€” the share type name or ID you're grabbing the access list for πŸ’…

This command is provided by the python-manilaclient plugin.


✨ share type create ✨

Creates a brand new share type, like building a whole new aesthetic from scratch πŸŽ€

share type create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--description <description>]
    [--snapshot-support <snapshot_support>]
    [--create-share-from-snapshot-support <create_share_from_snapshot_support>]
    [--revert-to-snapshot-support <revert_to_snapshot_support>]
    [--mount-snapshot-support <mount_snapshot_support>]
    [--extra-specs [<key=value> ...]]
    [--public <public>]
    <name>
    <spec_driver_handles_share_servers>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, and it defaults to table πŸͺ„
  • -c COLUMN, --column COLUMN β€” names the column(s) you want included. Repeat it to stack up multiple columns πŸ’«
  • --noindent β€” turns off indenting for the JSON output, flat and unfussy
  • --prefix <PREFIX> β€” sticks a prefix on all variable names 🏷️
  • --max-width <integer> β€” maximum display width; anything <1 disables it. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter wins if they disagree πŸ‘€
  • --fit-width β€” fits the table to your display width. This is implied whenever --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always have it on πŸ“
  • --print-empty β€” prints an empty table if there's no data to show, so at least you get something 🫢
  • --description <description> β€” the share type's description. Available only for microversion >= 2.41 ⚠️
  • --snapshot-support <snapshot_support> β€” a Boolean extra spec, used to filter back ends by whether they can create share snapshots πŸ“Έ
  • --create-share-from-snapshot-support <create_share_from_snapshot_support> β€” a Boolean extra spec, used to filter back ends by whether they can create shares from snapshots 🌱
  • --revert-to-snapshot-support <revert_to_snapshot_support> β€” a Boolean extra spec, used to filter back ends by whether they can revert shares to snapshots. (Default is False.) βͺ
  • --mount-snapshot-support <mount_snapshot_support> β€” a Boolean extra spec, used to filter back ends by whether they can mount share snapshots. (Default is False.) πŸ—‚οΈ
  • --extra-specs <key=value> β€” extra specs key and value of the share type, used for share type creation. OPTIONAL: Default=None. Example:
--extra-specs  thin_provisioning='<is> True', replication_type=readable
  • --public <public> β€” makes the type accessible to the public (default true) 🌍

name β€” the share type name πŸ’–

spec_driver_handles_share_servers β€” a required extra specification. Valid values are 'true' and 'false' βœ…

This command is provided by the python-manilaclient plugin.


πŸ’… share type delete πŸ’…

Deletes a share type. Begone, era over πŸ’€

share type delete <share_types> [<share_types> ...]

share_types β€” name or ID of the share type(s) you're deleting πŸ—‘οΈ

This command is provided by the python-manilaclient plugin.


🌈 share type list 🌈

Lists out all the share types, the full lineup ✨

share type list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all]
    [--extra-specs [<key=value> ...]]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table πŸͺ„
  • -c COLUMN, --column COLUMN β€” the column(s) to include; repeat to show multiple columns πŸ’«
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” disables JSON indenting
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence πŸ‘€
  • --fit-width β€” fits the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable πŸ“
  • --print-empty β€” prints an empty table if there's no data to show
  • --sort-column SORT_COLUMN β€” the column(s) to sort the data by (columns specified first have priority, non-existing columns are ignored). Column names are case-insensitive and accept underscores for spaces. Can be repeated
  • --sort-ascending β€” sorts the column(s) in ascending order
  • --sort-descending β€” sorts the column(s) in descending order
  • --all β€” displays all share types, whatever public or private. Default=False. (Admin only) πŸ‘‘
  • --extra-specs <key=value> β€” filters share types by extra specs (key=value). Available only for API microversion >= 2.43. OPTIONAL: Default=None. πŸ”

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share type set πŸ¦‹

Sets share type properties β€” a little glow-up for your type πŸ’…

share type set
    [--extra-specs [<key=value> ...]]
    [--public <public>]
    [--description <description>]
    [--name <name>]
    <share_type>
  • --extra-specs <key=value> β€” extra specs key and value of share type that will be used for share type creation. OPTIONAL: Default=None. Example:
--extra-specs  thin_provisioning='<is> True', replication_type=readable
  • --public <public> β€” the new visibility of the share type. If set to True, the share type will be available to all projects in the cloud. Available only for microversion >= 2.50 🌍
  • --description <description> β€” the new description of the share type. Available only for microversion >= 2.50 ⚠️
  • --name <name> β€” the new name of the share type. Available only for microversion >= 2.50 🏷️

share_type β€” name or ID of the share type you're modifying πŸ’–

This command is provided by the python-manilaclient plugin.


πŸŽ€ share type show πŸŽ€

Displays all the juicy share type details πŸ‘€

share type show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <share_type>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table πŸͺ„
  • -c COLUMN, --column COLUMN β€” the column(s) to include, repeatable for multiple columns πŸ’«
  • --noindent β€” disables JSON indenting
  • --prefix <PREFIX> β€” adds a prefix to all variable names 🏷️
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence πŸ‘€
  • --fit-width β€” fits the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable πŸ“
  • --print-empty β€” prints an empty table if there's no data to show

share_type β€” the share type to display (name or ID) πŸ’–

This command is provided by the python-manilaclient plugin.


🧚 share type unset 🧚

Unsets share type extra specs β€” cleaning out the closet 🧹

share type unset <share_type> <key> [<key> ...]

share_type β€” name or ID of the share type to modify πŸ’…

key β€” removes extra_specs from this share type ❌

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share transfers πŸ¦‹

🌸 share transfer accept 🌸

Accepts a share transfer β€” it's officially yours now, congratulations πŸŽ‰

share transfer accept [--clear-rules] <transfer> <auth_key>
  • --clear-rules, --clear_rules β€” whether manila should clean up the access rules after the transfer is complete. (Default=False) 🧽

transfer β€” ID of the transfer to accept πŸ”‘

auth_key β€” authentication key of the transfer to accept πŸ”

This command is provided by the python-manilaclient plugin.


⭐ share transfer create ⭐

Creates a brand new share transfer ✨

share transfer create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name <name>]
    <share>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table πŸͺ„
  • -c COLUMN, --column COLUMN β€” the column(s) to include; repeat for multiple columns πŸ’«
  • --noindent β€” disables JSON indenting
  • --prefix <PREFIX> β€” adds a prefix to all variable names 🏷️
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence πŸ‘€
  • --fit-width β€” fits the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable πŸ“
  • --print-empty β€” prints an empty table if there's no data to show
  • --name <name> β€” the transfer name. Default=None. 🏷️

share β€” name or ID of the share to transfer πŸ’–

This command is provided by the python-manilaclient plugin.


πŸ’œ share transfer delete πŸ’œ

Removes one or more transfers, no cap πŸ—‘οΈ

share transfer delete <transfer> [<transfer> ...]

transfer β€” name(s) or ID(s) of the transfer(s) πŸ’«

This command is provided by the python-manilaclient plugin.


πŸ”₯ share transfer list πŸ”₯

Lists all the transfers πŸ“‹

share transfer list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--name <name>]
    [--id <id>]
    [--resource-type <resource_type>]
    [--resource-id <resource_id>]
    [--source-project-id <source_project_id>]
    [--limit <limit>]
    [--offset <offset>]
    [--sort-key <sort_key>]
    [--sort-dir <sort_dir>]
    [--detailed [<0|1>]]

Okay so like, these next few are the formatter flags that show up on basically every list-y command, and bestie, they are πŸ’― the same vibe every time, so learn them once and you're set for life:

  • -f <FORMATTER>, --format <FORMATTER> β€” picks your output format. Default? table. Obviously. πŸŽ€
  • -c COLUMN, --column COLUMN β€” says which column(s) to show. You can repeat it to show multiple columns, so go off, stack them.
  • --quote <QUOTE_MODE> β€” decides when quotes get included. Defaults to nonnumeric. no cap.
  • --noindent β€” turns off JSON indenting. Flat and unbothered.
  • --max-width <integer> β€” max display width; anything <1 disables it entirely. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but heads up: the parameter takes precedence. πŸ’…
  • --fit-width β€” makes the table fit the display width. It's implied if --max-width is greater than 0. Wanna always have it? Set CLIFF_FIT_WIDTH=1 in your environment.
  • --print-empty β€” prints an empty table when there's literally no data to show. Respect the emptiness. πŸ™ˆ
  • --sort-column SORT_COLUMN β€” picks the column(s) to sort by. Columns listed first get priority, non-existing columns are just ignored (rude but whatever), column names are case-insensitive, and they accept underscores for spaces. Repeatable!
  • --sort-ascending β€” sorts the column(s) ascending. ⬆️
  • --sort-descending β€” sorts the column(s) descending. ⬇️

And then the actual transfer filters, the main character flags of this command:

  • --all-projects β€” shows details for all tenants. Admin only, iykyk. πŸ‘‘
  • --name <name> β€” filters share transfers by name. Default=None.
  • --id <id> β€” filters share transfers by ID. Default=None.
  • --resource-type <resource_type>, --resource_type <resource_type> β€” filters share transfers by resource type, which can be share. Default=None.
  • --resource-id <resource_id>, --resource_id <resource_id> β€” filters share transfers by resource ID. Default=None.
  • --source-project-id <source_project_id>, --source_project_id <source_project_id> β€” filters share transfers by the ID of the Project that initiated the transfer. Default=None.
  • --limit <limit> β€” max number of transfer records to return. (Default=None)
  • --offset <offset> β€” start position of the transfer records listing. Like, where you begin scrolling.
  • --sort-key <sort_key>, --sort_key <sort_key> β€” the key to sort by. Available keys are ('id', 'resource_type', 'resource_id', 'name', 'source_project_id', 'destination_project_id', 'created_at', 'expires_at'). Default=None.
  • --sort-dir <sort_dir>, --sort_dir <sort_dir> β€” sort direction, available values are ('asc', 'desc'). OPTIONAL: Default=None.
  • --detailed <0|1> β€” shows detailed information about filtered share transfers. ✨

This command is provided by the python-manilaclient plugin.


🌸 share transfer show 🌸

Show details about a share transfer. Like a lil spotlight moment for one single transfer.

share transfer show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <transfer>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” adds a prefix to all variable names.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • transfer β€” Name or ID of transfer to show. πŸ‘€

This command is provided by the python-manilaclient plugin.


πŸŽ€ share quotas πŸŽ€

The quota corner of the universe. Budgets. Limits. The "bestie, you've had enough" of Manilaclient.

share quota delete

Delete Quota. Yep. It's giving very straightforward. πŸ—‘οΈ

share quota delete
    [--user <user> | --share-type <share-type>]
    <project>
  • --user <user> β€” Name or ID of user to delete the quotas for. Optional. Mutually exclusive with --share-type.
  • --share-type <share-type> β€” Name or ID of a share type to delete the quotas for. Optional. Mutually exclusive with --user. Available only for microversion >= 2.39.
  • project β€” Name or ID of the project to delete quotas for.

This command is provided by the python-manilaclient plugin.

share quota set

Set Quota for a project, or project/user or project/share-type or a class. So many flavors of quota, and honestly? Iconic.

share quota set
    [--class | --user <user> | --share-type <share-type>]
    [--shares <shares>]
    [--snapshots <snapshots>]
    [--gigabytes <gigabytes>]
    [--snapshot-gigabytes <snapshot-gigabytes>]
    [--share-networks <share-networks>]
    [--share-groups <share-groups>]
    [--share-group-snapshots <share-group-snapshots>]
    [--share-replicas <share-replicas>]
    [--replica-gigabytes <replica-gigabytes>]
    [--per-share-gigabytes <per-share-gigabytes>]
    [--encryption-keys <encryption-keys>]
    [--force]
    <project/class>
  • --class β€” Update class quota to all projects. Mutually exclusive with --user and --share-type.
  • --user <user> β€” Name or ID of a user to set the quotas for. Mutually exclusive with --share-type and --class.
  • --share-type <share-type> β€” Name or ID of a share type to set the quotas for. Mutually exclusive with --user and --class. Available only for microversion >= 2.39.
  • --shares <shares> β€” New value for the "shares" quota.
  • --snapshots <snapshots> β€” New value for the "snapshots" quota.
  • --gigabytes <gigabytes> β€” New value for the "gigabytes" quota.
  • --snapshot-gigabytes <snapshot-gigabytes> β€” New value for the "snapshot-gigabytes" quota.
  • --share-networks <share-networks> β€” New value for the "share-networks" quota.
  • --share-groups <share-groups> β€” New value for the "share-groups" quota. Available only for microversion >= 2.40.
  • --share-group-snapshots <share-group-snapshots> β€” New value for the "share-group-snapshots" quota. Available only for microversion >= 2.40.
  • --share-replicas <share-replicas> β€” Number of share replicas. Available only for microversion >= 2.53.
  • --replica-gigabytes <replica-gigabytes> β€” Capacity of share replicas in total. Available only for microversion >= 2.53.
  • --per-share-gigabytes <per-share-gigabytes> β€” New value for the "per-share-gigabytes" quota. Available only for microversion >= 2.62.
  • --encryption-keys <encryption-keys> β€” New value for the "encryption-keys" quota. Available only for microversion >= 2.90.
  • --force β€” Force update the quota. Not applicable for class update. ⚠️
  • project/class β€” A project (name/ID) or a class (e.g.: default).

This command is provided by the python-manilaclient plugin.

share quota show

Show Quota. The big reveal. πŸ¦‹

share quota show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--user <user> | --share-type <share-type>]
    [--detail]
    [--defaults]
    <project>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • --user <user> β€” Name or ID of user to list the quotas for. Optional. Mutually exclusive with --share-type.
  • --share-type <share-type> β€” Name or ID of a share type to list the quotas for. Optional. Mutually exclusive with --user. Available only for microversion >= 2.39.
  • --detail β€” Optional flag to indicate whether to show quota in detail. Default false, available only for microversion >= 2.25.
  • --defaults β€” Show the default quotas for the project.
  • project β€” Name or ID of the project to list quotas for.

This command is provided by the python-manilaclient plugin.


πŸ’œ share snapshots πŸ’œ

Snapshot zone. The "remember when" of your shares. πŸ“Έ

share snapshot abandon

Abandon share snapshot(s). Letting go, emotionally and administratively. 🫢

share snapshot abandon [--wait] <snapshot> [<snapshot> ...]
  • --wait β€” Wait until share snapshot is abandoned.
  • snapshot β€” Name or ID of the snapshot(s) to be abandoned.

This command is provided by the python-manilaclient plugin.

share snapshot access create

Allow access to a snapshot. Sharing is caring, bestie. πŸ”‘

share snapshot access create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <snapshot>
    <access_type>
    <access_to>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” max width of the display, bestie. Anything less than 1 turns it off entirely. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter itself wins β€” the flag takes precedence, periodt.
  • --fit-width β€” squishes the table to fit your display width. It's implied if --max-width is greater than 0. Want it always on? Set the environment variable CLIFF_FIT_WIDTH=1 and slay.
  • --print-empty β€” prints an empty table when there's literally no data to show. Iconic empty-state behaviour πŸ’…
  • snapshot β€” name or ID of the snapshot 🫢
  • access_type β€” the access rule type. Only "ip", "user" (that's user or group, iykyk), "cert" or "cephx" are supported β€” those four, no others, no cap.
  • access_to β€” the value that defines access.

This command is provided by the python-manilaclient plugin.


🌸 share snapshot access delete

Delete access to a snapshot ✨

share snapshot access delete <snapshot> <id> [<id> ...]
  • snapshot β€” name or ID of the share snapshot to deny access to.
  • id β€” ID(s) of the access rule(s) to be deleted. Yes, plural, you can drop a whole list of them πŸ’€

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share snapshot access list

Show access list for a snapshot β€” the receipts, basically πŸ‘‘

share snapshot access list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <snapshot>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include. Repeat it to show multiple columns πŸŽ€
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric.
  • --noindent β€” whether to disable indenting the JSON.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data. Columns specified first have a priority, non-existing columns are ignored, column names are case-insensitive and accept underscores for spaces, and you can repeat it πŸ’…
  • --sort-ascending β€” sort the column(s) in ascending order.
  • --sort-descending β€” sort the column(s) in descending order.
  • snapshot β€” name or ID of the share snapshot to show access list for.

This command is provided by the python-manilaclient plugin.


🧚 share snapshot adopt

Adopt a share snapshot πŸ₯Ί (yes, adopt, like it's a little orphan snapshot and you're its new parent)

share snapshot adopt
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name <name>]
    [--description <description>]
    [--driver-option <key=value>]
    [--wait]
    <share>
    <provider-location>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • --name <name> β€” Optional snapshot name (Default=None).
  • --description <description> β€” Optional snapshot description (Default=None).
  • --driver-option <key=value> β€” Set driver options as key=value pairs. (repeat option to set multiple key=value pairs)
  • --wait β€” Wait until share snapshot is adopted 🫢
  • share β€” name or ID of the share that owns the snapshot to be adopted.
  • provider-location β€” provider location of the snapshot on the backend.

This command is provided by the python-manilaclient plugin.


πŸ’œ share snapshot create

Create a snapshot of the given share 🌈

share snapshot create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--force]
    [--name <name>]
    [--description <description>]
    [--wait]
    [--property <key=value>]
    <share>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • --force β€” Optional flag to indicate whether to snapshot a share even if it's busy. (Default=False) β€” like, it will just go for it πŸ’€
  • --name <name> β€” Add a name to the snapshot (Optional).
  • --description <description> β€” Add a description to the snapshot (Optional).
  • --wait β€” Wait for share snapshot creation ✨
  • --property <key=value> β€” Set a property to this snapshot (repeat option to set multiple properties). Available only for microversion >= 2.73 β€” so check your microversion bestie, no cap.
  • share β€” name or ID of the share to create snapshot of.

This command is provided by the python-manilaclient plugin.


πŸ“ share snapshot delete

Delete one or more share snapshots πŸŽ€

share snapshot delete [--force] [--wait] <snapshot> [<snapshot> ...]
  • --force β€” Delete the snapshot(s) ignoring the current state. Unhinged behaviour but ok, do your thing πŸ™ˆ
  • --wait β€” Wait for share snapshot deletion.
  • snapshot β€” name or ID of the snapshot(s) to delete.

This command is provided by the python-manilaclient plugin.


⭐ share snapshot export location list

List export locations of a given snapshot πŸ’–

share snapshot export location list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <snapshot>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric.
  • --noindent β€” whether to disable indenting the JSON.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated.
  • --sort-ascending β€” sort the column(s) in ascending order.
  • --sort-descending β€” sort the column(s) in descending order.
  • snapshot β€” name or ID of the share snapshot.

This command is provided by the python-manilaclient plugin.


πŸŽ€ share snapshot export location show

Show export location of the share snapshot πŸ‘‘

share snapshot export location show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <snapshot>
    <export-location>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” Print empty table if there is no data to show.
  • snapshot β€” name or ID of the share snapshot.
  • export-location β€” ID of the share snapshot export location.

This command is provided by the python-manilaclient plugin.


🌸 share snapshot list

List snapshots β€” the full roster, bestie πŸ“‹

share snapshot list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--name <name>]
    [--description <description>]
    [--status <status>]
    [--share <share>]
    [--usage <usage>]
    [--limit <num-snapshots>]
    [--marker <snapshot>]
    [--sort <key>[:<direction>]]
    [--name~ <name~>]
    [--description~ <description~>]
    [--detail]
    [--property <key=value>]
    [--count]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, bestie. defaults to table
  • -c COLUMN, --column COLUMN β€” pick the column(s) you wanna include; repeat it to show multiple columns ✨
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence 🫢
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated πŸ’…
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all-projects β€” Display snapshots from all projects (Admin only). πŸ‘‘
  • --name <name> β€” Filter results by name.
  • --description <description> β€” Filter results by description. Available only for microversion >= 2.36.
  • --status <status> β€” Filter results by status
  • --share <share> β€” Name or ID of a share to filter results by.
  • --usage <usage> β€” Option to filter snapshots by usage.
  • --limit <num-snapshots> β€” Limit the number of snapshots returned
  • --marker <snapshot> β€” The last share ID of the previous page
  • --sort <key>[:<direction>] β€” Sort output by selected keys and directions(asc or desc) (default: name:asc), multiple keys and directions can be specified separated by comma
  • --name~ <name~> β€” Filter results matching a share snapshot name pattern. Available only for microversion >= 2.36.
  • --description~ <description~> β€” Filter results matching a share snapshot description pattern. Available only for microversion >= 2.36.
  • --detail β€” List share snapshots with details
  • --property <key=value> β€” Filter snapshots having a given metadata key=value property. (repeat option to filter by multiple properties)
  • --count β€” The total count of share snapshots before pagination is applied. This parameter is useful when applying pagination parameters --limit and --offset. Available only for microversion >= 2.79. πŸ”₯

This command is provided by the python-manilaclient plugin.


πŸŽ€ share snapshot set

Set share snapshot properties β€” glow-up time, we're editing ✨

share snapshot set
    [--name <name>]
    [--description <description>]
    [--status <status>]
    [--property <key=value>]
    <snapshot>
  • --name <name> β€” Set a name to the snapshot.
  • --description <description> β€” Set a description to the snapshot.
  • --status <status> β€” Assign a status to the snapshot (Admin only). Options include : available, error, creating, deleting, manage_starting, manage_error, unmanage_starting, unmanage_error, error_deleting.
  • --property <key=value> β€” Set a property to this snapshot (repeat option to set multiple properties)
  • snapshot β€” Name or ID of the snapshot to set a property for

This command is provided by the python-manilaclient plugin.


πŸ’œ share snapshot show

Show details about a share snapshot β€” the full lore dump πŸ‘‘

share snapshot show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <snapshot>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • snapshot β€” Name or ID of the snapshot to display

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share snapshot unset

Unset a share snapshot property β€” we're removing things, not adding, okay? πŸ™ˆ

share snapshot unset
    [--name]
    [--description]
    [--property <key>]
    <snapshot>
  • --name β€” Unset snapshot name.
  • --description β€” Unset snapshot description.
  • --property <key> β€” Remove a property from snapshot (repeat option to remove multiple properties)
  • snapshot β€” Name or ID of the snapshot to set a property for

This command is provided by the python-manilaclient plugin.


🌸 share snapshot instances

share snapshot instance export location list

List export locations from a share snapshot instance. 🧚

share snapshot instance export location list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <instance>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • instance β€” Name or ID of the share instance.

This command is provided by the python-manilaclient plugin.


⭐ share snapshot instance export location show

Show export location of the share snapshot instance. πŸ’«

share snapshot instance export location show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <snapshot_instance>
    <export_location>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • snapshot_instance β€” ID of the share snapshot instance.
  • export_location β€” ID of the share snapshot instance export location.

This command is provided by the python-manilaclient plugin.


🌈 share snapshot instance list

List all share snapshot instances β€” the whole roster, no cap πŸ“‹

share snapshot instance list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--snapshot <snapshot>]
    [--detailed]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --snapshot <snapshot> β€” Filter results by share snapshot ID.
  • --detailed β€” Show detailed information about snapshot instances.

This command is provided by the python-manilaclient plugin.


πŸ“ share snapshot instance set

Explicitly update the state of a share snapshot instance. πŸ› οΈ

share snapshot instance set [--status <status>] <snapshot_instance>
  • --status <status> β€” sets the state you want the snapshot instance flipped to. Default is available.
  • snapshot_instance β€” the ID of the share snapshot instance you're updating, bestie.

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share snapshot instance show

Show deets about a share snapshot instance. Receipts only, no changes.

share snapshot instance show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <snapshot_instance>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • snapshot_instance β€” ID of the share snapshot instance.

This command is provided by the python-manilaclient plugin.


πŸ’Œ user messages

πŸŽ€ share message delete

Remove one or more messages. Yeet, but like, officially.

share message delete <message> [<message> ...]
  • message β€” ID of the message(s). Yes bestie, you can drop a whole stack of them in one go.

This command is provided by the python-manilaclient plugin.


✨ share message list

Lists all messages. The whole inbox vibe check.

share message list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--resource-id <resource-id>]
    [--resource-type <resource-type>]
    [--action-id <action-id>]
    [--detail-id <detail-id>]
    [--request-id <request-id>]
    [--message-level <message-level>]
    [--limit <limit>]
    [--since <since>]
    [--before <before>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric.
  • --noindent β€” whether to disable indenting the JSON.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated.
  • --sort-ascending β€” sort the column(s) in ascending order.
  • --sort-descending β€” sort the column(s) in descending order.
  • --resource-id <resource-id> β€” filters results by a resource uuid. Default=None.
  • --resource-type <resource-type> β€” filters results by a resource type. Default=None. Example: "openstack message list --resource-type share"
  • --action-id <action-id> β€” filters results by action id. Default=None.
  • --detail-id <detail-id> β€” filters results by detail id. Default=None.
  • --request-id <request-id> β€” filters results by request id. Default=None.
  • --message-level <message-level> β€” filters results by the message level. Default=None. Example: "openstack message list --message-level ERROR"
  • --limit <limit> β€” maximum number of messages to return. (Default=None)
  • --since <since> β€” return only user messages created since given date. The date format must be conforming to ISO8601. Available only for microversion >= 2.52.
  • --before <before> β€” return only user messages created before given date. The date format must be conforming to ISO8601. Available only for microversion >= 2.52.

This command is provided by the python-manilaclient plugin.


πŸ”₯ share message show

Show details about a message. One (1) singular message, main character energy.

share message show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <message>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • message β€” ID of the message.

This command is provided by the python-manilaclient plugin.


🌈 share replicas

🫢 share replica create

Create a replica of the given share. Clone era, but make it storage.

share replica create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--availability-zone <availability-zone>]
    [--wait]
    [--scheduler-hint <key=value>]
    [--share-network <share-network-name-or-id>]
    [--property <key=value>]
    <share>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • --availability-zone <availability-zone> β€” availability zone in which the replica should be created.
  • --wait β€” wait for replica creation. Patience is a virtue, bestie.
  • --scheduler-hint <key=value> β€” scheduler hint for the share replica as key=value pairs, supported key is only_host. Available for microversion >= 2.67.
  • --share-network <share-network-name-or-id> β€” optional network info ID or name. Available for microversion >= 2.72.
  • --property <key=value> β€” set a property to this replica (repeat option to set multiple properties). Available only for microversion >= 2.95.
  • share β€” name or ID of the share to replicate.

This command is provided by the python-manilaclient plugin.


πŸ’€ share replica delete

Delete one or more share replicas. Goodbye forever, no cap.

share replica delete [--force] [--wait] <replica> [<replica> ...]
  • --force β€” attempt to force delete a replica on its backend. Using this option will purge the replica from Manila even if it is not cleaned up on the backend. ⚠️ Yeah, that's the dramatic one β€” read it twice.
  • --wait β€” wait for share replica deletion.
  • replica β€” name or ID of the replica(s) to delete.

This command is provided by the python-manilaclient plugin.


🧚 share replica export location list

List export locations of a share replica. Where the replica is actually, physically at.

share replica export location list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <replica>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric.
  • --noindent β€” whether to disable indenting the JSON.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated.
  • --sort-ascending β€” sort the column(s) in ascending order.
  • --sort-descending β€” sort the column(s) in descending order.
  • replica β€” ID of the share replica.

This command is provided by the python-manilaclient plugin.


πŸ“ share replica export location show

Show details of a share replica's export location. Just the one location, all up close and personal.

share replica export location show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <replica>
    <export-location>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” pick which column(s) you wanna see; repeat it to stack more columns in there πŸ’…
  • --noindent β€” turns off the pretty indenting on the JSON. chaotic but valid ✨
  • --prefix <PREFIX> β€” slaps a prefix on, like, every variable name πŸŽ€
  • --max-width <integer> β€” max display width, and anything <1 just disables it entirely. you can also set the CLIFF_MAX_TERM_WIDTH env var, but ngl the parameter wins over it πŸ‘‘
  • --fit-width β€” makes the table fit your display width. it's implied if --max-width is greater than 0. set CLIFF_FIT_WIDTH=1 to always have it on πŸ¦‹
  • --print-empty β€” prints an empty table even when there's no data to show. yes bestie, an empty table. it's giving "at least we tried" 🫢
  • replica β€” the ID of the share replica.
  • export-location β€” the ID of the share replica export location.

this one's brought to you by the python-manilaclient plugin, periodt ✨

🌸 share replica list 🌸

List out your share replicas, iconic behaviour only πŸ’–

share replica list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--share <share>]
    [--property <key=value>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --share <share> β€” Name or ID of the share to list replicas for.
  • --property <key=value> β€” Filter replicas having a given metadata key=value property. (repeat option to filter by multiple properties)

provided by the python-manilaclient plugin, no cap ✨

πŸ”₯ share replica promote πŸ”₯

Promote the specified replica to 'active' replica_state β€” main character energy, honestly πŸ‘‘

share replica promote
    [--quiesce-wait-time <quiesce-wait-time>]
    [--wait]
    <replica>
  • --quiesce-wait-time <quiesce-wait-time> β€” Quiesce wait time in seconds. Available for microversion >= 2.75
  • --wait β€” Wait for share replica promotion
  • replica β€” ID of the share replica.

courtesy of the python-manilaclient plugin πŸ’…

πŸ¦‹ share replica resync πŸ¦‹

Attempts to update the share replica with its 'active' mirror. like syncing your notes app across devices but way more dramatic 😭

share replica resync <replica>
  • replica β€” ID of the share replica to resync.

from the python-manilaclient plugin ✨

πŸ’œ share replica set πŸ’œ

Explicitly set share replica status and/or replica-state and/or property β€” you're literally setting the vibes manually πŸŽ€

share replica set
    [--replica-state <replica-state>]
    [--status <status>]
    [--property <key=value>]
    <replica>
  • --replica-state <replica-state> β€” Indicate which replica_state to assign the replica. Options include in_sync, out_of_sync, active and error.
  • --status <status> β€” Indicate which status to assign the replica. Options include available, error, creating, deleting and error_deleting.
  • --property <key=value> β€” Set a property to this replica (repeat option to set multiple properties). Available only for microversion >= 2.95
  • replica β€” ID of the share replica to modify.

python-manilaclient plugin did that 🫢

⭐ share replica show ⭐

Show all the deets about a replica β€” the full lore drop πŸ”

share replica show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <replica>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • replica β€” ID of the share replica. Available only for microversion >= 2.47.

shoutout to the python-manilaclient plugin πŸ’–

🌈 share replica unset 🌈

Unset a share replica property β€” we're removing, not adding. it's giving declutter szn 🧹

share replica unset [--property <key>] <replica>
  • --property <key> β€” Remove a property from replica (repeat option to remove multiple properties)
  • replica β€” ID of the share replica to unset property from

yup, python-manilaclient plugin again 🌸

πŸŽ€ share availability zones πŸŽ€

πŸŽ€ share availability zone list πŸŽ€

List all the availability zones, every single one, no crumbs left behind πŸ’«

share availability zone list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order

brought to you by the python-manilaclient plugin ✨

πŸ“ share backups πŸ“

πŸ“ share backup create πŸ“

Create a backup of the given share β€” save a copy, protect your peace, all that πŸ’Ύ

share backup create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name <name>]
    [--description <description>]
    [--backup-options <key=value>]
    <share>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --name <name> β€” Optional share backup name. (Default=None).
  • --description <description> β€” Optional share backup description. (Default=None).
  • --backup-options <key=value> β€” Backup driver option key=value pairs (Optional, Default=None).
  • share β€” Name or ID of the share to backup.

python-manilaclient plugin, obviously πŸ’…

πŸ’€ share backup delete πŸ’€

Delete one or more share backups β€” it's over for them, respectfully πŸ—‘οΈ

share backup delete [--wait] <backup> [<backup> ...]
  • --wait β€” Wait for share backup deletion
  • backup β€” Name or ID of the backup(s) to delete

from the python-manilaclient plugin 🫢

πŸ¦‹ share backup list πŸ¦‹

List share backups β€” the whole collection, on display ✨

share backup list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--share <share>]
    [--name <name>]
    [--description <description>]
    [--name~ <name~>]
    [--description~ <description~>]
    [--status <status>]
    [--limit <num-backups>]
    [--offset <offset>]
    [--sort-key <sort_key>]
    [--sort-dir <sort_dir>]
    [--detail [<0|1>]]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” max width of the display, bestie. Anything <1 turns it off completely. You can also set the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter wins if you pass both. πŸ‘‘
  • --fit-width β€” makes the table fit your display width. It's implied if --max-width is greater than 0. Want it always on? Set CLIFF_FIT_WIDTH=1 in your environment. ✨
  • --print-empty β€” prints an empty table when there's literally no data to show. Iconic empty-state behaviour, no cap.
  • --sort-column SORT_COLUMN β€” tells it which column(s) to sort by. Columns you list first get priority, non-existing columns are just ignored (not me, ignoring them πŸ’…), column names are case-insensitive and accept underscores for spaces, and yes you can repeat it.
  • --sort-ascending β€” sorts the column(s) ascending. ⬆️
  • --sort-descending β€” sorts the column(s) descending. ⬇️
  • --share <share> β€” name or ID of the share to list backups for. πŸ“
  • --name <name> β€” filters results by name. Default=None.
  • --description <description> β€” filters results by description. Default=None.
  • --name~ <name~> β€” filters results matching a share backup name pattern. Pattern mode, iykyk. πŸ¦‹
  • --description~ <description~> β€” filters results matching a share backup description (no period in the original, we keep it real).
  • --status <status> β€” filters results by status. Default=None.
  • --limit <num-backups> β€” caps how many backups come back. Default=None.
  • --offset <offset> β€” start position of the backup records listing. πŸ“
  • --sort-key <sort_key>, --sort_key <sort_key> β€” key to be sorted, available keys are ('id', 'status', 'size', 'share_id', 'progress', 'restore_progress', 'name', 'host', 'topic', 'project_id'). Default=None.
  • --sort-dir <sort_dir>, --sort_dir <sort_dir> β€” sort direction, available values are ('asc', 'desc'). OPTIONAL: Default=None.
  • --detail <0|1> β€” show detailed information about share backups. πŸ”

This command is provided by the python-manilaclient plugin.


🌸 share backup restore

Attempt to restore share backup. Bringing it back from the void, lowkey hero behaviour. 🫢

share backup restore [--target-share <target-share>] [--wait] <backup>
  • --target-share <target-share> β€” the share to restore the backup to. Source share if none supplied.
  • --wait β€” wait for the restore conclusion. Patient queen energy. ⏳

backup β€” ID of the backup to restore.

This command is provided by the python-manilaclient plugin.


πŸ’… share backup set

Set share backup properties. Glow-up time. ✨

share backup set
    [--name <name>]
    [--description <description>]
    [--status <status>]
    <backup>
  • --name <name> β€” set a name to the backup.
  • --description <description> β€” set a description to the backup.
  • --status <status> β€” assign a status to the backup (Admin only). Options include: available, error, creating, deleting, restoring.

backup β€” name or ID of the backup to set a property for.

This command is provided by the python-manilaclient plugin.


πŸŽ€ share backup show

Show details of a backup. The full rundown, bestie. πŸ‘‘

share backup show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <backup>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.

backup β€” ID of the share backup.

This command is provided by the python-manilaclient plugin.


πŸ¦‹ share backup unset

Unset share backup properties. Taking it back, respectfully. πŸ™ˆ

share backup unset [--name] [--description] <backup>
  • --name β€” unset a name to the backup.
  • --description β€” unset a description to the backup.

backup β€” name or ID of the backup to unset a property for.

This command is provided by the python-manilaclient plugin.


🌈 share services

(group heading β€” the commands live below, keep scrolling bestie)


⭐ share service ensure shares

Run ensure shares in a back end (Admin only).

share service ensure shares <host>

host β€” host to run ensure shares. <'example_host@example_backend>'.

This command is provided by the python-manilaclient plugin.


πŸ‘‘ share service list

List share services (Admin only).

share service list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--host <host>]
    [--binary <binary>]
    [--status <status>]
    [--state <state>]
    [--zone <zone>]
    [--ensuring <ensuring>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric.
  • --noindent β€” whether to disable indenting the JSON.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated.
  • --sort-ascending β€” sort the column(s) in ascending order.
  • --sort-descending β€” sort the column(s) in descending order.
  • --host <host> β€” filter services by name of the host.
  • --binary <binary> β€” filter services by the name of the service.
  • --status <status> β€” filter results by status.
  • --state <state> β€” filter results by state.
  • --zone <zone> β€” filter services by their availability zone.
  • --ensuring <ensuring> β€” filter services running ensure shares or not.

This command is provided by the python-manilaclient plugin.


πŸ’œ share service set

Enable/Disable share service (Admin only). Flip the switch, bestie. πŸ”₯

share service set
    [--enable | --disable]
    [--disable-reason <reason>]
    <host>
    <binary>
  • --enable β€” enable share service.
  • --disable β€” disable share service.
  • --disable-reason <reason> β€” reason for disabling the service (should be used with --disable option).

host β€” host name as <'example_host@example_backend>'.

binary β€” service binary, could be 'manila-share', 'manila-scheduler' or 'manila-data'.

This command is provided by the python-manilaclient plugin.


🧚 share security services


🌸 share security service create

Create security service used by project.

share security service create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--dns-ip <dns-ip>]
    [--ou <ou>]
    [--server <server>]
    [--domain <domain>]
    [--user <user]
    [--password <password>]
    [--name <name>]
    [--description <description>]
    [--default-ad-site <default_ad_site>]
    <type>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table.
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns.
  • --noindent β€” whether to disable indenting the JSON.
  • --prefix <PREFIX> β€” add a prefix to all variable names.
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable.
  • --print-empty β€” print empty table if there is no data to show.
  • --dns-ip <dns-ip> β€” DNS IP address of the security service used inside project's network.
  • --ou <ou> β€” security service OU (Organizational Unit). Available only for microversion >= 2.44.
  • --server <server> β€” security service IP address or hostname.
  • --domain <domain> β€” security service domain.
  • --user <user β€” security service user or group used by project. (yes, that bracket is missing in the original β€” we don't fix it, we respect it πŸ’€)
  • --password <password> β€” password used by user.
  • --name <name> β€” security service name.
  • --description <description> β€” security service description.
  • --default-ad-site <default_ad_site> β€” default AD site. Available only for microversion >= 2.76. Can be provided in the place of '--server' but not along with it.

type β€” security service type. Possible options are: 'ldap', 'kerberos', 'active_directory'.

This command is provided by the python-manilaclient plugin.


πŸŽ€ share security service delete

Delete one or more security services. Okay bye bestie πŸ‘‹βœ¨

share security service delete
    <security-service>
    [<security-service> ...]

security-service β€” name or ID of the security service(s) to delete.

This command is provided by the python-manilaclient plugin.


🌈 share security service list

List security services.

πŸŽ€ share security service list β€” the whole roster, filtered to perfection

okay bestie, this one lists out the security services (your LDAP / AD / Kerberos situations) and then lets you narrow them down with so many filters it's honestly giving search-engine energy. here's the shape of it:

share security service list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--share-network <share-network>]
    [--status <status>]
    [--name <name>]
    [--type <type>]
    [--user <user]
    [--dns-ip <dns-ip>]
    [--ou <ou>]
    [--default-ad-site <default_ad_site>]
    [--server <server>]
    [--domain <domain>]
    [--detail]
    [--limit <num-security-services>]
    [--marker <security-service>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table. ✨
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, and yes you can repeat it to show multiple columns 🫢
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence (it wins, always) πŸ’…
  • --fit-width β€” fit the table to the display width. implied if --max-width is greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print an empty table if there's no data to show (so you get an aesthetic void instead of nothing)
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by (columns specified first have priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order ⬆️
  • --sort-descending β€” sort the column(s) in descending order ⬇️
  • --all-projects β€” display information from all projects (Admin only)
  • --share-network <share-network> β€” filter results by share network name or ID
  • --status <status> β€” filter results by status
  • --name <name> β€” filter results by security service name
  • --type <type> β€” filter results by security service type
  • --user <user β€” filter results by security service user or group used by project (the missing > is literally in the page, not my fault, iykyk)
  • --dns-ip <dns-ip> β€” filter results by DNS IP address used inside project's network
  • --ou <ou> β€” filter results by security service OU (Organizational Unit). available only for microversion >= 2.44 πŸ¦‹
  • --default-ad-site <default_ad_site> β€” filter results by security service default_ad_site. available only for microversion >= 2.76
  • --server <server> β€” filter results by security service IP address or hostname
  • --domain <domain> β€” filter results by security service domain
  • --detail β€” show detailed information about filtered security services
  • --limit <num-security-services> β€” limit the number of security services returned
  • --marker <security-service> β€” the last security service ID of the previous page (pagination slay)

this command is provided by the python-manilaclient plugin πŸ’œ


πŸ”§ share security service set β€” glow-up time

set security service. it's the makeover command, no cap.

share security service set
    [--dns-ip <dns-ip>]
    [--ou <ou>]
    [--server <server>]
    [--domain <domain>]
    [--user <user]
    [--password <password>]
    [--name <name>]
    [--description <description>]
    [--default-ad-site <default_ad_site>]
    <security-service>
  • --dns-ip <dns-ip> β€” set DNS IP address used inside project's network
  • --ou <ou> β€” set security service OU (Organizational Unit). available only for microversion >= 2.44
  • --server <server> β€” set security service IP address or hostname
  • --domain <domain> β€” set security service domain
  • --user <user β€” set security service user or group used by project
  • --password <password> β€” set password used by user πŸ”
  • --name <name> β€” set security service name
  • --description <description> β€” set security service description
  • --default-ad-site <default_ad_site> β€” Default AD site. available only for microversion >= 2.76
  • security-service β€” security service name or ID

this command is provided by the python-manilaclient plugin πŸ’œ


πŸ‘€ share security service show β€” the full reveal

show security service. one (1) single service, all the tea.

share security service show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <security-service>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names πŸŽ€
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence
  • --fit-width β€” fit the table to the display width. implied if --max-width is greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show
  • security-service β€” security service name or ID to show

this command is provided by the python-manilaclient plugin πŸ’œ


🧹 share security service unset β€” the anti-makeover

unset security service. we're removing things, it's a cleanse ✨

share security service unset
    [--dns-ip]
    [--ou]
    [--server]
    [--domain]
    [--user]
    [--password]
    [--name]
    [--description]
    [--default-ad-site]
    <security-service>
  • --dns-ip β€” unset DNS IP address used inside project's network
  • --ou β€” unset security service OU (Organizational Unit). available only for microversion >= 2.44
  • --server β€” unset security service IP address or hostname
  • --domain β€” unset security service domain
  • --user β€” unset security service user or group used by project
  • --password β€” unset password used by user
  • --name β€” unset security service name
  • --description β€” unset security service description
  • --default-ad-site β€” Default AD site. available only for microversion >= 2.76
  • security-service β€” security service name or ID

this command is provided by the python-manilaclient plugin πŸ’œ


🌈 share pools

(that's the whole heading, bestie, there's literally nothing else under it β€” it's giving main character with no lines)

🏊 share pool list β€” every pool the scheduler knows about

list all backend storage pools known to the scheduler (Admin only).

share pool list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--host <host>]
    [--backend <backend>]
    [--pool <pool>]
    [--detail]
    [--share-type <share-type>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence
  • --fit-width β€” fit the table to the display width. implied if --max-width is greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by (columns specified first have priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --host <host> β€” filter results by host name. regular expressions are supported πŸ”₯
  • --backend <backend> β€” filter results by backend name. regular expressions are supported
  • --pool <pool> β€” filter results by pool name. regular expressions are supported
  • --detail β€” show detailed information about pools
  • --share-type <share-type> β€” filter results by share type name or ID. available only for microversion >= 2.23

this command is provided by the python-manilaclient plugin πŸ’œ


🌸 share limits

πŸ“Š share limits show β€” the receipts, per user

show a list of share limits for a user.

share limits show
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    (--absolute | --rate)
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence
  • --fit-width β€” fit the table to the display width. implied if --max-width is greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by (columns specified first have priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sorts the column(s) the other way, biggest-to-smallest energy πŸ’…
  • --absolute β€” grabs the absolute limits for the user, no cap
  • --rate β€” grabs the API rate limits for the user ⚑

✨ this command ships with the python-manilaclient plugin 🫢


🌸 share instance export location 🌸

πŸ¦‹ share instance export location list πŸ¦‹

Lists all the export locations for a share instance β€” like, where can you actually reach this thing? πŸ‘€

share instance export location list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <instance>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table ✨
  • -c COLUMN, --column COLUMN β€” pick the column(s) you wanna include; repeat it to show multiple columns πŸŽ€
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” turns off indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence πŸ’…
  • --fit-width β€” fits the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable it
  • --print-empty β€” prints an empty table if there's literally no data to show πŸ™ˆ
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by (columns specified first have priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sorts the column(s) in ascending order ⭐
  • --sort-descending β€” sorts the column(s) in descending order πŸ’€
  • instance β€” ID of the share instance.

✨ provided by the python-manilaclient plugin, always and forever 🫢


πŸŽ€ share instance export location show πŸŽ€

Shows the export location for a share instance β€” one at a time, main character style πŸ‘‘

share instance export location show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <instance>
    <export_location>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, repeat to show multiple columns 🌸
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” adds a prefix to all variable names πŸŽ€
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • instance β€” Name or ID of the share instance
  • export_location β€” ID of the share instance export location.

✨ this one's also brought to you by the python-manilaclient plugin πŸ’œ


🌈 share groups 🌈

πŸ’œ share group types πŸ’œ

πŸ“ share group type create πŸ“

Creates a brand-new share group type β€” birth of an icon tbh ✨

share group type create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--group-specs [<key=value> ...]]
    [--public <public>]
    <name>
    <share-types>
    [<share-types> ...]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --group-specs <key=value> β€” Share Group type extra specs by key and value. OPTIONAL: Default=None. Example: --group-specs consistent_snapshot_support=host. 🧚
  • --public <public> β€” Make type accessible to the public (default true).
  • name β€” Share group type name
  • share-types β€” List of share type names or IDs. Example: my-share-type-1 my-share-type-2

✨ yup, python-manilaclient plugin did that πŸ’…


πŸ’€ share group type delete πŸ’€

Deletes a share group type. gone, reduced to atoms 🫠

share group type delete <share-group-types> [<share-group-types> ...]
  • share-group-types β€” Name or ID of the share group type(s) to delete

✨ python-manilaclient plugin, of course 🫢


⭐ share group type list ⭐

Lists share types β€” the whole lineup, vibe check included πŸ‘‘

share group type list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all]
    [--group-specs [<key=value> ...]]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns πŸŽ€
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • --all β€” Display all share group types whether public or private. Default=False. (Admin only πŸ”)
  • --group-specs <key=value> β€” Filter share group types with group specs (key=value).

✨ brought to you by the python-manilaclient plugin πŸ’–


🌸 share group type set 🌸

Sets properties on a share group type β€” glow-up time ✨

share group type set
    [--group-specs [<key=value> ...]]
    <share-group-type>
  • --group-specs <key=value> β€” Extra specs key and value of share group type that will be used for share type creation. OPTIONAL: Default=None. Example: --group-specs consistent-snapshot-support=True
  • share-group-type β€” Name or ID of the share group type to modify

✨ python-manilaclient plugin, say it with me 🫢


πŸŽ€ share group type show πŸŽ€

Shows you a share group type in all its glory πŸ‘‘

share group type show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <share-group-type>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • share-group-type β€” Name or ID of the share group type to show

✨ python-manilaclient plugin did this πŸ’œ


πŸ¦‹ share group type unset πŸ¦‹

Unsets share group type extra specs β€” the un-glow-up πŸ™ˆ

share group type unset <share-group-type> <key> [<key> ...]
  • share-group-type β€” Name or ID of the share grouptype to modify
  • key β€” Remove group specs from this share group type

✨ yes bestie, still the python-manilaclient plugin 🫢


🧚 share group snapshots 🧚

πŸ“ share group snapshot create πŸ“

Creates a share group snapshot of the given share group β€” a lil time capsule for your group πŸ“Έ

share group snapshot create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--name <name>]
    [--description <description>]
    [--wait]
    <share-group>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns 🌸
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” Maximum display width, <1 to disable. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” Fit the table to the display width. Implied if --max-width greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” Print empty table if there is no data to show.
  • --name <name> β€” Optional share group snapshot name. (Default=None)
  • --description <description> β€” an optional lil description for your share group snapshot. (Default=None) πŸŽ€
  • --wait β€” hang out until the share group snapshot is actually created. patience is a virtue bestie ✨
  • share-group β€” the name or ID of the share group. that's it, that's the whole thing πŸ’…

this command is provided by the python-manilaclient plugin.


🌸 share group snapshot delete

deletes one or more share group snapshots. plural. go off 😌

share group snapshot delete
    [--force]
    [--wait]
    <share-group-snapshot>
    [<share-group-snapshot> ...]
  • --force β€” try to force delete the share group snapshot(s). (Default=False) β€” Admin only, so don't get any ideas πŸ™ˆ
  • --wait β€” wait for the share group snapshot deletion to finish 🫢
  • share-group-snapshot β€” name or ID of the group snapshot(s) you're deleting

this command is provided by the python-manilaclient plugin.


πŸ¦‹ share group snapshot list

lists your share group snapshots. the full menu, basically πŸ“

share group snapshot list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--all-projects]
    [--name <name>]
    [--status <status>]
    [--share-group <share-group>]
    [--limit <limit>]
    [--marker <marker>]
    [--sort <key>[:<direction>]]
    [--detailed]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” pick which column(s) to include, repeat it to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” turns off JSON indenting, for the minimalists πŸ’€
  • --max-width <integer> β€” max display width, <1 to disable. you can also set the CLIFF_MAX_TERM_WIDTH environment variable, but this parameter wins if both are around πŸ‘‘
  • --fit-width β€” fits the table to your display width. implied if --max-width is greater than 0. set CLIFF_FIT_WIDTH=1 to always have it on ✨
  • --print-empty β€” prints an empty table even when there's no data to show. empty but make it fashion πŸ’…
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data by (columns listed first get priority, non-existing columns are just ignored), column names are case-insensitive and accept underscores for spaces, and yes you can repeat it
  • --sort-ascending β€” sort the column(s) ascending ⬆️
  • --sort-descending β€” sort the column(s) descending ⬇️
  • --all-projects β€” show info from all projects (Admin only)
  • --name <name> β€” filter results by name
  • --status <status> β€” filter results by status
  • --share-group <share-group> β€” filter results by share group name or ID
  • --limit <limit> β€” limit the number of share groups returned
  • --marker <marker> β€” the last share group snapshot ID of the previous page (pagination bestie 🫢)
  • --sort <key>[:<direction>] β€” sort output by selected keys and directions (asc or desc) (default: name:asc), multiple keys and directions can be specified separated by comma
  • --detailed β€” show detailed information about the share group snapshot πŸ‘€

this command is provided by the python-manilaclient plugin.


🧚 share group snapshot members list

lists the members of a share group snapshot. the whole squad 🌈

share group snapshot members list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <share-group-snapshot>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. implied if --max-width greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --sort-column SORT_COLUMN β€” specify the column(s) to sort the data (columns specified first have a priority, non-existing columns are ignored), column names are case-insensitive and accept underscores for spaces, can be repeated
  • --sort-ascending β€” sort the column(s) in ascending order
  • --sort-descending β€” sort the column(s) in descending order
  • share-group-snapshot β€” name or ID of the group snapshot to list members for

this command is provided by the python-manilaclient plugin.


πŸ’œ share group snapshot set

sets properties on a share group snapshot. glow-up time ✨

share group snapshot set
    [--name <name>]
    [--description <description>]
    [--status <status>]
    <share-group-snapshot>
  • --name <name> β€” set a name for the snapshot
  • --description <description> β€” set a description for the snapshot
  • --status <status> β€” explicitly set the state of a share group snapshot (Admin only). options include: available, error, creating, deleting, error_deleting. like, you're literally deciding its mood 😭
  • share-group-snapshot β€” name or ID of the snapshot to set a property for

this command is provided by the python-manilaclient plugin.


⭐ share group snapshot show

shows the details of one share group snapshot. the full lore drop πŸ“–

share group snapshot show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <share-group-snapshot>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. implied if --max-width greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • share-group-snapshot β€” name or ID of the share group snapshot to display

this command is provided by the python-manilaclient plugin.


πŸŽ€ share group snapshot unset

unsets a share group snapshot property. the anti-glow-up πŸ™ˆ

share group snapshot unset
    [--name]
    [--description]
    <share-group-snapshot>
  • --name β€” unset the share group snapshot name.
  • --description β€” unset the share group snapshot description.
  • share-group-snapshot β€” name or ID of the group snapshot to unset a property of

this command is provided by the python-manilaclient plugin.


🌈 share servers

πŸ”’ resource locks

πŸ‘‘ qos types


πŸ’– share qos type create

makes a brand new qos type. new qos type just dropped πŸ”₯

share qos type create
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--description <description>]
    [--spec <key=value>]
    <name>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” add a prefix to all variable names
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” fit the table to the display width. implied if --max-width greater than 0. set the environment variable CLIFF_FIT_WIDTH=1 to always enable
  • --print-empty β€” print empty table if there is no data to show.
  • --description <description> β€” the QoS type description.
  • --spec <key=value> β€” spec key and value of the QoS type that'll be used for QoS type creation. OPTIONAL: Default=None. Example: --spec qos_type='fixed' --spec peak_iops=300. stack 'em, bestie 🫢
  • name β€” QoS type name. it must be unique, no copies allowed πŸ’…

this command is provided by the python-manilaclient plugin.


πŸ’€ share qos type delete

deletes a qos type. gone, reduced to atoms 😭

share qos type delete <qos_types> [<qos_types> ...]
  • qos_types β€” name or ID of the qos type(s) to delete

this command is provided by the python-manilaclient plugin.


🌸 share qos type list

lists your qos types. the whole collection πŸ’…

share qos type list
    [-f {csv,json,table,value,yaml}]
    [-c COLUMN]
    [--quote {all,minimal,none,nonnumeric}]
    [--noindent]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name <name>]
    [--description <description>]
    [--name~ <name~>]
    [--description~ <description~>]
    [--limit <num-qos-types>]
    [--offset <offset>]
    [--sort-key <sort_key>]
    [--sort-dir <sort_dir>]
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” specify the column(s) to include, can be repeated to show multiple columns
  • --quote <QUOTE_MODE> β€” when to include quotes, defaults to nonnumeric
  • --noindent β€” whether to disable indenting the JSON
  • --max-width <integer> β€” maximum display width, <1 to disable. you can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence.
  • --fit-width β€” squishes the table to fit your display width ✨. It's implied automatically if --max-width is greater than 0. Wanna always have it on? Set the environment variable CLIFF_FIT_WIDTH=1 and it's yours forever πŸ’…
  • --print-empty β€” prints an empty table when there's literally no data to show. Not me wanting to see an empty table but okay bestie 🫢
  • --sort-column SORT_COLUMN β€” tell it which column(s) to sort the data by. Columns you name first get priority, and non-existing columns are just ignored (they get the silent treatment πŸ™ˆ). Column names are case-insensitive and accept underscores for spaces. You can repeat this flag as many times as you want πŸ”₯
  • --sort-ascending β€” sorts the column(s) in ascending order ⬆️
  • --sort-descending β€” sorts the column(s) in descending order ⬇️
  • --name <name> β€” filters the results by name. Default=None.
  • --description <description> β€” filters the results by description. Default=None.
  • --name~ <name~> β€” filters results that match a qos name pattern πŸ”
  • --description~ <description~> β€” filters results that match a qos description pattern πŸ”
  • --limit <num-qos-types> β€” caps how many qos types come back. Default=None.
  • --offset <offset> β€” where to start in the qos type records listing, like a little starting line 🏁
  • --sort-key <sort_key>, --sort_key <sort_key> β€” the key you wanna sort by. The available keys are ('id', 'name', 'created_at', 'updated_at'). Default=None.
  • --sort-dir <sort_dir>, --sort_dir <sort_dir> β€” sort direction, and the available values are ('asc', 'desc'). OPTIONAL: Default=None.

This command is provided by the python-manilaclient plugin πŸ’–


πŸŽ€ share qos type set πŸŽ€

Set a qos type's description or specs, bestie. Bestie behaviour fr fr.

share qos type set
    [--description <description>]
    [--spec <key=value>]
    <qos_type>
  • --description <description> β€” the shiny new description for the qos type ✨
  • --spec <key=value> β€” a spec key and value for the qos type that'll be used for the QoS type. OPTIONAL: Default=None. For example, --spec qos_type='fixed' --spec peak_iops=300 β€” see how you can stack 'em? πŸ‘‘
  • qos_type β€” name or ID of the qos type you're modifying πŸ› οΈ

This command is provided by the python-manilaclient plugin πŸ’–


🌸 share qos type show 🌸

Displays all the qos type details, like a full reveal moment πŸ’…

share qos type show
    [-f {json,shell,table,value,yaml}]
    [-c COLUMN]
    [--noindent]
    [--prefix PREFIX]
    [--max-width <integer>]
    [--fit-width]
    [--print-empty]
    <qos_type>
  • -f <FORMATTER>, --format <FORMATTER> β€” the output format, defaults to table
  • -c COLUMN, --column COLUMN β€” picks the column(s) to include. Repeat it to show multiple columns πŸ’«
  • --noindent β€” whether to disable indenting the JSON
  • --prefix <PREFIX> β€” adds a prefix to all the variable names
  • --max-width <integer> β€” the maximum display width, and <1 disables it. You can also use the CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes precedence (it wins the argument, periodt).
  • --fit-width β€” fits the table to the display width. Implied if --max-width is greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable it.
  • --print-empty β€” prints an empty table if there's no data to show.
  • qos_type β€” the qos type to display, as a name or an ID πŸ‘‘

This command is provided by the python-manilaclient plugin πŸ’–


πŸ¦‹ share qos type unset πŸ¦‹

Unsets qos type specs β€” yes, we're taking things away now 😭

share qos type unset [--description] [--spec <key>] <qos_type>
  • --description β€” unsets the qos type description 🧚
  • --spec <key> β€” removes the specified spec from this qos type
  • qos_type β€” name or ID of the qos type you're modifying πŸ› οΈ

This command is provided by the python-manilaclient plugin πŸ’–


🌈 OpenStackClient Mapping Guide 🌈

Note: the legacy manila CLI has been removed 😭. This guide is maintained for historical reference, to help users upgrading from older versions.

The following is a mapping between the legacy manila CLI client and OpenStackClient. Command options are only shown when necessary πŸ‘€


πŸ’œ USING THE PYTHON MODULE πŸ’œ

The manilaclient Python API

Usage

Okay so if you wanna use the Python API directly, you have to first get yourself an auth token and figure out which endpoint you wanna talk to. Once you've done that, you can use the API like this, bestie:

>>> from manilaclient import client
>>> manila = client.Client('2', $OS_USER_NAME, $OS_PASSWORD, $OS_PROJECT_NAME, $OS_AUTH_URL)
>>> manila.shares.list()
[]
>>> share = manila.shares.create(share_proto="nfs", size=1, share_network_id="some_share_network_id")
>>> share.id
ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70
>>> manila.shares.list()
[<Share: ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70>]
>>> share.delete

And it's not just creating and deleting shares β€” the manilaclient can manage share-types, access controls, and more! πŸŽ‰ Here's an example using CephFS with Ganesha for NFS support (this assumes it continues from the initialization above):

>>> share_type = client.share_types.create(
>>>     name="cephfsnfstype", spec_driver_handles_share_servers=False,
>>>     extra_specs={
>>>         'vendor_name': 'Ceph',
>>>         'storage_protocol': 'NFS',
>>>         'snapshot_support': False,
>>>     })
>>> share_type
<ShareType: cephfsnfstype>
>>> share = client.shares.create(
>>>     share_type='cephfsnfstype', name='cephnfsshare1',
>>>     share_proto="nfs", size=1)
>>> share.allow(access_type='ip', access="192.168.0.0/24", access_level='rw')
{'id': '29bc4b66-d55d-424d-8107-aee96d1c562b', 'share_id': '0ac95dd2-afba-4ba3-8934-721b29492f04', 'access_level': 'rw', 'access_to': '192.168.0.0/24', 'access_type': 'ip', 'state': 'new'}
>>> share.export_locations
['10.5.0.22:/volumes/_nogroup/cf0451b6-0a95-4982-a801-2e212e9c9b96']

In the example above, Manila gets set up with an NFS share type, backed by CephFS ✨. Then a share is created, and then access controls get added, giving the 192.168.0/24 subnet read/write access to the share. Iconic behaviour honestly πŸ‘‘


πŸŽ€ CONTRIBUTING πŸŽ€

Contributing

Basic Information

So You Want to Contribute...

For the general info on contributing to OpenStack, go check out the contributor guide at https://docs.openstack.org/contributors/ to get started 🫢. It covers all the basics that are common to every OpenStack project: the accounts you need, the basics of interacting with our Gerrit review system, how we communicate as a community, etc.

This project contains a python SDK and command line clients to interact with the API exposed by Manila (https://opendev.org/openstack/manila), the OpenStack Shared File Systems service. Refer to the Contributor guide for Manila (https://docs.openstack.org/manila/latest/contributor/contributing.html) for the info about the team's task trackers, communicating with the other project developers, and contacting the core team πŸ’–

Bugs

You found an issue and you wanna make sure we know about it? You can do that on Launchpad: https://bugs.launchpad.net/python-manilaclient πŸ›

And if you're looking to contribute, search for the low-hanging-fruit tag (https://bugs.launchpad.net/python-manilaclient/+bugs?field.tag=low-hanging-fruit) to see the issues that are easier to get started with 🌱

Project Structure

This project includes two distinct components, and yes they're both main characters:

The version 2 of the API for Manila supports microversions. The manilaclient library is expected to handle these for complete backwards compatibility. All versions of the Manila API are currently supported β€” however, future releases of manilaclient may drop support for older versions of the API πŸ‘€ (so like, heads up).

If you're working on the OpenStack Client command line interface plugin that exists in this project, do read the OpenStack Client Developer Documentation (https://docs.openstack.org/python-openstackclient/latest/contributor/index.html). That includes the Human Interface Guide and some design principles β€” including command structure and command specs β€” that you'll find helpful πŸ’…

Programming HowTos and Tutorials

Release Notes

What are release notes?

Release notes are important for change management within manila. Since manila follows a release cycle with milestones, release notes give the community and users a way to quickly grasp what changed within a development milestone. To the OpenStack release management and documentation teams, release notes are a way to compile changes per milestone. These notes get published on the OpenStack Releases website at http://releases.openstack.org πŸ”₯. Automated tooling is built around releasenotes and they get appropriately handled per release milestone, including any back-ports to stable releases.

What needs a release note?

  • Changes that impact an upgrade β€” most importantly, the ones that require a deployer to take some action while upgrading ⚠️
  • A new feature is implemented ✨
  • An existing feature is deprecated
  • An existing feature is removed
  • Behavior of an existing feature has changed in a discernible way to an end user or administrator
  • A security bug is fixed πŸ”’
  • New configuration option is added

What does not need a release note?

  • A code change that doesn't change the general behavior of any feature, like a code refactor or logging changes. One case of this could be the removal of the python 2.x compatibility layer, i.e., the "six" library, from code.
  • Functional or unit test coverage enhancement
  • Any change submitted with a justified TrivialFix flag added in the commit message
  • Adding or changing documentation within in-tree documentation guides

How do I add a release note?

We use Reno (https://docs.openstack.org/reno/latest/) to create and manage release notes. The new subcommand combines a random suffix with a "slug" value to make the new file with a unique name that's easy to identify again later 🏷️. To create a release note for your change, use:

$ reno new slug-goes-here

If reno isn't installed globally on your system, you can use a tox environment in manila:

$ tox -e newnote -- slug-goes-here
Note: when you're adding a bug-fix reno, name your file using the template: bug-<launchpad-bug-id>-slug-goes-here πŸ›

Then add the notes in yaml format in the file you created. Pay attention to the type of section πŸ‘€. The following are the general sections to use:

prelude

Genel comments about the change, bestie. The prelude from all notes in a release get combined β€” in note order β€” to produce one single prelude introducing the release. It's giving "opening act energy" ✨

features

New features introduced. Slay. πŸ’…

issues

A list of known issues with respect to the change being introduced. Like, if the new feature is experimental or known to not work in some cases, it should be mentioned right here. No cap, be honest about it. 🫢

upgrade

A list of upgrade notes in the release. Any removals that affect upgrades are to be noted here.

deprecations

Any features, APIs, configuration options that the change has deprecated. Deprecations are not removals. Deprecations suggest that there will be support for a certain timeline. Deprecation should allow time for users to make necessary changes for the removal to happen in a future release. It is important to note the timeline of deprecation in this section β€” literally, write the timeline down, iykyk. πŸ•°οΈ

critical

A list of fixed critical bugs (descriptions only).

security

A list of fixed security issues (descriptions only).

fixes

A list of other fixed bugs (descriptions only).

other

Other notes that are important but do not fall into any of the given categories.

---
prelude: >
    Replace this text with content to appear at the
    top of the section for this change.
features:
  - List new features here, or remove this section.
issues:
  - List known issues here, or remove this section.
upgrade:
  - List upgrade notes here, or remove this section.
deprecations:
  - List deprecation notes here, or remove this section
critical:
  - Add critical notes here, or remove this section.
security:
  - Add security notes here, or remove this section.
fixes:
  - Add normal bug fixes here, or remove this section.
other:
  - Add other notes here, or remove this section.

🌈 Dos and Don'ts

  • Release notes need to be succinct. Short and unambiguous descriptions are preferred 🎯
  • Write in past tense, unless you are writing an imperative statement
  • Do not have blank sections in the file πŸ™ˆ
  • Do not include code or links
  • Avoid special rst formatting unless absolutely necessary
  • Always prefer including a release note in the same patch
  • Release notes are not a replacement for developer/user/admin documentation
  • Release notes are not a way of conveying behavior of any features or usage of any APIs
  • Limit a release note to fewer than 2-3 lines per change per section
  • OpenStack prefers atomic changes. So remember that your change may need the fewest sections possible
  • General writing guidelines can be found here: <https://docs.openstack.org/doc-contrib-guide/writing-style/general-writing-guidelines.html>
  • Proofread your note. Pretend you are a user or a deployer who is reading the note after a milestone or a release has been cut πŸ‘‘
Fr fr, that last one is the vibe check that matters. Read it like a stranger would. πŸ’–

πŸ§ͺ Testing

Manilaclient has two types of tests β€” unit and functional.

The preferred way to run tests is using tox.

See Consistent Testing Interface <https://opendev.org/openstack/governance/src/branch/master/reference/project-testing-interface.rst> for more details.

πŸ¦‹ Functional tests

There is a suite of functional tests under the python-manilaclient/tests/functional directory. Unlike unit tests, these tests perform API calls to Manila and are designed to run on a DevStack.

Adding functional tests to your changes is not mandatory but it's certainly a good practice and it's encouraged. Lowkey iconic of you if you do. ✨

πŸ“ Prerequisite

You need to have manila running somewhere. If you wish to use DevStack to run manila, a good place to start would be the manila contributor guide: <https://docs.openstack.org/manila/latest/contributor/development-environment-devstack.html>

Note: We absolutely recommend using a fake shared file system back end as opposed to a real storage system, because our tests are written with the assumption that all APIs manila exposes are usable. In reality, different real world storage back ends have different capabilities <https://docs.openstack.org/manila/latest/admin/share_back_ends_feature_support_mapping.html> and this project doesn't need to worry about them to provide a general purpose interface to Manila. A fake driver provides fake storage, so don't expect to be able to mount or use the shared file systems that you create with it. 😭 Like, it's fake fake. Don't try to mount it, bestie.

You can use the following local.conf file to configure DevStack including Manila using a few fake back ends:

[[local|localrc]]

# auth
ADMIN_PASSWORD=nomoresecret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# enable logging for DevStack
LOGFILE=/opt/stack/logs/stack.sh.log

# Logging mode for DevStack services
VERBOSE=True

# manila
enable_plugin manila https://opendev.org/openstack/manila

# python-manilaclient
LIBS_FROM_GIT=python-manilaclient

# share driver
SHARE_DRIVER=manila.tests.share.drivers.dummy.DummyDriver

# share types
MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='snapshot_support=True create_share_from_snapshot_support=True revert_to_snapshot_support=True mount_snapshot_support=True'
MANILA_CONFIGURE_DEFAULT_TYPES=True

# backends and groups
MANILA_ENABLED_BACKENDS=alpha,beta,gamma,delta
MANILA_CONFIGURE_GROUPS=alpha,beta,gamma,delta,membernet,adminnet

# alpha
MANILA_OPTGROUP_alpha_share_driver=manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_alpha_driver_handles_share_servers=True
MANILA_OPTGROUP_alpha_share_backend_name=ALPHA
MANILA_OPTGROUP_alpha_network_config_group=membernet
MANILA_OPTGROUP_alpha_admin_network_config_group=adminnet

# beta
MANILA_OPTGROUP_beta_share_driver=manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_beta_driver_handles_share_servers=True
MANILA_OPTGROUP_beta_share_backend_name=BETA
MANILA_OPTGROUP_beta_network_config_group=membernet
MANILA_OPTGROUP_beta_admin_network_config_group=adminnet

# gamma
MANILA_OPTGROUP_gamma_share_driver=manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_gamma_driver_handles_share_servers=False
MANILA_OPTGROUP_gamma_share_backend_name=GAMMA
MANILA_OPTGROUP_gamma_replication_domain=DUMMY_DOMAIN

# delta
MANILA_OPTGROUP_delta_share_driver=manila.tests.share.drivers.dummy.DummyDriver
MANILA_OPTGROUP_delta_driver_handles_share_servers=False
MANILA_OPTGROUP_delta_share_backend_name=DELTA
MANILA_OPTGROUP_delta_replication_domain=DUMMY_DOMAIN

# membernet
MANILA_OPTGROUP_membernet_network_api_class=manila.network.standalone_network_plugin.StandaloneNetworkPlugin
MANILA_OPTGROUP_membernet_standalone_network_plugin_gateway=10.0.0.1
MANILA_OPTGROUP_membernet_standalone_network_plugin_mask=24
MANILA_OPTGROUP_membernet_standalone_network_plugin_network_type=vlan
MANILA_OPTGROUP_membernet_standalone_network_plugin_segmentation_id=1010
MANILA_OPTGROUP_membernet_standalone_network_plugin_allowed_ip_ranges=10.0.0.10-10.0.0.209
MANILA_OPTGROUP_membernet_network_plugin_ipv4_enabled=True

# adminnet
MANILA_OPTGROUP_adminnet_network_api_class=manila.network.standalone_network_plugin.StandaloneNetworkPlugin
MANILA_OPTGROUP_adminnet_standalone_network_plugin_gateway=11.0.0.1
MANILA_OPTGROUP_adminnet_standalone_network_plugin_mask=24
MANILA_OPTGROUP_adminnet_standalone_network_plugin_network_type=vlan
MANILA_OPTGROUP_adminnet_standalone_network_plugin_segmentation_id=1011
MANILA_OPTGROUP_adminnet_standalone_network_plugin_allowed_ip_ranges=11.0.0.10-11.0.0.19,11.0.0.30-11.0.0.39,11.0.0.50-11.0.0.199
MANILA_OPTGROUP_adminnet_network_plugin_ipv4_enabled=True

πŸŽ€ Configuration

The functional tests require a couple of configuration files, so you will need to generate them before running the tests. Annoying? A little. Necessary? Extremely. πŸ’…

🧚 For DevStack

On your DevStack machine, you can run the following script. It assumes that devstack is cloned onto your base folder.

DEST=${DEST:-/opt/stack}
MANILACLIENT_DIR=${MANILACLIENT_DIR:-$DEST/python-manilaclient}
MANILACLIENT_CONF="$MANILACLIENT_DIR/etc/manilaclient/manilaclient.conf"
# Go to the manilaclient dir
cd $MANILACLIENT_DIR
# Give permissions
sudo chown -R $USER:stack .
# Create manilaclient config file
touch $MANILACLIENT_CONF
# Import functions from devstack
source $HOME/devstack/functions
# Set options to config client.
source $HOME/devstack/openrc demo demo
export OS_TENANT_NAME=${OS_PROJECT_NAME:-$OS_TENANT_NAME}
iniset $MANILACLIENT_CONF DEFAULT username $OS_USERNAME
iniset $MANILACLIENT_CONF DEFAULT tenant_name $OS_TENANT_NAME
iniset $MANILACLIENT_CONF DEFAULT password $OS_PASSWORD
iniset $MANILACLIENT_CONF DEFAULT auth_url $OS_AUTH_URL
iniset $MANILACLIENT_CONF DEFAULT project_domain_name $OS_PROJECT_DOMAIN_NAME
iniset $MANILACLIENT_CONF DEFAULT user_domain_name $OS_USER_DOMAIN_NAME
iniset $MANILACLIENT_CONF DEFAULT project_domain_id $OS_PROJECT_DOMAIN_ID
iniset $MANILACLIENT_CONF DEFAULT user_domain_id $OS_USER_DOMAIN_ID
source $HOME/devstack/openrc admin demo
export OS_TENANT_NAME=${OS_PROJECT_NAME:-$OS_TENANT_NAME}
iniset $MANILACLIENT_CONF DEFAULT admin_username $OS_USERNAME
iniset $MANILACLIENT_CONF DEFAULT admin_tenant_name $OS_TENANT_NAME
iniset $MANILACLIENT_CONF DEFAULT admin_password $OS_PASSWORD
iniset $MANILACLIENT_CONF DEFAULT admin_auth_url $OS_AUTH_URL
iniset $MANILACLIENT_CONF DEFAULT admin_project_domain_name $OS_PROJECT_DOMAIN_NAME
iniset $MANILACLIENT_CONF DEFAULT admin_user_domain_name $OS_USER_DOMAIN_NAME
iniset $MANILACLIENT_CONF DEFAULT admin_project_domain_id $OS_PROJECT_DOMAIN_ID
iniset $MANILACLIENT_CONF DEFAULT admin_user_domain_id $OS_USER_DOMAIN_ID
# Suppress errors in cleanup of resources
SUPPRESS_ERRORS=${SUPPRESS_ERRORS_IN_CLEANUP:-False}
iniset $MANILACLIENT_CONF DEFAULT suppress_errors_in_cleanup $SUPPRESS_ERRORS
# Set access type usage specific to dummy driver that we are using in CI
iniset $MANILACLIENT_CONF DEFAULT access_types_mapping "nfs:ip,cifs:user"
# Dummy driver is capable of running share migration tests
iniset $MANILACLIENT_CONF DEFAULT run_migration_tests "True"
# Running mountable snapshot tests in dummy driver
iniset $MANILACLIENT_CONF DEFAULT run_mount_snapshot_tests "True"
# Create share network and use it for functional tests if required
USE_SHARE_NETWORK=$(trueorfalse True USE_SHARE_NETWORK)
if [[ ${USE_SHARE_NETWORK} = True ]]; then
    SHARE_NETWORK_NAME=${SHARE_NETWORK_NAME:-ci}
    DEFAULT_NEUTRON_NET=$(openstack network show private -c id -f value)
    DEFAULT_NEUTRON_SUBNET=$(openstack subnet show private-subnet -c id -f value)
    NEUTRON_NET=${NEUTRON_NET:-$DEFAULT_NEUTRON_NET}
    NEUTRON_SUBNET=${NEUTRON_SUBNET:-$DEFAULT_NEUTRON_SUBNET}
    manila share-network-create --name $SHARE_NETWORK_NAME --neutron-net $NEUTRON_NET --neutron-subnet $NEUTRON_SUBNET
    iniset $MANILACLIENT_CONF DEFAULT share_network $SHARE_NETWORK_NAME
    iniset $MANILACLIENT_CONF DEFAULT admin_share_network $SHARE_NETWORK_NAME

fi

# Set share type if required
if [[ "$SHARE_TYPE" ]]; then
    iniset $MANILACLIENT_CONF DEFAULT share_type $SHARE_TYPE

fi

like, yes bestie, the blank lines are doing literally nothing functional but they're iconic and we're keeping them, no notes πŸ’…


πŸ§ͺ Running the tests πŸ§ͺ

k so you wanna run the whole functional test suite? slay. first thing: make sure you're chillin' at the top level of your python-manilaclient module (think /opt/stack/python-manilaclient/), and then you literally just run:

tox -e functional

and that's it, that's the whole vibe πŸŽ€

what happens under the hood: it creates a virtual environment, loads all the packages from test-requirements.txt, and runs all the functional tests. that's the entire sentence, fr fr β€” no hidden steps, no extra flags, no secret handshake ✨


πŸ‘‘ Author πŸ‘‘

Author name not set

(yeah. that's the whole author section. it's giving mystery, it's giving anonymous main character energy πŸ™ˆ nobody claimed it, so here we are)


Rackspace, based on work by Jacob Kaplan-Moss

so the copyright line is Rackspace's, and it sits on top of work by Jacob Kaplan-Moss β€” give credit where credit is due, periodt 🫢


and that's a wrap on the whole page, bestie!! 🌈 you made it to the end, which is honestly such a flex πŸ‘‘ this beauty is python-manilaclient version 6.3.0, dated Jan 02, 1980 (yes, the date is a whole mood πŸ’€), and it goes out to you, PYTHON-MANILACLIENT(1) reader, with love πŸ¦‹πŸ’œ go forth and functional-test responsibly ✨

πŸ“¦ where this page comes from