
os-client-config provided helper functions for constructing legacy python-*client objects, as well as Connection and OpenStackCloud objects. openstacksdk isn't in the business of constructing python-*client objects for people, so let's remove these. We also dont' need helper functions in the openstack.config space for constructing Connection since we already have openstack.connect for that (and we'll fold OpenStackCloud in soon enough) Change-Id: I09e4fe258ff58a8e8aec5919369ff856a5102b76
59 lines
1.4 KiB
ReStructuredText
59 lines
1.4 KiB
ReStructuredText
========================================
|
|
Using openstack.config in an Application
|
|
========================================
|
|
|
|
Usage
|
|
-----
|
|
|
|
The simplest and least useful thing you can do is:
|
|
|
|
.. code-block:: python
|
|
|
|
python -m openstack.config.loader
|
|
|
|
Which will print out whatever if finds for your config. If you want to use
|
|
it from python, which is much more likely what you want to do, things like:
|
|
|
|
Get a named cloud.
|
|
|
|
.. code-block:: python
|
|
|
|
import openstack.config
|
|
|
|
cloud_region = openstack.config.OpenStackConfig().get_one(
|
|
'internap', region_name='ams01')
|
|
print(cloud_region.name, cloud_region.region, cloud_region.config)
|
|
|
|
Or, get all of the clouds.
|
|
|
|
.. code-block:: python
|
|
|
|
import openstack.config
|
|
|
|
cloud_regions = openstack.config.OpenStackConfig().get_all()
|
|
for cloud_region in cloud_regions:
|
|
print(cloud_region.name, cloud_region.region, cloud_region.config)
|
|
|
|
argparse
|
|
--------
|
|
|
|
If you're using `openstack.config` from a program that wants to process
|
|
command line options, there is a registration function to register the
|
|
arguments that both `openstack.config` and keystoneauth know how to deal
|
|
with - as well as a consumption argument.
|
|
|
|
.. code-block:: python
|
|
|
|
import argparse
|
|
import sys
|
|
|
|
import openstack.config
|
|
|
|
config = openstack.config.OpenStackConfig()
|
|
parser = argparse.ArgumentParser()
|
|
config.register_argparse_arguments(parser, sys.argv)
|
|
|
|
options = parser.parse_args()
|
|
|
|
cloud_region = config.get_one(argparse=options)
|