Annotation Interface ExternalEntitlement


@Target({CONSTRUCTOR,METHOD}) @Retention(RUNTIME) public @interface ExternalEntitlement
This annotation indicates an Entitlement is available to "external" classes such as those used in plugins. Any Entitlement using this annotation is considered parseable as part of a policy file for entitlements.
  • Element Details

    • parameterNames

      String[] parameterNames
      This is the list of parameter names that are parseable in PolicyParser.parseEntitlement(String, String). The number and order of parameter names much match the number and order of constructor parameters as this is how the parser will pass in the parsed values from a policy file. However, the names themselves do NOT have to match the parameter names of the constructor.
      Default:
      {}
    • esModulesOnly

      boolean esModulesOnly
      This flag indicates if this Entitlement can be used in external plugins, or if it can be used only in Elasticsearch modules ("internal" plugins). Using an entitlement that is not pluginsAccessible in an external plugin policy will throw in exception while parsing.
      Default:
      true