Added Environments CRUD operations
This commit is contained in:
parent
856bbb009a
commit
66e579521d
@ -68,7 +68,29 @@ class Manager(object):
|
||||
resp, body = self.api.json_request('PUT', url, body=body)
|
||||
# PUT requests may not return a body
|
||||
if body:
|
||||
if response_key:
|
||||
return self.resource_class(self, body[response_key])
|
||||
return self.resource_class(self, body)
|
||||
|
||||
def _create(self, url, body, response_key=None, return_raw=False):
|
||||
resp, body = self.api.json_request('POST', url, body=body)
|
||||
if return_raw:
|
||||
if response_key:
|
||||
return body[response_key]
|
||||
return body
|
||||
if response_key:
|
||||
return self.resource_class(self, body[response_key])
|
||||
return self.resource_class(self, body)
|
||||
|
||||
def _get(self, url, response_key=None, return_raw=False):
|
||||
resp, body = self.api.json_request('GET', url)
|
||||
if return_raw:
|
||||
if response_key:
|
||||
return body[response_key]
|
||||
return body
|
||||
if response_key:
|
||||
return self.resource_class(self, body[response_key])
|
||||
return self.resource_class(self, body)
|
||||
|
||||
|
||||
class Resource(object):
|
||||
|
@ -12,13 +12,14 @@
|
||||
# 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 anyjson
|
||||
|
||||
from portasclient.common import base
|
||||
|
||||
|
||||
class Environment(base.Resource):
|
||||
def __repr__(self):
|
||||
return "<Meter %s>" % self._info
|
||||
return "<Environment %s>" % self._info
|
||||
|
||||
def data(self, **kwargs):
|
||||
return self.manager.data(self, **kwargs)
|
||||
@ -28,4 +29,16 @@ class EnvironmentManager(base.Manager):
|
||||
resource_class = Environment
|
||||
|
||||
def list(self):
|
||||
return self._list('environments', 'environments')
|
||||
return self._list('environments', 'environments')
|
||||
|
||||
def create(self, name):
|
||||
return self._create('environments', {'name': name})
|
||||
|
||||
def update(self, environment_id, name):
|
||||
return self._update('environments/{id}'.format(id=environment_id), {'name': name})
|
||||
|
||||
def delete(self, environment_id):
|
||||
return self._delete('environments/{id}'.format(id=environment_id))
|
||||
|
||||
def get(self, environment_id):
|
||||
return self._get("environments/{id}".format(id=environment_id))
|
@ -19,6 +19,6 @@ from portasclient.common import utils
|
||||
def do_environment_list(cc, args={}):
|
||||
"""List the environments"""
|
||||
environments = cc.environments.list()
|
||||
field_labels = ['ID', 'Name']
|
||||
fields = ['id', 'name']
|
||||
field_labels = ['ID', 'Name', 'Created', 'Updated']
|
||||
fields = ['id', 'name', 'created', 'updated']
|
||||
utils.print_list(environments, fields, field_labels, sortby=0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user