Wrap calls to metadata_admin.
Change-Id: I17a02f33792ea00ab4d60b9760092f42b95b3ae1
This commit is contained in:
parent
bd1a9e46c0
commit
951c4a434b
@ -12,12 +12,50 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import StringIO
|
||||
from metadataclient import exc
|
||||
|
||||
|
||||
class Wrapper(object):
|
||||
def __init__(self, service_id, **kwargs):
|
||||
self.id = service_id
|
||||
for key, value in kwargs.items():
|
||||
setattr(self, key, value)
|
||||
|
||||
|
||||
class Controller(object):
|
||||
def __init__(self, http_client):
|
||||
self.http_client = http_client
|
||||
|
||||
def list_services(self):
|
||||
resp, body = self.http_client.json_request('GET', '/v1/admin/services')
|
||||
services = body.get('services', None)
|
||||
if services:
|
||||
return [Wrapper(service['full_service_name'], **service)
|
||||
for service in services]
|
||||
else:
|
||||
raise exc.HTTPInternalServerError()
|
||||
|
||||
def download_service(self, service):
|
||||
resp, body = self.http_client.raw_request(
|
||||
'GET', '/v1/client/services/{service}'.format(service=service))
|
||||
return body
|
||||
|
||||
def upload_service(self, data):
|
||||
resp, body = self.http_client.raw_request(
|
||||
'POST', '/v1/admin/services/', body=data)
|
||||
return body
|
||||
|
||||
def delete_service(self, service):
|
||||
resp, body = self.http_client.raw_request(
|
||||
'DELETE', '/v1/admin/services/{service}'.format(service=service))
|
||||
return body
|
||||
|
||||
def toggle_enabled(self, service):
|
||||
resp, body = self.http_client.raw_request(
|
||||
'POST', '/v1/admin/services/{service}/toggle_enabled'.format(
|
||||
service=service))
|
||||
return body
|
||||
|
||||
def list_ui(self, path=None):
|
||||
if path:
|
||||
url = '/v1/admin/ui/{path}'.format(path=path)
|
||||
|
Loading…
Reference in New Issue
Block a user