summaryrefslogtreecommitdiff
path: root/doc/source/reference/apiv2.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/reference/apiv2.rst')
-rw-r--r--doc/source/reference/apiv2.rst89
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/source/reference/apiv2.rst b/doc/source/reference/apiv2.rst
new file mode 100644
index 0000000..3f75bc6
--- /dev/null
+++ b/doc/source/reference/apiv2.rst
@@ -0,0 +1,89 @@
+Python API v2
+=============
+
+To create a client::
+
+ from keystoneauth1 import loading
+ from keystoneauth1 import session
+ from glanceclient import Client
+
+ loader = loading.get_plugin_loader('password')
+ auth = loader.load_from_options(
+ auth_url=AUTH_URL,
+ username=USERNAME,
+ password=PASSWORD,
+ project_id=PROJECT_ID)
+ session = session.Session(auth=auth)
+
+ glance = Client('2', session=session)
+
+
+Create
+------
+Create a new image::
+
+ image = glance.images.create(name="myNewImage")
+ glance.images.upload(image.id, open('/tmp/myimage.iso', 'rb'))
+
+Show
+----
+Describe a specific image::
+
+ glance.images.get(image.id)
+
+Update
+------
+Update a specific image::
+
+ # update with a list of image attribute names and their new values
+ glance.images.update(image.id, name="myNewImageName")
+
+Custom Properties
+-----------------
+Set a custom property on an image::
+
+ # set an arbitrary property on an image
+ glance.images.update(image.id, my_custom_property='value')
+
+Remove a custom property from an image::
+
+ # remove the custom property 'my_custom_property'
+ glance.images.update(image.id, remove_props=['my_custom_property'])
+
+Delete
+------
+Delete specified image(s)::
+
+ glance.images.delete(image.id)
+
+List
+----
+List images you can access::
+
+ for image in glance.images.list():
+ print image
+
+Download
+--------
+Download a specific image::
+
+ d = glance.images.data(image.id)
+
+Share an Image
+--------------
+Share a specific image with a tenant::
+
+ glance.image_members.create(image_id, member_id)
+
+Remove a Share
+--------------
+Remove a shared image from a tenant::
+
+ glance.image_members.delete(image_id, member_id)
+
+List Sharings
+-------------
+Describe sharing permissions by image or tenant::
+
+ glance.image_members.list(image_id)
+