{"id":13617042,"url":"https://github.com/openstack/shade","last_synced_at":"2025-04-04T14:06:15.036Z","repository":{"id":25502760,"uuid":"28934135","full_name":"openstack/shade","owner":"openstack","description":"Client library for OpenStack containing Infra business logic. Mirror of code maintained at opendev.org.","archived":false,"fork":false,"pushed_at":"2025-01-12T09:22:35.000Z","size":6326,"stargazers_count":79,"open_issues_count":0,"forks_count":64,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T13:07:07.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://opendev.org/openstack/shade","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openstack.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-07T21:07:08.000Z","updated_at":"2025-01-12T09:22:39.000Z","dependencies_parsed_at":"2025-02-09T04:00:41.306Z","dependency_job_id":null,"html_url":"https://github.com/openstack/shade","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fshade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fshade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fshade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openstack%2Fshade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openstack","download_url":"https://codeload.github.com/openstack/shade/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190231,"owners_count":20898700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:36.225Z","updated_at":"2025-04-04T14:06:15.014Z","avatar_url":"https://github.com/openstack.png","language":"Python","funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"Introduction\n============\n\n.. warning::\n\n  shade has been superceded by `openstacksdk`_ and no longer takes new\n  features. The existing code will continue to be maintained indefinitely\n  for bugfixes as necessary, but improvements will be deferred to\n  `openstacksdk`_. Please update your applications to use `openstacksdk`_\n  directly.\n\nshade is a simple client library for interacting with OpenStack clouds. The\nkey word here is *simple*. Clouds can do many many many things - but there are\nprobably only about 10 of them that most people care about with any\nregularity. If you want to do complicated things, you should probably use\nthe lower level client libraries - or even the REST API directly. However,\nif what you want is to be able to write an application that talks to clouds\nno matter what crazy choices the deployer has made in an attempt to be\nmore hipster than their self-entitled narcissist peers, then shade is for you.\n\nshade started its life as some code inside of ansible. ansible has a bunch\nof different OpenStack related modules, and there was a ton of duplicated\ncode. Eventually, between refactoring that duplication into an internal\nlibrary, and adding logic and features that the OpenStack Infra team had\ndeveloped to run client applications at scale, it turned out that we'd written\nnine-tenths of what we'd need to have a standalone library.\n\n.. _usage_example:\n\nExample\n=======\n\nSometimes an example is nice.\n\n#. Create a ``clouds.yml`` file::\n\n     clouds:\n      mordred:\n        region_name: RegionOne\n        auth:\n          username: 'mordred'\n          password: XXXXXXX\n          project_name: 'shade'\n          auth_url: 'https://montytaylor-sjc.openstack.blueboxgrid.com:5001/v2.0'\n\n   Please note: *os-client-config* will look for a file called ``clouds.yaml``\n   in the following locations:\n\n   * Current Directory\n   * ``~/.config/openstack``\n   * ``/etc/openstack``\n\n   More information at https://pypi.org/project/os-client-config\n\n\n#. Create a server with *shade*, configured with the ``clouds.yml`` file::\n\n    import shade\n\n    # Initialize and turn on debug logging\n    shade.simple_logging(debug=True)\n\n    # Initialize cloud\n    # Cloud configs are read with os-client-config\n    cloud = shade.openstack_cloud(cloud='mordred')\n\n    # Upload an image to the cloud\n    image = cloud.create_image(\n        'ubuntu-trusty', filename='ubuntu-trusty.qcow2', wait=True)\n\n    # Find a flavor with at least 512M of RAM\n    flavor = cloud.get_flavor_by_ram(512)\n\n    # Boot a server, wait for it to boot, and then do whatever is needed\n    # to get a public ip for it.\n    cloud.create_server(\n        'my-server', image=image, flavor=flavor, wait=True, auto_ip=True)\n\n\nLinks\n=====\n\n* `Issue Tracker \u003chttps://storyboard.openstack.org/#!/project/760\u003e`_\n* `Code Review \u003chttps://review.openstack.org/#/q/status:open+project:openstack/shade,n,z\u003e`_\n* `Documentation \u003chttps://docs.openstack.org/shade/latest/\u003e`_\n* `Source \u003chttps://opendev.org/openstack/shade\u003e`_\n* `PyPI \u003chttps://pypi.org/project/shade/\u003e`_\n* `Mailing list \u003chttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack\u003e`_\n* `Release notes \u003chttps://docs.openstack.org/releasenotes/shade\u003e`_\n* `Contributing \u003chttps://docs.openstack.org/shade/latest/contributor/index.html\u003e`_\n\n.. _openstacksdk: https://docs.openstack.org/openstacksdk/latest/user/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fshade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenstack%2Fshade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenstack%2Fshade/lists"}