当前位置: 首页>>代码示例>>Python>>正文


Python common.get_flavor函数代码示例

本文整理汇总了Python中nova.api.openstack.common.get_flavor函数的典型用法代码示例。如果您正苦于以下问题:Python get_flavor函数的具体用法?Python get_flavor怎么用?Python get_flavor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_flavor函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: show

 def show(self, req, flavor_id, id):
     """Return a single extra spec item."""
     context = req.environ['nova.context']
     context.can(fes_policies.POLICY_ROOT % 'show')
     flavor = common.get_flavor(context, flavor_id)
     try:
         return {id: flavor.extra_specs[id]}
     except KeyError:
         msg = _("Flavor %(flavor_id)s has no extra specs with "
                 "key %(key)s.") % dict(flavor_id=flavor_id,
                                        key=id)
         raise webob.exc.HTTPNotFound(explanation=msg)
开发者ID:2020human,项目名称:nova,代码行数:12,代码来源:flavors_extraspecs.py

示例2: index

    def index(self, req, flavor_id):
        context = req.environ['nova.context']
        context.can(fa_policies.BASE_POLICY_NAME)

        flavor = common.get_flavor(context, flavor_id)

        # public flavor to all projects
        if flavor.is_public:
            explanation = _("Access list not available for public flavors.")
            raise webob.exc.HTTPNotFound(explanation=explanation)

        # private flavor to listed projects only
        return _marshall_flavor_access(flavor)
开发者ID:arbrandes,项目名称:nova,代码行数:13,代码来源:flavor_access.py

示例3: index

    def index(self, req, flavor_id):
        context = req.environ["nova.context"]
        authorize(context)

        flavor = common.get_flavor(context, flavor_id)

        # public flavor to all projects
        if flavor.is_public:
            explanation = _("Access list not available for public flavors.")
            raise webob.exc.HTTPNotFound(explanation=explanation)

        # private flavor to listed projects only
        return _marshall_flavor_access(flavor)
开发者ID:coryschwartz,项目名称:nova,代码行数:13,代码来源:flavor_access.py

示例4: create

    def create(self, req, flavor_id, body):
        context = req.environ['nova.context']
        context.can(fes_policies.POLICY_ROOT % 'create')

        specs = body['extra_specs']
        self._check_extra_specs_value(specs)
        flavor = common.get_flavor(context, flavor_id)
        try:
            flavor.extra_specs = dict(flavor.extra_specs, **specs)
            flavor.save()
        except exception.FlavorExtraSpecUpdateCreateFailed as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
        except exception.FlavorNotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        return body
开发者ID:2020human,项目名称:nova,代码行数:15,代码来源:flavors_extraspecs.py

示例5: index

    def index(self, req, flavor_id):
        context = req.environ['nova.context']
        authorize(context)
        # NOTE(alex_xu): back-compatible with db layer hard-code admin
        # permission checks.
        nova_context.require_admin_context(context)

        flavor = common.get_flavor(context, flavor_id)

        # public flavor to all projects
        if flavor.is_public:
            explanation = _("Access list not available for public flavors.")
            raise webob.exc.HTTPNotFound(explanation=explanation)

        # private flavor to listed projects only
        return _marshall_flavor_access(flavor)
开发者ID:375670450,项目名称:nova,代码行数:16,代码来源:flavor_access.py

示例6: delete

 def delete(self, req, flavor_id, id):
     """Deletes an existing extra spec."""
     context = req.environ['nova.context']
     context.can(fes_policies.POLICY_ROOT % 'delete')
     flavor = common.get_flavor(context, flavor_id)
     try:
         del flavor.extra_specs[id]
         flavor.save()
     except (exception.FlavorExtraSpecsNotFound,
             exception.FlavorNotFound) as e:
         raise webob.exc.HTTPNotFound(explanation=e.format_message())
     except KeyError:
         msg = _("Flavor %(flavor_id)s has no extra specs with "
                 "key %(key)s.") % dict(flavor_id=flavor_id,
                                        key=id)
         raise webob.exc.HTTPNotFound(explanation=msg)
开发者ID:2020human,项目名称:nova,代码行数:16,代码来源:flavors_extraspecs.py

示例7: create

    def create(self, req, flavor_id, body):
        context = req.environ['nova.context']
        authorize(context, action='create')
        self._check_body(body)
        specs = body.get('extra_specs')
        self._check_extra_specs(specs)
        flavor = common.get_flavor(context, flavor_id)

        try:
            flavor.extra_specs = dict(flavor.extra_specs, **specs)
            flavor.save()
        except exception.FlavorExtraSpecUpdateCreateFailed as e:
            raise exc.HTTPConflict(explanation=e.format_message())
        except exception.FlavorNotFound as error:
            raise exc.HTTPNotFound(explanation=error.format_message())
        return body
开发者ID:375670450,项目名称:nova,代码行数:16,代码来源:flavorextraspecs.py

示例8: update

    def update(self, req, flavor_id, id, body):
        context = req.environ['nova.context']
        context.can(fes_policies.POLICY_ROOT % 'update')

        self._check_extra_specs_value(body)
        if id not in body:
            expl = _('Request body and URI mismatch')
            raise webob.exc.HTTPBadRequest(explanation=expl)
        flavor = common.get_flavor(context, flavor_id)
        try:
            flavor.extra_specs = dict(flavor.extra_specs, **body)
            flavor.save()
        except exception.FlavorExtraSpecUpdateCreateFailed as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
        except exception.FlavorNotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        return body
开发者ID:2020human,项目名称:nova,代码行数:17,代码来源:flavors_extraspecs.py

示例9: _remove_tenant_access

    def _remove_tenant_access(self, req, id, body):
        context = req.environ['nova.context']
        context.can(
            fa_policies.POLICY_ROOT % "remove_tenant_access")

        vals = body['removeTenantAccess']
        tenant = vals['tenant']

        # NOTE(gibi): We have to load a flavor from the db here as
        # flavor.remove_access() will try to emit a notification and that needs
        # a fully loaded flavor.
        flavor = common.get_flavor(context, id)

        try:
            flavor.remove_access(tenant)
        except (exception.FlavorAccessNotFound,
                exception.FlavorNotFound) as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        return _marshall_flavor_access(flavor)
开发者ID:vmturbo,项目名称:nova,代码行数:19,代码来源:flavor_access.py

示例10: update

 def update(self, req, flavor_id, id, body):
     context = req.environ['nova.context']
     authorize(context, action='update')
     self._check_extra_specs(body)
     if id not in body:
         expl = _('Request body and URI mismatch')
         raise exc.HTTPBadRequest(explanation=expl)
     if len(body) > 1:
         expl = _('Request body contains too many items')
         raise exc.HTTPBadRequest(explanation=expl)
     flavor = common.get_flavor(context, flavor_id)
     try:
         flavor.extra_specs = dict(flavor.extra_specs, **body)
         flavor.save()
     except exception.FlavorExtraSpecUpdateCreateFailed as e:
         raise exc.HTTPConflict(explanation=e.format_message())
     except exception.FlavorNotFound as error:
         raise exc.HTTPNotFound(explanation=error.format_message())
     return body
开发者ID:375670450,项目名称:nova,代码行数:19,代码来源:flavorextraspecs.py

示例11: _add_tenant_access

    def _add_tenant_access(self, req, id, body):
        context = req.environ['nova.context']
        context.can(fa_policies.POLICY_ROOT % "add_tenant_access")

        vals = body['addTenantAccess']
        tenant = vals['tenant']

        flavor = common.get_flavor(context, id)

        try:
            if api_version_request.is_supported(req, min_version='2.7'):
                if flavor.is_public:
                    exp = _("Can not add access to a public flavor.")
                    raise webob.exc.HTTPConflict(explanation=exp)
            flavor.add_access(tenant)
        except exception.FlavorNotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.FlavorAccessExists as err:
            raise webob.exc.HTTPConflict(explanation=err.format_message())
        return _marshall_flavor_access(flavor)
开发者ID:amadev,项目名称:nova,代码行数:20,代码来源:flavor_access.py

示例12: _add_tenant_access

    def _add_tenant_access(self, req, id, body):
        context = req.environ["nova.context"]
        authorize(context, action="add_tenant_access")

        vals = body["addTenantAccess"]
        tenant = vals["tenant"]

        flavor = common.get_flavor(context, id)

        try:
            if api_version_request.is_supported(req, min_version="2.7"):
                if flavor.is_public:
                    exp = _("Can not add access to a public flavor.")
                    raise webob.exc.HTTPConflict(explanation=exp)
            flavor.add_access(tenant)
        except exception.FlavorNotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.FlavorAccessExists as err:
            raise webob.exc.HTTPConflict(explanation=err.format_message())
        except exception.AdminRequired as e:
            raise webob.exc.HTTPForbidden(explanation=e.format_message())
        return _marshall_flavor_access(flavor)
开发者ID:coryschwartz,项目名称:nova,代码行数:22,代码来源:flavor_access.py

示例13: _get_extra_specs

 def _get_extra_specs(self, context, flavor_id):
     flavor = common.get_flavor(context, flavor_id)
     return dict(extra_specs=flavor.extra_specs)
开发者ID:2020human,项目名称:nova,代码行数:3,代码来源:flavors_extraspecs.py


注:本文中的nova.api.openstack.common.get_flavor函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。