## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.undertow.reverse-proxy.host | true | none

## Attributes (7)

- enable-http2 - If this is true then the proxy will attempt to use HTTP/2 to connect to the backend. If it is not supported it will fall back to HTTP/1.1.

  Type | BOOLEAN
  Default Value | false
  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" : "BOOLEAN"
          },
          "description" : "If this is true then the proxy will attempt to use HTTP/2 to connect to the backend. If it is not supported it will fall back to HTTP/1.1.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "default" : false,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- instance-id - The instance id (aka JVM route) that will be used to enable sticky sessions

  Type | STRING
  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" : "STRING"
          },
          "description" : "The instance id (aka JVM route) that will be used to enable sticky sessions",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- outbound-socket-binding - Outbound socket binding for this host

  Type | STRING
  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" : "STRING"
          },
          "description" : "Outbound socket binding for this host",
          "expressions-allowed" : true,
          "required" : true,
          "nillable" : false,
          "capability-reference" : "org.wildfly.network.outbound-socket-binding",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"socket-binding-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

- path - Optional path if host is using non root resource

  Type | STRING
  Default Value | /
  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" : "STRING"
          },
          "description" : "Optional path if host is using non root resource",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "/",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- scheme - What kind of scheme is used

  Type | STRING
  Default Value | http
  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" : "STRING"
          },
          "description" : "What kind of scheme is used",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : "http",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- security-realm - The security realm that provides the SSL configuration for the connection to the host
  Deprecated Since 12.0.0
  Use the ssl-context attribute to reference a configured SSLContext directly.

  Type | STRING
  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" : "STRING"
          },
          "description" : "The security realm that provides the SSL configuration for the connection to the host",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "alternatives" : ["ssl-context"],
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "deprecated" : {
              "since" : "12.0.0",
              "reason" : "Use the ssl-context attribute to reference a configured SSLContext directly."
          },
          "access-constraints" : {"sensitive" : {"security-realm-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- ssl-context - Reference to the SSLContext to be used by this handler.

  Type | STRING
  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" : "STRING"
          },
          "description" : "Reference to the SSLContext to be used by this handler.",
          "expressions-allowed" : false,
          "required" : false,
          "nillable" : true,
          "alternatives" : ["security-realm"],
          "capability-reference" : "org.wildfly.security.ssl-context",
          "min-length" : 1,
          "max-length" : 2147483647,
          "stability" : "default",
          "access-constraints" : {"sensitive" : {"ssl-ref" : {"type" : "core"}}},
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services"
      }

## Operations (2)

- add - Adds a reverse proxy handler host

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  enable-http2 | BOOLEAN | false | false | false | If this is true then the proxy will attempt to use HTTP/2 to connect to the backend. If it is not supported it will fall back to HTTP/1.1.
  instance-id | STRING | false | true |  | The instance id (aka JVM route) that will be used to enable sticky sessions
  outbound-socket-binding | STRING | true | true |  | Outbound socket binding for this host
  path | STRING | false | true | / | Optional path if host is using non root resource
  scheme | STRING | false | true | http | What kind of scheme is used
  security-realm | STRING | false | false |  | The security realm that provides the SSL configuration for the connection to the host
  ssl-context | STRING | false | false |  | Reference to the SSLContext to be used by this handler.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds a reverse proxy handler host",
          "request-properties" : {
              "enable-http2" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "If this is true then the proxy will attempt to use HTTP/2 to connect to the backend. If it is not supported it will fall back to HTTP/1.1.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "default" : false,
                  "stability" : "default"
              },
              "instance-id" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The instance id (aka JVM route) that will be used to enable sticky sessions",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "outbound-socket-binding" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Outbound socket binding for this host",
                  "expressions-allowed" : true,
                  "required" : true,
                  "nillable" : false,
                  "capability-reference" : "org.wildfly.network.outbound-socket-binding",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "path" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Optional path if host is using non root resource",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "/",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "scheme" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "What kind of scheme is used",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : "http",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              },
              "security-realm" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "The security realm that provides the SSL configuration for the connection to the host",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : ["ssl-context"],
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default",
                  "deprecated" : {
                      "since" : "12.0.0",
                      "reason" : "Use the ssl-context attribute to reference a configured SSLContext directly."
                  }
              },
              "ssl-context" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "STRING"
                  },
                  "description" : "Reference to the SSLContext to be used by this handler.",
                  "expressions-allowed" : false,
                  "required" : false,
                  "nillable" : true,
                  "alternatives" : ["security-realm"],
                  "capability-reference" : "org.wildfly.security.ssl-context",
                  "min-length" : 1,
                  "max-length" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }

- remove - Removes a reverse proxy handler host

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes a reverse proxy handler host",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "resource-services",
          "runtime-only" : false
      }

## Galleon Features

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

- subsystem.undertow.configuration.handler.reverse-proxy.host

      <feature spec="subsystem.undertow.configuration.handler.reverse-proxy.host">
        <param name="host" value="{resource name}"/>
        <param name="reverse-proxy" value="{resource name}"/>
        <param name="enable-http2" value="{value}"/>
        <param name="instance-id" value="{value}"/>
        <param name="outbound-socket-binding" value="{value}"/>
        <param name="path" value="{value}"/>
        <param name="scheme" value="{value}"/>
        <param name="security-realm" value="{value}"/>
        <param name="ssl-context" value="{value}"/>
      <feature/>