## Provided Capabilities (2)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.security.security-realm | true | /subsystem=elytron/jaas-realm=* /subsystem=elytron/jdbc-realm=* /subsystem=elytron/filesystem-realm=* /subsystem=elytron/token-realm=* /subsystem=elytron/ldap-realm=* /subsystem=elytron/distributed-realm=* /subsystem=elytron/key-store-realm=* /subsystem=elytron/failover-realm=* /subsystem=elytron/identity-realm=* /subsystem=elytron/aggregate-realm=* /subsystem=elytron/properties-realm=* /subsystem=elytron/caching-realm=* /subsystem=elytron/custom-realm=*
org.wildfly.security.modifiable-security-realm | true | /subsystem=elytron/filesystem-realm=* /subsystem=elytron/token-realm=* /subsystem=elytron/ldap-realm=*

## Attributes (3)

- class-name - The class name of the implementation of the custom realm.

  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 realm.",
          "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 realm.

  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 realm.",
          "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 realm.

  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 realm.",
          "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 (8)

- add - The add operation for the security realm.

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

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "The add operation for the security realm.",
          "request-properties" : {
              "configuration" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "The optional key/value configuration for the custom realm.",
                  "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 realm.",
                  "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 realm.",
                  "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
      }

- add-identity - Add an identity to a security realm.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.

  Raw DMR model |
      {
          "operation-name" : "add-identity",
          "description" : "Add an identity to a security realm.",
          "request-properties" : {"identity" : {
              "type" : {
                  "TYPE_MODEL_VALUE" : "STRING"
              },
              "description" : "The name of the identity.",
              "expressions-allowed" : false,
              "required" : true,
              "nillable" : false,
              "min-length" : 1,
              "max-length" : 2147483647,
              "stability" : "default"
          }},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }

- add-identity-attribute - Add an attribute to an existing identity.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.
  name | STRING | true | false |  | The name of the attribute.
  value | LIST | true | false |  | The value of the attribute.

  Raw DMR model |
      {
          "operation-name" : "add-identity-attribute",
          "description" : "Add an attribute to an existing identity.",
          "request-properties" : {
              "identity" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the identity.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "name" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the attribute.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "value" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LIST"
                  },
                  "description" : "The value of the attribute.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }

- read-identity - Read an identity from a security realm if it exists.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.

  Raw DMR model |
      {
          "operation-name" : "read-identity",
          "description" : "Read an identity from a security realm if it exists.",
          "request-properties" : {"identity" : {
              "type" : {
                  "TYPE_MODEL_VALUE" : "STRING"
              },
              "description" : "The name of the identity.",
              "expressions-allowed" : false,
              "required" : true,
              "nillable" : false,
              "min-length" : 1,
              "max-length" : 2147483647,
              "stability" : "default"
          }},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : true,
          "runtime-only" : true
      }

- remove - The remove operation for the security realm.

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

- remove-identity - Remove an identity from a security realm.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.

  Raw DMR model |
      {
          "operation-name" : "remove-identity",
          "description" : "Remove an identity from a security realm.",
          "request-properties" : {"identity" : {
              "type" : {
                  "TYPE_MODEL_VALUE" : "STRING"
              },
              "description" : "The name of the identity.",
              "expressions-allowed" : false,
              "required" : true,
              "nillable" : false,
              "min-length" : 1,
              "max-length" : 2147483647,
              "stability" : "default"
          }},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }

- remove-identity-attribute - Remove an attribute to an existing identity.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.
  name | STRING | true | false |  | The name of the attribute.
  value | LIST | false | false |  | The value of the attribute.

  Raw DMR model |
      {
          "operation-name" : "remove-identity-attribute",
          "description" : "Remove an attribute to an existing identity.",
          "request-properties" : {
              "identity" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the identity.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "name" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the attribute.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "value" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LIST"
                  },
                  "description" : "The value of the attribute.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 0,
                  "max-length" : 2147483647,
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }

- set-password - Add a password to an existing identity.

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  identity | STRING | true | false |  | The name of the identity.
  bcrypt | OBJECT | false | false |  | A password using the Bcrypt algorithm.
  clear | OBJECT | false | false |  | A password in clear text.
  simple-digest | OBJECT | false | false |  | A simple digest password.
  salted-simple-digest | OBJECT | false | false |  | A salted simple digest password.
  scram-digest | OBJECT | false | false |  | A password using the SCRAM digest algorithm.
  digest | OBJECT | false | false |  | A digest password.
  otp | OBJECT | false | false |  | A one-time password, used by the OTP SASL mechanism.

  Raw DMR model |
      {
          "operation-name" : "set-password",
          "description" : "Add a password to an existing identity.",
          "request-properties" : {
              "identity" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of the identity.",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "bcrypt" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A password using the Bcrypt algorithm.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "bcrypt",
                          "allowed" : ["bcrypt"],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "salt" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "BYTES"
                          },
                          "description" : "The salt to apply to the password.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 0,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "iteration-count" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "INT"
                          },
                          "description" : "The iteration count or cost to apply to the password.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "stability" : "default"
                      }
                  }
              },
              "clear" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A password in clear text.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {"password" : {
                      "type" : {
                          "TYPE_MODEL_VALUE" : "STRING"
                      },
                      "description" : "The actual password to set.",
                      "expressions-allowed" : false,
                      "required" : true,
                      "nillable" : false,
                      "min-length" : 1,
                      "max-length" : 2147483647,
                      "stability" : "default"
                  }}
              },
              "simple-digest" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A simple digest password.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "simple-digest-sha-512",
                          "allowed" : [
                              "simple-digest-md2",
                              "simple-digest-md5",
                              "simple-digest-sha-1",
                              "simple-digest-sha-256",
                              "simple-digest-sha-384",
                              "simple-digest-sha-512"
                          ],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      }
                  }
              },
              "salted-simple-digest" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A salted simple digest password.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "password-salt-digest-sha-512",
                          "allowed" : [
                              "password-salt-digest-md5",
                              "password-salt-digest-sha-1",
                              "password-salt-digest-sha-256",
                              "password-salt-digest-sha-384",
                              "password-salt-digest-sha-512",
                              "salt-password-digest-md5",
                              "salt-password-digest-sha-1",
                              "salt-password-digest-sha-256",
                              "salt-password-digest-sha-384",
                              "salt-password-digest-sha-512"
                          ],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "salt" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "BYTES"
                          },
                          "description" : "The salt to apply to the password.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 0,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      }
                  }
              },
              "scram-digest" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A password using the SCRAM digest algorithm.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "scram-sha-512",
                          "allowed" : [
                              "scram-sha-1",
                              "scram-sha-256",
                              "scram-sha-384",
                              "scram-sha-512"
                          ],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "salt" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "BYTES"
                          },
                          "description" : "The salt to apply to the password.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 0,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "iteration-count" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "INT"
                          },
                          "description" : "The iteration count or cost to apply to the password.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "stability" : "default"
                      }
                  }
              },
              "digest" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A digest password.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "digest-sha-512",
                          "allowed" : [
                              "digest-md5",
                              "digest-sha",
                              "digest-sha-256",
                              "digest-sha-384",
                              "digest-sha-512"
                          ],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "realm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The realm.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      }
                  }
              },
              "otp" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "A one-time password, used by the OTP SASL mechanism.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default",
                  "value-type" : {
                      "algorithm" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The algorithm used to encrypt the password.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "default" : "otp-sha1",
                          "allowed" : [
                              "otp-md5",
                              "otp-sha1",
                              "otp-sha256",
                              "otp-sha384",
                              "otp-sha512"
                          ],
                          "stability" : "default"
                      },
                      "password" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The actual password to set.",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "seed" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The seed used to generate the hash.",
                          "expressions-allowed" : true,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "sequence" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "INT"
                          },
                          "description" : "The sequence number used to generate the hash.",
                          "expressions-allowed" : true,
                          "required" : true,
                          "nillable" : false,
                          "stability" : "default"
                      }
                  }
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : true
      }