## Attributes (7)

- consume - This permission allows the user to consume a message from a queue bound to matching addresses.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to consume a message from a queue bound to matching addresses.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- create-durable-queue - This permission allows the user to create a durable queue.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to create a durable queue.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- create-non-durable-queue - This permission allows the user to create a temporary queue.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to create a temporary queue.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- delete-durable-queue - This permission allows the user to delete a durable queue.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to delete a durable queue.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- delete-non-durable-queue - This permission allows the user to delete a temporary queue.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to delete a temporary queue.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- manage - This permission allows the user to invoke management operations by sending management messages to the management address.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to invoke management operations by sending management messages to the management address.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"messaging-management" : {"type" : "messaging-activemq"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- send - This permission allows the user to send a message to matching addresses.

  Type | BOOLEAN
  Default Value | false
  Is the attribute nillable? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "This permission allows the user to send a message to matching addresses.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Add new security role.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  consume | BOOLEAN | false | false | false | This permission allows the user to consume a message from a queue bound to matching addresses.
  create-durable-queue | BOOLEAN | false | false | false | This permission allows the user to create a durable queue.
  create-non-durable-queue | BOOLEAN | false | false | false | This permission allows the user to create a temporary queue.
  delete-durable-queue | BOOLEAN | false | false | false | This permission allows the user to delete a durable queue.
  delete-non-durable-queue | BOOLEAN | false | false | false | This permission allows the user to delete a temporary queue.
  manage | BOOLEAN | false | false | false | This permission allows the user to invoke management operations by sending management messages to the management address.
  send | BOOLEAN | false | false | false | This permission allows the user to send a message to matching addresses.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add new security role.",
          "request-properties" : {
              "consume" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to consume a message from a queue bound to matching addresses.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "create-durable-queue" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to create a durable queue.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "create-non-durable-queue" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to create a temporary queue.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "delete-durable-queue" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to delete a durable queue.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "delete-non-durable-queue" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to delete a temporary queue.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "manage" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to invoke management operations by sending management messages to the management address.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "send" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "This permission allows the user to send a message to matching addresses.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Remove an existing security role.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Remove an existing security role.",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "all-services",
          "runtime-only" : false
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.messaging-activemq.server.security-setting.role

      <feature spec="subsystem.messaging-activemq.server.security-setting.role">
        <param name="role" value="{resource name}"/>
        <param name="security-setting" value="{resource name}"/>
        <param name="server" value="{resource name}"/>
        <param name="consume" value="{value}"/>
        <param name="create-durable-queue" value="{value}"/>
        <param name="create-non-durable-queue" value="{value}"/>
        <param name="delete-durable-queue" value="{value}"/>
        <param name="delete-non-durable-queue" value="{value}"/>
        <param name="manage" value="{value}"/>
        <param name="send" value="{value}"/>
      <feature/>