## Attributes (4)

- class - Class of the config source to load

  Type | OBJECT
  Is the attribute nillable? | 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" : "Class of the config source to load",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "alternatives" : [
              "properties",
              "dir"
          ],
          "stability" : "default",
          "value-type" : {
              "name" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Name of the class of the config source to load",
                  "expressions-allowed" : false,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "module" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Module of the config source to load",
                  "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
      }

- dir - Directory that is scanned to config properties for this config source (file names are key, file content are value)

  Type | OBJECT
  Is the attribute nillable? | 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" : "Directory that is scanned to config properties for this config source (file names are key, file content are value)",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "alternatives" : [
              "properties",
              "class"
          ],
          "capability-reference" : "org.wildfly.management.path-manager",
          "stability" : "default",
          "value-type" : {
              "path" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The path of the directory to scan. It is treated as an absolute path, unless the 'relative-to' attribute is specified, in which case the value is treated as relative to that path. If treated as an absolute path, the actual runtime pathname specified by the value of this attribute will be determined as follows: If this value is already absolute, then the value is directly used.  Otherwise the runtime pathname is resolved in a system-dependent way.  On UNIX systems, a relative pathname is made absolute by resolving it against the current user directory. On Microsoft Windows systems, a relative pathname is made absolute by resolving it against the current directory of the drive named by the pathname, if any; if not, it is resolved against the current user directory.",
                  "expressions-allowed" : true,
                  "required" : true,
                  "nillable" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "filesystem-path" : true,
                  "stability" : "default"
              },
              "relative-to" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The name of another previously named path, or of one of the standard paths provided by the system. If 'relative-to' is provided, the value of the 'path' attribute is treated as relative to the path specified by this attribute. The standard paths provided by the system include: jboss.home - the root directory of the JBoss AS distribution, user.home - user's home directory, user.dir - user's current working directory, java.home - java installation directory, jboss.server.base.dir - root directory for an individual server instance, jboss.server.data.dir - directory the server will use for persistent data file storage, jboss.server.log.dir - directory the server will use for log file storage, jboss.server.tmp.dir - directory the server will use for temporary file storage, and jboss.domain.servers.dir - directory under which a host controller will create the working area for individual server instances.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "root" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Whether the resolved directory is taken to be a root directory where the top level directories under the directory will each result in a directory type Config Source",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- ordinal - Ordinal value for the config source

  Type | INT
  Default Value | 100
  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" : "INT"
          },
          "description" : "Ordinal value for the config source",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 100,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- properties - Properties configured for this config source and stored directly in WildFly management model.

  Type | OBJECT
  Is the attribute nillable? | 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" : "Properties configured for this config source and stored directly in WildFly management model.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "alternatives" : [
              "class",
              "dir"
          ],
          "stability" : "default",
          "value-type" : {
              "TYPE_MODEL_VALUE" : "STRING"
          },
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Add a Config Source (the source of the configuration is determined by the attributes of the config-source (class to provide a new ConfigSource implementation, properties to store configuration values in WildFly management model, etc.)

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  class | OBJECT | false | false |  | Class of the config source to load
  dir | OBJECT | false | false |  | Directory that is scanned to config properties for this config source (file names are key, file content are value)
  ordinal | INT | false | true | 100 | Ordinal value for the config source
  properties | OBJECT | false | false |  | Properties configured for this config source and stored directly in WildFly management model.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Add a Config Source (the source of the configuration is determined by the attributes of the config-source (class to provide a new ConfigSource implementation, properties to store configuration values in WildFly  management model, etc.)",
          "request-properties" : {
              "class" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "Class of the config source to load",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : [
                      "properties",
                      "dir"
                  ],
                  "stability" : "default",
                  "value-type" : {
                      "name" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "Name of the class of the config source to load",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "module" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "Module of the config source to load",
                          "expressions-allowed" : false,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      }
                  }
              },
              "dir" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "Directory that is scanned to config properties for this config source (file names are key, file content are value)",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : [
                      "properties",
                      "class"
                  ],
                  "capability-reference" : "org.wildfly.management.path-manager",
                  "stability" : "default",
                  "value-type" : {
                      "path" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The path of the directory to scan. It is treated as an absolute path, unless the 'relative-to' attribute is specified, in which case the value is treated as relative to that path. If treated as an absolute path, the actual runtime pathname specified by the value of this attribute will be determined as follows: If this value is already absolute, then the value is directly used.  Otherwise the runtime pathname is resolved in a system-dependent way.  On UNIX systems, a relative pathname is made absolute by resolving it against the current user directory. On Microsoft Windows systems, a relative pathname is made absolute by resolving it against the current directory of the drive named by the pathname, if any; if not, it is resolved against the current user directory.",
                          "expressions-allowed" : true,
                          "required" : true,
                          "nillable" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "filesystem-path" : true,
                          "stability" : "default"
                      },
                      "relative-to" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "The name of another previously named path, or of one of the standard paths provided by the system. If 'relative-to' is provided, the value of the 'path' attribute is treated as relative to the path specified by this attribute. The standard paths provided by the system include: jboss.home - the root directory of the JBoss AS distribution, user.home - user's home directory, user.dir - user's current working directory, java.home - java installation directory, jboss.server.base.dir - root directory for an individual server instance, jboss.server.data.dir - directory the server will use for persistent data file storage, jboss.server.log.dir - directory the server will use for log file storage, jboss.server.tmp.dir - directory the server will use for temporary file storage, and jboss.domain.servers.dir - directory under which a host controller will create the working area for individual server instances.",
                          "expressions-allowed" : false,
                          "required" : false,
                          "nillable" : true,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      },
                      "root" : {
                          "type" : {
                              "TYPE_MODEL_VALUE" : "STRING"
                          },
                          "description" : "Whether the resolved directory is taken to be a root directory where the top level directories under the directory will each result in a directory type Config Source",
                          "expressions-allowed" : true,
                          "required" : false,
                          "nillable" : true,
                          "default" : false,
                          "min-length" : 1,
                          "max-length" : 2147483647,
                          "stability" : "default"
                      }
                  }
              },
              "ordinal" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Ordinal value for the config source",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 100,
                  "stability" : "default"
              },
              "properties" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "OBJECT"
                  },
                  "description" : "Properties configured for this config source and stored directly in WildFly management model.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : [
                      "class",
                      "dir"
                  ],
                  "stability" : "default",
                  "value-type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  }
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Remove the Config Source

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Remove the Config Source",
          "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.microprofile-config-smallrye.config-source

      <feature spec="subsystem.microprofile-config-smallrye.config-source">
        <param name="config-source" value="{resource name}"/>
        <param name="class" value="{value}"/>
        <param name="dir" value="{value}"/>
        <param name="ordinal" value="{value}"/>
        <param name="properties" value="{value}"/>
      <feature/>