diff --git a/doc/source/_extra/.htaccess b/doc/source/_extra/.htaccess index 1ac063cc3..8c0a00542 100644 --- a/doc/source/_extra/.htaccess +++ b/doc/source/_extra/.htaccess @@ -9,6 +9,8 @@ redirectmatch 301 ^/python-openstackclient/([^/]+)/specs/([^/.]+).html$ /python- redirectmatch 301 ^/python-openstackclient/([^/]+)/(command-(beta|errors|logs|options|wrappers)|developing|humaninterfaceguide|plugins).html$ /python-openstackclient/$1/contributor/$2.html redirectmatch 301 ^/python-openstackclient/([^/]+)/cli/plugin-commands.html$ /python-openstackclient/$1/cli/plugin-commands/index.html -# Identity pages were split into -v2 and -v3 for common subcommand names. +# For common subcommand names: +# - identity pages were split into -v2 and -v3 +# - image pages were split into -v1 and -v2 # The unversioned page is hidden but contains links to the versioned pages so links in the wild redirect somewhere sane. -redirectmatch 301 ^/python-openstackclient/([^/]+)/cli/command-objects/(ec2-credentials|endpoint|project|role|service|token|user).html$ /python-openstackclient/$1/cli/_hidden/$2.html +redirectmatch 301 ^/python-openstackclient/([^/]+)/cli/command-objects/(ec2-credentials|endpoint|image|project|role|service|token|user).html$ /python-openstackclient/$1/cli/_hidden/$2.html diff --git a/doc/source/cli/_hidden/image.rst b/doc/source/cli/_hidden/image.rst new file mode 100644 index 000000000..85ffde6f3 --- /dev/null +++ b/doc/source/cli/_hidden/image.rst @@ -0,0 +1,13 @@ +===== +image +===== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/image-v1 + ../command-objects/image-v2 diff --git a/doc/source/cli/command-objects/image-v1.rst b/doc/source/cli/command-objects/image-v1.rst new file mode 100644 index 000000000..4f7edc432 --- /dev/null +++ b/doc/source/cli/command-objects/image-v1.rst @@ -0,0 +1,6 @@ +======== +image v1 +======== + +.. autoprogram-cliff:: openstack.image.v1 + :command: image * diff --git a/doc/source/cli/command-objects/image-v2.rst b/doc/source/cli/command-objects/image-v2.rst new file mode 100644 index 000000000..473b26d07 --- /dev/null +++ b/doc/source/cli/command-objects/image-v2.rst @@ -0,0 +1,6 @@ +======== +image v2 +======== + +.. autoprogram-cliff:: openstack.image.v2 + :command: image * diff --git a/doc/source/cli/command-objects/image.rst b/doc/source/cli/command-objects/image.rst deleted file mode 100644 index 459a07702..000000000 --- a/doc/source/cli/command-objects/image.rst +++ /dev/null @@ -1,650 +0,0 @@ -===== -image -===== - -Image v1, v2 - -image add project ------------------ - -*Only supported for Image v2* - -Associate project with image - -.. program:: image add project -.. code:: bash - - openstack image add project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _image_add_project-image: -.. describe:: - - Image to share (name or ID). - -.. _image_add_project-project: -.. describe:: - - Project to associate with image (ID) - -image create ------------- - -*Image v1, v2* - -Create/upload an image - -.. program:: image create -.. code:: bash - - openstack image create - [--id ] - [--store ] - [--container-format ] - [--disk-format ] - [--size ] - [--min-disk ] - [--min-ram ] - [--location ] - [--copy-from ] - [--file | --volume ] - [--force] - [--checksum ] - [--protected | --unprotected] - [--public | --private | --community | --shared] - [--property [...] ] - [--tag [...] ] - [--project ] - [--project-domain ] - - -.. option:: --id - - Image ID to reserve - -.. option:: --store - - Upload image to this store - - *Image version 1 only.* - -.. option:: --container-format - - Image container format. The supported options are: ami, ari, aki, - bare, docker, ova, ovf. The default format is: bare - -.. option:: --disk-format - - Image disk format. The supported options are: ami, ari, aki, vhd, vmdk, - raw, qcow2, vhdx, vdi, iso, and ploop. The default format is: raw - -.. option:: --size - - Image size, in bytes (only used with :option:`--location` and :option:`--copy-from`) - - *Image version 1 only.* - -.. option:: --min-disk - - Minimum disk size needed to boot image, in gigabytes - -.. option:: --min-ram - - Minimum RAM size needed to boot image, in megabytes - -.. option:: --location - - Download image from an existing URL - - *Image version 1 only.* - -.. option:: --copy-from - - Copy image from the data store (similar to :option:`--location`) - - *Image version 1 only.* - -.. option:: --file - - Upload image from local file - -.. option:: --volume - - Create image from a volume - -.. option:: --force - - Force image creation if volume is in use (only meaningful with :option:`--volume`) - -.. option:: --checksum - - Image hash used for verification - - *Image version 1 only.* - -.. option:: --protected - - Prevent image from being deleted - -.. option:: --unprotected - - Allow image to be deleted (default) - -.. option:: --public - - Image is accessible to the public - -.. option:: --private - - Image is inaccessible to the public (default) - -.. option:: --community - - Image is accessible to the community - -.. option:: --shared - - Image can be shared - -.. option:: --property - - Set a property on this image (repeat option to set multiple properties) - -.. option:: --tag - - Set a tag on this image (repeat option to set multiple tags) - - .. versionadded:: 2 - -.. option:: --project - - Set an alternate project on this image (name or ID). - Previously known as `--owner`. - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 2 - -.. _image_create-image-name: -.. describe:: - - New image name - -image delete ------------- - -Delete image(s) - -.. program:: image delete -.. code:: bash - - openstack image delete - - -.. _image_delete-image: -.. describe:: - - Image(s) to delete (name or ID) - -image list ----------- - -List available images - -.. program:: image list -.. code:: bash - - openstack image list - [--public | --private | --community | --shared] - [--property ] - [--name ] - [--status ] - [--member-status ] - [--tag ] - [--long] - [--sort [:]] - [--limit ] - [--marker ] - -.. option:: --public - - List only public images - -.. option:: --private - - List only private images - -.. option:: --community - - List only community images - - *Image version 2 only.* - -.. option:: --shared - - List only shared images - - *Image version 2 only.* - -.. option:: --property - - Filter output based on property - -.. option:: --name - - Filter images based on name - - *Image version 2 only.* - -.. option:: --status - - Filter images based on status - - *Image version 2 only* - -.. option:: --member-status - - Filter images based on member status - - *Image version 2 only* - -.. option:: --tag - - Filter images based on tag - - *Image version 2 only* - -.. option:: --long - - List additional fields in output - -.. option:: --sort [:] - - Sort output by selected keys and directions(asc or desc) (default: name:asc), - multiple keys and directions can be specified separated by comma - -.. option:: --limit - - Maximum number of images to display. - - *Image version 2 only* - -.. option:: --marker - - The last image of the previous page. Display list of images - after marker. Display all images if not specified. (name or ID) - - *Image version 2 only* - -image member list ------------------ - -List projects associated with image - -.. program:: image member list -.. code:: bash - - openstack image member list - - -.. _image_member_list-image: -.. describe:: - - Image(s) to view members for (name or ID) - -image remove project --------------------- - -*Only supported for Image v2* - -Disassociate project with image - -.. program:: image remove project -.. code:: bash - - openstack image remove project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _image_remove_project: -.. describe:: - - Image to unshare (name or ID). - -.. describe:: - - Project to disassociate with image (name or ID) - -image save ----------- - -Save an image locally - -.. program:: image save -.. code:: bash - - openstack image save - --file - - -.. option:: --file - - Downloaded image save filename (default: stdout) - -.. _image_save-image: -.. describe:: - - Image to save (name or ID) - -image set ---------- - -*Image v1, v2* - -Set image properties - -.. program:: image set -.. code:: bash - - openstack image set - [--name ] - [--min-disk ] - [--min-ram ] - [--container-format ] - [--disk-format ] - [--size ] - [--protected | --unprotected] - [--public | --private | --community | --shared] - [--store ] - [--location ] - [--copy-from ] - [--file ] - [--volume ] - [--force] - [--checksum ] - [--stdin] - [--property [...] ] - [--tag [...] ] - [--architecture ] - [--instance-id ] - [--kernel-id ] - [--os-distro ] - [--os-version ] - [--ramdisk-id ] - [--deactivate | --activate] - [--project ] - [--project-domain ] - [--accept | --reject | --pending] - - -.. option:: --name - - New image name - -.. option:: --min-disk - - Minimum disk size needed to boot image, in gigabytes - -.. option:: --min-ram - - Minimum RAM size needed to boot image, in megabytes - -.. option:: --container-format - - Image container format. The supported options are: ami, ari, aki, - bare, docker, ova, ovf. - -.. option:: --disk-format - - Image disk format. The supported options are: ami, ari, aki, vhd, vmdk, - raw, qcow2, vhdx, vdi, iso, and ploop. - -.. option:: --size - - Size of image data (in bytes) - - *Image version 1 only.* - -.. option:: --protected - - Prevent image from being deleted - -.. option:: --unprotected - - Allow image to be deleted (default) - -.. option:: --public - - Image is accessible to the public - -.. option:: --private - - Image is inaccessible to the public (default) - -.. option:: --community - - Image is accessible to the community - -.. option:: --shared - - Image can be shared - -.. option:: --store - - Upload image to this store - - *Image version 1 only.* - -.. option:: --location - - Download image from an existing URL - - *Image version 1 only.* - -.. option:: --copy-from - - Copy image from the data store (similar to :option:`--location`) - - *Image version 1 only.* - -.. option:: --file - - Upload image from local file - - *Image version 1 only.* - -.. option:: --volume - - Update image with a volume - - *Image version 1 only.* - -.. option:: --force - - Force image update if volume is in use (only meaningful with :option:`--volume`) - - *Image version 1 only.* - -.. option:: --checksum - - Image hash used for verification - - *Image version 1 only.* - -.. option:: --stdin - - Allow to read image data from standard input - - *Image version 1 only.* - -.. option:: --property - - Set a property on this image (repeat option to set multiple properties) - - .. versionadded:: 2 - -.. option:: --tag - - Set a tag on this image (repeat option to set multiple tags) - - .. versionadded:: 2 - -.. option:: --architecture - - Operating system architecture - - .. versionadded:: 2 - -.. option:: --instance-id - - ID of server instance used to create this image - - .. versionadded:: 2 - -.. option:: --kernel-id - - ID of kernel image used to boot this disk image - - .. versionadded:: 2 - -.. option:: --os-distro - - Operating system distribution name - - .. versionadded:: 2 - -.. option:: --os-version - - Operating system distribution version - - .. versionadded:: 2 - -.. option:: --ramdisk-id - - ID of ramdisk image used to boot this disk image - - .. versionadded:: 2 - -.. option:: --deactivate - - Deactivate the image. - - .. versionadded:: 2 - -.. option:: --activate - - Activate the image. - - .. versionadded:: 2 - -.. option:: --project - - Set an alternate project on this image (name or ID). - Previously known as `--owner`. - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 2 - -.. option:: --accept - - Accept the image membership. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. option:: --reject - - Reject the image membership. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. option:: --pending - - Reset the image membership to 'pending'. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. _image_set-image: -.. describe:: - - Image to modify (name or ID) - -image show ----------- - -Display image details - -.. program:: image show -.. code:: bash - - openstack image show - [--human-readable] - - -.. option:: --human-readable - - Print image size in a human-friendly format. - -.. _image_show-image: -.. describe:: - - Image to display (name or ID) - -image unset ------------ - -*Only supported for Image v2* - -Unset image tags or properties - -.. program:: image unset -.. code:: bash - - openstack image unset - [--tag ] - [--property ] - - -.. option:: --tag - - Unset a tag on this image (repeat option to unset multiple tags) - -.. option:: --property - - Unset a property on this image (repeat option to unset multiple properties) - -.. _image_unset-image: -.. describe:: - - Image to modify (name or ID) diff --git a/doc/test/redirect-tests.txt b/doc/test/redirect-tests.txt index d18660a0b..5ed7c19cb 100644 --- a/doc/test/redirect-tests.txt +++ b/doc/test/redirect-tests.txt @@ -18,6 +18,7 @@ /python-openstackclient/latest/cli/plugin-commands.html 301 /python-openstackclient/latest/cli/plugin-commands/index.html /python-openstackclient/latest/cli/command-objects/ec2-credentials.html 301 /python-openstackclient/latest/cli/_hidden/ec2-credentials.html /python-openstackclient/latest/cli/command-objects/endpoint.html 301 /python-openstackclient/latest/cli/_hidden/endpoint.html +/python-openstackclient/latest/cli/command-objects/image.html 301 /python-openstackclient/latest/cli/_hidden/image.html /python-openstackclient/latest/cli/command-objects/project.html 301 /python-openstackclient/latest/cli/_hidden/project.html /python-openstackclient/latest/cli/command-objects/role.html 301 /python-openstackclient/latest/cli/_hidden/role.html /python-openstackclient/latest/cli/command-objects/service.html 301 /python-openstackclient/latest/cli/_hidden/service.html