diff --git a/aodhclient/osc.py b/aodhclient/osc.py new file mode 100644 index 0000000..1b1c3a5 --- /dev/null +++ b/aodhclient/osc.py @@ -0,0 +1,57 @@ +# Copyright 2014 OpenStack Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import logging + +from openstackclient.common import utils + +LOG = logging.getLogger(__name__) + +DEFAULT_ALARMING_API_VERSION = '2' +API_VERSION_OPTION = 'os_alarming_api_version' +API_NAME = "alarming" +API_VERSIONS = { + "2": "aodhclient.v2.client.Client", +} + + +def make_client(instance): + """Returns an queues service client.""" + version = instance._api_version[API_NAME] + try: + version = int(version) + except ValueError: + version = float(version) + + aodh_client = utils.get_client_class( + API_NAME, + version, + API_VERSIONS) + # NOTE(sileht): ensure setup of the session is done + instance.setup_auth() + return aodh_client(session=instance.session) + + +def build_option_parser(parser): + """Hook to add global options.""" + parser.add_argument( + '--os-alarming-api-version', + metavar='', + default=utils.env( + 'OS_ALARMING_API_VERSION', + default=DEFAULT_ALARMING_API_VERSION), + help=('Queues API version, default=' + + DEFAULT_ALARMING_API_VERSION + + ' (Env: OS_ALARMING_API_VERSION)')) + return parser diff --git a/setup.cfg b/setup.cfg index 0bd5098..68a022a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -29,6 +29,18 @@ console_scripts = keystoneauth1.plugin = aodh-noauth = aodhclient.noauth:AodhNoAuthLoader +openstack.cli.extension = + metric = aodhclient.osc + +openstack.alarming.v2 = + alarm create = aodhclient.v2.alarm_cli:CliAlarmCreate + alarm list = aodhclient.v2.alarm_cli:CliAlarmList + alarm show = aodhclient.v2.alarm_cli:CliAlarmShow + alarm delete = aodhclient.v2.alarm_cli:CliAlarmDelete + alarm update = aodhclient.v2.alarm_cli:CliAlarmUpdate + alarm-history search = aodhclient.v2.alarm_history_cli:CliAlarmHistorySearch + alarm-history show = aodhclient.v2.alarm_history_cli:CliAlarmHistoryShow + alarming capabilities list = aodhclient.v2.capabilities_cli:CliCapabilitiesList [build_sphinx] source-dir = doc/source