def authorize(context, action_name): extensions.os_compute_authorizer(ALIAS)(context, action=action_name)
# License for the specific language governing permissions and limitations # under the License. import webob from jacket.api.compute.openstack.compute.schemas import flavor_manage from jacket.api.compute.openstack.compute.views import flavors as flavors_view from jacket.api.compute.openstack import extensions from jacket.api.compute.openstack import wsgi from jacket.api.compute import validation from jacket.compute.cloud import flavors from jacket.compute import exception ALIAS = "os-flavor-manage" authorize = extensions.os_compute_authorizer(ALIAS) class FlavorManageController(wsgi.Controller): """The Flavor Lifecycle API controller for the OpenStack API.""" _view_builder_class = flavors_view.ViewBuilderV21 def __init__(self): super(FlavorManageController, self).__init__() # NOTE(oomichi): Return 202 for backwards compatibility but should be # 204 as this operation complete the deletion of aggregate resource and # return no response body. @wsgi.response(202) @extensions.expected_errors((404)) @wsgi.action("delete")
def test_os_compute_api_authorizer_throws_exception_if_policy_fails(self): authorize = base_extensions.os_compute_authorizer( 'used_limits_for_admin') self._test_extension_authorizer_throws_exception_if_policy_fails( "os_compute_api:used_limits_for_admin", authorize)
# 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. """The shelved mode extension.""" from webob import exc from jacket.api.compute.openstack import common from jacket.api.compute.openstack import extensions as exts from jacket.api.compute.openstack import wsgi from jacket.compute import cloud from jacket.compute import exception ALIAS = 'os-shelve' authorize = exts.os_compute_authorizer(ALIAS) class ShelveController(wsgi.Controller): def __init__(self, *args, **kwargs): super(ShelveController, self).__init__(*args, **kwargs) self.compute_api = cloud.API(skip_policy_check=True) @wsgi.response(202) @exts.expected_errors((404, 409)) @wsgi.action('shelve') def _shelve(self, req, id, body): """Move an instance into shelved mode.""" context = req.environ["compute.context"] authorize(context, action='shelve')
def test_os_compute_api_authorizer_throws_exception_if_policy_fails(self): authorize = base_extensions.os_compute_authorizer( 'used_limits_for_admin') self._test_extension_authorizer_throws_exception_if_policy_fails( "os_compute_api:used_limits_for_admin", authorize)
from jacket.api.compute.openstack import api_version_request from jacket.api.compute.openstack import common from jacket.api.compute.openstack.compute.schemas import volumes as volumes_schema from jacket.api.compute.openstack import extensions from jacket.api.compute.openstack import wsgi from jacket.api.compute import validation from jacket.compute import cloud from jacket.compute.cloud import vm_states from jacket.compute import exception from jacket.i18n import _ from jacket.objects import compute as objects from jacket.compute import volume ALIAS = "os-volumes" authorize = extensions.os_compute_authorizer(ALIAS) authorize_attach = extensions.os_compute_authorizer('os-volumes-attachments') def _translate_volume_detail_view(context, vol): """Maps keys for volumes details view.""" d = _translate_volume_summary_view(context, vol) # No additional data / lookups at the moment return d def _translate_volume_summary_view(context, vol): """Maps keys for volumes summary view."""
def authorize(context, action_name): extensions.os_compute_authorizer(ALIAS)(context, action=action_name)