Files
python-keystoneclient/keystoneclient/v3/contrib/federation/identity_providers.py
Gage Hugo 67b1cd3705 Fix 12 warnings when building keystoneclient docs
While building keystoneclient docs, there are currently 12 warnings
emitted that specify either:

WARNING: more than one target found for cross-reference u'list'
WARNING: more than one target found for cross-reference u'Auth'

This change specifies the correct object for the docstring with
"List" since there are many instances of "list" within
keystoneclient and specifies the proper "Auth" object. With these
changes, the warnings no longer appear.

Change-Id: I4515429df38760700552d48fc570c03abf116f83
2017-02-09 10:22:28 -06:00

114 lines
3.8 KiB
Python

# 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 positional import positional
from keystoneclient import base
class IdentityProvider(base.Resource):
"""Object representing Identity Provider container.
Attributes:
* id: user-defined unique string identifying Identity Provider.
"""
pass
class IdentityProviderManager(base.CrudManager):
"""Manager class for manipulating Identity Providers."""
resource_class = IdentityProvider
collection_key = 'identity_providers'
key = 'identity_provider'
base_url = 'OS-FEDERATION'
def _build_url_and_put(self, **kwargs):
url = self.build_url(dict_args_in_out=kwargs)
body = {self.key: kwargs}
return self._update(url, body=body, response_key=self.key,
method='PUT')
@positional.method(0)
def create(self, id, **kwargs):
"""Create Identity Provider object.
Utilize Keystone URI:
PUT /OS-FEDERATION/identity_providers/$identity_provider
:param id: unique id of the identity provider.
:param kwargs: optional attributes: description (str), enabled
(boolean) and remote_ids (list).
:returns: an IdentityProvider resource object.
:rtype: :py:class:`keystoneclient.v3.federation.IdentityProvider`
"""
return self._build_url_and_put(identity_provider_id=id,
**kwargs)
def get(self, identity_provider):
"""Fetch Identity Provider object.
Utilize Keystone URI:
GET /OS-FEDERATION/identity_providers/$identity_provider
:param identity_provider: an object with identity_provider_id
stored inside.
:returns: an IdentityProvider resource object.
:rtype: :py:class:`keystoneclient.v3.federation.IdentityProvider`
"""
return super(IdentityProviderManager, self).get(
identity_provider_id=base.getid(identity_provider))
def list(self, **kwargs):
"""List all Identity Providers.
Utilize Keystone URI:
GET /OS-FEDERATION/identity_providers
:returns: a list of IdentityProvider resource objects.
:rtype: List
"""
return super(IdentityProviderManager, self).list(**kwargs)
def update(self, identity_provider, **kwargs):
"""Update Identity Provider object.
Utilize Keystone URI:
PATCH /OS-FEDERATION/identity_providers/$identity_provider
:param identity_provider: an object with identity_provider_id
stored inside.
:returns: an IdentityProvider resource object.
:rtype: :py:class:`keystoneclient.v3.federation.IdentityProvider`
"""
return super(IdentityProviderManager, self).update(
identity_provider_id=base.getid(identity_provider), **kwargs)
def delete(self, identity_provider):
"""Delete Identity Provider object.
Utilize Keystone URI:
DELETE /OS-FEDERATION/identity_providers/$identity_provider
:param identity_provider: the Identity Provider ID itself or an object
with it stored inside.
"""
return super(IdentityProviderManager, self).delete(
identity_provider_id=base.getid(identity_provider))