allow to pass session and adapter options
Change-Id: I083c723181964687980ec7624904dc5cc42bfb73
This commit is contained in:
parent
cbaa19664c
commit
add8ec1d80
|
@ -160,17 +160,19 @@ class GnocchiShell(app.App):
|
|||
self.options.os_api_version or
|
||||
self.options.gnocchi_api_version),
|
||||
session=session,
|
||||
service_type=(self.options.os_metric_service_type or
|
||||
self.options.os_service_type),
|
||||
service_name=(self.options.os_metric_service_name or
|
||||
self.options.os_service_name),
|
||||
interface=(self.options.os_metric_interface or
|
||||
self.options.os_interface),
|
||||
region_name=self.options.os_region_name,
|
||||
endpoint_override=(
|
||||
self.options.os_metric_endpoint_override or
|
||||
self.options.os_endpoint_override or
|
||||
self.options.endpoint),
|
||||
adapter_options=dict(
|
||||
service_type=(self.options.os_metric_service_type or
|
||||
self.options.os_service_type),
|
||||
service_name=(self.options.os_metric_service_name or
|
||||
self.options.os_service_name),
|
||||
interface=(self.options.os_metric_interface or
|
||||
self.options.os_interface),
|
||||
region_name=self.options.os_region_name,
|
||||
endpoint_override=(
|
||||
self.options.os_metric_endpoint_override or
|
||||
self.options.os_endpoint_override or
|
||||
self.options.endpoint),
|
||||
)
|
||||
)
|
||||
self._client = client.Client(**kwargs)
|
||||
return self._client
|
||||
|
|
|
@ -13,6 +13,10 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import debtcollector
|
||||
from debtcollector import removals
|
||||
import keystoneauth1.session
|
||||
|
||||
from gnocchiclient import client
|
||||
from gnocchiclient.v1 import archive_policy
|
||||
from gnocchiclient.v1 import archive_policy_rule
|
||||
|
@ -26,14 +30,46 @@ from gnocchiclient.v1 import status
|
|||
class Client(object):
|
||||
"""Client for the Gnocchi v1 API.
|
||||
|
||||
:param string session: session
|
||||
:type session: :py:class:`keystoneauth.adapter.Adapter`
|
||||
:param session: keystoneauth1 session
|
||||
:type session: :py:class:`keystoneauth1.session.Session` (optional)
|
||||
:param adapter_options: options to pass to
|
||||
:py:class:`keystoneauth1.adapter.Adapter`
|
||||
:type adapter_options: dict (optional)
|
||||
:param session_options: options to pass to
|
||||
:py:class:`keystoneauth1.session.Session`
|
||||
:type session_options: dict (optional)
|
||||
"""
|
||||
|
||||
def __init__(self, session=None, service_type='metric', **kwargs):
|
||||
@removals.removed_kwarg('service_type',
|
||||
message="Please use 'adapter_options="
|
||||
"dict(service_type=...)' instead")
|
||||
def __init__(self, session=None, service_type=None,
|
||||
adapter_options=None, session_options=None,
|
||||
**kwargs):
|
||||
"""Initialize a new client for the Gnocchi v1 API."""
|
||||
self.api = client.SessionClient(session, service_type=service_type,
|
||||
**kwargs)
|
||||
session_options = session_options or {}
|
||||
adapter_options = adapter_options or {}
|
||||
|
||||
adapter_options.setdefault('service_type', "metric")
|
||||
|
||||
# NOTE(sileht): Backward compat stuff
|
||||
if kwargs:
|
||||
for key in kwargs:
|
||||
debtcollector.deprecate(
|
||||
"Using the '%s' argument is deprecated" % key,
|
||||
message="Please use 'adapter_options=dict(%s=...)' "
|
||||
"instead" % key)
|
||||
adapter_options.update(kwargs)
|
||||
if service_type is not None:
|
||||
adapter_options['service_type'] = service_type
|
||||
|
||||
if session is None:
|
||||
session = keystoneauth1.session.Session(**session_options)
|
||||
else:
|
||||
if session_options:
|
||||
raise ValueError("session and session_options are exclusive")
|
||||
|
||||
self.api = client.SessionClient(session, **adapter_options)
|
||||
self.resource = resource.ResourceManager(self)
|
||||
self.resource_type = resource_type.ResourceTypeManager(self)
|
||||
self.archive_policy = archive_policy.ArchivePolicyManager(self)
|
||||
|
|
Loading…
Reference in New Issue