Files
python-keystoneclient/keystoneclient/v3/services.py
Monty Taylor 7035376978 Accept v2 params to v3 service create
v2 clouds exist. So do v3 clouds. If the cloud is v3 but the user
tries v2 names, just do the right thing.

Change-Id: Iaceff4b2e3e6faf3923ae08064c6bddb264df514
2015-12-02 05:59:59 -08:00

82 lines
2.7 KiB
Python

# Copyright 2011 OpenStack Foundation
# Copyright 2011 Nebula, Inc.
# All Rights Reserved.
#
# 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.
from keystoneclient import base
from keystoneclient import utils
class Service(base.Resource):
"""Represents an Identity service.
Attributes:
* id: a uuid that identifies the service
* name: user-facing name of the service (e.g. Keystone)
* type: 'compute', 'identity', etc
* enabled: determines whether the service appears in the catalog
"""
pass
class ServiceManager(base.CrudManager):
"""Manager class for manipulating Identity services."""
resource_class = Service
collection_key = 'services'
key = 'service'
@utils.positional(1, enforcement=utils.positional.WARN)
def create(self, name, type=None,
enabled=True, description=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
return super(ServiceManager, self).create(
name=name,
type=type_arg,
description=description,
enabled=enabled,
**kwargs)
def get(self, service):
return super(ServiceManager, self).get(
service_id=base.getid(service))
@utils.positional(enforcement=utils.positional.WARN)
def list(self, name=None, type=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
return super(ServiceManager, self).list(
name=name,
type=type_arg,
**kwargs)
@utils.positional(enforcement=utils.positional.WARN)
def update(self, service, name=None, type=None, enabled=None,
description=None, **kwargs):
type_arg = type or kwargs.pop('service_type', None)
return super(ServiceManager, self).update(
service_id=base.getid(service),
name=name,
type=type_arg,
description=description,
enabled=enabled,
**kwargs)
def delete(self, service=None, id=None):
if service:
service_id = base.getid(service)
else:
service_id = id
return super(ServiceManager, self).delete(
service_id=service_id)