ProxyPlugin

Defines the plugin to perform evaluation on the user in the proxy

class DIRAC.Resources.Catalog.ConditionPlugins.ProxyPlugin.ProxyPlugin(conditions)

Bases: DIRAC.Resources.Catalog.ConditionPlugins.FCConditionBasePlugin.FCConditionBasePlugin

This plugin is to be used when filtering based on the user contained in the proxy

__init__(conditions)

This plugin allows to perform tests on the proxy. Supported conditions are:

  • username.in(<comma separated list of names>): the user should be in the defined list
  • username.not_in(<comma separated list of names>): the user should not be in the defined list
  • group.in(<comma separated list of names>): the group should be in the defined list
  • group.not_in(<comma separated list of names>): the group should not be in the defined list
  • property.has(<property name>): the proxy should have the given property
  • property.has_not(<property name>): the proxy should not have the given property
  • voms.has(<voms role>) (see bellow): if the given VOMS role is associated to the proxy
  • voms.has_not(<voms role>) (see bellow): if the given VOMS role is not associated to the proxy

Because it is not possible to use the ‘=’ sign, the VOMS role has to be declared using the symbol ‘->’. For example:

“voms.has(/lhcb/Role->production)” will look for “/lhcb/Role=production” in the VOMS list contained in the proxy info.

If the conditions does not follow the form ‘attribute.predicate(value)’, an exception is thrown, and will lead to all the expression be evaluated to False

If there is no proxy, all conditions are evaluated to False

eval(**kwargs)

evaluate the parameters.