Merge "Wrap calls to metadata_admin."
This commit is contained in:
commit
2d9c67de88
@ -12,12 +12,50 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
import StringIO
|
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):
|
class Controller(object):
|
||||||
def __init__(self, http_client):
|
def __init__(self, http_client):
|
||||||
self.http_client = 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):
|
def list_ui(self, path=None):
|
||||||
if path:
|
if path:
|
||||||
url = '/v1/admin/ui/{path}'.format(path=path)
|
url = '/v1/admin/ui/{path}'.format(path=path)
|
||||||
|
Loading…
Reference in New Issue
Block a user