Class Acl


public class Acl extends PoolElement
This class represents an OpenNebula ACL rule. It also offers static XML-RPC call wrappers.
There is not a public constructor, because the information for an individual ACL rule cannot be retrieved from OpenNebula.
Instead, Acl objects should be obtained using AclPool.getById, after the info method has been called.
See Also:
  • Constructor Details

  • Method Details

    • allocate

      public static OneResponse allocate(Client client, String user, String resource, String rights)
      Allocates a new ACl rule in OpenNebula
      Parameters:
      client - XML-RPC Client.
      user - A string containing a hex number, e.g. 0x100000001
      resource - A string containing a hex number, e.g. 0x2100000001
      rights - A string containing a hex number, e.g. 0x10
      Returns:
      If successful the message contains the associated id generated for this rule.
    • allocate

      public static OneResponse allocate(Client client, String user, String resource, String rights, String zone)
      Allocates a new ACl rule in OpenNebula
      Parameters:
      client - XML-RPC Client.
      user - A string containing a hex number, e.g. 0x100000001
      resource - A string containing a hex number, e.g. 0x2100000001
      rights - A string containing a hex number, e.g. 0x10
      zone - A string containing a hex number, e.g. 0x10
      Returns:
      If successful the message contains the associated id generated for this rule.
    • allocate

      public static OneResponse allocate(Client client, long user, long resource, long rights)
      Allocates a new ACl rule in OpenNebula
      Parameters:
      client - XML-RPC Client.
      user - 64b encoded user
      resource - 64b encoded user
      rights - 64b encoded user
      Returns:
      If successful the message contains the associated id generated for this rule.
    • allocate

      public static OneResponse allocate(Client client, long user, long resource, long rights, long zone)
      Allocates a new ACl rule in OpenNebula
      Parameters:
      client - XML-RPC Client.
      user - 64b encoded user
      resource - 64b encoded
      rights - 64b encoded
      zone - 64b encoded
      Returns:
      If successful the message contains the associated id generated for this rule.
    • allocate

      public static OneResponse allocate(Client client, String rule) throws RuleParseException
      Allocates a new ACl rule in OpenNebula
      Parameters:
      client - XML-RPC Client.
      rule - a rule string, e.g. "#5 HOST+VM/@12 INFO+CREATE+DELETE"
      Returns:
      If successful the message contains the associated id generated for this rule.
      Throws:
      RuleParseException - If the rule syntax is wrong.
    • delete

      public static OneResponse delete(Client client, int id)
      Deletes an ACL rule from OpenNebula.
      Parameters:
      client - XML-RPC Client.
      id - The ACL rule id.
      Returns:
      A encapsulated response.
    • delete

      public OneResponse delete()
      Deletes the ACL rule from OpenNebula.
      See Also:
    • user

      public long user()
    • resource

      public long resource()
    • rights

      public long rights()
    • zone

      public long zone()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • parseRule

      public static String[] parseRule(String rule) throws RuleParseException
      Parses a rule string, e.g. "#5 HOST+VM/@12 INFO+CREATE+DELETE"
      Parameters:
      rule - an ACL rule in string format
      Returns:
      an Array containing 4 Strings (hex 64b numbers). 3 if the rule does not have the zone component, for compatibility
      Throws:
      RuleParseException - If the rule syntax is wrong.