コード例 #1
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def detach_disk(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "detachDisk",
                                   self._type_name, id, scope)
     self._instance_disk_api.delete_item(context, id,
         req.params.get("deviceName"))
コード例 #2
0
ファイル: instances.py プロジェクト: tshrklr/gce-api
 def attach_disk(self, req, body, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "attachDisk",
                                   self._type_name, id, scope)
     self._instance_disk_api.add_item(context, id,
         body["source"], body.get("deviceName"))
コード例 #3
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def delete_access_config(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "deleteAccessConfig",
                                   self._type_name, id, scope)
     self._instance_address_api.delete_item(context, id,
                                            req.params.get('accessConfig'))
コード例 #4
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def detach_disk(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "detachDisk", self._type_name,
                                   id, scope)
     self._instance_disk_api.delete_item(context, id,
                                         req.params.get("deviceName"))
コード例 #5
0
ファイル: disks.py プロジェクト: tshrklr/gce-api
 def create_snapshot(self, req, body, scope_id, id):
     body["disk_name"] = id
     scope = self._get_scope(req, scope_id)
     context = self._get_context(req)
     operation_util.init_operation(context, "createSnapshot",
                                   self._type_name, id, scope)
     snapshot_api.API().add_item(context, body, scope)
コード例 #6
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def delete_access_config(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "deleteAccessConfig",
                                   self._type_name, id, scope)
     self._instance_address_api.delete_item(context, id,
        req.params.get('accessConfig'))
コード例 #7
0
    def create(self, req, body, scope_id=None):
        """GCE add requests."""

        scope = self._get_scope(req, scope_id)
        context = self._get_context(req)
        operation_util.init_operation(context, "insert", self._type_name,
                                      body["name"], scope)
        self._api.add_item(context, body['name'], body, scope)
コード例 #8
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def set_disk_auto_delete(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "setDiskAutoDelete",
                                   self._type_name, id, scope)
     auto_delete = req.params.get("autoDelete").lower() == "true"
     self._instance_disk_api.set_disk_auto_delete(
         context, id, req.params.get("deviceName"), auto_delete)
コード例 #9
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def set_disk_auto_delete(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "setDiskAutoDelete",
                                   self._type_name, id, scope)
     auto_delete = req.params.get("autoDelete").lower() == "true"
     self._instance_disk_api.set_disk_auto_delete(context, id,
         req.params.get("deviceName"), auto_delete)
コード例 #10
0
ファイル: common.py プロジェクト: tshrklr/gce-api
    def create(self, req, body, scope_id=None):
        """GCE add requests."""

        scope = self._get_scope(req, scope_id)
        context = self._get_context(req)
        operation_util.init_operation(context, "insert",
                                      self._type_name, body["name"], scope)
        self._api.add_item(context, body['name'], body, scope)
コード例 #11
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def add_access_config(self, req, body, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "addAccessConfig",
                                   self._type_name, id, scope)
     self._instance_address_api.add_item(context, id,
         req.params.get('networkInterface'), body.get("natIP"),
         body.get("type"), body.get("name"))
コード例 #12
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def add_access_config(self, req, body, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "addAccessConfig",
                                   self._type_name, id, scope)
     self._instance_address_api.add_item(context, id,
                                         req.params.get('networkInterface'),
                                         body.get("natIP"),
                                         body.get("type"), body.get("name"))
コード例 #13
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def attach_disk(self, req, body, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "attachDisk",
                                   self._type_name, id, scope)
     self._instance_disk_api.add_item(context, id,
         body.get("initializeParams"), body.get("source"),
         body.get("deviceName"), body.get("autoDelete", False),
         scope)
コード例 #14
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def attach_disk(self, req, body, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "attachDisk", self._type_name,
                                   id, scope)
     self._instance_disk_api.add_item(context, id,
                                      body.get("initializeParams"),
                                      body.get("source"),
                                      body.get("deviceName"),
                                      body.get("autoDelete", False), scope)
コード例 #15
0
ファイル: instances.py プロジェクト: gerardobort/gce-api
 def reset_instance(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "reset", self._type_name, id,
                                   scope)
     try:
         self._api.reset_instance(context, scope, id)
     except (exception.NotFound, KeyError, IndexError):
         msg = _("Instance %s could not be found") % id
         raise webob.exc.HTTPNotFound(explanation=msg)
コード例 #16
0
ファイル: instances.py プロジェクト: openstack/gce-api
 def reset_instance(self, req, scope_id, id):
     context = self._get_context(req)
     scope = self._get_scope(req, scope_id)
     operation_util.init_operation(context, "reset",
                                   self._type_name, id, scope)
     try:
         self._api.reset_instance(context, scope, id)
     except (exception.NotFound, KeyError, IndexError):
         msg = _("Instance %s could not be found") % id
         raise webob.exc.HTTPNotFound(explanation=msg)
コード例 #17
0
ファイル: common.py プロジェクト: yencarnacion/gce
    def delete(self, req, id, scope_id=None):
        """GCE delete requests."""

        scope = self._get_scope(req, scope_id)
        context = self._get_context(req)
        operation_util.init_operation(context, "delete",
                                      self._type_name, id, scope)
        try:
            self._api.delete_item(context, id, scope)
        except (exception.NotFound, KeyError, IndexError):
            msg = _("Resource '%s' could not be found") % id
            raise exc.HTTPNotFound(explanation=msg)
コード例 #18
0
ファイル: disks.py プロジェクト: gerardobort/gce-api
 def create_snapshot(self, req, body, scope_id, id):
     body["disk_name"] = id
     scope = self._get_scope(req, scope_id)
     context = self._get_context(req)
     operation_util.init_operation(context, "createSnapshot",
                                   self._type_name, id, scope)
     snapshot = snapshot_api.API().add_item(context, body, scope)
     # TODO(alexey-mr): workaround: have to set item id here
     # snapshot_api.API().add_item set_item_id has no effect because
     # of different type_name disk vs. snapshot
     # but snapshot type_name can't be used in init_operation because
     # targetLink and targetId should point to disk object
     operation_util.set_item_id(context, snapshot['id'], self._type_name)
コード例 #19
0
    def delete(self, req, id, scope_id=None):
        """GCE delete requests."""

        scope = self._get_scope(req, scope_id)
        context = self._get_context(req)
        operation_util.init_operation(context, "delete", self._type_name, id,
                                      scope)
        try:
            self._api.delete_item(context, id, scope)
        except (exception.NotFound, KeyError, IndexError) as ex:
            LOG.exception(ex)
            msg = _("Resource '%s' could not be found") % id
            raise exc.HTTPNotFound(explanation=msg)
コード例 #20
0
ファイル: projects.py プロジェクト: gerardobort/gce-api
 def set_common_instance_metadata(self, req, body):
     context = self._get_context(req)
     operation_util.init_operation(context, "setMetadata", self._type_name,
                                   None, scopes.GlobalScope())
     try:
         self._api.set_common_instance_metadata(context,
                                                body.get("items", []))
     except exception.KeypairLimitExceeded:
         msg = _("Quota exceeded, too many key pairs.")
         raise webob.exc.HTTPRequestEntityTooLarge(
             explanation=msg, headers={'Retry-After': 0})
     except exception.InvalidKeypair:
         msg = _("Keypair data is invalid")
         raise webob.exc.HTTPBadRequest(explanation=msg)
     except exception.KeyPairExists:
         msg = _("Key pair already exists.")
         raise webob.exc.HTTPConflict(explanation=msg)
コード例 #21
0
ファイル: projects.py プロジェクト: openstack/gce-api
 def set_common_instance_metadata(self, req, body):
     context = self._get_context(req)
     operation_util.init_operation(context, "setMetadata", self._type_name,
                                   None, scopes.GlobalScope())
     try:
         self._api.set_common_instance_metadata(
             context, body.get("items", []))
     except exception.KeypairLimitExceeded:
         msg = _("Quota exceeded, too many key pairs.")
         raise webob.exc.HTTPRequestEntityTooLarge(
                     explanation=msg,
                     headers={'Retry-After': 0})
     except exception.InvalidKeypair:
         msg = _("Keypair data is invalid")
         raise webob.exc.HTTPBadRequest(explanation=msg)
     except exception.KeyPairExists:
         msg = _("Key pair already exists.")
         raise webob.exc.HTTPConflict(explanation=msg)