## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.security.principal-transformer | true | /subsystem=elytron/constant-principal-decoder=* /subsystem=elytron/x500-attribute-principal-decoder=* /subsystem=elytron/chained-principal-transformer=* /subsystem=elytron/aggregate-principal-transformer=* /subsystem=elytron/regex-principal-transformer=* /subsystem=elytron/constant-principal-transformer=* /subsystem=elytron/case-principal-transformer=* /subsystem=elytron/concatenating-principal-decoder=* /subsystem=elytron/regex-validating-principal-transformer=*

## Attributes (3)

- class-name - The class name of the implementation of the custom principal transformer.

  Type | STRING
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The class name of the implementation of the custom principal transformer.",
          "attribute-group" : "class-loading",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- configuration - The optional key/value configuration for the custom principal transformer.

  Type | OBJECT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "OBJECT"
          },
          "description" : "The optional key/value configuration for the custom principal transformer.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "value-type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- module - The module to use to load the custom principal transformer.

  Type | STRING
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "description" : "The module to use to load the custom principal transformer.",
          "attribute-group" : "class-loading",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

## Operations (2)

- add - The add operation for the principal transformer.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  configuration | OBJECT | false | true |  | The optional key/value configuration for the custom principal transformer.
  class-name | STRING | true | false |  | The class name of the implementation of the custom principal transformer.
  module | STRING | true | false |  | The module to use to load the custom principal transformer.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "The add operation for the principal transformer.",
          "request-properties" : {
              "configuration" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "The optional key/value configuration for the custom principal transformer.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              },
              "class-name" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The class name of the implementation of the custom principal transformer.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "module" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The module to use to load the custom principal transformer.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }

- remove - The remove operation for the principal transformer.

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "The remove operation for the principal transformer.",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }